IP Library Granted Patent US 8,738,812
Granted Patent B2
US 8,738,812 · App. 12/472,901 · Granted May 27, 2014

Transfer of commands and storage data to a data storage device

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,738,812
App. No.
12/472,901
Granted
May 27, 2014
Kind
B2
Abstract

A controller controls transfer of commands and storage data over a databus to a data storage device. The controller comprises a memory arranged to store a queue of commands prior to the commands being transferred over the databus. The controller identifies data access commands in the queue that specify the same type of data access and contiguous ranges of addresses. A concatenated data access command is transferred in place of so identified data access commands, the concatenated data access command specifying the same type of data access and the overall range of addresses. This improves the rate of data transfers.

Claims (23)

1. A controller for controlling transfer of commands and storage data to a Universal Serial Bus (USB)-attached data storage device via the USB Attached SCSI (UAS) protocol, wherein

the controller is arranged to transfer commands and storage data with the USB-attached data storage device over a USB databus via UAS with additional concatenation of commands, the commands including data access commands specifying respective types of data access and a range of addresses, the controller comprising a memory arranged to store a queue of commands prior to the commands being transferred, each command contained in respective SCSI request blocks (SRBs), and

the controller is further arranged to process the SRBs and identify a plurality of data access commands in the queue for the transfer of data that specify the same type of data access and contiguous, but non-identical, ranges of addresses and, in response thereto, to transfer a concatenated data access command in place of the identified plurality of data access commands, the concatenated data access command specifying the same type of data access and the overall range of addresses specified by the identified plurality of data access commands, wherein the concatenation is a single command that, when executed, performs identically as if the identified data access commands were executed individually.

2. A controller according to claim 1 , wherein the controller is arranged to store a record of the identified data access commands that are replaced by a concatenated data access command and, in response to receiving a response to a concatenated data access command from a data storage device, to return separate responses to each of the identified data access command indicated in the record.

3. A controller according to claim 1 , wherein the data access commands specify respective types of data access including reading, writing and verifying of storage data.

4. A controller according to claim 1 , wherein the data access commands include a start address of data to access and a length that specify said range of addresses of data to access.

5. A controller according to claim 1 , wherein the controller is arranged to control the transfer of commands and storage data serially in time and the identifying of access commands is performed while the databus is busy with the transfer of data.

6. A controller according to claim 5 , wherein the controller is arranged to control the transfer of commands and storage data in time-serial frames with commands and storage data being transferred in different frames.

7. A controller according to claim 1 , being a controller for controlling the transfer of commands that originate form a host apparatus and storage data over a databus.

8. A controller according to claim 7 , wherein the controller is arranged to perform said identifying of data access commands while the databus is busy with the transfer of data thereover.

9. A host apparatus comprising a controller according to claim 7 , the controller being arranged to receive the data access commands from the operating system of the host apparatus.

10. A bridge device for bridging an upstream databus for connection to host apparatus to a downstream databus for connection to a data storage device, the bridge device comprising a controller according to claim 1 for controlling transfer of commands and storage data over the downstream databus, the controller being arranged to receive the data access commands from the host apparatus over the upstream databus.

11. A method of controlling transfer of commands and storage data to a Universal Serial Bus (USB)-attached data storage device via the USB Attached SCSI (UAS) protocol, the method comprising:

transferring commands and storage data over a USB databus with the USB-attached data storage device via UAS with additional concatenation of commands, the commands including data access commands specifying respective types of data access and a range of addresses including:

storing a queue of commands prior to the commands being transferred over the databus each command contained in respective SCSI request blocks (SRBs); and

processing the SRBs and identifying a plurality of data access commands for the transfer of data in the queue that specify the same type of data access and contiguous, but non-identical, ranges of addresses and, in response thereto, transferring a concatenated data access command in place of the identified data access commands, the concatenated data access command specifying the same type of data access and the overall range of addresses of the ranges specified by the identified plurality of data access commands, wherein the concatenation is a single command that, when executed, performs identically as if the identified plurality of data access commands were executed individually.

12. A method according to claim 11 , further comprising storing a record of the identified data access commands that are replaced by a concatenated data access command and, in response to receiving a response to a concatenated data access command from a data storage device, returning separate responses to each of the identified data access commands indicated in the record.

13. A method according to claim 11 , wherein the data access commands specify respective types of data access including reading, writing and verifying of storage data.

14. A method according to claim 11 , wherein the data access commands include a start address of data to access and a length that specify said range of addresses of data to access.

15. A method according to claim 11 , wherein the commands and storage data are transferred serially in time.

16. A method according to claim 15 , wherein the commands and storage data are transferred over the databus in time-serial frames, commands and storage data being transferred in different frames.

17. A method according to claim 11 , being a method of controlling transfer of commands and storage data over a databus.

18. A method according to claim 17 , wherein the step of identifying of data access commands is performed while the databus is busy with the transfer of data thereover.

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 034069-0494) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: PLX TECHNOLOGY, INC.
Reel/Frame 037682/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2015
From: PLX TECHNOLOGY, INC.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035615/0767 →
PATENT SECURITY AGREEMENT Recorded Oct 28, 2014
From: PLX TECHNOLOGY, INC.
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 034069/0494 →