Scalable hard-drive replicator
First Claim
1. A data replication system comprising:
- a host to output data;
a plurality of data storage devices capable of persistent storage of the data;
a data storage replication component comprising;
(i) a primary interface programmable to mimic behavior of a data storage device to receive the data from the host data storage device;
(ii) a plurality of host interfaces, wherein each of the host interfaces mimics behavior of a host for outputting the data to the plurality of data storage devices; and
(iii) an internal interconnect for communication between the primary interface and each of the host interfaces; and
an external interconnect to facilitate communication between the host and the primary interface of the data storage replication component,wherein the data storage replication component replicates the data received from the primary interface to each data storage device in the plurality of data storage devices.
3 Assignments
0 Petitions
Accused Products
Abstract
In general, the invention is directed to techniques of scalable replication of data in persistent or volatile data storage devices. In particular, a computing device comprises a host acting as a device host for a data storage device and a plurality of data storage devices capable of persistent storage of data. A data storage replication component in the computing device acts as a data storage device. This data storage replication component comprises a device interface and a plurality of host interfaces. Each of the host interfaces acts as a device host for one or more data storage devices in the plurality of data storage devices. The primary data storage replication component may cause instructions (e.g., read, write, and control instructions) and data received from the host to be replicated on each data storage device in the plurality of data storage devices.
-
Citations
32 Claims
-
1. A data replication system comprising:
-
a host to output data; a plurality of data storage devices capable of persistent storage of the data; a data storage replication component comprising; (i) a primary interface programmable to mimic behavior of a data storage device to receive the data from the host data storage device; (ii) a plurality of host interfaces, wherein each of the host interfaces mimics behavior of a host for outputting the data to the plurality of data storage devices; and (iii) an internal interconnect for communication between the primary interface and each of the host interfaces; and an external interconnect to facilitate communication between the host and the primary interface of the data storage replication component, wherein the data storage replication component replicates the data received from the primary interface to each data storage device in the plurality of data storage devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
wherein the primary interface acts as a device on the external interconnect.
-
-
5. The data replication system of claim 1,
wherein the internal interconnect of the data storage replication component further comprises a first shared bus and a second shared bus that couple the primary interface and the host interfaces of the data storage replication component, wherein the second shared bus is a different bus type than the first shared bus. -
6. The data replication system of claim 5,
wherein the first shared bus is an Advanced Technology Attachment (ATA) bus and the second shared bus is a Small Computer System Interface (SCSI). -
7. The data replication system of claim 1,
wherein the external interconnect and at least one of a plurality of interconnects that couple the host interfaces of the data storage replication component and the data storage devices, are of different data storage bus formats. -
8. The data replication system of claim 1,
wherein two or more data storage devices in the plurality of data storage devices are coupled to a same one of the host interfaces of the data storage replication component. -
9. The data replication system of claim 1,
wherein the data storage replication component further comprises a component controller to convert instructions in an interconnect format of the external interconnect into one or more instructions in an interconnect format of the internal interconnect. -
10. The data replication system of claim 1,
wherein the data storage replication component is a first data storage replication component and wherein the plurality of data storage devices is a first plurality of data storage devices; -
wherein the system further comprises; a second data storage replication component operating to mimic a data storage device; an interconnect coupling the first data storage replication component and the second data storage replication component; a second plurality of data storage devices; and wherein the second data storage replication component replicates the data received from the first data storage component to each data storage device in the second plurality of data storage devices.
-
-
11. The data replication system of claim 10,
wherein the first data storage replication component, the first plurality of data storage devices, the second data storage replication component, and the second plurality of data storage devices are arranged in a tree configuration where the host is a root of the tree, the first and second plurality of data storage devices are leaf nodes of the tree, and the first and second data storage replication components are intermediate nodes of the tree. -
12. The data replication system of claim 1,
wherein one or more data storage devices in the plurality of data storage devices comprise solid state disks (SSDs). -
13. The data replication system of claim 11,
wherein a combination of the data storage replication component and the SSDs acts as a single virtual SSD. -
14. The data replication system of claim 1,
wherein the data storage replication component replicates the data received from the primary interface to each data storage device in the plurality of data storage devices with substantial simultaneity. -
15. The data replication system of claim 1, wherein the host comprises a dedicated duplication device.
-
16. The data replication system of claim 1, wherein the data storage replication component initializes the plurality of data storage devices.
-
17. The data replication system of claim 16, wherein the data storage replication component initializes the plurality of data storage devices without reading from a source drive.
-
18. The data replication system of claim 1,
wherein the data replication component comprises a plurality of data queues associated with respective ones the data storage devices, wherein each of the data queues is associated with a flag indicating whether the data queues are full; - and
wherein when the data storage replication component initializes the plurality of data storage devices, the data storage replication components sets the flag to indicate that the data queues are never full.
- and
-
19. The data replication system of claim 1, wherein the internal interconnect comprises an asynchronous register access path and a synchronous data path.
-
20. The data replication system of claim 18, wherein the asynchronous register access path comprises a bi-directional data bus, an address bus, a control bus, and a disk address bus.
-
21. The data replication system of claim 18, wherein the synchronous data path comprises a Direct Memory Access bus, control signals, and a common clock.
-
22. A method for replicating a source data storage device comprising:
-
executing a backup software application on a host to read data from a source data storage device and to output the data; receiving the data from the host using a primary interface of a data storage replication component that appears to the host as a data storage device; communicating the data from the primary interface of the data storage replication component to a plurality of host interfaces on the data storage replication component via an internal interconnect, wherein the host interfaces of the data storage replication component are coupled to a plurality of different data storage devices by respective independent data storage busses; and concurrently writing the data from the plurality of host interfaces to the plurality of data storage devices via the independent data storage busses to produce a plurality of replicas of the source data storage device. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
-
30. A data storage replication component comprising:
-
a primary interface programmable in a first mode to mimic behavior of a data storage device that is capable of receiving data from a host data storage device for replication and in a second mode to mimic behavior of a host that is capable of operating as a source of data to be replicated; a plurality of host interfaces, wherein each of the host interfaces mimics behavior of a host that is capable of outputting the data to a plurality of data storage devices; and an internal interconnect for communication of the data from the primary interface to each of the host interfaces. - View Dependent Claims (31, 32)
-
Specification