Hitachi Data Systems (HDS) promises to bring the MLC NAND Flash memory to the demanding enterprise environment by taking advantage the design strengths of its upcoming flash memory controller.
HDS has announced its vision and roadmap for an end-to-end flash ecosystem for the enterprise, which includes the development of an in-house flash controller.
The company has chosen to support the higher density MLC (multi-level cell) NAND flash, which is typically associated with consumer-grade devices because of its lower durability and slower performance compared to SLC (single-level cell) NAND flash.
Among the reasons HDS has chosen to support the less durable and slower MLC compared to SLC Flash NAND for its enterprise storage systems is the fact that
the consumer market has adopted MLC, and the volumes in the consumer space are driving the costs down much faster than the cost of SLC. According to Hu Yoshida,
Vice President and Chief Technology Officer, HDS, by adopting MLC, the company "can ride the price erosion curve that is being driven by the consumer space and apply it to reducing costs in the enterprise space."
During the Flash Memory Summit held last month in Santa Clara, CA, SSD vendor Smart Storage Systems presented the results of a test, which included an estimation of the life of four 240GB MLC NAND SSDs under different enterprise usage scenarios.
The first scenario was a Web Server setup, in which the MLC SSDs were reading the 95% of their lifetime and writing the 5%. Data transfers of 4,8 and 64KB files occured mainly sequentially (75%) but also randomly (25%). The life for the SSDs under this configuration was 1.6 years - a fairly long life for the MLC SSD category.
The second scenario was more demanding, with an exchange server setup. Here we had 67% read and 33% writes and 100% random data transfers of 4KB files. The SSDs' life was just 0.3 years.
Finally the third scenario further unveiled the weakness of MLC NAND flash. The SQL logging system was sequentially writing small files of 8KB on the SSDs. Their life was as low as 0.08 years.
Let's continue with some principles. While NAND flash is considered to be non-volatile, durability of the NAND cell degrades with every write and format (i.e. erase). While NAND can write cells at the page level, 8k for example, it must erase pages in larger blocks like 1 MB, and a write can only occur to a formatted page. Each rewrite to a page must occur to a new page causing fragmentation and requiring garbage collection. At some point a block will be filled with too many invalidated pages and will require clean up, which consists of moving the remaining valid pages to another block before reformatting the old block. This activity degrades performance, which cannot be tolerated by an enterprise application that requires consistent high performance.
Once a cell is written, it's considered non-volatile and able to retain its charge without a power source for some period of time. In reality the electrons in the floating gate will actually leak over time and need to be refreshed. The voltage applied to read the cell will also cause electrons to leak. Therefore, additional error correction code (ECC) must be added to ensure the data stored in the cells is read correctly until the signals deteriorate to such a level that the data needs to be reclaimed and moved to another block.
All these activities are handled by the flash controller at the firmware level and how these functions are executed have a major impact on NAND flash performance and availability. Functions performed by the controller include:
- Page and Block mapping
- Logical to physical mapping
- Wear leveling
- Read scrubbing
- Read and write caching
- Garbage collection
- Extended error correction
The processing power, memory and bandwidth of a flash controller limit not only the performance and durability of a flash module, but also affect its capacity. While flash does not have the latencies of spinning disk, the latencies for house keeping increase with the increase in capacity. Due to the high cost of flash memory, current off the shelf flash controllers are designed with a single CPU with limited memory and bandwidth. This is fine for the consumer market but it is not enough for the demands of an enterprise data center.
Besides the obvious disadvantages of MLC NAND, HDS claims its MLC enterprise flash controller is able to provide enterprise-class availability and performance.
Hitachi's flash controller is designed for the enterprise data center. Parallel processing is introduced to reduce latency with multi lanes of PCIe, a multi-core 1.0GHz CPU, integrated DDR-3 interface, integrated flash controller logic, and 32 paths to the flash array. "This increase in processing power and bandwidth along with more parallel operations will increase the performance of MLC by 4 times and will increase the durability to 5 years for enterprise workloads," Yoshida says.
The new controller will also enable the capacity to scale into terabytes. Hitachi has also added features like zero block compression for efficiency and secure erase for privacy. Because NAND flash always writes to a new page, erasing pages with the use of overwrites is no longer valid.
Yoshida did not disclose when Hitachi flash controller will be delivered to the company's enterprise platforms, saying that they should be expected "in the near future". As a first step, the company redesigned the VSP platform to handle the higher throughput of flash devices. This feature was announced by HDS as last month as flash acceleration. "While this feature is designed for flash devices it also increases the overall VSP performance through the creation of multiple threads and offloading of processor workloads," Yoshida said.