CONSTRUCTING A SCALABLE STORAGE DEVICE, AND SCALED STORAGE DEVICE
First Claim
1. A method of constructing a scalable storage device, the method comprising:
- constructing a scalable storage device by combining a plurality of modularized building blocks;
wherein each modularized building block comprises a magnetic disk enclosure; and
at least one modularized building block in the plurality of modularized building blocks comprises a storage processor, the storage processor comprising an input output processing unit;
forming a cluster using the input output processing unit in the at least one modularized building block; and
processing, using the cluster, at least one of an input or an output (I/O) request from a host and a metadata service.
9 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the present disclosure relate to a method an apparatus and a computer program product for constructing a scalable storage device by constructing the scalable storage device by combining a plurality of modularized building blocks; wherein each modularized building block in the plurality of modularized building blocks comprises a magnetic disk enclosure; and at least one modularized building block in the plurality of modularized building blocks comprises a storage processor, the storage processor comprising an input output processing unit; forming a cluster using the input output processing unit in the at least one modularized building block; and processing, using the cluster, an input or output (I/O) request from a host and metadata service.
-
Citations
20 Claims
-
1. A method of constructing a scalable storage device, the method comprising:
-
constructing a scalable storage device by combining a plurality of modularized building blocks;
wherein each modularized building block comprises a magnetic disk enclosure; and
at least one modularized building block in the plurality of modularized building blocks comprises a storage processor, the storage processor comprising an input output processing unit;forming a cluster using the input output processing unit in the at least one modularized building block; and processing, using the cluster, at least one of an input or an output (I/O) request from a host and a metadata service. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus of constructing a scalable storage device, comprising at least one processor;
- and at least one memory comprising computer program codes, wherein the at least one memory and the computer program codes are configured, with the at least one processor, configured to;
construct a scalable storage device by combining a plurality of modularized building blocks;
wherein each modularized building block comprises a magnetic disk enclosure; and
at least one modularized building block in the plurality of modularized building blocks comprises a storage processor, the storage processor comprising an input output processing unit;form a cluster using the input output processing unit in the at least one modularized building block; and process, using the cluster, at least one of an input or an output (I/O) request from a host and a metadata service. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
- and at least one memory comprising computer program codes, wherein the at least one memory and the computer program codes are configured, with the at least one processor, configured to;
-
19. A computer program product, the computer program product being embodied in a computer-readable medium and includes a computer readable program instruction, and when being loaded into an apparatus, the computer-readable program instruction performs
constructing a scalable storage device by combining a plurality of modularized building blocks; - wherein each modularized building block comprises a magnetic disk enclosure; and
at least one modularized building block in the plurality of modularized building blocks comprises a storage processor, the storage processor comprising an input output processing unit; and
wherein constructing the scalable storage device by combining a plurality of modularized building blocks comprises performing at least one of;constructing the scalable storage device by coupling the first modularized building block to each of other modularized building blocks in the plurality of modularized building blocks;
ORconstructing the scalable storage device by interconnecting each modularized building block in the plurality of modularized building blocks; forming a cluster using the input output processing unit in the at least one modularized building block, and wherein forming a cluster using the input output processing unit in the at least one modularized building block further comprises; selecting one input output processing unit in the cluster as a head of the cluster;
wherein the head of the cluster serves the a metadata updating request; and
each input output processing unit in the cluster capable of providing the metadata service and a data service, and selecting another input output processing unit in the cluster as a new head of the cluster when the head of the cluster fails; andprocessing, using the cluster, at least one of an input or an output (I/O) request from a host and a metadata service, and wherein processing, using the cluster, at least one of an input or an output (I/O) request from a host and a metadata service comprises performing at least one of; on detecting commencing of operations by one input output processing unit, notifying other input output processing units of a local magnetic disk attached to the one input output processing unit through the metadata service;
ORdetermining a storage location for data according to a consistent Hash algorithm, such that the data is evenly distributed across the plurality of modularized building blocks, and wherein determining a storage location for data according to a consistent Hash algorithm comprises; computing a Hash value based on a volume identifier and an offset value the I/O request; determining a list of hard disk drivers corresponding to the Hash value; querying a metadata service, to determine input output processing units directly attached to the hard disk drivers in the list, and obtain an input output load condition of each input output processing unit in the determined input output processing units; and selecting, based on a result of the querying, an input output processing unit for processing the I/O request from among the determined input output processing units directly attached to the hard disk drivers in the list, and wherein a number of the hard disk drivers included in the list is more than 1, and the number defined by a terminal user; and sending the I/O request to the selected input output processing unit for processing the I/O request - View Dependent Claims (20)
- wherein each modularized building block comprises a magnetic disk enclosure; and
Specification