At the University of Illinois at Urbana-Champaign, we developed FlatFlash technology, which doubles the performance of memory intensive applications.
Photos - Michael Bobella - CC BY-SA
Why did you need a new architecture
Solid-state drives have high read/write speeds. Because of this, they are used as an extension for RAM in high-performance computing. To interact with the “combined” memory, SSD and DIMM use a control method called virtual memory
. It implies automatic movement of program parts between the RAM and the drive using paging
. However, this approach has several disadvantages.
The first drawback is that you have to copy the “extra” data when a page interrupt is triggered and a new page is loaded from disk (even if some of the information on the page is needed, it is still copied completely).
The second is that if the application works with a set of data that exceeds the amount of RAM, a so-called “page slip” occurs. The system is in a constant swap
, often exchanging data in memory and data on disk, to the detriment of the application.
To address these difficulties, a group of engineers from the University of Illinois at Urbana-Champaign (UUIC) and IBM Research suggested new memory architecture. It suggests the possibility of byte-calling SSD. In theory, this approach will reduce the cost of data exchange. The development was called FlatFlash.
How it works
To configure the system, engineers use the PCIe standard, in particular, its set of index registers (Base Address Registers, BAR). With their help, FlatFlash transmits the memory allocation table data to the host so that the BIOS and the operating system perform the necessary markup.
After marking SSD and DRAM are combined in one flat address space. This approach gave the processor the ability to directly send requests (load/write) to a solid-state drive using the PCIe MMIO mechanism. The main bridge (host bridge) is responsible for processing and redirecting calls to these parts of the memory.
As for the mapping of data to the corresponding address spaces, this task is directly implemented by SSD. The developers used the DRAM block installed in the SSD controller as a cache. It contains the page to which byte access should be obtained. Byte queries are implemented using one of the BAR registers.
UUIC experts tested the performance of a new approach using an SSD emulator on Linux. According to the data received ( PDF, p.10
), FlatFlash can improve the performance of memory intensive applications 2.3 times. The architecture improves the cost/efficiency ratio by 3.8 times, compared to "pure" DRAM-systems.
About the technology positively responded
some residents of Hacker News. One of the users of the site noted that the new architecture will allow the operating system to abstract from working with memory. PCIe devices will respond to read and write requests. Another plus is that the channel between the SSD and the host is “unloaded”, since there is no need to send the entire page to memory. UUIC says it extends the lifespan of solid-state drives.
Photos - Gamaliel Espinoza Macedo - CC BY/Photo Cropped
Another resident of HN, however, is interested in how FlatFlash solves the problem of racing and blocking in memory, since this issue is not covered in the work of engineers from the University of Illinois, and similar technologies may have problems in this area.
The IT industry develops and implements technologies from which the new development of specialists from UUIC will be able to get additional benefits. The first is PCIe 5.0, whose specification the PCI-SIG consortium approved
in May of the year. The bus has a transmission speed of 32 GT/s and signal integrity control mechanisms.
The second technology is the Optane memory based on 3DXpoint technology, developed by Intel and Micron. It itself has a higher read/write speed than a flash. One of the latest Intel products has
2500 sequential read speed MB/s For the record, this figure is 2000 MB/s.
Companies are increasingly introducing "hardcore" in their data centers. The Register notes that the total SSD supply will increase
to 313 million in 2021 (with 157 million units in 2016). We can expect the emergence of new technologies similar to FlatFlash.
There are already such systems - two years ago a group of engineers from the University of California introduced
PebbleSSD technology . It also provides the possibility of single-byte access to the drive due to metadata with byte addressing. In the future, such decisions will appear more and more.
is a private and hybrid cloud provider, as well as other services aimed at developing our customers' IT infrastructure. What we write about in the corporate blog: