Flash electronic disk with RAID controller
First Claim
1. An apparatus, comprising:
- an IO (Input/Output) bus;
a host coupled to the IO bus;
a flash electronic disk coupled via the IO bus to the host, wherein the flash electronic disk incorporates one or more RAID features, said flash electronic disk comprising a flash controller having one or more RAID components, wherein the flash electronic disk includes a RAID control module to control the one or more RAID components, wherein the flash controller receives a read operation command or write operation command from the host and translates the read operation command or write operation command into a command format that can be understood by one or more flash memory devices;
wherein the flash electronic disk further comprises one or more flash memory devices and a flash interconnect coupled to the flash controller and to the one or more flash memory devices;
wherein the flash controller is configured to translate the command format into an instruction format that can be understood by the one or more flash memory devices;
wherein the one or more flash memory devices include one or more memory locations that can be accessed according to the instruction format to perform a read operation or write operation for the host;
wherein the flash interconnect is configured to handle data transmission between the host and the one or more flash memory devices;
wherein the flash memory devices comprise at least a first flash memory device, a second flash memory device, and a third flash memory device;
wherein the RAID control module in the flash controller is configured to distribute data from the host across the flash memory devices by data striping;
wherein the RAID control module distributes a first data stripe of the data into the first flash memory device, distributes a second data stripe of the data into the second flash memory device, and distributes a parity of the data into the third flash memory device;
wherein the flash controller is coupled to the IC bus;
a plurality of disks coupled to the IC bus, wherein the plurality of disks comprises a first disk, a second disk, and a third disk;
wherein the flash controller transfers the first data stripe in the first flash memory device to the first disk;
wherein the flash controller transfers the second data stripe in the second flash memory device to the second disk; and
wherein the flash controller transfers the parity of the data in the third flash memory device to the third disk.
2 Assignments
0 Petitions
Accused Products
Abstract
In an embodiment of the invention, a method is presented to operationally integrate one or more RAID control mechanisms into a flash electronic disk controller. The method includes incorporating one or more RAID features into a flash electronic disk by adding one or more RAID components in a flash controller, wherein the flash electronic disk includes a RAID control module to control the one or more RAID components; receiving a read or write operation command at a flash controller from a host; translating the read or write operation command into a command format understood by one or more flash controllers; translating the command format into an instruction format understood by one or more flash memory devices; and accessing one or more memory locations in the one or more flash memory devices according to the instruction format to perform a read or write operation for the host.
332 Citations
26 Claims
-
1. An apparatus, comprising:
-
an IO (Input/Output) bus; a host coupled to the IO bus; a flash electronic disk coupled via the IO bus to the host, wherein the flash electronic disk incorporates one or more RAID features, said flash electronic disk comprising a flash controller having one or more RAID components, wherein the flash electronic disk includes a RAID control module to control the one or more RAID components, wherein the flash controller receives a read operation command or write operation command from the host and translates the read operation command or write operation command into a command format that can be understood by one or more flash memory devices; wherein the flash electronic disk further comprises one or more flash memory devices and a flash interconnect coupled to the flash controller and to the one or more flash memory devices; wherein the flash controller is configured to translate the command format into an instruction format that can be understood by the one or more flash memory devices; wherein the one or more flash memory devices include one or more memory locations that can be accessed according to the instruction format to perform a read operation or write operation for the host; wherein the flash interconnect is configured to handle data transmission between the host and the one or more flash memory devices; wherein the flash memory devices comprise at least a first flash memory device, a second flash memory device, and a third flash memory device; wherein the RAID control module in the flash controller is configured to distribute data from the host across the flash memory devices by data striping; wherein the RAID control module distributes a first data stripe of the data into the first flash memory device, distributes a second data stripe of the data into the second flash memory device, and distributes a parity of the data into the third flash memory device; wherein the flash controller is coupled to the IC bus; a plurality of disks coupled to the IC bus, wherein the plurality of disks comprises a first disk, a second disk, and a third disk; wherein the flash controller transfers the first data stripe in the first flash memory device to the first disk; wherein the flash controller transfers the second data stripe in the second flash memory device to the second disk; and wherein the flash controller transfers the parity of the data in the third flash memory device to the third disk. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
incorporating one or more RAID features into a flash electronic disk by adding one or more RAID components in a flash controller, wherein the flash electronic disk includes a RAID control module to control the one or more RAID components; receiving a read operation command or write operation command at the flash electronic disk from a host; translating the read operation command or write operation command into a command format understood by one or more flash memory devices; translating the command format into an instruction format understood by one or more flash memory devices; handling, by a flash interconnect coupled to the flash controller and to the one or more flash memory devices, data transmission between the host and the one or more flash memory devices; accessing one or more memory locations in the one or more flash memory devices according to the instruction format to perform a read operation or write operation for the host; distributing, by the RAID control module in the flash controller, data from the host across the one or more flash memory devices by data striping; wherein the one or more flash memory devices comprise at least a first flash memory device, a second flash memory device, and a third flash memory device; wherein the RAID control module distributes a first data stripe of the data into the first flash memory device, distributes a second data stripe of the data into the second flash memory device, and distributes a parity of the data into the third flash memory device; wherein the host and the flash controller are both coupled to an IC (input/output) bus; wherein a plurality of disks is coupled to the IC bus, wherein the plurality of disks comprises a first disk, a second disk, and a third disk; transferring, by the flash controller, the first data stripe in the first flash memory device to the first disk; transferring, by the flash controller, the second data stripe in the second flash memory device to the second disk; and transferring, by the flash controller, the parity of the data in the third flash memory device to the third disk. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method comprising:
-
incorporating one or more RAID features into a flash electronic disk by adding one or more RAID components in a flash controller, wherein the flash electronic disk includes a RAID control module to control the one or more RAID components, including adding the RAID control module having an XOR engine that is used during one or more parity calculations, adding a RAID cache that serves as a temporary data storage during the one or more parity calculations and adding a mapping table for address translation of one or more commands received from a host; receiving a read operation command or write operation command at the flash electronic disk from the host; translating the read operation command or write operation command into a command format understood by one or more flash memory devices; translating the command format into an instruction format understood by one or more flash memory devices; handling, by a flash interconnect coupled to the flash controller and to the one or more flash memory devices, data transmission between the host and the one or more flash memory devices; accessing one or more memory locations in the one or more flash memory devices according to the instruction format to perform a read operation or write operation for the host; distributing, by the RAID control module in the flash controller, data from the host across the one or more flash memory devices by data striping; wherein the one or more flash memory devices comprise at least a first flash memory device, a second flash memory device, and a third flash memory device; wherein the RAID control module distributes a first data stripe of the data into the first flash memory device, distributes a second data stripe of the data into the second flash memory device, and distributes a parity of the data into the third flash memory device; wherein the host and the flash controller are both coupled to an IC (input/output) bus; wherein a plurality of disks is coupled to the IC bus, wherein the plurality of disks comprises a first disk, a second disk, and a third disk; transferring, by the flash controller, the first data stripe in the first flash memory device to the first disk; transferring, by the flash controller, the second data stripe in the second flash memory device to the second disk; and transferring, by the flash controller, the parity of the data in the third flash memory device to the third disk.
-
-
21. An apparatus comprising:
-
a flash electronic disk comprising; a flash controller, wherein the flash controller includes a RAID controller; a plurality of flash memory devices; and a flash interconnect coupled to the flash controller and to the plurality of flash memory devices; wherein the flash electronic disk receives write and read commands from a host; wherein the flash controller is configured to translate the write and read commands into flash native commands which are understood by the plurality of flash memory devices; wherein the flash interconnect is configured to handle data transmission between the host and the plurality of flash memory devices; wherein the plurality of flash memory devices comprises at least a first flash memory device, a second flash memory device, and a third flash memory device; wherein the RAID controller in the flash controller is configured to distribute data from the host across the plurality of flash memory devices by data striping; wherein the RAID controller distributes a first data stripe of the data into the first flash memory device, distributes a second data stripe of the data into the second flash memory device, and distributes a parity of the data into the third flash memory device; wherein the flash controller and the host are both coupled to an IC (input/output) bus; wherein a plurality of disks is coupled to the IO bus, wherein the plurality of disks comprises a first disk, a second disk, and a third disk; wherein the flash controller transfers the first data stripe in the first flash memory device to the first disk; wherein the flash controller transfers the second data stripe in the second flash memory device to the second disk; and wherein the flash controller transfers the parity of the data in the third flash memory device to the third disk. - View Dependent Claims (22)
-
-
23. A method comprising:
-
receiving, by a flash electronic disk, write and read commands from a host; translating, by a flash controller in the flash electronic disk, the write and read commands into flash native commands which are understood by a plurality of flash memory devices in the flash electronic disk; handling, by a flash interconnect coupled to the flash controller and to the plurality of flash memory devices, data transmission between the host and the plurality of flash memory devices; distributing, by a RAID controller in the flash controller, data from the host across the plurality of flash memory devices by data striping; wherein the plurality of flash memory devices comprises at least a first flash memory device, a second flash memory device, and a third flash memory device; wherein the RAID controller distributes a first data stripe of the data into the first flash memory device, distributes a second data stripe of the data into the second flash memory device, and distributes a parity of the data into the third flash memory device; wherein the host and the flash controller are both coupled to an IO (input/output) bus; wherein a plurality of disks is coupled to the IO bus, wherein the plurality of disks comprises a first disk, a second disk, and a third disk; transferring, by the flash controller, the first data stripe in the first flash memory device to the first disk; transferring, by the flash controller, the second data stripe in the second flash memory device to the second disk; and transferring, by the flash controller, the parity of the data in the third flash memory device to the third disk. - View Dependent Claims (24)
-
-
25. An article of manufacture, comprising:
-
a non-transitory computer-readable medium having stored thereon instructions operable to permit an apparatus to; receive, by a flash electronic disk, write and read commands from a host; translate, by a flash controller in the flash electronic disk, the write and read commands into flash native commands which are understood by a plurality of flash memory devices in the flash electronic disk; handle, by a flash interconnect coupled to the flash controller and to the plurality of flash memory devices, data transmission between the host and the plurality of flash memory devices; distribute, by a RAID controller in the flash controller, data from the host across the plurality of flash memory devices by data striping; wherein the plurality of flash memory devices comprises at least a first flash memory device, a second flash memory device, and a third flash memory device; wherein the RAID controller distributes a first data stripe of the data into the first flash memory device, distributes a second data stripe of the data into the second flash memory device, and distributes a parity of the data into the third flash memory device; wherein the host and the flash controller are both coupled to an IO (input/output) bus; wherein a plurality of disks is coupled to the IO bus, wherein the plurality of disks comprises a first disk, a second disk, and a third disk; transfer, by the flash controller, the first data stripe in the first flash memory device to the first disk; transfer, by the flash controller, the second data stripe in the second flash memory device to the second disk; and transfer, by the flash controller, the parity of the data in the third flash memory device to the third disk. - View Dependent Claims (26)
-
Specification