290 likes | 443 Views
SSD’s. Solid-Sate Drives Ing. Stefan Verbruggen. SSD. device that uses integrated circuit assemblies as memory to store data persistently ( retains data when power is lost).
E N D
SSD’s Solid-Sate Drives Ing. Stefan Verbruggen
SSD • device thatusesintegrated circuitassemblies as memoryto store data persistently (retains data when power is lost). • useselectronic interfaces compatible with traditional block input/output (I/O) hard disk drives (HDDs), which permit simplereplacements in common applications • new I/O interfaces, like NVM Express have been designedtoaddressspecificrequirements of the SSD technology
SSD • SSDs have no movingmechanicalcomponents • typically more resistanttophysical shock • run silently • have loweraccess time • lowerlatency
DRAM SSD andHybrid SSD • As of 2015, most SSDsuse MLC NAND-based flash memory, which is a type of non-volatile memorythatretains data when power is lost. • For applicationsrequiringfast access but notnecessarily data persistenceafter power loss, SSDsmaybeconstructedfromrandom-access memory (RAM). Suchdevicesmayemploybatteries as integrated power sources toretain data for a certainamount of time afterexternal power is lost. • Hybrid drives or solid-state hybrid drives (SSHDs) combine the features of SSDsandHDDs in thesame unit, containing a large hard disk drive andan SSD cache toimprove performance of frequentlyaccessed data.[
NAND • Floating gate transistors (FGT) • Write erase 15-20Volt to clear electrons in FGT => possible damage after 10.000 (consumer) 100.000 (enterprise) read/write cycles. • Read • Select bitline • Activate all word-lines, except the one to read • Word-line can be far away from bitline => noise • ECC needed !!!
SSD: SLC, MLC, TLC • SLC: Single Level Cell • Single memory cell used to store one data-bit (2 states) • Very fast • More expensive, lasts longer • 100.000 erase/write (PE) cycles/cell before failure • Server / Enterprise grade SSD’s • MLC: Multi Level Cell • 4 digital states in a single cell (00,01,10,11) • fast • Cheaper, wears out faster, ECC needed • 10.000 erase/write cycles/cell before failure • Client-systems / consumer grade SSD’s • TLC • 8 digital states in a single cell (000 – 111) • 5000 erase write cycles/cell before failure • Read/erase 3-4 times slower, Write 5-6 times slower than SLC
Access Times compared https://www.extremetech.com/extreme/210492-extremetech-explains-how-do-ssds-work
Overprovisioning and usage tip • Failures after x write cycles for MLC en TLS • Solution: Overprovisioning • add extra space to replace failed cells • 8GB on some models • Never fill a SSD to nearly completion • Little free spaces gets all the writes and wears out quickly • Solution: smart controller that ”hussels” around the more static data over the entire disk to more evenly wear out the disk (wear leveling).
SSD structure: grid, blocks, pages • SSD storage is a grid of blocks • Blocks consist of pages • Pages are not individually erasable • Only entire blocks are erasable • Page size: 2K, 4K, 8K, 16K • 128-256 pages per block • Blocksize: 256KB – 4MB
Garbage Collection (GC) • Drawback:NAND flash memory cannotoverwriteexisting data • They must first eraseold data beforewriting new data tothesamelocation. • GC is the name fortheprocess of relocatingexisting data to new locationsandallowingthesurroundinginvalid data tobeerased. • Flash memory is dividedintoblocks, which is furtherdivided in pages. • Data canbewrittendirectlyintoan empty page, but onlywholeblockscanbeerased. • Therefore, toreclaimthespace taken up byinvalid data, allthevalid data fromone block must be first copiedandwrittenintothe empty pages of a new block. Onlythencantheinvalid data in theoriginal block beerased, making it ready for new valid data tobewritten (see next slide).
OS AWARENESS VS DRIVE AWARENESS • In an HDD system, the Operating System (OS) cansimplyrequestthat new data bewrittentothesamelocationwheretheolder, nowinvalid data, is stored, andthe HDD willdirectlyoverwritetheold data. • In an SSD, however, thevalid pages in the block must first berelocatedtoanother block. Thentheentireoriginal block canbeerasedand is again ready tobeused. The SSD cannotdirectlyoverwriteexisting data as statedearlier (previous slides).
OS AWARENESS VS DRIVE AWARENESS • The OS understandsthe files, theirstructure, andthelogicallocationswherethey are stored, but does notunderstandthephysical storage structure of the storage device. • In any storage system, the storage device doesn’tknowthe file structureitsimplyknowsthatthere are bytes of data written in specific sectors. The storage system, whether SSD or HDD, returns the data fromphysicallocationswhenthe OS asksfor data in thecorrespondinglogicallocations.
OS AWARENESS VS DRIVE AWARENESS • Whenthe OS deletes a file, itsimplymarksthespaceusedforthat data as free in itslogical data table. • WithHDDs, the OS does notneedtotellthe storage device anythingaboutthedeletionbecauseitwouldsimplywritesomething new intothatsamephysicallocation in thefuture. • In the case of an SSD, itonlybecomesawarethatthe data is deleted (or invalid) whenthe OS triestowritetothatlocationagain. At that time the SSD markstheold data as invalidanditwritesthe new data to a new physicallocation. It mayalsoperform GC at thatsame time, but thatvariesbetween SSD architecturesandotherconditions at that moment.
TRIM command • In newer operating systems, e.g., Win7, Windows Server 2008 R2, Linux 2.6.33, FreeBSD 8.2, Open Solaris, Mac OS X Lion, the TRIM commandenablesthe OS tonotifythe SSD thatold data is no longervalidaboutthe time itdeletesthelogical block addressesfromitslogicaltable. • The advantage of the TRIM command is thatitenablestheSSD’s GC to skip theinvalid data ratherthanmovingit, thussaving time notrewritingtheinvalid data. Thisresults in a reduction of thenumber of erasecycles on the flash memory andenableshigher performance duringwrites. • The SSD doesn’tneedtoimmediately delete or garbage collect these locationsitjustmarksthem as no longervalid.
Increase capacity further: 3D tricks • 60nm > 30 nm > 15nm • 1 - 2 - ?? TB
MLC: life extending techniques => eMLC All implemented in the device controller • Wear leveling • moves write cycles around the chip so that cells wear evenly • Occurs during Garbage Collection • On device deduplication • reduces the volumes of data written and so lowers wear • Redundancy (overprovisioning) • reserves a portion of the device's capacity to replace cells as they fail • Write optimisation • stores data writes temporary, so they can be made in large chunks to reduce the number of write operations => Enterprise MLC
Minimizewrite-erasetoSDD’s: tips forwindozeand or OSX • Disable search andindexing (disk is fastenough) • Disabledefragmenation (disk is fastenoughandSSD’salways fragment throughwear-leveling) • Disablepaging (swap) on SSD, whenenough memory is available • Disablehibernation / sleep (disk / boot is fastenough) • Disableprefetch / superfetch (XP and Vista) • Make sure TRIM is enabled !!!
NVMe • Non-Volatile Memory Express • Aka NVM Express or NVMe
NVMe • Based on PCI Express (PCIe) • Scalable, high bandwidth • 1GB/s => 8GB/s and up
sources • http://www.thessdreview.com/daily-news/latest-buzz/garbage-collection-and-trim-in-ssds-explained-an-ssd-primer/2/ • http://www.disk-partition.com/kb/tips-ssd-optimization-windows7-3.html