# US 7,610,507 B2 · High-speed redundant disk controller methods and systems

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

- Number: US 7,610,507 B2
- Document ID: US7610507B2
- Status: Granted
- Kind: B2
- Application number: 11/518,544
- Filed: 2006-09-08
- Published: 2008-03-13
- Granted: 2009-10-27
- Earliest claimed: 2006-09-08
- Assignees: Agere Systems Inc.
- Inventors: Richard J. Byrne; Silvester Tjandra; Eu Gene Goh
- Web page: https://patentgrep.com/patent/US7610507B2

## CPC

- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Various apparatus and methods for controlling data for a redundant array of inexpensive/independent disks (RAID) are presented. For example, in one illustrative embodiment, a controlling apparatus can include a translation device composed substantially entirely of gate-level electronic hardware, wherein the translation device includes a sector sequencer capable of arranging sector units of target data and parity data on a plurality of N disks as a function of block location.

## Claims

### Claim 1

An apparatus for controlling data for a redundant array of inexpensive/independent disks (RAID), comprising:
a translation device composed substantially entirely of gate-level electronic hardware, wherein the translation device includes a sector sequencer capable of arranging sector units of target data and parity data on a plurality of N disks as a function of block locations,
wherein the data of the N disks has a format comprising a sequence of block stripes with each block stripe containing one or more sector stripes, and wherein each sector stripe is formatted such that N-1 of the sectors contain contiguous target data and the remaining sector contains parity data for the other N-1 sectors.

### Claim 2 (depends on 1)

An apparatus of claim 1, wherein the translation device further comprises:
a logical block address device capable of identifying block stripe locations; and
a parity rotation device capable of determining for a particular sector stripe which of the plurality of N disks is reserved for parity data.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein each block stripe contains a plurality of sector stripes.

### Claim 4 (depends on 1)

The apparatus of claim 1, further comprising a ping-pong buffer communicatively coupled to the translation device capable of uploading data from, and downloading data to, the N disks.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the ping-pong buffer has a first portion and a second portion, and wherein the first portion is capable of downloading data to the N disks while the translation device stores data in the second portion.

### Claim 6 (depends on 4)

The apparatus of claim 4, further comprising one or more FIFO buffers coupled to the translation device capable of delivering a stream of target and parity sector units to the translation device.

### Claim 7 (depends on 4)

The apparatus of claim 4, further comprising a first FIFO buffer coupled to the translation device capable of delivering a stream of target and parity sector units to the translation device.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the first FIFO buffer is coupled to a parity error processing device capable of determining whether a read sector stripe has a parity error.

### Claim 9 (depends on 7)

The apparatus of claim 7, wherein the first FIFO buffer is coupled to a parity error processing device capable of generating the parity sector units.

### Claim 10 (depends on 7)

The apparatus of claim 7, wherein each portion of the ping-pong buffer contains enough memory to hold a sector stripe, but not enough memory to hold a block stripe.

### Claim 11

An apparatus for controlling data for a redundant array of inexpensive/independent disks (RAID), comprising:
a translation device that includes a sector sequencer capable of arranging sector units of target data and parity data on a plurality of N disks as a function of block location; and
a ping-pong buffer communicatively coupled to the translation device capable of uploading data from, and downloading data to, the N disks,
wherein the data of the N disks has a format comprising a sequence of block stripes with each block stripe containing one or more sector stripes, and wherein each sector stripe is formatted such that N-1 of the sectors contain contiguous target data and the remaining sector contains parity data for the other N-1 sectors.

### Claim 12 (depends on 11)

The apparatus of claim 11, further comprising one or more FIFO buffers coupled to the translation device capable of delivering one or more streams of target data and parity data sector units to the translation device.

### Claim 13 (depends on 11)

The apparatus of claim 11, further comprising a first FIFO buffer coupled to the translation device capable of delivering a stream of target data and parity data sector units to the translation device.

### Claim 14 (depends on 11)

An apparatus of claim 11, wherein the translation device further comprises:
a logical block address device capable of identifying block stripe locations; and
a parity rotation device capable of determining for a particular sector stripe which of the plurality of N disks contains parity data.

### Claim 15 (depends on 14)

An apparatus of claim 14, wherein the sector sequencer arranges sector units of target data and parity data as a function of information from the parity rotation device.

### Claim 16 (depends on 11)

The apparatus of claim 11, wherein each block stripe contains a plurality of sector stripes.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein each sector contains multiple bytes of data.
