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

You are both right. It's a RAM-like key-value store with large (block-sized) values.



It's not RAM-like, because you can read small parts of keys, but have to write large ones.


You can't read or write individual bits or bytes in RAM directly either. Word size is very small compared to disk blocks, but it's not atomic.

I'm not an architecture expert, so please correct me if I'm wrong about this.


It depends on what kind of RAM and what kind of bus you are using. Some do let you write bytes at a time, others only allow N byte words at a time.

Though I suppose a byte is still not a bit! I'm not sure I've ever seen a bus interface that addressed individual bits…


But the read and write are symmetric, of same sizes.


No: some buses let you write different sized words to the memory controller or RAM chip. For example, picture a bus that's 32 bits wide, but there are control lines that let you specify that you're writing (or reading) 1 byte, 2 bytes, or 4 bytes. During a single byte wide bus cycle you are not sending 4 bytes to the part, even though there are 32 bits connecting to it.

Certainly not everything out there is byte addressable, but neither can one say unequivocally that all RAMs have large atomic word sizes.


Again, in your scenario read&write are symmetric. In Flash, they're not.


I don't understand what you mean by "symmetric". If I can write a 32 bit word out and read 1 byte of it back, I don't consider that "symmetric".




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

Search: