Communication apparatus, first communication apparatus, method of communication apparatus, and method of first communication apparatus
US-2024406188-A1 · Dec 5, 2024 · US
US11070979B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11070979-B2 |
| Application number | US-201615096683-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 12, 2016 |
| Priority date | Apr 15, 2015 |
| Publication date | Jul 20, 2021 |
| Grant date | Jul 20, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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, wherein processing, using the cluster, the at least one of an input or an output (I/O) request from a host and the metadata service comprises: determining 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, the determining including: computing a Hash value based on a volume identifier and an offset value the I/O request; determining a list of multiple hard disk drivers corresponding to the Hash value; querying the 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 indicating each input output load condition, 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, wherein the storage processor comprising the input output processing unit comprises a controller and at least two input output units, the controller realized within a Linux container running on the storage processor, each input output unit realized within a respective Linux container running on the storage processor. 2. The method according to claim 1 , wherein only a first modularized building block in the plurality of modularized building blocks comprises the storage processor; 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; OR constructing the scalable storage device by interconnecting each modularized building block in the plurality of modularized building blocks. 3. The method according to claim 1 , wherein the plurality of modularized building blocks comprise a first group of modularized building blocks and a second group of modularized building blocks, and only the first group of modularized building blocks comprises the storage processor; and wherein constructing the scalable storage device by combining a plurality of modularized building blocks comprises: constructing the scalable storage device by coupling each modularized building block in the first group of modularized building blocks and by coupling each modularized building block in the first group of modularized building blocks with one or more modularized building blocks in the second group of modularized building blocks. 4. The method according to claim 1 , wherein forming the 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 a metadata updating request; and each input output processing unit in the cluster capable of providing the metadata service and a data service. 5. The method according to claim 4 , further comprises: selecting another input output processing unit in the cluster as a new head of the cluster when the head of the cluster fails. 6. The method according to claim 1 , wherein a number of the hard disk drivers included in the list is defined by a terminal user. 7. The method according to claim 1 , wherein after selecting, based on a result of the querying, the input output processing unit for processing the I/O request, the method further comprises: sending the I/O request to the selected input output processing unit for processing the I/O request. 8. The method of claim 1 , wherein constructing the scalable storage device includes providing modularized building blocks of two types: a first type that includes a full-functional modularized engine (FFME) having both a disk enclosure and a storage processor, the storage processor having an input output processing unit (IOPU); and a second type that includes a disk driver-only modularized engine (DDME) having a disk enclosure but no storage processor, wherein the scalable storage device includes at least one modularized building block of the first type operatively connected within a single chassis to at least one modularized building block of the second type. 9. The method of claim 8 , wherein the scalable storage device includes at least two modularized building block of the first type, and wherein the method further comprises, upon receipt of an I/O request by a storage processor of a first modularized building block of the scalable storage device, the storage processor (i) determining that it is incapable of processing the I/O request and, in response to the determination, (ii) forwarding the I/O request to a second storage processor of a second modularized building block of the scalable storage device. 10. An apparatus of constructing a scalable storage device, comprising at least one processor; and at least one memory on which is stored computer program codes, wherein the at least one memory and the computer program codes are, 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, wherein the at least one memory and the computer program codes are further configured to determine a storage location for data according to a consistent Hash algorithm, such that the data is evenly distributed across all of the storage processors, the consistent Hash algorithm configured to produce a Hash value computed based on a volume identifier and an offset value the I/O request, and wherein the at least one memory and the computer program codes are further configured to: determine a list of multiple hard disk drivers corresponding to the Hash value; query the 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 select, based on a result of the query indicating each input output load condition, 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, wherein the storage processor comprising the input output processing unit comprises a controller and
Improving I/O performance · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
for access to memory bus (G06F13/28 takes precedence) · CPC title
in relation to content · CPC title
Configuration or reconfiguration of storage systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.