Log in

No account? Create an account
Flash-only laptop: goodbye disk drives! - brad's life [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Flash-only laptop: goodbye disk drives! [May. 23rd, 2006|09:54 pm]
Brad Fitzpatrick

Yes, it's finally happening!

I've hated disks my whole life, and it's finally happening, they're finally dying!

The article does a disservice, though, noting that rotational drives' peak throughput is marginally higher. You never get peak throughput. A flash-based harddrive with zero seek latency will be so fucking fast it'll be unbelievable.

Can't wait.

(Deleted comment)
[User Picture]From: pyesetz
2006-05-24 05:27 am (UTC)


It's 12 million writes per block.  Just because the same logical block is being updated over and over by a program doesn't mean the disk driver has to overwrite the same physical block—remap the blocks all the time to level out the wear across the disk!
(Reply) (Parent) (Thread)
From: (Anonymous)
2006-05-24 05:35 am (UTC)
read the comment section by morcheeba and weep:

(Reply) (Parent) (Thread)
From: jeffr
2006-05-24 06:02 am (UTC)
Er harddrives don't fail all at once either. They are constantly remapping bad sectors until they run out of free sectors for remapping. They are reasonably good at failure recovery. Except cheap ide disks which store the remapping information on the drive itself, which may then fail, leaving you with the original bad blocks.
(Reply) (Parent) (Thread)
[User Picture]From: scosol
2006-05-24 07:32 am (UTC)
that's pretty dope- so you just slowly run out of space?
i don't know the numbers for disks offhand but I wonder if the calculation makes sense, regarding how quickly you lose space
so which drives store the remapping stuff elsewhere?

i would just replicate the remapping data across different parts of the chip...

(Reply) (Parent) (Thread)
From: jeffr
2006-05-24 08:26 am (UTC)
The space is not addressable by the operating system. You slowly run out of 'extra' space. There are many other tricks that drives employ to recover bad data, and many that operating systems can do that they often don't.

For example: drives often have several levels of parity information. Only the quickest hardware computed parity is examined for larger transfers. If a transfer fails you can actually do block by block transfers to get the drive firmware to do more expensive checks that can recover from double-bit errors. Rewriting these blocks that have problems will then cause drive firmware to relocate the block if it believes it can no longer store data.

I believe some firmware will try to repair the existing block before relocating. Reading and writing multiple times to verify the data. These checks can actually hang the drive for a second or more as the onboard micros are quite slow and the calculations are very expensive.
(Reply) (Parent) (Thread)
From: jeffr
2006-05-24 05:36 am (UTC)
Typically firmware on the chip uses a sector remaping strategy that evens out writes to sectors so they don't get overloaded. The sectors the os sees have little to do with their physical location. The same is often true of modern disk drives as well.

I've seen fast speeds quoted for flash memory devices but I've never actually seen them perform this quickly. Although, brad is certainly right, if you remove the seek time and rotational latency (which is often much longer than seek on a laptop drive) you'll speed up almost all io.
(Reply) (Parent) (Thread)
[User Picture]From: scosol
2006-05-24 07:35 am (UTC)
> (which is often much longer than seek on a laptop drive)

you sure about that?
my opinion was the exact reverse- the quicker you move the head the more powerful those electromagnets have to be...
(Reply) (Parent) (Thread)
From: jeffr
2006-05-24 08:21 am (UTC)
Perhaps I wasn't very clear. The rotational latency on a laptop can exceed the seek time. People often ignore rotational latency and only look at the seek numbers, but it is more important with lower rpms. For example, a drive may have a 5ms average seek time, but at 4500 rpm your rotational delay on average is (1/(4500/60))/2 or 6.5ms. Clearly this gets smaller linearly with spindle speed. A 10k drive has a sub 3ms average rotational latency.

The rotational delay is the amount of time it takes for the data to actually pass under the head while the seek time is the time to position the head. Seek time is a function of the precision and speed of the stepper motor which moves the head. There are special markers on each track to tell the head where it is. If the motor is imprecise it may have to reposition. Cheaper drives simply have cheaper motors. However, the rotational delay is determined entirely by spindle speed.

Someday I will be an old man and remember all of this and remark on how primitive and silly it seemed that we stored data on spinning disks.
(Reply) (Parent) (Thread)
[User Picture]From: scosol
2006-05-24 08:56 am (UTC)
> For example, a drive may have a 5ms average seek time, but at 4500 rpm your rotational delay on average is (1/(4500/60))/2 or 6.5ms. Clearly this gets smaller linearly with spindle speed. A 10k drive has a sub 3ms average rotational latency.

Common laptop drives don't get anywhere *near* 5ms seek time... 8.5 is more typical, and a 5400RPM drive is the standard these days-

> Seek time is a function of the precision and speed of the stepper motor which moves the head.

Stepper motors haven't been used to position heads since the dark ages- your floppy drive uses a stepper motor.
Hard drives use an electromagnetic voice coil- what exactly do you think those super-strong magnets are for?
(Reply) (Parent) (Thread)
From: jeffr
2006-05-24 07:48 pm (UTC)
er, right about stepper motors. I just call the motor in a disk drive a stepper motor out of habbit. I am now getting old enough to use the wrong prefix for data sizes (terra er gigga er...petabyte?) and to refer to long unused technologies in weird places. Now where did I put that isa gigabit nic. ;)
(Reply) (Parent) (Thread)
[User Picture]From: marcusramberg
2006-05-24 05:42 am (UTC)

Only in Korea

Why won't they sell them to us? :(
(Reply) (Thread)
[User Picture]From: brad
2006-05-24 05:52 am (UTC)

Re: Only in Korea

Intel's planning chipsets around similar ideas (including dual disk/flash scenarios) and Apple is as well. It's only a matter of time.
(Reply) (Parent) (Thread)
[User Picture]From: ioerror
2006-05-24 06:00 am (UTC)

Re: Only in Korea

One can only hope. We're so close to living in the future!
(Reply) (Parent) (Thread)
[User Picture]From: dpb
2006-05-24 04:04 pm (UTC)
The idea is awesome!

Only problem is when ever I read anything about making a computer quieter, all I hear is my computer now. The fans, harddrive, etc and that is very annoying.
(Reply) (Thread)
[User Picture]From: andrewducker
2006-05-24 09:36 pm (UTC)
Don't these pop up every so often?

The problem is always that the cost per MB is so much vastly more than for hard drives.

Having a small one as a boot disk sounds worthwhile - but then you'd be better off with a large non-volatile cache I'd have thought.
(Reply) (Thread)
[User Picture]From: brad
2006-05-24 11:31 pm (UTC)

Re: Only in Korea

Read "The Innovator's Dilemna". The metrics by which people judge products change once the old metrics exceed demand. We don't need 100GB of space on our laptop. People now value speed and noise and durability and heat and battery life more than they do capacity. The capacity is fine, and people aren't looking at the cost/GB. They're willing to pay $NNN max for something that is "best" for them, and that $NNN now buys them solid state storage which works and is best by the new metrics.

Sure, throw in a 100 GB drive also, but only spin it up for porn and mp3s. Everything else (OS, documents) should be on reliable/fast/silent storage.
(Reply) (Parent) (Thread)