IP Library Granted Patent US 7,610,444
Granted Patent B2
US 7,610,444 · App. 11/539,350 · Granted Oct 27, 2009

Method and apparatus for disk address and transfer size management

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,610,444
App. No.
11/539,350
Granted
Oct 27, 2009
Kind
B2
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 (67)

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.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

8. 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.

9. 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.

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.

11. 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.

12. 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.

13. 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.

14. 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.

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

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.

17. 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.

18. 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.

19. 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.

Assignments (11)
MERGER Recorded Mar 3, 2023
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED; BROADCOM INTERNATIONAL PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 062952/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
To: BROADCOM INTERNATIONAL PTE. LTD.
Reel/Frame 053771/0901 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED AT REEL: 047195 FRAME: 0827. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Nov 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047924/0571 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047195/0827 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: AGERE SYSTEMS LLC
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035365/0634 →
CERTIFICATE OF CONVERSION Recorded Aug 29, 2014
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 033663/0948 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2009
From: ARULAMBALAM, AMBALAVANAR; BYRNE, RICHARD J.; HEINTZE, NEVIN C.; XU, QUIAN GAO; ZHAO, JUN CHAO
To: AGERE SYSTEMS INC.
Reel/Frame 022178/0797 →