The goal of a computer storage architecture is either to reduce the need to move large sets of data or to ease the strain on existing compute or storage resources, such as in a peripheral deployment, for example.
Data – or, to be more precise, the growing volumes of data that organizations increasingly face is one of the factors driving the development of computer storage. Organizations are turning to data science, data analytics, and machine learning to derive insight from all of this data, but it is very data intensive and tends to be linked by input speeds. / output (I / O) or are sensitive to latency. So it makes more sense to process the data as close as possible to where it is stored, rather than mixing gigabytes or terabytes in memory and vice versa.
Companies developing computer storage products have taken different architectural approaches, ranging from integrating processors into disks to accelerators that plug into a PCIe slot and access existing data stores through NVMe.
To avoid balkanization of the emerging IT storage ecosystem into incompatible product lines, the Storage Area Networking Industry Association (SNIA) formed a Computer Storage Technical Working Group (TWG). The group is working to define standards and develop a common programming model that will allow applications to discover and use all the computer storage resources that can be associated with a computer system.
SNIA divided the definition of computer storage peripherals in computer storage processors (CSP), computer storage drives (CSD) and computer storage arrays (CSA). A CSP contains a compute engine, but actually does not contain any storage itself. A CSD (usually an SSD / SSD drive) contains both compute and storage. A CSA contains one or more compute engines and storage devices.
The SNIA model includes a list of computer storage functions that can be performed by computer storage devices, such as compression and decompression. Some computer storage products were designed to perform specific functions, such as video encoding or decoding, while others were designed to be user programmable.
NGD Systems is one of the largest IT storage vendors. Its products are CSDs under the SNIA definition, integrating compute processing into an NVMe SSD. This is achieved through the use of a custom Application Specific Integrated Circuit (ASIC) that incorporates both SSD controller functions and a quad-core Arm Cortex-A53 CPU block.
There are several advantages of this architecture. The ASIC has direct access to the Nand flash chips in the drive through Common Flash Interface (CFI) channels, and these provide high bandwidth, low latency access to data, compared to data transfer in memory for the host processor to process. .
Thanks to the embarked Arming cores, NGD devices can run any version of Ubuntu Linux, which simplifies application development and deployment, or Microsoft’s Azure IoT Edge. The drive itself is also accessible as a simple standard SSD.
This type of architecture is well suited for edge deployments, where there may be only enough space or sufficient power for a single edge server, but with high demands to analyze real-time data, such as a stream. video from a security camera. NGD has a Presentation of the solution on its website which describes how a MongoDB database can be shared among multiple CSD SSDs inside a single server instead of multiple server nodes, reducing the data center footprint and cost global while providing lower latency during data replication.
NGD also cites automotive artificial intelligence (AI), content delivery networks, and hyperscale data centers as use cases, and offers a fully integrated In-Place Processing Development (ISDP) system that enables developers and integrators to create and deploy applications.
Samsung offers a similar CSD product, but its SmartSSD integrates a Xilinx Field-Programmable Gate Array (FPGA) controller and Samsung NVMe SSD controller into a standard 2.5-inch (U.2) SSD with a capacity of up to 4 TB. The resulting product is marketed by Xilinx.
Xilinx provides a development platform, Vitis, which enables development in C, C ++ or OpenCL. It also enables organizations to build accelerated applications through a set of open source libraries optimized for the Xilinx FPGA in SmartSSD. There are Vitis libraries to accelerate AI inference, data analysis, quantitative finance, etc. Xilinx claims that by using Bigstream’s hyper-acceleration layer, SmartSSD can make Apache Spark scans 10 times faster.
Meanwhile, Eideticom’s NoLoad products are CSPs, in that they contain a throttle motor but no storage. Instead, they connect to storage and the host processor through NVMe, allowing compute and storage independent scaling. In fact, with support for NVMe-oF, data could also be kept in external storage arrays.
NoLoad devices use an FPGA as an accelerator and are available as a PCIe card, a U.2 form factor as a drive enclosure, or EDSFF format, based on Intel’s SSD Ruler format. NoLoad can support a range of functions, such as compression, encryption, erasure coding, deduplication, data analysis and machine learning (ML).
NoLoad devices have already been deployed at Los Alamos National Laboratory (LANL) as part of a next-generation storage system for high performance computing (HPC). This saw NoLoad devices used to offload key storage tasks to a Luster / ZFS file system, which improved performance and reduced storage system costs.
Pliops also targets storage, which uses a PCIe card with an FPGA to speed up key-value operations used in applications such as databases. The Pliops Storage Processor (PSP) implements a data structure optimized for database-related storage operations, such as indexing, searching, or sorting, and speeds them up without requiring application software changes. It does this by replacing the underlying key-value storage engine, such as InnoDB, the default option for MySQL, with its hardware accelerator. Pliops claims that this implementation can deliver 10 times the number of requests per second, while more efficiently using SSD storage space, providing immediate business value.
GPUs can also do computer storage
Perhaps the most extreme computer storage accelerator example is Nyriad. The firm has developed a software-defined storage platform called Nsulate which uses an Nvidia GPU to speed up erasure coding the functions. It is designed as an alternative to RAID for high performance scalable storage deployments requiring a high level of reliability.
In fact, it is believed to be able to cope with dozens of simultaneous device failures in real time, with no degradation in performance, because Nsulate can reconstruct any missing data faster than the data can be pulled from storage. This means that replacing a failed drive does not need to be a high priority for the IT team. Nyriad claims that the GPU can be used simultaneously for other workloads such as machine learning.
Nsulate is currently available as part of pre-built systems from partners such as Boston Limited, which offers a Supermicro-based Nsulate storage server.
Computer storage is still at an early stage of development, although some vendors have been offering deployable products for several years. Organizations evaluating it for their data center should therefore exercise caution, but there are already benefits to be gained from using IT storage products in some applications. They can result in reduced overall power consumption and the need for fewer processor cores per server node, for example, as well as significantly improved performance in many cases.