Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
Skip header Section
Inside Solid State Drives (SSDs)October 2012
Publisher:
  • Springer Publishing Company, Incorporated
ISBN:978-94-007-5145-3
Published:15 October 2012
Pages:
399
Skip Bibliometrics Section
Reflects downloads up to 21 Sep 2024Bibliometrics
Skip Abstract Section
Abstract

Solid State Drives (SSDs) are gaining momentum in enterprise and client applications, replacing Hard Disk Drives (HDDs) by offering higher performance and lower power. In the enterprise, developers of data center server and storage systems have seen CPU performance growing exponentially for the past two decades, while HDD performance has improved linearly for the same period. Additionally, multi-core CPU designs and virtualization have increased randomness of storage I/Os. These trends have shifted performance bottlenecks to enterprise storage systems. Business critical applications such as online transaction processing, financial data processing and database mining are increasingly limited by storage performance. In client applications, small mobile platforms are leaving little room for batteries while demanding long life out of them. Therefore, reducing both idle and active power consumption has become critical. Additionally, client storage systems are in need of significant performance improvement as well as supporting small robust form factors. Ultimately, client systems are optimizing for best performance/power ratio as well as performance/cost ratio. SSDs promise to address both enterprise and client storage requirements by drastically improving performance while at the same time reducing power. Inside Solid State Drives walks the reader through all the main topics related to SSDs: from NAND Flash to memory controller (hardware and software), from I/O interfaces (PCIe/SAS/SATA) to reliability, from error correction codes (BCH and LDPC) to encryption, from Flash signal processing to hybrid storage. We hope you enjoy this tour inside Solid State Drives.

Cited By

  1. ACM
    Bartolo A, Sabry Aly M, Michelogiannakis G and Mitra S MC-ELMM: Multi-Chip Endurance-Limited Memory Management Proceedings of the International Symposium on Memory Systems, (1-16)
  2. ACM
    Gao C, Ye M, Xue C, Zhang Y, Shi L, Shu J and Yang J (2022). Reprogramming 3D TLC Flash Memory based Solid State Drives, ACM Transactions on Storage, 18:1, (1-33), Online publication date: 28-Feb-2022.
  3. ACM
    Zhang J and Jung M Ohm-GPU: Integrating New Optical Network and Heterogeneous Memory into GPU Multi-Processors MICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture, (695-708)
  4. ACM
    Du Y, Liu W, Zhu Y and Zhang M United SSD block cleaning via constrained victim block selection Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, (250-257)
  5. ACM
    Hardock S, Petrov I, Gottstein R and Buchmann A From In-Place Updates to In-Place Appends Proceedings of the 2017 ACM International Conference on Management of Data, (1571-1586)
  6. Bjørling M, González J and Bonnet P LightNVM Proceedings of the 15th Usenix Conference on File and Storage Technologies, (359-373)
  7. Chamazcoti S and Miremadi S (2016). On designing endurance aware erasure code for SSD-based storage systems, Microprocessors & Microsystems, 45:PB, (283-296), Online publication date: 1-Sep-2016.
  8. ACM
    Klimovic A, Kozyrakis C, Thereska E, John B and Kumar S Flash storage disaggregation Proceedings of the Eleventh European Conference on Computer Systems, (1-15)
  9. Nagwanshi K, Kumar M and Dubey S (2016). Novel Framework for Efficient Data Transfer (EDT), Procedia Computer Science, 78:C, (153-159), Online publication date: 1-Mar-2016.
  10. ACM
    Jeremic N, Parzyjegla H and Mühl G (2016). Improving random write performance in homogeneous and heterogeneous erasure-coded drive arrays, ACM SIGAPP Applied Computing Review, 15:4, (31-53), Online publication date: 17-Feb-2016.
  11. Zuolo L, Zambelli C, Micheloni R, Indaco M, Di Carlo S, Prinetto P, Bertozzi D and Olivo P (2015). SSDExplorer: A Virtual Platform for Performance/Reliability-Oriented Fine-Grained Design Space Exploration of Solid State Drives, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 34:10, (1627-1638), Online publication date: 1-Oct-2015.
  12. ACM
    Jeremic N, Parzyjegla H and Mühl G Improving random write performance in heterogeneous erasure-coded drive arrays by offloading code block requests Proceedings of the 30th Annual ACM Symposium on Applied Computing, (2007-2014)
  13. ACM
    Bertozzi D, Carlo S, Galfano S, Indaco M, Olivo P, Prinetto P and Zambelli C (2015). Performance and Reliability Analysis of Cross-Layer Optimizations of NAND Flash Controllers, ACM Transactions on Embedded Computing Systems, 14:1, (1-24), Online publication date: 21-Jan-2015.
  14. Zuolo L, Zambelli C, Micheloni R, Galfano S, Indaco M, Carlo S, Prinetto P, Olivo P and Bertozzi D SSDExplorer Proceedings of the conference on Design, Automation & Test in Europe, (1-6)
  15. ACM
    Choi Y, Lee D, Jeon W and Won D Password-based single-file encryption and secure data deletion for solid-state drive Proceedings of the 8th International Conference on Ubiquitous Information Management and Communication, (1-7)
  16. ACM
    Hogan D, Arbuckle T and Ryan C Estimating MLC NAND flash endurance Proceedings of the 15th annual conference on Genetic and evolutionary computation, (1285-1292)
