An SSD is currently much more expensive than a hard drive in terms of storage cost, to this must be added the periods when RAM is increasing in price or suffers from a shortage. At this time, DRAM-free SSDs are the cheapest if we compare their storage capacity by price with other SSDs. But are they the right ones in terms of performance?
The Flash controller on SSDs
To understand the existence of the Flash controller, we need to understand the way the CPU communicates with the peripherals of the PC, this is what we call memory mapped I / O, which translates to I / O by memory mapping. . This technique involves assigning each device a series of memory addresses. So that when the CPU makes a request to said memory address, then it communicates with this memory address.
The advantage of this, in order to communicate with the rest of the system memories, is that it allows them to see the rest of the memories as a universal sink of RAM. It even allows the CPU to communicate with the memory of different devices as if it were part of its own memory.
This is because the CPU uses a virtual address system which undergoes transformation into physical addresses in the process. We will not go into this article about accessing RAM, but we must take into account that each memory in the system has its own physical addressing, so to access said memory, a unit in charge of translation is necessary. addresses, in the case of RAM is the memory controller, which is currently integrated in the CPUs.
In the case of SSDs or SSDs, there is the flash controller, its task is the same as the RAM memory controller, but instead of doing it with the RAM, it does it with the flash memory found in the SSD . Unlike the memory controller, it has not been integrated into the CPU today.
Why do most SSDs have DRAM?
When accessing any type of memory, a memory card is required, which is a data structure that tells the CPU how memory is organized. In CPUs with virtual memory support, it refers to page tables, which store the correspondence between the virtual addressing that the CPU uses to communicate with memory, and the physical and actual addressing of memory.
Page tables are usually stored in RAM and are used not by the processor itself but by one of its units, the MMU, which is inside the memory controller and is the responsible unit. RAM memory management. Before we commented that the operation of the Flash controller is the same as the RAM controller, but for flash memory.
The problem? The process of moving address requires very fast memory, so it cannot be done in NAND Flash, as the access latency would be high enough to completely eliminate all the benefits of SSD. This is why most SSDs have a RAM sink, which is used to save the address transfer table and to be able to access the data required by the CPU as quickly as possible.
Why is the performance of a DRAM-free SSD lower?
Yes, and they are called DRAMLess, their particularity? They are much cheaper than conventional SSDs due to the fact that they do not have built-in DRAM memory. The lack of a DRAM memory sink forces the Flash controller in DRAMLess SSD to look for the second fastest memory it has access to, which, although it seems counterproductive from a distance, is the system RAM instead. own SSD.
This means in a DRAM-free SSD to access the address table you will have to apply as a device to the IOMMU and it will go to the system RAM. The reason it fails the closer NAND Flash is that such a level of activity would end up depleting the SSD much faster, shortening the useful life of the SSD.
Of course, there are cases where the Flash controller does not use the system RAM to access, but the NAND Flash memory itself. What consequences does this have? Much faster wear and tear of the NVMe chip read and write cycles of the SSD, which will reduce the life of the SSD.
The future of DRAM-free SSDs
One of the things that is being sought in the future with the adoption of technologies like the CXL, which will be integrated from PCI Express 5.0, is the fact that devices can directly access the RAM memory space without having to go through the IOMMU drive, it means that SSDs without DRAM will be faster.
This capability means that the memory controller built into the CPUs doubles as a Flash memory controller, allowing direct access to NVMe memory chips. To this must be added the existence of DIMMs which do not have RAM memory chips, but rather non-volatile memory. Are we going to expand the storage of our PCs of the future with DIMMs? Who knows, the technology is there.
The other possibility is the use of on-board memory, including using 3DIC configurations to place the DRAM used as a cache on top of the memory controller. DRAM would still be, but not on a separate chip, but integrated into the memory controller via a vertical interconnect. Due to the proximity of this memory, it would be faster
We will see both concepts in the future, although in the second case we will see it more in processors without the Flash controller built into them.