4 ms·
Heh, not to mention CDs, Blurays, HD TV (broadcasts), etc. Although it does complicate things, much like happened when relatively stupid discs of spinning rust
by sliken 5y ago
Heh, not to mention CDs, Blurays, HD TV (broadcasts), etc.
Although it does complicate things, much like happened when relatively stupid discs of spinning rust (which might lie about sync) transitioned to SSDs which are a blackbox with fancy algorithms (for cache, wear leveling, minimizing write amplication, etc), hidden storage, ram (for cache), even some with fast and slow flash. So now you have to be very careful to test long enough to exceed cache (flash or ram), and if randomly writing you have to sustain it till you consume the entire drive to ensure the housekeeping is included in your performance numbers.
So this raises the spectre of dimms with so many errors that a detectable number of lookups might require ECC corrections and additional latency. So we will need a SLA from the dimms, something like 99.99% of the time with less than X ns of latency.
- bcrl 5y agoNone of the mainstream DDR DRAM protocols support variable latency, so you effectively have that 100% SLA guarantee. I should qualify that may not be true for some of IBM's mainframe systems. IBM has created DIMMs that communicate with high speed serial protocols (using SERDES) between the memory controller and a buffer chip on the DIMMs, mostly to make it easier to scale the amount of memory in these system up beyond what would be possible when using a pad limited protocol like DDR. Now that memory controllers are on the CPU (well, the I/O die for AMD), there's actually a whole lot more slack for the timing needed to do ECC. While the I/O transistors use big, slow transistors for driving the off die signals, the logic is all implemented using the same 3-5+GHz transistors used. This is in constrast to the transistors used in DRAM that are tuned to minimize leakage and are a heck of a lot slower. Putting complicated logic on the DRAM die is a fundamental mismatch with that goal, which encourages DRAM vendors to put the minimum possible logic on their dies. ECC gets better with more logic, and worse with less. Do you really want your DRAM vendor deciding how much ECC is Good Enough for you? I don't.
- sliken 5y agoAh, I didn't know about the lack of variable latency, thanks. Does CXL.mem fix that? For similar reasons I wish that SSDs, MicroSDs and similar were just stupid devices with simple read/write logic. Then various filesystems, databases, or key/value stores could compete for popularity for things like load leveling, minimizing write amplification, error checking, write performance, IOPs, etc.
- bcrl 5y agoNo vendor wants to sell raw flash without wear leveling that's exposed to software. It's a significant liability from a warranty perspective, as the manufacturer has to potentially replace the device when the user make a mistake or uses poorly written / buggy software that wears out the flash out prematurely. The one place where that does make sense is for hardware devices using SoCs that include interfaces to directly attach NAND flash, but in that case it's usually the hardware vendor that provides the software, leaving random end users out of the loop.
- sliken 5y agoDunno, today's warranties often require a tool to verify the drive, which checks the total writes. So if you exceed the lifetime writes you are out of warranty. Seems trivial to extend that to writes per cell, so if you screw up you lose the warranty.