Our current methods of disk partitioning involve storing the partition layout on the disk itself, right along with the data.
It's easy to screw up the data in a disk : just wipe out the partition data. GPT fixes this somewhat, but the data of how it's partitioned is still sitting next to the data.
Can we not store the partition table in a flash memory chip on disk, in an Out of Band(OoB) manner? Provide an ATA command to query partitions, and to seek a specific sector in a specific partition, which the drive controller can translate to disk-absolute sector numbers and addresses. Compatibility would not be a problem : the disk would switch into partitioned mode using a specific command. Else it would just spoof the relevant sectors for the partition table, or better, it'll use current way of storing table with data. This way, protection for writing to partition table info can be achieved...
UPDATE
PROPOSAL :
- Store Partition table AND partition table querying code ON disk in a tiny flash chip.
- Reading through usual ATA commands.
- Modifying partition table requires new ATA commands
- Writing a new scheme of partitioning requires other new commands.
- Compatibility layer for seamless operation with non-OoB-partitioning-aware systems.
BENEFITS :
- GPT uses a maximum of 34 sectors twice on 512 byte sectors. 34KB.
- Reduces risk of overwriting or losing partition data
- Disk can be partitioned in ANY WAY : the ATA commands will take care, using routines stored
- Makes disks a lot more portable, OS not required to bother about it
- Standard methods to write to flash, both for modifying, and flashing new partitioning schemes
No comments:
Post a Comment