# US 7,610,541 B2 · Computer compressed memory system and method for storing and retrieving data in a processing system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,610,541 B2
- Document ID: US7610541B2
- Status: Granted
- Kind: B2
- Application number: 11/369,987
- Filed: 2006-03-08
- Published: 2007-09-27
- Granted: 2009-10-27
- Earliest claimed: 2006-03-08
- Assignees: International Business Machines Corporation
- Inventors: Robert Brett Tremaine; Peter A. Franaszek
- Web page: https://patentgrep.com/patent/US7610541B2

## CPC

- G06F 13/16: for access to memory bus (G06F13/28 takes precedence)
- G06F 12/0802: Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F 12/10: Address translation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer compressed memory system for storing and retrieving data in a processing system, includes a memory including at least one memory device for storing at least one of uncompressed data and compressed data, a compressor for encoding data blocks into smaller compressed data blocks for storage in the memory, a decompressor for reconstituting encoded data into original uncompressed data blocks, a memory controller for generating, receiving and responding to memory access requests from processing and input/output units and responsively controlling access to the memory from the compressor and the decompressor for storing and retrieving data, and a hardware priority filter associated with the memory controller for selecting specific memory access requests according to attributes and access type within prescribed rates and under specific conditions.

## Claims

### Claim 1

A computer compressed memory system for storing and retrieving data in a processing system, comprising:
a memory comprising at least one optical storage memory device for storing at least one of uncompressed data and compressed data;
a compressor for encoding data blocks into smaller units for storage in said memory;
a decompressor for reconstituting encoded data into original uncompressed data blocks;
a memory controller for generating, receiving and responding to memory access requests from processing and input/output units and responsively controlling access to said memory from said compressor and said decompressor for storing and retrieving data; and
a hardware priority filter associated with said memory controller for preferably selecting specific memory access requests according to attributes and access type within prescribed rates and under specific conditions.

### Claim 2 (depends on 1)

The system according to claim 1, wherein said memory access requests comprise at least a memory address, read or write type identification, and a request attribute.

### Claim 3 (depends on 2)

The system according to claim 2, wherein said attributes comprise a processor identification, a process identification, a thread identification, a protection mode, an input/output device identification, and a software programmed identification.

### Claim 4 (depends on 1)

The system according to claim 1, wherein said memory controller comprises:
means for detecting when a critical memory condition is present by having exceeded a prescribed threshold and for forwarding data relating to said critical memory condition to said hardware priority filter.

### Claim 5 (depends on 4)

The system according to claim 4, wherein said memory controller further comprises:
means for programming said prescribed threshold with a hysteresis.

### Claim 6 (depends on 4)

The system according to claim 4, wherein said memory controller further comprises:
means for determining when said critical memory condition exceeds thermal requirements, power consumption requirements, compressed memory pressure requirements and real-time response latency requirements.

### Claim 7 (depends on 1)

The system according to claim 1, further comprising:
means for detecting coherency conflicts between pending write requests and read requests between priority levels for having coherency requests services as a priority when a memory pressure condition is present and forwarding data related to said memory pressure condition to said hardware priority filter.

### Claim 8 (depends on 1)

The system according to claim 1, wherein said hardware priority filter comprises means for performing software configuration of said prescribed memory access rates, said specific conditions and said associated request attributes.

### Claim 9 (depends on 1)

The system according to claim 1, wherein said hardware priority filter comprises means for measuring a reference rate by number of references per unit of time and by number of references per total number of references per unit time.

### Claim 10 (depends on 1)

The system according to claim 1, wherein said hardware priority filter comprises means for measuring memory consumption rate per said request attributes for responsively selecting priority associated with said request attributes when memory pressure conditions are present.

### Claim 11

A computer compressed memory system for storing and retrieving data in a processing system, comprising:
a memory comprising at least one optical storage memory device for storing at least one of uncompressed data and compressed data;
a compressor for encoding data blocks into smaller units for storage in said memory;
a decompressor for reconstituting encoded data into original uncompressed data blocks;
a memory controller for generating, receiving and responding to memory access requests from processing and input/output units and responsively controlling access to said memory from said compressor and said decompressor for storing and retrieving data; and
a hardware priority filter associated with said memory controller for preferably selecting specific memory access requests according to attributes and access type within prescribed rates and under specific conditions, said hardware priority filter comprising:
means for performing software configuration of said prescribed memory access rates, said specific conditions and said associated request attributes;
means for measuring a reference rate by number of references per unit of time and by number of references per total number of references per unit time; and
means for measuring memory consumption rate per said request attributes for responsively selecting priority associated with said request attributes when memory pressure conditions are present,
wherein said memory controller comprising:
means for detecting when a critical memory condition is present by having exceeded a prescribed threshold and for forwarding data relating to said critical memory condition to said hardware priority filter;
means for programming said prescribed threshold with a hysteresis; and
means for detecting coherency conflicts between pending write requests and read requests between priority levels for having coherency requests services as a priority when a memory pressure condition is present and forwarding data related to said memory pressure condition to said hardware priority filter.

### Claim 12

A computer-implemented method of regulating, with a hardware filter, memory access requests to insure quality of service during memory pressure, the computer comprising a processor for performing the method of regulating, the method comprising:
selecting memory access requests associated with at least one of a processor supervisor mode and other attributes associated with the memory access requests;
selecting memory requests that do not increase memory pressure;
selecting memory write requests with a coherency conflict with a pending memory access request; and
selecting memory access requests with a delay timer reset.

### Claim 13 (depends on 12)

The method according to claim 12, further comprising:
storing at least one of uncompressed data and compressed data in a memory comprising at least one memory device;
encoding, by use of a compressor, data blocks into smaller compressed data blocks for storage in said memory;
reconstituting, by use of a decompressor, encoded data into original uncompressed data blocks;
generating, receiving and responding to memory access requests from processing and input/output units and responsively controlling access to said memory from said compressor and said decompressor for storing and retrieving data; and
selecting, through use of said hardware priority filter, specific memory access requests according to attributes and access type within prescribed rates and under specific conditions.

### Claim 14

A computer memory system for storing and retrieving data in a processing system, comprising:
a memory comprising a plurality of optical storage memory devices for storing data;
a memory controller for generating, receiving and responding to memory access requests; and
a hardware priority filter associated with said memory controller for preferably selecting specific memory access requests according to attributes and access type within prescribed memory access rates and under specific conditions.

### Claim 15 (depends on 14)

The system according to claim 14, wherein said hardware priority filter comprises means for performing software configuration of said prescribed memory access rates, said specific conditions and said associated request attributes.

### Claim 16 (depends on 14)

The system according to claim 14, wherein said hardware priority filter comprises means for measuring a reference rate by number of references per unit of time and by number of references per total number of references per unit time.

### Claim 17 (depends on 14)

The system according to claim 14, wherein said hardware priority filter comprises means for measuring memory consumption rate per said request attributes for responsively selecting priority associated with said request attributes when memory pressure conditions are present.
