IP Library Granted Patent US 8,719,457
Granted Patent B2
US 8,719,457 · App. 13/439,860 · Granted May 6, 2014

Efficient connection management in a SAS target

Inventor: Arie Peled (Tel Mond, IL)
Assignee: Apple Inc.
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,719,457
App. No.
13/439,860
Granted
May 6, 2014
Kind
B2
Abstract

A method includes pre-configuring a hardware-implemented front-end of a storage device with multiple contexts of respective connections conducted between one or more hosts and the storage device. Storage commands, which are received in the storage device and are associated with the connections having the pre-configured contexts, are executed in a memory of the storage device using the hardware-implemented front-end. Upon identifying a storage command associated with a context that is not pre-configured in the hardware-implemented front-end, software of the storage device is triggered to configure the context in the hardware-implemented front-end, and the storage command is then executed using the hardware-implemented front-end in accordance with the context configured by the software.

Claims (25)

1. A method for data storage, comprising:

pre-configuring a hardware-implemented front-end of a storage device with multiple contexts of respective connections conducted between one or more hosts and the storage device, wherein each context includes one or more operational parameters relating to a respective one of the connections;

executing in a memory of the storage device, using the hardware-implemented front-end, storage commands that are received in the storage device and are associated with the connections having the pre-configured contexts; and

upon identifying a storage command associated with a context that is not pre-configured in the hardware-implemented front-end, triggering software of the storage device to configure the context in the hardware-implemented front-end, and then executing the storage command using the hardware-implemented front-end in accordance with the context configured by the software.

2. The method according to claim 1 , wherein the storage commands are received in accordance with a Serial Attached Storage (SAS) storage protocol.

3. The method according to claim 1 , wherein the storage device comprises a Solid State Disk (SSD).

4. The method according to claim 1 , wherein triggering the software comprises issuing an interrupt to a Central Processing Unit (CPU) that runs the software.

5. The method according to claim 1 , wherein triggering the software comprises causing the software to replace a previously-configured context in the hardware-implemented front-end with the context associated with the identified storage command.

6. The method according to claim 1 , wherein executing the storage commands comprises carrying out the storage commands without involvement of a Central Processing Unit (CPU) that runs the software.

7. A data storage apparatus, comprising:

a Central Processing Unit (CPU); and

a hardware-implemented front-end, which is pre-configured with multiple contexts of respective connections conducted between one or more hosts and the apparatus, wherein each context includes one or more operational parameters relating to a respective one of the connections, and which is arranged to execute in a memory of the apparatus storage commands that are received in the apparatus and are associated with the connections having the pre-configured contexts, and, upon identifying a storage command associated with a context that is not pre-configured in the hardware-implemented front-end, to trigger software running in the CPU to configure the context in the hardware-implemented front-end, and then to execute the storage command in accordance with the context configured by the software.

8. The apparatus according to claim 7 , wherein the storage commands are received in accordance with a Serial Attached Storage (SAS) storage protocol.

9. The apparatus according to claim 7 , wherein the CPU, the hardware-implemented front-end and the memory are comprised in a Solid State Disk (SSD).

10. The apparatus according to claim 7 , wherein the hardware-implemented front-end is arranged to trigger the software by issuing an interrupt to the CPU.

11. The apparatus according to claim 7 , wherein the CPU is arranged to replace a previously-configured context in the hardware-implemented front-end with the context associated with the identified storage command.

12. The apparatus according to claim 7 , wherein the hardware-implemented front-end is arranged to execute the storage commands without involvement of the CPU.

13. The method of claim 1 , wherein the one or more operational parameters include tag tables.

14. The method of claim 1 , wherein the one or more operational parameters include compression state variables.

15. The method of claim 1 , wherein the one or more operational parameters include encryption state variables.

16. The method of claim 1 , wherein the one of more operational parameters includes a current offset of data being stored relative to a beginning of the data.

17. The apparatus of claim 7 , wherein the one or more operational parameters include tag tables.

18. The apparatus of claim 7 , wherein the one or more operational parameters include compression state variables.

19. The apparatus of claim 7 , wherein the one or more operational parameters include encryption state variables.

20. The apparatus of claim 7 , wherein the one of more operational parameters includes a current offset of data being stored relative to a beginning of the data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2012
From: ANOBIT TECHNOLOGIES LTD.
To: APPLE INC.
Reel/Frame 028399/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2012
From: PELED, ARIE
To: ANOBIT TECHNOLOGIES LTD
Reel/Frame 027992/0273 →
Continuity (3)
Provisional Application 61476287 · Apr 17, 2011
Provisional Application 61528771 · Aug 30, 2011
Related Publication 20120265903A1 · Oct 18, 2012