The SSD industry has been talking about TLC NAND for over three years now. We published our first post, Understanding TLC NAND, back in early 2012, but in three years we have actually seen very little TLC NAND making it to the SSD market. Samsung was an early adopter by introducing the SSD 840 in September 2012, but Samsung has always been a special case as its SSD business is fully vertically integrated. When you design and manufacture everything in-house, it's obvious that you will have a technological advantage when it comes to adopting new technologies.

TLC is tightly linked with both controller technology and NAND production because TLC inherently has a higher error rate, which needs a stronger controller (although admittedly Samsung has had some issues with TLC). The lack of proper controller is the reason why other NAND vendors haven't invested as heavily on TLC as Samsung because Micron, SanDisk and the like have to rely on whatever third party controllers are available on the market. Without a high volume product to put your TLC NAND into, it means that there's no reason to produce TLC in a large scale, which defeats the cost savings that TLC bring. Micron tried to promote its 25nm TLC NAND for a while a few years ago, but it quickly realized that the available SSD controllers aren't capable of creating a reliable product -- at least not one that would bring any cost savings since the drive would need serious over-provisioning for endurance and ECC parity.

Due to the lack of controller support, nobody other than Samsung and SanDisk have a TLC SSD on the market, although SanDisk had to rely on heavy over-provisioning with 5:1 parity ratio since the Marvell controller used in the Ultra II wasn't designed with TLC in mind. Silicon Motion's SM2256 will be the first commercially available controller and firmware combo with TLC support and today we are taking an early look of the platform in the form of a reference design sample. ADATA already announced its SP550 SSD that will be based on the new SM2256 controller and available later in the summer, but given how many OEMs rely on Silicon Motion's controllers nowadays we will likely see a large number of SM2256 based TLC drives entering the market by the end of the year.

Architecturally the SM2256 shares the same core design as its predecessor SM2246EN. The design is modular, which allows Silicon Motion to change parts of the controller without redoing the rest. It features the same single 32-bit Argonaut RISC processor core as the SM2246EN, which is quite unique because we have seen many SSD controller vendors moving towards multi-core ARM architectures. A single custom core obviously brings efficiency gains and we've witnessed those in the SM2246EN, but the downside of such limited CPU power is sustained performance when the controller has to perform garbage collection at the same time as processing host IOs. 

The only dramatic change is in the error correction circuitry as the SM2256 supports Low Density Parity Check (LDPC) error correction codes instead of more common and less powerful BCH ECC. Silicon Motion calls its ECC technology as NANDXtend, and it's a combination of LDPC hard and soft decode along with RAID5-like data recovery. The benefit of having three levels of ECC is performance because LDPC soft decode and recovery from parity both have a relatively noticeable impact on performance and are typically only needed when the drive approaches its end of life (i.e. when the NAND has been cycled a lot). Uncycled NAND has much higher reliability because the tunnel oxide hasn't worn out due to P/E cycles, so only very little ECC is needed and LDPC hard decode is sufficient and also doesn't have a dramatic impact on performance.

Source: usenix

The reason why hard decode is faster than soft decode lies in how the voltage of a cell is sensed. Hard sensing is binary based, so for an SLC cell like in the graph above the cell can be either 1 or 0. However, as you can see, the voltage threshold distributions overlap slightly and that's actually far worse with MLC and TLC since there are more voltage states. In soft sensing the voltage distributions are divided into several segments, which requires more precision and iterations. For example in segment 4 the bit value can be either 1 or 0 as the distributions overlap, so probability algorithms are used to figure out the correct value. To be honest, ECC codes and the way they work are way over my head, but in case you are familiar with ECC and want to learn more, I suggest you simply google LDPC as there are numerous publicly available academic papers that go into more depth about this topic. 

Silicon Motion claims that its NANDXtend technology can extend the endurance of TLC NAND by up to three times, making TLC more robust for heavier workloads and also allowing the use of lower quality NAND that some OEMs may use anyway due to the lack of in-house binning equipment. Unfortunately I didn't have any time to do extended endurance testing with the SM2256 yet to validate Silicon Motion's claims, but I will be sure to test that once we have a retail drive on our hands, 

Silicon Motion SM2256 Specifications
Host Interface SATA 6Gbps
NAND Interface ONFi 3.0, Toggle 2.0 & asynchronous
# of NAND Channels 4
CE per Channel 8
Sequential Read 524MB/s
Sequential Write 400MB/s
4KB Random Read 90K IOPS
4KB Random Write 70K IOPS
Encryption AES-256 & TCG Opal 2.0

The SM2256 has eight chip enablers (CE) per channel, meaning that it can simultaneously talk to up to 32 NAND dies, but one CE can control more than one die, resulting in capacities of up to 2TB with one CE per four dies. 

The engineering sample Silicon Motion sent us uses Samsung's 19nm 128Gbit TLC NAND, which is the same NAND that is found inside the 840 EVO. Samsung doesn't sell its TLC NAND to others in high volume, so we likely won't see this configuration on the market at all. The SM2256 does, of course, support TLC NAND from all other vendors as well (even Toshiba's 15nm).

Like all TLC SSD designs we have seen, Silicon Motion employs SLC caching in the SM2256 to improve performance and endurance. The size of the SLC cache is configurable by the OEM, but generally the cache size is between 3GB and 12GB depending on the capacity of the drive. The OEM can also configurate whether all IOs are cached or just smaller ones (e.g. 16KB and below), but the early stock firmware that our sample shipped with caches all IOs regardless of the size. 

AnandTech 2015 SSD Test System
CPU Intel Core i7-4770K running at 3.5GHz (Turbo & EIST enabled, C-states disabled)
Motherboard ASUS Z97 Deluxe (BIOS 2205)
Chipset Intel Z97
Chipset Drivers Intel 10.0.24+ Intel RST 13.2.4.1000
Memory Corsair Vengeance DDR3-1866 2x8GB (9-10-9-27 2T)
Graphics Intel HD Graphics 4600
Graphics Drivers 15.33.8.64.3345
Desktop Resolution 1920 x 1080
OS Windows 8.1 x64
Performance Consistency
POST A COMMENT

35 Comments

View All Comments

  • anactoraaron - Wednesday, June 17, 2015 - link

    OFF TOPIC: Wow you guys must have had some serious issues with the LG G4 for it to be 2+ weeks past release and still no review.

    I'm guessing you were about to publish the issues you have had with the device (missed taps/unresponsive screen, slow charging/heat, lag/stutter, etc) and basically not recommend anyone purchase it and you were 'advised' by LG to not publish this until they have had a chance to fix those issues, which according to Android Central will be in the next 3-4 weeks. I just can't recall a review of a flagship device that wasn't out within 2 weeks of release (unless it was a Sony device since they won't comp anything to you guys to review).

    I don't see the point of waiting, because even with the issues I personally have (unresponsive screen/lag/stutter) the G4 is still a solid device.

    This isn't a knock on you guys - you do probably the most unbiased and thorough reviews. The delay on this review is just starting to smell a bit to me.
    Reply
  • Death666Angel - Wednesday, June 17, 2015 - link

    "I just can't recall a review of a flagship device that wasn't out within 2 weeks of release"
    Weren't most Note phones, HTC Nexus 9 and Nexus 6 pretty late or only in preview format released? Anandtech is notorious for this stuff when it comes to anything but Apple. :D Though more often than not, eventually we get something.
    Reply
  • Michael Bay - Thursday, June 18, 2015 - link

    Just two weeks?
    I`m still waiting for 960 review.
    Reply
  • Oxford Guy - Thursday, June 18, 2015 - link

    "TLC for everyone?" Maybe if the drives are being given away. The last time I checked MLC isn't that expensive. Reply
  • Oxford Guy - Thursday, June 18, 2015 - link

    Samsung has had "some issues" with TLC, eh? Why not specifically state what those are?

    "Like all TLC SSD designs we have seen, Silicon Motion employs SLC caching in the SM2256 to improve performance and endurance. The size of the SLC cache is configurable by the OEM, but generally the cache size is between 3GB and 12GB depending on the capacity of the drive."

    Actual SLC or some sort of simulated SLC?
    Reply
  • canthearu - Thursday, June 18, 2015 - link

    "Actual SLC or some sort of simulated SLC?"

    Both the same really. As long as it is dedicated space that will never be asked to perform TLC duty.
    Reply
  • Oxford Guy - Saturday, June 20, 2015 - link

    Isn't it rather impossible for triple layer NAND to be single layer NAND? Reply
  • DeepStorage - Sunday, June 21, 2015 - link

    Most flash foundries have at least some models of their MLC, and TLC flash that can dedicate some percentage of the pages per die to use in SLC mode. It doesn't have quite the performance or endurance of pure SLC but it's close. Reply
  • Oxford Guy - Wednesday, July 15, 2015 - link

    " It doesn't have quite the performance or endurance of pure SLC but it's close."

    Any data on that to link to?
    Reply
  • Kristian Vättö - Thursday, June 18, 2015 - link

    "TLC for everyone" meaning that now every OEM can build a TLC drive if they wish.

    SLC cache implementation depends on the NAND. NAND vendors do have special dies with SLC cache functionality (supports a special command set), but so far they haven't sold them to third parties, although I've heard this is about to change. In other cases SLC cache simply means that the controller only writes to the lower pages, which in terms of write performance is about the same as real SLC cache but there is some minor read performance penalty (although I don't know exactly why).
    Reply

Log in

Don't have an account? Sign up now