
New architecture for byte access to SSD - how it works
At the University of Illinois at Urbana-Champaign, FlatFlash technology was developed that doubles the performance of memory intensive applications. Photo - Michael Bobella - CC BY-SA

SSDs 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, SSDs and DIMMs use a management method called virtual memory . It implies the automatic movement of parts of the program between the RAM and the drive using page swapping . However, this approach has several disadvantages.
The first drawback is that you have to copy “extra” data when a page interrupt is triggered and a new page is loaded from disk (even if you need some of the information on the page, it is still copied as a whole).
The second - if the application works with a data set exceeding the amount of RAM, the so-called "page slipping" occurs. The system is in a constant state of swap , often exchanging data in memory and data on disk, to the detriment of the application.
To configure the system, engineers use the PCIe standard, in particular, its set of index registers (Base Address Registers, BAR). With their help, FlatFlash transfers the memory allocation table data to the host so that the BIOS and operating system complete the necessary markup.
After marking, SSD and DRAM are combined on one flat address space. This approach gave the processor the ability to directly send requests (load / write) to the solid state drive using the PCIe MMIO mechanism. The host bridge is responsible for processing and redirecting calls to these memory sections.
As for the mapping of data to the corresponding address spaces, this task is directly implemented by the SSD. The developers used the DRAM installed in the SSD controller as a cache. It stores the page that you need to access byte by byte. Byte requests are implemented using one of the BAR registers.

UUIC specialists tested the performance of the new approach using the Linux SSD emulator. According to the data ( PDF, p. 10), FlatFlash is able to increase application performance with intensive memory consumption by 2.3 times. The architecture improves the cost / performance ratio by 3.8 times, compared with the "clean" DRAM-systems.
About technology positively respondedsome 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 requests for reading and writing. 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 life of solid state drives.

Photo - Gamaliel Espinoza Macedo - CC BY / Photo cropped by
Another HN resident, however, is interested in how FlatFlash solves the problem of races and locks 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, the specification of which the PCI-SIG consortium approved in May this year. The bus has a transmission speed of 32 GT / s and signal integrity control mechanisms.
The second technology is Optane memory based on 3DXpoint technology, developed by Intel and Micron. It itself has a higher read / write speed than flash. One of the latest Intel products has a sequential read speed of 2500 MB / s. For recording, this figure is 2000 MB / s.
Companies are increasingly implementing solid state drives in their data centers. The Register notes that the total supply of SSDs will increase to 313 million in 2021 (with 157 million units in 2016). We can expect the emergence of new technologies similar to FlatFlash.
Such systems already exist - two years ago a group of engineers from the University of California introduced PebbleSSD technology. It also makes it possible to access the drive byte-by-byte using metadata with byte addressing. In the future, such solutions will appear more and more often.
ITGLOBAL.COM is a provider of private and hybrid clouds, as well as other services aimed at developing the IT infrastructure of our customers. What we write about in a corporate blog:

Why did you need a new architecture
SSDs 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, SSDs and DIMMs use a management method called virtual memory . It implies the automatic movement of parts of the program between the RAM and the drive using page swapping . However, this approach has several disadvantages.
The first drawback is that you have to copy “extra” data when a page interrupt is triggered and a new page is loaded from disk (even if you need some of the information on the page, it is still copied as a whole).
The second - if the application works with a data set exceeding the amount of RAM, the so-called "page slipping" occurs. The system is in a constant state of swap , often exchanging data in memory and data on disk, to the detriment of the application.
To address these challenges, a team of engineers from the University of Illinois at Urbana-Champaign (UUIC) and IBM Research have proposed a new memory architecture. It implies the possibility of byte-by-bit access to SSD. In theory, this approach will reduce the cost of data exchange. The development is called FlatFlash.
How does it work?
To configure the system, engineers use the PCIe standard, in particular, its set of index registers (Base Address Registers, BAR). With their help, FlatFlash transfers the memory allocation table data to the host so that the BIOS and operating system complete the necessary markup.
After marking, SSD and DRAM are combined on one flat address space. This approach gave the processor the ability to directly send requests (load / write) to the solid state drive using the PCIe MMIO mechanism. The host bridge is responsible for processing and redirecting calls to these memory sections.
As for the mapping of data to the corresponding address spaces, this task is directly implemented by the SSD. The developers used the DRAM installed in the SSD controller as a cache. It stores the page that you need to access byte by byte. Byte requests are implemented using one of the BAR registers.

Opinions
UUIC specialists tested the performance of the new approach using the Linux SSD emulator. According to the data ( PDF, p. 10), FlatFlash is able to increase application performance with intensive memory consumption by 2.3 times. The architecture improves the cost / performance ratio by 3.8 times, compared with the "clean" DRAM-systems.
About technology positively respondedsome 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 requests for reading and writing. 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 life of solid state drives.

Photo - Gamaliel Espinoza Macedo - CC BY / Photo cropped by
Another HN resident, however, is interested in how FlatFlash solves the problem of races and locks 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 .
Prospects
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, the specification of which the PCI-SIG consortium approved in May this year. The bus has a transmission speed of 32 GT / s and signal integrity control mechanisms.
The second technology is Optane memory based on 3DXpoint technology, developed by Intel and Micron. It itself has a higher read / write speed than flash. One of the latest Intel products has a sequential read speed of 2500 MB / s. For recording, this figure is 2000 MB / s.
conclusions
Companies are increasingly implementing solid state drives in their data centers. The Register notes that the total supply of SSDs will increase to 313 million in 2021 (with 157 million units in 2016). We can expect the emergence of new technologies similar to FlatFlash.
Such systems already exist - two years ago a group of engineers from the University of California introduced PebbleSSD technology. It also makes it possible to access the drive byte-by-byte using metadata with byte addressing. In the future, such solutions will appear more and more often.
ITGLOBAL.COM is a provider of private and hybrid clouds, as well as other services aimed at developing the IT infrastructure of our customers. What we write about in a corporate blog: