Patent ID: 7080200

Claim:
A hard disk drive (HDD) comprising: At least one storage disk; At least one data cache; and A drive controller accessing the disk and cache, the drive controller implementing logic to store at least some data on the disk in blocks having a first size in response to at least one write request received from a system using blocks having a second size smaller than the first size, the logic including: receiving at least one request to write data; identifying at least a starting block, and an ending block, associated with a version of the data on the disk, the starting and ending blocks having the first size, portions of the version of the data on the disk only partially filling the starting and ending blocks; determining whether at least the starting and ending blocks are present in the cache; and if the starting and ending blocks are present in the cache: writing new data associated with the request into at least one of the starting or ending blocks at least in cache to render at least one modified block; generating an error correction code (ECC) for the modified block; writing new data associated with the request at least into blocks between the starting and ending blocks, wherein if the starting and ending blocks are not present in the cache, the drive controller executes at least one of: a high data integrity routine, or a high performance routine, to fulfill the request to write data, and further wherein the drive controller is an ISF drive controller and the high performance routine executed by the ISF drive includes: determining whether at least one of: the starting block, or the ending block, is present in the cache; for each starting and/or ending ISF block present in the cache, writing new data to the block and then generating full multilevel ECC for the block; and for each starting and/or ending ISF block not present in the cache, generating only a first level ECC for the block.