JP7113832B2 - 分散ストレージシステム及び分散記憶制御方法 - Google Patents
分散ストレージシステム及び分散記憶制御方法 Download PDFInfo
- Publication number
- JP7113832B2 JP7113832B2 JP2019540170A JP2019540170A JP7113832B2 JP 7113832 B2 JP7113832 B2 JP 7113832B2 JP 2019540170 A JP2019540170 A JP 2019540170A JP 2019540170 A JP2019540170 A JP 2019540170A JP 7113832 B2 JP7113832 B2 JP 7113832B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- parity
- data
- node
- update data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2015—Redundant power supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/261—Storage comprising a plurality of storage devices
- G06F2212/262—Storage comprising a plurality of storage devices configured as RAID
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/283—Plural cache memories
- G06F2212/284—Plural cache memories being distributed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/313—In storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Hardware Redundancy (AREA)
Description
・「冗長構成領域」とは、冗長構成グループが提供する論理記憶領域である。
・「ノード領域」とは、複数のノードの各々が提供する論理記憶領域である。複数のノードがそれぞれ提供する複数のノード領域が、冗長構成領域を構成する。
・「ストリップ」とは、ノード領域の一部である。ストリップは、ユーザデータセットまたはパリティを格納する。ユーザデータセットが格納されるストリップを「ユーザストリップ」と言うことができ、パリティが格納されるストリップを「パリティストリップ」と言うことができる。なお、「ユーザデータセット」は、ライト要求に付随するユーザデータ(ライト対象データ)の少なくとも一部としてのユーザデータユニットの一部である。「ユーザデータユニット」は、ストライプに対応した全ユーザデータセットの集合である。「データセット」とは、1つのストリップに格納されるデータであり、以下の説明では、ユーザデータセットまたはパリティである。つまり、データセットとは、ストリップ単位のデータである。
・「ストライプ」とは、冗長構成領域における2以上のノード領域にそれぞれ存在する2以上のストリップ(例えば同一論理アドレスの2以上のストリップ)で構成された記憶領域である。ストライプ毎に1以上のパリティが用意されてよい。
・ストレージクラスタ(201)内に一定量以上のドメイン(つまり、多くの電源)が存在する場合(例えば通常運用時に)、ライトバックが採用される。ライトバックによる冗長化でも、データ保護に問題ないと考えられるためである。
・ストレージクラスタ(201)内に一定量以上のドメインが存在しない場合(例えば障害発生時に)、ライトスルーが採用される。データ消失を防止するためである。
・ユーザ(ストレージを使用するソフトウェアなど)の要件が、レイテンシ性能重視の場合は、ライトバックが採用される。
・ユーザの要件が、データ保護重視(例えば、アーカイブ目的など)の場合は、ライトスルーが採用される。
・追加先または削除元のドメイン(202)。
・追加先または削除元のドメイン(202)毎に、追加されるまたは削除されるノード(203)の数。(追加先または削除元のドメイン(202)毎に、追加されるまたは削除されるノードは、決定されたノード数分、ランダムで決定されてよい。)
(x1)複製元ノードの電源(241)(ドメイン(202))と異なる電源(241)のノードのうち、複製先として選択可能なノード(例えば、空き容量が所定条件を満たすノード)が少なくとも1つあるか否かを判断する。
(x2)(x1)の判断結果が真の場合、複製元ノードの電源(241)と異なる電源(241)のノードから、複製先とするノードを選択する。
(x3)(x1)の判断結果が偽の場合、または、(x2)で選択されたノード数が、複製先のノード数として必要なノード数n(nは自然数)に満たない場合、複製元ノードの電源(241)と同じ電源(241)のノードではあるが、UPS(502)(サブドメイン(501))が複製元ノードと異なるノードを、複製先として、複製先ノード数がnとなるように、選択する。
・追加先または削除元のサブドメイン(501)。
・追加先または削除元のサブドメイン(501)毎に、追加されるまたは削除されるノード(203)の数。(追加先または削除元のサブドメイン(501)毎に、追加されるまたは削除されるノードは、決定されたノード数分、ランダムで決定されてよい。)
(v1)クライアント(101A)は、更新データ(D1)のライト要求をデータノード(203A)に転送する(651)。
(v2)データノード(203A)は、更新データ(D1)をキャッシュメモリ(121A)に登録する(634)。
(v3)データノード(203A)は、更新データ(D1)を、パリティノード(203B)へ転送する(652)。
(v4)パリティノード(203B)から、受信した更新データ(D1)をキャッシュメモリ(121B)に登録する(641)。
(v5)パリティノード(203B)が、データノード(203A)へ結果を返却する(653)。
(v6)データノード(203A)は、パリティノード(203B)から結果を受信した場合に、クライアント(101A)へ結果を返却する(654)。
Claims (7)
- クライアントからライト要求を受信する分散ストレージシステムであって、
複数の電源部から電力供給を受ける複数の計算機を有し、
前記複数の計算機のうち、前記クライアントからライト要求を受信した計算機である第1計算機が、
(A)前記ライト要求に付随したデータの少なくとも一部である更新データをキャッシュし、
(B)前記更新データの二重化のための転送先として、前記第1計算機の電源部と異なる電源部から電力供給を受ける計算機のうちの当該更新データに対応したパリティを格納する計算機であるパリティ計算機を選択し、
(C)キャッシュした前記更新データを前記第1計算機の記憶装置に格納することを待たずに、前記選択したパリティ計算機に、前記更新データを転送し、
前記パリティ計算機が、
(D)前記第1計算機からの二重化のための更新データをキャッシュした場合に結果を前記第1計算機に返し、
前記第1計算機が、
(E)前記パリティ計算機から前記更新データをキャッシュした結果を受信した場合に、キャッシュした前記更新データを前記第1計算機の記憶装置に格納することを待たずに、前記クライアントに前記ライト要求の結果を返却し、
(F)前記更新データの旧データを前記パリティ計算機に転送し、
前記パリティ計算機が、
(G)当該パリティ計算機において、前記旧データと、前記クライアントに前記ライト要求の結果を送信するためにキャッシュされている二重化のための前記更新データと、当該更新データに対応する旧パリティとを用いて、当該旧パリティの更新後のパリティである更新後パリティを生成する、分散ストレージシステム。 - クライアントからライト要求を受信する分散ストレージシステムであって、
複数の電源部から電力供給を受ける複数の計算機を有し、
前記複数の計算機のうち、前記クライアントからライト要求を受信した計算機である第1計算機が、
(A)前記ライト要求に付随したデータの少なくとも一部である更新データをキャッシュし、
(B)前記更新データの転送先として、前記第1計算機の電源部と異なる電源部から電力供給を受ける計算機のうちのn個の計算機(nは自然数)であるn個の第2計算機を選択し、
(C)前記選択したn個の第2計算機に、前記更新データをそれぞれ転送し、
前記n個の第2計算機の少なくとも1つが、
(D)前記第1計算機からの更新データをキャッシュした場合に結果を前記第1計算機に返し、
(A)でキャッシュされた更新データが、1つのストライプに格納される全ての更新データの場合、当該全ての更新データの各々について、(B)乃至(D)が行われ、
前記第1計算機は、更に、
(K)前記全ての更新データを用いてパリティを生成し、
(L)前記パリティを、前記全ての更新データに対応したパリティを格納する第2計算機であるパリティ第2計算機に転送し、
前記パリティ第2計算機が、
(M)前記第1計算機からの前記パリティをキャッシュした場合に結果を前記第1計算機に返し、
(A)でキャッシュされた更新データが、1つのストライプに格納される全ての更新データであり、第1の方式であるライトバックが採用される場合、当該全ての更新データの各々について(B)乃至(D)が行われ、かつ、(K)乃至(M)が行われ、
(A)でキャッシュされた更新データが、1つのストライプに格納される全ての更新データであり、第2の方式であるライトスルーが採用される場合、当該全ての更新データの各々について(B)乃至(D)が行われ、かつ、(K)乃至(M)が行われることに代えて、
前記第1計算機は、
(N)前記全ての更新データのうちの一の更新データを永続化し、
(O)前記全ての更新データのうちの前記一の更新データ以外の更新データの各々について、
(o1)当該更新データの転送先として、前記第1計算機の電源部と異なる電源部から電力供給を受ける計算機のうちのn個の計算機(nは自然数)であるn個の第2計算機を選択し、
(o2)前記選択したn個の第2計算機に、前記更新データをそれぞれ転送し、
前記n個の第2計算機のうちの少なくとも1つが、
(o3)前記第1計算機からの前記更新データを永続化した場合に結果を前記第1計算機に返し、
前記第1計算機が、
(P)前記全ての更新データを用いてパリティを生成し、
(Q)前記パリティを、前記全ての更新データに対応したパリティを格納する第2計算機であるパリティ第2計算機に転送し、
前記パリティ第2計算機が、
(R)前記第1計算機からの前記パリティを永続化した場合に結果を前記第1計算機に返す、
分散ストレージシステム。 - クライアントからライト要求を受信する分散ストレージシステムであって、
複数の電源部から電力供給を受ける複数の計算機を有し、
前記複数の計算機のうち、前記クライアントからライト要求を受信した計算機である第1計算機が、
(A)前記ライト要求に付随したデータの少なくとも一部である更新データをキャッシュし、
(B)前記更新データの転送先として、前記第1計算機の電源部と異なる電源部から電力供給を受ける計算機のうちのn個の計算機(nは自然数)であるn個の第2計算機を選択し、
(C)前記選択したn個の第2計算機に、前記更新データをそれぞれ転送し、
前記n個の第2計算機の少なくとも1つが、
(D)前記第1計算機からの更新データをキャッシュした場合に結果を前記第1計算機に返し、
(B)は、下記(b1)乃至(b3)である、
(b1)前記第1計算機の電源と異なる電源から電力供給を受ける計算機のうち、前記更新データの転送先として選択可能な計算機が少なくとも1つあるか否かを判断すること、
(b2)(b1)の判断結果が真の場合、前記第1計算機の電源と異なる電源から電力供給を受けるノードから、転送先とするノードを選択すること、および、
(b3)(b1)の判断結果が偽の場合、または、(b2)で選択されたノード数がnに満たない場合、前記第1計算機の電源と同じ電源の計算機ではあるが、サブ電源が前記第1計算機と異なる計算機を、転送先として、転送先ノード数がnとなるように、選択する、
分散ストレージシステム。 - クライアントからライト要求を受信する分散ストレージシステムであって、
複数の電源部から電力供給を受ける複数の計算機を有し、
前記複数の計算機のうち、前記クライアントからライト要求を受信した計算機である第1計算機が、
(A)前記ライト要求に付随したデータの少なくとも一部である更新データをキャッシュし、
(B)前記更新データの転送先として、前記第1計算機の電源部と異なる電源部から電力供給を受ける計算機のうちのn個の計算機(nは自然数)であるn個の第2計算機を選択し、
(C)前記選択したn個の第2計算機に、前記更新データをそれぞれ転送し、
前記n個の第2計算機の少なくとも1つが、
(D)前記第1計算機からの更新データをキャッシュした場合に結果を前記第1計算機に返し、
1つのストライプに対応した全ての更新データを異なる複数の第1計算機がキャッシュしている場合、前記複数の第1計算機の各々が、(B)乃至(C)を行い、
前記複数の第1計算機の各々について、前記n個の第2計算機が、当該ストライプに対応したパリティを格納する第2計算機であり、前記複数の第1計算機のいずれとも電源部が異なる第2計算機であるパリティ第2計算機を含み、
前記パリティ第2計算機が、前記全ての更新データを用いてパリティを生成する、
分散ストレージシステム。 - ストライプによって異なる計算機がパリティ第2計算機である、
請求項4記載の分散ストレージシステム。 - クライアントからライト要求を受信する分散ストレージシステムを構成する複数の計算機のうちのいずれかの計算機である第1計算機で実行されるプログラムであって、
(A)前記クライアントからのライト要求に付随したデータの少なくとも一部である更新データをそのメモリ部にキャッシュし、
(B)前記更新データの二重化のための転送先として、前記第1計算機の電源部と異なる電源部から電力供給を受ける計算機のうちの当該更新データに対応したパリティを格納する計算機であるパリティ計算機を選択し、
(C)キャッシュした前記更新データを前記第1計算機の記憶装置に格納することを待たずに、前記選択したパリティ計算機に、前記更新データを転送し、
(D)前記パリティ計算機に転送された二重化のための更新データが当該パリティ計算機においてキャッシュされた場合に、当該パリティ計算機から結果を受信し、
(E)前記パリティ計算機から前記更新データをキャッシュした結果を受信した場合に、キャッシュした前記更新データを前記第1計算機の記憶装置に格納することを待たずに、前記クライアントに前記ライト要求の結果を返却し、
(F)前記更新データの旧データを前記パリティ計算機に転送する、
ことを前記第1計算機に実行させるコンピュータプログラム。 - クライアントからライト要求を受信する分散ストレージシステムで行われる分散記憶制御方法であって、
(A)第1計算機が、前記クライアントからのライト要求に付随したデータの少なくとも一部である更新データをそのメモリ部にキャッシュし、
(B)前記第1計算機が、前記更新データの二重化のための転送先として、前記第1計算機の電源部と異なる電源部から電力供給を受ける計算機のうちの当該更新データに対応したパリティを格納する計算機であるパリティ計算機を選択し、
(C)前記第1計算機が、キャッシュした前記更新データを前記第1計算機の記憶装置に格納することを待たずに、前記選択したパリティ計算機に、前記更新データを転送し、
(D)前記パリティ計算機が、前記第1計算機からの二重化のための更新データをキャッシュした場合に結果を前記第1計算機に返し、
(E)前記第1計算機が、前記パリティ計算機から前記更新データをキャッシュした結果を受信した場合に、キャッシュした前記更新データを前記第1計算機の記憶装置に格納することを待たずに、前記クライアントに前記ライト要求の結果を返却し、
(F)前記第1計算機が、前記更新データの旧データを前記パリティ計算機に転送し、
(G)前記パリティ計算機が、前記旧データと、当該パリティ計算機において前記クライアントに前記ライト要求の結果を送信するためにキャッシュされている二重化のための前記更新データと、当該更新データに対応する旧パリティとを用いて、当該旧パリティの更新後のパリティである更新後パリティを生成する、
分散記憶制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/032024 WO2019049224A1 (ja) | 2017-09-06 | 2017-09-06 | 分散ストレージシステム及び分散記憶制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019049224A1 JPWO2019049224A1 (ja) | 2019-11-07 |
JP7113832B2 true JP7113832B2 (ja) | 2022-08-05 |
Family
ID=65633777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019540170A Active JP7113832B2 (ja) | 2017-09-06 | 2017-09-06 | 分散ストレージシステム及び分散記憶制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11321208B2 (ja) |
JP (1) | JP7113832B2 (ja) |
CN (1) | CN111052090B (ja) |
WO (1) | WO2019049224A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7290046B2 (ja) | 2019-03-05 | 2023-06-13 | 中国電力株式会社 | 整定試験装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10838805B2 (en) * | 2018-02-23 | 2020-11-17 | Micron Technology, Inc. | Generating parity data based on a characteristic of a stream of data |
JP2022191854A (ja) * | 2021-06-16 | 2022-12-28 | 株式会社日立製作所 | 記憶システムおよびデータ処理方法 |
JP2023136323A (ja) * | 2022-03-16 | 2023-09-29 | 株式会社日立製作所 | ストレージシステム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009527062A (ja) | 2006-02-14 | 2009-07-23 | ヨッタヨッタ インコーポレイテッド | 超高度データ可用性および地理的災害許容性を得るためのシステムおよび方法 |
WO2016194095A1 (ja) | 2015-06-01 | 2016-12-08 | 株式会社日立製作所 | 情報処理システム、ストレージ装置及び記憶デバイス |
WO2017119091A1 (ja) | 2016-01-07 | 2017-07-13 | 株式会社日立製作所 | 分散型ストレージシステム、データ格納方法、およびソフトウェアプログラム |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506323A (en) * | 1982-03-03 | 1985-03-19 | Sperry Corporation | Cache/disk file status indicator with data protection feature |
US5640530A (en) * | 1992-12-17 | 1997-06-17 | International Business Machines Corporation | Use of configuration registers to control access to multiple caches and nonvolatile stores |
US5623595A (en) * | 1994-09-26 | 1997-04-22 | Oracle Corporation | Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system |
US5784548A (en) * | 1996-03-08 | 1998-07-21 | Mylex Corporation | Modular mirrored cache memory battery backup system |
US5991852A (en) * | 1996-10-28 | 1999-11-23 | Mti Technology Corporation | Cache ram using a secondary controller and switching circuit and improved chassis arrangement |
JPH10312246A (ja) * | 1997-05-12 | 1998-11-24 | Hitachi Ltd | 記憶装置サブシステム |
US6065102A (en) * | 1997-09-12 | 2000-05-16 | Adaptec, Inc. | Fault tolerant multiple client memory arbitration system capable of operating multiple configuration types |
US6883131B2 (en) * | 2001-09-28 | 2005-04-19 | Sun Microsystems, Inc. | XOR processing incorporating error correction code data protection |
US7836339B2 (en) * | 2003-03-31 | 2010-11-16 | Intel Corporation | Computer memory power backup |
JP2005115857A (ja) * | 2003-10-10 | 2005-04-28 | Sony Corp | ファイル記憶装置 |
JP4450609B2 (ja) * | 2003-11-28 | 2010-04-14 | 株式会社日立製作所 | 記憶装置 |
KR20090102789A (ko) * | 2006-12-06 | 2009-09-30 | 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) | 프로그레시브 raid를 이용한 데이터 저장 장치, 시스템 및 방법 |
WO2009098776A1 (ja) * | 2008-02-08 | 2009-08-13 | Fujitsu Limited | バックアップ方法、ディスクアレイ装置及びコントローラ |
US8103904B2 (en) * | 2010-02-22 | 2012-01-24 | International Business Machines Corporation | Read-other protocol for maintaining parity coherency in a write-back distributed redundancy data storage system |
US9348696B2 (en) * | 2010-10-01 | 2016-05-24 | Pure Storage, Inc. | Distributed multi-level protection in a raid array based storage system |
JP5742362B2 (ja) * | 2011-03-28 | 2015-07-01 | 富士通株式会社 | 退避処理装置 |
US9336132B1 (en) | 2012-02-06 | 2016-05-10 | Nutanix, Inc. | Method and system for implementing a distributed operations log |
CN104756092A (zh) * | 2012-10-19 | 2015-07-01 | 富士通株式会社 | 记录再生装置、错误订正方法以及控制装置 |
JP5924819B2 (ja) * | 2013-06-10 | 2016-05-25 | 日本電気株式会社 | データ保全処理装置及びデータ保全処理プログラム |
JP6291776B2 (ja) * | 2013-10-11 | 2018-03-14 | 富士通株式会社 | 情報処理システム、情報処理システムの制御方法及び情報処理装置の制御プログラム |
CN105681070A (zh) * | 2014-11-21 | 2016-06-15 | 中芯国际集成电路制造(天津)有限公司 | 一种自动收集计算机集群节点信息并分析的方法及*** |
US9588857B2 (en) * | 2015-06-22 | 2017-03-07 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Raid logical stripe backup to non-volatile memory in response to raid storage device media errors |
US10877956B2 (en) * | 2015-11-24 | 2020-12-29 | Sap Se | Transactional cache invalidation for inter-node caching |
US20170220249A1 (en) * | 2016-01-29 | 2017-08-03 | Netapp, Inc. | Systems and Methods to Maintain Consistent High Availability and Performance in Storage Area Networks |
CN107506016B (zh) * | 2016-06-14 | 2020-04-21 | 伊姆西Ip控股有限责任公司 | 存储设备和对存储设备供电的方法 |
US11132258B2 (en) * | 2019-01-31 | 2021-09-28 | EMC IP Holding Company, LLC | In-place RAID conversion system and method |
US10481660B1 (en) * | 2019-04-25 | 2019-11-19 | Michael Feldman | Batteryless data logger with backup status indication and method therefor |
-
2017
- 2017-09-06 JP JP2019540170A patent/JP7113832B2/ja active Active
- 2017-09-06 WO PCT/JP2017/032024 patent/WO2019049224A1/ja active Application Filing
- 2017-09-06 CN CN201780093875.2A patent/CN111052090B/zh active Active
- 2017-09-06 US US16/492,051 patent/US11321208B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009527062A (ja) | 2006-02-14 | 2009-07-23 | ヨッタヨッタ インコーポレイテッド | 超高度データ可用性および地理的災害許容性を得るためのシステムおよび方法 |
WO2016194095A1 (ja) | 2015-06-01 | 2016-12-08 | 株式会社日立製作所 | 情報処理システム、ストレージ装置及び記憶デバイス |
WO2017119091A1 (ja) | 2016-01-07 | 2017-07-13 | 株式会社日立製作所 | 分散型ストレージシステム、データ格納方法、およびソフトウェアプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7290046B2 (ja) | 2019-03-05 | 2023-06-13 | 中国電力株式会社 | 整定試験装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019049224A1 (ja) | 2019-03-14 |
JPWO2019049224A1 (ja) | 2019-11-07 |
CN111052090B (zh) | 2023-09-29 |
US11321208B2 (en) | 2022-05-03 |
US20200034263A1 (en) | 2020-01-30 |
CN111052090A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6009095B2 (ja) | ストレージシステム及び記憶制御方法 | |
JP7113832B2 (ja) | 分散ストレージシステム及び分散記憶制御方法 | |
US20160371186A1 (en) | Access-based eviction of blocks from solid state drive cache memory | |
US6912669B2 (en) | Method and apparatus for maintaining cache coherency in a storage system | |
JP4961319B2 (ja) | 仮想ボリュームにおける仮想領域に動的に実領域を割り当てるストレージシステム | |
US10359967B2 (en) | Computer system | |
US20180322024A1 (en) | Storage apparatus, storage system, and control method of storage system | |
JP2022512064A (ja) | 様々なデータ冗長性スキームを備えた、システムにおける利用可能なストレージ空間を改善すること | |
US10657062B2 (en) | Distributed storage system and distributed storage control method wherein data stored in cache matrix, that is to be stored in said distributed storage, is tracked by columns and rows | |
US11086562B2 (en) | Computer system having data amount reduction function and storage control method | |
CN113360082B (zh) | 存储***及其控制方法 | |
JP6974281B2 (ja) | ストレージシステム及びストレージ制御方法 | |
US10884924B2 (en) | Storage system and data writing control method | |
US20210271393A1 (en) | Method and apparatus for performing data access management of all flash array server | |
US11941253B2 (en) | Storage system and method using persistent memory | |
WO2018055686A1 (ja) | 情報処理システム | |
JPWO2016088372A1 (ja) | アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びプログラム | |
US11789613B2 (en) | Storage system and data processing method | |
JP2020077248A (ja) | ストレージシステム、データ管理方法、及びデータ管理プログラム | |
JP7179947B2 (ja) | ストレージシステム及びストレージ制御方法 | |
US11755249B2 (en) | Storage system including storage nodes to determine cache allocations to implement cache control | |
WO2017134795A1 (ja) | ストレージシステム及びキャッシュ制御方法 | |
WO2014115184A1 (en) | Storage system and control method for storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200915 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20201112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201225 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210601 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210824 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20210824 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20210907 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20210914 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20211119 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20211124 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220125 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220517 |
|
C23 | Notice of termination of proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C23 Effective date: 20220524 |
|
C03 | Trial/appeal decision taken |
Free format text: JAPANESE INTERMEDIATE CODE: C03 Effective date: 20220628 |
|
C30A | Notification sent |
Free format text: JAPANESE INTERMEDIATE CODE: C3012 Effective date: 20220628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220726 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7113832 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |