IP Library Granted Patent US 8,015,352
Granted Patent B2
US 8,015,352 · App. 12/237,341 · Granted Sep 6, 2011

Disk drive storage defragmentation system

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,015,352
App. No.
12/237,341
Granted
Sep 6, 2011
Kind
B2
Abstract

The present invention provides a disk drive storage defragmentation system, comprising providing a cache buffer system coupled to a host system, coupling a disk drive storage system to the cache buffer system, performing a defragmentation process on the disk drive storage system utilizing the cache buffer system and servicing a data access request by the host system from the cache buffer system.

Claims (37)

1. A system comprising:

a cache buffer system coupled to a disk drive storage system configured to store data, wherein the cache buffer system is configured to select a fragment of the data in the disk drive storage system to rearrange based on at least one of a size of the fragment or a size of at least one available memory block adjacent to the fragment in the disk drive storage system, wherein the cache buffer system is configured to transfer the fragment to the cache buffer system to create a contiguous block of memory, and wherein the cache buffer system is configured to store the fragment of the data in the contiguous block of memory to defragment the disk drive storage system.

2. The system as claimed in claim 1 , wherein the cache buffer system is configured to maintain meta data to map a physical location of the data stored in the disk drive storage system, and wherein the cache buffer system is configured to utilize the meta data to minimize data movement between the cache buffer system and the disk drive storage system.

3. The system as claimed in claim 2 , wherein the cache buffer system comprises a meta data receiver to update physical location information in the meta data on data files in the disk drive storage system.

4. The system as claimed in claim 1 , wherein the cache buffer system is configured to receive a data access request from a host system, wherein the cache buffer system is configured to pause the defragmentation of the disk drive storage system responsive to the data access request.

5. The system as claimed in claim 1 , wherein the cache buffer system is configured to service data access requests by a host system during the defragmentation of the data in disk drive storage system.

6. The system as claimed in claim 1 , wherein the cache buffer system is configured to locate the fragment between multiple blocks of available memory in the disk drive storage system and to transfer the fragment to the cache buffer system.

7. The system as claimed in claim 6 , wherein the contiguous block of memory includes the multiple blocks of available memory in combination with the block of memory previously occupied by the fragment of the data transferred to the cache buffer system.

8. The claim as claimed in claim 6 , wherein the cache buffer system further comprises:

a cache manager in the cache buffer system to manage defragmentation of the disk drive storage system;

a write controller configured to control write operations of the disk drive storage system;

a read controller configured to control read operations of the disk drive storage system; and

a meta data receiver configured to update physical location information of files in the disk drive storage system.

9. The system as claimed in claim 6 , wherein the cache buffer system is configured to locate a different fragment in the disk drive storage system, wherein the different fragment is located adjacent to at least one of the multiple blocks of available memory in the disk drive storage system, and wherein the cache buffer system is configured to transfer the different fragment to the cache buffer system.

10. The system as claimed in claim 9 , wherein the contiguous block of memory includes the multiple blocks of available memory in combination with the blocks of memory previously occupied by both the fragment and the different fragment of the data.

11. A method comprising:

determining whether at least one storage device has a contiguous block of memory available to store data;

selecting a fragment of the data in the storage device to rearrange based on at least one of a size of the fragment or a size of at least one available memory block adjacent to the fragment in the storage device;

transferring the fragment to a cache buffer from the storage device to create the contiguous block of memory responsive to the determining; and

storing the fragment of the data to the contiguous block of memory in the storage device.

12. The method as claimed in claim 11 , wherein the selecting of the fragment comprises locating the fragment of the data between multiple blocks of available memory in the storage device, wherein the multiple blocks of available memory in combination with the block of memory previously occupied by the fragment of data are configured to create the contiguous block of memory.

13. The method as claimed in claim 11 , further comprising utilizing meta data to minimize data movement to and from the storage device, wherein the meta data is configured to map a physical location of the data stored in the storage device.

14. The method as claimed in claim 13 , further comprising updating the meta data to indicate the data is stored in the contiguous block of memory in the storage device responsive to storing the data to the contiguous block of memory in the storage device.

15. The method as claimed in claim 11 , further comprising:

receiving a request from a host system to access the storage device; and

pausing of the transferring of the fragment from the storage device to service the request for the host system.

16. A system comprising:

means for determining at least one storage device does not have a contiguous block of memory available to store data;

means for selecting a fragment of the data in the storage device to rearrange based on at least one of a size of the fragment or a size of at least one available memory block adjacent to the fragment in the storage device;

means for transferring the fragment to the system from the storage device to create the contiguous block of memory; and

means for storing the fragment of the data to the contiguous block of memory in the storage device.

17. The system as claimed in claim 16 , wherein the means for selecting of the fragment comprises means for locating the fragment of the data between multiple blocks of available memory in the storage device, wherein the multiple blocks of available memory in combination with the block of memory previously occupied by the fragment of data are configured to create the contiguous block of memory.

18. The system as claimed in claim 16 , further comprising means for utilizing meta data to minimize the data movement to and from the disk drive storage system, wherein the meta data is configured to map a physical location of the data stored in the storage device.

19. The system as claimed in claim 18 , further comprising means for updating the meta data to indicate the data is stored in the contiguous block of memory in the storage device.

20. The system as claimed in claim 16 , further comprising:

means for receiving a request from a host system to access the storage device; and

means for pausing of the means for transferring the fragment to the system to service the request for the host system.

Assignments (4)
MERGER Recorded Jul 5, 2013
From: SOFTWARE SITE APPLICATIONS, LIMITED LIABILITY COMPANY
To: INTELLECTUAL VENTURES I LLC
Reel/Frame 030744/0364 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2011
From: EXAVIO, INC.
To: EXAVIO (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 026842/0591 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF ASSIGNEE PREVIOUSLY RECORDED ON REEL 021585 FRAME 0035. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 1, 2011
From: EXAVIO LLC
To: SOFTWARE SITE APPLICATIONS, LIMITED LIABILITY COMPANY
Reel/Frame 026843/0316 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2011
From: ZHANG, JI; LIU, HAIN-CHING; DING, JIANGANG
To: EXAVIO, INC.
Reel/Frame 026351/0115 →