Data access for shingled magnetic recording media
First Claim
1. A method for performing pre-read and/or post-read operations in a disk drive in communication with a host, wherein the disk drive includes a data cache memory and at least one disk with a plurality of sectors for storing data, the method comprising:
- receiving a read command from the host requesting user data from a first sector of the plurality of sectors;
reading user data and parity data from a second sector of the plurality of sectors during a pre-read or post-read operation in performing the read command, wherein the second sector is adjacent the first sector on the at least one disk, and wherein the parity data can be used for error correction of the user data read from the second sector;
recovering a logical block address (LBA) for the user data read from the second sector using the parity data, wherein the LBA is not stored on the at least one disk with the user data; and
determining whether to store in the data cache memory the user data read from the second sector during the operation based on the recovered LBA for the user data read from the second sector.
8 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for facilitating pre-read and/or post-read operations of a disk drive. A write command is received including a logical block address (LBA) for user data in the write command. Parity data for correcting the user data is generated by encoding the LBA with the user data. The parity data is written on a disk of the disk drive with the user data so that the LBA can be recovered using the parity data when read from the disk. When a read command is received by the disk drive, requested user data is read from a first sector. User data and parity data is read from a second sector adjacent the first sector. The parity data is used to recover an LBA for the second sector and it is determined whether to store the user data read from the second sector based on the recovered LBA.
475 Citations
26 Claims
-
1. A method for performing pre-read and/or post-read operations in a disk drive in communication with a host, wherein the disk drive includes a data cache memory and at least one disk with a plurality of sectors for storing data, the method comprising:
-
receiving a read command from the host requesting user data from a first sector of the plurality of sectors; reading user data and parity data from a second sector of the plurality of sectors during a pre-read or post-read operation in performing the read command, wherein the second sector is adjacent the first sector on the at least one disk, and wherein the parity data can be used for error correction of the user data read from the second sector; recovering a logical block address (LBA) for the user data read from the second sector using the parity data, wherein the LBA is not stored on the at least one disk with the user data; and determining whether to store in the data cache memory the user data read from the second sector during the operation based on the recovered LBA for the user data read from the second sector. - View Dependent Claims (2, 3, 4, 5, 6, 7, 23, 24)
-
-
8. A method for writing data to at least one disk of a disk drive in communication with a host to facilitate pre-read and/or post-read operations in the disk drive, the method comprising:
-
receiving a write command from the host including a logical block address (LBA) for user data in the write command; generating parity data for error correction of the user data by encoding the LBA and the user data; writing the user data and the parity data on the at least one disk; wherein the LBA for the user data is not written to the at least one disk and can be recovered using the parity data when read from the at least one disk; and based on the recovered LBA, determining whether to store the user data in a data cache memory of the disk drive when the user data is read during a pre-read or post-read operation. - View Dependent Claims (9, 10, 11)
-
-
12. A disk drive in communication with a host, the disk drive comprising:
-
a data cache memory for storing data; at least one disk with a plurality of sectors for storing data; and a controller configured to; receive a read command from the host requesting user data from a first sector of the plurality of sectors; read user data and parity data from a second sector of the plurality of sectors during a pre-read or post-read operation in performing the read command, wherein the second sector is adjacent the first sector on the at least one disk, and wherein the parity data can be used for error correction of the user data read from the second sector; recover a logical block address (LBA) for the user data read from the second sector using the parity data, wherein the LBA is not stored on the at least one disk with the user data; and determine whether to store in the data cache memory the user data read from the second sector during the pre-read or post-read operation based on the recovered LBA for the user data read from the second sector. - View Dependent Claims (13, 14, 15, 16, 17, 18, 25, 26)
-
-
19. A disk drive in communication with a host, the disk drive comprising:
-
at least one disk for storing data; and a controller configured to; receive a write command from the host including a logical block address (LBA) for user data in the write command; generate parity data for error correction of the user data by encoding the LBA and the user data; write the user data and the parity data on the at least one disk; wherein the LBA for the user data is not written to the at least one disk and can be recovered using the parity data when read from the at least one disk; and based on the recovered LBA, determine whether to store the user data in a data cache memory of the disk drive when the user data is read during a pre-read or post-read operation. - View Dependent Claims (20, 21, 22)
-
Specification