# US 7,610,444 B2 · Method and apparatus for disk address and transfer size management

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

- Number: US 7,610,444 B2
- Document ID: US7610444B2
- Status: Granted
- Kind: B2
- Application number: 11/539,350
- Filed: 2006-10-06
- Published: 2007-09-20
- Granted: 2009-10-27
- Earliest claimed: 2005-09-13
- Assignees: Agere Systems Inc.
- Inventors: Ambalavanar Arulambalam; Richard J Byrne; Nevin C. Heintze; Qian Gao Xu; Jun Chao Zhao
- Web page: https://patentgrep.com/patent/US7610444B2

## CPC

- G11B 20/10: Digital recording or reproducing
- H04L 69/22: Parsing or analysis of headers
- G11B 2020/10537: {Audio or video recording}
- G11B 2020/10759: {content data}
- G11B 2220/2516: Hard disks
- H04L 2012/2849: {Audio/video appliances}
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method includes storing first and second sets of parameters in a register. Each set of parameters defines a storage transaction to store data to a computer readable medium or a retrieval transaction to retrieve data from the computer readable medium. The first storage or retrieval transaction is performed according to the first set of parameters. The second set of parameters is retrieved from the register automatically when the first storage or retrieval transaction is completed, without waiting for a further command from a control processor. The second storage or retrieval transaction is performed according to the retrieved second set of parameters. A system for performing the method and a computer readable medium containing pseudocode for generating an application specific integrated circuit that performs the method are provided.

## Claims

### Claim 1

A method comprising the steps of:
storing first and second sets of parameters in a register, each set of parameters defining a transaction to transfer data either to or from a computer readable storage medium;
performing a first transaction according to the first set of parameters;
retrieving the second set of parameters from the register automatically when the first transaction is completed, without waiting for a further command from a control processor; and
performing a second transaction according to the retrieved second set of parameters,
wherein the register additionally stores an indicator that identifies a number of valid data bytes in a final sector of the data stored or retrieved during the transaction, and
wherein pad data is added to the final sector of the data stored or retrieved during the transaction, to form a full sector of data on the computer readable storage medium, if the number of valid data bytes in the final sector is less than a size of the sector.

### Claim 2 (depends on 1)

The method of claim 1, wherein each transaction comprises either a storage transaction or a retrieval transaction where the storage transaction transfers data from a memory to at least one disk, and the retrieval transaction transfers data from the at least one disk to the memory.

### Claim 3 (depends on 2)

The method of claim 2, wherein the memory includes a plurality of queues, each queue buffering a respective data object during a storage or retrieval transaction, and the register includes a respective first set of parameters corresponding to each respective queue and a respective second set of parameters corresponding to each respective queue.

### Claim 4 (depends on 1)

The method of claim 1, wherein each of the first and second sets of parameters includes:
a number of contiguous sectors of data of an object remaining to be transferred, and
an address identifying a start of the data remaining to be transferred during the transaction, and
the register further includes a value that determines a number of sectors of data to be transferred during each transfer.

### Claim 5 (depends on 1)

The method of claim 1, wherein the register additionally stores an indicator that indicates whether the first set of parameters or the second set of parameters is currently being used for the current transaction.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
retrieving the hill sector of data from the computer readable storage medium;
identifying the number of valid data in the full sector, based on the indicator; and
storing the valid data in a memory.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
overwriting the first set of parameters with a third set of parameters while the second transaction is being performed;
retrieving the third set of parameters from the register automatically when the second transaction is completed, without waiting for a further command from a control processor; and
performing the third transaction according to the retrieved third set of parameters.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
providing a data file to be stored to the computer readable storage medium;
identifying a first object comprising a first portion of the data file to be stored in a first plurality of contiguous sectors of the computer readable storage medium in the first transaction;
identifying a second object comprising a second portion of the data file to be stored in a second plurality of contiguous sectors of the computer readable storage medium in the second transaction; and
determining the first and second parameter sets based on the first object identification and the second object identification, wherein the determining step is performed before the step of storing the first and second sets of parameters in the register.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
receiving a request to retrieve a file of data from the computer readable storage medium;
identifying a first object comprising a first plurality of contiguous sectors of data within the file to be retrieved in the first transaction;
identifying a second object comprising a second plurality of contiguous sectors of data within the file to be retrieved in the second transaction; and
determining the first and second parameter sets based on the first object identification and the second object identification, wherein the determining step is performed before the step of storing the first and second sets of parameters in the register.

