New Elements to Samsung SSDs: The MEX Controller, Turbo Write and NVMe
by Ian Cutress on July 18, 2013 1:09 AM ESTAs part of the SSD Summit in Korea today, Samsung gave the world media a brief glimpse into some new technologies. The initial focus on most of these will be in the Samsung 840 Evo, unveiled earlier today.
The MEX Controller
First up is the upgrade to the controller. Samsung’s naming scheme from the 830 onwards has been MCX (830), MDX (840, 840 Pro) and now the MEX with the 840 Evo. This uses the same 3-core ARM Cortex R4 base, however boosted from 300 MHz in the MDX to 400 MHz in the MEX. This 33% boost in pure speed is partly responsible for the overall increase in 4K random IOPS at QD1, which rise from 7900 in the 840 to 10000 in the 840 Evo (+27%). This is in addition to firmware updates with the new controller, and that some of the functions of the system have been ported as hardware ops rather than software ops.
TurboWrite
The most thought provoking announcement was TurboWrite. This is the high performance buffer inside the 840 Evo which contributes to the high write speed compared to the 840 (140 MB/s on 120GB drive with the 840, compared to 410 MB/s on the 840 Evo 120GB). Because writing to 3-bit MLC takes longer than 2-bit MLC or SLC, Samsung are using this high performance buffer in SLC mode. Then, when the drive is idle, it will pass the data on to the main drive NAND when performance is not an issue.
The amount of ‘high-performance buffer’ with the 840 Evo will depend on the model being used. Also, while the buffer is still technically 3-bit MLC, due to its use in SLC mode the amount of storage in the buffer decreases by a factor three. So in the 1TB version of the 840 Evo, which has 36 GB of buffer, in actual fact can accommodate 12 GB of writes in SLC mode before reverting to the main NAND. In the 1TB model however, TurboWrite has a minimal effect – it is in the 120GB model where Samsung are reporting the 3x increase in write speeds.
In the 120GB and 250GB models, they will have 9 GB of 3-bit MLC buffer, which will equate to 3 GB of writes. Beyond this level of writes (despite the 10GB/day oft quoted average), one would assume that the device reverts back to the former write speed – in this case perhaps closer to the 140 MB/s number from the 840, but the addition of firmware updates will go above this. However, without a drive to test it would be pure speculation, but will surely come up in the Q&A session later today, and we will update the more we know.
Dynamic Thermal Guard
A new feature on the 840 Evo is the addition of Dynamic Thermal Guard, where operating temperatures of the SSD are outside their suggest range (70C+). Using some programming onboard, above the predefined temperature, the drive will throttle its power usage to generate less heat until such time as the operating temperature is more normal. Unfortunately no additional details on this feature were announced, but I think this might result in a redesign for certain gaming laptops that reach 80C+ under high loading.
Non-Volatile Memory Express (NVMe)
While this is something relatively new, it is not on the 840 Evo, but as part of the summit today it is worth some discussion. The principle behind NVMe is simple – command structures like IDE and AHCI were developed with mechanical hard-disks in mind. AHCI is still compatible with SSDs, but the move to more devices based on the PCIe requires an update on the command structure in order to be used with higher efficiency and lower overhead. There are currently 11 companies in the working group developing the NVMe specifications, currently at revision 1.1, including Samsung and Intel. The benefits of NVMe include:
One big thing that almost everyone in the audience must have spotted is the maximum queue depth. In AHCI, the protocol allows for one queue with a max QD of 32. In NVMe, due to the way NAND works (as well as the increased throughput potential), we can apply 64K queues, each with a max QD of 64K. In terms of real-world usage (or even server usage), I am not sure how far the expanding QD would go, but it would certainly change a few benchmarks.
The purpose of NVMe is also to change latency. In AHCI, dealing with mechanical hard drives, if latency is 10% of access times, not much is noticed – but if you reduce access times by two orders of magnitude and the level of latency stays the same, it becomes the main component of any delay. NVMe helps to alleviate that.
Two of the questions from the crowd today were pertinent to how NVMe will be applied in the real world – how will NVMe come about, and despite the fact that current chipsets to not have PCIe-based 2.5” SSD connectors, will we get an adapter from a PCIe slot to the drive? On the first front, Samsung acknowledged that they are working with the major OS manufacturers to support NVMe in their software stack. In terms of motherboard support, in my opinion, as IDE/AHCI is a BIOS option it will require BIOS updates to work in NVMe mode, with AHCI as fallback.
On the second question about a PCIe -> SSD connector, it makes sense that one will be released in due course until chipset manufacturers implement the connectors for SSDs using the PCIe interface. It should not be much of a leap, given that SATA to USB 3.0 connectors are already shipped in some SSD packages.
More information from Korea as it develops…!
21 Comments
View All Comments
Zorlac - Thursday, July 18, 2013 - link
Wouldn't M.2 (NGFF) be the perfect motherboard connector for PCIe/NVMe SSDs?IanCutress - Thursday, July 18, 2013 - link
M.2 fits into the mSATA space, whereas SFF-8639 will be more like a SATA type connector. For the SFF-8639 stuff, if you don't have the connector on the motherboard (which at the minute none do, perhaps we're waiting until Haswell refresh or Broadwell), then a PCIe to SFF-8639 connector would be needed.danjw - Thursday, July 18, 2013 - link
Actually, Asus shipped motherboards with M.2 connectors with the release of Haswell. They indicated that they were the only on to do so. Particularly I know the Maximus VI Extreme and Gene both have these ports.Streetwind - Thursday, July 18, 2013 - link
Okay, just so I understand this correctly... NVMe becomes relevant for the enthusiast consumer with the advent of SATA Express drives?istenrot - Thursday, July 18, 2013 - link
NVMe SSD connector is probably SATA Express. http://www.anandtech.com/show/6294/breaking-the-sa...hrrmph - Thursday, July 18, 2013 - link
To add to that, here is the SF-8639 connector spec (link below), but no mention of NVMe, so looks like NVMe is purely a protocol.
Also, the AnandTech article referenced by istenrot has a header that indicates: 'Trend, Two Connectors,' and the article further explains that the intended uses of each of the 2 new connectors is different.
Putting it all together, it looks like there might be 2 new physical connectors: 1 for HDDs (SATA Express) and 1 for SSDs (SFF-8639), with the NVMe protocol being applied to BIOS, OS, Drive Controller, and the Drives themselves, with connections via cables using the SFF-8639 connector.
No mention of NVMe on SATA Express yet?
Again, there is no mention of NVMe in the SFF-8639 spec either:
ftp://ftp.seagate.com/sff/SFF-8639.PDF
iwod - Thursday, July 18, 2013 - link
1. Just why would operating temperatures be so hot... 400Mhz Cortex-R CPU dont seem to be powerful enough to generate that amount of heat.2. NVMe something new and never heard before. Will this be part of SATA-Express Specification? If not, why go SATA-Express anyway and not just jump directly to NVMe.
MrSpadge - Thursday, July 18, 2013 - link
either many drives stacked tightly together or just other external heat sources. In the first case slowing all SSDs down a bit might help.Kevin G - Thursday, July 18, 2013 - link
The reason for the additional heat could come from the PCI-e block added to the controller. Likely chip is using an old process node (I'd guess 40 nm) and if they're trying PCI-e 3.0 speeds, it could get reasonably warm. The more likely reason for thermal guard is use cases in mobile environments where cooling is at an extreme premium. Throttling won't likely happen as consumer usage scenarios would be rather bursty in nature - transactions are not large enough to keep the controller perpetually active to need throttling.NVMe is complimentary to SATA-Express. The best way to think of it is that NVMe is a new logical protocol to connect a drive over PCI-E. SATA Express defines more of physical portion (connector and cabling). The one logical aspect that SATA Express provides is AHCI encapsulation so that legacy OS and firmware can use a new SSD drive without have to worry about having a NVMe compatible driver.
NVMe doesn't require SATA Express connections as there full sized PCI-e cards in the works that'll use this technology. These new controllers are aiming for full 16x lane PCI-E 3.0 bandwidth. These full sized NVMe cards do not have to provide the AHCI encapsulation that SATA Express does.
Sabresiberian - Sunday, July 21, 2013 - link
Because some notebooks are so poorly designed that heat from other components could drive the heat seen by the SSD up beyond any reasonable limits. Sad, but true.(To be a bit more fair, it is quite possible in some parts of the world that a notebook could be used in ambient temperatures approaching 40C already, so headroom to reach 70C is far less than for most of us in our usage scenarios.)