Next: Failure Handling
Up: Design of TSS
Previous: cRAID5
The design of the integrated TSS device follows the RAID
device design framework in [2], upto the stripe level
I/O. After this level, the map table is used
and the corresponding RAID
device stripe I/O is then called.
Some issues in the design of integrated TSS device are:
- Initially all the stripes will be invalid. Whenever some READ/WRITE
happens to a particular stripe, it should move to RAID1 or RAID5 stripe
depending on the availability of the free stripes. If enough free stripes
are not available, then some victimization should be done to create the space.
- To promote from RAID5 to RAID1, a free stripe of different polarity
should be used. Otherwise, a failure of one disk will lead to the data loss.
- To avoid data inconsistency during promotion / victimization,
the changes have to be ordered. For example, during a RAID5
promotion, we have to find a suitable free stripe, copy the data,
change the mapping and then the type in the map table in this order.
- If there is no free stripe to victimize a RAID5 stripe to cRAID5, one
can victimize it onto the same stripe
itself. But this can lead to inconsistent data in case there is a
crash during such a victimization.
A similar situation arises when we promote cRAID5 stripe in the
same physical stripe. To avoid such situations, one stripe is marked
as reserved and used in above mentioned situations. Thus when
there is no other free stripe during a RAID5 victimization, we move the
compressed data to the reserved stripe, mark the stripe as
cRAID5 and then reclaim the previous physical stripe as the new reserved stripe, in this order.
Next: Failure Handling
Up: Design of TSS
Previous: cRAID5
2001-09-13