IP Library Granted Patent US 9,256,521
Granted Patent B1
US 9,256,521 · App. 13/288,637 · Granted Feb 9, 2016

Methods and apparatus for SAS controllers with link list based target queues

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 9,256,521
App. No.
13/288,637
Granted
Feb 9, 2016
Kind
B1
Abstract

A controller comprising a transport layer, an internal memory, and a link list manager block. The internal memory stores pending instruction entries. The link list manager block is configured to read instructions stored in an external memory, update an active vector, the active vector for storing indications of instructions from the external memory; update the pending instruction entries in the internal memory; and update the instructions stored in the external memory. The link list manager block configured to dispatch a instruction from the pending instruction entries in the internal memory to the transport layer.

Claims (27)

1. A controller for controlling a device, the controller comprising:

a memory for storing

instructions, including a first instruction and a second instruction, the first instruction comprising a pointer to the location of the second instruction in the memory, for organizing the first and second instructions into a link list;

a link list dispatcher configured to dispatch, to the device, the first instruction and the second instruction stored in the memory, and to create a first reference entry to the first dispatched instruction and a second reference entry to the second dispatched instruction, the first reference entry comprising a pointer to the location of the first instruction stored in the memory, and comprising the pointer to the location of the second instruction stored in the memory;

a dispatcher cache for storing the first reference entry to the first dispatched instruction and the second reference entry to the second dispatched instruction; and

a link list manager block for managing the link list of instructions stored in the memory, and configured to:

receive a back off request for the second dispatched instruction, and

clear the second reference entry from the dispatcher cache so that the link list dispatcher will dispatch, to the device, the second instruction from the memory based on the pointer to the location of the second instruction stored in the memory, in the first reference entry.

2. The controller of claim 1 , wherein the controller is a SAS/SATA controller.

3. The controller of claim 1 , wherein the controller comprises a transport layer, the transport layer comprising a global block and a plurality of slices.

4. The controller of claim 3 , wherein the global block comprises the link list manager, the dispatcher cache, and the link list dispatcher.

5. The controller of claim 4 , wherein the dispatcher dispatches the instructions to at least one of the plurality of slices.

6. The controller of claim 5 , wherein the instructions comprise a connection request for a remote device.

7. The controller of claim 6 , wherein the dispatcher backs off the connection request if the device is unavailable.

8. A method of dispatching instructions to a device, the method comprising:

storing instructions at a memory, the instructions including a first instruction and a second instruction, the first instruction comprising a pointer to the location of the second instruction in the memory, for organizing the first and second instructions into a link list;

dispatching, to the device, the instructions including the first instruction and the second instruction stored in the memory;

creating a first reference entry to the first dispatched instruction and a second reference entry to the second dispatched instruction, the first reference entry comprising a pointer to the location of the first instruction stored in the memory, and comprising the pointer to the location of the second instruction stored in the memory;

storing, at a dispatcher cache, the first reference entry to the first dispatched instruction and the second reference entry to the second dispatched instruction;

receiving a back off request for the second dispatched instruction,

clearing the second reference entry from the dispatcher cache;

dispatching, to the device, the second instruction from the memory based on the pointer to the location of the second instruction stored in the memory, in the first reference entry.

9. The method of claim 8 , performed at a SAS/SATA controller.

10. The method of claim 9 , wherein the controller comprises a transport layer, including a plurality of slices, a link list manager, a link list dispatcher, and the dispatcher cache.

11. The method of claim 10 , wherein dispatching the first instruction and the second instruction comprises dispatching the first instruction to a first transport layer slice and dispatching the second instruction to a second transport layer slice.

12. The method of claim 11 , wherein dispatching the second instruction comprises creating a connection request for a remote device.

13. The method of claim 12 , further comprising backing off the connection request if the device is unavailable.

Assignments (7)
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 →
CHANGE OF NAME Recorded Jun 16, 2017
From: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
To: MICROSEMI SOLUTIONS (U.S.), INC.
Reel/Frame 042836/0046 →
CHANGE OF NAME Recorded Mar 22, 2016
From: PMC-SIERRA US, INC.
To: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 038213/0291 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2014
From: LAM, RAYMOND; CHOW, IVY
To: PMC-SIERRA US, INC.
Reel/Frame 031987/0119 →
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 →