Flash Core Module
IBM FlashCore Modules (FCM) are solid state technology computer data storage modules using PCI Express attachment and the NVMe command set. The raw storage capacities are 4.8 TB, 9.6 TB, 19.2 TB and 38.4 TB. The FlashCore modules support hardware self-encryption and real-time inline hardware data compression without performance impact. They are used in selected arrays from the IBM FlashSystem family. History. On September 17, 2007, Texas Memory Systems (TMS) announced the RamSan-500, the world's first enterprise-class flash-based solid state disk (SSD). The Flash Modules were designed from the ground up by  Texas Memory Systems using proprietary form-factors, physical connectivity, hard-decision ECC algorithm, and flash translation layer (FTL) contained completely inside the SSD. The flash controllers used a hardware only data path that enabled lower latency than any other commodity controllers could achieve. This product marked the beginning of development of the RamSan All Flash Arrays (AFA) and hybrid DRAM and Flash Arrays, which included custom designed flash management and storage infrastructure management suite implemented in both software and hardware. TMS aggressively developed six more generations of flash controllers (for a total of seven generations) using SLC Nand Flash and  adopting MLC Nand flash for the later generations. These flash controllers were offered in a variety of configurations and form factors that included embedded PowerPC processors, FPGAs, and daughter cards with additional flash nodes. Over 15 TMS products were offered utilizing these flash controllers, including 4 PCIe drives, RamSan-10/20/70/80, that could be installed in off the shelf servers. TMS was eventually acquired by IBM in 2012. On January 16, 2014, IBM announced the FlashSystem 840 product, which was the first FlashSystem designed entirely by IBM post-acquisition of TMS. IBM branded the flash controller technology IBM MicroLatency technology, and touted  how the technology lowered data access times from milliseconds to microseconds. On February 19, 2015 IBM announced the FlashSystem 900 and V9000 products and re-branded the flash controller technology as IBM FlashCore technology, and described it as the suite of innovations and capabilities that can enable FlashSystem to help deliver better performance than enterprise disk systems. The flash modules themselves continued to be branded the IBM MicroLatency Modules. This version of the technology supported Micron's MLC flash chip technology. This was also the first generation of FlashCore and first enterprise AFA to offer at speed, inline hardware compression  and decompression. With the announcement of the FlashSystem 9100 on July 10, 2018, FlashCore technology was re-implemented into a standard 2 1/2 inch U.2 NVMe SSD form factor and rebranded as FlashCore Modules (FCM). This marks the first time that the original technology developed by TMS was packaged in such a way that conformed to an industry specification and was interchangeable with industry-standard SSDs used inside of an AFA. Technology. IBM FlashCore Modules utilize an FPGA and NAND flash memory chips from off-the-shelf vendors to implement the entire data path in hardware. Each FCM contains a  single FPGA with an NVMe gateway and multi-core ARM processors. Other major components include DRAM, MRAM, and of course NAND Flash. As with all FlashCore technology, the FTL is contained completely inside the FCM and the data path includes at speed, inline hardware compression and decompression. The controller design for IBM FCM uses techniques such as health binning, heat segregation, read voltage shifting, and hard-decision error correction codes to avoid re-reads and lower write amplification to provide consistent low latency. There are currently 3 generations of FCM: In April 2017, IBM's flash portfolio represented more than  380 patents.