JP2023510500A - ストレージシステムにおけるデータ記憶方法、データ読み出し方法、データ記憶装置、データ読み出し装置、ストレージデバイス、およびシステム - Google Patents

ストレージシステムにおけるデータ記憶方法、データ読み出し方法、データ記憶装置、データ読み出し装置、ストレージデバイス、およびシステム Download PDF

Info

Publication number
JP2023510500A
JP2023510500A JP2022536646A JP2022536646A JP2023510500A JP 2023510500 A JP2023510500 A JP 2023510500A JP 2022536646 A JP2022536646 A JP 2022536646A JP 2022536646 A JP2022536646 A JP 2022536646A JP 2023510500 A JP2023510500 A JP 2023510500A
Authority
JP
Japan
Prior art keywords
hard disk
storage
units
data
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022536646A
Other languages
English (en)
Inventor
チェン、キャン
チェン、ミン
タン、チュンイ
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2023510500A publication Critical patent/JP2023510500A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本願は、ストレージシステムにおけるデータ記憶方法、データ読み出し方法、および装置、ならびにシステムを開示し、本願は情報技術の分野に属する。本方法は、第1デバイスがM個のデータユニット用にN個のチェックユニットを生成する段階を含み、MおよびNは両方とも正の整数であり、M+N=Kである。第1デバイスは、ストレージシステム内にあるK個のハードディスクモジュールにK個のユニットを格納し、K個のユニットはM個のデータユニットおよびN個のチェックユニットを含む。K個のハードディスクモジュールのそれぞれは、K個のユニットのうちの1つを格納する。それぞれのハードディスクモジュールはインタフェースモジュールおよびハードディスクを含み、インタフェースモジュールはハードディスクとやり取りする。本願では、ストレージシステム内にあるストレージリソースを十分に利用することができる。

Description

