JP6690891B2 - データミラーリング制御装置及び方法 - Google Patents
データミラーリング制御装置及び方法 Download PDFInfo
- Publication number
- JP6690891B2 JP6690891B2 JP2014194063A JP2014194063A JP6690891B2 JP 6690891 B2 JP6690891 B2 JP 6690891B2 JP 2014194063 A JP2014194063 A JP 2014194063A JP 2014194063 A JP2014194063 A JP 2014194063A JP 6690891 B2 JP6690891 B2 JP 6690891B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage device
- mirroring
- write
- host
- 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 description 32
- 230000004044 response Effects 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 2
- 230000002950 deficient Effects 0.000 claims 1
- 101100045541 Homo sapiens TBCD gene Proteins 0.000 description 74
- 101150093640 SSD1 gene Proteins 0.000 description 74
- 101100111629 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR2 gene Proteins 0.000 description 74
- 102100030290 Tubulin-specific chaperone D Human genes 0.000 description 74
- 230000005540 biological transmission Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 21
- 230000000903 blocking effect Effects 0.000 description 18
- 230000008859 change Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 8
- 238000011084 recovery Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- 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/14—Handling requests for interconnection or transfer
-
- 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
- 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/2056—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 by mirroring
- G06F11/2087—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 by mirroring with a common controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/825—Indexing scheme relating to error detection, to error correction, and to monitoring the problem or solution involving locking
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
本発明は、前記複数のストレージ装置の一つで書込み完了したデータに対する書込み情報に基づいて前記データに対する前記第1書込み命令が伝達されなかったストレージ装置にトリム命令を伝送するトリム命令の伝送部をさらに含むことを特徴とする。
また、本発明の前記命令分配部は、前記メモリロック設定されたデータに対する前記第1書込み命令の伝送を受けることができなかったストレージ装置に前記メモリロック設定されたデータに対する前記第1書込み命令を伝送することを特徴とする。
前記速いストレージ装置設定部は、前記書込み命令に対する書込み完了速度に基づいて前記速いストレージ装置を設定することを特徴とする。
前記速いストレージ装置設定部は、周期的または非周期的に前記速いストレージ装置を変更することを特徴とする。
前記命令分配部は、前記速いストレージ装置が変更された場合、前記メモリロック設定されたデータに対する前記第1書込み命令を変更された前記速いストレージ装置に伝送することを特徴とする。
また、前記命令分配部は、前記速いストレージ装置が故障した場合、前記メモリロック設定されたデータに対する前記第1書込み命令を故障しなかった他のストレージ装置に伝送することを特徴とする。
前記速いストレージ装置は、前記複数のミラーリングストレージ装置の一つから前記複数のミラーリングストレージ装置の他の一つに変更された場合、前記速いストレージ装置ではないものに変更されたストレージ装置にガーベジコレクション命令を伝送するガーベジコレクション命令の伝送部をさらに含むことを特徴とする。
前記メモリロック設定部は、前記第1書込み命令を受信し、前記第1データを書込み完了するのに障害がない前記複数のミラーリングストレージ装置のすべての装置に対して決定された場合、前記ホストに前記第1データのメモリロックを解除することを特徴とする。
また、ミラーリングが適用される複数のストレージ装置の一つのストレージ装置で書込み完了した場合、直ちに書込み完了メッセージを伝送するようにし、書込み性能を向上させることができる。
さらに、適切な時期にトリム命令及びガーベジコレクションが実行できるようにし、SSDの性能及び寿命を向上させることができる。
図1は本発明の一実施例によるデータミラーリングが適用されたストレージシステムの構成図である。
図1を参照すれば、データミラーリングが適用されたストレージシステムは、データミラーリング制御装置110、ホスト120、及び複数のストレージ装置130を含むことができる。
複数のストレージ装置130は、一つのストレージ装置に故障が発生したとき、データが損失することを防止するために、データミラーリングによって同一データを重複して保存することになる。
ホスト120はホストメモリに保存されているデータに対する書込み要請をデータミラーリング装置110に伝送することができる。この際、ホスト120はブロッキング(blocking)方式またはノンブロッキング(non−blocking)方式で書込み要請をデータミラーリング制御装置110に伝送することができる。具体的に、ノンブロッキング方式の場合、ホスト120は以前に書込み要請したデータに対して書込み完了メッセージが受信されたか否かにかかわらず他のデータに対する書込み要請をデータミラーリング制御装置110に伝送することができる。一方、ブロッキング方式の場合、ホスト120は以前に書込み要請したデータに対して書込み完了メッセージが受信されるまで他のデータに対する書込み要請をしない。
また、データミラーリング制御装置110は、メモリロック設定されたデータがミラーリングの適用されたすべてのストレージ装置130で書込み完了した場合、書込み完了したデータに対するメモリロックを解除することができる。
このようなメモリロックにより、ホストメモリの特定アドレスに保存されたデータの中でホスト120から書込み要請されたデータが複数のストレージ装置130で書込み完了するまでホストメモリで削除または変更されないようにすることができる。
この際、書込み命令はブロッキング(blocking)方式またはノンブロッキング(non−blocking)方式で複数のストレージ装置130のそれぞれに伝送できる。具体的に、ブロッキング方式の場合、データミラーリング制御装置110は、ストレージ装置130でデータ書込みが進行中の場合、書込みが完了するまで他のデータに対する書込み命令を伝送しない。
一方、データミラーリング制御装置110は、ホスト120から書込み要請されたデータに対して複数のストレージ装置130の一つで書込み完了した場合、該当のデータに対する書込み完了メッセージをホストに伝送することができる。
一方、データミラーリング制御装置110は、ホスト120から分離された別途の装置で具現できるが、必ずしもこれに限定されるものではなく、ホスト120の一構成として含むことができる。
図2を参照すれば、メモリロック設定部112は、ホストメモリに保存されたデータの中でホスト120から書込み要請されたデータに対してメモリロック(memory lock)を設定することができる。
また、メモリロック設定部112は、メモリロック設定されたデータが複数のストレージ装置130の全てで書込み完了した場合、該当のデータに対するメモリロックを解除することができる。
言い換えれば、ホスト120から書込み要請されたデータに対して設定されたメモリロックはいずれか一つのストレージ装置への書込みが完了したか否かにかかわらず複数のストレージ装置130の全てで書込み完了したときに解除される。
この際、命令分配部111は、複数のストレージ装置130の一つで該当の書込み命令の実行が完了した場合、ホスト120に書込み完了メッセージを伝送することができる。
この際、命令分配部111は、速いストレージ装置でデータ書込みが完了した場合、該当のデータに対する書込み完了メッセージをホスト120に伝送することができる。
速いストレージ装置設定部113は、複数のストレージ装置130の中で少なくとも一つのストレージ装置を速いストレージ装置に設定することができる。この際、速いストレージ装置は、複数のストレージ装置130の中で最新のデータを保存しているストレージ装置を意味することができる。
具体的に、速いストレージ装置設定部113は、複数のストレージ装置の中で同一データに対する書込み完了速度が一番速いストレージ装置を速いストレージ装置に設定することができる。
また、速いストレージ装置設定部113は、同一データに対して一番先に書込み完了したストレージ装置が速いストレージ装置ではない場合、該当のストレージ装置を速いストレージ装置に変更することができる。
例えば、速いストレージ装置設定部113は、複数のストレージ装置130のそれぞれから書込み加速因子(WAF:Write Acceleration Factor)値を周期的に受け、書込み加速因子値が一番高いストレージ装置を速いストレージ装置に選定することができる。
本発明のさらに他の例として、速いストレージ装置設定部113は、速いストレージ装置で書込み命令の実行によって自由ブロック(free block)の量が一定量以下に減少した場合、速いストレージ装置を変更することができる。
特定のデータに対してメモリロック設定されているというのは少なくとも一つのストレージ装置で該当データに対する書込みが完了しなかったことを意味する。よって、速いストレージ装置に故障が発生してもメモリロック設定されたデータに対する書込み命令を他のストレージ装置に伝達することにより、速いストレージ装置の故障によるデータ損失を防止することができる。
具体的に、命令分配部111は、ホスト120が予想しなかった故障の発生によって再起動した場合、速いストレージ装置と他のストレージ装置に保存されたデータとを比較して一致可否を判断することができる。
この際、一致しないデータが存在する場合、速いストレージ装置に保存されたデータに基づいて他のストレージ装置に上書き保存命令を伝送し、複数のストレージ装置130に保存されたデータを一致させることができる。
具体的に、SSDの構成要素であるNANDフラッシュはin−placeアップデートが不可能なので、ある位置で書込み演算を遂行するためには、その位置を含むブロック全体を消去する削除演算が先行されなければならない。この際、削除を行うブロックでそれ以上使わない無効データ(invalid data)は消去し、有効データは他のブロックに書き写すようになる。
ガーベジコレクション命令の伝送部115は、速いストレージ装置に設定されたストレージ装置が遅いストレージ装置に変更された場合、遅いストレージ装置に変更されたストレージ装置にガーベジコレクション命令を伝送することができる。
具体的に、ホスト120から書込み要請されたデータに対する書込み命令が速いストレージ装置にだけ伝送される場合、遅いストレージ装置に変更されたストレージ装置には書込み命令が伝達されなくなる。よって、遅いストレージ装置に変更されたストレージ装置でガーベジコレクションが遂行されるようにして予め余分の空間を確保することにより、後にまた速いストレージ装置に設定されたとき、書込み性能を向上させることができる。
一方、ここで、遅いストレージ装置は速いストレージ装置に設定されなかったストレージ装置であり得る。
図3aはホストから書込み要請されたデータがミラーリングの適用されるすべてのストレージ装置で書込み完了した場合、書込み完了メッセージを伝達する場合の例である。図示の例において、SSD1及びSSD2からホストから書込み要請されたデータに対する書込みが完了した時点でホストに書込み完了メッセージが伝達される。
一方、ホストは、ブロッキング方式でデータ書込み要請をSSD1及びSSD2に伝達する。具体的に、ホストは、書込み要請したデータに対する書込み完了メッセージが受信された場合、他のデータに対する書込み要請をSSD1及びSSD2に伝達する。
しかし、SSD1で書込みを早く完了した場合でも、SSD2で書込み完了するまでは次のデータに対する書込み要請が伝達されないので、全てのストレージ装置の書込み完了速度が遅くなる。
図3bの場合、書込み完了メッセージは、図3aの場合とは異なり、SSD1及びSSD2のいずれか一方で書込みが完了した場合、直ちにホストに伝達される。また、書込み完了メッセージを受けたホストは他のデータに対する書込み要請を伝達する(ブロッキング方式)。
一方、データ1に対する書込み完了メッセージを伝達受けたホストはデータ2に対して書込み要請を行い、データ2に対する書込み命令がSSD1に伝達される。また、データ2に対する書込み完了メッセージを伝達受けたホストは、データ3に対して書込み要請を行い、データ3に対する書込み命令がSSD1に伝達される。
この場合、図3aの場合に比べ、全てのストレージ装置の書込み完了速度は速くなる。しかし、SSD2にデータ2及び3に対する書込み命令が伝達される前にSSD1が故障した場合、データ2及び3の損失が発生する。
図3cを参照すれば、ホストは書込み完了メッセージを受ける前に他のデータに対して書込み要請することができる。図示の例のように、ホストは書込み要請したデータ1に対する書込み完了メッセージの伝達を受ける前にそれぞれのSSDの命令キューの長さの分だけ違うデータの書込みを要請することができる。
SSD1及びSSD2は、ホストから書込み要請されたデータに対する書込み命令を命令キューに保存し、書込みを遂行することができる。また、SSD1及びSSD2のいずれか一方で書込みが完了した場合、書込み完了メッセージをホストに伝達することができる。
したがって、SSD1がデータ5及び6に対する書込みが完了した後に故障した場合、ホストメモリ上にデータ5及び6が維持されなければ、SSD2にデータ5及び6に対する書込み命令が伝達できない。したがって、この場合、データ5及び6に対する損失が発生する。
図示の例では、説明の便宜上、ミラーリングが適用される複数のストレージ装置が二つのSSDからなると仮定する。ただ、これに限定されるものではなく、ミラーリングが適用される複数のストレージ装置は二つ以上のSSDからなるとか一つ以上のSSD及び一つ以上のHDDからなることができる。
例えば、図4aにおいて、ホスト120からデータ1に対する書込み要請を受けた場合、データミラーリング制御装置110は、ホストメモリに保存されたデータ1に対するメモリロックを設定することができる。同様に、データ2〜4のそれぞれに対してもホスト120から書込み要請を受けた時点にメモリロックを設定することができる。
この場合、データ2〜4に対して設定されたメモリロックはSSD2でデータ2〜4に対する書込みが完了するまでは解除されないので、データミラーリング制御装置110はホストメモリに保存されたデータ2〜4に対する書込み命令をSSD2に伝達することができる。よって、図3bの場合とは異なり、SSD1の故障によるデータ損失を防ぐことができる。
また、二つのSSDの一つのSSDで書込みが完了すれば、直ちに書込み完了メッセージをホスト120に伝達し、次のデータに対する書込みを進行することができるようにすることにより、全てのストレージ装置の書込み完了速度を向上させることができる。
図5aを参照すれば、ホスト120は以前に書込み要請したデータに対する書込み完了メッセージが伝達されたか否かにかかわらず他のデータに対する書込み要請をデータミラーリング制御装置110に伝達することができる。
具体的に、ホスト120から書込み要請されたデータに対する書込み命令はSSD1及びSSD2の命令キューに保存される。また、SSD1及びSSD2のそれぞれは命令キューに保存された書込み命令によってデータ書込みを遂行することができる。
この際、本発明の一実施例によれば、SSD1とSSD2への書込み命令の伝送はそれぞれのSSDの命令キューの長さを考慮して伝送できる。
同様に、SSD2でデータ1に対する書込み命令が完了した場合、データ5に対する書込み命令がSSD2の命令キューに伝達され、データ2に対する書込み命令が完了した後、データ6に対する書込み命令がSSD2の命令キューに伝達される。
また、データミラーリング制御装置110は、ホスト120から書込み要請されたデータに対してSSD1及びSSD2の一つで書込みが完了した場合、書込み完了したデータに対する書込み完了メッセージをホスト120に伝送することができる。
具体的に、図示の例において、データミラーリング制御装置110は、SSD1でデータ1〜6のそれぞれに対する書込みが完了した時点でそれぞれのデータに対する書込み完了メッセージをホスト120に伝送することができる。
一方、データ1〜6に対するメモリロックはすべてのストレージ装置で書込みが完了した時点、つまりSSD2で書込みが完了した時点でそれぞれ解除される。
この場合、ホストメモリに保存されたデータ5及び6に対するメモリロックはSSD2で書込み完了するまで解除されないので、データミラーリング制御装置110はメモリロック設定されたデータ5及び6に対する書込み命令をSSD2に伝達し、SSD2でデータ5及び6に対する書込みが遂行されるようにすることができる。
また、二つのSSDの一方で書込みが完了すれば、直ちに書込み完了メッセージをホスト120に伝達して次のデータに対する書込みを進行することができるようにすることにより、全てのストレージ装置の書込み完了速度を向上させることができる。
図6aを参照すれば、SSD2にデータ2に対する書込み命令が伝達される前にSSD1でデータ1〜4に対する書込みが完了した。
この際、データミラーリング制御装置110は、SSD1で書込み完了したデータ2〜4に対する書込み情報に基づいてSSD2にトリム命令を伝送することができる。
したがって、データミラーリング制御装置110は、SSD2にデータ2〜4に対する書込み命令を伝達する前に、データ2〜4が書込みされるアドレスに保存されているデータは無効データという情報をトリム命令によって明示的に知らせることができる。トリム命令の伝達を受けたSSD2は、上書きのための削除演算の際、他のブロックに書き写さなければならないデータ量を減らすことができるので、性能向上及び摩耗節減の効果が得られる。
したがって、データミラーリング制御装置110は、SSD1で遂行されたデータ5及び6に対する書込み情報に基づいてSSD2にトリム命令を伝送することができる。
図7aを参照すれば、データミラーリング制御装置110は、ホスト120から書込み要請されたデータに対して書込み完了が一番速いストレージ装置を速いストレージ装置に設定することができる。
具体的に、図7aで、データ1及び2に対する書込みがSSD1で先に完了しているので、SSD1が速いストレージ装置に設定できる。
一方、データ3及び4に対する書込みはSSD2で先に完了したので、データミラーリング制御装置110は、SSD2でデータ3に対する書込みが完了した時点で速いストレージ装置をSSD2に変更することができる。
この際、速いストレージ装置は、書込み加速因子、自由ブロックの量、書込み遅延の発生有無などによって設定され、周期的または非周期的に変更できる。
例えば、図示の例において、初期に速いストレージ装置に設定されたSSD1の書込み加速因子(WAF:Write Acceleration Factor)値がSSD2より高い場合には速いストレージ装置はSSD2に変更できる。
一方、図示の例において、SSD1でデータ2の書込みが完了した後、速いストレージ装置がSSD2に変更されたので、SSD2のみに書込み命令が伝送できる。
この際、データミラーリング制御装置110は、メモリロック設定されたデータ1及び2に対する書込み命令をSSD2に伝送することができる。
また、この場合、データ1及び2に対する書込み命令は、速いストレージ装置が変更された後、ホストから書込み要請されたデータ3及び4に対する書込み命令と交互に伝送できるが、図示の例とは異なり、SSD1で書込み完了したデータ1及び2に対する書込み命令を優先的に伝達することもできる。
例えば、速いストレージ装置がSSD2に変更された場合、書込み命令はSSD2に伝送され、SSD1には読み取り命令が伝達されるので、SSD1では書込み演算が実行されない。よって、SSD1が速いストレージ装置に再び変更される前にSSD1でガーベジコレクションが実行されるようにして、無効データ(invalid data)が保存されたページを集めて削除することによって予め余裕空間を確保することができる。これにより、SSD1が再び速いストレージ装置に変更された場合、SSD1の書込み性能を改善させることができる。
したがって、図7cに示した例のように、データミラーリング制御装置110は、速いストレージ装置をSSD2に変更する前に、メモリロック設定されたデータ1及び2に対する書込み命令をSSD2に伝送して、SSD2とSSD1に保存されたデータを一致させることができる。
その後、SSD2でデータ1及び2に対する書込みが完了した場合、データミラーリング制御装置110は速いストレージ装置をSSD2に変更することができる。
この場合、図7bの場合とは異なり、ストレージ装置にはいつも最新のデータが保存できる。
また、速いストレージ装置がSSD2に変更された場合、データミラーリング制御装置110は、SSD1にガーベジコレクション命令を伝送し、SSD1でガーベジコレクションが実行されるようにすることができる。
例えば、ストレージ装置の間に負荷バランシング(load balancing)が必要な場合または最近に速いストレージ装置に書込み完了したデータに対する読み取り要請の場合、速いストレージ装置に読み取り命令が伝達できる。
図8を参照すれば、ホスト120が予想しなかった障害によって再起動した場合、データミラーリング制御装置110は、速いストレージ装置に保存されたデータに基づいて複数のストレージ装置の間にデータを一致させることができる。
速いストレージ装置には最新のデータが保存されるので、速いストレージ装置に保存されたデータを基準に複数のストレージ装置のデータを一致させることができる。
この際、どのストレージ装置が速いストレージ装置であるかはそれぞれのストレージ装置に保存された速いストレージ装置指示子710によって把握することができる。図示の例において、速いストレージ装置指示子710が1に設定されたSSD1が速いストレージ装置である。
具体的に、データミラーリング制御装置110は、複数のストレージ装置130のすべてのデータ領域をN個のチャンク(chunk)に分割し、それぞれのチャンクに対応するアップデートビットによって、データの一致可否を判断することができる。
この際、アップデートビットマップに含まれたそれぞれのビットはそれぞれのチャンクに対応し、それぞれのチャンクに相応するデータ領域でSSD1とSSD2に保存されたデータが一致するか否かを示す。
具体的に、特定のデータに対し、SSD1とSSD2の中で速いストレージ装置であるSSD1でばかり書込みが完了した場合、該当のデータが書込みされたチャンク730、740に対するアップデートビットは1に設定できる。
したがって、この場合、SSD1とSSD2に保存されたデータの全体を比較せず、アップデートビットマップでアップデートビットが1に設定されたチャンクのデータだけ比較すれば良いので、データ復旧の時間を節減することができる。
例えば、ホストメモリに保存されたデータの中で、速いストレージ装置には書込み完了したが遅いストレージ装置には書込み完了しなかったデータはメモリロック設定されているので、遅いストレージ装置で書込み完了するまでは消去または変更されない。したがって、データミラーリング制御装置110はホストメモリにメモリロック設定されているデータのリストをロギングして不揮発性メモリまたはストレージ装置の一部領域に保存することができる。その後、ホスト120が再起動した場合、データミラーリング制御装置110は、リストに含まれたデータに対する書込み命令を遅いストレージ装置に伝送し、遅いストレージ装置に保存されたデータを速いストレージ装置に保存されたデータと一致させることができる。
図9を参照すれば、ミラーリングが適用される複数のストレージ装置は一つ以上のHDD及び一つ以上のSSDを含むことができる。
データミラーリング制御装置110は、HDDを速いストレージ装置に設定し、HDDに優先的にデータが書込みされるようにし、ついで速いストレージ装置をSSDに変更することにより、HDDに書込みされたデータと同一のデータがSSDに書込みされるようにすることができる。
具体的に、図示の例において、1’、2’、3’で表示された書込み要請はデータ1、2、3が保存されたアドレスに対する上書き保存要請である。この際、データミラーリング制御装置110はホストから要請されたデータ1’、2’、3’に対する書込み要請に対する書込み命令を順次に書込み命令4、5、6に変換してHDDに伝送することができる。
図示の例において、データミラーリング制御装置110は、HDDに保存されたデータの中でデータ1、2、3は無効データであるという情報をトリム命令によってSSDに伝送し、ついでデータ1、2、3に対する書込み命令をSSDに伝送することができる。
このような方法によってHDDの書込み性能を高め、SSDの摩耗を減らすことができる。
図10を参照すれば、データミラーリング制御装置110は、ホスト120から書込み要請が受信された場合(910)、ホストメモリに保存されたデータの中で書込み要請されたデータに対してメモリロックを設定することができる(920)。
その後、データミラーリング制御装置110は、メモリロック設定されたデータのそれぞれに対して複数のストレージ装置130のいずれでも書込み完了した場合(930)、該当のデータに対するメモリロックを解除することができる(940)。
言い換えれば、メモリロック設定されたデータは複数のストレージ装置の全てで書込みが完了するまではメモリロックが解除されない。
図11を参照すれば、データミラーリング制御装置110は、ホスト120から書込み要請されたデータに対する書込み命令を複数のストレージ装置130に伝送することができる(1010)。
この際、ホスト120の書込み要請及びホスト120から書込み要請されたデータに対する書込み命令は、ブロッキング方式またはノンブロッキング方式で複数のストレージ装置130のそれぞれに伝送できる。
一方、本発明の一実施例によれば、データミラーリング制御装置110は、ホスト120から書込み要請されたデータに対して少なくとも一つのストレージ装置で書込み完了した場合、書込み完了したストレージ装置での書込み情報に基づいて該当のデータに対する書込み命令が伝送されなかったストレージ装置にトリム命令を伝送することができる(1040)。
図12を参照すれば、データミラーリング制御装置110はホスト120から書込み要請されたデータに対する書込み命令を速いストレージ装置に伝送することができる(1110)。
言い換えれば、データミラーリング制御装置110は、複数のストレージ装置130の中で速いストレージ装置に設定されたストレージ装置にだけ書込み命令を伝送することができる。
一方、データミラーリング制御装置110は、複数のストレージ装置130の中で少なくとも一つのストレージ装置を速いストレージ装置に設定することができ、周期的または非周期的に速いストレージ装置を変更することができる。
ただ、必ずしもこれに限定されるものではなく、ストレージ装置の間に負荷バランシング(load balancing)が必要な場合または最近に速いストレージ装置に書込み完了したデータに対する読み取り要請の場合、速いストレージ装置に読み取り命令が伝送できる。
一方、データミラーリング制御装置110は、ホスト120から書込み要請されたデータが速いストレージ装置で書込み完了した場合(1120)、ホスト120に書込み完了メッセージを伝送することができる(1130)。
図13を参照すれば、データミラーリング制御装置110は、ホスト120から書込み要請されたデータに対する書込み命令をミラーリングが適用される複数のストレージ装置130に伝送することができる(1210)。
この際、本発明の一実施例によれば、書込み要請されたデータに対する書込み完了速度が一番速いストレージ装置を速いストレージ装置に設定することができる。
この際、書込み完了したストレージ装置が速いストレージ装置ではない場合、速いストレージ装置を書込み完了したストレージ装置に変更することができる(1240)。
図14を参照すれば、データミラーリング制御装置110は、ホスト120から書込み要請されたデータに対する書込み命令を速いストレージ装置に伝送することができる(1310)。
その後、データミラーリング制御装置110は、速いストレージ装置の変更が必要である否かを周期的または非周期的に判断し(1320)、速いストレージ装置を変更することができる(1330)。
例えば、データミラーリング制御装置110は、速いストレージ装置の書込み加速因子(WAF:Write Acceleration Factor)値が他のストレージ装置より高い場合には速いストレージ装置を変更することができる。
一方、SSDが速いストレージ装置に変更された場合、データミラーリング制御装置110は、変更される前の速いストレージ装置で書込み完了したデータに対する書込み情報に基づいたトリム命令を速いストレージ装置に変更されたSSDに伝送することができる(1340)。
また、データミラーリング制御装置110は、速いストレージ装置に設定されていたSSDが遅いストレージ装置に変更された場合、該当のSSDにガーベジコレクション命令を伝送することができる(1350)。
図15を参照すれば、データミラーリング制御装置110は、ホスト120から書込み要請されたデータに対する書込み命令を速いストレージ装置に伝送することができる(1410)。
その後、データミラーリング制御装置110は、速いストレージ装置の変更が必要であるか否かを周期的または非周期的に判断することができる(1420)。
例えば、データミラーリング制御装置110は、速いストレージ装置の書込み加速因子(WAF:Write Acceleration Factor)値が他のストレージ装置より高い場合には、速いストレージ装置の変更が必要であると判断することができる。
その後、データミラーリング制御装置110は、メモリロック設定されたデータに対する書込み命令を速いストレージ装置に変更されるストレージ装置に伝送することができる(1440)。
この際、本発明の一実施例によれば、データミラーリング制御装置110は、速いストレージ装置に設定されたSSDが遅いストレージ装置に変更された場合、該当のSSDにガーベジコレクション命令を伝送することができる(1470)。
図16を参照すれば、データミラーリング制御装置110は、複数のストレージ装置130の一つに故障が発生した場合(1510)、故障したストレージ装置が速いストレージ装置であるか否かを判断することができる(1520)。
故障したストレージ装置が速いストレージ装置の場合、データミラーリング制御装置110は、メモリロック設定されたデータに対する書込み命令を故障しなかった他のストレージ装置に伝送することができる(1530)。
したがって、データミラーリング制御装置110は、メモリロック設定されたデータに対する書込み命令が伝達されなかったストレージ装置に該当のデータに対する書込み命令を伝達することにより、速いストレージ装置の故障によるデータ損失を防止することができる。
一方、特定のデータがメモリロック設定されたというのは既に速いストレージ装置に書込み命令が伝達されたことを意味するので、故障したストレージ装置が速いストレージ装置ではない場合には別途のデータ復旧の手続きは要求されない。
図17を参照すれば、ホスト120が予想しなかった障害発生によって再起動した場合(1610)、データミラーリング制御装置110は、複数のストレージ装置130に保存されたデータが一致するか否かを判断することができる(1620)。
この際、本発明の一実施例によれば、データミラーリング制御装置110は、複数のストレージ装置130の全体データ領域を複数の領域に分割し、分割された領域のそれぞれに対応するアップデートビットによってデータの一致可否を判断することができる。
一方、データミラーリング制御装置110は、複数のストレージ装置130に保存されたデータが一致しない場合(1630)、速いストレージ装置に保存されたデータに基づいて他のストレージ装置に上書き命令を伝送することができる(1640)。
また、これらの実施例を具現するための機能的な(functional)プログラム、コード及びコードセグメントは該当の技術分野のプログラマによって容易に推論可能である。
111:命令分配部
112:メモリロック設定部
113:速いストレージ装置設定部
114:トリム命令伝送部
115:ガーベジコレクション命令伝送部
120:ホスト
130:ストレージ装置
Claims (15)
- コンピュータ読み取り可能な命令を保存するメモリと;
前記命令を実行するよう構成された少なくとも1つのプロセッサとを備え;
前記プロセッサは、
ミラーリングが適用される複数のストレージ装置の少なくとも1つを速いストレージ装置として設定し、
ホストから、前記ホストに内蔵されたホストメモリに保存された複数のデータを、前記複数のストレージ装置に書き込むように要請されると、前記ホストメモリに保存されたデータの中で前記要請の対象となった複数のデータの保存領域のそれぞれに対してメモリロックを設定し、
前記要請の対象となった複数のデータのそれぞれの書き込みコマンドを前記速いストレージ装置を含む前記複数のストレージ装置に送信することで、前記要請の対象となった複数のデータのそれぞれを、前記複数のストレージ装置に書き込み、
前記複数のストレージ装置のすべてに対して、前記要請の対象となった複数のデータのすべての書き込みが完了したときに、前記保存領域のそれぞれに対して設定したメモリロックを解除し、
前記プロセッサは、前記速いストレージ装置に対して、前記要請の対象となった複数のデータのすべての書き込みが完了したときに、前記要請の対象となった複数のデータのいずれかの書き込みが完了していない1つ又は複数のストレージ装置があれば、当該1つ又は複数のストレージ装置に、書き込みが完了していないデータが書き込まれる領域に書き込まれているデータは無効データであることを示すトリムコマンドを、書き込みが完了していないデータの書き込みコマンドよりも前に送信することを特徴とするデータミラーリング制御装置。 - 前記少なくとも1つのプロセッサは、複数の書き込み命令を実行するよう構成されており、
前記プロセッサは、さらに、前記書き込みコマンドに応答する書き込み完了速度に基づいて、前記速いストレージ装置を設定するよう構成されていることを特徴とする、請求項1に記載のデータミラーリング制御装置。 - 前記少なくとも1つのプロセッサは、複数の書き込み命令を実行するよう構成されており、
前記プロセッサは、さらに、前記要請されたデータが前記速いストレージ装置に書き込まれた後に、前記ホストに前記要請されたデータが書き込まれたことを示す書き込み完了メッセージを送信するよう構成されていることを特徴とする、請求項1に記載のデータミラーリング制御装置。 - 前記少なくとも1つのプロセッサは、複数の書き込み命令を実行するよう構成されており、
前記プロセッサは、さらに、前記速いストレージ装置を周期的又は非周期的に変更するよう構成されていることを特徴とする、請求項1に記載のデータミラーリング制御装置。 - 前記少なくとも1つのプロセッサは、複数の書き込み命令を実行するよう構成されており、
前記プロセッサは、さらに、前記速いストレージ装置が変更されると、前記メモリロックされたデータに対する前記書き込みコマンドを新しい速いストレージ装置へ送信するよう構成されていることを特徴とする、請求項4に記載のデータミラーリング制御装置。 - 前記少なくとも1つのプロセッサは、複数の書き込み命令を実行するよう構成されており、
前記プロセッサは、さらに、前記速いストレージ装置を変更する条件が満たされていると決定したとき、前記メモリロックされたデータへの前記書き込みコマンドを前記速いストレージ装置を除く前記複数のストレージ装置の1つである第1ストレージ装置へ送信し、前記第1ストレージ装置が前記メモリロックした前記データの書き込み完了したとき、前記第1ストレージ装置を前記速いストレージ装置として設定することにより前記速いストレージ装置を変更するよう構成されていることを特徴とする、請求項4に記載のデータミラーリング制御装置。 - 前記少なくとも1つのプロセッサは、複数の命令を実行するよう構成されており、
前記プロセッサは、さらに、前記速いストレージ装置が故障したとき、前記メモリロックされたデータへの前記書き込みコマンドを故障していない他のストレージ装置へ送信するよう構成されていることを特徴とする、請求項1に記載のデータミラーリング制御装置。 - 前記少なくとも1つのプロセッサは、複数の命令を実行するよう構成されており、
前記プロセッサは、さらに、前記ホストに欠陥があるとき、前記複数のストレージ装置の各々に保存されているデータが同一であるか否かを決定し、保存されているデータが同一でなかったときには、前記速いストレージ装置に保存されているデータに基づいて前記複数のストレージ装置の中で前記速いストレージ装置として設定されていない1つ又は複数の他のストレージ装置に書き込みコマンドを送信するよう構成されていることを特徴とする、請求項1に記載のデータミラーリング制御装置。 - コンピュータ読み取り可能な命令を保存するメモリと;
前記命令を実行するよう構成された1つ又は複数のプロセッサとを備え;
前記プロセッサは、
ホストより書き込み要請された複数のデータの書き込みコマンドを自身が制御する複数のミラーリングストレージ装置へ送信し、前記要請された複数のデータが前記複数のミラーリングストレージ装置の1つに書き込まれた後に、前記ホストへ前記要請されたデータの書き込み完了メッセージを送信し;
前記要請された複数のデータのいずれかの書き込みが完了していない1つまたは複数のミラーリングストレージ装置があれば、当該1つ又は複数のミラーリングストレージ装置に、書き込みが完了していないデータが書き込まれる領域に書き込まれているデータは無効データであることを示すトリムコマンドを、書き込みが完了していないデータの書き込みコマンドよりも前に送信するよう構成されていることを特徴とするデータミラーリング制御装置。 - 前記1つ又は複数のプロセッサは、複数の書き込み命令を実行するよう構成されており、
前記1つ又は複数のプロセッサは、さらに、前記複数のミラーリングストレージ装置の少なくとも1つを速いミラーリングストレージ装置として設定し;前記速いミラーリングストレージ装置を周期的又は非周期的に変更し;前記ホストにより書き込み要請された複数のデータの前記書き込みコマンドを前記複数のミラーリングストレージ装置へ送信するよう構成されていることを特徴とする、請求項9に記載のデータミラーリング制御装置。 - 前記1つ又は複数のプロセッサは、複数の書き込み命令を実行するよう構成されており、
前記1つ又は複数のプロセッサは、さらに、前記速いミラーリングストレージ装置が前記複数のミラーリングストレージ装置の第1の装置から前記ミラーリングストレージ装置の異なる第2の装置に変更されると、
前記第2の装置に対しトリムコマンドを送信するよう構成されていることを特徴とする、請求項10に記載のデータミラーリング制御装置。 - 前記1つ又は複数のプロセッサは、複数の書き込み命令を実行するよう構成されており、
前記1つ又は複数のプロセッサは、さらに、前記速いミラーリングストレージ装置が前記複数のミラーリングストレージ装置の第1の装置から前記複数のミラーリングストレージ装置の異なる第2の装置に変更されると、ガーベジコレクションコマンドを前記速いミラーリングストレージ装置ではなくなったミラーリングストレージ装置に送信するよう構成されていることを特徴とする、請求項11に記載のデータミラーリング制御装置。 - コンピュータ読み取り可能な命令を保存するメモリと;
前記命令を実行するよう構成された1つ又は複数のプロセッサとを備え;
前記プロセッサは、
ホストに内蔵されたホストメモリに保存された第1データを自身が制御する複数のミラーリングストレージ装置の少なくとも1つに書き込み要請する第1書き込みコマンドを送信し、
前記第1書き込みコマンドに応答して、前記ホストにおいて前記第1データにメモリロックを設定し、前記第1データが前記複数のミラーリングストレージ装置への書き込みが完了すると、
前記ホストにおける前記第1データへの前記メモリロックを解除することを特徴とするデータミラーリング制御装置。 - 前記1つ又は複数のプロセッサは、複数の書き込み命令を実行するように構成されており、
前記1つ又は複数のプロセッサは、さらに、前記第1書き込みコマンドを受信したが障害の発生していない前記複数のミラーリングストレージ装置の中からすべての装置の前記第1データの書き込みの完了の決定に応答して、
前記ホストでの前記第1データへの前記メモリロックを解除するように構成されていることを特徴とする、請求項13に記載のデータミラーリング制御装置。 - 前記1つ又は複数のプロセッサは、複数の書き込み命令を実行するように構成されており、
前記1つ又は複数のプロセッサは、さらに、前記要請されたデータの前記書き込みコマンドを前記要請されたデータの前記書き込みコマンドを受信していないミラーリングストレージ装置へ前記トリムコマンドの送信後に送信するよう構成されていることを特徴とする、請求項9に記載のデータミラーリング制御装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130115579A KR102116702B1 (ko) | 2013-09-27 | 2013-09-27 | 데이터 미러링 제어 장치 및 방법 |
KR10-2013-0115579 | 2013-09-27 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015069651A JP2015069651A (ja) | 2015-04-13 |
JP2015069651A5 JP2015069651A5 (ja) | 2017-11-02 |
JP6690891B2 true JP6690891B2 (ja) | 2020-04-28 |
Family
ID=51687798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014194063A Active JP6690891B2 (ja) | 2013-09-27 | 2014-09-24 | データミラーリング制御装置及び方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9983824B2 (ja) |
EP (1) | EP2854034B1 (ja) |
JP (1) | JP6690891B2 (ja) |
KR (1) | KR102116702B1 (ja) |
CN (1) | CN104516793B (ja) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701021B (zh) * | 2014-12-10 | 2021-03-02 | 慧荣科技股份有限公司 | 数据储存装置及其数据写入方法 |
US11586627B2 (en) | 2016-09-26 | 2023-02-21 | Splunk Inc. | Partitioning and reducing records at ingest of a worker node |
US11874691B1 (en) | 2016-09-26 | 2024-01-16 | Splunk Inc. | Managing efficient query execution including mapping of buckets to search nodes |
US11023463B2 (en) | 2016-09-26 | 2021-06-01 | Splunk Inc. | Converting and modifying a subquery for an external data system |
US11003714B1 (en) | 2016-09-26 | 2021-05-11 | Splunk Inc. | Search node and bucket identification using a search node catalog and a data store catalog |
US11461334B2 (en) | 2016-09-26 | 2022-10-04 | Splunk Inc. | Data conditioning for dataset destination |
US11593377B2 (en) | 2016-09-26 | 2023-02-28 | Splunk Inc. | Assigning processing tasks in a data intake and query system |
US11416528B2 (en) | 2016-09-26 | 2022-08-16 | Splunk Inc. | Query acceleration data store |
US11294941B1 (en) | 2016-09-26 | 2022-04-05 | Splunk Inc. | Message-based data ingestion to a data intake and query system |
US11663227B2 (en) | 2016-09-26 | 2023-05-30 | Splunk Inc. | Generating a subquery for a distinct data intake and query system |
US11567993B1 (en) | 2016-09-26 | 2023-01-31 | Splunk Inc. | Copying buckets from a remote shared storage system to memory associated with a search node for query execution |
US11321321B2 (en) | 2016-09-26 | 2022-05-03 | Splunk Inc. | Record expansion and reduction based on a processing task in a data intake and query system |
US11281706B2 (en) | 2016-09-26 | 2022-03-22 | Splunk Inc. | Multi-layer partition allocation for query execution |
US10353965B2 (en) | 2016-09-26 | 2019-07-16 | Splunk Inc. | Data fabric service system architecture |
US10795884B2 (en) | 2016-09-26 | 2020-10-06 | Splunk Inc. | Dynamic resource allocation for common storage query |
US11615104B2 (en) | 2016-09-26 | 2023-03-28 | Splunk Inc. | Subquery generation based on a data ingest estimate of an external data system |
US11580107B2 (en) | 2016-09-26 | 2023-02-14 | Splunk Inc. | Bucket data distribution for exporting data to worker nodes |
US11243963B2 (en) | 2016-09-26 | 2022-02-08 | Splunk Inc. | Distributing partial results to worker nodes from an external data system |
US11106734B1 (en) | 2016-09-26 | 2021-08-31 | Splunk Inc. | Query execution using containerized state-free search nodes in a containerized scalable environment |
US12013895B2 (en) | 2016-09-26 | 2024-06-18 | Splunk Inc. | Processing data using containerized nodes in a containerized scalable environment |
US11599541B2 (en) | 2016-09-26 | 2023-03-07 | Splunk Inc. | Determining records generated by a processing task of a query |
US10956415B2 (en) | 2016-09-26 | 2021-03-23 | Splunk Inc. | Generating a subquery for an external data system using a configuration file |
US11550847B1 (en) | 2016-09-26 | 2023-01-10 | Splunk Inc. | Hashing bucket identifiers to identify search nodes for efficient query execution |
US11604795B2 (en) | 2016-09-26 | 2023-03-14 | Splunk Inc. | Distributing partial results from an external data system between worker nodes |
US11314753B2 (en) | 2016-09-26 | 2022-04-26 | Splunk Inc. | Execution of a query received from a data intake and query system |
US11222066B1 (en) | 2016-09-26 | 2022-01-11 | Splunk Inc. | Processing data using containerized state-free indexing nodes in a containerized scalable environment |
US20180089324A1 (en) | 2016-09-26 | 2018-03-29 | Splunk Inc. | Dynamic resource allocation for real-time search |
US11442935B2 (en) | 2016-09-26 | 2022-09-13 | Splunk Inc. | Determining a record generation estimate of a processing task |
US11620336B1 (en) * | 2016-09-26 | 2023-04-04 | Splunk Inc. | Managing and storing buckets to a remote shared storage system based on a collective bucket size |
US11269939B1 (en) | 2016-09-26 | 2022-03-08 | Splunk Inc. | Iterative message-based data processing including streaming analytics |
US11126632B2 (en) | 2016-09-26 | 2021-09-21 | Splunk Inc. | Subquery generation based on search configuration data from an external data system |
US11232100B2 (en) | 2016-09-26 | 2022-01-25 | Splunk Inc. | Resource allocation for multiple datasets |
US11250056B1 (en) | 2016-09-26 | 2022-02-15 | Splunk Inc. | Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system |
US10977260B2 (en) | 2016-09-26 | 2021-04-13 | Splunk Inc. | Task distribution in an execution node of a distributed execution environment |
US10776355B1 (en) | 2016-09-26 | 2020-09-15 | Splunk Inc. | Managing, storing, and caching query results and partial query results for combination with additional query results |
US11163758B2 (en) | 2016-09-26 | 2021-11-02 | Splunk Inc. | External dataset capability compensation |
US11562023B1 (en) | 2016-09-26 | 2023-01-24 | Splunk Inc. | Merging buckets in a data intake and query system |
US10984044B1 (en) | 2016-09-26 | 2021-04-20 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets stored in a remote shared storage system |
US11860940B1 (en) | 2016-09-26 | 2024-01-02 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets |
US10726009B2 (en) | 2016-09-26 | 2020-07-28 | Splunk Inc. | Query processing using query-resource usage and node utilization data |
JP6814020B2 (ja) * | 2016-10-26 | 2021-01-13 | キヤノン株式会社 | 情報処理装置とその制御方法、及びプログラム |
CN106843749B (zh) * | 2016-12-14 | 2020-01-21 | 华为技术有限公司 | 写入请求处理方法、装置及设备 |
US11921672B2 (en) | 2017-07-31 | 2024-03-05 | Splunk Inc. | Query execution at a remote heterogeneous data store of a data fabric service |
US12118009B2 (en) | 2017-07-31 | 2024-10-15 | Splunk Inc. | Supporting query languages through distributed execution of query engines |
US11989194B2 (en) | 2017-07-31 | 2024-05-21 | Splunk Inc. | Addressing memory limits for partition tracking among worker nodes |
CN107515827B (zh) * | 2017-08-21 | 2021-07-27 | 湖南国科微电子股份有限公司 | Pcie ssd自定义日志的存储方法、装置及ssd |
US10896182B2 (en) | 2017-09-25 | 2021-01-19 | Splunk Inc. | Multi-partitioning determination for combination operations |
US11151137B2 (en) | 2017-09-25 | 2021-10-19 | Splunk Inc. | Multi-partition operation in combination operations |
CN107807790B (zh) * | 2017-10-13 | 2020-09-01 | 记忆科技(深圳)有限公司 | 一种固态硬盘数据写入的方法 |
US11334543B1 (en) | 2018-04-30 | 2022-05-17 | Splunk Inc. | Scalable bucket merging for a data intake and query system |
CN109683807A (zh) * | 2018-10-18 | 2019-04-26 | 张德辉 | 带备份的冷数据安全存储系统及其存储方法 |
CN109658867A (zh) * | 2018-12-10 | 2019-04-19 | 北京欧徕德微电子技术有限公司 | 数据读写方法及其装置 |
CN109976792B (zh) * | 2019-02-28 | 2022-07-12 | 国云科技股份有限公司 | 一种镜像延迟更新方法 |
WO2020220216A1 (en) | 2019-04-29 | 2020-11-05 | Splunk Inc. | Search time estimate in data intake and query system |
US11715051B1 (en) | 2019-04-30 | 2023-08-01 | Splunk Inc. | Service provider instance recommendations using machine-learned classifications and reconciliation |
US11301138B2 (en) * | 2019-07-19 | 2022-04-12 | EMC IP Holding Company LLC | Dynamic balancing of input/output (IO) operations for a storage system |
US11494380B2 (en) | 2019-10-18 | 2022-11-08 | Splunk Inc. | Management of distributed computing framework components in a data fabric service system |
JP2021082003A (ja) * | 2019-11-19 | 2021-05-27 | キヤノン株式会社 | 情報処理装置 |
US11922222B1 (en) | 2020-01-30 | 2024-03-05 | Splunk Inc. | Generating a modified component for a data intake and query system using an isolated execution environment image |
US11704313B1 (en) | 2020-10-19 | 2023-07-18 | Splunk Inc. | Parallel branch operation using intermediary nodes |
CN113342480B (zh) * | 2021-06-23 | 2022-02-22 | 海光信息技术股份有限公司 | 一种事务处理系统、事务处理方法及主机系统 |
US12072939B1 (en) | 2021-07-30 | 2024-08-27 | Splunk Inc. | Federated data enrichment objects |
US12093272B1 (en) | 2022-04-29 | 2024-09-17 | Splunk Inc. | Retrieving data identifiers from queue for search of external data system |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0232419A (ja) * | 1988-07-22 | 1990-02-02 | Nippon Telegr & Teleph Corp <Ntt> | 磁気ディスク記憶装置のアクセス制御方式 |
US6098128A (en) * | 1995-09-18 | 2000-08-01 | Cyberstorage Systems Corporation | Universal storage management system |
US6324654B1 (en) | 1998-03-30 | 2001-11-27 | Legato Systems, Inc. | Computer network remote data mirroring system |
US6122685A (en) | 1998-05-06 | 2000-09-19 | Emc Corporation | System for improving the performance of a disk storage device by reconfiguring a logical volume of data in response to the type of operations being performed |
JP2000276304A (ja) | 1999-03-26 | 2000-10-06 | Nec Corp | データ移行方法と情報処理システム |
US6779063B2 (en) * | 2001-04-09 | 2004-08-17 | Hitachi, Ltd. | Direct access storage system having plural interfaces which permit receipt of block and file I/O requests |
US6931487B2 (en) * | 2001-10-22 | 2005-08-16 | Hewlett-Packard Development Company L.P. | High performance multi-controller processing |
US7013379B1 (en) * | 2001-12-10 | 2006-03-14 | Incipient, Inc. | I/O primitives |
US7433948B2 (en) * | 2002-01-23 | 2008-10-07 | Cisco Technology, Inc. | Methods and apparatus for implementing virtualization of storage within a storage area network |
US6795850B2 (en) * | 2002-12-13 | 2004-09-21 | Sun Microsystems, Inc. | System and method for sharing memory among multiple storage device controllers |
US20050149683A1 (en) | 2003-12-29 | 2005-07-07 | Chong Fay Jr. | Methods and systems for data backups |
US8719501B2 (en) * | 2009-09-08 | 2014-05-06 | Fusion-Io | Apparatus, system, and method for caching data on a solid-state storage device |
US9632870B2 (en) * | 2007-03-29 | 2017-04-25 | Violin Memory, Inc. | Memory system with multiple striping of raid groups and method for performing the same |
TW200937190A (en) | 2008-02-22 | 2009-09-01 | Jmicron Technology Corp | Raid1 system and reading method for enhancing read performance |
JP2010061591A (ja) | 2008-09-05 | 2010-03-18 | Oki Electric Ind Co Ltd | Raid装置およびその制御方法 |
KR101067018B1 (ko) | 2009-04-17 | 2011-09-22 | 서울대학교산학협력단 | 가비지 컬렉션 수행 방법 및 상기 방법을 이용한 플래시 메모리 장치 |
JP2011003094A (ja) * | 2009-06-19 | 2011-01-06 | Toshiba Corp | 二重化処理装置および二重化処理制御方法 |
JP2011070365A (ja) * | 2009-09-25 | 2011-04-07 | Toshiba Corp | メモリシステム |
US8954669B2 (en) * | 2010-07-07 | 2015-02-10 | Nexenta System, Inc | Method and system for heterogeneous data volume |
JP2012252638A (ja) | 2011-06-06 | 2012-12-20 | Nec Corp | ディスクアレイ装置及びその制御方法 |
JP5611909B2 (ja) * | 2011-08-19 | 2014-10-22 | 株式会社東芝 | 情報処理装置、性能評価ツール、外部記憶装置の性能評価方法 |
KR20140006299A (ko) * | 2012-07-03 | 2014-01-16 | 삼성전자주식회사 | 낸드 플래시 메모리 기반의 저장부에 데이터 기록을 제어하는 방법 및 장치 |
-
2013
- 2013-09-27 KR KR1020130115579A patent/KR102116702B1/ko active IP Right Grant
-
2014
- 2014-08-05 US US14/451,834 patent/US9983824B2/en active Active
- 2014-09-24 JP JP2014194063A patent/JP6690891B2/ja active Active
- 2014-09-25 EP EP14186369.6A patent/EP2854034B1/en active Active
- 2014-09-28 CN CN201410509938.6A patent/CN104516793B/zh active Active
-
2018
- 2018-04-13 US US15/952,866 patent/US10152272B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10152272B2 (en) | 2018-12-11 |
EP2854034A3 (en) | 2015-09-23 |
CN104516793B (zh) | 2020-06-09 |
KR20150035250A (ko) | 2015-04-06 |
JP2015069651A (ja) | 2015-04-13 |
US20180232150A1 (en) | 2018-08-16 |
CN104516793A (zh) | 2015-04-15 |
EP2854034B1 (en) | 2017-03-29 |
EP2854034A2 (en) | 2015-04-01 |
US9983824B2 (en) | 2018-05-29 |
US20150095570A1 (en) | 2015-04-02 |
KR102116702B1 (ko) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6690891B2 (ja) | データミラーリング制御装置及び方法 | |
US9430161B2 (en) | Storage control device and control method | |
US9268961B2 (en) | Storage system, storage control apparatus, and storage control method | |
US7774540B2 (en) | Storage system and method for opportunistic write-verify | |
JP6208156B2 (ja) | ハイブリッドストレージ集合体の複製 | |
US8560759B1 (en) | Hybrid drive storing redundant copies of data on disk and in non-volatile semiconductor memory based on read frequency | |
JP5808751B2 (ja) | ハイブリッドストレージを使用したssdの寿命の延長 | |
US8533409B2 (en) | Method of managing data snapshot images in a storage system | |
US8285965B2 (en) | Aligning data storage device partition to boundary of physical data sector | |
CN106445405B (zh) | 一种面向闪存存储的数据访问方法及其装置 | |
JP2005011317A (ja) | ストレージシステムを初期化する方法と装置 | |
JP4561168B2 (ja) | データ処理システムおよび方法並びにその処理プログラム | |
JP2002323959A (ja) | 磁気ディスク制御装置のログ主体不揮発性書き込みキャッシュ・システム及び方法 | |
US8862819B2 (en) | Log structure array | |
US8335901B2 (en) | Information processing apparatus and data restoration method | |
US9772782B2 (en) | Non-volatile complement data cache | |
KR20170002848A (ko) | 가비지 컬렉션 저널링 장치 및 방법 | |
US20160259571A1 (en) | Storage subsystem | |
WO2016175762A1 (en) | Storage cache management | |
CN117055807A (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
JP2010170268A (ja) | ストレージシステムの制御方法、ストレージ制御装置及びプログラム | |
KR101542222B1 (ko) | 하이브리드 저장 시스템 및 이를 이용한 데이터 캐싱 방법 | |
JP3861061B2 (ja) | ディスクキャッシュ制御装置 | |
JP2009129283A (ja) | データ記憶装置、データバックアップ方法およびデータバックアッププログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170920 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170920 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181023 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190917 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200228 |
|
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: 20200317 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200409 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6690891 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 |