Patent ID: 7836247

Claim:
A method in a hard disk drive, which includes a disk drive controller and physical storage media, for permitting access to said hard disk drive while said storage media is being formatted, a plurality of logical block addresses being stored in said storage media, said plurality of logical block addresses including a plurality of usable logical block addresses and a plurality of defective logical block addresses, said method comprising: receiving, by said disk drive controller from a host, a format command to execute a format process to format said storage media; reading, by said disk drive controller, a list of said plurality of defective logical block addresses, said list of said plurality of defective logical block addresses being stored within said disk drive controller; building, by said disk drive controller, a track layout table that makes said plurality of usable logical block addresses sequential and skips over said plurality of defective logical block addresses, said track layout table being stored within said disk drive controller; after said track layout table has been built, returning, by said disk drive controller, a command complete response to said host before said format process has been completed and before said storage media has been formatted, said host waiting for said command complete response before said host transmits any read or write command to said hard disk drive; for each one of said plurality of usable logical block addresses, and for none of said plurality of defective logical block addresses: storing, within a write table that is stored in said disk drive controller, a first indicator that indicates whether or not said usable logical block address includes real data, real data being data that was written to said usable logical block address after said format process started executing and before said format process has been completed; and storing, within said write table, a second indicator that indicates whether or not said usable logical block address has been formatted, said usable logical block address being formatted when initialization data is written to said usable logical block address; first ones of said plurality of usable logical block addresses having a first indicator that indicates that said first ones of said plurality of usable logical block addresses include real data and a second indicator that indicates that said first ones of said plurality of usable logical block addresses have not been formatted, wherein said first ones of said plurality of usable logical block addresses include real data and have not been formatted; and using, by said disk drive controller, said write table to execute read and write commands transmitted to said hard disk drive from said host while said storage media is being formatted.