本願は、2020年1月8日に出願した「ストレージシステムにおけるデータ記憶方法およびストレージシステム(DATA STORAGE METHOD IN STORAGE SYSTEM AND STORAGE SYSTEM)」と題する中国特許出願第202010018706.6号に基づく優先権を主張し、また2020年2月17日に出願した「ストレージシステムにおけるデータ記憶方法、データ読み出し方法、および装置、ならびにシステム(DATA STORAGE METHOD, DATA READING METHOD, AND APPARATUS IN STORAGE SYSTEM, AND SYSTEM)」と題する中国特許出願第202010096222.3号に基づく優先権を主張する。これら両方の中国特許出願はその全体が参照により明細書に組み込まれる。
本願は情報技術の分野に関し、具体的には、ストレージシステムにおけるデータ記憶方法、データ読み出し方法、および装置、ならびにシステムに関する。
分散型ストレージシステムには、複数のストレージノードが含まれ得る。これらのストレージノードはストレージサーバであり、各ストレージサーバにはストレージリソース、例えば、複数のハードディスクが含まれている。分散型ストレージシステムは、ストレージノード上のストレージリソースを編成して、ストレージサービスを提供する。
分散型ストレージシステムにデータを格納する場合、通常、クライアントがデータをM個のデータユニットに分割し、イレージャーコーディング(EC)アルゴリズムに従って、これらのデータユニットのN個のチェックユニットを取得する。クライアントは、M個のデータユニットおよびN個のチェックユニットを[M+N]個のストレージノードに格納する、すなわち、[M+N]個のストレージノードのうちの1つが、1つの対応するユニット(データユニットまたはチェックユニット)を格納する。
ハードディスクの容量が増加し、ストレージノードにはより多くのハードディスクを搭載することができるが、それでもクライアントは、データを格納するときに、ECアルゴリズムベースのストレージ粒度としてストレージノードを用いる。その結果、ハードディスクのストレージリソースを十分に利用することができない。
本願は、ストレージシステムにおけるデータ記憶方法、データ読み出し方法、および装置、ならびに本システムを提供して、ストレージシステム内にあるストレージリソースを十分に利用する。その技術的解決手段は、以下の通りである。
第1態様によれば、本願の一実施形態がストレージシステムにおけるデータ記憶方法を提供する。本方法は、第1デバイスがM個のデータユニット用にN個のチェックユニットを生成する段階を含み、MおよびNは両方とも正の整数であり、M+N=Kである。第1デバイスは、ストレージシステム内にあるK個のハードディスクモジュールにK個のユニットを格納し、K個のユニットはM個のデータユニットおよびN個のチェックユニットを含む。K個のハードディスクモジュールのそれぞれは、K個のユニットのうちの1つを格納する。それぞれのハードディスクモジュールはインタフェースモジュールおよびハードディスクを含み、インタフェースモジュールはハードディスクとやり取りする。
このように、ストレージシステム内にあるハードディスクモジュールの粒度で記憶が行われる。すなわち、K個のハードディスクモジュールを用いて、K個の対応するユニットを格納する。これにより、ストレージノードの粒度で記憶が行われる従来の技術と比較すると、ハードディスクモジュールの量がストレージノードの量より多いため、ストレージシステム内にあるストレージリソースを十分に利用することができる。
実現可能な一実装例では、ストレージシステムは複数のストレージノードを含み、それぞれのストレージノードはK個のハードディスクモジュールのインタフェースモジュールとやり取りする。それぞれのストレージノードが複数のハードディスクモジュールのインタフェースモジュールとやり取りするので、ストレージノードのコンピューティングリソースを十分に利用することができ、またストレージノードのCPUの計算能力が十分に利用される。これにより、コンピューティングリソースの無駄が削減される。
別の実現可能な実装例では、第1デバイスはストレージシステムのクライアントである。クライアントは、複数のストレージノードのうちの対象ストレージノードにK個のユニットを送信し、対象ストレージノードはストレージシステム内にあるK個のハードディスクモジュールにK個のユニットを格納する。このように、ストレージシステム内にあるハードディスクモジュールの粒度で記憶が行われることにより、ストレージシステム内にあるストレージリソースを十分に利用することができるようになる。
別の実現可能な実装例では、第1デバイスは複数のストレージノードのうちの1つである。
別の実現可能な実装例では、インタフェースモジュールは、ホストバスアダプタ、冗長独立ディスクアレイ、エクスパンダカード、またはネットワークインタフェースカードである。
別の実現可能な実装例では、ストレージシステムは第2デバイスを含み、第2デバイスと第1デバイスとの間には、相互バックアップ関係またはプライマリ/セカンダリ関係がある。このようにして、第1デバイスが故障している場合には、第2デバイスが、第1デバイスに対応するハードディスクモジュールに取って代わることができる。このように、第1デバイスに対応するハードディスクモジュールに格納されたデータを復元する必要はないので、ストレージシステムの信頼性が向上する。
第2態様によれば、本願の一実施形態がストレージシステムにおけるデータ読み出し方法を提供する。本方法では、第1デバイスが読み出し要求を受信し、読み出し要求は読み出し対象データのデータ識別子を含む。第1デバイスは、ストレージシステム内にあるK個のハードディスクモジュールからデータ識別子に基づいて、読み出し対象データを格納するハードディスクモジュールを決定する。第1デバイスは、読み出し対象データを格納するハードディスクモジュールから読み出し対象データを読み出し、読み出し対象データは、M個のデータユニット内にあるデータに属する。ストレージシステムはさらに、M個のデータユニットのN個のチェックユニットを含む。MおよびNは両方とも正の整数であり、M+N=Kである。K個のハードディスクモジュールのそれぞれは、K個のユニットのうちの1つを格納する。K個のユニットは、M個のデータユニットおよびN個のチェックユニットを含む。それぞれのハードディスクモジュールは、インタフェースモジュールとハードディスクとを含み、インタフェースモジュールはハードディスクとやり取りする。K個のハードディスクモジュールのそれぞれがK個のユニットのうちの1つを格納するので、ストレージシステム内にあるハードディスクモジュールの粒度で記憶が行われる。これにより、ストレージノードの粒度で記憶が行われる従来の技術と比較すると、ハードディスクモジュールの量がストレージノードの量より多いため、ストレージシステム内にあるストレージリソースを十分に利用することができる。
実現可能な一実装例では、ストレージシステムは複数のストレージノードを含み、それぞれのストレージノードはK個のハードディスクモジュールのインタフェースモジュールとやり取りする。それぞれのストレージノードが複数のハードディスクモジュールとやり取りするので、ストレージノードのコンピューティングリソースを十分に利用することができ、またストレージノードのCPUの計算能力が十分に利用される。これにより、コンピューティングリソースの無駄が削減される。
別の実現可能な実装例では、第1デバイスはストレージシステムのクライアントである。クライアントは、複数のストレージノードのうちの対象ストレージノードにデータ読み出し要求を送信し、データ読み出し要求はデータ識別子を搬送する。対象ストレージノードは、データ識別子に基づいて、読み出し対象データを格納するハードディスクモジュールから読み出し対象データを読み出す。対象ストレージノードは、データ識別子に基づいて、読み出し対象データを格納するハードディスクモジュールから読み出し対象データを読み出すことができるため、データは、ストレージシステム内にあるハードディスクモジュールの粒度で格納されてよい。
別の実現可能な実装例では、第1デバイスは複数のストレージノードのうちの1つである。
別の実現可能な実装例では、インタフェースモジュールは、ホストバスアダプタ、冗長独立ディスクアレイ、エクスパンダカード、またはネットワークインタフェースカードである。
別の実現可能な実装例では、ストレージシステムは第2デバイスを含み、第2デバイスと第1デバイスとの間には、相互バックアップ関係またはプライマリ/セカンダリ関係がある。このようにして、第1デバイスが故障している場合には、第2デバイスが、第1デバイスに対応するハードディスクモジュールに取って代わることができる。このように、第1デバイスに対応するハードディスクモジュールに格納されたデータを復元する必要はないので、ストレージシステムの信頼性が向上する。
第3態様によれば、本願は、第1態様または第1態様の実現可能な実装例のうちのいずれか1つにおける方法を行うように構成された、ストレージシステムにおけるデータ記憶装置を提供する。具体的には、本装置は、第1態様または第1態様の実現可能な実装例のうちのいずれか1つにおける方法を行うように構成された複数のユニットを含む。
第4態様によれば、本願は、第2態様または第2態様の実現可能な実装例のうちのいずれか1つにおける方法を行うように構成された、ストレージシステムにおけるデータ読み出し装置を提供する。具体的には、本装置は、第2態様または第2態様の実現可能な実装例のうちのいずれか1つにおける方法を行うように構成された複数のユニットを含む。
第5態様によれば、本願は、ストレージシステムにおけるデータ記憶装置を提供する。本装置は、プロセッサと、通信インタフェースとを含む。プロセッサは、通信インタフェースとやり取りする。プロセッサおよび通信インタフェースは、第1態様または第1態様の実現可能な実装例のうちのいずれか1つにおける方法において、対応する段階を行うように構成されている。
第6態様によれば、本願は、ストレージシステムにおけるデータ読み出し装置を提供する。本装置は、プロセッサと、通信インタフェースとを含む。プロセッサは、通信インタフェースとやり取りする。プロセッサおよび通信インタフェースは、第2態様または第2態様の実現可能な実装例のうちのいずれか1つにおける方法において、対応する段階を行うように構成されている。
第7態様によれば、本願はコンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、プログラムコードを格納する。プログラムコードがコンピュータで実行されると、コンピュータは、第1態様、第2態様、第1態様の実現可能な実装例、または第2態様の実現可能な実装例のうちのいずれか1つにおける方法を行うことができる。
第8態様によれば、本願は、プログラムコードを含むコンピュータプログラム製品を提供する。コンピュータプログラム製品がコンピュータで作動すると、コンピュータは、第1態様、第2態様、第1態様の実現可能な実装例、または第2態様の実現可能な実装例のうちのいずれか1つにおける方法を行うことができる。
第9態様によれば、本願はストレージシステムを提供する。ストレージシステムは、ストレージデバイスと、K個のハードディスクモジュールとを含む。本ストレージデバイスは、第1態様、第1態様の実現可能な実装例、第2態様、または第2態様の実現可能な実装例のうちのいずれか1つにおける方法を行うように構成されている。
本願の一実施形態によるストレージシステムの概略構造図である。
本願の一実施形態による別のストレージシステムの概略構造図である。
本願の一実施形態による別のストレージシステムの概略構造図である。
本願の一実施形態による別のストレージシステムの概略構造図である。
本願の一実施形態による別のストレージシステムの概略構造図である。
本願の一実施形態によるストレージシステムにおけるデータ記憶方法のフローチャートである。
本願の一実施形態によるストレージシステムにおける別のデータ記憶方法のフローチャートである。
本願の一実施形態によるストレージシステムにおけるデータ記憶装置の概略構造図である。
本願の一実施形態によるストレージシステムにおけるデータ読み出し装置の概略構造図である。
本願の一実施形態によるストレージシステムにおける別のデータ記憶装置の概略構造図である。
本願の一実施形態によるストレージシステムにおける別のデータ読み出し装置の概略構造図である。
以下ではさらに、添付図面を参照して本願の実施形態を詳細に説明する。
図1を参照されたい。本願の一実施形態がストレージシステムを提供する。ストレージシステムは複数のストレージノードを含み、それぞれのストレージノードは複数のハードディスクモジュールに対応しており、ストレージノードは複数のハードディスクモジュール内のハードディスクにアクセスする。ハードディスクモジュールは、インタフェースモジュールと、複数のハードディスクとを含む。ハードディスクは、機械的ディスク、ソリッドステートドライブ(Solid State Drive:SSD)などであってよい。インタフェースモジュールは、ホストバスアダプタ(Host Bus Adapter:HBA)、冗長独立ディスクアレイ(Redundant Array of Independent Disks:RAID)、エクスパンダ(Expander)カード、ネットワークインタフェースコントローラ(Network Interface Controller:NIC)などであってよい。これについては、本発明の本実施形態において限定しない。ハードディスクモジュール内にあるインタフェースモジュールは、ハードディスクとやり取りする。ストレージノードは、ハードディスクモジュールのインタフェースモジュールとやり取りして、ハードディスクモジュール内にあるハードディスクにアクセスする。
インタフェースモジュールはカードとして実装されてよい、すなわち、インタフェースモジュールはインタフェースカードであってよい。
ハードディスクのインタフェースが、シリアル接続スモールコンピュータシステムインタフェース(Serial Attached Small Computer System Interface:SAS)、シリアルアドバンスドテクノロジアタッチメント(Serial Advanced Technology Attachment:SATA)、高速シリアルコンピュータ拡張バス規格(Peripheral Component Interconnect express:PCIe)などであってよい。
ストレージノードは、バス、例えばPCIeバスを通じてハードディスクモジュールとやり取りしてよい。ストレージノードは代替的に、ネットワーク、例えばイーサネット(登録商標)を通じてハードディスクモジュールとやり取りしてよい。これについては、本発明の本実施形態において限定しない。
本発明の本実施形態では、ストレージノードは互いにやり取りする。ストレージシステムでは、1つのストレージノードと1つまたは複数の他のストレージノードとの間に相互バックアップ関係がある。相互バックアップ関係とは、1つのストレージノードが別のストレージノードに対応する複数のハードディスクモジュールにアクセスできることを意味する。言い換えれば、1つのストレージノードが、当該1つのストレージノードと相互バックアップ関係を有する別のストレージノードのハードディスクモジュールとやり取りする、すなわち、1つのストレージノードは、当該1つのストレージノードと相互バックアップ関係を有する別のストレージノードのハードディスクモジュールのインタフェースモジュールとやり取りする。
相互バックアップ関係にある全てのストレージノードが正常状態にある場合、それぞれのストレージノードは、それぞれのストレージノードに対応する複数のハードディスクモジュールに対してのみ、通信接続を確立することに留意されたい。すなわち、それぞれのストレージノードは、当該ストレージノードに対応する複数のハードディスクモジュールに対してのみ、読み出しアクセスおよび書き込みアクセスを直接的に行う。相互バックアップ関係にあるストレージノードのうちの1つが故障している場合には、そのストレージノードの別のストレージノードが、故障したストレージノードに取って代わり、故障したストレージノードの複数のハードディスクモジュールにアクセスする。
任意選択で、ストレージシステムには代替的に、1つのストレージノードと1つまたは複数の他のストレージノードとの間にプライマリ/セカンダリ関係がある。言い換えれば、1つのストレージノードがプライマリストレージノードであり、その他の1つまたは複数のストレージノードが1つまたは複数のセカンダリストレージノードであり、セカンダリストレージノードはプライマリストレージノードのバックアップを行う。このようにして、プライマリストレージノードが故障している場合には、セカンダリストレージノードはプライマリストレージノードに取って代わることができる。
例えば、図2を参照されたい。第1ストレージノードおよび第2ストレージノードが、ストレージシステムにおいて、相互バックアップ関係またはプライマリ/セカンダリ関係を有する任意の2つのストレージノードであると仮定する。ストレージノードがバスを通じてハードディスクモジュールとやり取りする一例が、説明のために用いられている。第1ストレージノードは、複数の第1ハードディスクモジュールに対応する。第2ストレージノードは、複数の第2ハードディスクモジュールに対応する。第1ストレージノードは、第1バスを通じて、複数の第1ハードディスクモジュールおよび複数の第2ハードディスクモジュールに接続されている。第2ストレージノードは、第2バスを通じて、複数の第1ハードディスクモジュールおよび複数の第2ハードディスクモジュールに接続されている。
一実装例では、第1ストレージノードおよび第2ストレージノードは相互バックアップ関係にある。第1ストレージノードおよび第2ストレージノードが両方とも正常状態にある場合、第1ストレージノードは、第1バスを通じて、複数の第1ハードディスクモジュールへの通信接続を確立し、第1ストレージノードは、複数の第1ハードディスクモジュールに対してのみ読み出しアクセスおよび書き込みアクセスを直接的に行い、第2ストレージノードは、第2バスを通じて、複数の第2ハードディスクモジュールへの通信接続を確立し、第2ストレージノードは、複数の第2ハードディスクモジュールに対してのみ読み出しアクセスおよび書き込みアクセスを直接的に行う。第2ストレージノードが故障していると仮定すると、第1ストレージノードは第2ストレージノードに取って代わり、第2ストレージノードの複数の第2ハードディスクモジュールにアクセスする。この場合、第1ストレージノードは、第1ストレージノードに対応する複数の第1ハードディスクモジュールと、第2ストレージノードに対応する複数の第2ハードディスクモジュールとへの読み出しアクセスおよび書き込みアクセスを直接的に行うことができる。
図3を参照されたい。第1ストレージノードが、第1通信インタフェースと、処理ユニットと、第2通信インタフェースとを含む。処理ユニットは、第1通信インタフェースおよび第2通信インタフェースに接続されている。第1ストレージノードは、第1通信インタフェースを通じて、ストレージシステム内にある別のストレージノードへの通信接続を確立する。第1ストレージノードの第2通信インタフェースは、第1ストレージノードに対応する複数の第1ハードディスクモジュールと、第2ストレージノードに対応する複数の第2ハードディスクモジュールとに、第1バスを通じて接続されている。
第1ストレージノードが正常状態にある場合、第1ストレージノードの第2通信インタフェースは、第1バスを通じて、複数の第1ハードディスクモジュールへの通信接続を確立する。この場合、第1ストレージノードの処理ユニットは、第1ストレージノードの第1通信インタフェースを通じて、ストレージシステム内にある別のストレージノードにデータを送信しても、別のストレージノードにより送信されたデータまたはアクセス要求を受信してもよい。あるいは、第1ストレージノードの処理ユニットは、第1ストレージノードの第1通信インタフェースを通じて、クライアントにデータを送信しても、クライアントにより送信されたアクセス要求を受信してもよい。第1ストレージノードの処理ユニットは、第1ストレージノードの第2通信インタフェースを通じて、複数の第1ハードディスクモジュールへの読み出しアクセスおよび書き込みアクセスを行う。言い換えれば、第1ストレージノードのユニットが、第2通信インタフェースを通じて、複数の第1ハードディスクモジュールのインタフェースモジュールとやり取りする。第2ストレージノードが故障している場合、第1ストレージノードの第2通信インタフェースは、第1バスを通じて、複数の第2ハードディスクモジュールへの通信接続を確立する。この場合、第1ストレージノードの処理ノードはさらに、第2通信インタフェースを通じて、複数の第2ハードディスクモジュールへの読み出しアクセスおよび書き込みアクセスを行うことができる。
任意選択で、第1ストレージノード内にある第1通信インタフェースおよび処理ユニットは、2つの別個のモジュールである。第1通信インタフェースおよび処理ユニットは、高速バスを通じて接続されてよい。高速バスは、PCIe、インテルQuickPathインターコネクト(QPI)などであってよい。あるいは、第1ストレージノード内にある第1通信インタフェースおよび処理ユニットは一緒に統合されてもよい。
任意選択で、第1ストレージノード内にある第2通信インタフェースおよび処理ユニットは、2つの別個のモジュールである。あるいは、第2通信インタフェースおよび処理ユニットは、高速バスを通じて接続されてよい。あるいは、第1ストレージノード内にある第2通信インタフェースおよび処理ユニットは一緒に統合されてもよい。
任意選択で、第1ストレージノード内にある第1通信インタフェースは、ネットワークインタフェースカードなどであってよい。例えば、図4を参照されたい。第1通信インタフェースが、10Gネットワークインタフェースカードであってよい。第1ストレージノード内にある処理ユニットが、中央演算処理装置(central processing unit:CPU)であっても、1つまたは複数のチップを含む処理ユニットであってもよい。例えば、処理ユニットは、データ圧縮カード、人工知能(Artificial Intelligence:AI)推論カード、画像処理カード、ビデオキャプチャカードなどであってもよい。第1ストレージノード内にある第2通信インタフェースが、PCIeスイッチチップ、SASスイッチチップなどであってもよい。
任意選択で、ストレージノードおよびハードディスクモジュールは共有リンクボードを通じて互いに接続されてよく、共有リンクボードは1つまたは複数の物理回線により構成されたバスを含む。
任意選択で、図3を参照されたい。第1ストレージノードの第2通信インタフェースは、第1バスを通じて、複数の第1ハードディスクモジュールおよび複数の第2ハードディスクモジュールに接続されている。第2ストレージノードの第2通信インタフェースは、第2バスを通じて、複数の第1ハードディスクモジュールおよび複数の第2ハードディスクモジュールに接続されている。
任意選択で、図5を参照されたい。1つの第1ハードディスクモジュールが、1つの第2ハードディスクモジュールに通信可能に接続されている。例えば、第1ハードディスクモジュールおよび第2ハードディスクモジュールは、バスを通じて互いに接続されている。特定の通信接続方式が、本発明の本実施形態において限定されることはない。このように、1つの第1ハードディスクモジュールおよび1つの第2ハードディスクモジュールが、カスケード関係を形成する。このように、第1ストレージノードの第2通信インタフェースをそれぞれの第2ハードディスクモジュールに接続する必要はなくてよく、第2ストレージノードの第2通信インタフェースをそれぞれの第1ハードディスクモジュールに接続する必要もなくてよい。したがって、ストレージノードの第2通信インタフェースへの接続量を削減することができる。第1ハードディスクモジュールにカスケード接続された第2ハードディスクモジュールでは、第2ストレージノードが故障している場合、第1ストレージノードは、第1ストレージノードの第2通信インタフェース、第1ハードディスクモジュール、および第1ハードディスクモジュールのカスケード関係に基づいて、第2ハードディスクモジュールにアクセスすることができる、すなわち、第1ストレージノードは第2ハードディスクモジュールのインタフェースモジュールとやり取りする。例えば、第1ストレージノードおよび第2ストレージノードは、相互バックアップ関係にあるストレージノードである。第1ストレージノードおよび第2ストレージノードは、互いに故障が発生しているかどうかを相互に判定することができる。例えば、第1ストレージノードおよび第2ストレージノードは、ハートビートに基づいて、故障が発生しているかどうかを判定する。
任意選択で、ストレージノードは、別のストレージノードに対応する複数のハードディスクモジュールをスキャンして、別のストレージノードに対応する、正常状態にあるハードディスクモジュールを取得し、正常状態にあるハードディスクモジュールへの通信接続を確立してよい。
任意選択で、ストレージシステム内にあるストレージノードが、ストレージノードのノード識別子とハードディスクモジュールのモジュール識別子との対応関係を格納してよい。
任意選択で、ストレージノードのノード識別子は、ストレージノードのアドレスであってよい。例えば、ストレージノードのノード識別子は、インターネットプロトコル(Internet Protocol:IP)アドレスであっても、媒体アクセス制御(Media Access Control:MAC)アドレスであってもよい。ハードディスクモジュールのモジュール識別子は、ストレージシステム内にあるハードディスクモジュールの数、インタフェースモジュールの識別子、インタフェースモジュールのアドレスなどであってもよい。これについては、本発明の本実施形態において限定しない。
ストレージノードが別のストレージノードに対応する複数のハードディスクモジュールに取って代わる場合、ストレージノードは、ノード識別子とモジュール識別子との対応関係において複数のハードディスクモジュールのそれぞれのモジュール識別子に対応するノード識別子を、ストレージノードのノード識別子に更新し、ストレージシステムの他のストレージノードに更新要求を送信する。更新要求は、ストレージノードのノード識別子と複数のハードディスクモジュールのモジュール識別子とを含む。
ストレージシステム内にあるその他のストレージノードのうちのいずれか1つが、更新要求を受信し、ノード識別子とモジュール識別子との対応関係において複数のハードディスクモジュールのそれぞれのモジュール識別子に対応するノード識別子を、その他のストレージノードのうちのいずれか1つのノード識別子に更新する。
例えば、相互バックアップ関係にある第1ストレージノードおよび第2ストレージノードでは、第1ストレージノードは第2ストレージノードが故障しているかどうかを判定することができ、また第2ストレージノードも、第1ストレージノードが故障しているかどうかを判定することができる。第1ストレージノードおよび第2ストレージノードは、次に挙げる2つの方式で、互いに故障が発生しているかどうかを判定することができる。この2つの方式とは、以下の通りである。
第1の方式では、第1ストレージノードは第2ストレージノードにハートビート情報を定期的に送信し、第2ストレージノードも、第1ストレージノードにハートビート情報を定期的に送信する。第2ストレージノードにより送信されたハートビート情報を受信した後に、第1ストレージノードが第2ストレージノードにより送信されるハートビート情報を第1の時間長の間に再度受信しない場合、第1ストレージノードは、第2ストレージノードが故障していると判定する。同様に、第1ストレージノードにより送信されたハートビート情報を受信した後に、第2ストレージノードが第1ストレージノードにより送信されるハートビート情報を第1の時間長の間に再度受信しない場合、第2ストレージノードは、第1ストレージノードが故障していると判定する。
第2の方式では、第1ストレージノードが故障していることを検出した場合、第1ストレージノードは第2ストレージノードに割り込み情報を送信してよく、第2ストレージノードは、割り込み情報を受信して、第1ストレージノードが故障していると判定する。同様に、第2ストレージノードが故障していることを検出した場合、第2ストレージノードは第1ストレージノードに割り込み情報を送信してよく、第1ストレージノードは、割り込み情報を受信して、第2ストレージノードが故障していると判定する。
任意選択で、ストレージシステムはさらにクライアントを含んでよく、クライアントはストレージシステム内にあるストレージノードとやり取りしてよい。クライアントは、格納対象データをストレージシステムに格納しても、ストレージシステムから読み出し対象データを読み出してもよい。格納対象データをストレージシステムに格納する詳細な実装プロセスについては、図6または図7に示す実施形態を参照されたい。ストレージシステムから読み出し対象データを読み出す詳細な実装プロセスについては、図9に示す実施形態を参照されたい。詳細については、ここで説明しない。
図6を参照されたい。本願の一実施形態が、ストレージシステムにおけるデータ記憶方法を提供する。ストレージシステムは、図1~図5に示すストレージシステムであってよい。本方法では、ストレージシステム内にあるストレージノードが、クライアントにより送信された格納対象データを受信し、この格納対象データをM個のデータユニットに分割し、M個のデータユニット用にN個のチェックユニットを生成し、K個のユニットをK個のハードディスクモジュールに格納する。K個のユニットは、M個のデータユニットとN個のチェックユニットとを含み、MおよびNは両方とも正の整数である。本方法は、以下に挙げる段階を含む。
段階101:クライアントは第1ストレージノードにストレージ要求を送信し、ストレージ要求は格納対象データを含む。
本発明の本実施形態では、第1ストレージノードは、K個のユニットが属するパーティションとハードディスクモジュールとの対応関係に基づいて、K個のユニットを格納するK個のハードディスクモジュールを決定してよい。さらに、あるパーティションに記録されたハードディスクモジュールがさらに、このハードディスクモジュールが属するストレージノードを含む。このパーティションには、1つのストレージノードがプライマリストレージノードとして用いられることが記録されている。本発明の本実施形態では、第1ストレージノードがプライマリストレージノードである一例が用いられている。クライアントは、格納対象データのデータ識別子に基づいて、対応するパーティションを決定し、パーティション内にあるプライマリストレージノードに関する情報に基づいて、第1ストレージノードにストレージ要求を送信すると決定する。
任意選択で、本発明の本実施形態におけるストレージシステムは、複数のパーティション(Partition)を含み、それぞれのハードディスクモジュールは1つまたは複数のパーティションに属する。パーティションにおけるストライプ(Stripe)の長さがECアルゴリズムに従って決定され、ストライプの長さは、M個のデータユニットおよびN個のチェックユニットの長さの合計、すなわち、[M+N]である。ECアルゴリズムによれば、一般に、ストライプ内にある1つのユニットが1つのハードディスクモジュールに格納されており、[M+N]個のユニットには[M+N]個のハードディスクモジュールが必要となる。したがって、1つのパーティションが[M+N]個のハードディスクモジュールを含む。ストレージノードは、パーティションとハードディスクモジュールとの対応関係を格納する。具体的には、パーティションとハードディスクモジュールとの対応関係は、パーティション識別子と、ストレージノードのハードディスクモジュールのモジュール識別子とを含んでよく、ストレージノードのハードディスクモジュールのモジュール識別子は、モジュール識別子と、ハードディスクモジュールが属するストレージノードの識別子とを含む。これについては、本発明の本実施形態において限定しない。ストレージノードは、格納対象データを複数のデータユニットに分割し、データユニットのチェックユニットを計算し、データユニットが属するパーティションに基づいて、データユニットおよびチェックユニットを格納するハードディスクモジュールを決定する。一般に、ストレージシステムは、ハッシュ(Hash)リング方式でパーティション分割を行う。本発明では、具体的な実装例を限定しない。
段階102:第1ストレージノードは、格納対象データをM個のデータユニットに分割し、M個のデータユニット用にN個のチェックユニットを生成する。MおよびNは両方とも正の整数である。
第1ストレージノードは、M個のデータユニットに基づいてN個のチェックユニットを生成し、N個のチェックユニットはM個のデータユニットのうちの少なくとも1つを復元するのに用いられてよい。
段階103:第1ストレージノードはK個のユニットをK個のハードディスクモジュールに格納する。K個のユニットはM個のデータユニットおよびN個のチェックユニットを含み、K個のハードディスクモジュールのそれぞれはK個のユニットのうちの1つを格納する。
それぞれのハードディスクモジュールは、インタフェースモジュールとハードディスクとを含み、インタフェースモジュールはハードディスクとやり取りする。
本発明の本実施形態では、第1ストレージノードは、K個のユニットが属するパーティションとハードディスクモジュールとの対応関係に基づいて、K個のユニットを格納するK個のハードディスクモジュールを決定してよい。さらに、それぞれのストレージノードは、ハードディスクモジュールとハードディスクモジュールが属するストレージノードとの関係を格納する。したがって、第1ストレージノードは、K個のユニットを格納するK個のハードディスクモジュールを決定した後に、対応するストレージ要求を、K個のハードディスクモジュール内にあるローカルハードディスクモジュール以外のハードディスクモジュールが属するストレージノードに送信する。具体的には、第1ストレージノードは第1ストレージコマンドを第2ストレージノードに送信し、第1ストレージコマンドはK2個のユニットを含む。第3ストレージノードが、K3個の第3ハードディスクモジュールに対応する。第1ストレージノードは、第3ストレージノードに第2ストレージコマンドを送信する。
一実装例では、K個のハードディスクモジュールは、第1ストレージノードに対応するK1個の第1ハードディスクモジュールと、第2ストレージノードに対応するK2個の第2ハードディスクモジュールと、第3ストレージノードに対応するK3個の第3ハードディスクモジュールとを含む。K1、K2、およびK3は全て正の整数であり、K1+K2+K3=Kである。
この段階では、第1ストレージノードは、K1個のユニットをK1個の第1ハードディスクモジュールに格納し、第2ストレージノードに第1ストレージコマンドを送信する。第1ストレージコマンドはK2個のユニットを含む。第1ストレージノードは第3ストレージノードに第2ストレージコマンドを送信する。第2ストレージコマンドはK3個のユニットを含む。
第2ストレージノードは第1ストレージコマンドを受信し、第1ストレージコマンドに含まれるK2個のユニットをK2個の第2ハードディスクモジュール内にあるハードディスクに格納する。第3ストレージノードは第2ストレージコマンドを受信し、第2ストレージコマンドに含まれるK3個のユニットをK3個のハードディスクモジュール内にあるハードディスクに格納する。
任意選択で、第1ストレージコマンドは格納対象データのデータ識別子を含み、第2ストレージコマンドは格納対象データのデータ識別子を含む。
任意選択で、第1ストレージノードは、K1個のユニットを格納して第1ストレージコマンドおよび第2ストレージコマンドを送信した後に、クライアントにストレージ応答を送信する。
任意選択で、第2ストレージノードが故障している場合、第1ストレージノードは、K1個のユニットをK1個の第1ハードディスクモジュールに格納し、K2個のユニットをK2個の第2ハードディスクモジュールに格納する。
任意選択で、ストレージノードがユニットをハードディスクモジュールに格納する場合、ストレージノードはユニットをハードディスクモジュールに含まれるインタフェースモジュールに送信し、インタフェースモジュールは、ユニットを受信して、ユニットをハードディスクモジュールに含まれるハードディスクに格納する。
任意選択で、ストレージノードは、ユニットをハードディスクモジュールに格納する前に、さらに、ユニットを圧縮し、圧縮したユニットをハードディスクモジュールに格納してよい。
任意選択で、第1ストレージノードは、K1個のユニットをK1個の第1ハードディスクモジュールのハードディスクに格納した後に、さらに、K1個のユニットの位置情報を取得する。K1個のユニットのうちのいずれか1つでは、ユニットの位置情報が、ユニットのデータ型と、ユニットを格納するハードディスクモジュールのモジュール識別子と、ハードディスクモジュールにおけるユニットのアドレス情報とを含む。アドレス情報は、ハードディスク識別子、開始ストレージアドレス、データ長などを含んでよい。ユニットがデータユニットである場合、このユニットのデータ型はデータユニットである。ユニットがチェックユニットである場合、このユニットのデータ型はチェックユニットである。ユニットがデータユニットである場合、このユニットの位置情報はさらに、データユニットに対応するチェックユニットのユニット識別子を含んでよく、且つ/またはユニットがチェックユニットである場合、このユニットの位置情報はさらに、チェックユニットに対応する少なくとも1つのデータユニットのユニット識別子を含む。第1ストレージノードは、それに応じて、格納対象データのデータ識別子およびK1個のユニットの位置情報をデータ識別子と位置情報との対応関係に格納する。
同様に、第2ストレージノードは、K2個のユニットをK2個の第2ハードディスクモジュールに格納した後に、さらに、K2個のユニットの位置情報を取得し、格納対象データのデータ識別子およびK2個のユニットの位置情報をデータ識別子と位置情報との対応関係に格納する。第3ストレージノードは、K3個のユニットをK3個の第3ハードディスクモジュールに格納した後に、さらに、K3個のユニットの位置情報を取得し、格納対象データのデータ識別子およびK3個のユニットの位置情報をデータ識別子と位置情報との対応関係に格納する。
データ識別子と位置情報との対応関係はさらに、ストレージシステム内にあるストレージノード間で同期され、これにより、これらのストレージノードはデータ識別子と位置情報との同じ対応関係を格納する。
本発明の本実施形態では、同じパーティションに属するK個のハードディスクモジュールが属するストレージノードが、相互バックアップ関係またはプライマリ/セカンダリ関係にあるストレージノードである。
任意選択で、第1ストレージノードは、段階102を行う前に、ストレージ要求を受信し、第1の量を取得し、第1の量に基づいてMおよびNを取得する。第1の量は、ストレージシステムに含まれる、正常状態にあるハードディスクモジュールの量である。
第1ストレージノードが第1の量を取得するオペレーションは以下の通りであってよい。第1ストレージノードは、第1ストレージノードに対応する、正常状態にあるハードディスクモジュールの量を取得し、ストレージシステム内の正常状態にある他のストレージノードにクエリコマンドを送信する。ストレージシステム内にある任意の他のストレージノードでは、任意の他のストレージノードが、クエリコマンドを受信し、任意の他のストレージノードに対応する、正常状態にあるハードディスクモジュールの量を取得し、正常状態にあるハードディスクモジュールの量を第1ストレージノードに送信する。第1ストレージノードは、他のストレージノードにより送信されたハードディスクモジュール量を受信し、取得したハードディスクモジュール量と受信したハードディスクモジュール量とを累積して、第1の量を取得する。
第1ストレージノードと少なくとも1つのハードディスクモジュールとの間に、通信接続が確立される。少なくとも1つのハードディスクモジュールのうちのいずれか1つが故障している場合、第1ストレージノードと少なくとも1つのハードディスクモジュールのうちのいずれか1つとの間の通信接続が切断される。したがって、第1ストレージノードが、第1ストレージノードに対応する正常状態にあるハードディスクモジュールの量を取得することは、以下の通りであってよい。第1ストレージノードは、第1ストレージノードへの通信接続を有するハードディスクモジュールを判定し、判定したハードディスクモジュールの量を計算して、第1ストレージノードに対応する正常状態にあるハードディスクモジュールの量を取得する。
同様に、任意の他のストレージノードが任意の他のストレージノードに対応する正常状態にあるハードディスクモジュールの量を取得する方式は、第1ストレージノードが、第1ストレージノードに対応する正常状態にあるハードディスクモジュールの量を取得する方式と同じである。
任意選択で、第1ストレージノードがMおよびNを取得するオペレーションが以下の通りであってよい。第1ストレージノードは格納されたMおよびNを取得し、[M+N]が第1の量より少ない場合には第1の量に基づいてNを取得し、第1の量からNを差し引いてMを取得し、[M+N]が第1の量より多いまたはこれと等しい場合には格納されたMおよびNに基づいて段階102を行う。あるいは、第1ストレージノードは第1の量と第2の量とを比較する。第2の量は、最後に取得した、ストレージシステムに含まれる正常状態にあるハードディスクモジュールの量である。第1の量が第2の量と異なる場合、第1ストレージノードは第1の量に基づいてNを取得し、第1の量からNを差し引いてMを取得する。第1の量が第2の量と同じである場合、第1ストレージノードは、格納されている最後に取得したMおよびNを取得する。
任意選択で、第1の量が第2の量と異なる場合、第1ストレージノードは、格納された第2の量を第1の量に更新し、格納されたMおよびNの値をこの段階で取得されたMおよびNの値にそれぞれ更新してよい。
任意選択で、第1ストレージノードが第1の量に基づいてNを取得することは、以下の通りであってよい。
第1の量が限界量より少なく且つNがXより大きい場合、第1ストレージノードはN=N-Xと設定する。Xは0より大きい整数である。第1の量が限界量より多いまたはこれと等しく且つNが初期値より小さい場合、第1ストレージノードは、Nを初期値と等しくなるように設定する。第1の量が限界量より多いまたはこれと等しく且つNが初期値と等しい場合、第1ストレージノードは格納されたNを取得する。
初期値は、予め設定された値であってよい。例えば、初期値は、2、3、4、または5などの値であってもよい。
本願の本実施形態では、ストレージシステム内にあるハードディスクモジュールの粒度で記憶が行われる。具体的には、データがM個のデータユニットに分割され、これらのデータユニットを計算して、対応するN個のチェックユニットを取得し、[M+N]個のハードディスクモジュールを選択して、対応するデータユニットおよび対応するチェックユニットを格納する。これにより、ストレージノードの粒度で記憶が行われる従来の技術と比較すると、ハードディスクモジュールの量がストレージノードの量より多いため、ストレージシステム内にあるストレージリソースを十分に利用することができる。さらに、それぞれのストレージノードが複数のハードディスクモジュールに対応するため、ストレージノードのコンピューティングリソースを十分に利用することができ、またストレージノードのCPUの計算能力が十分に利用される。これにより、コンピューティングリソースの無駄が削減される。
本発明の本実施形態では、ストレージノードの粒度の代わりに、ハードディスクモジュールの粒度でストレージリソースが管理される。一実装例では、ハードディスクモジュールのインタフェースモジュールがストレージリソースプロセスを作成し、ストレージノードは、ストレージリソースプロセスに基づいて、用いられ得るストレージリソース粒度を識別する。ストレージリソースプロセスは、ハードディスクモジュールのモジュール識別子を含む。
図7を参照されたい。本願の一実施形態が、ストレージシステムにおけるデータ記憶方法を提供する。ストレージシステムは、図1~図5に示すストレージシステムであってよい。本方法では、クライアントが、格納対象データをM個のデータユニットに分割し、M個のデータユニット用にN個のチェックユニットを生成し、ストレージシステム内にあるK個のハードディスクモジュールにK個のユニット(K個のユニットはM個のデータユニットおよびN個のチェックユニットを含む)を送信し、K個のユニットをK個のハードディスクモジュールに格納する、すなわち、K個のハードディスクモジュールのそれぞれは、K個のユニットのうちの1つを格納する。ここで、MおよびNは両方とも正の整数である。本方法は、以下に挙げる段階を含む。
段階201:クライアントは、格納対象データをM個のデータユニットに分割し、M個のデータユニット用にN個のチェックユニットを生成する。
段階202:クライアントは、ストレージシステム内にあるK個のハードディスクモジュールにK個のユニットを送信し、K個のユニットはM個のデータユニットおよびN個のチェックユニットを含む。
本発明の本実施形態では、クライアントは、K個のユニットが属するパーティションとハードディスクモジュールとの対応関係に基づいて、K個のユニットを格納するK個のハードディスクモジュールを決定してよい。一実装例では、パーティションとハードディスクモジュールとの対応関係は、プライマリストレージノードに関する情報を含む。第1ストレージノードがここでも一例として用いられる。パーティションとハードディスクモジュールとの対応関係については、前述の説明を参照されたい。詳細については、再度ここで説明しない。クライアントがストレージシステム内にあるK個のハードディスクモジュールにK個のユニットを送信することは具体的には、クライアントが第1ストレージノードにK個のユニットを送信することを含む。第1ストレージノードは、K個のユニットを格納するK個のハードディスクモジュールを決定した後に、対応するストレージ要求を、K個のハードディスクモジュール内にあるローカルハードディスクモジュール以外のハードディスクモジュールが属するストレージノードに送信する。具体的には、第1ストレージノードは第1ストレージコマンドを第2ストレージノードに送信し、第1ストレージコマンドはK2個のユニットを含む。第3ストレージノードが、K3個の第3ハードディスクモジュールに対応する。第1ストレージノードは、第3ストレージノードに第2ストレージコマンドを送信する。K1、K2、およびK3は全て正の整数であり、K1+K2+K3=Kである。
本発明の本実施形態では、クライアントは、K個のユニットが属するパーティションとハードディスクモジュールとの対応関係に基づいて、K個のユニットを格納するK個のハードディスクモジュールを決定してよい。一実装例では、K個のユニットが属するパーティションとハードディスクモジュールとの対応関係はさらに、ハードディスクモジュールが属するストレージノードに関する情報を含む。例えば、K個のハードディスクモジュールは、第1ストレージノードのK1個のハードディスクモジュールと、第2ストレージノードのK2個のハードディスクモジュールと、第3ストレージノードのK3個のハードディスクモジュールとを含む。クライアントは、K1個のハードディスクモジュールに格納されたK1個のユニットを第1ストレージノードに送信し、K2個のハードディスクモジュールに格納されたK2個のユニットを第2ストレージノードに送信し、K3個のハードディスクモジュールに格納されたK3個のユニットを第3ストレージノードに送信する。
本発明の本実施形態では、同じパーティションに属するK個のハードディスクモジュールが属するストレージノードが、相互バックアップ関係またはプライマリ/セカンダリ関係にあるストレージノードである。
本発明の本実施形態では、ストレージノードの粒度の代わりに、ハードディスクモジュールの粒度でストレージリソースが管理される。一実装例では、ハードディスクモジュールのインタフェースモジュールがストレージリソースプロセスを作成し、クライアントは、ストレージリソースプロセスに基づいて、用いられ得るストレージリソース粒度を識別する。ストレージリソースプロセスは、ハードディスクモジュールのモジュール識別子を含む。その上、ストレージリソースプロセスはさらに、ハードディスクモジュールが属するストレージノードの識別子を含む。
本願の一実施形態が、ストレージシステムにおけるデータ読み出し方法を提供する。ストレージシステムは、図1~図5に示すストレージシステムであってよい。本方法では、ストレージシステム内にあるストレージノードが、クライアントにより送信された読み出し要求を受信し、読み出し要求は読み出し対象データのデータ識別子を含む。ストレージノードは、データ識別子に基づいて読み出し対象データを取得し、この読み出し対象データをクライアントに送信する。
一実装例では、第1ストレージノードが、K個のユニットが属するパーティションとハードディスクモジュールとの対応関係に基づいて、K個のユニットを格納するK個のハードディスクモジュールを決定してよい。さらに、あるパーティションに記録されたハードディスクモジュールがさらに、このハードディスクモジュールが属するストレージノードを含む。このパーティションには、1つのストレージノードがプライマリストレージノードとして用いられることが記録されている。本発明の本実施形態では、第1ストレージノードがプライマリストレージノードである一例が用いられている。クライアントは、読み出し対象データのデータ識別子に基づいて、対応するパーティションを決定し、パーティション内にあるプライマリストレージノードに関する情報に基づいて、第1ストレージノードに読み出し要求を送信すると決定する。読み出し要求は、読み出し対象データのデータ識別子を含む。第1ストレージノードは、K個のユニットが属するパーティションと、ハードディスクモジュールと、読み出し対象データのデータ識別子との対応関係に基づいて、読み出し対象データが位置するハードディスクモジュールを判定し、判定したハードディスクモジュールから読み出し対象データを読み出す。図6に示す実施形態を参照すると、第1ストレージノードが故障している場合、第2ストレージノードおよび第3ストレージノードが第1ストレージノードと相互バックアップ関係またはプライマリ/セカンダリ関係を有するため、第2ストレージノードまたは第3ストレージノードは、第1ストレージノードに取って代わり、前述の読み出し要求を実行するように構成されている。さらに、第1ストレージノードに取って代わるストレージノードは、K1個のハードディスクモジュールに直接的にアクセスすることができる。さらに、読み出し対象データを格納するハードディスクモジュールが故障している場合、または読み出し対象データが位置するハードディスクモジュール内にあるハードディスクが故障している場合、または、ハードディスクモジュールに格納された読み出し対象データにエラーが発生したために読み出し対象データが失われ、読み出し対象データをハードディスクモジュールにおいてローカルに復元できない場合、本発明の本実施形態では、読み出し対象データが位置するデータユニットを、K個のハードディスクモジュールのうちの別のハードディスクモジュールに格納されたユニットを用いて復元することができる。すなわち、M個のデータユニットとN個のチェックユニットとの間に形成されたチェック保護関係を用いて、M個のデータユニットのうちのN個のデータユニットを復元できる機能が用いられる。
別の実装例では、クライアントは、読み出し対象データのデータ識別子に基づいて、対応するパーティションを決定し、このパーティションに基づいて、パーティション内にある、データ識別子に対応するハードディスクモジュールを決定する。クライアントは、パーティション内にあるハードディスクモジュールとストレージノードとの対応関係に基づいて、すなわち、ハードディスクモジュールが属するストレージノードに基づいて、読み出し対象データが位置するハードディスクモジュールが属するストレージノードを判定し、このストレージノードに読み出し要求を送信する。ストレージノードは、読み出し要求を受信した後に、読み出し要求で搬送される読み出し対象データのデータ識別子に基づいて、ハードディスクモジュールから読み出し対象データを読み出す。すなわち、ストレージノードは、ハードディスクモジュールのインタフェースモジュールとやり取りする。M個のデータユニットおよびN個のチェックユニットに基づいて行われるデータ復元については、前述の実施形態における説明を参照されたい。詳細については、再度ここで説明しない。
本発明の別のストレージアーキテクチャでは、クライアントはハードディスクモジュールのインタフェースモジュールとやり取りしてよい、すなわち、クライアントはストレージノードを介さずにハードディスクモジュールに直接的にアクセスすることができる。具体的には、クライアントは、パーティションとハードディスクモジュールとの対応関係に基づいて、対応するK個のハードディスクモジュールにK個のユニットを直接的に送信する、または対応するハードディスクモジュールからデータを読み出す。
図8を参照されたい。本願の一実施形態が、ストレージシステムにおけるデータ記憶装置300を提供する。装置300は、前述の実施形態のうちのいずれか1つにおけるストレージノードまたはクライアントで利用されてよく、本装置は、M個のデータユニット用にN個のチェックユニットを生成するように構成された生成ユニット301であって、MおよびNは両方とも正の整数であり、M+N=Kである、生成ユニット301と、ストレージシステム内にあるK個のハードディスクモジュールにK個のユニットを格納するように構成されたストレージユニット302であって、K個のユニットはM個のデータユニットおよびN個のチェックユニットを含み、K個のハードディスクモジュールのそれぞれはK個のユニットのうちの1つを格納し、それぞれのハードディスクモジュールはインタフェースモジュールおよびハードディスクを含み、インタフェースモジュールはハードディスクとやり取りする、ストレージユニット302とを含む。
任意選択で、ストレージユニット302がK個のハードディスクモジュールにK個のユニットを格納する詳細なオペレーションについては、図6に示す実施形態における段階103、または図7に示す実施形態における段階202の関連内容を参照されたい。
任意選択で、ストレージシステムは複数のストレージノードを含み、それぞれのストレージノードはK個のハードディスクモジュールのインタフェースモジュールとやり取りする。
任意選択で、装置300はストレージシステムのクライアントである。装置300は、送信ユニット303を含む。
送信ユニット303は、複数のストレージノードのうちの対象ストレージノードにK個のユニットを送信するように構成されており、これにより、対象ストレージノードはストレージシステム内にあるK個のハードディスクモジュールにK個のユニットを格納する。
任意選択で、対象ストレージノードがストレージシステム内にあるK個のハードディスクモジュールにK個のユニットを格納する詳細なオペレーションについては、図7に示す実施形態における段階202の関連内容を参照されたい。
任意選択で、装置300は、複数のストレージノードのうちの1つである。
任意選択で、インタフェースモジュールは、ホストバスアダプタ、冗長独立ディスクアレイ、エクスパンダカード、またはネットワークインタフェースカードである。
任意選択で、ストレージシステムは第2デバイスを含み、第2デバイスと本装置との間には、相互バックアップ関係またはプライマリ/セカンダリ関係がある。
本願の本実施形態では、生成ユニットは、M個のデータユニット用にN個のチェックユニットを生成する。ストレージユニットは、ストレージシステム内にあるK個のハードディスクモジュールにK個のユニットを格納する。このように、ストレージユニットは、ストレージシステム内にあるハードディスクモジュールの粒度で記憶を実施する、すなわち、K個のハードディスクモジュールを用いて、対応するK個のユニットを格納する。これにより、ストレージノードの粒度で記憶が行われる従来の技術と比較すると、ハードディスクモジュールの量がストレージノードの量より多いため、ストレージシステム内にあるストレージリソースを十分に利用することができる。
図9を参照されたい。本願の一実施形態が、ストレージシステムにおけるデータ読み出し装置400を提供する。装置400は、前述の実施形態のうちのいずれか1つにおけるストレージノードまたはクライアントで利用されてよく、本装置は、読み出し要求を受信するように構成された受信ユニット401であって、読み出し要求は読み出し対象データのデータ識別子を含む、受信ユニット401と、ストレージシステム内にあるK個のハードディスクモジュールからデータ識別子に基づいて、読み出し対象データを格納するハードディスクモジュールを決定するように構成された処理ユニット402とを含む。
処理ユニット402はさらに、読み出し対象データを格納するハードディスクモジュールから読み出し対象データを読み出すように構成されており、読み出し対象データはM個のデータユニット内にあるデータに属する。ストレージシステムはさらに、M個のデータユニットのN個のチェックユニットを含む。MおよびNは両方とも正の整数であり、M+N=Kである。K個のハードディスクモジュールのそれぞれは、K個のユニットのうちの1つを格納する。K個のユニットは、M個のデータユニットおよびN個のチェックユニットを含む。それぞれのハードディスクモジュールは、インタフェースモジュールとハードディスクとを含み、インタフェースモジュールはハードディスクとやり取りする。
任意選択で、ストレージシステムは複数のストレージノードを含み、それぞれのストレージノードはK個のハードディスクモジュールのインタフェースモジュールとやり取りする。
任意選択で、装置400はストレージシステムのクライアントである。装置400はさらに、送信ユニット403を含む。
送信ユニット403は、複数のストレージノードのうちの対象ストレージノードにデータ読み出し要求を送信するように構成されており、データ読み出し要求はデータ識別子を搬送する。
処理ユニット402は、データ識別子に基づいて、読み出し対象データを格納するハードディスクモジュールから読み出し対象データを読み出すように構成されている。
任意選択で、装置400は、複数のストレージノードのうちの1つである。
任意選択で、インタフェースモジュールは、ホストバスアダプタ、冗長独立ディスクアレイ、エクスパンダカード、またはネットワークインタフェースカードである。
任意選択で、ストレージシステムは第2デバイスを含み、第2デバイスと装置400との間には、相互バックアップ関係またはプライマリ/セカンダリ関係がある。
本願の本実施形態では、受信ユニットは読み出し要求を受信し、読み出し要求は読み出し対象データのデータ識別子を含む。処理ユニットは、読み出し対象データを格納するハードディスクモジュールから読み出し対象データを読み出し、読み出し対象データはM個のデータユニット内にあるデータに属する。ストレージシステムはさらに、M個のデータユニットのN個のチェックユニットを含み、M+N=Kである。ストレージシステム内にあるK個のハードディスクモジュールのそれぞれは、K個のユニットのうちの1つを格納する。K個のハードディスクモジュールのそれぞれがK個のユニットのうちの1つを格納するので、ストレージシステム内にあるハードディスクモジュールの粒度で記憶が行われる。これにより、ストレージノードの粒度で記憶が行われる従来の技術と比較すると、ハードディスクモジュールの量がストレージノードの量より多いため、ストレージシステム内にあるストレージリソースを十分に利用することができる。
図10を参照されたい。本願の一実施形態が、ストレージシステムにおけるデータ記憶装置500を提供する。装置500は、前述の実施形態のうちのいずれか1つにおけるクライアントであっても、ストレージノードであってもよい。装置500は、少なくとも1つのプロセッサ501と、バスシステム502と、少なくとも1つの通信インタフェース503とを含む。
任意選択で、ストレージシステムは複数のハードディスクモジュールを含み、少なくとも1つのプロセッサ501はさらに、少なくとも1つの通信インタフェース503を通じて、ストレージシステム内にある複数のハードディスクモジュールとやり取りする。
具体的な実装例では、プロセッサ501は、中央演算処理装置(central processing unit:CPU)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA)、特定用途向け集積回路(Application-specific integrated circuit:ASIC)、または別のハードウェアであってもよい。あるいは、FPGAまたは他のハードウェアとCPUとは、一緒になってプロセッサ501としての機能を果たす。
装置500は、ハードウェア構造体の装置であり、図8に示す装置300における機能モジュールを実装するように構成されてよい。
任意選択で、プロセッサ501が1つまたは複数のCPUで実装されている場合、図8に示す装置300における生成ユニット301およびストレージユニット302は、1つまたは複数のCPUによってメモリ内のコードを呼び出すことで実現されてよい。図8に示す装置300における送信ユニット303は、通信インタフェース503によって実現されてよい。
通信インタフェース503は、別のデバイスまたは通信ネットワークとやり取りするように構成されている。
メモリは、読み出し専用メモリ(read-only memory:ROM)または静的情報および命令を格納できる別のタイプの静的ストレージデバイス、ランダムアクセスメモリ(random access memory:RAM)または情報および命令を格納できる別のタイプの動的ストレージデバイスであってもよく、電気的消去可能プログラム可能型読み出し専用メモリ(electrically erasable programmable read-only memory:EEPROM)、コンパクトディスク読み出し専用メモリ(compact disc read-only memory:CD-ROM)もしくは別のコンパクトディスク記憶装置、光ディスク記憶装置(コンパクトディスク、レーザディスク、光ディスク、デジタル多用途ディスク、ブルーレイディスクなどを含む)、ディスク記憶媒体もしくは別のディスクストレージデバイス、または期待されるプログラムコードを命令もしくはデータ構造体の形態で搬送もしくは格納するのに用いられ得る且つコンピュータがアクセスできる任意の他の媒体であってもよい。しかしながら、メモリはこれに限定されない。メモリは、独立して存在してよく、またバスを通じてプロセッサに接続されている。あるいは、メモリはプロセッサと一体化されてもよい。
メモリは、本願の解決手段を実行するためのアプリケーションプログラムコードを格納するように構成されており、プロセッサ501は実行を制御する。プロセッサ501は、メモリに格納されたアプリケーションプログラムコードを実行して、本特許における方法の各機能を実現するように構成されている。
図11を参照されたい。本願の一実施形態が、ストレージシステムにおけるデータ読み出し装置600を提供する。装置600は、前述の実施形態のうちのいずれか1つにおけるストレージノードであっても、クライアントであってもよい。装置600は、少なくとも1つのプロセッサ601と、バスシステム602と、少なくとも1つの通信インタフェース603とを含む。
具体的な実装例では、プロセッサ601は、中央演算処理装置(central processing unit:CPU)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array:FPGA)、特定用途向け集積回路(Application-specific integrated circuit:ASIC)、または別のハードウェアであってもよい。あるいは、FPGAまたは他のハードウェアとCPUとは、一緒になってプロセッサ601としての機能を果たす。
装置600は、ハードウェア構造体の装置であり、図9に示す装置400における機能モジュールを実装するように構成されてよい。任意選択で、プロセッサ601が1つまたは複数のCPUで実装されている場合、図9に示す装置400における処理ユニット402は、1つまたは複数のCPUによってメモリ内のコードを呼び出すことで実現されてよい。図9に示す装置400における受信ユニット401および送信ユニット403は、通信インタフェース603によって実現されてよい。
バスシステム602は、前述の構成要素間で情報を伝送するための経路を含んでよい。
通信インタフェース603は、別のデバイスまたは通信ネットワークとやり取りするように構成されている。
メモリは、読み出し専用メモリ(read-only memory:ROM)または静的情報および命令を格納できる別のタイプの静的ストレージデバイス、ランダムアクセスメモリ(random access memory:RAM)または情報および命令を格納できる別のタイプの動的ストレージデバイスであってもよく、電気的消去可能プログラム可能型読み出し専用メモリ(electrically erasable programmable read-only memory:EEPROM)、コンパクトディスク読み出し専用メモリ(compact disc read-only memory:CD-ROM)もしくは別のコンパクトディスク記憶装置、光ディスク記憶装置(コンパクトディスク、レーザディスク、光ディスク、デジタル多用途ディスク、ブルーレイディスクなどを含む)、ディスク記憶媒体もしくは別のディスクストレージデバイス、または期待されるプログラムコードを命令もしくはデータ構造体の形態で搬送もしくは格納するのに用いられ得る且つコンピュータがアクセスできる任意の他の媒体であってもよい。しかしながら、メモリはこれに限定されない。メモリは、独立して存在してよく、またバスを通じてプロセッサに接続されている。あるいは、メモリはプロセッサと一体化されてもよい。
メモリは、本願の解決手段を実行するためのアプリケーションプログラムコードを格納するように構成されており、プロセッサ601は実行を制御する。プロセッサ601は、メモリに格納されたアプリケーションプログラムコードを実行して、本特許における方法の各機能を実現するように構成されている。
本発明の本実施形態では、M個のデータユニットにおけるMは1であり、N個のチェックユニットはデータユニットのコピーである。言い換えれば、データユニットは複数のコピーに基づいて保護されており、データユニットは複数のコピーに基づいて復元される。具体的な実装例については、前述の実施形態における説明を参照されたい。詳細については、再度ここで説明しない。
本発明の別の実施形態では、ストレージシステムがストレージアレイであり、ストレージノードがストレージアレイのアレイコントローラである。
当業者であれば、実施形態の段階の全部または一部が、ハードウェアによって、または関連ハードウェアに指示するプログラムによって、実現されてよいことを理解するであろう。プログラムは、コンピュータ可読記憶媒体に格納されてよい。この記憶媒体は、読み出し専用メモリ、磁気ディスク、または光ディスクを含んでよい。
[他の考えられる項目]
(項目1)
ストレージシステムにおけるデータ記憶方法であって、前記方法が、
第1デバイスがM個のデータユニット用にN個のチェックユニットを生成する段階であって、MおよびNが両方とも正の整数であり、M+N=Kである、生成する段階と、
前記第1デバイスが前記ストレージシステム内にあるK個のハードディスクモジュールに前記K個のユニットを格納する段階であって、前記K個のユニットが前記M個のデータユニットおよび前記N個のチェックユニットを有し、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、格納する段階と
を備える方法。
(項目2)
前記ストレージシステムが複数のストレージノードを備えており、それぞれのストレージノードが前記K個のハードディスクモジュールのインタフェースモジュールとやり取りする、項目1に記載の方法。
(項目3)
前記第1デバイスが前記ストレージシステムのクライアントであり、前記第1デバイスが前記ストレージシステム内にあるK個のハードディスクモジュールに前記K個のユニットを格納する前記段階が具体的には、
前記クライアントが前記複数のストレージノードのうちの対象ストレージノードに前記K個のユニットを送信する段階と、
前記対象ストレージノードが前記ストレージシステム内にある前記K個のハードディスクモジュールに前記K個のユニットを格納する段階と
を有する、項目2に記載の方法。
(項目4)
前記第1デバイスが前記複数のストレージノードのうちの1つである、項目2に記載の方法。
(項目5)
前記インタフェースモジュールが、ホストバスアダプタ、冗長独立ディスクアレイ、エクスパンダカード、またはネットワークインタフェースカードである、項目1から4のいずれか一項に記載の方法。
(項目6)
前記ストレージシステムが第2デバイスを備えており、前記第2デバイスと前記第1デバイスとの間には、相互バックアップ関係またはプライマリ/セカンダリ関係がある、項目1に記載の方法。
(項目7)
ストレージシステムにおけるデータ読み出し方法であって、前記方法が、
第1デバイスが読み出し要求を受信する段階であって、前記読み出し要求が読み出し対象データのデータ識別子を含む、受信する段階と、
前記第1デバイスが、前記ストレージシステム内にあるK個のハードディスクモジュールから前記データ識別子に基づいて、前記読み出し対象データを格納するハードディスクモジュールを決定する段階と、
前記第1デバイスが、前記読み出し対象データを格納する前記ハードディスクモジュールから前記読み出し対象データを読み出す段階であって、前記読み出し対象データが、M個のデータユニット内にあるデータに属しており、前記ストレージシステムがさらに前記M個のデータユニットのN個のチェックユニットを含み、MおよびNが両方とも正の整数であり、M+N=Kであり、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、前記K個のユニットが前記M個のデータユニットおよび前記N個のチェックユニットを含み、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、読み出す段階と
を備える方法。
(項目8)
前記ストレージシステムが複数のストレージノードを備えており、それぞれのストレージノードが前記K個のハードディスクモジュールのインタフェースモジュールとやり取りする、項目7に記載の方法。
(項目9)
前記第1デバイスが前記ストレージシステムのクライアントであり、前記第1デバイスが前記読み出し対象データを格納する前記ハードディスクモジュールから前記読み出し対象データを読み出す前記段階が具体的には、
前記クライアントが前記データ読み出し要求を前記複数のストレージノード内にある対象ストレージノードに送信する段階であって、前記データ読み出し要求が前記データ識別子を搬送する、送信する段階と、
前記対象ストレージノードが前記データ識別子に基づいて、前記読み出し対象データを格納する前記ハードディスクモジュールから前記読み出し対象データを読み出す段階と
を有する、項目7に記載の方法。
(項目10)
前記第1デバイスが前記複数のストレージノードのうちの1つである、項目8に記載の方法。
(項目11)
前記インタフェースモジュールが、ホストバスアダプタ、冗長独立ディスクアレイ、エクスパンダカード、またはネットワークインタフェースカードである、項目7から10のいずれか一項に記載の方法。
(項目12)
前記ストレージシステムが第2デバイスを備えており、前記第2デバイスと前記第1デバイスとの間には、相互バックアップ関係またはプライマリ/セカンダリ関係がある、項目7に記載の方法。
(項目13)
ストレージシステムにおけるデータ記憶装置であって、前記装置が、
M個のデータユニット用にN個のチェックユニットを生成するように構成された生成ユニットであって、MおよびNが両方とも正の整数であり、M+N=Kである、生成ユニットと、
前記ストレージシステム内にあるK個のハードディスクモジュールに前記K個のユニットを格納するように構成されたストレージユニットであって、前記K個のユニットがM個のデータユニットおよびN個のチェックユニットを含み、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、ストレージユニットと
を備える装置。
(項目14)
前記ストレージシステムが複数のストレージノードを備えており、それぞれのストレージノードが前記K個のハードディスクモジュールのインタフェースモジュールとやり取りする、項目13に記載の装置。
(項目15)
前記装置が前記ストレージシステムのクライアントであり、前記装置が送信ユニットを備えており、
前記送信ユニットが、前記複数のストレージノード内にある対象ストレージノードに前記K個のユニットを送信するように構成されていることにより、前記対象ストレージノードが、前記ストレージシステム内にある前記K個のハードディスクモジュールに前記K個のユニットを格納する、項目14に記載の装置。
(項目16)
前記装置が前記複数のストレージノードのうちの1つである、項目14に記載の装置。
(項目17)
前記インタフェースモジュールが、ホストバスアダプタ、冗長独立ディスクアレイ、エクスパンダカード、またはネットワークインタフェースカードである、項目13から16のいずれか一項に記載の装置。
(項目18)
前記ストレージシステムが第2デバイスを備えており、前記第2デバイスと前記装置との間には、相互バックアップ関係またはプライマリ/セカンダリ関係がある、項目13に記載の装置。
(項目19)
ストレージシステムにおけるデータ読み出し装置であって、前記装置が、
読み出し要求を受信するように構成された受信ユニットであって、前記読み出し要求が読み出し対象データのデータ識別子を含む、受信ユニットと、
前記ストレージシステム内にあるK個のハードディスクモジュールから前記データ識別子に基づいて、前記読み出し対象データを格納するハードディスクモジュールを決定するように構成された処理ユニットと
を備えており、
前記処理ユニットがさらに、前記読み出し対象データを格納する前記ハードディスクモジュールから前記読み出し対象データを読み出すように構成されており、前記読み出し対象データが、M個のデータユニット内にあるデータに属しており、前記ストレージシステムがさらに、前記M個のデータユニットのN個のチェックユニットを含み、MおよびNが両方とも正の整数であり、M+N=Kであり、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、前記K個のユニットが前記M個のデータユニットおよび前記N個のチェックユニットを含み、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、装置。
(項目20)
前記ストレージシステムが複数のストレージノードを備えており、それぞれのストレージノードが前記K個のハードディスクモジュールのインタフェースモジュールとやり取りする、項目19に記載の装置。
(項目21)
前記装置が前記ストレージシステムのクライアントであり、前記装置がさらに送信ユニットを備えており、
前記送信ユニットが、前記複数のストレージノード内にある対象ストレージノードに前記データ読み出し要求を送信するように構成されており、前記データ読み出し要求が前記データ識別子を搬送し、
前記処理ユニットが、前記データ識別子に基づいて、前記読み出し対象データを格納する前記ハードディスクモジュールから前記読み出し対象データを読み出すように構成されている、項目19に記載の装置。
(項目22)
前記装置が前記複数のストレージノードのうちの1つである、項目20に記載の装置。
(項目23)
前記インタフェースモジュールが、ホストバスアダプタ、冗長独立ディスクアレイ、エクスパンダカード、またはネットワークインタフェースカードである、項目19から22のいずれか一項に記載の装置。
(項目24)
前記ストレージシステムが第2デバイスを備えており、前記第2デバイスと前記装置との間には、相互バックアップ関係またはプライマリ/セカンダリ関係がある、項目19に記載の装置。
(項目25)
ストレージシステムにおけるストレージデバイスであって、前記ストレージデバイスがプロセッサと通信インタフェースとを備えており、前記プロセッサが前記通信インタフェースとやり取りし、前記プロセッサが、
M個のデータユニット用にN個のチェックユニットを生成することであって、MおよびNが両方とも正の整数であり、M+N=Kである、生成することと、
前記ストレージシステム内にあるK個のハードディスクモジュールに前記K個のユニットを格納することであって、前記K個のユニットがM個のデータユニットおよびN個のチェックユニットを含み、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、格納することと
を行うように構成されている、ストレージデバイス。
(項目26)
前記ストレージシステムが複数のストレージノードを備えており、それぞれのストレージノードが前記K個のハードディスクモジュールのインタフェースモジュールとやり取りする、項目25に記載のストレージデバイス。
(項目27)
前記ストレージデバイスが前記ストレージシステムのクライアントであり、前記通信インタフェースが、前記複数のストレージノード内にある対象ストレージノードに前記K個のユニットを送信するように構成されていることにより、前記対象ストレージノードが、前記ストレージシステム内にある前記K個のハードディスクモジュールに前記K個のユニットを格納する、項目26に記載のストレージデバイス。
(項目28)
ストレージシステムにおけるストレージデバイスであって、前記ストレージデバイスがプロセッサと通信インタフェースとを備えており、前記プロセッサが前記通信インタフェースとやり取りし、
前記通信インタフェースが読み出し要求を受信するように構成されており、前記読み出し要求が読み出し対象データのデータ識別子を含み、
前記プロセッサが、
前記ストレージシステム内にあるK個のハードディスクモジュールから前記データ識別子に基づいて、前記読み出し対象データを格納するハードディスクモジュールを決定することと、
前記読み出し対象データを格納する前記ハードディスクモジュールから前記読み出し対象データを読み出すことであって、前記読み出し対象データが、M個のデータユニット内にあるデータに属しており、前記ストレージシステムがさらに前記M個のデータユニットのN個のチェックユニットを含み、MおよびNが両方とも正の整数であり、M+N=Kであり、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、前記K個のユニットが前記M個のデータユニットおよび前記N個のチェックユニットを含み、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、読み出すことと
を行うように構成されている、ストレージデバイス。
(項目29)
前記ストレージシステムが複数のストレージノードを備えており、それぞれのストレージノードが前記K個のハードディスクモジュールのインタフェースモジュールとやり取りする、項目28に記載のストレージデバイス。
(項目30)
前記ストレージデバイスが前記ストレージシステムのクライアントであり、前記通信インタフェースがさらに、前記複数のストレージノード内にある対象ストレージノードに前記データ読み出し要求を送信するように構成されており、前記データ読み出し要求が前記データ識別子を搬送し、
前記プロセッサがさらに、前記データ識別子に基づいて、前記読み出し対象データを格納する前記ハードディスクモジュールから前記読み出し対象データを読み出すように構成されている、項目29に記載のストレージデバイス。
(項目31)
ストレージシステムであって、前記ストレージシステムがストレージデバイスとK個のハードディスクモジュールとを備えており、
前記ストレージデバイスが、
M個のデータユニット用にN個のチェックユニットを生成することであって、MおよびNが両方とも正の整数であり、M+N=Kである、生成することと、
前記K個のユニットをK個のハードディスクモジュールに格納することであって、前記K個のユニットがM個のデータユニットおよびN個のチェックユニットを含み、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、格納することと
を行うように構成されている、ストレージシステム。
(項目32)
前記ストレージシステムがさらに複数のストレージノードを備えており、それぞれのストレージノードが前記K個のハードディスクモジュールのインタフェースモジュールとやり取りする、項目31に記載のストレージシステム。
(項目33)
前記第1デバイスが前記ストレージシステムのクライアントであり、前記ストレージデバイスが、前記ストレージシステム内にあるK個のハードディスクモジュールに前記K個のユニットを格納するように構成されていることが具体的には、
前記クライアントが、前記複数のストレージノード内にある対象ストレージノードに前記K個のユニットを送信するように構成されていることと、
前記対象ストレージノードが、前記ストレージシステム内にある前記K個のハードディスクモジュールに前記K個のユニットを格納するように構成されていることと
を含む、項目32に記載のストレージシステム。
(項目34)
ストレージシステムであって、前記ストレージシステムがストレージデバイスとK個のハードディスクモジュールとを備えており、
前記ストレージデバイスが、
読み出し要求を受信することであって、前記読み出し要求が読み出し対象データのデータ識別子を含む、受信することと、
前記K個のハードディスクモジュールから前記データ識別子に基づいて、前記読み出し対象データを格納するハードディスクモジュールを決定することと、
前記読み出し対象データを格納する前記ハードディスクモジュールから前記読み出し対象データを読み出すことであって、前記読み出し対象データが、M個のデータユニット内にあるデータに属しており、前記ストレージシステムがさらに、前記M個のデータユニットのN個のチェックユニットを含み、MおよびNが両方とも正の整数であり、M+N=Kであり、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、前記K個のユニットが前記M個のデータユニットおよび前記N個のチェックユニットを含み、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、読み出すことと
を行うように構成されている、ストレージシステム。
(項目35)
コンピュータプログラム製品であって、前記コンピュータプログラム製品はプログラムコードを備えており、コンピュータが前記プログラムコードを実行すると、前記コンピュータが項目1から6のいずれか一項に記載の方法を実行することができる、コンピュータプログラム製品。
(項目36)
コンピュータプログラム製品であって、前記コンピュータプログラム製品がプログラムコードを備えており、コンピュータが前記プログラムコードを実行すると、前記コンピュータが項目7から12のいずれか一項に記載の方法を実行することができる、コンピュータプログラム製品。

