IP Library Patent Application 12509404
Patent Application
App. No. 12/509,404

FLASH STORAGE WITH ARRAY OF ATTACHED DEVICES

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 None
App. No.
12/509,404
Abstract

A flash storage system includes a flash storage controller coupled to storage modules of a flash storage array via universal serial buses. Each storage module includes at least one flash memory device. The flash storage controller receives a programming command of a communication protocol and generates universal serial bus commands based on the programming command. The flash storage controller issues the universal serial bus commands to storage modules in the flash storage array via the universal serial buses. The storage modules process the universal serial bus commands to access data in the flash storage devices of the storage modules.

Claims (41)

1 . A system comprising:

a plurality of universal serial buses;

a plurality of storage modules each coupled to a universal serial bus of the plurality of universal serial buses, each storage module comprising at least one flash storage device; and

a flash storage controller coupled to the plurality of universal serial buses, the flash storage controller configured to receive a programming command of a communication protocol, generate at least one universal serial bus command based on the programming command, and issue the at least one universal serial bus command to at least one storage module of the plurality of storage modules via at least one universal serial bus of the plurality of universal serial buses for accessing data in the at least one flash storage device of the at least one storage module.

2 . The system of claim 1 , wherein each storage module comprises a plurality of flash storage devices.

3 . The system of claim 1 , wherein each universal serial bus is a differential bus.

4 . The system of claim 1 , wherein the communication protocol is a block-based storage area network protocol.

5 . The system of claim 1 , wherein the flash storage controller comprises:

a protocol controller configured to receive the programming command and generate the programming instructions based on the programming command; and

a processor coupled to the protocol controller and configured to generate the at least one universal serial bus command based on the programming instructions.

6 . The system of claim 5 , further comprising a data buffer coupled to the processor, the processor further configured to write the data into the data buffer.

7 . The system of claim 1 , wherein the at least one storage module comprises:

a plurality of flash storage devices comprising the at least one flash storage device; and

a universal serial bus controller coupled to the plurality of universal serial buses, the universal serial bus controller configured to process the at least one universal serial bus command to access the data in the at least one flash storage device of the plurality of flash storage devices.

8 . The system of claim 1 , wherein the plurality of universal serial buses comprises a first universal serial bus coupled to the flash storage controller and a second universal serial bus coupled to the flash storage controller, the plurality of storage modules comprises a first storage module coupled to the first universal serial bus and a second storage module coupled to the second universal serial bus, and the at least one universal serial bus command comprises a first universal serial bus command and a second universal serial bus command, the flash storage controller further configured to issue the first universal serial bus command to the first storage module via the first universal serial bus for accessing data in the first storage module and to issue the second universal serial bus command to the second storage module for accessing data in the second storage module.

9 . The system of claim 8 , wherein the first storage module comprises:

a first plurality of flash storage devices comprising the at least one flash storage device of the first storage module; and

a first universal serial bus controller coupled to the first universal serial bus, the first universal serial bus controller configured to process the first universal serial bus command to access the data in the at least one flash storage device of the first plurality of flash storage devices.

10 . The system of claim 9 , wherein the second storage module comprises:

a second plurality of flash storage devices comprising the at least one flash storage device of the second storage module; and

a second universal serial bus controller coupled to the second universal serial bus, the second universal serial bus controller configured to process the second universal serial bus command to access the data in the at least one flash storage device of the second plurality of flash storage devices.

11 . A method comprising:

receiving a programming command of a communication protocol;

generating at least one universal serial bus command based on the programming command; and

issuing the at least one universal serial bus command to at least one storage module via at least one universal serial bus for accessing data in at least one flash storage device of the at least one storage module.

12 . The method of claim 11 , wherein issuing the at least one universal serial bus command to the at least one storage module via the at least one universal serial bus comprises issuing the at least one universal serial bus command to the at least one storage module via at least one differential universal serial bus.

13 . The method of claim 11 , wherein receiving the programming command of the communication protocol comprises receiving a programming command of a block-based storage area network protocol.

14 . The method of claim 11 , further comprising accessing data in the at least one flash storage device of the at least one storage module.

15 . The method of claim 11 , wherein generating the at least one universal serial bus command based on the programming instructions further comprises generating a first universal serial bus command and a second serial bus command based on the programming instructions, and wherein issuing the at least one universal serial bus command to at least one storage module via at least one universal serial bus comprises issuing the first universal serial bus command to a first storage module comprising at least one flash storage device via a first universal serial bus and issuing the second universal serial bus command to a second storage module comprising at least one flash storage device via a second universal serial bus.

16 . The method of claim 15 , further comprising:

processing the first universal serial bus command to access data in the at least one flash storage device of the first storage module; and

processing the second universal serial bus command to access data in the at least one flash storage device of the second storage module.

17 . A system comprising:

means for receiving a programming command of a communication protocol;

means for generating at least one universal serial bus command based on the programming command; and

means for issuing the at least one universal serial bus command to at least one storage module via at least one universal serial bus for accessing data in at least one flash storage device of the at least one storage module.

18 . The system of claim 17 , further comprising means for accessing the data in the at least one flash storage module.

19 . The system of claim 17 , wherein the universal serial bus is a differential bus.

20 . The system of claim 17 , further comprising:

means for generating programming instructions based on the programming command; and

means for generating the at least one universal serial bus command based on the programming instructions.

Assignments (3)
CHANGE OF NAME Recorded Jul 1, 2015
From: STEC, INC.
To: HGST TECHNOLOGIES SANTA ANA, INC.
Reel/Frame 036042/0390 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2013
From: SADR, SEYED JALAL
To: STEC, INC.
Reel/Frame 029607/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2009
From: MOSHAYEDI, MARK
To: STEC, INC.
Reel/Frame 023341/0848 →