Query regarding DRAM on SSD's
Bullshit. For most uses, it doesn't matter if it has DRAM or not.
DRAM is used by the SSD controller to keep track of information about where the data is located in memory chips... it's not used to cache data to give it to you faster.
The operating system sees a storage device as a long chain of "sectors" each 512 bytes or 4096 bytes or some other fixed size, it has this concept from the times of mechanical drives and floppy drives which stored data in a concentric tracks on platters.
So for example, when the operating system requests sector 1,000,000 from a mechanical drive, the circuitry on the drive knows that 1,000,000 sector is physically located on the 3rd disc, top surface, 100th concentric track, the 50th sector on the round track... it's a simple formula for the drive to determine where each sector is, move the read/write heads, wait until the disc rotates until the data is under the read/write heads and read or write that sector.
SSDs don't work like that because they have some quirks about erasing or overwriting data... SSDs can not overwrite any random sector randomly.
SSDs have the memory arranged in sections , for example a section (let's call it "block") of 32 MB, in which there are 8192 "pages" that can each hold 4096 bytes.
The SSD controller can write data into one of those pages but once data is written, it can not be changed or overwritten. If you want to erase that page, you have to erase the whole block of 32 MB. But each erases causes some damage to the memory chip, and that's where you get the endurance of a SSD from. A QLC drive for example can only erase a block up to 400-600 times, maybe even less.
So when the operating system requests to overwrite a page, to put new information in it, the SSD controller simply marks that page with a flag that says "can be erased" and finds a writable page in some other 32 MB block to put the new data.
When a lot of pages in a block get this "can be erased" flag, the SSD controller will copy the valid pages to other blocks, and perform an erase on the block, making the whole 32 MB block available again for writing.
Because of this, the SSD needs to have a list, a table, with the relationship between what the operating system requests, and where the data is actually located in memory chips.
The table is something like
Sectors 0 to 100 -> memory chip 1, block 10, pages 30-130
sector 101 - > memory chip 3, block 1, page 20
...
and so on.
A SSD without DRAM has this list in a special hidden area of flash memory, and each time you write data to the SSD, the SSD controller has to write the data but also has to update that list.
If you read a lot of files at the same time, the SSD controller has to go look up where the sectors for those files are located, and then read the data from those pages.
This means that if you do a lot of writing, like writing 10-20 files in parallel, it's going to be a bit slower because the drive has to update that table in the flash memory.
A SSD with DRAM uses the RAM to load that table into the RAM when it starts up, and from that point it updates the data into the ram instead of writing into the memory, and will only periodically dump the data from ram to the memory chips (because otherwise if there's a power failure, the SSD doesn't know where the data is located).
Writing to ram is much faster, so the drive in theory can write lots of files simultaneously faster, can have higher IOPS.
It's typical for drives to have around 1 GB of dram for every TB of actual memory, because it's enough space to hold that table in RAM this way.
There's an in-between in SSDs with HBM support - HBM is a pci-e feature where the SSD controller can "burrow" some RAM from the computer RAM and keep fragments of that table in RAM instead of reading and writing the memory on the SSD.
It's not as fast as DRAM, but faster than not having DRAM, it's a good compromise.
For example, most SSDs will burrow 64 MB of regular RAM, and store fragments of that table in that 64 MB of ram.
For regular usage, like having games stored on the SSD, it makes no difference if the drive has DRAM or not. It's like difference between loading a game at 3.1 GB/s versus 3.0 GB/s ... you lose 100 MB/s because the SSD has to pause and look up what to read from that hidden area that holds the table, instead of reading the data from ram.
Even for an operating system drive, it really doesn't matter for most users, as most users don't use applications that read and write lots of files in parallel, that do thousands of updates and small edits and so on.

Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now