Claims (19)

  1. ストレージシステムにおけるデータ記憶方法であって、
    第1デバイスがM個のデータユニット用にN個のチェックユニットを生成する段階であって、MおよびNが両方とも正の整数であり、M+N=Kである、生成する段階と、
    前記第1デバイスが前記ストレージシステム内にあるK個のハードディスクモジュールに前記K個のユニットを格納する段階であって、前記K個のユニットが前記M個のデータユニットおよび前記N個のチェックユニットを有し、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、格納する段階と
    を備える方法。
  2. 前記ストレージシステムが複数のストレージノードを備えており、それぞれのストレージノードが前記K個のハードディスクモジュールのインタフェースモジュールとやり取りする、請求項1に記載の方法。
  3. 前記第1デバイスが前記ストレージシステムのクライアントであり、前記第1デバイスが前記ストレージシステム内にあるK個のハードディスクモジュールに前記K個のユニットを格納する前記段階が具体的には、
    前記クライアントが前記複数のストレージノードのうちの対象ストレージノードに前記K個のユニットを送信する段階と、
    前記対象ストレージノードが前記ストレージシステム内にある前記K個のハードディスクモジュールに前記K個のユニットを格納する段階と
    を有する、請求項2に記載の方法。
  4. 前記ストレージシステムが第2デバイスを備えており、前記第2デバイスと前記第1デバイスとの間には、相互バックアップ関係またはプライマリ/セカンダリ関係がある、請求項1に記載の方法。
  5. 前記K個のハードディスクモジュールが複数のストレージノードとやり取りし、前記K個のハードディスクモジュールのうちの少なくとも2つが、前記複数のストレージノードのうちの同じ1つのストレージノードとやり取りし、前記ハードディスクモジュールの量が前記ストレージノードの量より多い、請求項1に記載の方法。
  6. ストレージシステムにおけるデータ読み出し方法であって、前記方法が、
    第1デバイスが読み出し要求を受信する段階であって、前記読み出し要求が読み出し対象データのデータ識別子を含む、受信する段階と、
    前記第1デバイスが、前記ストレージシステム内にあるK個のハードディスクモジュールから前記データ識別子に基づいて、前記読み出し対象データを格納するハードディスクモジュールを決定する段階と、
    前記第1デバイスが、前記読み出し対象データを格納する前記ハードディスクモジュールから前記読み出し対象データを読み出す段階であって、前記読み出し対象データが、M個のデータユニット内にあるデータに属しており、前記ストレージシステムがさらに前記M個のデータユニットのN個のチェックユニットを含み、MおよびNが両方とも正の整数であり、M+N=Kであり、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、前記K個のユニットが前記M個のデータユニットおよび前記N個のチェックユニットを含み、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、読み出す段階と
    を備える方法。
  7. 前記K個のハードディスクモジュールが複数のストレージノードとやり取りし、前記K個のハードディスクモジュールのうちの少なくとも2つが、前記複数のストレージノードのうちの同じ1つのストレージノードとやり取りし、前記ハードディスクモジュールの量が前記ストレージノードの量より多い、請求項6に記載の方法。
  8. ストレージシステムにおけるデータ記憶装置であって、
    M個のデータユニット用にN個のチェックユニットを生成するように構成された生成ユニットであって、MおよびNが両方とも正の整数であり、M+N=Kである、生成ユニットと、
    前記ストレージシステム内にあるK個のハードディスクモジュールに前記K個のユニットを格納するように構成されたストレージユニットであって、前記K個のユニットがM個のデータユニットおよびN個のチェックユニットを含み、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、ストレージユニットと
    を備える装置。
  9. 前記ストレージシステムが複数のストレージノードを備えており、それぞれのストレージノードが前記K個のハードディスクモジュールのうちの少なくとも1つのインタフェースモジュールとやり取りする、請求項8に記載の装置。
  10. 前記装置が前記ストレージシステムのクライアントであり、前記装置が送信ユニットを備えており、
    前記送信ユニットが、前記複数のストレージノード内にある対象ストレージノードに前記K個のユニットを送信するように構成されていることにより、前記対象ストレージノードが、前記ストレージシステム内にある前記K個のハードディスクモジュールに前記K個のユニットを格納する、請求項9に記載の装置。
  11. 前記インタフェースモジュールが、ホストバスアダプタ、冗長独立ディスクアレイ、エクスパンダカード、またはネットワークインタフェースカードである、請求項8から10のいずれか一項に記載の装置。
  12. 前記ストレージシステムが第2デバイスを備えており、前記第2デバイスと前記装置との間には、相互バックアップ関係またはプライマリ/セカンダリ関係がある、請求項8に記載の装置。
  13. 前記K個のハードディスクモジュールが複数のストレージノードとやり取りし、前記K個のハードディスクモジュールのうちの少なくとも2つが、前記複数のストレージノードのうちの同じ1つのストレージノードとやり取りし、前記ハードディスクモジュールの量が前記ストレージノードの量より多い、請求項8に記載の装置。
  14. ストレージシステムにおけるデータ読み出し装置であって、
    読み出し要求を受信するように構成された受信ユニットであって、前記読み出し要求が読み出し対象データのデータ識別子を含む、受信ユニットと、
    前記ストレージシステム内にあるK個のハードディスクモジュールから前記データ識別子に基づいて、前記読み出し対象データを格納するハードディスクモジュールを決定するように構成された処理ユニットと
    を備えており、
    前記処理ユニットがさらに、前記読み出し対象データを格納する前記ハードディスクモジュールから前記読み出し対象データを読み出すように構成されており、前記読み出し対象データが、M個のデータユニット内にあるデータに属しており、前記ストレージシステムがさらに、前記M個のデータユニットのN個のチェックユニットを含み、MおよびNが両方とも正の整数であり、M+N=Kであり、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、前記K個のユニットが前記M個のデータユニットおよび前記N個のチェックユニットを含み、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、装置。
  15. 前記K個のハードディスクモジュールが複数のストレージノードとやり取りし、前記K個のハードディスクモジュールのうちの少なくとも2つが、前記複数のストレージノードのうちの同じ1つのストレージノードとやり取りし、前記ハードディスクモジュールの量が前記ストレージノードの量より多い、請求項14に記載の装置。
  16. ストレージシステムであって、前記ストレージシステムがストレージデバイスとK個のハードディスクモジュールとを備えており、
    前記ストレージデバイスが、
    M個のデータユニット用にN個のチェックユニットを生成することであって、MおよびNが両方とも正の整数であり、M+N=Kである、生成することと、
    前記K個のユニットをK個のハードディスクモジュールに格納することであって、前記K個のユニットがM個のデータユニットおよびN個のチェックユニットを含み、前記K個のハードディスクモジュールのそれぞれが前記K個のユニットのうちの1つを格納し、それぞれのハードディスクモジュールがインタフェースモジュールおよびハードディスクを有し、前記インタフェースモジュールが前記ハードディスクとやり取りする、格納することと
    を行うように構成されている、ストレージシステム。
  17. 前記ストレージシステムがさらに複数のストレージノードを備えており、それぞれのストレージノードが前記K個のハードディスクモジュールのインタフェースモジュールとやり取りする、請求項16に記載のストレージシステム。
  18. 前記K個のハードディスクモジュールが複数のストレージノードとやり取りし、前記K個のハードディスクモジュールのうちの少なくとも2つが、前記複数のストレージノードのうちの同じ1つのストレージノードとやり取りし、前記ハードディスクモジュールの量が前記ストレージノードの量より多い、請求項16に記載のストレージシステム。
  19. コンピュータに、請求項1から7のいずれか一項に記載の方法を実行させるためのコンピュータプログラム。
