(57)【要約】  本発明は、データアクセス方法及び装置を開示し、情報技術の分野に属する。方法は、第１のディスクグループに対する及びリードアドレスを運ぶデータリード要求を取得するステップと、前記リードアドレスに従い前記第１のディスクグループの第１のストライプ位置範囲を決定するステップと、前記第１のストライプ位置範囲の中の第１のストライプからデータを順次リードするステップと、データがリードに成功しない第１のストライプのデータリード結果をプリセットパディングデータに設定するステップと、各々の第１のストライプのデータリード結果を返すステップと、を有する。本発明では、データがリードに成功しない第１のストライプのデータリード結果は、プリセットパディングデータに設定され、データリードは、データが全ての第１のストライプからリードされるまで、次の第１のストライプへ進み、各々の第１のストライプのデータリード結果が返される。これは、データがリードに成功しないとき、アクセス中断時間を短縮し、データ損失を低減する。
2017502424.tif 000002
【特許請求の範囲】
【請求項１】
データアクセス方法であって、前記方法は、ＲＡＩＤ（redundant  array  of  independent  disks）に適用され、前記ＲＡＩＤは、少なくとも１つの第１のディスクグループを有し、前記第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割され、前記方法は、
前記第１のディスクグループに対するデータリード要求を取得するステップであって、前記データリード要求はリードアドレスを運ぶ、ステップと、
前記リードアドレスに従い前記第１のディスクグループの第１のストライプ位置範囲を決定するステップであって、少なくとも１つの第１のストライプは、前記第１のストライプ位置範囲に含まれる、ステップと、
前記第１のストライプ位置範囲の中の前記少なくとも１つの第１のストライプから、データを順次リードするステップと、
データが現在の第１のストライプからのリードに成功しない場合、前記現在の第１のストライプのデータリード結果をプリセットパディングデータに設定し、全ての前記少なくとも１つの第１のストライプからデータがリードされるまで、次の第１のストライプからデータをリードし続けるステップと、
各々の第１のストライプのデータリード結果を返すステップと、
を有する方法。
【請求項２】
前記ＲＡＩＤは、第２のディスクグループを更に有し、前記方法は、
前記第１のディスクグループに対するデータライト要求を取得するステップであって、前記データライト要求は、ライトアドレスを運ぶ、ステップと、
前記ライトアドレスに従い前記第１のディスクグループの第２のストライプ位置範囲を決定するステップであって、少なくとも１つの第２のストライプは、前記第２のストライプ位置範囲に含まれる、ステップと、
前記第２のストライプ位置範囲の中の前記少なくとも１つの第２のストライプにデータを順次ライトするステップと、
データが現在の第２のストライプへのライトに成功しない場合、前記第１のディスクグループの状態を知るためにスキャンするステップであって、前記第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、及び劣化状態のうちの１つである、ステップと、
前記第１のディスクグループが前記リードオンリー状態である場合、全てのデータがライトされるまで、前記第２のディスクグループの対応するストライプにデータをライトし続けるステップと、
を更に有する請求項１に記載の方法。
【請求項３】
前記第１のディスクグループの状態を知るためにスキャンするステップの後に、
前記第１のディスクグループが前記劣化状態である場合、応答でアラームを送信するステップ、
を更に有する請求項２に記載の方法。
【請求項４】
前記方法は、
前記第１のディスクグループの各々のディスクの状態が変化したか否かを調べるステップであって、前記ディスクの状態は、新しいディスク状態、通常状態、及び故障状態のうちの１つである、ステップと、
前記第１のディスクグループの第１のディスクが前記故障状態から前記新しいディスク状態に変化する場合、前記第１のディスクをフォーマットし、前記フォーマットした第１のディスクをストライプに分割し、分割により得られた各々のストライプの状態を非ライト状態に設定するステップと、
を更に有する請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
分割により得られた各々のストライプの状態を非ライト状態に設定するステップの後に、
前記非ライト状態のストライプからのデータリードの間に、前記非ライト状態のストライプのデータリード結果をプリセットパディングデータに設定するステップ、
を更に有する請求項４に記載の方法。
【請求項６】
前記方法は、
前記第１のディスクグループが現在、リードオンリー状態であるか否かを調べるステップであって、前記リードオンリー状態は、前記第１のディスクグループの少なくとも２つのディスクが故障状態であることを示す、ステップと、
前記第１のディスクグループが現在、非リードオンリー状態である場合、前記第１のディスクグループの最終検出状態が前記リードオンリー状態であるか否かを決定するステップと、
前記第１のディスクグループの最終検出状態が前記リードオンリー状態である場合、前記第１のディスクグループの状態を前記非リードオンリー状態に設定するステップであって、前記非リードオンリー状態は、劣化状態と、通常リード／ライト状態と、を有する、ステップと、
を更に有する請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記第１のディスクグループが現在リードオンリー状態であるか否かを調べるステップの後に、
前記第１のディスクグループが現在、前記リードオンリー状態である場合、前記第１のディスクグループの最終検出状態が前記非リードオンリー状態であるか否かを決定するステップと、
前記第１のディスクグループの最終検出状態が前記非リードオンリー状態である場合、前記第１のディスクグループの状態を前記リードオンリー状態に設定するステップと、
を更に有する請求項６に記載の方法。
【請求項８】
データアクセス装置であって、前記装置は、ＲＡＩＤ（redundant  array  of  independent  disks）に適用され、前記ＲＡＩＤは、少なくとも１つの第１のディスクグループを有し、前記第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割され、前記装置は、
前記第１のディスクグループに対するデータリード要求を取得するよう構成される第１の取得モジュールであって、前記データリード要求はリードアドレスを運ぶ、第１の取得モジュールと、
前記リードアドレスに従い前記第１のディスクグループの第１のストライプ位置範囲を決定するよう構成される第１の決定モジュールであって、少なくとも１つの第１のストライプは、前記第１のストライプ位置範囲に含まれる、第１の決定モジュールと、
前記第１のストライプ位置範囲の中の前記少なくとも１つの第１のストライプから、データを順次リードするよう構成されるリードモジュールと、
データが現在の第１のストライプからのリードに成功しないとき、前記現在の第１のストライプのデータリード結果をプリセットパディングデータに設定し、全ての前記少なくとも１つの第１のストライプからデータがリードされるまで、次の第１のストライプからデータをリードし続けるよう構成される第１の設定モジュールと、
各々の第１のストライプのデータリード結果を返すよう構成される返還モジュールと、
を有する装置。
【請求項９】
前記ＲＡＩＤは、第２のディスクグループを更に有し、前記装置は、
前記第１のディスクグループに対するデータライト要求を取得するよう構成される第２の取得モジュールであって、前記データライト要求は、ライトアドレスを運ぶ、第２の取得モジュールと、
前記ライトアドレスに従い前記第１のディスクグループの第２のストライプ位置範囲を決定するよう構成される第２の決定モジュールであって、少なくとも１つの第２のストライプは、前記第２のストライプ位置範囲に含まれる、第２の決定モジュールと、
前記第２のストライプ位置範囲の中の前記少なくとも１つの第２のストライプにデータを順次ライトするよう構成される第１のライトモジュールと、
データが現在の第２のストライプへのライトに成功しないとき、前記第１のディスクグループの状態を知るためにスキャンするよう構成されるスキャンモジュールであって、前記第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、及び劣化状態のうちの１つである、スキャンモジュールと、
前記第１のディスクグループが前記リードオンリー状態であるとき、全てのデータがライトされるまで、前記第２のディスクグループの対応するストライプにデータをライトし続けるよう構成される第２のライトモジュールと、
を更に有する請求項８に記載の装置。
【請求項１０】
前記装置は、
前記第１のディスクグループが前記劣化状態であるとき、応答でアラームを送信するよう構成される応答モジュール、
を更に有する請求項９に記載の装置。
【請求項１１】
前記装置は、
前記第１のディスクグループの各々のディスクの状態が変化したか否かを調べるよう構成される第１のチェックモジュールであって、前記ディスクの状態は、新しいディスク状態、通常状態、及び故障状態のうちの１つである、第１のチェックモジュールと、
前記第１のディスクグループの第１のディスクが前記故障状態から前記新しいディスク状態に変化するとき、前記第１のディスクをフォーマットするよう構成されるフォーマットモジュールと、
前記フォーマットした第１のディスクをストライプに分割するよう構成される分割モジュールと、
分割により得られた各々のストライプの状態を非ライト状態に設定するよう構成される第２の設定モジュールと、
を更に有する請求項８乃至１０のいずれか一項に記載の装置。
【請求項１２】
前記第１の設定モジュールは、前記非ライト状態のストライプからのデータリードの間に、前記非ライト状態のストライプのデータリード結果を、プリセットパディングデータに設定するよう更に構成される、請求項１１に記載の装置。
【請求項１３】
前記装置は、
前記第１のディスクグループが現在、リードオンリー状態であるか否かを調べるよう構成される第２のチェックモジュールであって、前記リードオンリー状態は、前記第１のディスクグループの少なくとも２つのディスクが故障状態であることを示す、第２のチェックモジュールと、
前記第１のディスクグループが現在、非リードオンリー状態であるとき、前記第１のディスクグループの最終検出状態が前記リードオンリー状態であるか否かを決定するよう構成される第３の決定モジュールと、
前記第１のディスクグループの最終検出状態が前記リードオンリー状態であるとき、前記第１のディスクグループの状態を前記非リードオンリー状態に設定するよう構成される第３の設定モジュールであって、前記非リードオンリー状態は、劣化状態と、通常リード／ライト状態と、を有する、第３の設定モジュールと、
を更に有する請求項８乃至１２のいずれか一項に記載の装置。
【請求項１４】
前記装置は、
前記第１のディスクグループが現在、前記リードオンリー状態であるとき、前記第１のディスクグループの最終検出状態が前記非リードオンリー状態であるか否かを決定するよう構成される第４の決定モジュールと、
前記第１のディスクグループの最終検出状態が前記非リードオンリー状態であるとき、前記第１のディスクグループの状態を前記リードオンリー状態に設定するよう構成される第４の設定モジュールと、
を更に有する請求項１３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、中国特許出願番号２０１４１０００７１０３.０、２０１４年１月７日出願、名称「DATA  ACCESS  METHOD  AND  APPARATUS」の優先権を主張する。該中国特許出願は、参照によりその全体がここに組み込まれる。
【０００２】
本発明は、情報技術の分野に関し、特にデータアクセス方法及び装置に関する。
【背景技術】
【０００３】
情報技術の急速な発展に伴い、装置を用いることによりデータを格納する方法が広く適用されている。しかしながら、装置の記憶領域は、格納されたデータの損失を生じ並びに人々に不便及び復旧不可能な損失さえももたらす損傷の危険に晒されている。データ信頼性に対する要件は、異なる分野において変化し、データ信頼性が厳しく要求されない適用シナリオでは、記憶領域の中の残留データも高価である。したがって、人々にとって、効率的データアクセスのために、損傷記憶領域の場合にデータ損失をどのように減少させるかを検討することが課題である。
【０００４】
従来技術では、ＲＡＩＤ（Redundant  Array  of  Independent  Disks）技術がデータアクセスのために使用される。ＲＡＩＤでは、複数のディスクがディスクグループを形成し、各々のディスクは複数のストライプに分けられ、データは、複数のディスクの異なるストライプに別個に格納される複数のデータブロックにセグメント化され、各々のストライプは１つのデータブロックを格納する。ＲＡＩＤ５が一例として用いられる。ＲＡＩＤ５はディスクグループを含み、ディスクグループはｎ＋１個のディスクを含み、ｎ個のディスクは、アクセスのためのデータを格納するために用いられ、１つのディスクは、冗長データを格納するために用いられる。ディスクグループの中の１つのディスクが故障になると、故障ディスクの中の未知のデータは、ディスクグループの中の他のディスクにあるデータを用いることにより計算により得られ、そして全データがアクセスできる。ディスクグループの中の１より多くのディスクが故障になると、故障ディスクの中の未知のデータは、ディスクグループの中の他のディスクにあるデータを用いることにより計算により得ることができない。ディスクグループは障害状態になり、ディスクグループの中のデータはアクセスできない。この場合、ディスクグループの中の残留データにアクセスするために、ビルトインＲＡＩＤ方法又は第三者サービスが、用いられても良い。ここで、残留データは、ディスクグループの中の故障ディスクを除く他のディスクにあるデータである。
【０００５】
本発明を実施する過程で、発明者は、従来技術が少なくとも以下の欠点を有することを見出した。
【０００６】
１つより多くのディスクが故障になり、別の手段が取られないと、ディスクグループの中の全データが失われ、データが効率的にアクセスできない。さらに、ＲＡＩＤビルトインサービス方法又は第三者サービス方法がデータにアクセスするために用いられても、ＲＡＩＤサービス又は第三者サービスのリアルタイム性能の欠如が、適宜且つ迅速にデータを読み出すことを不可能にし、長時間のサービス中断を生じる。さらに、第三者が関与するとき、データ機密性が保証できない。
【発明の概要】
【０００７】
従来技術の問題を解決するために、本発明の実施形態は、データアクセス方法及び装置を提供する。技術的解決法は、以下の通りである。
【０００８】
第１の態様によると、データアクセス方法が提供される。前記方法は、ＲＡＩＤ（redundant  array  of  independent  disks）に適用され、前記ＲＡＩＤは、少なくとも１つの第１のディスクグループを有し、前記第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割され、前記方法は、前記第１のディスクグループに対するデータリード要求を取得するステップであって、前記データリード要求はリードアドレスを運ぶ、ステップと、前記リードアドレスに従い前記第１のディスクグループの第１のストライプ位置範囲を決定するステップであって、少なくとも１つの第１のストライプは、前記第１のストライプ位置範囲に含まれる、ステップと、前記第１のストライプ位置範囲の中の前記少なくとも１つの第１のストライプから、データを順次リードするステップと、データが現在の第１のストライプからのリードに成功しない場合、前記現在の第１のストライプのデータリード結果をプリセットパディングデータに設定し、全ての前記少なくとも１つの第１のストライプからデータがリードされるまで、次の第１のストライプからデータをリードし続けるステップと、各々の第１のストライプのデータリード結果を返すステップと、を有する。
【０００９】
第１の態様を参照し、第１の態様の第１の可能な実装方法では、前記ＲＡＩＤは、第２のディスクグループを更に有し、前記方法は、前記第１のディスクグループに対するデータライト要求を取得するステップであって、前記データライト要求は、ライトアドレスを運ぶ、ステップと、前記ライトアドレスに従い前記第１のディスクグループの第２のストライプ位置範囲を決定するステップであって、少なくとも１つの第２のストライプは、前記第２のストライプ位置範囲に含まれる、ステップと、前記第２のストライプ位置範囲の中の前記少なくとも１つの第２のストライプにデータを順次ライトするステップと、データが現在の第２のストライプへのライトに成功しない場合、前記第１のディスクグループの状態を知るためにスキャンするステップであって、前記第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、及び劣化状態のうちの１つである、ステップと、前記第１のディスクグループが前記リードオンリー状態である場合、全てのデータがライトされるまで、前記第２のディスクグループの対応するストライプにデータをライトし続けるステップと、を更に有する。
【００１０】
第１の態様の第１の可能な実装方法を参照し、第１の態様の第２の可能な実装方法では、前記第１のディスクグループの状態を知るためにスキャンするステップの後に、前記方法は、前記第１のディスクグループが前記劣化状態である場合、応答でアラームを送信するステップ、を更に有する。
【００１１】
第１の態様乃至第１の態様の第１から第２の可能な実装方法を参照して、第１の態様の第３の可能な実装方法では、前記方法は、前記第１のディスクグループの各々のディスクの状態が変化したか否かを調べるステップであって、前記ディスクの状態は、新しいディスク状態、通常状態、及び故障状態のうちの１つである、ステップと、前記第１のディスクグループの第１のディスクが前記故障状態から前記新しいディスク状態に変化する場合、前記第１のディスクをフォーマットし、前記フォーマットした第１のディスクをストライプに分割し、分割により得られた各々のストライプの状態を非ライト状態に設定するステップと、を更に有する。
【００１２】
第１の態様の第３の可能な実装方法を参照して、第１の態様の第４の可能な実装方法では、分割により得られた各々のストライプの状態を非ライト状態に設定するステップの後に、前記方法は、前記非ライト状態のストライプからのデータリードの間に、前記非ライト状態のストライプのデータリード結果をプリセットパディングデータに設定するステップ、を更に有する。
【００１３】
第１の態様乃至第１の態様の第１から第４の可能な実装方法を参照し、第１の態様の第５の可能な実装方法では、前記方法は、前記第１のディスクグループが現在、リードオンリー状態であるか否かを調べるステップであって、前記リードオンリー状態は、前記第１のディスクグループの少なくとも２つのディスクが故障状態であることを示す、ステップと、前記第１のディスクグループが現在、非リードオンリー状態である場合、前記第１のディスクグループの最終検出状態が前記リードオンリー状態であるか否かを決定するステップと、前記第１のディスクグループの最終検出状態が前記リードオンリー状態である場合、前記第１のディスクグループの状態を前記非リードオンリー状態に設定するステップであって、前記非リードオンリー状態は、劣化状態と、通常リード／ライト状態と、を有する、ステップと、を更に有する。
【００１４】
第１の態様の第５の可能な実装方法を参照して、第１の態様の第６の可能な実装方法では、前記第１のディスクグループが現在リードオンリー状態であるか否かを調べるステップの後に、前記第１のディスクグループが現在、前記リードオンリー状態である場合、前記第１のディスクグループの最終検出状態が前記非リードオンリー状態であるか否かを決定するステップと、前記第１のディスクグループの最終検出状態が前記非リードオンリー状態である場合、前記第１のディスクグループの状態を前記リードオンリー状態に設定するステップと、を更に有する。
【００１５】
第２の態様によると、データアクセス装置が提供される。前記装置は、ＲＡＩＤ（redundant  array  of  independent  disks）に適用され、前記ＲＡＩＤは、少なくとも１つの第１のディスクグループを有し、前記第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割され、前記装置は、前記第１のディスクグループに対するデータリード要求を取得するよう構成される第１の取得モジュールであって、前記データリード要求はリードアドレスを運ぶ、第１の取得モジュールと、前記リードアドレスに従い前記第１のディスクグループの第１のストライプ位置範囲を決定するよう構成される第１の決定モジュールであって、少なくとも１つの第１のストライプは、前記第１のストライプ位置範囲に含まれる、第１の決定モジュールと、前記第１のストライプ位置範囲の中の前記少なくとも１つの第１のストライプから、データを順次リードするよう構成されるリードモジュールと、データが現在の第１のストライプからのリードに成功しないとき、前記現在の第１のストライプのデータリード結果をプリセットパディングデータに設定し、全ての前記少なくとも１つの第１のストライプからデータがリードされるまで、次の第１のストライプからデータをリードし続けるよう構成される第１の設定モジュールと、各々の第１のストライプのデータリード結果を返すよう構成される返還モジュールと、を有する。
【００１６】
第２の態様を参照し、第２の態様の第１の可能な実装方法では、前記ＲＡＩＤは、第２のディスクグループを更に有し、前記装置は、前記第１のディスクグループに対するデータライト要求を取得するよう構成される第２の取得モジュールであって、前記データライト要求は、ライトアドレスを運ぶ、第２の取得モジュールと、前記ライトアドレスに従い前記第１のディスクグループの第２のストライプ位置範囲を決定するよう構成される第２の決定モジュールであって、少なくとも１つの第２のストライプは、前記第２のストライプ位置範囲に含まれる、第２の決定モジュールと、前記第２のストライプ位置範囲の中の前記少なくとも１つの第２のストライプにデータを順次ライトするよう構成される第１のライトモジュールと、データが現在の第２のストライプへのライトに成功しないとき、前記第１のディスクグループの状態を知るためにスキャンするよう構成されるスキャンモジュールであって、前記第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、及び劣化状態のうちの１つである、スキャンモジュールと、前記第１のディスクグループが前記リードオンリー状態であるとき、全てのデータがライトされるまで、前記第２のディスクグループの対応するストライプにデータをライトし続けるよう構成される第２のライトモジュールと、を更に有する。
【００１７】
第２の態様の第１の可能な実装方法を参照し、第２の態様の第２の可能な実装方法では、前記装置は、前記第１のディスクグループが前記劣化状態であるとき、応答でアラームを送信するよう構成される応答モジュール、を更に有する。
【００１８】
第２の態様乃至第２の態様の第１から第２の可能な実装方法を参照して、第２の態様の第３の可能な実装方法では、前記装置は、前記第１のディスクグループの各々のディスクの状態が変化したか否かを調べるよう構成される第１のチェックモジュールであって、前記ディスクの状態は、新しいディスク状態、通常状態、及び故障状態のうちの１つである、第１のチェックモジュールと、前記第１のディスクグループの第１のディスクが前記故障状態から前記新しいディスク状態に変化するとき、前記第１のディスクをフォーマットするよう構成されるフォーマットモジュールと、前記フォーマットされた第１のディスクをストライプに分割するよう構成される分割モジュールと、分割により得られた各々のストライプの状態を非ライト状態に設定する第２の設定モジュールと、を更に有する。
【００１９】
第２の態様の第３の可能な実装方法を参照し、第２の態様の第４の可能な実装方法では、前記第１の設定モジュールは、前記非ライト状態のストライプからのデータリードの間に、前記非ライト状態のストライプのデータリード結果を、プリセットパディングデータに設定するよう更に構成される。
【００２０】
第２の態様乃至第２の態様の第１から第４の可能な実装方法を参照し、第２の態様の第５の可能な実装方法では、前記装置は、前記第１のディスクグループが現在、リードオンリー状態であるか否かを調べるよう構成される第２のチェックモジュールであって、前記リードオンリー状態は、前記第１のディスクグループの少なくとも２つのディスクが故障状態であることを示す、第２のチェックモジュールと、前記第１のディスクグループが現在、非リードオンリー状態である場合、前記第１のディスクグループの最終検出状態が前記リードオンリー状態であるか否かを決定するよう構成される第３の決定モジュールと、前記第１のディスクグループの最終検出状態が前記リードオンリー状態であるとき、前記第１のディスクグループの状態を前記非リードオンリー状態に設定するよう構成される第３の設定モジュールであって、前記非リードオンリー状態は、劣化状態と、通常リード／ライト状態と、を有する、第３の設定モジュールと、を更に有する。
【００２１】
第２の態様の第５の可能な実装方法を参照して、第２の態様の第６の可能な実装方法では、前記装置は、前記第１のディスクグループが現在、前記リードオンリー状態であるとき、前記第１のディスクグループの最終検出状態が前記非リードオンリー状態であるか否かを決定するよう構成される第４の決定モジュールと、前記第１のディスクグループの最終検出状態が前記非リードオンリー状態であるとき、前記第１のディスクグループの状態を前記リードオンリー状態に設定するよう構成される第４の設定モジュールと、を更に有する。
【００２２】
本発明の実施形態により提供される技術的解決策は、以下の有利な効果をもたらす。
【００２３】
データがリードに成功しない第１のストライプのデータリード結果は、プリセットパディングデータに設定され、データリードは、データが全ての第１のストライプからリードされるまで、次の第１のストライプへ進み、各々の第１のストライプのデータリード結果が返される。これは、データがリードに成功しないとき、アクセス中断時間を短縮し、データ損失を低減する。
【図面の簡単な説明】
【００２４】
本発明の実施形態の技術的解決策をより明確に記載するために、実施形態を説明するのに必要な添付の図面を以下に簡単に説明する。明らかなことに、以下の説明中の添付の図面は、本発明のほんの一部の実施形態であり、これらの図面に従って当業者により創造的労力を有しないで他の図面も得られる。
【図１】本発明の実施形態１によるデータアクセス方法のフローチャートである。
【図２】本発明の実施形態２によるデータアクセス方法のフローチャートである。
【図３】本発明の実施形態２による第１のディスクの構造の概略図である。
【図４】本発明の実施形態２による分割されたストライプの概略図である。
【図５】本発明の実施形態２による第１の種類の第１のディスクグループの構造の概略図である。
【図６】本発明の実施形態２による第２の種類の第１のディスクグループの構造の概略図である。
【図７】本発明の実施形態２によるデータアクセスのためのソフトウェアの構造の概略図である。
【図８】本発明の実施形態２によるソフトウェアＲＡＩＤの構造の概略図である。
【図９】本発明の実施形態２によるデータアクセスのためのハードウェアの構造の概略図である。
【図１０】本発明の実施形態３によるデータアクセス方法のフローチャートである。
【図１１】本発明の実施形態３によるディスプレイインタフェースの概略図である。
【図１２】本発明の実施形態４によるデータアクセス装置の構造の概略図である。
【発明を実施するための形態】
【００２５】
データにアクセスするために、データを格納する装置が決定される必要がある。記憶装置が決定されるとき、記憶装置の性能、信頼性、及びコストが検討される必要がある。ＲＡＩＤは、性能、信頼性、及びコストの間の良好なバランスを達成する。したがって、殆どの民間の記憶装置では、ＲＡＩＤの技術は、記憶環境を構築するために用いられる。
【００２６】
本発明の実施形態で提供されるデータアクセス方法は、ストリーミングメディアデータ記憶のシナリオだけでなく、テキスト記憶及びインターネットキャッシングのシナリオのようなデータ信頼性が厳格に要求されないシナリオにも適用できる。
【００２７】
本発明の目的、技術的解決策、及び利点を一層明らかにするために、以下に、本発明の実施形態を、添付の図面を参照して以下に詳述する。
【００２８】
＜実施形態１＞
本発明の一実施形態は、ＲＡＩＤに適用されるデータアクセス方法を提供する。ＲＡＩＤは、少なくとも第１のディスクグループを有し、第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割される。図１を参照すると、本実施形態で提供される方法のプロセスは、以下を含む。
【００２９】
１０１:第１のディスクグループに対するデータリード要求を取得する。ここで、データリード要求は、リードアドレスを有する。
【００３０】
１０２:リードアドレスに従い、第１のディスクグループの第１のストライプ位置範囲を決定する。ここで、少なくとも１つの第１のストライプは、第１のストライプ位置範囲に含まれる。
【００３１】
１０３:第１のストライプ位置範囲の中の少なくとも１つの第１のストライプからデータを順次リードする。
【００３２】
１０４:データが現在の第１のストライプからのリードに成功しない場合、現在の第１のストライプについてのデータリード結果を、プリセットパディングデータに設定し、全ての少なくとも１つの第１のストライプからデータがリードされるまで、次の第１のストライプからデータをリードし続け、各々の第１のストライプのデータリード結果を返す。
【００３３】
望ましくは、ＲＡＩＤは、第２のディスクグループを更に有し、方法は、更に以下を有する。
第１のディスクグループに対するデータライト要求を取得する。ここで、データライト要求は、ライトアドレスを有する。
ライトアドレスに従い、第１のディスクグループの第２のストライプ位置範囲を決定する。ここで、少なくとも１つの第２のストライプは、第２のストライプ位置範囲に含まれる。
第２のストライプ位置範囲の中の少なくとも１つの第２のストライプからデータを順次ライトする。
データが現在の第２のストライプへのライトに成功しない場合、第１のディスクグループの状態を知るためにスキャンする。ここで、第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、及び劣化状態のうちの１つである。
第１のディスクグループがリードオンリー状態である場合、全てのデータがライトされるまで、第２のディスクグループの中の対応するストライプにデータをライトし続ける。
【００３４】
望ましくは、第１のディスクグループの状態を知るためにスキャンした後に、方法は更に以下を有する。
第１のディスクグループが劣化状態である場合、応答でアラームを送信する。
【００３５】
望ましくは、方法は、以下を更に含む。
第１のディスクグループの中の各々のディスクの状態が変化したか否かを調べる。ここで、ディスクの状態は、新しいディスク状態、通常状態、及び故障状態の内の１つである。
第１のディスクグループの中の第１のディスクが故障状態から新しいディスク状態に変化した場合、第１のディスクをフォーマットし、フォーマットした第１のディスクをストライプに分割し、分割により得られた各々のストライプの状態を非ライト状態に設定する。
【００３６】
望ましくは、分割により得られた各々のストライプの状態を非ライト状態に設定した後に、方法は、更に以下を有する。
非ライト状態のストライプからのデータリードの間に、非ライト状態のストライプのデータリード結果を、プリセットパディングデータに設定する。
【００３７】
望ましくは、方法は、以下を更に含む。
第１のディスクグループが現在リードオンリー状態であるか否かを調べる。ここで、リードオンリー状態は、第１のディスクグループの中の少なくとも２つのディスクが故障状態であることを示す。
第１のディスクグループが現在、非リードオンリー状態である場合、第１のディスクグループの最終検出状態がリードオンリー状態であるか否かを決定する。
第１のディスクグループの最終検出状態がリードオンリー状態である場合、第１のディスクグループの状態を非リードオンリー状態に設定する。ここで、非リードオンリー状態は、劣化状態、及び通常リード／ライト状態を含む。
【００３８】
望ましくは、第１のディスクグループが現在リードオンリー状態であるか否かを調べた後に、方法は更に以下を有する。
第１のディスクグループが現在、リードオンリー状態である場合、第１のディスクグループの最終検出状態が非リードオンリー状態であるか否かを決定する。
第１のディスクグループの最終検出状態が非リードオンリー状態である場合、第１のディスクグループの状態をリードオンリー状態に設定する。
【００３９】
本実施形態で提供される方法では、データは、第１のディスクグループの第１のストライプ位置範囲で順次リードされ、第１のストライプ位置範囲は、第１のディスクグループに対して取得されたデータリード要求で運ばれるリードアドレスに従い決定され、データがリードに成功しない第１のストライプのデータリード結果は、プリセットパディングデータに設定され、データリードは、データが全ての第１のストライプからリードされるまで、次の第１のストライプに進み、各々の第１のストライプのデータリード結果が返され、データ損失を低減し、データがリードに成功しないときアクセス中断時間を短縮し、第三者が関与しないのでデータ機密性を保証する。
【００４０】
＜実施形態２＞
本発明の一実施形態は、ＲＡＩＤに適用されるデータアクセス方法を提供する。ＲＡＩＤは、少なくとも第１のディスクグループを有し、第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割される。前述の実施形態１の内容を参照して、本発明の本実施形態で提供される方法は、詳細に説明及び記載される。図２を参照すると、方法のプロセスは、以下を有する。
【００４１】
２０１:第１のディスクグループに対するデータリード要求を取得する。ここで、データリード要求は、リードアドレスを有する。
【００４２】
データリード要求を取得する方法は、本実施形態では特に限定されない。特定の実装では、メッセージを受信する方法が、データリード要求を取得するために用いられても良い。確かに、前述の方法に加えて、別の方法も用いられても良い。
【００４３】
さらに、リード範囲を決定するために、データリード要求は、リードアドレスを運び、リードアドレスに従って、リード範囲が決定される。リードアドレスを運ぶことに加え、データリード要求は、更に他の情報を運んでも良い。これは、本実施形態では特に限定されない。例えば、データリード要求は、リードシーケンスを運ぶ。
【００４４】
２０２:リードアドレスに従い、第１のディスクグループの第１のストライプ位置範囲を決定する。ここで、少なくとも１つの第１のストライプは、第１のストライプ位置範囲に含まれる。
【００４５】
具体的には、リードアドレスに従って第１のディスクグループの第１のストライプ位置範囲を決定するステップは、限定ではないが、以下を含む。リードアドレスに従って、リードアドレスに対応する第１のディスクグループの第１のディスクを計算するステップと、各々の第１のディスクの第１のストライプ位置範囲を計算するステップであって、第１のディスクグループの第１のストライプ位置範囲は、第１のディスクの第１のストライプ位置範囲の集合である、ステップと。勿論、前述の方法に加えて、リードアドレスに従って第１のディスクグループの第１のストライプ位置範囲を決定するために、別の方法が用いられても良い。これは、本実施形態では特に限定されない。
【００４６】
留意すべきことに、少なくとも１つの第１のストライプは、第１のストライプ位置範囲に含まれ、後続のステップで、データは、第１のストライプ位置範囲の中の少なくとも１つの第１のストライプから順次リードされても良い。
【００４７】
理解を容易にするために、第１のディスクグループは、ディスクＤ１乃至Ｄ８を有し、説明のための例として用いられる。リードアドレスは、Ｄ１のストライプ１からＤ４のストライプ１である。ここで、Ｄ１のストライプ１は、ディスクＤ１のストライプ１であり、Ｄ４のストライプ１は、ディスクＤ４のストライプ１である。リードアドレスに従い計算され、リードアドレスに対応する第１のディスクグループの第１のディスクは、Ｄ１からＤ４である。ディスクＤ１の第１のストライプ位置範囲がストライプ１であること、ディスクＤ２の第１のストライプ位置範囲がストライプ１であること、ディスクＤ３の第１のストライプ位置範囲がストライプ１であること、ディスクＤ４の第１のストライプ位置範囲がストライプ１であること、が計算される。したがって、第１のディスクグループの第１のストライプ位置範囲は、ディスクＤ１のストライプ１、ディスクＤ２のストライプ１、ディスクＤ３のストライプ１、ディスクＤ４のストライプ１、を含む。つまり、４個の第１のストライプが、第１のストライプ位置範囲に含まれる。
【００４８】
２０３:第１のストライプ位置範囲の中の少なくとも１つの第１のストライプからデータを順次リードする。
【００４９】
第１のディスクグループの第１のストライプ位置範囲は、リードアドレスに従い決定される。したがって、データは、第１のストライプ位置範囲の中の少なくとも１つの第１のストライプから直接順次リードされ得る。ストライプからデータをリードする方法は、本実施形態では特に限定されない。例えば、アクセスされるべきデータが連続するデータである場合、要求されていないデータは、予めリードされても良く、リードデータは、メモリに格納される。データリード要求が取得された後、データは、メモリから直接リードされる。それにより、データリード速度を向上する。別の例として、アクセスされるべきデータがランダムデータである場合、データは、データリード要求が取得された後、対応する記憶領域から直接リードされる。
【００５０】
２０４:非ライト状態のストライプからのデータリードの間に、非ライト状態のストライプのデータリード結果を、プリセットパディングデータに設定する。
【００５１】
ストライプの状態を決定できるために、本実施形態で提供される方法は、以下を更に有する。第１のディスクグループの各々のディスクの状態が変化したか否かを調べる。ここで、ディスクの状態は、新しいディスク状態、通常状態、及び故障状態のうちの１つである。第１のディスクグループの第１のディスクが故障状態から新しいディスク状態に変化する場合、第１のディスクをフォーマットし、フォーマットした第１のディスクをストライプに分割し、分割により得られた各々のストライプの状態を非ライト状態に設定する。
【００５２】
第１のディスクグループの各々のディスクの状態を調べることをトリガする方法は、本実施形態では特に限定されない。特定の実装では、ディスクの状態の調査は、定期的にトリガされても良い。勿論、前述の方法に加えて、ディスクの状態の調査をトリガするために別の方法も用いられても良い。ディスクの状態は、新しいディスク状態、通常状態、及び故障状態のうちの１つである。新しいディスク状態のディスクは、ディスクグループに新しく挿入されるディスクである。通常状態のディスクは、データがリードでき、データがディスクグループにライトできるディスクである。故障状態のディスクは、故障している又はディスクグループから除去されるディスクである。
【００５３】
ディスクグループの第１のディスクが故障状態から新しいディスク状態に変化する場合、第１のディスクは、新しいディスクと手動で交換されても良い。新しい第１のディスクを正常に使用するために、新しい第１のディスクは、フォーマットされ、フォーマットされた第１のディスクはストライプに分割され、分割により得られた各々のストライプの状態は、非ライト状態に設定される。ストライプの状態は、本実施形態では特に限定されない。ストライプの状態は、限定ではないが、ライト状態、及び非ライト状態を含む。留意すべきことに、第１のディスクがフォーマットされ、フォーマットされた第１のディスクがストライプに分割された後、データは、第１のディスクから正常にリードされ及びそれにライトでき、第１のディスクは新しいディスク状態から通常状態に変化する。
【００５４】
理解を容易にするために、図３に示す第１のディスクは説明のための例として用いられる。第１のディスクは、データを格納するために、それぞれデータ領域とメタデータ領域である２つの領域に分割される。データ領域は、ストライプ１〜ストライプ５に分割される。第１のディスクは故障状態から新しいディスク状態に変化したので、ストライプ１〜ストライプ５の状態は全て、非ライト状態に設定される。メタデータ領域は、グローバルメタデータ領域と、ローカルディスクメタデータ領域と、に更に分割される。グローバルメタデータ領域には、第１のディスクグループのメタデータが、Ｂ＋ツリーの形式で格納される。ローカルディスクメタデータ領域には、グローバルメタデータ領域に格納される第１のディスクグループのメタデータに従い、第１のディスクの非ライト状態のストライプの識別子は空きストライプリンクリストに格納され、第１のディスクのライト状態のストライプの識別子は使用ストライプリンクリストに格納される。第１のディスクグループのメタデータは、ミラーリング方法で、第１のディスクグループの各々の第１のディスクのグローバルメタデータ領域に格納される。つまり、第１のディスクグループの同じメタデータは、第１のディスクグループの各々の第１のディスクのグローバルメタデータ領域に記録される。
【００５５】
さらに、分割されたストライプのサイズは、本実施形態では特に限定されない。特定の実装では、異なるデータに従い異なる分割が実行されても良い。一例として、特に高解像度ビデオのためのストリーミングメディアデータを用い、１又は２個のストライプの中のデータが失われるとき、幾つかのピクチャフレームのみが損傷され得る。２５フレーム毎秒の再生レートでは、損傷された幾つかのピクチャフレームは、有意な視覚的影響を有しない。大多数のデコーダ及びプレイヤは、このようなエラーに耐性がある。損傷ストライプの中のデータが増加するにつれ、ビデオの再生は間欠的になる場合がある。ビデオ観察のシナリオでは、このようなビデオデータは、概して重大である。
【００５６】
理解を容易にするために、分割により得られた図４（１）に示すストライプは説明のための例として用いられる。第１の行は、分割により得られたストライプである。ストライプのサイズは１ＭＢである。ストライプの中のデータａ，ｂ，ｃ，ｅ，ｆ，ｈ，ｉ，ｊ，ｋ，ｍ，ｎ，ｐ，ｑ，ｒ，ｓ，ｕ，ｖ，ｘは、失われていない。０でマークされたストライプの中のデータは失われている。第２の行は、ビデオデータタイプである。ここで、Ｉはキーフレーム（Ｉ−フレーム）を表し、Ｐは前方予測フレーム（Ｐ−フレーム）を表し、０データストライプに対応するＩ−フレーム及びＰ−フレームは、損傷フレームである。データが順次リードされるとき、データは、第１のＩ−フレーム及び第１〜第３のＰ−フレームに対応するストライプからのリードに成功し、スクリーンにレンダリングでき、データは第４のＰ−フレーム及び第５のＰ−フレームに対応するストライプからのリードに成功せず、デコーダがグローバルデータを得る場合、アーチファクトが短い時間の間、スクリーンに表示される。後続フレームの表示の影響のために、前のコンテンツが参照されても良い。８Ｍｂｐｓビットレートのビデオでは、ビデオは、時折のフレームフリーズ及び幾らかのアーチファクトを伴い、殆どスムーズに再生される。
【００５７】
別の例では、分割により得られた図４（２）に示すストライプは説明のための例として用いられる。第１の行は、分割により得られたストライプであり、ストライプサイズは２５６ＫＢである。第２の行はビデオデータタイプである。ここで、ビットレートは、図４（１）と同じである。図４（２）から分かるように、１つのフレームに対応するストライプの量が増大すると、損傷ストライプの量も増大する。したがって、適正なストライプサイズは、メディアデータのビットレートに関連する。より大きなストライプサイズは、Ｉ−フレームが連続的に損傷される確率を低減できるが、１つのストライプに含まれるフレームの量も増大し、メディアデータが再生されるとき、より多くのフレームがスキップされる。より小さなストライプサイズは、Ｉ−フレームが連続的に損傷される確率を増大し、その結果、メディアデータ再生の粗悪な結果をもたらす。８Ｍｂｐｓビットレートの１０８０ｐビデオでは、１ＭＢのストライプサイズが良好な選択である。別のビットレートのビデオファイルでは、ストライプサイズは、ストライプサイズに対するビットレートの前述の割合に従い、任意に減少され得る。
【００５８】
さらに、非ライト状態のストライプからのデータリードの間に、非ライト状態のストライプのデータリード結果は、プリセットパディングデータに設定される。非ライト状態のストライプに格納されるデータが無いので、非ライト状態のストライプからのデータリードの間、データは、実際にリードされず、非ライト状態のストライプのデータリード結果は、プリセットパディングデータに設定される。プリセットパディングデータの数値は、本実施形態では特に限定されない。特定の実装では、プリセットパディングデータの数値はゼロであっても良い。勿論、前述の数値に加えて、別の数値もプリセットされても良い。
【００５９】
２０５:データが現在の第１のストライプからのリードに成功しない場合、現在の第１のストライプについてのデータリード結果を、プリセットパディングデータに設定し、全ての少なくとも１つの第１のストライプからデータがリードされるまで、次の第１のストライプからデータをリードし続け、各々の第１のストライプのデータリード結果を返す。
【００６０】
第１のディスクグループの１以上の第１のディスクが故障状態であるとき、ディスクグループの別の第１のディスクからデータが更にリードできることを保証するために、本実施形態で提供される方法では、データが現在の第１のストライプからのリードに成功しないとき、現在の第１のストライプのデータリード結果は、プリセットパディングデータに設定され、データリードは、次の第１のストライプへ進む。プリセットパディングデータについて、前述のステップ２０４のコンテンツが参照されても良く、詳細はここで再掲されない。第１のストライプ位置範囲の中の全ての少なくとも１つの第１のストライプからデータがリードされた後、各々の第１のストライプのデータリード結果が返され、それにより、第１のディスクグループが故障したとき、第１のグループのいずれの第１のディスクからもデータがリードできないケースを回避する。
【００６１】
留意すべきことに、ＲＡＩＤ５では、１つのディスクが故障状態である場合、該ディスクにあるデータは、ディスクグループの冗長データに従って復元され得る。理解を容易にするために、図５に示す第１のディスクグループは説明のための例として用いられる。第１のディスクグループは、９個のディスク、Ｄ１〜Ｄ９を含む。データａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘは、データブロックａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｊ，ｋ，ｌ，ｍ，ｎ，ｏ，ｐ，ｑ，ｒ，ｓ，ｔ，ｕ，ｖ，ｗ，ｘにセグメント化され、これらはそれぞれディスクＤ１〜Ｄ９のストライプに格納される。データａ，ｉ，ｑは、それぞれディスクＤ１の３個のストライプに格納される。データｂ，ｊ，ｒは、それぞれディスクＤ２の３個のストライプに格納される。データｃ，ｋ，ｓは、それぞれディスクＤ３の３個のストライプに格納される。データｄ，ｌ，ｔは、それぞれディスクＤ４の３個のストライプに格納される。データｅ，ｍ，ｕは、それぞれディスクＤ５の３個のストライプに格納される。データｆ，ｎ，ｖは、それぞれディスクＤ６の３個のストライプに格納される。データｇ，ｏ，ｗは、それぞれディスクＤ７の３個のストライプに格納される。データｈ，ｐ，ｘは、それぞれディスクＤ８の３個のストライプに格納される。冗長データｘｏｒ１，ｘｏｒ２，ｘｏｒ１は、それぞれ、ディスクＤ９の３個のストライプに格納される。ｘｏｒ１＝ａ＾ｂ＾ｃ＾ｄ＾ｅ＾ｆ＾ｇ＾ｈ、ｘｏｒ２＝ｉ＾ｊ＾ｋ＾ｌ＾ｍ＾ｎ＾ｏ＾ｐであり、＾は排他的ＯＲを表す。Ｄ１〜Ｄ８のうちの任意の１つのディスクが故障状態であるとき、該任意の１つののディスクのデータは、冗長計算を用いて復元され得る。
【００６２】
例えば、ディスクＤ３が故障状態であるとき、データｃについての冗長計算プロセスは、次の通りである。
【数１】
2017502424.tif 000003
【００６３】
データｋ及びデータｓについての冗長計算プロセスでは、データｃについての冗長計算プロセスが参照されても良く、詳細はここに再掲されない。
【００６４】
別の例では、ディスクＤ４及びＤ７が故障状態である。図６に示すように、ディスクＤ４及びＤ７のデータは、冗長計算により得られない。したがって、データは、ディスクＤ４及びＤ７からのリードに成功できない。プリセットパディングデータは０に設定され、ディスクＤ４及びＤ７のデータリード結果は両方とも０である。リードアドレスに従って決定される第１のディスクグループの第１のストライプ位置範囲がＤ１〜Ｄ８の全てのストライプである場合、返されるデータリード結果は、ａｂｃ０ｅｆ０ｈｉｊｋ０ｍｎ０ｐｑｒｓ０ｕｖ０ｘである。
【００６５】
さらに、本発明の本実施形態で提供されるデータアクセス方法は、ソフトウェアにより実装されても良く、又はハードウェアにより実装されても良い。理解を容易にするために、図７に示すデータアクセスのためのソフトウェアの構造は説明のための例として用いられる。ソフトウェアＲＡＩＤは、ＶＦＳ（Virtual  File  System、仮想ファイルシステム）とＸＦＳ（X−File  System、Ｘファイルシステム）との間に位置し、ＷｅｂＵＩ（Web  User  Interface、ウェブユーザインタフェース）及びＣＬＩ（Command  Line  Interface、コマンドラインインタフェース）は、ソフトウェアＲＡＩＤを制御するために設けられ、ＲＡＩＤユーザは、ＶＦＳを用いることによりソフトウェアＲＡＩＤを制御できる。ソフトウェアＲＡＩＤの構造は、図８（１）に示され、又は図８（２）に示され得る。図８（１）のソフトウェアＲＡＩＤと比べると、図８（２）のソフトウェアＲＡＩＤは、ＲＡＩＤファイルシステム及びリード／ライトキャッシュを設けられず、仮想ブロック装置は、標準的なファイルシステムに直接接続される。ディスクグループが障害条件を満たすとき、損失データは、標準的ファイルのキーデータであっても良い。これは、標準ファイルシステムに損傷をもたらす。したがって、ソフトウェアＲＡＩＤは、通常、ファイルシステムに適用されない。
【００６６】
さらに、図９に示すデータアクセスのためのハードウェアの構造では、本発明の本実施形態で提供されるデータアクセス方法を実施するために、ＲＡＩＤカードが用いられ得る。ＲＡＩＤカードは、オペレーティングシステムとディスクとの間に置かれる。
【００６７】
本実施形態で提供される方法では、データは、第１のディスクグループの第１のストライプ位置範囲で順次リードされ、第１のストライプ位置範囲は、第１のディスクグループに対して取得されたデータリード要求で運ばれるリードアドレスに従い決定され、データがリードに成功しない第１のストライプのデータリード結果は、プリセットパディングデータに設定され、データリードは、データが全ての第１のストライプからリードされるまで、次の第１のストライプに進み、各々の第１のストライプのデータリード結果が返され、データ損失を低減し、データがリードに成功しないときアクセス中断時間を短縮し、第三者が関与しないのでデータ機密性を保証する。
【００６８】
＜実施形態３＞
本発明の一実施形態は、ＲＡＩＤに適用されるデータアクセス方法を提供する。ＲＡＩＤは、第１のディスクグループ及び第２のディスクグループを有し、第１のディスクグループ及び第２のディスクグループの両方は、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割される。図１０を参照すると、方法のプロセスは、以下を有する。
【００６９】
１００１:第１のディスクグループに対するデータライト要求を取得する。ここで、データライト要求は、ライトアドレスを有する。
【００７０】
第１のディスクグループに対するデータライト要求は、ディスクグループの中のデータにアクセスするために取得される。データライト要求を取得する方法は、本実施形態では特に限定されない。特定の実装では、メッセージを受信する方法が、データライト要求を取得するために用いられても良い。確かに、前述の方法に加えて、別の方法も用いられても良い。
【００７１】
さらに、ライト範囲を決定するために、データライト要求は、ライトアドレスを運び、ライトアドレスに従って、ライト範囲が決定される。ライトアドレスを運ぶことに加え、データライト要求は、更に他の情報を運んでも良い。これは、本実施形態では特に限定されない。例えば、データライト要求は、ライトシーケンスを運ぶ。
【００７２】
１００２:ライトアドレスに従い、第１のディスクグループの第２のストライプ位置範囲を決定する。ここで、少なくとも１つの第２のストライプは、第２のストライプ位置範囲に含まれる。
【００７３】
具体的には、ライトアドレスに従って第１のディスクグループの第２のストライプ位置範囲を決定するステップは、限定ではないが、以下を含む。ライトアドレスに従って、ライトアドレスに対応する第１のディスクグループの第１のディスクを計算するステップと、各々の第１のディスクの第２のストライプ位置範囲を計算するステップであって、第１のディスクグループの第２のストライプ位置範囲は、第１のディスクの第２のストライプ位置範囲の集合である、ステップと。勿論、前述の方法に加えて、ライトアドレスに従って第１のディスクグループの第２のストライプ位置範囲を決定するために、別の方法が用いられても良い。これは、本実施形態では特に限定されない。
【００７４】
留意すべきことに、少なくとも１つの第１のストライプは、第１のストライプ位置範囲に含まれ、後続のステップで、データは、第２のストライプ位置範囲の中の少なくとも１つの第２のストライプに順次ライトされても良い。
【００７５】
理解を容易にするために、第１のディスクグループは、ディスクＤ１乃至Ｄ８を有し、説明のための例として用いられる。ライトアドレスは、Ｄ１のストライプ１からＤ４のストライプ１である。ここで、Ｄ１のストライプ１は、ディスクＤ１のストライプ１であり、Ｄ４のストライプ１は、ディスクＤ４のストライプ１である。ライトアドレスに従い計算され、ライトアドレスに対応する第１のディスクグループの第１のディスクは、Ｄ１からＤ４である。ディスクＤ１の第２のストライプ位置範囲がストライプ１であること、ディスクＤ２の第２のストライプ位置範囲がストライプ１であること、ディスクＤ３の第２のストライプ位置範囲がストライプ１であること、ディスクＤ４の第２のストライプ位置範囲がストライプ１であること、が計算される。したがって、第１のディスクグループの第２のストライプ位置範囲は、ディスクＤ１のストライプ１、ディスクＤ２のストライプ１、ディスクＤ３のストライプ１、ディスクＤ４のストライプ１、を含む。つまり、４個の第２のストライプが、第２のストライプ位置範囲に含まれる。
【００７６】
１００３:第２のストライプ位置範囲の中の少なくとも１つの第２のストライプにデータを順次ライトする。
【００７７】
第１のディスクグループの第２のストライプ位置範囲は、ライトアドレスに従い決定される。したがって、データは、第２のストライプ位置範囲の中の少なくとも１つの第２のストライプに直接順次ライトされ得る。ストライプにデータをライトする方法は、本実施形態では特に限定されない。特定の実装では、ライトされるべきデータは、複数のデータブロックにセグメント化されても良く、データは、第２のストライプ位置範囲の中の少なくとも１つの第２のストライプに並列にライトされる。それにより、データライト速度を向上する。勿論、前述の方法に加えて、別の方法も用いられても良い。
【００７８】
１００４:データが現在の第２のストライプへのライトに成功しない場合、第１のディスクグループの状態を知るためにスキャンする。ここで、第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、及び劣化状態のうちの１つである。
【００７９】
ＲＡＩＤへのデータのライトに成功するために、本実施形態で提供される方法では、データが現在の第２のストライプへのライトに成功しないとき、第１のディスクグループの状態を知るために、スキャンが実行される。留意すべきことに、データが現在の第２のストライプへのライトに成功しないケースに加えて、第１のディスクグループの状態を知るためのスキャンは、定期的にトリガされても良い。第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、劣化状態のうちの１つである。リードオンリー状態では、データリード動作のみが許され、データライト動作は、第１のディスクグループの中の全ての第１のディスクについて許されない。通常リード／ライト状態では、データリード動作及びデータライト動作の両方は、第１のディスクグループの全ての第１のディスクについて許される。劣化状態では、データリード動作及びデータライト動作の両方は、第１のディスクグループの全ての第１のディスクについて許され、少なくとも１つの第１のディスクが故障状態である。劣化状態は、リードオンリー状態と通常リード／ライト状態との間である。異なるＲＡＩＤでは、第１のディスクグループの状態は、第１のディスクの異なる状態に対応する。
【００８０】
理解を容易にするために、ＲＡＩＤ５は、説明のための例として用いられる。第１のディスクグループの１より多い第１のディスクが故障状態である場合、第１のディスクグループの、スキャンにより分かった状態は、リードオンリー状態である。第１のディスクグループの中のどの第１のディスクも故障状態でない場合、第１のディスクグループの、スキャンにより分かった状態は、通常リード／ライト状態である。第１のディスクグループの中の１つの第１のディスクが故障状態である場合、第１のディスクグループの、スキャンにより分かった状態は、劣化状態である。
【００８１】
１００５:第１のディスクグループがリードオンリー状態である場合、全てのデータがライトされるまで、第２のディスクグループの中の対応するストライプにデータをライトし続ける。
【００８２】
第１のディスクグループがリードオンリー状態である場合、データは、第１のディスクグループからリードのみできるが、第１のディスクグループのストライプにライトできない。ＲＡＩＤにデータをライトし続けることができるために、データライトは、全てのデータがライトされるまで、第２のディスクグループの対応するストライプに進む。
【００８３】
望ましくは、第１のディスクグループの通常リード／ライト状態を復旧するために、本実施形態で提供される方法は、限定ではないが、以下を更に有する。第１のディスクグループの故障状態にある第１のディスクを表示する。第１のディスクを表示する方法は、本実施形態では特に限定されない。理解を容易にするために、図１１に示すディスプレイインタフェースは説明のための例として用いられる。第１のディスクグループの全ての第１のディスクに対応する識別子は、実際に第１のディスクに対応するスロット位置に従い表示され、それぞれＤ１〜Ｄ８である。ディスクＤ４及びディスクＤ７の位置は、マークされ、ディスクＤ４及びディスクＤ７が故障状態であることを示す。
【００８４】
故障状態にある第１のディスクの位置は、マークされており、第１のディスクの手動交換を助ける。第１のディスクが交換されるか否かを調べるために、本実施形態で提供される方法は、限定ではないが、以下を有する。第１のディスクグループの各々のディスクの状態が変化したか否かを調べる。ここで、ディスクの状態は、新しいディスク状態、通常状態、及び故障状態のうちの１つである。第１のディスクグループの第１のディスクが故障状態から新しいディスク状態に変化する場合、第１のディスクをフォーマットし、フォーマットした第１のディスクをストライプに分割し、分割により得られた各々のストライプの状態を非ライト状態に設定する。
【００８５】
さらに、第１のディスクグループの各々のディスクの状態が変化したか否かを調べた後に、本実施形態で提供される方法は、限定ではないが、以下を更に有する。
第１のディスクグループが現在リードオンリー状態であるか否かを調べる。ここで、リードオンリー状態は、第１のディスクグループの少なくとも２つのディスクが故障状態であることを示す。第１のディスクグループが現在非リードオンリー状態である場合、（２）を実行する。第１のディスクグループが現在リードオンリー状態である場合、（４）を実行する。
第１のディスクグループの最終検出状態がリードオンリー状態であるか否かを決定する。
第１のディスクグループの最終検出状態がリードオンリー状態である場合、第１のディスクグループの状態を非リードオンリー状態に設定する。ここで、非リードオンリー状態は、劣化状態、及び通常リード／ライト状態を含む。
第１のディスクグループの最終検出状態が非リードオンリー状態であるか否かを決定する。
第１のディスクグループの最終検出状態が非リードオンリー状態である場合、第１のディスクグループの状態をリードオンリー状態に設定する。
【００８６】
さらに、ディスクグループの故障条件を可能な限り回避するために、第１のディスクグループの状態がスキャンにより分かった後、第１のディスクグループの状態が劣化状態である場合、アラームが応答で送信される。第１のディスクグループの状態が劣化状態であるとき、第１のディスクグループの１つの第１のディスクは、故障状態である。応答で送信されるアラームは、手動ディスク交換のリマインダであり得る。アラームを送信する方法は、本実施形態では特に限定されない。特定の実装では、アラーム情報を送信する方法が、応答でアラームを送信するために用いられても良い。さらに、ディスクの位置情報は、さらに、ディスク交換を助けるために、アラーム情報の中で運ばれても良い。
【００８７】
留意すべきことに、本発明の本実施形態で提供されるデータアクセス方法は、ソフトウェアにより実装されても良く、又はハードウェアにより実装されても良い。詳細には、前述の実施形態２のソフトウェア実装及びハードウェア実装の特定の記載及び内容が参照でき、詳細はここで再掲されない。
【００８８】
本発明の本実施形態で提供される方法では、データが現在の第２のストライプへのライトに成功しないとき、スキャンにより、第１のディスクグループがリードオンリー状態であることが分かり、データライトは、全てのデータがライトされるまで、第２のディスクグループの対応するストライプに進み、それにより、ディスクグループを再構築することなく、データライトを実施する。これは、アクセス中断時間を短縮し、第三者が関与しないのでデータ機密性を保証する。
【００８９】
＜実施形態４＞
図１２を参照すると、本発明の一実施形態は、データアクセス装置を提供する。装置はＲＡＩＤに適用される。ＲＡＩＤは、少なくとも第１のディスクグループを有し、第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割される。装置は、以下を含む。
第１のディスクグループに対するデータリード要求を取得するよう構成される第１の取得モジュール１２０１。ここで、データリード要求は、リードアドレスを有する。
リードアドレスに従い、第１のディスクグループの第１のストライプ位置範囲を決定するよう構成される第１の決定モジュール１２０２。ここで、少なくとも１つの第１のストライプは、第１のストライプ位置範囲に含まれる。
第１のストライプ位置範囲の中の少なくとも１つの第１のストライプからデータを順次リードするよう構成されるリードモジュール１２０３。
データが現在の第１のストライプからのリードに成功しない場合、現在の第１のストライプについてのデータリード結果を、プリセットパディングデータに設定し、全ての少なくとも１つの第１のストライプからデータがリードされるまで、次の第１のストライプからデータをリードし続けるよう構成される、第１の設定モジュール１２０４。
各々の第１のストライプのデータリード結果を返すよう構成される返還モジュール１２０５。
【００９０】
望ましくは、ＲＡＩＤは、第２のディスクグループを更に有し、装置は、更に以下を有する。
第１のディスクグループに対するデータライト要求を取得し、データライト要求は、リードアドレスを有する、よう構成される第２の取得モジュール。
ライトアドレスに従い、第１のディスクグループの第２のストライプ位置範囲を決定し、少なくとも１つの第２のストライプは、第２のストライプ位置範囲に含まれる、よう構成される第２の決定モジュール。
第２のストライプ位置範囲の中の少なくとも１つの第２のストライプにデータを順次ライトするよう構成される第１のライトモジュール。
データが現在の第２のストライプへのライトに成功しないとき、第１のディスクグループの状態を知るためにスキャンし、第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、及び劣化状態のうちの１つである、よう構成されるスキャンモジュール。
第１のディスクグループがリードオンリー状態である場合、全てのデータがライトされるまで、第２のディスクグループの中の対応するストライプにデータをライトし続けるよう構成される第２のライトモジュール。
【００９１】
望ましくは、装置は、以下を更に含む。
第１のディスクグループが劣化状態である場合、応答でアラームを送信するよう構成される応答モジュール。
【００９２】
望ましくは、装置は、以下を更に含む。
第１のディスクグループの中の各々のディスクの状態が変化したか否かを調べ、ディスクの状態は、新しいディスク状態、通常状態、及び故障状態の内の１つである、よう構成される第１のチェックモジュール。
第１のディスクグループの第１のディスクが故障状態から新しいディスク状態に変化するとき、第１のディスクをフォーマットするよう構成されるフォーマットモジュール。
フォーマットされた第１のディスクをストライプに分割するよう構成される分割モジュール。
分割により得られる各々のストライプの状態を非ライト状態に設定するよう構成される第２の設定モジュール。
【００９３】
望ましくは、第１の設定モジュール１２０４は、非ライト状態のストライプからのデータリードの間に、非ライト状態のストライプのデータリード結果を、プリセットパディングデータに設定するよう更に構成される。
【００９４】
望ましくは、装置は、以下を更に含む。
第１のディスクグループが現在リードオンリー状態であるか否かを調べ、リードオンリー状態は、第１のディスクグループの中の少なくとも２つのディスクが故障状態であることを示す、よう構成される第２のチェックモジュール。
第１のディスクグループが現在、非リードオンリー状態であるとき、第１のディスクグループの最終検出状態がリードオンリー状態であるか否かを決定する、よう構成される第３の決定モジュール。
第１のディスクグループの最終検出状態がリードオンリー状態であるとき、第１のディスクグループの状態を非リードオンリー状態に設定し、非リードオンリー状態は、劣化状態、及び通常リード／ライト状態を含む、よう構成される第３の設定モジュール。
【００９５】
望ましくは、装置は、以下を更に含む。
第１のディスクグループが現在、リードオンリー状態であるとき、第１のディスクグループの最終検出状態が非リードオンリー状態であるか否かを決定する、よう構成される第４の決定モジュール。
第１のディスクグループの最終検出状態が非リードオンリー状態であるとき、第１のディスクグループの状態をリードオンリー状態に設定するよう構成される第４の設定モジュール。
【００９６】
本実施形態で提供される装置では、データは、第１のディスクグループの第１のストライプ位置範囲で順次リードされ、第１のストライプ位置範囲は、第１のディスクグループに対して取得されたデータリード要求で運ばれるリードアドレスに従い決定され、データがリードに成功しない第１のストライプのデータリード結果は、プリセットパディングデータに設定され、データリードは、データが全ての第１のストライプからリードされるまで、次の第１のストライプに進み、各々の第１のストライプのデータリード結果が返され、データ損失を低減し、データがリードに成功しないときアクセス中断時間を短縮し、第三者が関与しないのでデータ機密性を保証する。
【００９７】
＜実施形態５＞
本発明の実施形態は、データアクセス端末を提供する。端末はＲＡＩＤに適用される。ＲＡＩＤは、少なくとも第１のディスクグループを有し、第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割される。端末は、プロセッサ、送信機、及び受信機を有する。
【００９８】
受信機は、第１のディスクグループに対するデータリード要求を取得するよう構成される。ここで、データリード要求は、リードアドレスを有する。
【００９９】
プロセッサは、リードアドレスに従い、第１のディスクグループの第１のストライプ位置範囲を決定する。ここで、少なくとも１つの第１のストライプは、第１のストライプ位置範囲に含まれる。
【０１００】
プロセッサは、第１のストライプ位置範囲の中の少なくとも１つの第１のストライプからデータを順次リードするよう更に構成される。
【０１０１】
プロセッサは、データが現在の第１のストライプからのリードに成功しないとき、現在の第１のストライプについてのデータリード結果を、プリセットパディングデータに設定し、全ての少なくとも１つの第１のストライプからデータがリードされるまで、次の第１のストライプからデータをリードし続けるよう構成される。
【０１０２】
送信機は、各々の第１のストライプのデータリード結果を返すよう構成される。
【０１０３】
任意的な実施形態では、プロセッサは、第１のディスクグループの中の各々のディスクの状態が変化したか否かを調べ、ディスクの状態は、新しいディスク状態、通常状態、及び故障状態の内の１つである、よう更に構成される。
【０１０４】
プロセッサは、第１のディスクグループの中の第１のディスクが故障状態から新しいディスク状態に変化するとき、第１のディスクをフォーマットし、フォーマットした第１のディスクをストライプに分割し、分割により得られた各々のストライプの状態を非ライト状態に設定するよう更に構成される。
【０１０５】
任意的な実施形態では、プロセッサは、非ライト状態のストライプからのデータリードの間に、非ライト状態のストライプのデータリード結果を、プリセットパディングデータに設定するよう更に構成される。
【０１０６】
任意的な実施形態では、プロセッサは、第１のディスクグループが現在リードオンリー状態であるか否かを調べ、リードオンリー状態は、第１のディスクグループの中の少なくとも２つのディスクが故障状態であることを示す、よう更に構成される。
【０１０７】
プロセッサは、第１のディスクグループが現在、非リードオンリー状態であるとき、第１のディスクグループの最終検出状態がリードオンリー状態であるか否かを決定する、よう更に構成される。
【０１０８】
プロセッサは、第１のディスクグループの最終検出状態がリードオンリー状態であるとき、第１のディスクグループの状態を非リードオンリー状態に設定し、非リードオンリー状態は、劣化状態、及び通常リード／ライト状態を含む、よう更に構成される。
【０１０９】
任意的な実施形態では、プロセッサは、第１のディスクグループが現在、リードオンリー状態であるとき、第１のディスクグループの最終検出状態が非リードオンリー状態であるか否かを決定する、よう更に構成される。
【０１１０】
プロセッサは、第１のディスクグループの最終検出状態が非リードオンリー状態であるとき、第１のディスクグループの状態をリードオンリー状態に設定するよう更に構成される。
【０１１１】
本実施形態で提供される端末では、データは、第１のディスクグループの第１のストライプ位置範囲で順次リードされ、第１のストライプ位置範囲は、第１のディスクグループに対して取得されたデータリード要求で運ばれるリードアドレスに従い決定され、データがリードに成功しない第１のストライプのデータリード結果は、プリセットパディングデータに設定され、データリードは、データが全ての第１のストライプからリードされるまで、次の第１のストライプに進み、各々の第１のストライプのデータリード結果が返され、データ損失を低減し、データがリードに成功しないときアクセス中断時間を短縮し、第三者が関与しないのでデータ機密性を保証する。
【０１１２】
＜実施形態６＞
本発明の実施形態は、データアクセス端末を提供する。端末はＲＡＩＤに適用される。ＲＡＩＤは、少なくとも第１のディスクグループを有し、第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割される。端末は、プロセッサ、及び受信機を有する。
【０１１３】
受信機は、第１のディスクグループに対するデータライト要求を取得するよう構成される。ここで、データライト要求は、ライトアドレスを有する。
【０１１４】
プロセッサは、リードアドレスに従い、第１のディスクグループの第２のストライプ位置範囲を決定する。ここで、少なくとも１つの第２のストライプは、第２のストライプ位置範囲に含まれる。
【０１１５】
プロセッサは、第２のストライプ位置範囲の中の少なくとも１つの第２のストライプにデータを順次ライトするよう更に構成される。
【０１１６】
プロセッサは、データが現在の第２のストライプへのライトに成功しないとき、第１のディスクグループの状態を知るためにスキャンし、第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、及び劣化状態のうちの１つである、よう更に構成される。
【０１１７】
プロセッサは、第１のディスクグループがリードオンリー状態であるとき、全てのデータがライトされるまで、第２のディスクグループの中の対応するストライプにデータをライトし続けるよう更に構成される。
【０１１８】
任意的な実施形態では、プロセッサは、第１のディスクグループが劣化状態であるとき、応答でアラームを送信するよう更に構成される。
【０１１９】
任意的な実施形態では、プロセッサは、第１のディスクグループの中の各々のディスクの状態が変化したか否かを調べ、ディスクの状態は、新しいディスク状態、通常状態、及び故障状態の内の１つである、よう更に構成される。
【０１２０】
プロセッサは、第１のディスクグループの中の第１のディスクが故障状態から新しいディスク状態に変化するとき、第１のディスクをフォーマットし、フォーマットした第１のディスクをストライプに分割し、分割により得られた各々のストライプの状態を非ライト状態に設定するよう更に構成される。
【０１２１】
任意的な実施形態では、プロセッサは、第１のディスクグループが現在リードオンリー状態であるか否かを調べ、リードオンリー状態は、第１のディスクグループの中の少なくとも２つのディスクが故障状態であることを示す、よう更に構成される。
【０１２２】
プロセッサは、第１のディスクグループが現在、非リードオンリー状態であるとき、第１のディスクグループの最終検出状態がリードオンリー状態であるか否かを決定する、よう更に構成される。
【０１２３】
プロセッサは、第１のディスクグループの最終検出状態がリードオンリー状態であるとき、第１のディスクグループの状態を非リードオンリー状態に設定し、非リードオンリー状態は、劣化状態、及び通常リード／ライト状態を含む、よう更に構成される。
【０１２４】
任意的な実施形態では、プロセッサは、第１のディスクグループが現在、リードオンリー状態であるとき、第１のディスクグループの最終検出状態が非リードオンリー状態であるか否かを決定する、よう更に構成される。
【０１２５】
プロセッサは、第１のディスクグループの最終検出状態が非リードオンリー状態であるとき、第１のディスクグループの状態をリードオンリー状態に設定するよう更に構成される。
【０１２６】
本発明の本実施形態で提供される端末によると、データが現在の第２のストライプへのライトに成功しないとき、スキャンにより、第１のディスクグループがリードオンリー状態であることが分かり、データライトは、全てのデータがライトされるまで、第２のディスクグループの対応するストライプに進み、それにより、ディスクグループを再構築することなく、データライトを実施する。これは、アクセス中断時間を短縮し、第三者が関与しないのでデータ機密性を保証する。
【０１２７】
留意すべきことに、前述の実施形態により提供されるデータアクセス装置は、データアクセスのために用いられ、前述の機能モジュールの分割は、単に例として用いられる。実際の用途では、前述の機能は、異なる機能モジュールに割り当てられ及び要件に従って実装されても良い。つまり、装置の内部構造は、前述の機能の全部又は一部を実施するために異なる機能モジュールに分割される。さらに、前述の実施形態で提供されるデータアクセス装置は、データアクセス方法の実施形態と同じ発想に属する。その特定の実装プロセスについては、方法の実施形態が参照され、詳細はここで再掲されない。
【０１２８】
本発明の前述の実施形態のシーケンス番号は、単に説明を目的としており、実施形態の優先度を示すことを意図しない。
【０１２９】
当業者は、実施形態のステップの全部又は一部が、ハードウェア又は関連するハードウェアに指示するプログラムにより実装されても良いことを理解する。プログラムは、コンピュータ可読記憶媒体に格納されても良い。記憶媒体は、リードオンリーメモリ、磁気ディスク、光ディスク、等であっても良い。
【０１３０】
上述の説明は、本発明の単なる例示的な実施形態であり、本発明を制限することを意図しない。本発明の精神及び原理から逸脱することなく行われる変更、等価置換、及び改良は、本発明の保護範囲に含まれるべきである。
【図１】
2017502424.tif 000004
【図２】
2017502424.tif 000005
【図３】
2017502424.tif 000006
【図４】
2017502424.tif 000007
【図５】
2017502424.tif 000008
【図６】
2017502424.tif 000009
【図７】
2017502424.tif 000010
【図８】
2017502424.tif 000011
【図９】
2017502424.tif 000012
【図１０】
2017502424.tif 000013
【図１１】
2017502424.tif 000014
【図１２】
2017502424.tif 000015
【手続補正書】
【提出日】平成28年7月22日(2016.7.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データアクセス方法であって、前記方法は、ＲＡＩＤ（redundant  array  of  independent  disks）に適用され、前記ＲＡＩＤは、少なくとも１つの第１のディスクグループを有し、前記第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割され、前記方法は、
前記第１のディスクグループに対するデータリード要求を取得するステップであって、前記データリード要求はリードアドレスを運ぶ、ステップと、
前記リードアドレスに従い前記第１のディスクグループの第１のストライプ位置範囲を決定するステップであって、少なくとも１つの第１のストライプは、前記第１のストライプ位置範囲に含まれる、ステップと、
前記第１のストライプ位置範囲の中の前記少なくとも１つの第１のストライプから、データを順次リードするステップと、
データが現在の第１のストライプからのリードに成功しない場合、前記現在の第１のストライプのデータリード結果を第１のプリセットパディングデータに設定し、全ての前記少なくとも１つの第１のストライプからデータがリードされるまで、次の第１のストライプからデータをリードし続けるステップと、
各々の第１のストライプのデータリード結果を返すステップと、
を有する方法。
【請求項２】
前記ＲＡＩＤは、第２のディスクグループを更に有し、前記方法は、
前記第１のディスクグループに対するデータライト要求を取得するステップであって、前記データライト要求は、ライトアドレスを運ぶ、ステップと、
前記ライトアドレスに従い前記第１のディスクグループの第２のストライプ位置範囲を決定するステップであって、少なくとも１つの第２のストライプは、前記第２のストライプ位置範囲に含まれる、ステップと、
前記第２のストライプ位置範囲の中の前記少なくとも１つの第２のストライプにデータを順次ライトするステップと、
データが現在の第２のストライプへのライトに成功しない場合、前記第１のディスクグループの状態を知るためにスキャンするステップであって、前記第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、及び劣化状態のうちの１つである、ステップと、
前記第１のディスクグループが前記リードオンリー状態である場合、全てのデータがライトされるまで、前記第２のディスクグループの対応するストライプにデータをライトし続けるステップと、
を更に有する請求項１に記載の方法。
【請求項３】
前記第１のディスクグループの状態を知るためにスキャンするステップの後に、
前記第１のディスクグループが前記劣化状態である場合、応答でアラームを送信するステップ、
を更に有する請求項２に記載の方法。
【請求項４】
前記方法は、
前記第１のディスクグループの各々のディスクの状態が変化したか否かを調べるステップであって、前記ディスクの状態は、新しいディスク状態、通常状態、及び故障状態のうちの１つである、ステップと、
前記第１のディスクグループの第１のディスクが前記故障状態から前記新しいディスク状態に変化する場合、前記第１のディスクをフォーマットし、前記フォーマットした第１のディスクをストライプに分割し、分割により得られた各々のストライプの状態を非ライト状態に設定するステップと、
を更に有する請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
分割により得られた各々のストライプの状態を非ライト状態に設定するステップの後に、
前記非ライト状態のストライプからのデータリードの間に、前記非ライト状態のストライプのデータリード結果を第２のプリセットパディングデータに設定するステップ、
を更に有する請求項４に記載の方法。
【請求項６】
前記方法は、
前記第１のディスクグループが現在、リードオンリー状態であるか否かを調べるステップであって、前記リードオンリー状態は、前記第１のディスクグループの少なくとも２つのディスクが故障状態であることを示す、ステップと、
前記第１のディスクグループが現在、非リードオンリー状態である場合、前記第１のディスクグループの最終検出状態が前記リードオンリー状態であるか否かを決定するステップと、
前記第１のディスクグループの最終検出状態が前記リードオンリー状態である場合、前記第１のディスクグループの状態を前記非リードオンリー状態に設定するステップであって、前記非リードオンリー状態は、劣化状態と、通常リード／ライト状態と、を有する、ステップと、
を更に有する請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記第１のディスクグループが現在リードオンリー状態であるか否かを調べるステップの後に、
前記第１のディスクグループが現在、前記リードオンリー状態である場合、前記第１のディスクグループの最終検出状態が前記非リードオンリー状態であるか否かを決定するステップと、
前記第１のディスクグループの最終検出状態が前記非リードオンリー状態である場合、前記第１のディスクグループの状態を前記リードオンリー状態に設定するステップと、
を更に有する請求項６に記載の方法。
【請求項８】
データアクセス装置であって、前記装置は、ＲＡＩＤ（redundant  array  of  independent  disks）に適用され、前記ＲＡＩＤは、少なくとも１つの第１のディスクグループを有し、前記第１のディスクグループは、少なくとも１つのディスクを有し、各々のディスクは、予め少なくとも１つのストライプに分割され、前記装置は、
前記第１のディスクグループに対するデータリード要求を取得するよう構成される第１の取得モジュールであって、前記データリード要求はリードアドレスを運ぶ、第１の取得モジュールと、
前記リードアドレスに従い前記第１のディスクグループの第１のストライプ位置範囲を決定するよう構成される第１の決定モジュールであって、少なくとも１つの第１のストライプは、前記第１のストライプ位置範囲に含まれる、第１の決定モジュールと、
前記第１のストライプ位置範囲の中の前記少なくとも１つの第１のストライプから、データを順次リードするよう構成されるリードモジュールと、
データが現在の第１のストライプからのリードに成功しないとき、前記現在の第１のストライプのデータリード結果を第１のプリセットパディングデータに設定し、全ての前記少なくとも１つの第１のストライプからデータがリードされるまで、次の第１のストライプからデータをリードし続けるよう構成される第１の設定モジュールと、
各々の第１のストライプのデータリード結果を返すよう構成される返還モジュールと、
を有する装置。
【請求項９】
前記ＲＡＩＤは、第２のディスクグループを更に有し、前記装置は、
前記第１のディスクグループに対するデータライト要求を取得するよう構成される第２の取得モジュールであって、前記データライト要求は、ライトアドレスを運ぶ、第２の取得モジュールと、
前記ライトアドレスに従い前記第１のディスクグループの第２のストライプ位置範囲を決定するよう構成される第２の決定モジュールであって、少なくとも１つの第２のストライプは、前記第２のストライプ位置範囲に含まれる、第２の決定モジュールと、
前記第２のストライプ位置範囲の中の前記少なくとも１つの第２のストライプにデータを順次ライトするよう構成される第１のライトモジュールと、
データが現在の第２のストライプへのライトに成功しないとき、前記第１のディスクグループの状態を知るためにスキャンするよう構成されるスキャンモジュールであって、前記第１のディスクグループの状態は、リードオンリー状態、通常リード／ライト状態、及び劣化状態のうちの１つである、スキャンモジュールと、
前記第１のディスクグループが前記リードオンリー状態であるとき、全てのデータがライトされるまで、前記第２のディスクグループの対応するストライプにデータをライトし続けるよう構成される第２のライトモジュールと、
を更に有する請求項８に記載の装置。
【請求項１０】
前記装置は、
前記第１のディスクグループが前記劣化状態であるとき、応答でアラームを送信するよう構成される応答モジュール、
を更に有する請求項９に記載の装置。
【請求項１１】
前記装置は、
前記第１のディスクグループの各々のディスクの状態が変化したか否かを調べるよう構成される第１のチェックモジュールであって、前記ディスクの状態は、新しいディスク状態、通常状態、及び故障状態のうちの１つである、第１のチェックモジュールと、
前記第１のディスクグループの第１のディスクが前記故障状態から前記新しいディスク状態に変化するとき、前記第１のディスクをフォーマットするよう構成されるフォーマットモジュールと、
前記フォーマットした第１のディスクをストライプに分割するよう構成される分割モジュールと、
分割により得られた各々のストライプの状態を非ライト状態に設定するよう構成される第２の設定モジュールと、
を更に有する請求項８乃至１０のいずれか一項に記載の装置。
【請求項１２】
前記第１の設定モジュールは、前記非ライト状態のストライプからのデータリードの間に、前記非ライト状態のストライプのデータリード結果を、第２のプリセットパディングデータに設定するよう更に構成される、請求項１１に記載の装置。
【請求項１３】
前記装置は、
前記第１のディスクグループが現在、リードオンリー状態であるか否かを調べるよう構成される第２のチェックモジュールであって、前記リードオンリー状態は、前記第１のディスクグループの少なくとも２つのディスクが故障状態であることを示す、第２のチェックモジュールと、
前記第１のディスクグループが現在、非リードオンリー状態であるとき、前記第１のディスクグループの最終検出状態が前記リードオンリー状態であるか否かを決定するよう構成される第３の決定モジュールと、
前記第１のディスクグループの最終検出状態が前記リードオンリー状態であるとき、前記第１のディスクグループの状態を前記非リードオンリー状態に設定するよう構成される第３の設定モジュールであって、前記非リードオンリー状態は、劣化状態と、通常リード／ライト状態と、を有する、第３の設定モジュールと、
を更に有する請求項８乃至１２のいずれか一項に記載の装置。
【請求項１４】
前記装置は、
前記第１のディスクグループが現在、前記リードオンリー状態であるとき、前記第１のディスクグループの最終検出状態が前記非リードオンリー状態であるか否かを決定するよう構成される第４の決定モジュールと、
前記第１のディスクグループの最終検出状態が前記非リードオンリー状態であるとき、前記第１のディスクグループの状態を前記リードオンリー状態に設定するよう構成される第４の設定モジュールと、
を更に有する請求項１３に記載の装置。
【請求項１５】
記録されたプログラムを有するコンピュータ可読記憶媒体であって、前記プログラムは、コンピュータに請求項１乃至７のいずれか一項に記載の方法を実行させる、コンピュータ可読記憶媒体。
【国際調査報告】
2017502424.tif 000016
2017502424.tif 000017
2017502424.tif 000018
2017502424.tif 000019