Storing row-major data with an affinity for columns
First Claim
Patent Images
1. A method comprising:
- receiving a block of data that is in row-major format;
wherein the block includes values for a particular column, and values for one or more other columns;
in response to receiving the block, dividing and storing the block across a plurality of storage locations such that sequential values of the particular column are stored sequentially at a particular storage location of the plurality of storage locations, and sequential values for the one or more other columns are stored sequentially at one or more other storage locations of the plurality of storage locations;
storing a mapping that maps the particular column to the particular storage location and the one or more other columns to the one or more other storage locations; and
wherein the method is performed by one or more computing devices.
0 Assignments
0 Petitions
Accused Products
Abstract
A method, device, and computer readable medium for striping rows of data across logical units of storage with an affinity for columns is provided. Alternately, a method, device, and computer readable medium for striping columns of data across logical units of storage with an affinity for rows is provided. When data of a logical slice is requested, a mapping may provide information for determining which logical unit is likely to store the logical slice. In one embodiment, data is retrieved from logical units that are predicted to store the logical slice. In another embodiment, data is retrieved from several logical units, and the data not mapped to the logical unit is removed from the retrieved data.
86 Citations
28 Claims
-
1. A method comprising:
-
receiving a block of data that is in row-major format; wherein the block includes values for a particular column, and values for one or more other columns; in response to receiving the block, dividing and storing the block across a plurality of storage locations such that sequential values of the particular column are stored sequentially at a particular storage location of the plurality of storage locations, and sequential values for the one or more other columns are stored sequentially at one or more other storage locations of the plurality of storage locations; storing a mapping that maps the particular column to the particular storage location and the one or more other columns to the one or more other storage locations; and wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. One or more non-transitory computer-readable storage media storing instructions, which, when executed, cause:
-
receiving a block of data that is in row-major format; wherein the block includes values for a particular column, and values for one or more other columns; in response to receiving the block, dividing and storing the block across a plurality of storage locations such that sequential values of the particular column are stored sequentially at a particular storage location of the plurality of storage locations, and sequential values for the one or more other columns are stored sequentially at one or more other storage locations of the plurality of storage locations; storing a mapping that maps the particular column to the particular storage location and the one or more other columns to the one or more other storage locations. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification