TurboWrite: MLC Performance on a TLC Drive

All NAND trends towards lower performance as we move down to smaller process geometries. Clever architectural tricks are what keep overall SSD performance increasing each generation, but if you look at Crucial's M500 you'll see that it's not always possible to do. Historically, whenever a level of the memory hierarchy got too slow, the industry would more or less agree to insert another level above it to help hide latency. The problem is exascerbated once you start talking about TLC NAND. Samsung's mitigation to the problem is to dedicate a small portion of each TLC NAND die as an SLC write buffer. The feature is called TurboWrite. Initial writes hit the TurboWrite buffer at very low latency and are quickly written back to the rest of the TLC NAND array.

Since the amount of spare area available on the EVO varies depending on capacity, TurboWrite buffer size varies with capacity. The smallest size is around 3GB while the largest is 12GB on the 1TB EVO:

Samsung SSD 840 EVO TurboWrite Buffer Size vs. Capacity
  120GB 250GB 500GB 750GB 1TB
TurboWrite Buffer Size 3GB 3GB 6GB 9GB 12GB

I spent some time poking at the TurboWrite buffer and it pretty much works the way you'd expect it to. Initial writes hit the buffer first, and as long as they don't exceed the size of the buffer the performance you get is quite good. If your writes stop before exceeding the buffer size, the buffer will write itself out to the TLC NAND array. You need a little bit of idle time for this copy to happen, but it tends to go pretty quickly as it's just a sequential move of data internally (we're talking about a matter of 15 - 30 seconds). Even before the TurboWrite buffer is completely emptied, you can stream new writes into the buffer. It all works surprisingly well. For most light use cases I can see TurboWrite being a great way to deliver more of an MLC experience but on a TLC drive.

TurboWrite's impact is best felt on the lower capacity drives that don't have as many NAND die to stripe requests across (thus further hiding long program latencies). The chart below shows sequential write performance vs. time for all of the EVO capacities. The sharp drop in performance on each curve is when the TurboWrite buffer is exceeded and sequential writes start streaming to the TLC NAND array instead:

On the 120GB drive the delta between TurboWrite and standard performance is huge. On the larger drives the drop isn't as big and the TurboWrite buffer is also larger, the combination of the two is why the impact isn't felt as muchon those drives. It's this TurboWrite buffer that gives the EVO its improvement in max sequential write speed over last year's vanilla SSD 840.

Endurance: Not a Problem Even at 19nm RAPID: PCIe-like Performance from a SATA SSD
POST A COMMENT

131 Comments

View All Comments

  • B0GiE-uk- - Thursday, July 25, 2013 - link

    Seeing as this drive is similar to the 840 basic, it will be interesting to see the performance of the 840 Pro with the rapid software enabled. Has the potential to be faster than the EVO. I have heard that the rapid software will be backwards compatible. Reply
  • sheh - Thursday, July 25, 2013 - link

    Caching speed is based on RAM, flushing speed on drive. I don't think there will be any surprises. Reply
  • Heavensrevenge - Thursday, July 25, 2013 - link

    Finally were seeing transition to RAM caches, it's nice a RAM disk is being utilized and I hope the trend continues so that HDD/SDD can actually be taken out of the storage hierarchy for the OS & operating memory and have EVERYTHING reside in a non-volatile RAM space together for CRAZY increases in perf since HDD's in a way are a side-effect of old memory's being so small there had to be a drive backing the RAM. But of course we need traditional storage for actual storage purposes afterwards. But I'll hope for a migration of RAM towards a similarly fast combination of RAM+Drive being the main root drive built right onto the motherboards in a stick-like way within 10 years to cause a nice little computing revolution via re-architecting the classical storage hierarchy that's now, I believe, is quite possible and reasonable. Reply
  • DanNeely - Thursday, July 25, 2013 - link

    Modern OSes have been doing ram cache for years. Samsung is able to "cheat" with rapid because they've got a much better view of what the drive is doing internally to optimize for it (even if the data isn't normally exposed via standard APIs). Eventually OS authors will catch up and have SSD optimized caches instead of HDD optimized ones and it will again be a moot point. Reply
  • Jaybus - Thursday, July 25, 2013 - link

    Yes. It is doing the same thing as the O/S cache, but using a different algorithm to decide which blocks to cache, one that is tailored to SSD. So the O/S is very likely to adapt something similar in future.

    What is more interesting is TurboWrite. If you consider the on board DRAM a L1 cache, then TW implements a more-or-less L2 cache in NAND by using some of the NAND array in SLC mode instead of TLC mode. In addition to greater endurance, SLC mode allows much faster P/E cycles than TLC (or MLC). And unlike the DRAM cache, the SLC-mode NAND cache is not susceptible to power failure data loss. It still is not nearly as fast as DRAM, so the L1 DRAM cache is still needed. Encryption would kill performance without DRAM. But because data can be moved from DRAM cache to SLC cache more quickly, it frees up DRAM at a faster rate and increases throughput. So unless writing an awfully lot of data continuously, you essentially get SLC performance from a TLC drive. That is the EVO (lutionary) thing about this drive, much more so than RAPID software.
    Reply
  • Heavensrevenge - Thursday, July 25, 2013 - link

    Heh yes of course, I mean removing the "hard drive/solid state drive" out of the storage hierarchy completely and putting all OS and cache data into non-volatile silicon where the ram sits today, making all operations go as fast as ramdisk speed, not just have it there as a way to hide latency. like boot from the modules plugged directly into the motherboard and everything :) THATS what I'd love to see, 1-2GB/s 4K read & write speeds all-around not just for special use cases, All because the fab process is becoming small enough o fit the amount of data there we can actually re id f that part of the storage hierarchy if you know what I mean. Reply
  • Spunjji - Friday, July 26, 2013 - link

    I think there's always going to be a space for slower, more density-efficient storage in any sensible storage hierarchy. I think what you're looking forwards to is MRAM / PRAM, though. :) Reply
  • Heavensrevenge - Saturday, July 27, 2013 - link

    MRAM or any NVRAM is basically the concept I was wanting :) Thank you for the reference!!
    The day/year/decade that type of memory become our RAM & OS/Boot drive replacement in the storage hierarchy will be the one of the best times in modern computing history.
    Honestly all HDD/SDD manufactures should stop wasting their R&D on this type of crap even though SSD's are a wonderful "now" solution to the problem and I'll still recommend them for the time being.
    The sooner that type of memory is our primary 1st level storage directly addressable from the CPU the better our modern world of computing will become and begin evolving again.
    Reply
  • MrSpadge - Saturday, July 27, 2013 - link

    I don't think Samsung is doing anything better here, or working some SSD-magic. They're just being much more agressive with caching than Win dares to be. Reply
  • Touche - Thursday, July 25, 2013 - link

    I don't think your tests are representative of most people's usage, especially for these drives. TurboWrite should prove to be a much better asset for most, so the drive's performance is actually quite better than this review indicates. Reply

Log in

Don't have an account? Sign up now