JMicron JMF667H Reference Design (128GB & 256GB) Reviewby Kristian Vättö on May 29, 2014 9:00 AM EST
The JMF667H: JMicron's Long-Awaited SATA 6Gbps Controller
The JMF667H is JMicron's first controller to be used in mainstream client SSDs since the JMF618 in 2010. As one would expect, JMicron is betting a lot on the controller because it's its best and possibly the only chance to get back in the market.
Typical to lower-end controllers, the JMF667H is a 4-channel design. Limiting the channel count allows for smaller die size, which in turn is proportional to the manufacturing cost. Marvell has been doing the same for a while now by offering a 4-channel "Lite" version at a lower cost since especially caching and mSATA SSDs cannot take the full benefit of eight channels anyway.
Furthermore, the JMF667H supports 8-way interleave per channel, which means that up to eight requests can be interleaved in a single channel. Interleaving is the reason why higher capacity SSDs perform better because instead of waiting for each NAND die/plane to respond before issuing a new request, the controller can issue requests to up to eight dies/planes. There is still some overhead compared to having more individual channels because each request takes one clock cycle but interleaving allows for the most efficient utilization of the available channels and NAND.
The JMF667H supports all the latest SLC and MLC NAND available, including IMFT's 20nm 128Gbit MLC NAND and Toshiba's A19nm NAND. However, the maximum capacity is limited to 256GB, which is a slight drawback. 128GB and 256GB are still definitely the most popular capacities, so in that sense the JMF667H should cover the majority of the market but bigger SSDs are constantly gaining popularity as prices go down. JMicron told me that this is something they'll definitely take into account in future product planning and I would expect the next generation controller from JMicron to support at least 512GB of NAND.
Our first experience with the JMF667H was with the WD earlier this year. Back then I wrote: dual-drive
"Furthermore, the SSD in the
JMicron understood our concern. The SSD market is more competitive than ever and mediocre performance is no longer acceptable. JMicron went back to the drawing board and started working on a new firmware with focus on performance consistency, as one of my biggest criticisms was towards the fact that the IOPS would frequently drop to zero in the WD.
After months of development and validation, the firmware is finally ready for the public. It is so new that even the OEMs do not have it available yet and thus JMicron sent us reference design drives. In addition, OEMs tend to make their own customizations and tweaks whereas the reference designs we have are based on the original JMicron firmware.
JMicron sent us four drives in total: two 128GB and two 256GB drives. The difference between the drives are their NAND configurations as one half of the drives use Micron's 20nm 128Gbit MLC NAND while the other half uses Toshiba's A19nm 64Gbit MLC NAND. These are the NAND configurations you would expect to see from the OEMs -- IMFT's 20nm 128Gbit NAND is currently the cheapest option in the market but Toshiba's A19nm 64Gbit NAND provides higher performance. The 256GB model with Toshiba NAND we received is actually over-provisioned down to 240GB for better performance but obviously this is up to the OEM to decide.
|JMicron JMF667H Reference Design Specifications|
|NAND||Toshiba A19nm 64Gbit MLC||IMFT 20nm 128Gbit MLC|
|4KB Random Read||81K IOPS||83K IOPS||65K IOPS||77K IOPS|
|4KB Random Write||76K IOPS||78K IOPS||37K IOPS||74K IOPS|
|Power Consumption||2mW / 30mW / 3.4W (DevSLP / Slumber / Maximum)|
The table above summarizes the performance differences between IMFT's 128Gbit NAND and Toshiba's 64Gbit NAND pretty well. In best case scenarios the drives with Toshiba NAND provide more than twice the throughput at the same capacity. This is mostly due to the difference in capacity per die because as we have covered before, the capacity per die has a tremendous impact on performance since it's directly related to parallelism.
|NAND||Toshiba A19nm 64Gbit MLC||IMFT 20nm 128Gbit MLC|
|# of NAND Packages||16||16||8||8|
|NAND Package Configuration||1x8GB||2x8GB||1x16GB||2x16GB|
The JMF667H supports DevSleep and other power saving states (HIPM+DIPM) but it does not provide any form of encryption support. Lack of support for TCG Opal 2.0 and IEEE-1667 is definitely a shortcoming and I would really like to see more manufacturers pay attention to this. Hopefully JMicron's future designs will address this.
One of the biggest issues JMicron had with its first controllers was the lack of cache. When the internal cache was filled up, the drive would start to stutter. Fortunately the later designs brought support for external DRAM, which is the case with JMF667H as well. The controller supports up to 512MB (4Gb) of DDR3, which is plenty of cache for a 256GB drive to store the NAND mapping table and ensure smooth operation. Our 128GB samples use DRAM from Elite Semiconductor Memory Technology Inc while the 256GB samples shipped with Nanya's DRAM, although this is again up to the OEM to decide.
JMicron's biggest advantage is obviously pricing. From what I have heard, the JMF667H is around $4 to $8 cheaper per unit compared to SandForce's offerings. Marvell is a bit cheaper than SandForce and the price delta is about $4 is favor of JMicron, although I must note that Marvell doesn't provide any form of firmware whereas JMicron and SandForce do. That is actually quite a lot given that most 120/128GB SSDs retail for $75 - $90 nowadays and that $4 can be the key to make the drive profitable. Of course, ultimately the pricing depends on the customer and quantity, so the above figures should be taken with a grain of salt, but they still provide some guidance of where the JMF667H stands compared to the competition.