Dynamically-sizeable granule storage
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
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
writing the data blocks grouped into subsets of logical block addresses into one or more individual granules in a granule storage area of the data storage, wherein each granule is dynamically constrained to the subset of logical block addresses.
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 wherein at least one granule in the granule storage area is dynamically constrained to the same subset of logical block addresses as another granule.
5 . The method of claim 1 further comprising:
reading into the random access memory multiple individual granules recorded in the granule storage area of the data storage;
re-sorting the data blocks read from the multiple individual granules received in the random access memory according to another subset of logical block addresses; and
writing the re-sorted data blocks to a new granule in the granule storage area, wherein the new granule is constrained to the other subset of logical block addresses.
6 . The method of claim 1 further comprising:
reading into the random access memory multiple individual granules recorded in the granule storage area of the data storage; and
writing multiple data blocks of the multiple individual granules from the random access memory to a host device.
7 . The method of claim 1 further comprising:
reading into the random access memory multiple individual granules recorded in the granule storage area of the data storage;
re-sorting the data blocks read from the multiple individual granules received in the random access memory according to an LBA-to-PBA mapping; and
writing the re-sorted data blocks to an LBA-to-PBA-mapped region of a destination storage area.
8 . 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 the data blocks grouped into subsets of logical block addresses into one or more individually granules in a granule storage area of the data storage, wherein each granule is dynamically constrained to the subset of logical block addresses.
9 . The data storage system of claim 8 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.
10 . The data storage system of claim 8 further comprising:
a sorting module is further configured to sort the data blocks according to a subset of logical block addresses.
11 . The data storage system of claim 8 wherein more than one individually sorted granule in the granule storage area are dynamically constrained to the same subset of logical block addresses as another individually sorted granule.
12 . The data storage system of claim 8 wherein the storage controller is further configured to read into the random access memory 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 read from the individually-sorted granules received in the random access memory according to another subset of logical block addresses to be written to a new granule in the granule storage area, wherein the new granule is constrained to the other subset of logical block addresses.
13 . The data storage system of claim 8 wherein the storage controller is further configured to read into the random access memory 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 read from the individually-sorted granules received in the random access memory according to an LBA-to-PBA mapping to be written to a statically-mapped region of a destination storage area.
14 . One or more processor-readable storage media storing processor-readable instructions for performing a system-implemented process in a data storage system, the process comprising:
writing the data blocks grouped into subsets of logical block addresses into one or more individual granules in a granule storage area of the data storage, wherein each granule is dynamically constrained to the subset of logical block addresses.
15 . The one or more processor-readable storage media of claim 14 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.
16 . The one or more processor-readable storage media of claim 14 wherein the sorting operation comprises:
sorting the data blocks according to a subset of logical block addresses.
17 . The one or more processor-readable storage media of claim 14 wherein at least one granule in the granule storage area is dynamically constrained to the same subset of logical block addresses as another granule.
18 . The one or more processor-readable storage media of claim 14 , wherein the process comprises:
reading into the random access memory multiple individually-sorted granules recorded in the granule storage area of the data storage; re-sorting the data blocks read from the individually-sorted granules in the random access memory according to another subset of logical block addresses; and writing the individually-re-sorted data blocks to a new granule in the granule storage area, wherein the new granule is constrained to the other subset of logical block addresses.
19 . The one or more processor-readable storage media of claim 14 , wherein the process comprises:
reading into the random access memory multiple individually-sorted granules recorded in the granule storage area of the data storage; and writing the individually-re-sorted data block to a host device.
20 . The one or more processor-readable storage media of claim 14 , wherein the process comprises:
reading into the random access memory multiple individual granules recorded in the granule storage area of the data storage; re-sorting the data blocks read from the multiple individual granules received in the random access memory according to an LBA-to-PBA mapping; and writing the re-sorted data blocks to an LBA-to-PBA-mapped region of a destination storage area.Join the waitlist — get patent alerts
Track US2014281194A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.