Hacker News new | past | comments | ask | show | jobs | submit login

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.




> The title is odd. Should be "Why SATA is now obsolete."

A pity we didn't see this until now, but we've adopted your suggestion.

All: you can get this kind of thing taken care of sooner by notifying us at hn@ycombinator.com.


Yes, but if the title was honest then not as many people would click, and we can’t have that.


and that's exactly why I read the comments first


But there are also SAS (Serial Attached SCSI) SSDs ... the major point is in the aphorism in his third paragraph:

"All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection."

Hence this level of indirection, the discrete "drive", is what he thinks should go poof.


> "All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection."

First time I've heard that quote, but I love it. Reminds me of this one:

"There are only two hard problems in Computer Science: cache invalidation, naming things, and off-by-one errors."


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 ;)

[1] https://twitter.com/timbray/status/506146595650699264

[2] http://www.dmst.aueb.gr/dds/pubs/inbook/beautiful_code/html/...


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


What's the best thing about telling UDP jokes? You don't care if they get it.


Or:

What's the best thing about telling UDP jokes? if don't You they get care it.


> if don't You they get care if.

Don't forget that UDP allows repeats and drops!


and repeats.


I was going to post a reply here with an HTTP joke but I am feeling slightly insecure.


"There are two hard problems in computer science: we only have one joke and it's not funny."

(I think it's funny though.)


Plenty of other jokes abound:

- What goes "Pieces of seven! Pieces of seven!"

- Parity error

Look up "recursion" in the dictionary and it says: See Recursion.


Why do programmers confuse Halloween and Christmas? Because 25 DEC == 31 OCT


You know what's a C + iJ? A Complex Joke.

You know why Complex Jokes aren't funny? Because the joke part is imaginary.


Q: How many prolog programmers does it take to change a lightbulb?

A: Yes.


These are way better than that bloody binary joke in every computer department.


the better version of the binary joke is

Binary: as easy as 1, 10, 11


As easy as 3, 2, 1? I realise you read binary from right to left, not left to right, but the sentence is in English so you read that left to right.

Also the commas and binary mixed together are a little odd. Least of all because you didn't make all three two binary digits (i.e. 11, 10, 01).

Regardless that joke is going to cause more arguments than laughs.


Base 2 is not special.

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 like it, but how about:

There are only 10 hard problems in Computer Science: cache invalidation, naming things, and 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.


It really is:

There are 10 kind of people in the world: Those who know binary, those who don't, and those who start counting from zero.


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.


It really is:

There are 10 kinds of people in the world: Those who know hexadecimal, and F the rest...


>and those who start counting from zero.

That kills the joke. 'off-by-one' is subtler.


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.


Not only laptops. Any number of newer embedded boards are being developed with M.2 in-place of m-sata.


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.


Presumably you'd use the MMU, and leave unmapped any persistent storage pages not being currently accessed.


Those RAM sticks currently have SATA controllers embedded. Its another layer of abstraction. The promise is eventually it won't.


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.

[0] http://en.wikipedia.org/wiki/NVDIMM

[1] https://lkml.org/lkml/2014/8/27/674

[2] https://lkml.org/lkml/2014/3/23/121


> 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.

We move ever closer to "Computronium".


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: