×

Memory controller including compression/decompression capabilities for improved data access

  • US 6,370,631 B1
  • Filed: 02/01/1999
  • Issued: 04/09/2002
  • Est. Priority Date: 11/16/1994
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for managing data accesses in a system including a CPU, a system memory for storing data, a memory controller coupled to the system memory, and a non-volatile memory coupled to the memory controller, wherein the memory controller performs memory control functions for the system memory, wherein the memory controller includes a hardware compression and decompression engine, the method comprising:

  • determining a replacement block of data in the system memory, wherein the system memory is a volatile memory which stores uncompressed data currently being used for execution by the CPU, wherein the uncompressed data includes most recently used data;

    the memory controller compressing said replacement block of data;

    the memory controller transferring said compressed replacement block to the non-volatile memory for storage after said compressing said replacement block of data;

    wherein said compressing said replacement block of data and transferring said compressed replacement block of data to the non-volatile memory operates to free up at least a portion of said system memory;

    the CPU requesting data from the system memory, wherein the requested data resides in the non-volatile memory and does not reside in the system memory;

    the memory controller receiving the request for data;

    the memory controller requesting the data from the non-volatile memory in response to the memory controller receiving the request for data and in response to the data not residing in the system memory, wherein the data comprises compressed data stored in the non-volatile memory in a compressed format;

    transferring the compressed data from the non-volatile memory to the memory controller in response to the memory controller requesting the data from the non-volatile memory, wherein the compressed data is transferred from the non-volatile memory to the memory controller in the compressed format;

    the memory controller decompressing the compressed data received from the non-volatile memory to produce uncompressed data; and

    the memory controller providing the uncompressed data to the CPU after the memory controller decompressing the compressed data.

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