### Claim 10

A system comprising:
a control processor;
a computer readable storage medium;
a register for storing first and second sets of parameters, each set of parameters defining a transaction to transfer data either to or from a computer readable medium; and
a traffic manager for:
causing execution of a first transaction according to the first set of parameters;
causing retrieval of the second set of parameters from the register automatically when the first transaction is completed, without waiting for a further command from the control processor; and
causing execution of a second transaction according to the retrieved second set of parameters,
wherein the register additionally stores an indicator that identifies a number of valid data bytes in a final sector of the data to be stored or retrieved during the transaction, and
wherein pad data is added to the final sector of the data to be stored or retrieved, to form a full sector of data on the computer readable storage medium, if the number of valid data bytes in the final sector is less than a size of the sector.

### Claim 11 (depends on 10)

The system of claim 10, wherein each transaction comprises either a storage transaction or a retrieval transaction; the storage transaction transferring data from a memory to at least one disk, and the retrieval transaction transferring data from the at least one disk to the memory.

### Claim 12 (depends on 11)

The system of claim 11, wherein the memory includes a plurality of queues, each queue for buffering a respective data object during a transaction, and the register is configures to store a respective first set of parameters corresponding to each respective queue and a respective second set of parameters corresponding to each respective queue.

### Claim 13 (depends on 10)

The system of claim 10, wherein each of the first and second sets of parameters includes:
a number of sectors of data remaining to be transferred during the transaction; and
an address identifying a start of the data remaining lobe transferred during the transaction.

### Claim 14 (depends on 10)

The system of claim 10, wherein the register is additionally configured to store an indicator that indicates whether the first set of parameters or the second set of parameters is currently being used for the current transaction.

### Claim 15 (depends on 10)

The system of claim 10, wherein the computer readable storage medium includes a Redundant Array of Inexpensive Disks.

### Claim 16

A computer readable storage medium encoded with computer program code wherein, when the computer program code is processed by a processor, the processor performs a method comprising time steps of:
storing first and second sets of parameters in a register, each set of parameters defining a transaction to transfer data to or retrieve data from a storage device;
performing the first transaction according to a first set of parameters;
retrieving a second set of parameters from the register automatically when the first transaction is completed, without waiting for a further command from a control processor; and
performing the second transaction according to the retrieved second set of parameters,
wherein the register additionally stores an indicator that identifies a number of valid data bytes in a filial sector of the data stored or retrieved during the transaction, and
wherein pad data is added to the final sector of the data stored or retrieved during the transaction, to form a full sector of data on the storage device, if the number of valid data bytes in the final sector is less than a size of the sector.

### Claim 17 (depends on 16)

The computer readable storage medium of claim 16, further comprising:
providing a data file to be stored to the storage device;
identifying a first object comprising a first portion of the data file to be stored in a first plurality of contiguous sectors of the storage device in the first transaction;
identifying a second object comprising a second portion of the data file stored in a second plurality of contiguous sectors of the storage device during the second transaction; and
determining the first and second parameter sets based on the first object identification and the second object identification, wherein the determining step occurs before the step of storing the first and second sets of parameters in the register.

### Claim 18 (depends on 17)

The computer readable storage medium of claim 17, wherein the memory includes a plurality of queues, each queue for buffering a respective data object during a storage or retrieval transaction, and the register is configures to store a respective first set of parameters corresponding to each respective queue and a respective second set of parameters corresponding to each respective queue.

### Claim 19 (depends on 16)

The computer readable storage medium of claim 16, further comprising:
receiving a request to retrieve a file of data from the storage device;
identifying a first object comprising a first plurality of contiguous sectors of data within the file retrieved during the first transaction;
identifying a second object comprising a second plurality of contiguous sectors of data within the file retrieved during the second transaction; and
determining the fast and second parameter sets based on the first object identification and the second object identification, wherein the determining step occurs before the step of storing the first and second sets of parameters in the register.