Contributors
  • Microsemi Corporation
  • Microsemi Corporation

Reviews

Bernard Kuc

Few areas in computing hardware have seen a surge in advancement comparable to what the field of solid state drives (SSDs) is currently experiencing. Until recently, disk storage enjoyed only small incremental improvements while processing power grew exponentially. The arrival of mass market SSDs is changing not only the way we design systems, but also how we use them. With access times now two orders of magnitude better than traditional hard disk drives (HDDs), change is inevitable. However, an SSD cannot be thought of as just a faster disk drive. SSDs work on fundamentally different principles; the more we know about them, the better we can take advantage of the potential they provide. This collection of chapters written by many different authors aims to enlighten the reader on all aspects of SSDs. The first chapter provides an overview of the SSD marketplace. It plots the history and provides projections for revenue, reliability, and performance. The second chapter focuses on architecture. It explains flash memory and the memory controller, and includes a brief overview of wear leveling, garbage collection, and error correction. This chapter then diverges into why the PCI Express interface is a superior interface for SSDs. Chapter 3 compares the serial attached SCSI (SAS) and serial ATA (SATA) interfaces and explains how they relate to enterprise- versus consumer-focused products. In chapter 4, the authors discuss combining flash memories with HDDs, combining different types of flash memory into the same SSD, and combining different types of nonvolatile memories together. From this point on, the chapters become significantly more complex. Chapter 5 describes NAND flash technology. It explains the concept of the floating gate and how charge can be trapped between the memory transistor channel and the active gate electrode. The chapter also describes the memory cell using a capacitive coupling model and the electron tunneling process during the program/erase cycles. The authors explain how to read off the stored voltage level for both single-level cells (SLCs) and multi-level cells (MLCs). This chapter ends with a detailed discussion on how the industry has been able to shrink the gate size far beyond the limits of direct optical lithography, and the multitude of technical problems that have ensued from that accomplishment. Chapter 6 takes the reader through the next step, combining individual memory cells into usable semiconductor chips. It starts with a description of the different device interfaces, explains how each impacts the microcontroller, and describes how the microcontroller talks to the flash chips using the double data rate (DDR) interface made common by memory devices. The bulk of the chapter is dedicated to the voltage sensing technology that identifies the bit (or bits) stored in each cell, and it concludes with a discussion of the various methods used to efficiently generate the high voltage levels required during cell programming. Chapter 7 presents a collection of designs and ideas for improving various aspects of an SSD. The author describes a selective bit line pre-charge scheme that can be used to significantly reduce power consumption when combined with another scheme for adjusting the source line during programming. The concept of power saving is extended with details on interleaving access to multiple chips and a proposal for an adaptive voltage generator for 3D SSDs. Chapter 8 is all about reliability, endurance, and data retention. The chapter looks at improving system-level reliability through RAID (redundant array of independent disks) systems and volatile memory-based caching. Solutions to power failure scenarios are also discussed. The most useful part of this chapter, however, is its step-by-step explanation of the industry-standardized reliability testing of SSDs. To ensure that some sectors on an SSD do not wear out through excessive updates to their data (think of a log file), effective wear leveling is required; chapter 9 expands on this issue. The authors present two schemes and case studies that show its effectiveness. Chapter 10, the first of two chapters on error-correcting codes, addresses BCH, the more common error-correcting code (named after its inventors). Jumping right into information theory with 18 definitions and almost as many theorems, the authors cover decoding failures, detection properties, and weight estimation techniques for a number of BCH codes. Chapter 11 looks at the newer low-density parity-check (LDPC) code, starting with an explanation of theoretical channel capacity and the channel coding theorem. A description of LDPC code construction is followed by a step-by-step explanation of the belief propagation decoder and a brief overview of three reduced-complexity decoders. Chapter 12 covers security and shows how encryption can be used to ensure data safety, while chapter 13 demonstrates how NAND flash memory can be combined with resistive random access memory (ReRAM) to improve performance, reliability, and energy consumption. Given that this is a collection of independently written chapters, it is hard to identify a target readership. Some chapters are accessible to the public at large, while others require an understanding of electrical band diagrams, semiconductor manufacturing processes, or some level of information theory. However, if you are interested in how SSDs really work, this may be the book you are looking for. More reviews about this item: Amazon Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Recommendations