IP Library Granted Patent US 8,661,193
Granted Patent B1
US 8,661,193 · App. 12/960,386 · Granted Feb 25, 2014

Disk drive with partial sector management

Inventors: Bret E. Cobos (Trabuco Canyon, CA); Sang Huynh (Yorba Linda, CA)
Assignee: Western Digital Technologies, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,661,193
App. No.
12/960,386
Granted
Feb 25, 2014
Kind
B1
Abstract

A disk drive is disclosed comprising a disk having a host addressable area and a reserved area, an exception table stored in the reserved area, a head actuated radially over the disk to write data to the disk, and control circuitry coupled to the head. The control circuitry receives a first command from the host to write first host data into a first physical sector on the disk, wherein the first host data comprises an amount of data less than a full storage capacity of the first physical sector. The control circuitry detects an uncorrectable error while reading the first physical sector during read-modify-write operation, and indicates in the exception table that the first physical sector is a partial sector including valid and invalid logical block addresses (LBAs).

Claims (124)

1. A disk drive comprising:

a disk comprising a host addressable area and a reserved area, the host addressable area comprising a plurality of physical sectors, each physical sector associated with a plurality of logical block addresses (LBAs);

an exception table stored in the reserved area;

a head actuated radially over the disk to write data to the disk; and

control circuitry coupled to the head, the control circuitry operable to:

receive a first command from the host to write first host data into a first physical sector on the disk, wherein the first host data comprises an amount of data less than a full storage capacity of the first physical sector;

detect an uncorrectable error while reading the first physical sector during a read-modify-write operation; and

when an uncorrectable error is detected, indicate in the exception table that the first physical sector is a partial sector including valid and invalid LBAs, wherein the valid LBAs correspond to valid host data, and the invalid LBAs correspond to invalid host data.

2. The disk drive as recited in claim 1 , wherein the control circuitry is further operable to:

create a partial sector bit map in the exception table indicating that each LBA in the first physical sector is invalid;

write the exception table into the reserved area of the disk;

modify the partial sector bit map to identify each LBA in the first physical sector as invalid or valid;

write the first host data and first fill data into the first physical sector;

update the exception table with the modified partial sector bit map; and

write the exception table into the reserved area of the disk.

3. The disk drive as recited in claim 2 , wherein the control circuitry is further operable to:

receive a second command from the host to write second host data into the first physical sector on the disk;

check the exception table to determine that the first physical sector is a partial sector;

read the first physical sector and determine that the second host data corresponds to only one or more invalid LBAs in the first physical sector;

update the modified partial sector bit map in the exception table to identify the one or more invalid LBAs as valid;

write the second host data and second fill data into the first physical sector; and

write the exception table into the reserved area of the disk.

4. The disk drive as recited in claim 2 , wherein the control circuitry is further operable to:

receive a second command from the host to write second host data into the first physical sector on the disk;

check the exception table to determine that the first physical sector is a partial sector;

read the first physical sector and determine that the second host data corresponds to only one or more valid LBAs in the first physical sector; and

write the second host data and second fill data into the first physical sector.

5. The disk drive as recited in claim 2 , wherein the control circuitry is further operable to:

receive a second command from the host to write second host data into the first physical sector on the disk;

check the exception table to determine that the first physical sector is a partial sector;

read the first physical sector and determine that the second host data corresponds to one or more valid LBAs and one or more invalid LBAs in the first physical sector;

update the modified partial sector bit map in the exception table to identify the one or more invalid LBAs as valid;

write the second host data and second fill data into the first physical sector; and

write the exception table into the reserved area of the disk.

6. The disk drive as recited in claim 2 , wherein the control circuitry is further operable to:

receive a second command from the host to write second host data into the first physical sector on the disk;

check the exception table to determine that the first physical sector is a partial sector and that the second host data corresponds to all valid and invalid LBAs in the first physical sector;

write the second host data into the first physical sector; and

delete, in the exception table, the indication that the first physical sector is a partial sector and the modified partial sector bit map.

7. The disk drive as recited in claim 2 , wherein the control circuitry is further operable to:

receive a second command from the host requesting data in the first physical sector on the disk;

check the exception table to determine that the first physical sector is a partial sector and that the host requested data corresponds to only one or more invalid LBAs in the first physical sector; and

send an unrecoverable read error to the host.

8. The disk drive as recited in claim 2 , wherein the control circuitry is further operable to:

receive a second command from the host requesting data in the first physical sector on the disk;

check the exception table to determine that the first physical sector is a partial sector and that a first portion of the host requested data corresponds to one or more valid LBAs in the first physical sector and a second portion of the host requested data corresponds to one or more invalid LBAs in the first physical sector;

read the first physical sector and transfer the first portion of the host requested data to the host; and

send an unrecoverable read error to the host corresponding to the second portion of the host requested data.

9. The disk drive as recited in claim 2 , wherein the control circuitry is further operable to:

receive a second command from the host requesting data in the first physical sector on the disk;

check the exception table to determine that the first physical sector is a partial sector and that the host requested data corresponds to only one or more valid LBAs in the first physical sector; and

read the first physical sector and transfer the host requested data to the host.

10. The disk drive as recited in claim 2 , wherein the control circuitry is further operable to:

receive a second command from the host requesting data in a second physical sector on the disk;

check the exception table to determine that the second physical sector is not a partial sector; and

read the second physical sector and transfer the host requested data to the host.

11. The disk drive as recited in claim 1 , wherein the control circuitry is further operable to:

create a partial sector bit map indicating that each LBA in the first physical sector is invalid;

