IP Library › Granted Patent US 9,384,793
Granted Patent B2
US 9,384,793 · App. 13/973,491 · Granted Jul 5, 2016

Dynamic granule-based intermediate storage

Inventors: Mark A. Gaertner (Vadnais Heights, MN); Brian Thomas Edgar (Minneapolis, MN)
Assignee: SEAGATE TECHNOLOGY LLC
G11C7/1012G06F3/0613G06F3/0659G06F3/0676G11C7/1072
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 9,384,793
App. No.
13/973,491
Granted
Jul 5, 2016
Kind
B2
Abstract

A data storage system includes data storage and random access memory. A sorting module is communicatively coupled to the random access memory and sorts data blocks of write data received in the random access memory of the data storage. A storage controller is communicatively coupled to the random access memory and the data storage and being configured to write the sorted data blocks into one or more individually-sorted granules in a granule storage area of the data storage, wherein each granule is dynamically constrained to a subset of logical block addresses. A method and processor-implemented process provide for sorting data blocks of write data received in random access memory of data storage. The method and processor-implemented process write the sorted data blocks into one or more individually-sorted granules in a granule storage area of the data storage, wherein each granule is dynamically constrained to a subset of logical block addresses.

Claims (43)

1. A method comprising:

writing data blocks from a host device and grouped as a sorted subset of logical block addresses into multiple individual granules in a granule storage area of data storage, wherein the multiple individual granules are recorded in a single shingled magnetic recording band and at least one granule in the granule storage area is dynamically constrained to store a same subset of logical block addresses as another granule.

2. The method of claim 1 further comprising:

dynamically mapping logical block addresses of the written data blocks to new physical block addresses in the granule storage area of the data storage.

3. The method of claim 1 further comprising:

sorting the data blocks according to a subset of logical block addresses.

4. The method of claim 1 further comprising:

receiving into random access memory data blocks from multiple individual granules recorded in the granule storage area of the data storage;

re-sorting the data blocks from the multiple individual granules received in the random access memory; and

writing the re-sorted data blocks to a granule in the granule storage area.

5. The method of claim 1 further comprising:

receiving into random access memory data blocks from multiple individual granules recorded in the granule storage area of the data storage; and

writing the data blocks of the multiple individual granules from the random access memory to a host device.

6. The method of claim 1 further comprising:

receiving into random access memory data blocks from multiple individual granules recorded in the granule storage area of the data storage;

writing the data blocks to an LBA-to-PBA-mapped region of a destination storage area.

7. A data storage system comprising:

data storage;

random access memory; and

a storage controller communicatively coupled to the random access memory and the data storage and being configured to write data blocks into multiple individual granules in a granule storage area of data storage, wherein the multiple individual granules are recorded in a single shingled magnetic recording band and at least one of the multiple individual granules is dynamically constrained to store a same subset of logical block addresses as another one of the multiple individual granules.

8. The data storage system of claim 7 wherein the storage controller is further configured to dynamically map logical block addresses of the written data blocks to new physical block addresses in the granule storage area of the data storage.

9. The data storage system of claim 7 further comprising:

a sorting module is further configured to sort the data blocks according to a subset of logical block addresses.

10. The data storage system of claim 7 wherein the storage controller is further configured to receive into random access memory data blocks from multiple individual granules recorded in the granule storage area of the data storage, and further comprising:

a sorting module configured to re-sort the data blocks from the individually-sorted granules received in the random access memory to be written to a granule in the granule storage area.

11. The data storage system of claim 7 wherein the storage controller is further configured to read into random access memory data blocks from multiple individual granules recorded in the granule storage area of the data storage, and further comprising:

a sorting module configured to write the data blocks from the individually-sorted granules received in the random access memory to a statically-mapped region of a destination storage area.

12. One or more processor-readable storage media storing processor-readable instructions for performing a system-implemented process in a data storage system, wherein the processor-readable storage media is not a carrier wave or propagating signal and the process further comprises:

writing data blocks from a host device as sorted subsets of logical block addresses into multiple individual granules in a granule storage area of data storage, wherein the multiple individual granules are recorded in a single shingled magnetic recording band and at least one of the multi s le individual ranules is d namicall constrained to store a same subset of to logical block addresses as another one of the multiple individual granules.

13. The one or more processor-readable storage media of claim 12 wherein the process further comprises:

dynamically mapping logical block addresses of the written data blocks to new physical block addresses in the granule storage area of the data storage.

14. The one or more processor-readable storage media of claim 12 wherein the sorting operation comprises:

sorting the data blocks according to a subset of logical block addresses.

15. The one or more processor-readable storage media of claim 12 , wherein the process comprises:

receiving into random access memory data blocks from multiple individually-sorted granules recorded in the granule storage area of the data storage;

re-sorting the data blocks from the individually-sorted granules in the random access memory; and

writing the re-sorted data blocks to a granule in the granule storage area.

16. The one or more processor-readable storage media of claim 12 , wherein the process comprises:

receiving into random access memory data blocks from multiple individually-sorted granules recorded in the granule storage area of the data storage; and

writing the data blocks of the multiple individually-sorted granules from the random access memory to a host device.

17. The one or more processor-readable storage media of claim 12 , wherein the process comprises:

receiving into random access memory data blocks from multiple individual granules recorded in the granule storage area of the data storage;

writing the data blocks to an LBA-to-PBA-mapped region of a destination storage area.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2013
From: GAERTNER, MARK A.; EDGAR, BRIAN THOMAS
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 031064/0005 →
Continuity (2)
Continuation 13839595 · Mar 15, 2013
Related Publication 20140281186A1 · Sep 18, 2014