JP2022536646A 2020-01-08 2020-12-29 ストレージシステムにおけるデータ記憶方法、データ読み出し方法、データ記憶装置、データ読み出し装置、ストレージデバイス、およびシステム Pending JP2023510500A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN202010018706.6 2020-01-08
CN202010018706 2020-01-08
CN202010096222.3A CN111399766B (zh) 2020-01-08 2020-02-17 存储系统中的数据存储方法、数据读取方法、装置及系统
CN202010096222.3 2020-02-17
PCT/CN2020/141063 WO2021139571A1 (zh) 2020-01-08 2020-12-29 存储系统中的数据存储方法、数据读取方法、装置及系统

Publications (1)

Publication Number Publication Date
JP2023510500A true JP2023510500A (ja) 2023-03-14

Family

ID=71428516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022536646A Pending JP2023510500A (ja) 2020-01-08 2020-12-29 ストレージシステムにおけるデータ記憶方法、データ読み出し方法、データ記憶装置、データ読み出し装置、ストレージデバイス、およびシステム

Country Status (5)

Country Link
US (1) US20220342567A1 (ja)
EP (1) EP4075252A4 (ja)
JP (1) JP2023510500A (ja)
CN (1) CN111399766B (ja)
WO (1) WO2021139571A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111399766B (zh) * 2020-01-08 2021-10-22 华为技术有限公司 存储系统中的数据存储方法、数据读取方法、装置及系统
CN114461134B (zh) * 2021-11-19 2024-05-14 中航航空电子有限公司 硬盘零碎块读写装置、方法、计算机设备和存储介质
US20230236755A1 (en) * 2022-01-27 2023-07-27 Pure Storage, Inc. Data Resiliency Using Container Storage System Storage Pools

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070214314A1 (en) * 2006-03-07 2007-09-13 Reuter James M Methods and systems for hierarchical management of distributed data
US7594134B1 (en) * 2006-08-14 2009-09-22 Network Appliance, Inc. Dual access pathways to serially-connected mass data storage units
US8862847B2 (en) * 2013-02-08 2014-10-14 Huawei Technologies Co., Ltd. Distributed storage method, apparatus, and system for reducing a data loss that may result from a single-point failure
CN103699494B (zh) * 2013-12-06 2017-03-15 北京奇虎科技有限公司 一种数据存储方法、数据存储设备和分布式存储系统
US9727437B2 (en) * 2014-02-18 2017-08-08 Quantum Corporation Dynamically controlling erasure code distribution in an object store
US9965336B2 (en) * 2014-04-30 2018-05-08 International Business Machines Corporation Delegating iterative storage unit access in a dispersed storage network
EP3208714B1 (en) * 2015-12-31 2019-08-21 Huawei Technologies Co., Ltd. Data reconstruction method, apparatus and system in distributed storage system
CN106201338B (zh) * 2016-06-28 2019-10-22 华为技术有限公司 数据存储方法及装置
US10270469B2 (en) * 2017-05-24 2019-04-23 Vmware, Inc. Efficient data write approach for distributed multi-mirror erasure coding system
CN107273048B (zh) * 2017-06-08 2020-08-04 浙江大华技术股份有限公司 一种数据写入方法及装置
CN109213420A (zh) * 2017-06-29 2019-01-15 杭州海康威视数字技术股份有限公司 数据存储方法、装置及系统
EP3495939B1 (en) * 2017-10-13 2021-06-30 Huawei Technologies Co., Ltd. Method and device for storing data in distributed block storage system, and computer readable storage medium
CN109783002B (zh) * 2017-11-14 2021-02-26 华为技术有限公司 数据读写方法、管理设备、客户端和存储系统
CN107943421B (zh) * 2017-11-30 2021-04-20 成都华为技术有限公司 一种基于分布式存储系统的分区划分方法及装置
CN108780386B (zh) * 2017-12-20 2020-09-04 华为技术有限公司 一种数据存储的方法、装置和系统
CN110096220B (zh) * 2018-01-31 2020-06-26 华为技术有限公司 一种分布式存储系统、数据处理方法和存储节点
CN109271360A (zh) * 2018-08-03 2019-01-25 北京城市网邻信息技术有限公司 分布式对象存储数据冗余方法、装置、设备及存储介质
CN109726036B (zh) * 2018-11-21 2021-08-20 华为技术有限公司 一种存储系统中的数据重构方法和装置
CN109783280A (zh) * 2019-01-15 2019-05-21 上海海得控制系统股份有限公司 共享存储系统和共享存储方法
CN111399766B (zh) * 2020-01-08 2021-10-22 华为技术有限公司 存储系统中的数据存储方法、数据读取方法、装置及系统

