The title is odd. Should be "Why SATA is now obsolete."
The article is of course correct, and some manufacturers are already offering SSD-like storage which is connected like a stick of RAM.
I'm sure the gap between storage and the main system pipeline (CPU-GPU-RAM-etc) will only shrink as time moves forward. However as an interim solution things that acted like hard drives were convenient.
I was convinced both of those quotes were from Dijkstra (as quotes go, the Mark Twain of CS).
Turns out, the second one is originally from one Phil Karlton (as reported by Tim Bray [1] , that's enough authority for me), without the "off-by-one" part.
The first one, which I was goddamned sure was Dijkstra, is actually by David (not A.) Wheeler (via Butler Lampson) [2], inventor of the subroutine.
That rabbit-hole took me longer than expected. Hopefully I'm saving some time for someone else ;)
My quote list has the second half as a later elaboration:
"All problems in computer science can be solved by another level of indirection"
"But that usually will create another problem."
-- David Wheeler
"...except for the problem of too many layers of indirection."
-- Kevlin Henney
You do not "read" binary from right to left. At least in English, the most significant digit is on the left, just like any other base (e.g. base 10, base 8, or base 89432890432).
Also, for your leading 0, I would write: Bob has 23 apples, and I have 5. I wouldn't write: Bob has 23 apples, and I have 05. Base 2 is not special, so I wouldn't write 01.
You can also turn your order argument on its head: since the order of digits in base 10 is exactly the same as base 2 (most significant on the left), you could say that "As easy as 1, 2, 3" should actually be read as "As easy as 3, 2, 1", which matches your binary reading "As easy as 3, 2, 1".
The two can be melded together: There are 10 kinds of people in this world, those who understand binary, those who don't, and those who suffer off-by-one errors.
I thought it was: There are 10 kinds of people in this world, those who understand binary, those who don't, and those who were expecting a base 3 joke.
There are 10 kinds of people in the world. Those who know binary, those who know ternary, those who know base four, ..., and those who know that every base is base 10.
The introduction of M.2 on desktop motherboards has already started to enter the laptop realm but your last point is correct. Storage has shifted away from physical devices toward the "cloud". Cost/GB for SSD has dropped drastically over the past year.
I'm actually curious if putting the storage on the bus is a win. Sure for speed it's a win but the ability for a bad program to crap all over memory is scary whereas as an HD it's a little harder for a poorly written program (vs a malicious program) to randomly write data to the HD, virtual or not.
I'm sure someone will figure something out but pretending it's an HD does kind of solve that issue for now.
I'm not sure which ones you're referring to, but the
NVDIMMs I'm familiar with [0]
are are normal DRAMs with an additional hold-up supercap, controller, and flash. When power goes away, the controller streams DRAM contents to flash.
Linux block device Drivers [1] exist as does some filesystem support [2] for ext4fs.
> I'm sure the gap between storage and the main system pipeline (CPU-GPU-RAM-etc) will only shrink as time moves forward. However as an interim solution things that acted like hard drives were convenient.
SATA isn't obsolete - it's fine for mechanical disks. but the abstraction that's used for SSDs doesn't represent the true capabilities of the NAND and prevents a database (eg) from utilizing the true power of the flash
The article is of course correct, and some manufacturers are already offering SSD-like storage which is connected like a stick of RAM.
I'm sure the gap between storage and the main system pipeline (CPU-GPU-RAM-etc) will only shrink as time moves forward. However as an interim solution things that acted like hard drives were convenient.