System for increasing utilization of storage media
First Claim
Patent Images
1. A storage system, comprising:
- a control element configured to;
identify buffer regions within a storage media that store groups of data in contiguous address locations;
identify blocks within the buffer regions that store subgroups of the data;
remap the data from the blocks of different buffer regions into a same one of the buffer regions or discard the data from the buffer regions according to utilization of the buffer regions;
identifying a number of used blocks in the buffer regions;
rank the different buffer regions according to the number of used blocks; and
combine blocks from different buffer regions together according to how the different buffer regions are ranked.
10 Assignments
0 Petitions
Accused Products
Abstract
A storage system creates an abstraction of flash Solid State Device (SSD) media allowing random write operations of arbitrary size by a user while performing large sequential write operations of a uniform size to an SSD array. This reduces the number of random write operations performed in the SSD array and as a result increases performance of the SSD array. A control element determines when blocks from different buffers should be combined together or discarded based on fragmentation and read activity. This optimization scheme increases memory capacity and improves memory utilization and performance.
64 Citations
4 Claims
-
1. A storage system, comprising:
-
a control element configured to; identify buffer regions within a storage media that store groups of data in contiguous address locations; identify blocks within the buffer regions that store subgroups of the data; remap the data from the blocks of different buffer regions into a same one of the buffer regions or discard the data from the buffer regions according to utilization of the buffer regions; identifying a number of used blocks in the buffer regions; rank the different buffer regions according to the number of used blocks; and combine blocks from different buffer regions together according to how the different buffer regions are ranked.
-
-
2. A storage system, comprising:
-
a control element configured to; identify buffer regions within a storage media that store groups of data in contiguous address locations; identify blocks within the buffer regions that store subgroups of the data; remap the data from the blocks of different buffer regions into a same one of the buffer regions or discard the data from the buffer regions according to utilization of the buffer regions; rank the different buffer regions according to read counts; and discard data from different buffer regions according to how the buffer regions are ranked wherein the control element is further configured to; discard data from the buffer regions that have zero read counts when the number of buffer regions currently being used in the storage media is below a first threshold; and discard data in the buffer regions data according to how the buffer regions are ranked when the number of buffers regions currently being used in the storage media is above the first threshold.
-
-
3. A method for operating an apparatus, comprising:
-
receiving different write operations directed to a storage array; accumulating data from the different write operations into a staging buffer; writing the data in the staging buffer into contiguous block regions within a same buffer region of a storage media; and creating buffer entries identifying physical addresses of the block regions within the buffer region; and storing the data from the write operations into the storage array; the method further comprising; identifying a number of buffer regions being utilized in the storage media; identifying a number of the buffer regions available for utilization in the storage media; invalidating data in the buffer regions according to the number of buffer regions being utilized and the number of the buffer regions available for utilization; and replacing the data invalidated in the buffer regions of the storage media with other data from the storage array.
-
-
4. A method for operating an apparatus, comprising:
-
receiving different write operations; accumulating data from the different write operations into a staging buffer; writing the data in the staging buffer into contiguous block regions within same buffer regions of a storage media; creating buffer entries identifying physical addresses of the block regions within the buffer regions; calculating a number of buffer regions used in the storage media; calculating a number of block regions used within the buffer regions; combining the data from the block regions of different buffer regions together into a same one of the buffer regions according to the number of buffer regions used in the storage media and the number of block regions used within the buffer regions.
-
Specification