IP Library Granted Patent US 8,856,398
Granted Patent B2
US 8,856,398 · App. 14/073,016 · Granted Oct 7, 2014

Process to generate various length parameters in a number of SGLS based upon the length fields of another SGL

Inventor: Gurvinder P. Singh (Pune, IN)
Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
G06F17/30289G06F13/28
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 8,856,398
App. No.
14/073,016
Granted
Oct 7, 2014
Kind
B2
Abstract

A method of generating length parameters, comprising the steps of reading a data stream from a host, detecting a particular field of the data stream, and calculating a variable based on a length parameter of a first list to be transferred. The data stream may comprise a plurality of definitions. The method may also comprise the step of selecting one of the list definitions. One of the list definitions may be used to generate a length parameter used in a second list in response to (i) the particular field of the data stream and (ii) the length parameter of the first list.

Claims (33)

1. A method of generating length parameters, comprising the steps of:

reading a data stream from a host, wherein said data stream comprises a plurality of list definitions including one of a plurality of modes;

detecting whether said data stream needs an inline data integrity field (DIF) or a separate data integrity field;

calculating a number of blocks to be transferred based on a first length parameter of a first scattered gather list; and

selecting one of said plurality of list definitions to generate a second length parameter used in a second scattered gather list in response to (i) said field determined to be needed for said data stream and (ii) said calculated number of blocks.

2. The method according to claim 1 , wherein a first of said plurality of list definitions comprises an interleaved mode.

3. The method according to claim 2 , wherein said method further comprises:

determining if said first of said plurality of list definitions needs the inline data integrity field.

4. The method according to claim 3 , wherein said method further comprises:

if said first of said plurality of list definitions needs the inline data integrity field, setting said second length parameter used in said second scattered gather list equal to said first length parameter of said first scattered gather list.

5. The method according to claim 3 , wherein said method further comprises:

if said first of said plurality of list definitions does not need the inline data integrity field, setting said second length parameter used in said second scattered gather list equal to said first length parameter of said first scattered gather list plus said calculated number of blocks.

6. The method according to claim 1 , wherein a second of said plurality of list definitions comprises a Data Integrity Field (DIF) only mode.

7. The method according to claim 6 , wherein said method further comprises:

setting said second length parameter used in said second scattered gather list equal to said calculated number of blocks.

8. The method according to claim 1 , wherein a third of said plurality of list definitions comprises a Direct Memory Access (DMA) data only mode.

9. The method according to claim 8 , wherein said method further comprises:

determining if said data stream comprising the third of said plurality of list definitions needs the inline data integrity field.

10. The method according to claim 9 , wherein said method further comprises:

if said data stream comprising the third of said plurality of list definitions needs the inline data integrity field, setting said second length parameter used in said second scattered gather list equal to said first length parameter of said first scattered gather list.

11. The method according to claim 9 , wherein said method further comprises:

if said data stream comprising the third of said plurality of list definitions does not need the inline data integrity field, setting said second length parameter used in said second scattered gather list equal to said first length parameter of said scattered gather list length minus said calculated number of blocks.

12. An apparatus comprising:

a host configured to generate a data stream, wherein said data stream comprises a plurality of list definitions including one of a plurality of modes; and

a controller configured to (i) detect whether said data stream needs an inline data integrity field (DIF) or a separate data integrity field, (ii) calculate a number of blocks to be transferred based on a first length parameter of a first scattered gather list, and (iii) select one of said plurality of list definitions to generate a second length parameter used in a second scattered gather list in response to (a) said field determined to be needed for said data stream and (b) said calculated number of blocks.

13. The apparatus according to claim 12 , wherein a DMA engine generates said second length parameter used in said second scattered gather list.

14. The apparatus according to claim 13 , wherein said DMA engine comprises a cache memory to store said first length parameter of said first scattered gather list.

15. The apparatus according to claim 12 , wherein a first of said plurality of list definitions comprises an interleaved mode.

16. The apparatus according to claim 15 , wherein said apparatus determines if said first of said plurality of list definitions needs the inline data integrity field.

17. The apparatus according to claim 16 , wherein said apparatus is further configured to set said second length parameter used in said second scattered gather list equal to said first length parameter of said first scattered gather list if said apparatus determines said first of said plurality of list definitions needs the inline data integrity field.

18. The apparatus according to claim 16 , wherein said apparatus is further configured to set said second length parameter used in said second scattered gather list equal to said first length parameter of said first scattered gather list plus said calculated number of blocks if said apparatus determines said first of said plurality of list definitions does not need the inline data integrity field.

19. The apparatus according to claim 12 , wherein a second of said plurality of list definitions comprises a Data Integrity Field (DIF) only mode.

20. The apparatus according to claim 19 , wherein said apparatus sets said second length parameter used in said second scattered gather list equal to said calculated number of blocks.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
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: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
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 →
Continuity (2)
Continuation 13114321 · May 24, 2011
Related Publication 20140067877A1 · Mar 6, 2014