# US 7,412,594 B2 · Method and apparatus for managing data access and storage of data located on multiple storage devices

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

- Number: US 7,412,594 B2
- Document ID: US7412594B2
- Status: Granted
- Kind: B2
- Application number: 10/801,263
- Filed: 2004-03-15
- Published: 2004-09-09
- Granted: 2008-08-12
- Earliest claimed: 1999-01-15
- Assignees: Oracle International Corporation
- Inventors: William Bridge
- Web page: https://patentgrep.com/patent/US7412594B2

## CPC

- G06F 3/0611: {in relation to response time}
- G06F 3/0656: {Data buffering arrangements}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An apparatus and method for accessing a data item from a storage system having a plurality of data storage devices are disclosed. I/O operation requests are submitted to multiple data storage devices for each data item to be accessed. The I/O operation requests are issued to copies of the data items that reside on a plurality of data storage devices. More I/O operation requests are submitted than the number of data items that are to be accessed, written, or updated.

## Claims

### Claim 1

A system for reading a data item, comprising:
means for maintaining a plurality of copies of said data item on a plurality of data storage devices;
means for receiving a read request for said data item;
means for initiating at least two read operation requests to at least two of said plurality of data storage devices in response to receiving said read request; and
means for identifying a first one of said at least two read operations requests as projecting to produce a fastest response time.

### Claim 2 (depends on 1)

The system of claim 1, further comprising the means for canceling a second one of said at least two read operation requests.

### Claim 3 (depends on 1)

The system of claim 1, further comprising means for ignoring a copy of said data item retrieved by a second one of said at least two read operation requests.

### Claim 4 (depends on 1)

The system of claim 1, wherein the means for identifying a first one of said at least two read operation requests includes means for identifying said first one of said at least two read operation requests as having a first movement from one level of request queues to another.

### Claim 5 (depends on 1)

The system of claim 1, wherein the means for identifying a first one of said at least two read operation requests includes means for identifying said first one of said at least two read operation requests as having a first retrieval of a copy of said data item from one of said plurality of data storage devices.

### Claim 6 (depends on 1)

The system of claim 1, wherein the means for maintaining a plurality of copies of said data item includes means for mirroring said data item from a first one of said plurality of data storage devices to a second one of said plurality of data storage devices.

### Claim 7 (depends on 1)

The system of claim 1, wherein the means for maintaining a plurality of copies of said data item includes means for maintaining said plurality of copies of said data item on a plurality of disk drives.

### Claim 8

A method of reading a data item from a database, comprising:
maintaining a plurality of copies of said data item from said database on a plurality of data storage devices;
receiving a read request for a predetermined number of copies of said data item;
initiating read operation requests to a selected number of the data storage devices in response to the read request, the selected number exceeding the predetermined number.

### Claim 9 (depends on 8)

The method of claim 8 in which the data item comprises a video or audio data item.

### Claim 10 (depends on 9)

The method of claim 9 in which the video or audio data item is associated with a video or audio stream.

### Claim 11 (depends on 9)

The method of claim 9 in which the video or audio data item is associated with a video or audio stream.

### Claim 12 (depends on 8)

The method of claim 8, in which the act of maintaining a plurality of copies of said data item is performed at a granularity level smaller than an entire disk drive.

### Claim 13 (depends on 8)

The method of claim 8, further comprising identifying a first set of said read operation requests that are projected to produce a fastest response time.

### Claim 14 (depends on 13)

The method of claim 13, further comprising canceling a second set of said read operation requests.

### Claim 15 (depends on 13)

The method of claim 13, further comprising ignoring a copy of said data item retrieved by a second set of said read operation requests.

### Claim 16

A system for reading a data item from a database, comprising:
means for maintaining a plurality of copies of said data item from said database on a plurality of data storage devices;
means for receiving a read request for a predetermined number of copies of said data item;
means for initiating read operation requests to a selected number of the data storage devices in response to the read request, the selected number exceeding the predetermined number.

### Claim 17

A computer program product that includes a volatile or non-volatile medium readable by a processor, the medium having stored thereon a sequence of instructions which, when executed by said processor, causes said processor to execute a process of reading a data item from a database, the process comprising:
maintaining a plurality of copies of said data item from said database on a plurality of data storage devices;
receiving a read request for a predetermined number of copies of said data item;
initiating read operation requests to a selected number of the data storage devices in response to the read request, the selected number exceeding the predetermined number.

### Claim 18 (depends on 17)

The computer program product of claim 17 in which the data item comprises a video or audio data item.

### Claim 19 (depends on 18)

The computer program product of claim 18 in which the video or audio data item is associated with a video or audio stream.

### Claim 20 (depends on 18)

The computer program product of claim 18 in which the video or audio data item is associated with a video or audio stream.

### Claim 21 (depends on 17)

The computer program product of claim 17, in which the act of maintaining a plurality of copies of said data item is performed at a granularity level smaller than an entire disk drive.

### Claim 22 (depends on 17)

The computer program product of claim 17, further comprising identifying a first set of said read operation requests that are projected to produce a fastest response time.

### Claim 23 (depends on 22)

The computer program product of claim 22, further comprising canceling a second set of said read operation requests.

### Claim 24 (depends on 22)

The computer program product of claim 22, further comprising ignoring a copy of said data item retrieved by a second set of said read operation requests.

### Claim 25 (depends on 16)

The system of claim 16 in which the data item comprises a video or audio data item.

### Claim 26 (depends on 25)

The system of claim 25 in which the video or audio data item is associated with a video or audio stream.

### Claim 27 (depends on 25)

The system of claim 25 in which the video or audio data item is associated with a video or audio stream.

### Claim 28 (depends on 16)

The system of claim 16, in which the means for maintaining a plurality of copies of said data item is performed at a granularity level smaller than an entire disk drive.

### Claim 29 (depends on 16)

The system of claim 16, further comprising a means for identifying a first set of said read operation requests that are projected to produce a fastest response time.

### Claim 30 (depends on 29)

The system of claim 29, further comprising a means for canceling a second set of said read operation requests.

### Claim 31 (depends on 29)

The system of claim 29, further comprising a means for ignoring a copy of said data item retrieved by a second set of said read operation requests.
