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

  • eamon - Thursday, August 1, 2013 - link

    Unless you want to run some kind of continual I/O server, I suspect performance will be fast enough not to matter; I'd only look at pricing if I were you...
  • Busverpasser - Thursday, August 8, 2013 - link

    Hi there, great review, thanks a lot. Actually I do have a question... The article says "The performance story is really good (particularly with the larger capacities), performance consistency out of the box is ok (and gets better if you can leave more free space on the drive)..."

    Does leaving more free space mean that this space is supposed to be unpartitioned or just not filled with data? When I bought my Intel Postville SSD some time ago, I left some space unpartitioned but never really knew whether that was the right thing to do :D. Can someone give me a hint here?
  • xchaotic - Wednesday, August 14, 2013 - link

    @Busverpasser just leave more space free, it doesn't have to be unpartitioned.
    Worst case if you need that extra space for a while, you'll get lower performance, but more storage whenever you need it.
  • speculatrix - Saturday, August 17, 2013 - link

    the table titled "Samsung SSD 840 EVO TurboWrite Buffer Size vs. Capacity" should be titled "Capacity vs Usage vs Endurance"
  • rdugar - Friday, August 23, 2013 - link

    Am in the market for an SSD finally to replace an HDD on a Windows 7 laptop. Was almost set on the 128GB Samsung 840 Pro, but saw the comment on poor performance at almost full capacities.

    Price, reliability and endurance being the most important to me, which one should I go for?

    128Gb Samsung 840 Pro? approx $119 after coupons, etc.
    120 GB Samsung 840 EVO? probably $99 or so
    256 GB Samsung 840 EVO? probably $165 or so
    Other brand and model?

    If I have to spend $120 odd, may as well spend another $50 and get double the capacity....
  • tfop - Saturday, August 24, 2013 - link

    I have a question regarding to the NAND Comparison table.
    How do this Page and Block sizes affect the right Clustersize and Alignment of the Partition?
    If i am getting this right, the SSD 840 EVO would need a 8 KiB Clustersize and a 2 MiB Alignment.
  • Gnomer87 - Wednesday, August 28, 2013 - link

    I have a couple of questions:

    First, how much data is typically written to the average consumer HDD on a daily basis these days? I am thinking it's nowhere close to 50GiB. I guess what I am really interested in knowing, is how much data the operating system(windows 7) writes to the drive for various maintenance uses(if there are any beside defragmenting). In my mind, simply booting up the computer shouldn't mean any writes to the drive at all. Ergo, given my typical use, a 120GB SSD of that caliber, should last a lifetime. Am I right in thinking this? I mean, reading doesn't affect the durability right?

    Secondly: I've been considering getting an SSD for use as a OS drive for a long time, reason of course was to speed up boot time. However, I've long wondered WHY windows boots so slowly from HDDs in the first place. After all, the amount of data loaded during boot up isn't large. In my case the processes post-boot take up around 200 MBs, Assuming the actual amount of data loaded from the drive is about the same, it really shouldn't take that long. My HDD is capable of reading up to 120 MBs in optimal situations, so it's obvious the boot up process isn't optimal by a long shot.

    But why this slow? It can take over a minute before she(my computer) is done loading and starting all processes. Last semester I took course in Operating system at the local university. I must confess I was a horrible student, I didn't show up much. But I do remember a few key elements, namely the scheduler and how this scheduler continually does context switches, letting each process use the CPU, and thus creating parallelism. Now what was really interesting was resource management. It's the scheduler that decides which process is currently running on the cpu, and the scheduler process is run in between each context switch, effectively letting each user process run and have access to resources, such as the hard drive. Now, what happens if all the processes want data from the drive at the same time? Would each process continually interrupt the other processes loading of data, and thus causing the HDD to seek constantly?

    Could that explain why booting takes such idiotic amounts of time? An extremely inefficient resource management that basically ignores the inherent seek-time related weaknesses of an HDD? SSDs, as we know, barely have seek-time, and thus the performance loss from context switching should be negligible.

    I know my cousins SSD powered computer boots near instantly, once it's done with the usual BIOS stuff, the OS is booted and ready for use in mere seconds. And yes, we are talking a completely cold boot here, no sleep or anything like that.
  • abhilashjain30 - Friday, September 20, 2013 - link

    I purchased Samsung 120GB EVO 3 days back from OnlySSD ( http://goo.gl/HqgjId )and Drive performance is too good compare to 120GB 840 Basic Series.
  • abhilashjain30 - Friday, September 20, 2013 - link

    Available at OnlySSD dot com
  • abhilashjain30 - Wednesday, October 2, 2013 - link

    Samsung Evo Series now available online in India. You can check on OnlySSD dot com or PrimeABGB dot com

Log in

Don't have an account? Sign up now