write the exception table and the partial sector bit map into the reserved area of the disk;

modify the partial sector bit map to identify each LBA in the first physical sector as invalid or valid;

write the first host data and first fill data into the first physical sector; and

write the modified partial sector bit map to the disk.

12. The disk drive as recited in claim 1 , wherein each LBA in the first physical sector has a 512 byte size and the first physical sector has a 4 kilobyte size.

13. The disk drive as recited in claim 1 , wherein the uncorrectable error is an uncorrectable error correcting code (ECC) error.

14. A method of operating a disk drive, the disk drive comprising a disk, the disk comprising a host addressable area and a reserved area, the host addressable area comprising a plurality of physical sectors, each physical sector associated with a plurality of LBAs, an exception table stored in the reserved area, a head actuated radially over the disk to write data to the disk, the method comprising:

receiving a first command from the host to write first host data into a first physical sector on the disk, wherein the first host data comprises an amount of data less than a full storage capacity of the first physical sector;

detecting an uncorrectable error while reading the first physical sector during a read-modify-write operation; and

when an uncorrectable error is detected, indicating in the exception table that the first physical sector is a partial sector including valid and invalid LBAs, wherein the valid LBAs correspond to valid host data, and the invalid LBAs correspond to invalid host data.

15. The method as recited in claim 14 , further comprising:

creating a partial sector bit map in the exception table indicating that each LBA in the first physical sector is invalid;

writing the exception table into the reserved area of the disk;

modifying the partial sector bit map to identify each LBA in the first physical sector as invalid or valid;

writing the first host data and first fill data into the first physical sector;

updating the exception table with the modified partial sector bit map; and

writing the exception table into the reserved area of the disk.

16. The method as recited in claim 15 , further comprising:

receiving a second command from the host to write second host data into the first physical sector on the disk;

checking the exception table to determine that the first physical sector is a partial sector;

reading the first physical sector and determining that the second host data corresponds to only one or more invalid LBAs in the first physical sector;

updating the modified partial sector bit map in the exception table to identify the one or more invalid LBAs as valid;

writing the second host data and second fill data into the first physical sector; and

writing the exception table into the reserved area of the disk.

17. The method as recited in claim 15 , further comprising:

receiving a second command from the host to write second host data into the first physical sector on the disk;

checking the exception table to determine that the first physical sector is a partial sector;

reading the first physical sector and determining that the second host data corresponds to only one or more valid LBAs in the first physical sector; and

writing the second host data and second fill data into the first physical sector.

18. The method as recited in claim 15 , further comprising:

receiving a second command from the host to write second host data into the first physical sector on the disk;

checking the exception table to determine that the first physical sector is a partial sector;

reading the first physical sector and determining that the second host data corresponds to one or more valid LBAs and one or more invalid LBAs in the first physical sector;

updating the modified partial sector bit map in the exception table to identify the one or more invalid LBAs as valid;

writing the second host data and second fill data into the first physical sector; and

writing the exception table into the reserved area of the disk.

19. The method as recited in claim 15 , further comprising:

receiving a second command from the host to write second host data into the first physical sector on the disk;

checking the exception table to determine that the first physical sector is a partial sector and that the second host data corresponds to all valid and invalid LBAs in the first physical sector;

writing the second host data into the first physical sector; and

deleting, in the exception table, the indication that the first physical sector is a partial sector and the modified partial sector bit map.

20. The method as recited in claim 15 , further comprising:

receiving a second command from the host requesting data in the first physical sector on the disk;

checking the exception table to determine that the first physical sector is a partial sector and that the host requested data corresponds to only one or more invalid LBAs in the first physical sector; and

sending an unrecoverable read error to the host.

21. The method as recited in claim 15 , further comprising:

receiving a second command from the host requesting data in the first physical sector on the disk;

checking the exception table to determine that the first physical sector is a partial sector and that a first portion of the host requested data corresponds to one or more valid LBAs in the first physical sector and a second portion of the host requested data corresponds one or more invalid LBAs in the first physical sector;

reading the first physical sector and transferring the first portion of the host requested data to the host; and

sending an unrecoverable read error to the host corresponding to the second portion of the host requested data.

22. The method as recited in claim 15 , further comprising:

receiving a second command from the host requesting data in the first physical sector on the disk;

checking the exception table to determine that the first physical sector is a partial sector and that the host requested data corresponds to only one or more valid LBAs in the first physical sector; and

reading the first physical sector and transferring the host requested data to the host.

23. The method as recited in claim 15 , further comprising:

receiving a second command from the host requesting data in a second physical sector on the disk;

checking the exception table to determine that the second physical sector is not a partial sector; and

reading the second physical sector and transferring the host requested data to the host.

24. The method as recited in claim 14 , further comprising:

creating a partial sector bit map indicating that each LBA in the first physical sector is invalid;

writing the exception table and the partial sector bit map into the reserved area of the disk;

modifying the partial sector bit map to identify each LBA in the first physical sector as invalid or valid;

writing the first host data and first fill data into the first physical sector; and

writing the modified partial sector bit map to the disk.

25. The method as recited in claim 14 , wherein each LBA in the first physical sector has a 512 byte size and the first physical sector has a 4 kilobyte size.

26. The method as recited in claim 14 , wherein the uncorrectable error is an uncorrectable ECC error.

Assignments (6)
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2010
From: COBOS, BRET E.; HUYNH, SANG
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 025511/0801 →
Continuity (1)
Provisional Application 61408483 · Oct 29, 2010