×

Method and apparatus for storing compressed data

  • US 6,452,602 B1
  • Filed: 12/13/1999
  • Issued: 09/17/2002
  • Est. Priority Date: 12/13/1999
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for compressing data corresponding to a plurality of data blocks, wherein each of the plurality of data blocks includes a plurality of data values, comprising:

  • for each data block of the plurality of data blocks;

    compressing the data block using a compression scheme included in a set of predetermined compression schemes to produce a compressed data set of a size included in a set of predetermined sizes corresponding to the compression scheme;

    storing the compressed data set in a compressed data set memory, wherein the compressed data set is included in a selected group of compressed data sets in the compressed data set memory, wherein a plurality of groups of compressed data sets are stored in the compressed data set memory; and

    storing an encoded compression descriptor for the data block in a descriptor data set corresponding to the selected group, wherein the descriptor data set includes a base address value and a plurality of ordered encoded compression descriptors corresponding to compressed data sets included in the selected group, wherein ordering of the plurality of ordered encoded compression descriptors is based on storage order of the compressed data sets of the selected group in the compressed data set memory, wherein the descriptor data set is stored in a descriptor memory, wherein the encoded compression descriptor encodes the compression scheme and the size corresponding to the compressed data set;

    receiving an address corresponding to a first data block of the plurality of data blocks;

    determining a first group that includes a compressed data set corresponding to the first data block;

    fetching a descriptor data set corresponding to the first group from the descriptor memory;

    adding the base address value of the descriptor data set corresponding to the first group to size values for data blocks that precede the first data block in the first group as stored in the compressed data set memory to determine an address for the compressed data set corresponding to the first data block in the compressed data set memory, wherein the size values for data blocks that precede the first data block are determined by decoding the encoded compression descriptors corresponding to the data blocks that precede the first data block in the first group;

    fetching the compressed data set corresponding to the first data block from the compressed data set memory using the address for the compressed data set corresponding to the first data block in the compressed data set memory;

    determining the compression scheme corresponding to the compressed data set for the first data block from the encoded compression descriptor for the first data block; and

    decompressing the compressed data set for the first data block to produce data values for the first data block, wherein the decompressing is performed based on the compression scheme corresponding to the compressed data set for the first data block.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×