# US 7,613,683 B2 · System and method for retrieving information from a database

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

- Number: US 7,613,683 B2
- Document ID: US7613683B2
- Status: Granted
- Kind: B2
- Application number: 11/684,255
- Filed: 2007-03-09
- Published: 2007-08-09
- Granted: 2009-11-03
- Earliest claimed: 2007-03-09
- Assignees: Teradata US, Inc.
- Inventors: Bhashyam Ramesh; Steven B. Cohen; John R. Catozzi
- Web page: https://patentgrep.com/patent/US7613683B2

## CPC

- G06F 16/24552: {Database cache management}
- Y10S 707/99931: Database or file accessing
- Y10S 707/99932: Access augmentation or optimizing
- Y10S 707/99936: Pattern matching access
- Y10S 707/99942: Manipulating data structure, e.g. compression, compaction, compilation
- Y10S 707/99943: Generating database or data structure, e.g. via user interface
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A method for retrieving information from a database includes identifying a cylinder. The cylinder includes a plurality of data segments. The method also includes retrieving the plurality of data segments from the cylinder during a single retrieval operation. In addition, the method includes storing the plurality of data segments in a cache.

## Claims

### Claim 1

A method for retrieving information from a database, the method comprising:
identifying a first cylinder comprising a plurality of data segments associated with a scan of one or more database tables;
retrieving the plurality of data segments from the first cylinder during a single retrieval operation;
determining if any one of a plurality of slots in a cache is storing a second cylinder associated with the scan of the one or more tables and if so using the slot to store the first cylinder;
determining if any of the slots are releasable when none of the slots are storing a second cylinder associated with the scan of the one or more tables and if so using a releasable slot as the slot for the first cylinder; and
loading the plurality of data segments individually if no slot for the first cylinder is found.

### Claim 2

A system for retrieving information from a database, the system comprising:
at least one computer readable medium; and
logic encoded on the at least one computer readable medium, the logic operable when executed to:
identify a first cylinder comprising a plurality of data segments associated with a scan of one or more database tables;
retrieve the plurality of data segments from the first cylinder during a single retrieval operation;
determine if any one of a plurality of slots in a cache is storing a second cylinder associated with the scan of the one or more tables and if so use the slot to store the first cylinder;
determine if any of the slots are releasable when none of the slots are storing a second cylinder associated with the scan of the one or more tables and if so use a releasable slot as the slot for the first cylinder; and
load the plurality of data segments individually if no slot for the first cylinder is found.

### Claim 3

A system for retrieving information from a database, the system comprising:
a memory comprising a plurality of slots, each slot operable to store at least a portion of one of a plurality of cylinders; and
one or more processors collectively operable to:
identify a first cylinder comprising a plurality of data segments associated with a scan of one or more database tables;
retrieve the plurality of data segments from the first cylinder during a single retrieval operation;
determine if any slot is storing a second cylinder associated with the scan of the one or more tables and if so use the slot to store the first cylinder;
determine if any of the slots are releasable when none of the slots are storing a second cylinder associated with the scan of the one or more tables and if so use a releasable slot as the slot for the first cylinder; and
load the plurality of data segments individually if no slot for the first cylinder is found.
