Method and system for a storage device
First Claim
Patent Images
1. A storage device, comprising:
- an enclosure including a processor;
a first interface operable to interface with a first I/O bus and receive a first command for storing data utilizing a first protocol, wherein the storage device appears as a single storage device on the first I/O bus;
a second interface operable to interface with a plurality of second I/O buses to store the data corresponding to the first command, a first I/O bus of the plurality of second I/O buses utilizing a second protocol associated with a first type of storage media selected for non-critical data storage and a second I/O bus of the plurality of second I/O buses utilizing a third protocol associated with a second type of storage media selected for critical data storage and different from the second protocol, each of the plurality of second I/O buses coupled to one or more storage media; and
a controller comprising a memory for storing a set of instructions executable by the processor to determine a type of storage media into which the data is to be stored;
a plurality of queues operable to buffer the first command received through the first interface, wherein a first set of queues is configured to buffer commands associated with the first type of storage media and a second set of queues is configured to buffer commands associated with the second type of storage media;
a map operable to map an address for the first command received on the first I/O bus to one or more physical addresses corresponding to the one or more storage media coupled to the second I/O buses associated with the type of storage media into which the data is to be stored; and
a translator operable to configure a communication in the first protocol, the second protocol or the third protocol,wherein the controller is operable to store the data on the one or more storage media coupled to the plurality of second I/O buses and to implement a level of RAID in conjunction with two or more storage media coupled to the plurality of second I/O buses by buffering the first command in the first set of queues or the second set of queues based on the determination that the data is non-critical or critical and translating the first command to one or more second commands according to the second protocol or the third protocol to implement the first command in conjunction with the level of RAID.
15 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for storage devices are presented. More specifically, in one embodiment a storage device may comprise have an enclosure comprising an interface which may be coupled to an I/O bus of a computing system with which it is being utilized. Commands may be received through the interface and, invisibly to the computing system which issues the commands, translated into a set of commands configured to effectuate the received command in conjunction with one or more storage media coupled to the interface, where this set of commands may also be configured to implement additional functionality such as RAID or data encryption in conjunction with the storage media.
66 Citations
20 Claims
-
1. A storage device, comprising:
-
an enclosure including a processor; a first interface operable to interface with a first I/O bus and receive a first command for storing data utilizing a first protocol, wherein the storage device appears as a single storage device on the first I/O bus; a second interface operable to interface with a plurality of second I/O buses to store the data corresponding to the first command, a first I/O bus of the plurality of second I/O buses utilizing a second protocol associated with a first type of storage media selected for non-critical data storage and a second I/O bus of the plurality of second I/O buses utilizing a third protocol associated with a second type of storage media selected for critical data storage and different from the second protocol, each of the plurality of second I/O buses coupled to one or more storage media; and a controller comprising a memory for storing a set of instructions executable by the processor to determine a type of storage media into which the data is to be stored; a plurality of queues operable to buffer the first command received through the first interface, wherein a first set of queues is configured to buffer commands associated with the first type of storage media and a second set of queues is configured to buffer commands associated with the second type of storage media; a map operable to map an address for the first command received on the first I/O bus to one or more physical addresses corresponding to the one or more storage media coupled to the second I/O buses associated with the type of storage media into which the data is to be stored; and a translator operable to configure a communication in the first protocol, the second protocol or the third protocol, wherein the controller is operable to store the data on the one or more storage media coupled to the plurality of second I/O buses and to implement a level of RAID in conjunction with two or more storage media coupled to the plurality of second I/O buses by buffering the first command in the first set of queues or the second set of queues based on the determination that the data is non-critical or critical and translating the first command to one or more second commands according to the second protocol or the third protocol to implement the first command in conjunction with the level of RAID. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for implementing a storage device having an enclosure with a processor and a non-transitory computer-readable medium storing a set of instructions executable for:
-
receiving a first command through a first interface of the storage device operable to interface with a first I/O bus utilizing a first protocol, wherein the storage device comprises a plurality of second I/O buses including a first I/O bus of the plurality of second I/O buses utilizing a second protocol associated with a first type of storage media selected for non-critical data storage and a second bus of the plurality of second I/O buses utilizing a third protocol associated with a second type of storage media selected for critical data storage and different from the second protocol, wherein each I/O bus of the plurality of second I/O buses is operable to couple to one or more storage media; determining a type of storage media into which the data is to be stored, buffering the first command in one or more of a plurality of queues, wherein a first set of queues is configured to buffer commands associated with the first type of storage media and a second set of queues is configured to buffer commands associated with the second type of storage media; mapping an address for the first command received on the first I/O bus to one or more addresses corresponding to the one or more storage media coupled to the second I/O buses; translating the first command to one or more second commands according to the second protocol or the third protocol; storing the data in the one or more storage media, wherein the storage device is operable to map an address for the first command received on the first I/O bus to one or more physical addresses corresponding to the first type of storage media coupled to the first I/O bus of the plurality of second I/O buses or the second type of storage media coupled to the second I/O bus of the plurality of second I/O buses such that the storage device appears as a single storage device on the first I/O bus; and implementing a level of RAID in conjunction with two or more storage media coupled to the plurality of second I/O buses by buffering the first command received through the first interface in one queue of the first set of queues or the second set of queues based on the determination that the data is non-critical or critical and translating the first command received on the first I/O bus to one or more second commands according to the second protocol or the third protocol to implement the first command in conjunction with the level of RAID. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification