JP6849226B2 - データ書き込み処理装置、記憶システム、データ書き込み処理方法及びプログラム - Google Patents

データ書き込み処理装置、記憶システム、データ書き込み処理方法及びプログラム Download PDF

Info

Publication number
JP6849226B2
JP6849226B2 JP2018035136A JP2018035136A JP6849226B2 JP 6849226 B2 JP6849226 B2 JP 6849226B2 JP 2018035136 A JP2018035136 A JP 2018035136A JP 2018035136 A JP2018035136 A JP 2018035136A JP 6849226 B2 JP6849226 B2 JP 6849226B2
Authority
JP
Japan
Prior art keywords
data
writing
partial data
storage medium
loss
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
Application number
JP2018035136A
Other languages
English (en)
Other versions
JP2019149128A (ja
Inventor
利幸 菊地
利幸 菊地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2018035136A priority Critical patent/JP6849226B2/ja
Publication of JP2019149128A publication Critical patent/JP2019149128A/ja
Application granted granted Critical
Publication of JP6849226B2 publication Critical patent/JP6849226B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)

Description

本発明は、データ書き込み処理装置、記憶システム、データ書き込み処理方法及びプログラムに関する。
ディスクアレイ装置における障害対応技術の1つにRAID(Redundant Arrays of Inexpensive Disks、または、Redundant Arrays of Independent Disks)がある。
RAIDに関連して、特許文献1には、ハードディスクのエラー処理が影響して応答時間が遅延することを抑止することを目的とした、ディスクアレイ装置のエラー制御方法が記載されている。特許文献1に記載の方法では、ディスクアレイ装置は、ホストコンピュータに接続された複数のハードディスクを有し、冗長化されたデータが複数のハードディスクに記録される。この方法では、複数のハードディスクに対するコマンド発行時にホストコンピュータ応答用の記録デバイス処理時間を監視し、所定の時間を経過した場合に、複数のハードディスクからの応答が無くてもホストコンピュータへ正常応答する。
例えば、ディスクアレイ装置は、ホストコンピュータからリード命令を受けると、複数のハードディスクのうちいずれか1つに対してデータリードを行う。ホストコンピュータは、そのハードディスクからの応答を受ける前に所定の時間が経過すると、リードエラー処理の完了報告を待たずに、他のハードディスクからデータを読み出してホストコンピュータに応答する。
また、特許文献2には、CRCエラー又はパリティエラーの発生を契機としてRAID機能でデータ復元するストレージ装置で、データが破壊されるまでには至っていない障害が発生した場合に、継続してアプリケーションを実行可能にすることを目的としたストレージ制御方式が記載されている。
特許文献2に記載の方式では、ストレージデバイス制御部が、複数のストレージデバイス各々のデータ読み出し処理速度を監視する。規定された読み出し処理速度を下回ったストレージデバイスを検知した場合、ストレージデバイス制御部は、当該ストレージデバイスを切り離し、他のストレージデバイスによるRAID機能によって上記クライアントへデータを送出する。
また、特許文献3には、予備ディスク装置に対するデータ復元の必要性をいち早く認識し、また上位装置からの処理を遅延することなしにデータ復元を可能とすることを目的としたディスクアレイ装置が記載されている。特許文献3に記載のディスクアレイ装置は、複数のデータディスク装置、少なくとも1台の冗長ディスク装置及び予備ディスク装置を備える。
特許文献3に記載のディスクアレイ装置では、タイマ手段が、各データディスク装置からのデータ到着時間を計測する。データ到着時間が所定時間を越えて遅延した場合、制御手段が、残りのディスク装置から遅延しているデータを復元する。また、特許文献3に記載のディスクアレイ装置は、データディスク装置、冗長ディスク装置のずれかで訂正不可能なデータブロックが検出された場合、同一パリティグループに属する残りのディスク装置からデータ復元して交代領域に割り付ける。更に、特許文献3に記載のディスクアレイ装置は、交代領域オーバフロー、回転同期障害、故障の危険性の高いディスク装置につき、予備ディスク装置へのデータ復元を行う。
特開2012−103853 特開2009−059280 特開平07−200191
ディスクアレイ装置障害対応技術として、RAIDの他にイレージャーコーディング(Erasure Coding、消失訂正符号)がある。イレージャーコーディングでは、データの書き込み要求があった場合、そのデータに冗長データを加えて複数のデータに分割し、物理的に複数のストレージに分散して書き込む。
このようにデータを分割して格納する記憶方式におけるデータの書き込みの際、分割したデータのうち書き込みに時間がかかるものがあった場合、そのデータの書き込み完了を待つことで、書き込み要求があったデータ全体の書き込み完了までに時間がかかってしまう。これに対し、データの書き込み要求の実行時間の遅延を防止または低減できることが好ましい。
一方、上記の特許文献1から3には、上記のような遅延に対する対策は示されていない。
本発明は、上述の課題を解決することのできるデータ書き込み処理装置、記憶システム、データ書き込み処理方法及びプログラムを提供することを目的としている。
本発明の第1の態様によれば、データ書き込み処理装置は、記憶媒体への書き込み要求の対象データであるオリジナルデータを取得するオリジナルデータ取得部と、前記オリジナルデータに基づいて誤り訂正用の冗長データを生成する冗長データ生成部と、前記オリジナルデータおよび前記冗長データが分割された部分データを取得する部分データ取得部と、前記部分データを前記記憶媒体に書き込む書き込み処理部と、を備え、前記冗長データ生成部は、前記オリジナルデータの復元に関して損失が許容されるべき前記部分データの数として設定された損失許容要求数よりも大きい数である損失許容数の前記部分データの損失が許容される前記冗長データを生成し、前記部分データ取得部は、前記オリジナルデータの復元に必要な前記部分データの数である必要部分データ数と前記損失許容数とを合計した数に、前記オリジナルデータおよび前記冗長データが分割された前記部分データを取得前記書き込み処理部は、前記必要部分データ数に前記損失許容要求数を加算した数以上の前記部分データの前記記憶媒体への書き込みが完了したことを検出すると、前記部分データを前記記憶媒体に書き込む処理を終了する
本発明の第2の態様によれば、記憶システムは、複数の記憶媒体と、データ書き込み処理装置とを備え、前記データ書き込み処理装置は、前記記憶媒体への書き込み要求の対象データであるオリジナルデータを取得するオリジナルデータ取得部と、前記オリジナルデータに基づいて誤り訂正用の冗長データを生成する冗長データ生成部と、前記オリジナルデータおよび前記冗長データが分割された部分データを取得する部分データ取得部と、 前記部分データを前記記憶媒体に書き込む書き込み処理部と、を備え、前記冗長データ生成部は、前記オリジナルデータの復元に関して損失が許容されるべき前記部分データの数として設定された損失許容要求数よりも大きい数である損失許容数の前記部分データの損失が許容される前記冗長データを生成し、前記部分データ取得部は、前記オリジナルデータの復元に必要な前記部分データの数である必要部分データ数と前記損失許容数とを合計した数に、前記オリジナルデータおよび前記冗長データが分割された前記部分データを取得前記書き込み処理部は、前記必要部分データ数に前記損失許容要求数を加算した数以上の前記部分データの前記記憶媒体への書き込みが完了したことを検出すると、前記部分データを前記記憶媒体に書き込む処理を終了する
本発明の第3の態様によれば、データ書き込み処理方法は、記憶媒体への書き込み要求の対象データであるオリジナルデータを取得する工程と、前記オリジナルデータに基づいて誤り訂正用の冗長データを生成する工程と、前記オリジナルデータおよび前記冗長データが分割された部分データを取得する工程と、前記部分データを前記記憶媒体に書き込む書き込み工程と、を含み、前記冗長データを生成する工程では、前記オリジナルデータの復元に関して損失が許容されるべき前記部分データの数として設定された損失許容要求数よりも大きい数である損失許容数の前記部分データの損失が許容される前記冗長データを生成し、前記部分データを取得する工程では、前記オリジナルデータの復元に必要な前記部分データの数である必要部分データ数と前記損失許容数とを合計した数に、前記オリジナルデータおよび前記冗長データが分割された前記部分データを取得前記書き込み工程では、前記必要部分データ数に前記損失許容要求数を加算した数以上の前記部分データの前記記憶媒体への書き込みが完了したことを検出すると、前記部分データを前記記憶媒体に書き込む処理を終了する
本発明の第4の態様によれば、プログラムは、コンピュータに、記憶媒体への書き込み対象であるオリジナルデータを取得する工程と、前記オリジナルデータに基づいて誤り訂正用の冗長データを生成する工程と、前記オリジナルデータおよび前記冗長データが分割された部分データを取得する工程と、前記部分データを前記記憶媒体に書き込む書き込み工程と、を実行させ、前記冗長データを生成する工程では、前記オリジナルデータの復元に関して損失が許容されるべき前記部分データの数として設定された損失許容要求数よりも大きい数である損失許容数の前記部分データの損失が許容される前記冗長データを生成させ、前記部分データを取得する工程では、前記オリジナルデータの復元に必要な前記部分データの数である必要部分データ数と前記損失許容数とを合計した数に、前記オリジナルデータおよび前記冗長データが分割された前記部分データを取得させ
前記書き込み工程では、前記必要部分データ数に前記損失許容要求数を加算した数以上の前記部分データの前記記憶媒体への書き込みが完了したことを検出すると、前記部分データを前記記憶媒体に書き込む処理を終了させる、ためのプログラムである。
この発明によれば、データを分割して格納する記憶方式におけるデータの書き込み要求の実行時間の遅延を防止または低減できる。
実施形態に係る記憶システムの機能構成を示す概略ブロック図である。 仮に、データ書き込み処理装置が損失許容要求数に丁度対応する数のフラグメントを生成する場合の、フラグメントの例を示す図である。 仮に、データ書き込み処理装置が損失許容要求数に丁度対応する数のフラグメントを生成する場合に、データ書き込み処理装置が記憶媒体にフラグメントを書き込む所要時間の例を示す図である。 実施形態に係るデータ書き込み処理装置が損失許容数に対応する数のフラグメントを生成する場合の、フラグメントの例を示す図である。 実施形態に係るデータ書き込み処理装置が損失許容数に対応する数のフラグメントを生成する場合に、データ書き込み処理装置が記憶媒体にフラグメントを書き込む所要時間の例を示す図である。 実施形態に係るオリジナルデータの一部とパリティデータの一部とを含むフラグメントの構成例を示す図である。 実施形態に係る全体データが、第一フラグメントおよび第二フラグメントに分割される場合の、フラグメントの例を示す図である。 実施形態に係る書き込み処理装置が、1つの記憶媒体に複数のフラグメントを書き込む場合の、記憶媒体とフラグメントとの対応関係の例を示す図である。 実施形態に係るデータ書き込み処理装置がクライアント装置からの書き込み要求に応じて記憶媒体にデータの書き込みを行う処理手順の例を示すシーケンス図である。 実施形態に係る書き込み処理装置がフラグメントの書き込みを行う処理手順の第1例を示すフローチャートである。 実施形態に係る書き込み処理装置がフラグメントの書き込みを行う処理手順の第2例を示すフローチャートである。 本発明に係るデータ書き込み処理装置の最小構成の例を示す図である。 本発明に係る記憶システムの最小構成の例を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、実施形態に係る記憶システムの機能構成を示す概略ブロック図である。図1に示すように、記憶システム1は、データ書き込み処理装置200と、記憶媒体300−1〜300−Mとを備える。データ書き込み処理装置200は、オリジナルデータ取得部210と、冗長データ生成部220と、部分データ取得部230と、書き込み処理部240とを備える。データ書き込み処理装置200は、クライアント装置100と通信を行う。
記憶媒体300−1〜300−Mを総称して記憶媒体300と表記する。Mは、記憶媒体300の数を示す正整数である。
記憶システム1は、クライアント装置100からの要求に応じてデータを記憶する。図1では、記憶システム1の機能部としてデータ書き込みのための機能部を示しているのに対し、記憶システム1が、さらにデータ読み出しのための機能部を備えていてもよい。その場合、データ読み出しのための機能部が、データ書き込み処理装置200の一部として構成されていてもよいし、データ書き込み処理装置200とは別の装置として構成されていてもよい。あるいは、記憶媒体300からデータを読み出すシステムが、記憶システム1とは別に設けられていてもよい。
記憶システム1は、イレージャーコーディングにてデータを記憶する。ここでいうイレージャーコーディングは、オリジナルデータにパリティデータを付加したデータを複数のフラグメントにて記憶することで、幾つかのフラグメントが損失してもオリジナルデータを復元可能とするデータ記憶方式の総称である。
ここでいうオリジナルデータは書込要求で記憶対象となっているデータである。従って、オリジナルデータは、記憶媒体300への書き込み要求の対象データである。
ここでいうパリティデータは、誤り訂正用の冗長データである。
ここでいうフラグメントは、オリジナルデータおよびパリティデータが複数に分割されたデータである。フラグメントを部分データとも称する。
ここでいうフラグメントの損失は、フラグメントが正しく読み取れなくなることである。損失の形態は特定の形態に限定されず、例えば、フラグメントの内容が変わるいわゆるデータ化けであってもよいし、フラグメントの消失であってもよいし、フラグメントの一部のデータの消失であってもよい。以下では、損失が生じることを損失するとも称する。
クライアント装置100は、データ書き込み処理装置200に対してデータの書き込み要求を行う。具体的には、クライアント装置100は、オリジナルデータを含む書込要求信号をデータ書き込み処理装置200へ送信する。上記のように、オリジナルデータは、書き込み要求の対象データである。従って、クライアント装置100は、データ書き込み処理装置200に対するデータの書き込み要求にて、オリジナルデータの書き込みを要求する。
クライアント装置100は、データ書き込み処理装置200に対してデータの書き込みを要求可能なものであればよく、特定の形態のものに限定されない。例えば、クライアント装置100が、通信装置を用いて構成されていてもよい。あるいは、クライアント装置100が、ワークステーション(Workstation)またはパソコン(Personal Computer;PC)など、通信機能を有するコンピュータを用いて構成されていてもよい。
データ書き込み処理装置200に対してデータの書き込み要求を行うクライアント装置100の数は、1つ以上であればよい。
データ書き込み処理装置200は、クライアント装置100からデータの書き込み要求を受けると、イレージャーコーディングにて記憶媒体300へデータを書き込む。データ書き込み処理装置200が、ワークステーションまたはパソコンなどのコンピュータを用いて構成されていてもよい。
オリジナルデータ取得部210は、オリジナルデータを取得する。具体的には、オリジナルデータ取得部210は、クライアント装置100が送信した書き込み要求信号からオリジナルデータを抽出する。
冗長データ生成部220は、オリジナルデータに基づいてパリティデータを生成する。上記のように、ここでいうパリティデータは、誤り訂正用の冗長データである。データ書き込み処理装置200が記憶媒体300に書き込んだデータの一部が損失しても、所定の程度以下の損失であればパリティデータを用いてオリジナルデータを復元可能である。
ここでの所定の程度は、損失許容要求数にて設定される。データ書き込み処理装置200が記憶媒体300に実際に書き込んだフラグメントのうち、損失許容要求数以下のフラグメントが損失した場合でも、オリジナルデータを復元できることが要求される。すなわち、損失許容要求数は、オリジナルデータの復元に関して損失が許容されるべきフラグメントの数として設定された正整数である。
冗長データ生成部220は、損失許容要求数が示す条件を満たすパリティデータを生成する。具体的には、冗長データ生成部220は、損失許容要求数が示す条件に応じた冗長度のパリティデータを生成する。
さらには、冗長データ生成部220は、幾つかのフラグメントが実際には記憶媒体300に書き込まれないことに対応するため、損失許容数のフラグメントの損失が許容されるパリティデータを生成する。損失許容数は、損失許容要求数よりも大きい正整数である。
冗長データ生成部220がパリティデータを生成するアルゴリズムとして公知のアルゴリズムを用いることができる。例えば、冗長データ生成部220がリードソロモン符号(Reed-Solomon Coding)を用いてパリティデータを生成するようにしてもよい。
冗長データ生成部220が、損失許容数のフラグメントの損失が許容されるパリティデータを生成することで、幾つかのフラグメントが記憶媒体300に書き込まれなかった場合でも、損失許容要求数が示す条件を満たすことができる。具体的には、損失許容数から損失許容要求数を減算した差以下の数のフラグメントが記憶媒体300に書き込まれなかった場合でも、損失許容要求数が示す条件を満たすことができる。
これにより、記憶媒体300への書き込みに時間がかかっているフラグメントがあった場合、データ書き込み処理装置200は、そのフラグメントの書き込み完了を待たずに記憶媒体300へのデータの書き込みを完了させることができる。この点で、データ書き込み処理装置200によれば、データの書き込み要求の実行時間の遅延を防止または低減できる。この点について、図2〜図5を参照して説明する。
図2および図3を参照して、本実施形態での処理との比較のために、仮に、データ書き込み処理装置200が損失許容要求数に丁度対応する数のフラグメントを生成する場合について説明する。
図2は、仮に、データ書き込み処理装置200が損失許容要求数に丁度対応する数のフラグメントを生成する場合の、フラグメントの例を示す図である。図2の例で、データD1は、オリジナルデータとパリティデータとを合わせたデータである。データD1は、データ書き込み処理装置200が記憶媒体300に書き込むデータの全体である。データ書き込み処理装置200が記憶媒体300に書き込むデータの全体を、全体データとも称する。
図2の例で、データ書き込み処理装置200は、全体データ(データD1)を、N個のフラグメントD2−1〜D2−Nに分割している。Nは、オリジナルデータの復元に必要なフラグメントの数に損失許容要求数を加算した正整数である。以下では、オリジナルデータの復元に必要なフラグメントの数を、必要フラグメント数、あるいは、必要部分データ数と称する。
図2の例で、データ書き込み処理装置200は、N個のフラグメントをそれぞれ別々の記憶媒体300に書き込んでいる。従って、データ書き込み処理装置200は、N個のフラグメントをN個の記憶媒体300(記憶媒体300−1〜300−N)に書き込んでいる。図2〜図5の例では、M≧N+1である。
図3は、仮に、データ書き込み処理装置200が損失許容要求数に丁度対応する数のフラグメントを生成する場合に、データ書き込み処理装置200が記憶媒体300にフラグメントを書き込む所要時間の例を示す図である。図3のグラフの横軸は時間を示す。縦軸には、記憶媒体300−1〜300−Nが割り当てられており、図3は、これらの記憶媒体300にフラグメントを書き込む所要時間を示している。
図3の例では、記憶媒体300−5へのフラグメントの書き込みに要する時間が最も長く、時間T11を要している。データ書き込み処理装置200は、全てのフラグメントの書き込み完了を待つ必要がある。従って、データ書き込み処理装置200が書き込み要求に応じて記憶媒体300にデータを書き込むのに要する時間は、時間T11となる。
図3の例の記憶媒体300−5のように、フラグメントの書き込みに時間がかかる記憶媒体300がある場合、データ書き込み処理装置200が書き込み要求に応じて記憶媒体300にデータを書き込むのに要する時間は、このフラグメントの書き込み時間に引っ張られて長くなる。
図4および図5では、データ書き込み処理装置200が損失許容数に対応する数のフラグメントを生成する場合について説明する。上記のように、損失許容数は、損失許容要求数よりも大きい正整数である。
図4は、データ書き込み処理装置200が損失許容数に対応する数のフラグメントを生成する場合の、フラグメントの例を示す図である。図2の場合と同様、データD1は、全体データである。上記のように、データD1は、オリジナルデータとパリティデータとを合わせたデータであり、データ書き込み処理装置200が記憶媒体300に書き込むデータの全体である。
図4の例で、データ書き込み処理装置200は、全体データ(データD1)を、N+1個のフラグメントD2−1〜D2−(N+1)に分割している。データ書き込み処理装置200は、全体データを、必要フラグメント数と損失許容要求数との合計に、さらに余裕分の1つを加えた数のフラグメントに分割している。そして、データ書き込み処理装置200は、N+1個のフラグメントをそれぞれ別々の記憶媒体300に書き込んでいる。従って、データ書き込み処理装置200は、N+1個のフラグメントをN+1個の記憶媒体300(記憶媒体300−1〜300−(N+1))に書き込んでいる。
ここで、記憶媒体300の各々は、他の記憶媒体300と物理的に別の記憶媒体300として構成されている。例えば、記憶媒体300の各々が外部記憶装置として構成されるなど、別々の装置として構成されていてもよい。あるいは、記憶媒体300の各々が、同一のハードディスクドライブ内の異なるハードディスクであるなど、同一の装置内に設けられていてもよい。
記憶媒体300が、別々の装置として構成されているなど、記憶媒体300同士の構成上の独立性が高いほど、1つの原因で複数の記憶媒体300が故障する可能性が低くなり、この点で、オリジナルデータを再現できる可能性が高くなる。
また、記憶媒体300が互いに遠い場所に設けられている、あるいは、記憶媒体300が別々のデータセンタ内に位置するなど、記憶媒体300同士の空間的な独立性が高いほど、1つの原因で複数の記憶媒体300が故障する可能性が低くなる。この点で、記憶媒体300同士の空間的な独立性が高いほど、オリジナルデータを再現できる可能性が高くなる。
図5は、データ書き込み処理装置200が損失許容数に対応する数のフラグメントを生成する場合に、データ書き込み処理装置200が記憶媒体300にフラグメントを書き込む所要時間の例を示す図である。図5のグラフの横軸は時間を示す。縦軸には、記憶媒体300−1〜300−(N+1)が割り当てられており、図5は、これらの記憶媒体300にフラグメントを書き込む所要時間を示している。
図5の例では、記憶媒体300−5へのフラグメントの書き込みに要する時間が最も長く、時間T22を要している。記憶媒体300−5の次にフラグメントの書き込みに要する時間が長い記憶媒体300は記憶媒体300−3となっており、時間T21を要している。
図2〜図3の例の場合と異なり、図4〜図5の例では、データ書き込み処理装置200は、余裕分である1つ分の記憶媒体300について、フラグメントの書き込み完了を待つ必要がない。図5の例で、データ書き込み処理装置200は、記憶媒体300−3へのフラグメントの書き込みを完了した時間T21の時点(時間T21が経過した時点)で、損失許容要求数に対応するために必要なN個のフラグメントの書き込みを完了している。従って、データ書き込み処理装置200は、記憶媒体300−5へのフラグメントの書き込みが完了する時間T22の経過を待つ必要なしに、時間T21の時点で、記憶媒体300へのデータの書き込みを終了することができる。
すなわち、データ書き込み処理装置200が書き込み要求に応じて記憶媒体300にデータを書き込むのに要する時間は、時間T21となる。このように、データ書き込み処理装置200が、必要フラグメント数と損失許容要求数との合計に、さらに余裕分を加えた数のフラグメントを取得して記憶媒体300に書き込むことで、データの書き込み要求の実行時間の遅延を防止または低減できる。
部分データ取得部230は、フラグメントを取得する。上記のように、フラグメントは、オリジナルデータおよびパリティデータが複数に分割されたデータである。特に、部分データ取得部230は、必要フラグメント数と損失許容数とを合計した数に、オリジナルデータおよびパリティデータが分割されたフラグメントを取得する。
部分データ取得部230が、オリジナルデータの一部とパリティデータの一部とを含むフラグメントを取得するようにしてもよい。
図6は、オリジナルデータの一部とパリティデータの一部とを含むフラグメントの構成例を示す図である。図6に示すフラグメントD2は、オリジナルデータの一部であるデータDOと、パリティデータの一部であるデータDPとを結合して構成されている。
部分データ取得部230が、オリジナルデータ、パリティデータそれぞれをJ個(Jは正整数)に分割し、得られたオリジナルデータの一部(データDO)とパリティデータの一部(データDP)とを一対一に結合することで、J個のフラグメントを生成するようにしてもよい。
あるいは、部分データ取得部230が、オリジナルデータが分割されたフラグメントと、パリティデータが分割されたフラグメントとを取得するようにしてもよい。以下では、オリジナルデータが分割されたフラグメントを、第一フラグメント、あるいは、第一部分データと称する。パリティデータが分割されたフラグメントを第二フラグメント、あるいは、第二部分データと称する。
図7は、全体データが、第一フラグメントおよび第二フラグメントに分割される場合の、フラグメントの例を示す図である。図7の例では、オリジナルデータがL個(Lは正整数)の第一フラグメントに分割され、パリティデータがK個(Kは正整数)の第二フラグメントに分割されている。
部分データ取得部230が、オリジナルデータをL個に分割してL個の第一フラグメントを生成し、パリティデータをK個に分割してK個の第二フラグメントを生成するようにしてもよい。
あるいは、冗長データ生成部220と部分データ取得部230とが1つの機能部として構成され、パリティデータを第二フラグメントの形態で生成するようにしてもよい。この場合、部分データ取得部230は、オリジナルデータをL個に分割してL個の第一フラグメントを生成し、オリジナルデータからパリティデータを生成する際にパリティデータとしてK個の第二フラグメントを生成するようにしてもよい。
図7の例のように、部分データ取得部230がフラグメントとして第一フラグメントおよび第二フラグメントを取得する場合、部分データ取得部230は、オリジナルデータの一部とパリティデータの一部を結合する必要がない。この点で、部分データ取得部230の負荷が比較的軽くて済む。
書き込み処理部240は、フラグメントを記憶媒体300に書き込む。
図4の例のように、書き込み処理部240がフラグメントを、他の記憶媒体300と物理的に別の記憶媒体300に一対一で書き込むようにしてもよい。この場合、記憶媒体300の何れかが故障しても、1つの記憶媒体300の故障につき1つのフラグメントの損失で済む。この点で、データ書き込み処理装置200によれば、オリジナルデータを再現できる可能性が比較的高い。
あるいは、書き込み処理部240が、1つの記憶媒体300に複数のフラグメントを書き込むようにしてもよい。
図8は、書き込み処理部240が、1つの記憶媒体300に複数のフラグメントを書き込む場合の、記憶媒体300とフラグメントとの対応関係の例を示す図である。図8では、個々のフラグメントに符号「D2」を付して示している。
図8の例で、書き込み処理部240は、1つの記憶媒体300に4つのフラグメントを書き込んでいる。損失許容要求数が4である場合、記憶媒体300の何れか1つが故障して、その記憶媒体300に書き込まれた4つのフラグメントが全て読み出せなくなった場合でも、オリジナルデータを復元することができる。
このように、書き込み処理部240が1つの記憶媒体300に書き込むフラグメントの数が損失許容要求数以下であれば、記憶媒体300の何れか1つが故障して、その記憶媒体300に書き込まれたフラグメントが全て読み出せなくなった場合でも、オリジナルデータを復元することができる。あるいは、書き込み処理部240が1つの記憶媒体300に書き込むフラグメントの数が損失許容要求数の半分以下であれば、記憶媒体300が何れか2つまで故障して、それら記憶媒体300に書き込まれたフラグメントが全て読み出せなくなった場合でも、オリジナルデータを復元することができる。
記憶媒体300は、書き込み処理部240が行う書き込み処理にて書き込まれるフラグメントを記憶する。上記のように、記憶媒体300の各々は、他の記憶媒体300と物理的に別の記憶媒体300として構成されている。
全ての記憶媒体300が、データ書き込み処理装置200とは別の装置として構成されていてもよい。あるいは、記憶媒体300の一部または全部が、データ書き込み処理装置200内に設けられていてもよい。
次に、図9〜図11を参照して、データ書き込み処理装置200の動作について説明する。
図9は、データ書き込み処理装置200がクライアント装置100からの書き込み要求に応じて記憶媒体300にデータの書き込みを行う処理手順の例を示すシーケンス図である。
図9の処理で、クライアント装置100がデータ書き込み処理装置200へ、オリジナルデータを含む書き込み要求信号を送信すると(シーケンスS11)、データ書き込み処理装置200が、その書き込み要求信号を受信する。データ書き込み処理装置200のオリジナルデータ取得部210は、書き込み要求信号からオリジナルデータを抽出する(シーケンスS12)。
そして、冗長データ生成部220が、オリジナルデータおよび損失許容数に応じてパリティデータを生成する(シーケンスS13)。冗長データ生成部220が、損失許容数を取得する方法は、特定の方法に限定されない。例えば、データ書き込み処理装置200が、損失許容数を予め記憶しておくようにしてもよい。あるいは、データ書き込み処理装置200が、損失許容要求数に基づいて損失許容数を決定するようにしてもよい。あるいは、クライアント装置100が、データ書き込み処理装置200に対して損失許容数を指定するようにしてもよい。
データ書き込み処理装置200が損失許容要求数を取得する方法も特定の方法に限定されない。例えば、データ書き込み処理装置200が、損失許容要求数を予め記憶しておくようにしてもよい。あるいは、クライアント装置100が、データ書き込み処理装置200に対して損失許容要求数を指定するようにしてもよい。
次に、部分データ取得部230がフラグメントを取得する(シーケンスS14)。図6および図7を参照して説明したように、部分データ取得部230がオリジナルデータおよびパリティデータを生成するようにしてもよい。あるいは、冗長データ生成部220が、パリティデータを第二フラグメントの形態で生成し、部分データ取得部230が、オリジナルデータを第一フラグメントに分割するようにしてもよい。
そして、書き込み処理部240が、記憶媒体300にフラグメントを書き込む(シーケンスS15)。図9では、書き込み処理部240がフラグメントを書き込む記憶媒体300の数をL(Lは正整数)と表記している。
図10は、書き込み処理部240がフラグメントの書き込みを行う処理手順の第1例を示すフローチャートである。書き込み処理部240は、図9のシーケンスS15で図10の処理を行う。
図10の処理で、書き込み処理部240は、記憶媒体300へのフラグメントの書き込み処理を開始する(ステップS21)。書き込み処理部240は、記憶媒体300に対して一斉にフラグメントの書き込みを指示する。
また、ステップS21で、書き込み処理部240は、各フラグメントの書き込み完了の検出を開始する。例えば、記憶媒体300がフラグメントの書き込み完了をデータ書き込み処理装置200へ通知し、書き込み処理部240が、この通知を検出するようにしてもよい。
次に、書き込み処理部240は、書き込みを完了したフラグメント数を計数する(ステップS22)。そして、書き込み処理部240は、必要フラグメント数に損失許容要求数を加算した数以上のフラグメントの書き込みを完了したか否かを判定する(ステップS23)。
必要フラグメント数に損失許容要求数を加算した数以上のフラグメントの書き込みを完了していないと書き込み処理部240が判定した場合(ステップS23:NO)、処理がステップS22へ戻る。この場合、書き込み処理部240は、ステップS22およびS23のループにて、必要フラグメント数に損失許容要求数を加算した数以上のフラグメントの書き込みの完了を待ち受ける。
一方、ステップS23で、必要フラグメント数に損失許容要求数を加算した数以上のフラグメントの書き込みを完了したと判定した場合(ステップS23:YES)、書き込み処理部240は、記憶媒体300へのフラグメントの書き込み処理を終了する(ステップS24)。記憶媒体300への書き込みが完了していないフラグメントがあっても、書き込み処理部240は、そのフラグメントの書き込み完了を待たない。
また、ステップS24で、書き込み処理部240は、各フラグメントの書き込み完了の検出を終了する。
ステップS24の後、データ書き込み処理装置200は、図10の処理を終了する。
図10の処理では、書き込み処理部240は、必要部分データ数に損失許容要求数を加算した数以上のフラグメントの記憶媒体300への書き込みが完了したことを検出すると、フラグメントを記憶媒体300に書き込む処理を終了する。
これにより、図5を参照して説明したように、データ書き込み処理装置200では、データの書き込み要求の実行時間の遅延を防止または低減できる。
図10の処理を終了すると、データ書き込み処理装置200は、図9のシーケンスS15の処理を終了する。
シーケンスS15の後、データ書き込み処理装置200は、シーケンスS11での書き込み要求に対する応答として、書き込み完了をクライアント装置100へ通知する(シーケンスS16)。
シーケンスS16の後、データ書き込み処理装置200は、図16の処理を終了する。
あるいは、シーケンスS15の処理で、書き込み処理部240が、まず所定時間の経過を待ち受けるようにしてもよい。この点について、図11を参照して説明する。
図11は、書き込み処理部240がフラグメントの書き込みを行う処理手順の第2例を示すフローチャートである。書き込み処理部240は、図9のシーケンスS15で図10の処理に代えて図11の処理を行う。
図11のステップS31は、図10のステップS21と同様である。ステップS31の後、書き込み処理部240は、所定時間が経過したか否かを判定する(ステップS32)。例えば、データ書き込み処理装置200が、所定時間として、記憶媒体300にフラグメントを書き込むのに要する平均的な時間に余裕分を加算した時間を予め記憶しておくようにしてもよい。
所定時間が経過していないと書き込み処理部240が判定した場合(ステップS32:NO)、処理がステップS32へ戻る。この場合、書き込み処理部240は、必要フラグメント数に損失許容要求数を加算した数以上のフラグメントの書き込みを完了したか否かにかかわらず、ステップS32のループにて所定時間の経過を待ち受ける。
一方、ステップS32で、所定時間が経過したと書き込み処理部240が判定した場合(ステップS32:NO)、処理がステップS33へ進む。
ステップS33〜S35は、図10のステップS22〜S24と同様である。
ステップS35の後、データ書き込み処理装置200は、図11の処理を終了する。
図11の処理では、書き込み処理部240は、フラグメントを記憶媒体300に書き込む処理の開始から所定時間以上経過し、かつ、必要部分データ数に損失許容要求数を加算した数以上のフラグメントの記憶媒体300への書き込みが完了したことを検出すると、フラグメントを記憶媒体300に書き込む処理を終了する。
図11の処理では、書き込み処理部240が、フラグメントを記憶媒体300に書き込む処理の開始から所定時間以上経過するのを待つ点で、図10の処理よりも多くのフラグメントを記憶媒体300へ書き込める可能性がある。より多くのフラグメントを記憶媒体300に書き込めることで、オリジナルデータの復元時に、より多くのフラグメントを正しく読み取れない場合でも、オリジナルデータを復元することができる。特に、オリジナルデータの復元時に、損失許容要求数よりも多数のフラグメントを正しく読み取れない場合でも、オリジナルデータを復元することができる。
また、図11の処理では、書き込み処理部240が、必要部分データ数に損失許容要求数を加算した数以上のフラグメントの記憶媒体300への書き込みが完了したことを検出すると、フラグメントを記憶媒体300に書き込む処理を終了する。この点で、図10の処理の場合と同様、データ書き込み処理装置200では、データの書き込み要求の実行時間の遅延を防止または低減できる。
図11の処理を終了した後の図9における処理は、図10の処理を終了した場合と同様である。
以上のように、オリジナルデータ取得部210は、オリジナルデータを取得する。冗長データ生成部220は、オリジナルデータに基づいてパリティデータを生成する。部分データ取得部230は、フラグメントを取得する。書き込み処理部240は、フラグメントを記憶媒体300に書き込む。ここで、冗長データ生成部220は、損失許容数のフラグメントの損失が許容されるパリティデータを生成する。部分データ取得部230は、必要部分データ数と損失許容数とを合計した数に、オリジナルデータおよびパリティデータが分割されたフラグメントを取得する。
このように、冗長データ生成部220が、必要許容要求数よりも大きい数である必要許容数のフラグメントの損失が許容されるパリティデータを生成することで、書き込み処理部240が全てのフラグメントを記憶媒体300に書き込む必要はない。記憶媒体300への書き込みに時間がかかっているフラグメントがある場合、書き込み処理部240は、損失許容数から損失許容要求数を減算した差以下のフラグメントの記憶媒体300への書き込みの完了を待つ必要なしに、フラグメントの記憶媒体300への書き込みを終了することができる。この点で、データ書き込み処理装置200では、データの書き込み要求の実行時間の遅延を防止または低減できる。
また、書き込み処理部240は、フラグメントを、他の記憶媒体300と物理的に別の記憶媒体300に一対一対応で書き込む。
これにより、記憶媒体300の何れかが故障しても、1つの記憶媒体300の故障につき1つのフラグメントの損失で済む。この点で、データ書き込み処理装置200によれば、オリジナルデータを再現できる可能性が比較的高い。
また、書き込み処理部240は、必要部分データ数に損失許容要求数を加算した数以上の部分データの前記記憶媒体への書き込みが完了したことを検出すると、フラグメントを記憶媒体に書き込む処理を終了する。
これにより、図5を参照して説明したように、データ書き込み処理装置200では、データの書き込み要求の実行時間の遅延を防止または低減できる。
また、書き込み処理部240が、まず所定時間の経過を待ち受ける場合と比較して、データ書き込み処理装置200が、記憶媒体300へのフラグメントの書き込みをより早く終了できる可能性がある。
また、書き込み処理部240は、フラグメントを記憶媒体300に書き込む処理の開始から所定時間以上経過し、かつ、必要部分データ数に損失許容要求数を加算した数以上のフラグメントの記憶媒体300への書き込みが完了したことを検出すると、フラグメントを記憶媒体300に書き込む処理を終了する。
書き込み処理部240が、フラグメントを記憶媒体300に書き込む処理の開始から所定時間以上経過するのを待つ点で、比較的多くのフラグメントを記憶媒体300へ書き込める可能性がある。より多くのフラグメントを記憶媒体300に書き込めることで、オリジナルデータの復元時に、より多くのフラグメントを正しく読み取れない場合でも、オリジナルデータを復元することができる。特に、オリジナルデータの復元時に、損失許容要求数よりも多数のフラグメントを正しく読み取れない場合でも、オリジナルデータを復元することができる。
また、書き込み処理部240が、必要部分データ数に損失許容要求数を加算した数以上のフラグメントの記憶媒体300への書き込みが完了したことを検出すると、フラグメントを記憶媒体300に書き込む処理を終了する点で、データ書き込み処理装置200では、データの書き込み要求の実行時間の遅延を防止または低減できる。
次に、図12および図13を参照して本発明の最小構成について説明する。
図12は、本発明に係るデータ書き込み処理装置の最小構成の例を示す図である。図12に示すデータ書き込み処理装置10は、オリジナルデータ取得部11と、冗長データ生成部12と、部分データ取得部13と、書き込み処理部14とを備える。
かかる構成にて、オリジナルデータ取得部11は、記憶媒体への書き込み要求の対象データであるオリジナルデータを取得する。冗長データ生成部12は、オリジナルデータに基づいて誤り訂正用の冗長データを生成する。部分データ取得部13は、オリジナルデータおよび冗長データが分割された部分データを取得する。書き込み処理部14は、部分データを記憶媒体に書き込む。ここで、冗長データ生成部12は、オリジナルデータの復元に関して損失が許容されるべき部分データの数として設定された損失許容要求数よりも大きい数である損失許容数の部分データの損失が許容される冗長データを生成する。部分データ取得部13は、オリジナルデータの復元に必要な部分データの数である必要部分データ数と損失許容数とを合計した数に、オリジナルデータおよび冗長データが分割された部分データを取得する。
このように、冗長データ生成部12が、必要許容要求数よりも大きい数である必要許容数の部分データの損失が許容される冗長データを生成することで、書き込み処理部14が全ての部分データを記憶媒体に書き込む必要はない。記憶媒体への書き込みに時間がかかっている部分データがある場合、書き込み処理部14は、損失許容数から損失許容要求数を減算した差以下の部分データの記憶媒体への書き込みの完了を待つ必要なしに、部分データの記憶媒体への書き込みを終了することができる。この点で、データ書き込み処理装置10では、データの書き込み要求の実行時間の遅延を防止または低減できる。
図13は、本発明に係る記憶システムの最小構成の例を示す図である。図13に示す記憶システム20は、複数の記憶媒体26と、データ書き込み処理装置21とを備える。
データ書き込み処理装置21は、オリジナルデータ取得部22と、冗長データ生成部23と、部分データ取得部24と、書き込み処理部25とを備える。
かかる構成にて、オリジナルデータ取得部22は、記憶媒体26への書き込み要求の対象データであるオリジナルデータを取得する。冗長データ生成部23は、オリジナルデータに基づいて誤り訂正用の冗長データを生成する。部分データ取得部24は、オリジナルデータおよび冗長データが分割された部分データを取得する。書き込み処理部25は、部分データを記憶媒体26に書き込む。ここで、冗長データ生成部23は、オリジナルデータの復元に関して損失が許容されるべき部分データの数として設定された損失許容要求数よりも大きい数である損失許容数の部分データの損失が許容される冗長データを生成する。部分データ取得部24は、オリジナルデータの復元に必要な部分データの数である必要部分データ数と損失許容数とを合計した数に、オリジナルデータおよび冗長データが分割された部分データを取得する。
このように、冗長データ生成部23が、必要許容要求数よりも大きい数である必要許容数の部分データの損失が許容される冗長データを生成することで、書き込み処理部25が全ての部分データを記憶媒体26に書き込む必要はない。記憶媒体26への書き込みに時間がかかっている部分データがある場合、書き込み処理部25は、損失許容数から損失許容要求数を減算した差以下の部分データの記憶媒体26への書き込みの完了を待つ必要なしに、部分データの記憶媒体26への書き込みを終了することができる。この点で、記憶システム20では、データの書き込み要求の実行時間の遅延を防止または低減できる。
図14は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。図14に示す構成で、コンピュータ500は、CPU(Central Processing Unit)510と、記憶装置520と、インタフェース530とを備える。
上述したように、データ書き込み処理装置200がコンピュータ500に実装されていてもよい。この場合、データ書き込み処理装置200の各機能部の動作は、プログラムの形式で記憶装置520に記憶されている。CPU510は、プログラムを記憶装置520から読み出し、当該プログラムに従って各機能部の処理を実行する。
また、記憶媒体300は、記憶装置520に構成されていてもよいし、コンピュータ500とは別の装置に構成されていてもよい。記憶媒体300が、コンピュータ500とは別の装置に構成されている場合、CPU510は、記憶装置520から読み出したプログラムに従って書き込み処理部240の処理を実行し、インタフェース530を制御して記憶媒体300にアクセスする。
オリジナルデータ取得部210に関しても、CPU510は、記憶装置520から読み出したプログラムに従ってオリジナルデータ取得部210の処理を実行し、インタフェース530を制御してクライアント装置100にアクセスする。
同様に、データ書き込み処理装置10がコンピュータ500に実装されていてもよい。また、データ書き込み処理装置21がコンピュータ500に実装されていてもよい。
なお、データ書き込み処理装置200、データ書き込み処理装置10、および、データ書き込み処理装置21のうちいずれか1つ以上が行う処理の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1、20 記憶システム
10、21、200 データ書き込み処理装置
11、22、210 オリジナルデータ取得部
12、23、220 冗長データ生成部
13、24、230 部分データ取得部
14、25、240 書き込み処理部
100 クライアント装置
300 記憶媒体

Claims (6)

  1. 記憶媒体への書き込み要求の対象データであるオリジナルデータを取得するオリジナルデータ取得部と、
    前記オリジナルデータに基づいて誤り訂正用の冗長データを生成する冗長データ生成部と、
    前記オリジナルデータおよび前記冗長データが分割された部分データを取得する部分データ取得部と、
    前記部分データを前記記憶媒体に書き込む書き込み処理部と、
    を備え、
    前記冗長データ生成部は、前記オリジナルデータの復元に関して損失が許容されるべき前記部分データの数として設定された損失許容要求数よりも大きい数である損失許容数の前記部分データの損失が許容される前記冗長データを生成し、
    前記部分データ取得部は、前記オリジナルデータの復元に必要な前記部分データの数である必要部分データ数と前記損失許容数とを合計した数に、前記オリジナルデータおよび前記冗長データが分割された前記部分データを取得
    前記書き込み処理部は、前記必要部分データ数に前記損失許容要求数を加算した数以上の前記部分データの前記記憶媒体への書き込みが完了したことを検出すると、前記部分データを前記記憶媒体に書き込む処理を終了する、
    データ書き込み処理装置。
  2. 前記書き込み処理部は、前記部分データを、他の記憶媒体と物理的に別の記憶媒体に一対一対応で書き込む、
    請求項1に記載のデータ書き込み処理装置。
  3. 前記書き込み処理部は、前記部分データを前記記憶媒体に書き込む処理の開始から所定時間以上経過し、かつ、前記必要部分データ数に前記損失許容要求数を加算した数以上の前記部分データの前記記憶媒体への書き込みが完了したことを検出すると、前記部分データを前記記憶媒体に書き込む処理を終了する、
    請求項1または請求項2に記載のデータ書き込み処理装置。
  4. 複数の記憶媒体と、データ書き込み処理装置とを備え、
    前記データ書き込み処理装置は、
    前記記憶媒体への書き込み要求の対象データであるオリジナルデータを取得するオリジナルデータ取得部と、
    前記オリジナルデータに基づいて誤り訂正用の冗長データを生成する冗長データ生成部と、
    前記オリジナルデータおよび前記冗長データが分割された部分データを取得する部分データ取得部と、
    前記部分データを前記記憶媒体に書き込む書き込み処理部と、
    を備え、
    前記冗長データ生成部は、前記オリジナルデータの復元に関して損失が許容されるべき前記部分データの数として設定された損失許容要求数よりも大きい数である損失許容数の前記部分データの損失が許容される前記冗長データを生成し、
    前記部分データ取得部は、前記オリジナルデータの復元に必要な前記部分データの数である必要部分データ数と前記損失許容数とを合計した数に、前記オリジナルデータおよび前記冗長データが分割された前記部分データを取得
    前記書き込み処理部は、前記必要部分データ数に前記損失許容要求数を加算した数以上の前記部分データの前記記憶媒体への書き込みが完了したことを検出すると、前記部分データを前記記憶媒体に書き込む処理を終了する、
    記憶システム。
  5. 記憶媒体への書き込み要求の対象データであるオリジナルデータを取得する工程と、 前記オリジナルデータに基づいて誤り訂正用の冗長データを生成する工程と、
    前記オリジナルデータおよび前記冗長データが分割された部分データを取得する工程と、
    前記部分データを前記記憶媒体に書き込む書き込み工程と、
    を含み、
    前記冗長データを生成する工程では、前記オリジナルデータの復元に関して損失が許容されるべき前記部分データの数として設定された損失許容要求数よりも大きい数である損失許容数の前記部分データの損失が許容される前記冗長データを生成し、
    前記部分データを取得する工程では、前記オリジナルデータの復元に必要な前記部分データの数である必要部分データ数と前記損失許容数とを合計した数に、前記オリジナルデータおよび前記冗長データが分割された前記部分データを取得
    前記書き込み工程では、前記必要部分データ数に前記損失許容要求数を加算した数以上の前記部分データの前記記憶媒体への書き込みが完了したことを検出すると、前記部分データを前記記憶媒体に書き込む処理を終了する、
    データ書き込み処理方法。
  6. コンピュータに、
    記憶媒体への書き込み対象であるオリジナルデータを取得する工程と、
    前記オリジナルデータに基づいて誤り訂正用の冗長データを生成する工程と、
    前記オリジナルデータおよび前記冗長データが分割された部分データを取得する工程と、
    前記部分データを前記記憶媒体に書き込む書き込み工程と、
    を実行させ、
    前記冗長データを生成する工程では、前記オリジナルデータの復元に関して損失が許容されるべき前記部分データの数として設定された損失許容要求数よりも大きい数である損失許容数の前記部分データの損失が許容される前記冗長データを生成させ、
    前記部分データを取得する工程では、前記オリジナルデータの復元に必要な前記部分データの数である必要部分データ数と前記損失許容数とを合計した数に、前記オリジナルデータおよび前記冗長データが分割された前記部分データを取得させ
    前記書き込み工程では、前記必要部分データ数に前記損失許容要求数を加算した数以上の前記部分データの前記記憶媒体への書き込みが完了したことを検出すると、前記部分データを前記記憶媒体に書き込む処理を終了させる、
    ためのプログラム。
