Thursday, July 16, 2015

Solid State Drives / Flash Introduction

Storage technology and associated  protocols, connectors, and process tech


Introduction

Storage of program and data long has been stored on a Hard Disk Drive (HDD). HDD  has been the workhorse for storage for the past two decades. It had the luxury of a long "learning" curve because there were many factors that can be improved : number of platters, spin RPM, form factor, protocol improvement, and connector improvement.

Solid State Drives (SSD) now has taken over the role of HDD and more. SSD  can put into tight small place that HDD never had a chance because of SDD's small form factors and low power. SDD is also experiencing a learning curve. The next bump will be "behind the scenes" : 1) continuing the roll out of NVMe and 2) pushing process technology from TLC to 3D.

But just swapping out a HDD for a SSD won't reap all of the performance benefits of SDD.  Hard Disk Drives (HDD) typically connect to the system via the SATA bus. As SSDs replace HDD, SSDs still use the SATA protocol to allow SSDs to directly replace HDDs. But that SATA protocol was design for a spinning disk such as HDD. It is time for a new protocol. That protocol is NVMe. But NVMe requires a high bandwidth bus. Luckily, PCIe already exists and is already in wide adoption.




Here is a quick top to bottom breakdown of a storage system in a laptop:

1. Storage Protocol: ATA, AHCI, NVMe

Protocol is the way software applications talk to the storage device. ATA was one of the ways for PCs to talk to HDD, CD-ROM, DVD, etc. AHCI was created to speed up transfer of data directly from memory to storage (instead of having data pass through the CPU - so that there is a direct path) for HDD.  NVMe the latest storage protocol geared specifically for SSD storage.


2. Storage Connector : IDE/PATA, SATA, PCIe

How a storage device connects to the system changed over time. IDE/PATA was a wide ribbon interface that connected the mother board to the HDD.  The reason for the wide ribbon connector is that the interface was parallel (Parallel ATA).  SATA improved on the IDE/PATA connector by making the connector run at a much higher frequency and serialize the connected (Serial ATA). PCIe improves upon SATA because PCIe is a more "standard" connector : plug in GPU, Ethernet, etc - whereas SATA is focused only on storage.

3. Storage Tech : HDD, SSD/Flash

Hard Disk Drives are physical spinning platters that take time to spool up, seek the first data, and transfer data. Solid State Flash Drives are purely "electronic" with no spinning platters - so no spool up time, seeks are much faster, and transfers are much faster too. It is debatable if HDD drives


4. Storage Fundamental: SLC, MLC, TLC, 3D

The bits that store data physically resides on a transistor. The original technology (called SLC) stored one bit per cell. But as manufacturing and design techniques improved, each cell can store two bits (called MLC) or three bits per cell (TLC). This allows the same solid state drive to multiple the capacity by two (MLC is 2X more dense than SLC) or by eight (TLC is 8X more dense than SLC). The draw back is that the cells are less reliable and require more circuitry to keep them refreshed.

In additional to packing more cells per area from SLC to MLC to TLC, 3D NAND technology will stack even more flash bits (vertically).

No comments :

Post a Comment