Method and apparatus for using data compression as a means of increasing buffer bandwidth
First Claim
1. A method, usable in a computer system having host system memory, for increasing the data throughput performance of a memory controller, said memory controller being associated with controller memory, different from said host system memory, comprising:
- receiving data from a source;
compressing said data;
storing said data in said controller memory, wherein said controller memory is one of SDRAM, DRAM, SRAM or RAM;
reading said data from said memory;
decompressing said data; and
providing said data to a data consumer.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for increasing the bandwidth of a memory controller system are provided. According to the invention, data received at an interface of a memory controller system is compressed in the memory controller by a compression engine for storage in associated memory. The address of the data written to memory is maintained in a memory controller. When data is read from the memory for provision to an interface of the memory controller, the memory manager retrieves the data from memory and provides it to a decompression engine. The decompression engine restores the data to its original, uncompressed form. The data is then provided to the appropriate interface.
196 Citations
43 Claims
-
1. A method, usable in a computer system having host system memory, for increasing the data throughput performance of a memory controller, said memory controller being associated with controller memory, different from said host system memory, comprising:
-
receiving data from a source;
compressing said data;
storing said data in said controller memory, wherein said controller memory is one of SDRAM, DRAM, SRAM or RAM;
reading said data from said memory;
decompressing said data; and
providing said data to a data consumer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method, usable in a computer system having host system memory, for increasing disk drive controller data throughput, said disk drive controller including controller memory, the method comprising:
-
receiving uncompressed first data at a first interface;
compressing said uncompressed first data to form compressed first data;
writing said compressed first data to controller memory, said controller memory being different from said host system memory, wherein said controller memory is one of SDRAM, DRAM, SRAM or RAM;
reading said compressed first data from said controller memory;
uncompressing said compressed first data to recover said uncompressed first data; and
providing said uncompressed first data to at least one of said first interface and a second interface. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A memory controller having controller memory, usable in a computer system having host system memory, comprising:
-
a first interface having a first data bandwidth;
a second interface having a second data bandwidth;
data compression circuitry;
said controller memory having a third data bandwidth; and
data decompression circuitry, wherein first data received at said first interface is compressed by said data compression circuitry for storage in said controller memory, wherein said controller memory is one of SDRAM, DRAM, SRAM or RAM, and wherein said first data read from said controller memory is decompressed by said data decompression circuitry prior to being provided to at least one of said first interface and said second interface. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method for providing a memory controller for a hard disk drive, comprising:
-
receiving first data at one of a first interface and a second interface;
compressing said first data;
after said step of compressing said first data, writing said compressed first data to memory;
reading said compressed first data from memory;
after said step of reading said first data, decompressing said compressed data;
providing said uncompressed first data to at least one of said first interface and said second interface;
receiving second data at one of said first interface and said second interface;
compressing at least a first portion of said second data, wherein said step of compressing results in an expansion of said data;
after said step of compressing at least a first portion of said second data, writing at least a second portion of said second data to said memory without compressing said at least a second portion of said second data;
providing said at least a second portion of said second data to at least one of said first interface and said second interface. - View Dependent Claims (40, 41, 42, 43)
-
Specification