JP2018035136A 2018-02-28 2018-02-28 データ書き込み処理装置、記憶システム、データ書き込み処理方法及びプログラム Active JP6849226B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018035136A JP6849226B2 (ja) 2018-02-28 2018-02-28 データ書き込み処理装置、記憶システム、データ書き込み処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018035136A JP6849226B2 (ja) 2018-02-28 2018-02-28 データ書き込み処理装置、記憶システム、データ書き込み処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019149128A JP2019149128A (ja) 2019-09-05
JP6849226B2 true JP6849226B2 (ja) 2021-03-24

Family

ID=67849431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018035136A Active JP6849226B2 (ja) 2018-02-28 2018-02-28 データ書き込み処理装置、記憶システム、データ書き込み処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6849226B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4011702A4 (en) 2019-08-05 2022-09-28 Koito Manufacturing Co., Ltd. VEHICLE LAMP AND VEHICLE

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010286887A (ja) * 2009-06-09 2010-12-24 Nec System Technologies Ltd ディスクアレイ装置および処理方法ならびにそのプログラム
JP6369298B2 (ja) * 2014-11-13 2018-08-08 富士通株式会社 ストレージプログラム、ストレージシステム、ストレージ方法、及びストレージ装置

Also Published As

Publication number Publication date
JP2019149128A (ja) 2019-09-05

Similar Documents

Publication Publication Date Title
US10613934B2 (en) Managing RAID parity stripe contention
US7409582B2 (en) Low cost raid with seamless disk failure recovery
JP5887757B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US7979635B2 (en) Apparatus and method to allocate resources in a data storage library
US8392752B2 (en) Selective recovery and aggregation technique for two storage apparatuses of a raid
US8930750B2 (en) Systems and methods for preventing data loss
US8943358B2 (en) Storage system, apparatus, and method for failure recovery during unsuccessful rebuild process
US8060772B2 (en) Storage redundant array of independent drives
US20060117216A1 (en) Program, storage control method, and storage system
US9740440B2 (en) Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array
US8874958B2 (en) Error detection in a mirrored data storage system
US20140298109A1 (en) Information processing device, computer-readable recording medium, and method
JP2006301714A (ja) アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法
TW200532449A (en) Efficient media scan operations for storage systems
US20130198585A1 (en) Method of, and apparatus for, improved data integrity
US9378092B2 (en) Storage control apparatus and storage control method
JP2007052509A (ja) ディスクアレイ装置における媒体エラーリカバリ装置、方法、及びプログラム
JP6849226B2 (ja) データ書き込み処理装置、記憶システム、データ書き込み処理方法及びプログラム
JP4836014B2 (ja) ディスクアレイ装置及び物理ディスクの復元方法
WO2014111979A1 (ja) ディスクアレイ制御装置およびディスクアレイ装置
US10901843B2 (en) Managing data storage
US10133640B2 (en) Storage apparatus and storage system
JP4143040B2 (ja) ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム
US10014983B2 (en) System, receiving device, and method
US11256439B2 (en) System and method for parallel journaling in a storage cluster

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200923

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: 20210202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210225

R150 Certificate of patent or registration of utility model

Ref document number: 6849226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150