IP Library Granted Patent US 6,938,102
Granted Patent B1
US 6,938,102 · App. 10/923,596 · Granted Aug 30, 2005

Dequeuing from a host adapter two-dimensional queue

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 6,938,102
App. No.
10/923,596
Granted
Aug 30, 2005
Kind
B1
Abstract

A two-dimensional command block queue includes a plurality of command blocks in a first linked list. One of the command blocks in a string is included in the first linked list. The string is delimited by only a tail pointer stored in a tail pointer list. Following dequeuing the string for processing, a pointer to the one command block of the string that was in the common queue is included in a string head pointer list. The tail pointer to the string is not changed in the tail pointer list following dequeuing of the string. This allows any new SCBs to be appended to the end of the string, while the string is being processed. This allows streaming of new SCBs to an I/O device that had previously been selected and is still connected to the host adapter.

Claims (47)

1. A memory structure comprising:

a two-dimensional queue comprising:

a plurality of command blocks in a first linked list; and

another plurality of command blocks in a second linked list, where only one of said another plurality of command blocks is included in said plurality of command blocks in said first linked list;

a tail pointer to a tail command block in said second linked list wherein said tail pointer is an only delimiter for said second linked list;

a tail pointer list including said tail pointer to said tail command block in said second linked listed; and

a string head pointer list wherein following dequeuing said another plurality of command blocks in said second linked list from said two-dimensional queue, a pointer to said only one of said another plurality of command blocks is included in said string head pointer list.

2. The memory structure of claim 1 further comprising:

a head pointer to a head command block in said first linked list.

3. The memory structure of claim 2 further comprising:

a tail pointer to a tail command block in said first linked list.

4. The memory structure of claim 1 wherein said two-dimensional queue is stored in a first memory.

5. The memory structure of claim 4 wherein said first memory comprises a command block array memory.

6. The memory structure of claim 5 wherein said command block array memory is an internal memory of a host adapter.

7. The memory structure of claim 5 wherein said command block array memory is an external memory of a host adapter.

8. The memory structure of claim 4 wherein said string tail pointer list is stored in a second memory different from said first memory.

9. The memory structure of claim 4 wherein said common queue head pointer and said common queue tail pointer are stored in a second memory different from said first memory.

10. The memory structure of claim 4 wherein said string head pointer list is stored in a second memory different from said first memory.

11. The memory structure of claim 10 wherein said second memory comprises a plurality of memories.

12. A structure comprising:

a two-dimensional queue comprising:

a common linked list of command blocks having a common head command block and a common tail command block; and

a string comprising a linked list of command blocks having a string head command block and a string tail command block wherein only said string head command block is included in said common linked list of command blocks;

a common queue head pointer to said common head command block;

a common queue tail pointer to said common tail command block;

a string tail pointer list including a tail pointer to said string tail command block; and

a string head pointer list wherein following dequeuing said string from said two-dimensional queue, a pointer to said string head command block is included in said string head pointer list.

13. The structure of claim 12 wherein said common linked list contains a maximum of one command block for said string.

14. The structure of claim 13 wherein said string contains only command blocks for a single device.

15. A system comprising:

a two-dimensional queue comprising:

a plurality of command blocks in a first linked list; and

another plurality of command blocks in a second linked list, where only one of said another plurality of command blocks is included in said plurality of command blocks in said first linked list; and

a memory coupled to said two-dimensional queue, said memory including:

a tail pointer to a tail command block in said second linked list wherein said tail pointer is an only delimiter for said second linked list;

a tail pointer list including said tail pointer to said tail command block in said second linked listed; and

a string head pointer list wherein following dequeuing said another plurality of command blocks in said second linked list from said two-dimensional queue, a pointer to said only one of said another plurality of command blocks is included in said string head pointer list.

16. The system of claim 15 wherein said memory includes:

a first memory; and

a second memory; and

further wherein said tail pointer and said tail pointer list are included in said first memory; and

said string head pointer list is included in a second memory.

17. The system of claim 16 wherein said second memory comprises a plurality of memories.

18. The system of claim 15 wherein said memory further includes:

a head pointer to a head command block in said first linked list.

19. The system of claim 15 wherein said memory further includes:

a tail pointer to a tail command block in said first linked list.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2013
From: ADAPTEC, INC.
To: PMC-SIERRA, INC.
Reel/Frame 030899/0567 →