IP Library Granted Patent US 8,285,965
Granted Patent B2
US 8,285,965 · App. 12/623,370 · Granted Oct 9, 2012

Aligning data storage device partition to boundary of physical data sector

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,285,965
App. No.
12/623,370
Granted
Oct 9, 2012
Kind
B2
Abstract

A method of aligning a partition of a data storage device to a boundary of a physical data sector is disclosed. The data storage device comprises a non-volatile memory comprising a plurality of physical data sectors, wherein each physical data sector comprises a plurality of logical data sectors. A partition map is read from the non-volatile memory, wherein the partition map identifies a partition comprising a number of logical data sectors. A number of logical data sectors in each physical data sector is determined. Whether at least part of the partition aligns with a boundary of a physical data sector is determined. When at least part of the partition does not align with a boundary of a physical data sector, at least part of the partition is moved to align at least part of the partition to a boundary of a physical data sector.

Claims (59)

1. A method of aligning a partition of a data storage device to a boundary of a physical data sector, the data storage device comprising a non-volatile memory comprising a plurality of physical data sectors, wherein each physical data sector comprises a plurality of logical data sectors, the method comprising:

reading a partition map from the non-volatile memory, wherein the partition map identifies at least one partition comprising a number of logical data sectors;

determining a number of logical data sectors in each physical data sector;

determining whether at least part of the partition aligns with a boundary of a physical data sector; and

when at least part of the partition does not align with a boundary of a physical data sector, moving at least part of the partition to align at least part of the partition to a boundary of a physical data sector.

2. The method as recited in claim 1 , wherein at least part of the partition is moved backward by at least one logical data sector.

3. The method as recited in claim 1 , wherein at least part of the partition is moved forward by at least one logical data sector.

4. The method as recited in claim 1 , wherein when at least part of the partition does not align with a boundary of a physical data sector, further comprising changing the number of logical data sectors in the partition.

5. The method as recited in claim 1 , further comprising updating the partition map to reflect the modification to the partition.

6. The method as recited in claim 1 , further comprising maintaining a log file for tracking a state of moving at least part of the partition.

7. The method as recited in claim 1 , wherein the partition comprises a file system.

8. The method as recited in claim 7 , further comprising modifying system data to disable host access to the file system.

9. The method as recited in claim 7 , wherein moving at least part of the partition comprises:

copying a block of the partition;

moving the block of the partition; and

updating the file system to reflect the moved block.

10. The method as recited in claim 9 , further comprising skipping blocks which are unused by the file system.

11. The method as recited in claim 6 , wherein if the step of moving is interrupted, further comprising reading status information from the log file to resume the step of moving.

12. The method as recited in claim 9 , wherein if the step of moving is interrupted, further comprising reading the copy of the block to resume the step of moving.

13. The method as recited in claim 1 , wherein:

the partition comprises file data; and

the step of moving at least part of the partition comprises moving at least part of the file data within the partition.

14. The method as recited in claim 13 , wherein:

the file data is accessed in clusters; and

the step of moving at least part of the file data comprises moving at least one cluster.

15. The method as recited in claim 7 , further comprising updating the file system to reflect moving at least part of the partition.

16. The method as recited in claim 7 , wherein the step of moving at least part of the partition comprises moving an element of the file system.

17. A system comprising control circuitry operable align a partition of a data storage device to a boundary of a physical data sector, wherein the data storage device comprises a non-volatile memory comprising a plurality of physical data sectors, and each physical data sector comprises a plurality of logical data sectors, the control circuitry operable to perform the steps of:

reading a partition map from the non-volatile memory, wherein the partition map identifies at least one partition comprising a number of logical data sectors;

determining a number of logical data sectors in each physical data sector;

determining whether at least part of the partition aligns with a boundary of a physical data sector; and

when at least part of the partition does not align with a boundary of a physical data sector, moving at least part of the partition to align at least part of the partition to a boundary of a physical data sector.

18. The system as recited in claim 17 , wherein at least part of the partition is moved backward by at least one logical data sector.

19. The system as recited in claim 17 , wherein at least part of the partition is moved forward by at least one logical data sector.

20. The system as recited in claim 17 , wherein when at least part of the partition does not align with a boundary of a physical data sector, the control circuitry operable to perform the step of changing the number of logical data sectors in the partition.

21. The system as recited in claim 17 , wherein the control circuitry operable to perform the step of updating the partition map to reflect the modification to the partition.

22. The system as recited in claim 17 , wherein the control circuitry operable to perform the step of maintaining a log file for tracking a state of moving at least part of the partition.

23. The system as recited in claim 17 , wherein the partition comprises a file system.

24. The system as recited in claim 23 , wherein the control circuitry operable to perform the step of modifying system data to disable host access to the file system.

25. The system as recited in claim 23 , wherein moving at least part of the partition comprises:

copying a block of the partition;

moving the block of the partition; and

updating the file system to reflect the moved block.

26. The system as recited in claim 25 , wherein the control circuitry operable to perform the step of skipping blocks which are unused by the file system.

27. The system as recited in claim 22 , wherein if the step of moving is interrupted, the control circuitry operable to perform the step of reading status information from the log file to resume the step of moving.

28. The system as recited in claim 25 , wherein if the step of moving is interrupted, the control circuitry operable to perform the step of reading the copy of the block to resume the step of moving.

29. The system as recited in claim 17 , wherein:

the partition comprises file data; and

the step of moving at least part of the partition comprises moving at least part of the file data within the partition.

30. The system as recited in claim 29 , wherein:

the file data is accessed in clusters; and

the step of moving at least part of the file data comprises moving at least one cluster.

31. The system as recited in claim 23 , wherein the control circuitry operable to perform the step of updating the file system to reflect moving at least part of the partition.

32. The system as recited in claim 23 , wherein the step of moving at least part of the partition comprises moving an element of the file system.

33. A computer readable medium for storing code segments of a program for aligning a partition of a data storage device to a boundary of a physical data sector, the data storage device comprising a non-volatile memory comprising a plurality of physical data sectors, wherein each physical data sector comprises a plurality of logical data sectors, the code segments operable to perform the steps of:

reading a partition map from the non-volatile memory, wherein the partition map identifies at least one partition comprising a number of logical data sectors;

determining a number of logical data sectors in each physical data sector;

determining whether at least part of the partition aligns with a boundary of a physical data sector; and

when at least part of the partition does not align with a boundary of a physical data sector, moving at least part of the partition to align at least part of the partition to a boundary of a physical data sector.

Assignments (8)
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 038744/0481 →
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 038722/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2010
From: KARR, CHRISTOPHER P.; DEFFENBAUGH, THEODORE E.; YOGI, TODD D.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 023867/0136 →