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
Comments Locked

137 Comments

View All Comments

  • MVR - Thursday, November 14, 2013 - link

    It will be very interesting when they start loading these up with more than 512MB of DRAM cache. Imagine a drive with 4-8+ GB on board. The response times would be insane. It is only a matter of time considering you can buy 8GB of SODIMM memory for $70. They could probably put it on board for $50 added cost to the drive - then these would truly act like PCIe SSD cards, except it would totally max out the SATA3 throughput limit.
  • MVR - Thursday, November 14, 2013 - link

    Of course SATA revision 3.2 at 16gbit/sec would sure enjoy it. Imagine a pair of those in RAID 0 :)
  • Wao - Sunday, November 24, 2013 - link

    I'm going to change my old noisy hard disk with a Samsung 840 EVO 1TB model. I am wondering if I really need to enable TRIM in OS X. I check the data sheet. It only said "Yes" about garbage collection and TRIM support. Does it meant that this model has its own garbage collection built-in, or I really need to enable TRIM in OS X. Honestly, I don't like to hack around the system files.
    Thanks !
  • iradel - Monday, November 25, 2013 - link

    In the "IMFT vs. Samsung NAND Comparison" table, how did you get a Pages per Block value of 256 for 19nm TLC (a.k.a. the 840 EVO)? 8KB * 256 pages per block would imply an erase block size of 2048KB, whereas I've read that the 840 EVO has an EBS of 1536KB (which would mean 192 pages per block).

    Where did you get the 256 value?
  • sambrightman - Sunday, September 20, 2015 - link

    I have the same question. I've read both the 840 and 840 EVO have 1536KiB EBS due to TLC, this is the only place saying 2MiB. Did you find an answer?
  • Scraps - Tuesday, November 26, 2013 - link

    What would be the optimum configuration for this situation. A MacBook Pro with 2 samsung evo 1tb. Would striped raid zero be the best ?
  • code42 - Wednesday, December 18, 2013 - link

    Can I use the Samsung 840 Pro 1TB with a NAS solution? Can some propose a nice setup? Thanks
  • Hal9009 - Wednesday, December 18, 2013 - link

    Just received my new ASUS N550JV and updated the slow HD with 840 EVO-Series 750GB SSD, 16GB of G.SKILL 16GB (2 x 8G) 204-Pin DDR3 and a fresh copy of win-7x64...could not be happier, Samsung makes great SSDs
  • 7beauties - Saturday, December 28, 2013 - link

    I bought the Samsung 840 EVO 1TB because Maximum PC gave it a 9 Kick *ss award, but they described it as being MLC. Good ole Anand tells it like it is. This is TLC. I was pretty steamed with Samsung because they describe this as their "new 3 bit MLC NAND," which I wouldn't have bought over Crucial's M500 960GB MLC SSD. Though Anand tries to calm fears of TLC's endurance, I can't understand what a "GiB" is and how I can calculate my drive's life span.
  • verjic - Thursday, February 13, 2014 - link

    I have a question. In some of the tests I found of real life use shows that Kingston V300 and Samsung a practically the same speed and even at copy 2 GB of 26000 files is slowly on samsung with about 30 %!!! Also installing a program like photoshop, takes longer on Samsung than Kingston, difference is not so big but is arou 10-15 %. Why is that? From all the test for kingston and Samsung, everyone say that Samsung is better but I don't see how? If anyone can explain to me, please

Log in

Don't have an account? Sign up now