Method and apparatus for sorting data blocks
First Claim
1. A method of compressing a source data block having a plurality of data values, whereby each data value within the source data block has a context, the method comprising:
- using the context to define a primary sort key of a fixed, predetermined length for each data value;
deriving a secondary sort key for each data value from the position of the data value within the source data block;
generating a sorted source data block, comprising;
sorting the data values according to the primary sort key; and
for data values whose primary sort key is the same, further sorting the data values according to the secondary sort key; and
compressing the sorted source data block into a compressed data block.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of sorting a block of data is provided which includes ordering a plurality of data values into a source data block. A non-unique sort order, based on a limited number of comparisons of the data values in the source data block, is established and, after the comparisons, a unique sort order of the data values based on position of the data values in the source data block is established. The method further includes restoring the source data block from the unique sort order. An apparatus for sorting a block of data is also provided, the apparatus including, inter alia, a first mechanism for calculating a non-unique sort order based on a limited number of equal comparisons of the data values in the source data block and a second mechanism for establishing, after the comparisons, a unique sort order of the data values based on position of the data values in the source data block. The apparatus further includes a third mechanism for restoring the source data block from the established sort order.
76 Citations
24 Claims
-
1. A method of compressing a source data block having a plurality of data values, whereby each data value within the source data block has a context, the method comprising:
-
using the context to define a primary sort key of a fixed, predetermined length for each data value;
deriving a secondary sort key for each data value from the position of the data value within the source data block;
generating a sorted source data block, comprising;
sorting the data values according to the primary sort key; and
for data values whose primary sort key is the same, further sorting the data values according to the secondary sort key; and
compressing the sorted source data block into a compressed data block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for and compressing a source data block having a plurality of data values, whereby each data value within the source data block has context, comprising:
-
a primary sort key of a fixed, predetermined length for each data value defined by the context;
a secondary sort key for each data value derived from the position of the data value within the source data block;
a sorter for creating a sorted source data block, the sorter comprising;
a primary sorter for sorting the data values according to the primary sort key;
for data values having identical primary sort keys, a secondary sorter for sorting the data values according to the secondary sort key; and
compressing the sorted source data block into a compressed data block. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An article of manufacture comprising:
-
a machine-readable medium;
a method stored in the machine-readable medium to compress a block of data, the method comprising;
using the context to define a primary sort key of a fixed, predetermined length for each data value;
deriving a secondary sort key for each data value from the position of the data value within the source data block;
generating a sorted source data block, comprising;
sorting the data values according to the primary sort key; and
for data values whose primary sort key is the same, sorting the data values according to the secondary sort key; and
compressing the sorted source data block into a compressed data block. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification