Jump to content

Western Digital Caviar GP 2TB $99 + free shipping (today only)


Seven

Recommended Posts

That's only true if you plan on doing simultaneous rights. If you're only ever writing to one drive at a time, then having a faster parity than data drive gives no benefit at all. The parity drive should be "as fast as" your fastest data drive if you want performance.

Link to comment

That's only true if you plan on doing simultaneous rights. If you're only ever writing to one drive at a time, then having a faster parity than data drive gives no benefit at all. The parity drive should be "as fast as" your fastest data drive if you want performance.

 

That seems so counter intuitive.  Content is written to the data drive then read from the data drive and the parity drive...calculated... and written back to the parity drive.

It would seem to me that the longer the write to the parity drive takes the slower the process will be. 

 

Link to comment

It's intuitive if you understand what happens behind the scenes.

 

You're bound by the slowest drive. What is done on the parity disk is also done on the data disk in parallel.

 

I'll rehash this discussion once again, skipping the part where the drives heads have to wait for a full rotation to reposition the drive heads for writing. Steps 1A/1B and 4A/4B, the reading/writing of the data and parity are done in parallel.

 

1A. Read current Data Content from Data Drive

1B. Read current Parity Content from Parity Drive

 

2. Wait for steps 1A and 1B to finish.

 

3. XOR out current Data Content from current Parity Content; XOR in new Data Content to calculate new Parity Content

 

4A. Write current new Data Content to Data Drive

4B. Write current new Parity Content to Parity Drive

 

5. Wait for steps 4A and 4B to finish.

 

 

Link to comment

If you don't trust my words, here's the words of "Joe L." [ http://lime-technology.com/forum/index.php?topic=5831.msg55078#msg55078 ]

 

The operations involved in unRAID are:

 

A1) Read existing sector X from Data Drive

A2) Read existing sector X from Parity Drive

 

B) Calculate new parity checksum value to write

 

Rotate data drive disk platter a full revolution to position read/write head over sector X again for writing

Rotate parity drive disk platter a full revolution to position read/write head over sector X again for writing

 

C1) Write new sector to Data Drive

C2) Write new sector to Parity Drive

 

Rotate data drive disk platter a full revolution to position read/write head over sector X+1 for reading

Rotate parity drive disk platter a full revolution to position read/write head over sector X+1 for reading

 

Since the disks must rotate a full revolution between each read and subsequent write of a sector when writing to the array, the "bottleneck" is the time it takes to physically rotate the disk. 7200 RPM drives rotate 120 times per second.  5400 RPM drives rotate 90 times per second, they will therefore introduce a rotational delay of between 1/60th and 1/45th of a second per stripe involved. (two rotations to read/write a sector and position to read the next).  The slowest rotation speed disk involved dictates the overall speed you can write to the array. 

 

Finally, unRAID operates on contiguous sets of sectors, referred to as a "stripe"  A full "stripe" is read/written at a time. 

The stripe size is configured to be less than the size of an entire cylinder on a disk.  This is for efficiency, A stripe will contain many sectors.

Therefore, a "stripe" is read from both data and parity drives, parity calculated, the platters rotate to position the disk head to write the entire stripe, then the platters rotate to read the next stripe, etc...

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...