Also Published As

Publication number Publication date
CN111399766B (zh) 2021-10-22
WO2021139571A1 (zh) 2021-07-15
CN111399766A (zh) 2020-07-10
EP4075252A1 (en) 2022-10-19
EP4075252A4 (en) 2023-02-08
US20220342567A1 (en) 2022-10-27

Similar Documents

Publication Publication Date Title
US11163653B2 (en) Storage cluster failure detection
US11422908B2 (en) Non-disruptive controller replacement in a cross-cluster redundancy configuration
JP2023510500A (ja) ストレージシステムにおけるデータ記憶方法、データ読み出し方法、データ記憶装置、データ読み出し装置、ストレージデバイス、およびシステム
US8938604B2 (en) Data backup using distributed hash tables
US20190220379A1 (en) Troubleshooting Method, Apparatus, and Device
US20190235777A1 (en) Redundant storage system
US11281386B2 (en) Disk array enclosure with metadata journal
US11061618B1 (en) Disk array enclosure configured to determine metadata page location based on metadata identifier
TWI773152B (zh) 伺服器與應用於伺服器的控制方法
CN111522499B (zh) 运维数据读取装置及其读取方法
CN108462756B (zh) 一种数据写入方法和装置
CN108512753B (zh) 一种集群文件系统中消息传输的方法及装置
CN109840051B (zh) 一种存储系统的数据存储方法及装置
CN113918083A (zh) 分条管理方法、存储系统、分条管理装置及存储介质
US11099767B2 (en) Storage system with throughput-based timing of synchronous replication recovery
CN112104729A (zh) 一种存储系统及其缓存方法
WO2020140523A1 (zh) 数据存储切换方法、装置、设备及存储介质
CN115470041A (zh) 一种数据灾备管理方法及装置
CN116594551A (zh) 一种数据存储方法及装置
US20190028542A1 (en) Method and device for transmitting data
US11221948B2 (en) Coordinated reclaiming of data storage space
US11347596B2 (en) Preliminary data protection using composite copies of data in a data storage system
TWI766594B (zh) 伺服器與應用於伺服器的控制方法
WO2023143618A1 (zh) 读取数据的方法或写数据的方法及其相关系统
US20240171530A1 (en) Data Sending Method, Network Interface Card, and Computing Device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240527