APPARATUS AND METHOD FOR BLOCK-BASED DATA STRIPING TO SOLID-STATE MEMORY MODULES WITH OPTIONAL DATA FORMAT PROTOCOL TRANSLATION
First Claim
1. An apparatus, comprising:
- an SATA to ATA bridge;
an ATA to USB bridge coupled to the SATA to ATA bridge;
a USB interface coupled to the ATA to USB bridge;
a block data striper coupled to the ATA to USB bridge and the USB interface;
a first FLASH memory controller coupled to the USB interface;
a first FLASH memory module coupled to the first FLASH memory controller;
a second FLASH memory controller coupled to the USB interface; and
a second FLASH memory module coupled to the second FLASH memory controller.
2 Assignments
0 Petitions
Accused Products
Abstract
In various embodiments, options for data striping to FLASH memory are provided. In one embodiment, an apparatus is provided. The apparatus includes an SATA to ATA bridge, an ATA to USB bridge coupled to the SATA to ATA bridge, and a USB interface coupled to the ATA to USB bridge. The apparatus also includes a first FLASH memory controller coupled to the USB interface. The apparatus further includes a first FLASH memory module coupled to the first FLASH memory controller. The apparatus also includes a second FLASH memory controller coupled to the USB interface and a second FLASH memory module coupled to the second FLASH memory controller. A method for block striping data to or from a plurality of read or write channels.
56 Citations
38 Claims
-
1. An apparatus, comprising:
-
an SATA to ATA bridge; an ATA to USB bridge coupled to the SATA to ATA bridge; a USB interface coupled to the ATA to USB bridge; a block data striper coupled to the ATA to USB bridge and the USB interface; a first FLASH memory controller coupled to the USB interface; a first FLASH memory module coupled to the first FLASH memory controller; a second FLASH memory controller coupled to the USB interface; and a second FLASH memory module coupled to the second FLASH memory controller. - View Dependent Claims (2, 3, 9, 10, 11)
-
-
4. (canceled)
-
5. (canceled)
-
6. (canceled)
-
7. (canceled)
-
8. (canceled)
-
12. (canceled)
-
13. A method, comprising:
-
receiving data via an SATA bus; translating the data into ATA format; separating the data into blocks; packaging the data in blocks for USB transmission; transferring the data in blocks in USB format; and storing the data in blocks in a set of FLASH memory modules. - View Dependent Claims (14, 15, 16)
-
-
17. A method, comprising:
-
receiving a data request in SATA format; translating the request into USB format; relaying the request to memory based on block locations of the request; retrieving corresponding data from memory; transferring the corresponding data in USB format; transforming the corresponding data to SATA format; and transferring the corresponding data as a response to the request.
-
-
18. (canceled)
-
19. (canceled)
-
20. (canceled)
-
21. An apparatus comprising:
-
an interface configured to receive data for writing data to a storage system or for reading data from the storage system, the storage system having a plurality of memory modules; a plurality of memory controllers each coupled to the interface, wherein a memory module is coupled to each of the plurality of memory controllers; and a block data striper coupled to the interface and to the plurality of memory controllers. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method, comprising:
-
receiving data having a first data format via a first bus; translating the data received data from the first format into a second data format; separating the translated data into blocks; packaging the translated data in blocks for transmission; transferring the data in blocks in a third data format; and storing the transferred data in blocks in a set of FLASH memory modules. - View Dependent Claims (34, 35)
-
-
36. A method comprising:
-
receiving a data request in a first data format; translating the request into a third data format; relaying the request to memory based on block locations of the request; retrieving corresponding data from memory; transferring the corresponding data in the third data format; transforming the corresponding data to the first data format; and transferring the corresponding data as a response to the request. - View Dependent Claims (37, 38)
-
Specification