"inRAID" HDD idea

Cerulean

[H]F Junkie
2FA
Joined
Jul 27, 2006
Messages
9,484
Just some idea I came up with -- but I also want to know (besides sharing it here) if this is already in practical use.

Assume that your typical HDD has 4 platters. Between each platter is a head (to read above and below), and there is a top and bottom head for the top and bottom platters so that all sides are covered.

Now assume that there is this generic strip of code to read, composed of several bits or bytes or whatever. It's all located on the top top-side platter. The very top head is reading the top-side of the top platter this string of bits, bit by bit.

Now what if instead of doing it that way, each next-bit would be stored on each side of every platter? Assume that the string of bits consisted of 8 bits and your HDD has 4 platters. There would be 8 sides. The very top top-side would have the first bit, the top bottom-side would have the second bit, the 2nd to top top-side would have the third bit, and so on until you have the eighth bit on the very bottom bottom-side platter. The heads are locked in place -- this is common knowledge -- so what would happen is that the heads read all 8 bits simultaneously.

All of a sudden you have an "instruction set" (comparing to CPUs) of 8 bits in memory to-be or being transferred to the CPU/Motherboard/whatever for interpretation.

Instead of (below is a side-view of a platter, sort of, with the 8 bit sequence to be read from left to right as the platter rotates)...

-|XX|
[ _ ] [ _ ] [ _ ] [ _ ] [ _ ] [ _ ] [ _ ] [ _ ]

You would have (side-view)...

-|XX| (this is a head)
[ _ ] (this is the top-side of the very top platter; magnetic surface)
||||||||||||||||||||||||||| (platter material)
[ _ ] (this is the bottom-side of the very top platter)
-|XX| (reads the bit above and below; there is an individual head to read the one above, and an individual one to read the one below)
-|XX|
[ _ ]
|||||||||||||||||||||||||||
[ _ ]
-|XX|
-|XX|
[ _ ]
|||||||||||||||||||||||||||
[ _ ]
-|XX|
-|XX|
[ _ ]
|||||||||||||||||||||||||||
[ _ ]
-|XX|


So instead of reading 1 bit at a time, it would be reading 8 bits at a time. The only modification probably required to a HDD is that it would have this "inRAID" functionality (or the option/on-off switch to behave this way instead of the traditional method) programmed into the chips. Maybe a RAID chip modified for just this job.
 
and there is a top and bottom head for the top and bottom platters so that all sides are covered.

AFAIK, there's one head per platter and it reads the top of the disc.
 
Hmm, wouldn't it be logical if both sides of the platter were used instead to begin with, then?
 
The idea is okay, it would work in a perfect world. In the real world it is impossible for many reasons. The problems might not be obvious at first but you need to keep in mind of how much data is stored on a modern hdd and just how big things are.. or rather unbelievably small they are. There is something like 500,000 tracks per inch.

The overall problem is you will NEVER keep the heads aligned. Lets just assume 2 platters for now. You read track10 on platter1 and on platter2 the head is reading track1000. You cannot say platter2 is always just 990 tracks ahead and try to offset your raid... you move the head to a different spot and platter1 is now reading track 4000 and platter2 is reading track3000... not the 4990 you expected. This is because the width of the tracks is varying across the platters and from platter to platter. Its even worse than that. Due to the sizes involved, heat becomes a problem. Even very small changes in temperature will affect where the head is at. You go back and read track10 on platter1 and platter2 is reading track1040 this time, not 1000 like it was last time. Something has expanded or contracted-- arm/slider/head/platter who knows.

There are so many problems any one of which is close to impossible to solve much less all of them. The only way these problems are 'solved' in modern drives is realizing its just not possible to know where any track is at any time. The only way to get to a track is constantly comparing where you are to where you want to be. Eventually you'll get there.

I can't think of any good examples other than imagine being in a city and trying to find some street... doing it with your eyes closed would be impossible, even if you started at some known location you wouldn't be able to say its 5 blocks from here and a block is 100 steps and then blindly walk 500 steps in that direction. The problem is blocks are not all a constant size and your steps are not constant as well. You may be able to estimate 500 steps but you could also open your eyes and watch street signs to keep an idea of where you actually are until you actually see the one you want. Adding raid to this would be having another dude in another city doing what you do... different city, different size blocks, and his steps are different length.
 
Last edited:
There are so many problems any one of which is close to impossible to solve much less all of them. The only way these problems are by passed in modern drives is just acknowledging there is no way to know where any single track is at at any given time. The only way to get to it is by constantly comparing where you are at which where you want to be. Eventually you will get there.
Then for that matter, today's drives sure do a darn good job of aligning themselves. o_O

Though why is it that over time the performance of HDDs decreases? Not enough electricity, or..?
 
While in theory it is a good idea, putting something like that into actual use would be next to impossible.

Honestly in a year or two I doubt spinning disk will be used for performance applications.
I think spinning disk will be used for cheap consumer desktops, and high capacity storage.
I think even then well be seeing low end SSD's in our some of our low-end, and your average desktops.
Thats just the way technology is moving.
 
Back
Top