Abstracting programmatic representation of data storage systems
First Claim
1. A data storage apparatus comprising:
- a plurality of physical data blocks, wherein ones of the plurality of physical data blocks have one or more fixed lengths;
a processing circuit on the data storage apparatus and coupled to the plurality of physical data blocks, the processing circuit configured to map subsets of the plurality of physical data blocks to corresponding variable-length data records, the variable-length data records including corresponding key-value pairs, the variable-length data records representing information stored on the subsets; and
an aggregation component configured to cluster the information stored on the subsets of the plurality of data blocks based on the corresponding key-value pairs.
2 Assignments
0 Petitions
Accused Products
Abstract
Providing for a paradigm shift in block-level abstraction for storage devices is described herein. At a block-level, storage is characterized as a variable size data record, rather than a fixed size sector. In some aspects, the variable size data record can comprise a variable binary key-data pair, for addressing and identifying a variable size block of data, and for dynamically specifying the size of such block in terms of data storage. By changing the key or data values, the location, identity or size of block-level storage can be modified. Data records can be passed to and from the storage device to facilitate operational commands over ranges of such records. Block-level data compression, space management and transactional operations are provided, mitigating a need of higher level systems to characterize underlying data storage for implementation of such operations.
-
Citations
20 Claims
-
1. A data storage apparatus comprising:
-
a plurality of physical data blocks, wherein ones of the plurality of physical data blocks have one or more fixed lengths; a processing circuit on the data storage apparatus and coupled to the plurality of physical data blocks, the processing circuit configured to map subsets of the plurality of physical data blocks to corresponding variable-length data records, the variable-length data records including corresponding key-value pairs, the variable-length data records representing information stored on the subsets; and an aggregation component configured to cluster the information stored on the subsets of the plurality of data blocks based on the corresponding key-value pairs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data storage device comprising:
-
a processing circuit on the data storage device coupled to a plurality of physical data blocks, ones of the plurality of physical data blocks having one or more fixed sizes, the processing circuit configured to determine a mapping of subsets of the plurality of physical data blocks corresponding to variable-sized data records, the variable-sized data records including corresponding key-value pairs, the variable-sized data records representing information stored on the subsets; and an atomic record component configured to; dynamically update the mapping based at least on changes to the corresponding key-value pairs of the variable-sized data records; and re-allocate, based on changes to at least some of the corresponding key-value pairs, at least some of the information to different ones of the subsets of the plurality of fixed-sized physical data blocks. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method comprising:
-
at a block layer of abstraction, mapping subsets of a plurality of physical data blocks of a storage device to corresponding variable-length data records, the variable-length data records including corresponding key-value pairs, the variable-length data records representing information stored on the subsets, the physical data blocks having one or more fixed lengths; clustering the information stored on the subsets of the plurality of physical data blocks based on corresponding key-value pairs at the block layer of abstraction; and at the block layer of abstraction, re-allocating at least some of the variable-length data records to different ones of the subsets of the plurality of physical data blocks based on changes in the corresponding key-value pairs of the variable-length data records. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification