JP6526235B2 - データチェック方法および記憶システム - Google Patents
データチェック方法および記憶システム Download PDFInfo
- Publication number
- JP6526235B2 JP6526235B2 JP2017552874A JP2017552874A JP6526235B2 JP 6526235 B2 JP6526235 B2 JP 6526235B2 JP 2017552874 A JP2017552874 A JP 2017552874A JP 2017552874 A JP2017552874 A JP 2017552874A JP 6526235 B2 JP6526235 B2 JP 6526235B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- node
- write request
- data write
- identifier
- 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
- 238000000034 method Methods 0.000 title claims description 51
- 230000009897 systematic effect Effects 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 19
- 239000007787 solid Substances 0.000 description 37
- 238000004891 communication Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003252 repetitive effect Effects 0.000 description 6
- 230000003321 amplification Effects 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- 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/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/25—Using a specific main memory architecture
- G06F2212/254—Distributed memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3854—Control is performed at the peripheral side
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)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Description
22 記憶ノード
118 プロセッサ
120 キャッシュ
122 メモリ
124 プログラム
126 バス
128 通信インタフェース
211 コントローラ
222 ソリッドステートディスク
223 インタフェースカード
224 インタフェースカード
225 プロセッサ
226 メモリ
Claims (28)
- ホスト、チェックノードおよび複数のデータノードを含む記憶システムであって、各データノードは一意の識別子を有し、
前記ホストは、データ書込み要求に含まれるデータノード識別子に従って、複数の前記データ書込み要求を複数のデータ書込み要求セットに分類し、
指定された数のデータ書込み要求セットの各々における全てのデータ書込み要求のサイズが事前に設定されたデータ量に達するとき、前記指定された数のデータ書込み要求セットのチェックデータを計算し、
前記指定された数のデータ書込み要求セットの各々を、前記データ書込み要求セットに含まれるデータノード識別子によって示されるデータノードに送信し、
前記チェックデータを前記チェックノードに送信するように構成され、
各データ書込み要求セットは、同じデータノード識別子を有する複数のデータ書込み要求を含み、各データ書込み要求は、データ、前記データが書き込まれるべき論理アドレスおよび前記データが書き込まれるべきデータノードの識別子を含み、前記データが書き込まれるべき前記データノードは、前記データまたは前記論理アドレスに従って前記ホストによって選択され、
前記指定された数のデータ書込み要求セットは、前記複数のデータ書込み要求セットのサブセットである、記憶システム。 - 前記ホストは、識別子を前記指定された数のデータ書込み要求セットの各々に割り当て、各データ書込み要求セットの前記識別子を、前記データ書込み要求セットに含まれる前記データノード識別子によって示される前記データノードに送信するようにさらに構成され、
前記データノードは、データ書込み要求セットおよび前記データ書込み要求セットの識別子を受信して、メタデータを作成するように構成され、前記メタデータは、前記データ書込み要求セットの前記識別子と、各データ書込み要求内のデータが書き込まれるべき論理アドレスとの間の対応関係と、各データ書込み要求内の前記データが書き込まれるべき前記論理アドレスと、内部オフセットとの間の対応関係とを含む、請求項1に記載の記憶システム。 - 前記記憶システムは、メタデータチェック計算ノードおよびメタデータチェックノードをさらに含み、
前記データノードは、蓄積されたメタデータが前記事前に設定されたデータ量に達したと決定するとき、メタデータセットおよび前記データノードの識別子を前記メタデータチェック計算ノードに送信するようにさらに構成され、前記メタデータセットは、前記事前に設定されたデータ量に達した前記蓄積されたメタデータを含み、
前記メタデータチェック計算ノードは、メタデータセットおよび前記複数のデータノードの各々の識別子を受信し、各メタデータセットとデータノード識別子との間の対応関係を記憶し、前記対応関係に従って、複数の受信されたメタデータセットから、指定された数のメタデータセットを選択し、前記指定された数の選択されたメタデータセットのチェックデータを計算し、前記指定された数のメタデータセットの前記チェックデータを前記メタデータチェックノードに送信するように構成され、前記メタデータセットおよび前記識別子は、前記データノードによって送信され、前記指定された数の選択されたメタデータセットは、異なるデータノード識別子に対応しており、前記メタデータチェックノードは、前記指定された数のメタデータセットの各々を記憶するデータノードとは異なる、請求項2に記載の記憶システム。 - 前記記憶システムは、ガベージコレクションノードをさらに含み、
前記ホストは、ストライプ識別子と呼ばれる識別子をストライプに割り当て、前記ストライプ識別子と、前記ストライプに含まれる各データ書込み要求セットの識別子との間の対応関係を、前記ガベージコレクションノードに送信するようにさらに構成され、前記ストライプは、前記指定された数のデータ書込み要求セットおよび前記指定された数のデータ書込み要求セットの前記チェックデータを含み、
前記データノードは、データ書込み要求セットの記憶されたビットマップを、前記ガベージコレクションノードに送信するようにさらに構成され、前記ビットマップは、前記データ書込み要求セット内の無効データのデータ量を示すために使用され、
前記ガベージコレクションノードは、前記ストライプ識別子と、前記ストライプに含まれる各データ書込み要求セットの前記識別子との間の前記対応関係に従って、且つ、各データ書込み要求セットのビットマップに従って、前記ストライプに含まれる無効データのデータ量が、任意の他のストライプに含まれる無効データのデータ量よりも大きいと決定し、前記ストライプに含まれる無効データの前記データ量が、任意の他のストライプに含まれる無効データの前記データ量よりも大きいと決定したとき、ガベージコレクション通知メッセージを、前記ストライプに含まれる各データ書込み要求セットが配置されるデータノードに送信するように構成され、各ガベージコレクション通知メッセージは、データ書込み要求セットの識別子を含む、請求項2に記載の記憶システム。 - 前記データノードは、前記ガベージコレクション通知メッセージを受信した後、前記データ書込み要求セットの前記識別子および前記データ書込み要求セットの記憶されたビットマップに従って、前記データ書込み要求セットに対して体系的なガベージコレクション操作を実行するようにさらに構成される、請求項4に記載の記憶システム。
- 前記指定された数は、事前に設定されたチェックモードに従って決定される、請求項1乃至5のいずれか1項に記載の記憶システム。
- 記憶システムにおけるデータチェック方法であって、前記記憶システムは、ホスト、チェックノードおよび複数のデータノードを含み、その各々は一意の識別子を有し、前記方法は、
前記ホストによって、データ書込み要求に含まれるデータノード識別子に従って、複数の前記データ書込み要求を複数のデータ書込み要求セットに分類するステップであって、各データ書込み要求セットは、同じデータノード識別子を有する複数のデータ書込み要求を含み、各データ書込み要求は、データ、前記データが書き込まれるべき論理アドレスおよび前記データが書き込まれるべきデータノードの識別子を含み、前記データが書き込まれるべき前記データノードは、前記データまたは前記論理アドレスに従って前記ホストによって選択される、ステップと、
指定された数のデータ書込み要求セットの各々における全てのデータ書込み要求のサイズが事前に設定されたデータ量に達するとき、前記ホストによって、前記指定された数のデータ書込み要求セットのチェックデータを計算するステップであって、前記指定された数のデータ書込み要求セットは、前記複数のデータ書込み要求セットのサブセットである、ステップと、
前記ホストによって、前記指定された数のデータ書込み要求セットの各々を、前記データ書込み要求セットに含まれるデータノード識別子によって示されるデータノードに送信するステップと、
前記ホストによって、前記チェックデータを前記チェックノードに送信するステップとを含む、方法。 - 前記ホストによって、識別子を前記指定された数のデータ書込み要求セットの各々に割り当て、各データ書込み要求セットの前記識別子を、前記データ書込み要求セットに含まれる前記データノード識別子によって示される前記データノードに送信するステップと、
前記データノードによって、データ書込み要求セットおよび前記データ書込み要求セットの識別子を受信して、前記データノードによって、前記データ書込み要求セットの前記識別子と、各データ書込み要求内のデータが書き込まれるべき論理アドレスとの間の対応関係と、各データ書込み要求内の前記データが書き込まれるべき前記論理アドレスと、内部オフセットとの間の対応関係とを含む、メタデータを作成するステップとをさらに含む、請求項7に記載の方法。 - 前記記憶システムは、メタデータチェック計算ノードおよびメタデータチェックノードをさらに含み、前記方法は、
蓄積されたメタデータが前記事前に設定されたデータ量に達したと決定するとき、前記データノードによって、メタデータセットおよび前記データノードの識別子を前記メタデータチェック計算ノードに送信するステップであって、前記メタデータセットは、前記事前に設定されたデータ量に達した前記蓄積されたメタデータを含む、ステップと、
前記メタデータチェック計算ノードによって、メタデータセットおよび前記複数のデータノードの各々の識別子を受信するステップであって、前記メタデータセットおよび前記識別子は、前記データノードによって送信される、ステップと、
前記メタデータチェック計算ノードによって、各メタデータセットとデータノード識別子との間の対応関係を記憶するステップと、
前記メタデータチェック計算ノードによって、前記対応関係に従って、複数の受信されたメタデータセットから、指定された数のメタデータセットを選択するステップであって、前記指定された数の選択されたメタデータセットは、異なるデータノード識別子に対応している、ステップと、
前記メタデータチェック計算ノードによって、前記指定された数の選択されたメタデータセットのチェックデータを計算して、前記メタデータチェック計算ノードによって、前記指定された数のメタデータセットの前記チェックデータを前記メタデータチェックノードに送信するステップであって、前記メタデータチェックノードは、前記指定された数のメタデータセットの各々を記憶するデータノードとは異なる、ステップとをさらに含む、請求項8に記載の方法。 - 前記記憶システムは、ガベージコレクションノードをさらに含み、前記方法は、
前記ホストによって、ストライプ識別子と呼ばれる識別子をストライプに割り当てるステップであって、前記ストライプは、前記指定された数のデータ書込み要求セットおよび前記指定された数のデータ書込み要求セットの前記チェックデータを含む、ステップと、
前記ホストによって、前記ストライプ識別子と、前記ストライプに含まれる各データ書込み要求セットの識別子との間の対応関係を、前記ガベージコレクションノードに送信するステップと、
前記データノードによって、データ書込み要求セットの記憶されたビットマップを、前記ガベージコレクションノードに送信するステップであって、前記ビットマップは、前記データ書込み要求セット内の無効データのデータ量を示すために使用される、ステップと、
前記ガベージコレクションノードによって、前記ストライプ識別子と、前記ストライプに含まれる各データ書込み要求セットの前記識別子との間の前記対応関係に従って、且つ、各データ書込み要求セットのビットマップに従って、前記ストライプに含まれる無効データのデータ量が、任意の他のストライプに含まれる無効データのデータ量よりも大きいと決定するステップと、
前記ストライプに含まれる無効データの前記データ量が、任意の他のストライプに含まれる無効データの前記データ量よりも大きいと決定したとき、前記ガベージコレクションノードによって、ガベージコレクション通知メッセージを、前記ストライプに含まれる各データ書込み要求セットが配置されるデータノードに送信するステップであって、各ガベージコレクション通知メッセージは、データ書込み要求セットの識別子を含む、ステップとをさらに含む、請求項8に記載の方法。 - 前記ガベージコレクション通知メッセージを受信した後、前記データノードによって、前記データ書込み要求セットの前記識別子および前記データ書込み要求セットの記憶されたビットマップに従って、前記データ書込み要求セットに対して体系的なガベージコレクション操作を実行するステップをさらに含む、請求項10に記載の方法。
- 前記指定された数は、事前に設定されたチェックモードに従って決定される、請求項7乃至11のいずれか1項に記載の方法。
- 記憶システムであって、前記記憶システムは、チェックノード、チェック計算ノードおよび複数のデータノードを含み、その各々は一意の識別子を有し、
各データノードは、データ書込み要求セットを前記チェック計算ノードに送信するように構成され、前記データ書込み要求セットは、1つ以上のデータ書込み要求を含み、各データ書込み要求は、データおよび前記データが書き込まれるべき同じデータノードの識別子を含み、前記データ書込み要求セットのサイズは、事前に設定されたデータ量と等しく、
前記チェック計算ノードは、複数のデータ書込み要求セットを受信し、前記複数のデータ書込み要求セットから、指定された数のデータ書込み要求セットを選択し、前記指定された数のデータ書込み要求セットのチェックデータを計算し、前記チェックデータを前記チェックノードに送信するように構成され、前記指定された数のデータ書込み要求セットは、前記複数のデータ書込み要求セットのサブセットであり、前記指定された数のデータ書込み要求セットは、各データ書込み要求セット毎に異なるデータノード識別子を含み、前記チェックノードは、前記指定された数のデータ書込み要求セットの各々が配置されるデータノードとは異なる、記憶システム。 - 各データ書込み要求は、前記データが書き込まれるべき論理アドレスをさらに含み、前記データが書き込まれるべき前記データノードは、前記データまたは前記データが書き込まれるべき前記論理アドレスに従って、前記記憶システム内のホストによって選択され、
各データノードは、前記ホストによって送信される複数のデータ書込み要求を受信するようにさらに構成される、請求項13に記載の記憶システム。 - 前記データノードは、識別子を、記憶されたデータ書込み要求セットに割り当てて、前記データ書込み要求セットの識別子を前記チェック計算ノードに送信し、前記データ書込み要求セットの前記識別子と、各データ書込み要求内のデータが書き込まれるべき論理アドレスとの間の対応関係と、各データ書込み要求内の前記データが書き込まれるべき前記論理アドレスと、内部オフセットとの間の対応関係とを含む、メタデータを作成するようにさらに構成される、請求項14に記載の記憶システム。
- 前記記憶システムは、メタデータチェック計算ノードおよびメタデータチェックノードをさらに含み、
前記データノードは、蓄積されたメタデータが前記事前に設定されたデータ量に達したと決定するとき、メタデータセットおよび前記データノードの識別子を前記メタデータチェック計算ノードに送信するようにさらに構成され、前記メタデータセットは、前記事前に設定されたデータ量に達した前記蓄積されたメタデータを含み、
前記メタデータチェック計算ノードは、前記データノードによって送信されるメタデータセットおよび各データノードの識別子を受信し、各メタデータセットとデータノード識別子との間の対応関係を記憶し、前記対応関係に従って、複数の受信されたメタデータセットから、指定された数のメタデータセットを選択し、指定された数のメタデータセットのチェックデータを計算し、前記指定された数のメタデータセットの前記チェックデータを前記メタデータチェックノードに送信するように構成され、前記指定された数のメタデータセットは、異なるデータノード識別子に対応しており、前記メタデータチェックノードは、前記指定された数のメタデータセットの各々を記憶するデータノードとは異なる、請求項15に記載の記憶システム。 - 前記記憶システムは、ガベージコレクションノードをさらに含み、前記チェック計算ノードは、ストライプ識別子と呼ばれる識別子をストライプに割り当て、前記ストライプ識別子と、前記ストライプに含まれる各データ書込み要求セットの識別子との間の対応関係を、前記ガベージコレクションノードに送信するようにさらに構成され、前記ストライプは、前記指定された数のデータ書込み要求セットおよび前記指定された数のデータ書込み要求セットの前記チェックデータを含み、
各データノードは、データ書込み要求セットの記憶されたビットマップを、前記ガベージコレクションノードに送信するようにさらに構成され、前記ビットマップは、前記データ書込み要求セット内の無効データのデータ量を示すために使用され、
前記ガベージコレクションノードは、前記ストライプ識別子と、前記ストライプに含まれる各データ書込み要求セットの前記識別子との間の前記対応関係に従って、且つ、各データ書込み要求セットのビットマップに従って、前記ストライプに含まれる無効データのデータ量が、任意の他のストライプに含まれる無効データのデータ量よりも大きいと決定し、前記ストライプに含まれる無効データの前記データ量が、任意の他のストライプに含まれる無効データの前記データ量よりも大きいと決定したとき、ガベージコレクション通知メッセージを、前記ストライプに含まれる各データ書込み要求セットが配置されるデータノードに送信するように構成され、各ガベージコレクション通知メッセージは、データ書込み要求セットの識別子を含む、請求項15に記載の記憶システム。 - 前記データノードは、前記ガベージコレクション通知メッセージを受信した後、前記データ書込み要求セットの前記識別子および前記データ書込み要求セットの記憶されたビットマップに従って、前記データ書込み要求セットに対して体系的なガベージコレクション操作を実行するようにさらに構成される、請求項17に記載の記憶システム。
- 前記指定された数は、事前に設定されたチェックモードに従って決定される、請求項13に記載の記憶システム。
- データチェック方法であって、前記方法は記憶システムに適用され、前記記憶システムは、チェックノード、チェック計算ノードおよび複数のデータノードを含み、各データノードは一意の識別子を有し、前記方法は、
各データノードによって、データ書込み要求セットを前記チェック計算ノードに送信するステップであって、前記データ書込み要求セットは、複数のデータ書込み要求を含み、各データ書込み要求は、データおよび前記データが書き込まれるべき同じデータノードの識別子を含み、前記データ書込み要求セットのサイズは、事前に設定されたデータ量と等しい、ステップと、
前記チェック計算ノードによって、複数のデータ書込み要求セットを受信し、前記チェック計算ノードによって、前記複数のデータ書込み要求セットから、指定された数のデータ書込み要求セットを選択し、前記チェック計算ノードによって、前記指定された数のデータ書込み要求セットのチェックデータを計算し、前記チェック計算ノードによって、前記チェックデータを前記チェックノードに送信するステップであって、前記指定された数のデータ書込み要求セットは、前記複数のデータ書込み要求セットのサブセットであり、前記指定された数のデータ書込み要求セットは、各データ書込み要求セット毎に異なるデータノード由来であり、前記チェックノードは、前記指定された数のデータ書込み要求セットの各々が配置されるデータノードとは異なる、ステップとを含む方法。 - 各データ書込み要求は、前記データが書き込まれるべき論理アドレスをさらに含み、前記データが書き込まれるべき前記データノードは、前記データまたは前記データが書き込まれるべき前記論理アドレスに従って、前記記憶システム内のホストによって選択され、前記方法は、
各データノードによって、前記ホストによって送信される複数のデータ書込み要求を受信するステップをさらに含む、請求項20に記載の方法。 - 前記データノードによって、識別子を、記憶されたデータ書込み要求セットに割り当てて、前記データノードによって、前記データ書込み要求セットの前記識別子を前記チェック計算ノードに送信し、前記データノードによって、前記データ書込み要求セットの前記識別子と、各データ書込み要求内のデータが書き込まれるべき論理アドレスとの間の対応関係と、各データ書込み要求内の前記データが書き込まれるべき前記論理アドレスと、内部オフセットとの間の対応関係とを含む、メタデータを作成するステップをさらに含む、請求項21に記載の方法。
- 前記記憶システムは、メタデータチェック計算ノードおよびメタデータチェックノードをさらに含み、前記方法は、
蓄積されたメタデータが前記事前に設定されたデータ量に達したと決定するとき、前記データノードによって、メタデータセットおよび前記データノードの識別子を前記メタデータチェック計算ノードに送信するステップであって、前記メタデータセットは、前記事前に設定されたデータ量に達した前記蓄積されたメタデータを含む、ステップと、
前記メタデータチェック計算ノードによって、前記データノードによって送信されるメタデータセットおよび各データノードの識別子を受信し、前記メタデータチェック計算ノードによって、各メタデータセットとデータノード識別子との間の対応関係を記憶し、前記メタデータチェック計算ノードによって、前記対応関係に従って、複数の受信されたメタデータセットから、前記指定された数のメタデータセットを選択し、前記メタデータチェック計算ノードによって、前記指定された数のメタデータセットのチェックデータを計算し、前記指定された数のメタデータセットの前記チェックデータを前記メタデータチェックノードに送信するステップであって、前記指定された数のメタデータセットは、異なるデータノード識別子に対応しており、前記メタデータチェックノードは、前記指定された数のメタデータセットの各々を記憶するデータノードとは異なる、ステップとをさらに含む、請求項22に記載の方法。 - 前記記憶システムは、ガベージコレクションノードをさらに含み、前記方法は、
前記チェック計算ノードによって、ストライプ識別子と呼ばれる識別子をストライプに割り当て、前記チェック計算ノードによって、前記ストライプ識別子と、前記ストライプに含まれる各データ書込み要求セットの識別子との間の対応関係を、前記ガベージコレクションノードに送信するステップであって、前記ストライプは、前記指定された数のデータ書込み要求セットおよび前記指定された数のデータ書込み要求セットの前記チェックデータを含む、ステップと、
各データノードによって、データ書込み要求セットの記憶されたビットマップを、前記ガベージコレクションノードに送信するステップであって、前記ビットマップは、前記データ書込み要求セット内の無効データのデータ量を示す、ステップと、
前記ガベージコレクションノードによって、前記ストライプ識別子と、前記ストライプに含まれる各データ書込み要求セットの前記識別子との間の前記対応関係および各データ書込み要求セットのビットマップに従って、前記ストライプに含まれる無効データのデータ量が、任意の他のストライプに含まれる無効データのデータ量よりも大きいと決定し、前記ストライプに含まれる無効データの前記データ量が、任意の他のストライプに含まれる無効データの前記データ量よりも大きいと決定したことに基づいて、前記ガベージコレクションノードによって、ガベージコレクション通知メッセージを、前記ストライプに含まれる各データ書込み要求セットが配置されるデータノードに送信するステップであって、各ガベージコレクション通知メッセージは、データ書込み要求セットの識別子を含む、ステップとをさらに含む、請求項22に記載の方法。 - 前記ガベージコレクション通知メッセージを受信した後、前記データノードによって、前記データ書込み要求セットの前記識別子および前記データ書込み要求セットの記憶されたビットマップに従って、前記データ書込み要求セットに対して体系的なガベージコレクション操作を実行するステップをさらに含む、請求項24に記載の方法。
- 前記指定された数は、事前に設定されたチェックモードに従って決定される、請求項20乃至25のいずれか1項に記載の方法。
- 請求項7乃至12のいずれか1項の前記方法をコンピュータに実行させるプログラム。
- 請求項20乃至26のいずれか1項の前記方法をコンピュータに実行させるプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/107355 WO2018094704A1 (zh) | 2016-11-25 | 2016-11-25 | 一种数据校验的方法及存储*** |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019504369A JP2019504369A (ja) | 2019-02-14 |
JP6526235B2 true JP6526235B2 (ja) | 2019-06-05 |
Family
ID=62188856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017552874A Active JP6526235B2 (ja) | 2016-11-25 | 2016-11-25 | データチェック方法および記憶システム |
Country Status (9)
Country | Link |
---|---|
US (1) | US10303374B2 (ja) |
EP (1) | EP3352071B1 (ja) |
JP (1) | JP6526235B2 (ja) |
CN (1) | CN109074227B (ja) |
AU (1) | AU2016397189B2 (ja) |
BR (1) | BR112017020736B8 (ja) |
CA (1) | CA2978927C (ja) |
SG (1) | SG11201707304RA (ja) |
WO (1) | WO2018094704A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949434B (zh) * | 2019-05-17 | 2022-06-14 | 华为技术有限公司 | 磁盘冗余阵列raid管理方法、raid控制器和*** |
JP7490394B2 (ja) | 2020-03-06 | 2024-05-27 | 株式会社日立製作所 | 情報共有支援方法、及び情報共有支援システム |
US20210357366A1 (en) * | 2020-05-12 | 2021-11-18 | Hewlett Packard Enterprise Development Lp | File system metadata |
CN112365124A (zh) * | 2020-10-16 | 2021-02-12 | 重庆恢恢信息技术有限公司 | 智慧工地中施工材料快速分配工作方法 |
CN114697349A (zh) * | 2020-12-28 | 2022-07-01 | 华为技术有限公司 | 使用中间设备对数据处理的方法、计算机***、及中间设备 |
CN113419684B (zh) * | 2021-07-09 | 2023-02-24 | 深圳大普微电子科技有限公司 | 一种数据处理方法、装置、设备及可读存储介质 |
CN116166179A (zh) * | 2021-11-25 | 2023-05-26 | 华为技术有限公司 | 数据存储***、智能网卡及计算节点 |
CN115933995B (zh) * | 2023-01-09 | 2023-05-09 | 苏州浪潮智能科技有限公司 | 固态硬盘中数据写入方法、装置、电子设备及可读介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3713788B2 (ja) | 1996-02-28 | 2005-11-09 | 株式会社日立製作所 | 記憶装置および記憶装置システム |
US6742081B2 (en) * | 2001-04-30 | 2004-05-25 | Sun Microsystems, Inc. | Data storage array employing block checksums and dynamic striping |
JP4383321B2 (ja) * | 2004-11-09 | 2009-12-16 | 富士通株式会社 | 記憶制御装置および外部記憶装置 |
US8332608B2 (en) * | 2008-09-19 | 2012-12-11 | Mediatek Inc. | Method of enhancing command executing performance of disc drive |
JP5317827B2 (ja) * | 2009-05-19 | 2013-10-16 | 日本電信電話株式会社 | 分散データ管理装置及び方法及びプログラム |
CN102546755A (zh) * | 2011-12-12 | 2012-07-04 | 华中科技大学 | 云存储***的数据存储方法 |
CN102968498B (zh) * | 2012-12-05 | 2016-08-10 | 华为技术有限公司 | 数据处理方法及装置 |
JP6005533B2 (ja) * | 2013-01-17 | 2016-10-12 | 株式会社東芝 | 記憶装置および記憶方法 |
JP2014203233A (ja) * | 2013-04-04 | 2014-10-27 | 株式会社日立製作所 | ストレージシステム及びストレージシステムにおいてデータを更新する方法 |
CN104216664B (zh) * | 2013-06-26 | 2017-06-09 | 华为技术有限公司 | 网络卷创建方法、数据存储方法、存储设备和存储*** |
CN103647797A (zh) * | 2013-11-15 | 2014-03-19 | 北京邮电大学 | 一种分布式文件***及其数据访问方法 |
CN103699494B (zh) | 2013-12-06 | 2017-03-15 | 北京奇虎科技有限公司 | 一种数据存储方法、数据存储设备和分布式存储*** |
CN104272274B (zh) * | 2013-12-31 | 2017-06-09 | 华为技术有限公司 | 一种分布式文件存储***中的数据处理方法及设备 |
CN103761058B (zh) * | 2014-01-23 | 2016-08-17 | 天津中科蓝鲸信息技术有限公司 | Raid1和raid4混合结构网络存储***及方法 |
JP2016184372A (ja) | 2015-03-27 | 2016-10-20 | 富士通株式会社 | ストレージシステム,情報処理装置,パリティ生成プログラム及びパリティ生成方法 |
CN104932953B (zh) * | 2015-06-04 | 2017-11-21 | 华为技术有限公司 | 一种数据分发方法、数据存储方法、相关装置以及*** |
CN105404469B (zh) * | 2015-10-22 | 2018-11-13 | 浙江宇视科技有限公司 | 一种视频数据的存储方法和*** |
CN105930103B (zh) * | 2016-05-10 | 2019-04-16 | 南京大学 | 一种分布式存储ceph的纠删码覆盖写方法 |
-
2016
- 2016-11-25 EP EP16897464.0A patent/EP3352071B1/en active Active
- 2016-11-25 CA CA2978927A patent/CA2978927C/en active Active
- 2016-11-25 SG SG11201707304RA patent/SG11201707304RA/en unknown
- 2016-11-25 AU AU2016397189A patent/AU2016397189B2/en active Active
- 2016-11-25 WO PCT/CN2016/107355 patent/WO2018094704A1/zh active Application Filing
- 2016-11-25 CN CN201680003337.5A patent/CN109074227B/zh active Active
- 2016-11-25 BR BR112017020736A patent/BR112017020736B8/pt active IP Right Grant
- 2016-11-25 JP JP2017552874A patent/JP6526235B2/ja active Active
-
2018
- 2018-08-23 US US16/110,504 patent/US10303374B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
SG11201707304RA (en) | 2018-06-28 |
CN109074227B (zh) | 2020-06-16 |
AU2016397189B2 (en) | 2019-07-25 |
EP3352071A4 (en) | 2018-07-25 |
AU2016397189A1 (en) | 2018-06-14 |
BR112017020736A2 (pt) | 2018-07-17 |
US20180364920A1 (en) | 2018-12-20 |
WO2018094704A1 (zh) | 2018-05-31 |
CN109074227A (zh) | 2018-12-21 |
BR112017020736B1 (pt) | 2021-01-19 |
US10303374B2 (en) | 2019-05-28 |
EP3352071A1 (en) | 2018-07-25 |
BR112017020736B8 (pt) | 2021-08-17 |
CA2978927A1 (en) | 2018-05-25 |
EP3352071B1 (en) | 2019-08-28 |
CA2978927C (en) | 2019-09-17 |
JP2019504369A (ja) | 2019-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6526235B2 (ja) | データチェック方法および記憶システム | |
RU2661280C2 (ru) | Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных | |
JP6560759B2 (ja) | ストレージシステム | |
JP6344675B2 (ja) | ファイル管理方法、分散記憶システムおよび管理ノード | |
US20170371585A1 (en) | System and method for multi-stream data write | |
JP6455900B2 (ja) | ストレージシステムおよびシステムガベージコレクション方法 | |
JP6459644B2 (ja) | ストレージ制御装置、制御システム及び制御プログラム | |
CN107329704B (zh) | 一种缓存镜像方法及控制器 | |
US11579777B2 (en) | Data writing method, client server, and system | |
CN106776147B (zh) | 一种差异数据备份方法和差异数据备份装置 | |
US10235284B2 (en) | Memory system | |
WO2019000982A1 (zh) | 一种存储***、固态硬盘和数据存储方法 | |
WO2015145617A1 (ja) | ストレージシステム及び記憶制御方法 | |
CN110119245B (zh) | 用于操作nand闪存物理空间以扩展存储器容量的方法和*** | |
CN107562654B (zh) | Io命令处理方法与装置 | |
CN107562639B (zh) | 擦除块读请求处理方法与装置 | |
JP6175566B2 (ja) | ストレージシステム及び記憶制御方法 | |
US9703497B2 (en) | Storage system and storage control method | |
CN110659216A (zh) | Nid分配方法及其存储设备 | |
CN115605838A (zh) | 存储控制器、存储控制方法、固态硬盘及存储*** | |
CN116880756A (zh) | 数据存储方法及装置 | |
CN111367825A (zh) | 存储设备的虚拟校验数据缓存 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171011 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171011 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190214 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190408 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190507 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6526235 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |