(57)【特許請求の範囲】
【請求項１】
ストレージとマネージャとを備え、
前記ストレージが、複数の物理ブロックを含み、
前記マネージャが、データ書き込み要求を受信し、前記データ書き込み要求に含まれる書き込み対象データページのデータカテゴリを判定し、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定し、データ書き込み命令を前記ストレージへ送信するように構成され、各指定された論理ブロックは、同一データカテゴリの書き込み対象データページに対応し、前記データ書き込み命令は、少なくとも１つの指定された論理ブロックに対応する書き込み対象データページを運び、
前記ストレージが、前記データ書き込み命令を受信し、前記データ書き込み命令にしたがって、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを、前記少なくとも１つの論理ブロックに対応する物理ブロックに書き込むように構成され、同じ論理ブロックに対応する書き込み対象データページは、少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページは、同じ論理ブロックに対応している、
ストレージシステム。
【請求項２】
物理ブロックと論理ブロックとの間の対応関係がさらに前記ストレージ内にあらかじめ設定され、各物理ブロックは１つの論理ブロックに対応し、各論理ブロックは少なくとも１つの物理ブロックに対応し、
前記マネージャが、前記少なくとも１つの論理ブロックに関する情報を前記データ書き込み命令に加えるようにさらに構成され、
前記データ書き込み命令を受信した後で、前記ストレージが、前記少なくとも１つの論理ブロックに関する前記情報にしたがって、物理ブロックと論理ブロックとの間の前記対応関係をクエリし、前記少なくとも１つの論理ブロックに対応する物理ブロックを判定し、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを、前記少なくとも１つの論理ブロックに対応する前記物理ブロックに書き込むように特に構成されている、請求項１に記載のストレージシステム。
【請求項３】
前記ストレージシステムが少なくとも１つのキャッシュをさらに備え、各キャッシュの容量が各論理ブロックの容量以下であり、
前記データ書き込み要求を受信した後で、前記マネージャが、異なるデータカテゴリの前記書き込み対象データページを異なるキャッシュに書き込み、同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して少なくとも１つの論理ブロックを指定するように特に構成され、各キャッシュに書き込まれた書き込み対象データページは同一データカテゴリのものであり、前記データ書き込み命令は前記少なくとも１つの論理ブロックに関する情報と、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページとをさらに運び、
前記データ書き込み命令を受信した後で、前記ストレージが、前記書き込み対象データページを書き込む前に、前記データ書き込み命令にしたがって、物理ブロックを前記少なくとも１つの論理ブロックに割り当てるようにさらに構成され、前記少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックは、前記ストレージ内のアイドル物理ブロックであり、前記アイドル物理ブロックは、割り当てられた後は非アイドルとしてマークされ、前記少なくとも１つの論理ブロックの各論理ブロックに割り当てられた前記物理ブロックの総容量は、前記少なくとも１つの論理ブロックにおける各論理ブロックの容量以上である、請求項１に記載のストレージシステム。
【請求項４】
前記ストレージが、前記少なくとも１つの論理ブロックに関しかつ前記データ書き込み命令内にある情報、および前記少なくとも１つの論理ブロックに割り当てられた前記物理ブロックに関する情報にしたがって、物理ブロックと論理ブロックとの間の対応関係を記録するようにさらに構成されている、請求項３に記載のストレージシステム。
【請求項５】
前記マネージャが、前記少なくとも１つの論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを前記少なくとも１つの論理ブロック内に記録するようにさらに構成されている、請求項２または４に記載のストレージシステム。
【請求項６】
前記マネージャが、各論理ブロックに対応するデータページにしたがって消去対象論理ブロックを判定し、消去命令を前記ストレージに送信するようにさらに構成され、前記消去命令は、前記消去対象論理ブロックに関する情報を運び、
前記ストレージが、前記消去命令を受信し、前記消去対象論理ブロックに関しかつ前記消去命令内にある前記情報、および物理ブロックと論理ブロックとの間の前記対応関係にしたがって、消去対象物理ブロックを判定し、前記消去対象物理ブロックを消去するようにさらに構成されている、請求項５に記載のストレージシステム。
【請求項７】
前記データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、前記マネージャは、格納されたデータページが更新される必要があると判断される場合に、前記格納されたデータページの論理ブロックアドレスであり、かつ前記格納されたデータページに対応する論理ブロック内に記録された論理ブロックアドレスを無効化するようにさらに構成され、
前記マネージャが各論理ブロックに対応するデータページにしたがって消去対象論理ブロックを判定するように構成されていることは、データカテゴリが前記ホットデータである論理ブロックを選択することを特に含む、請求項６に記載のストレージシステム。
【請求項８】
前記マネージャは、格納されたデータページが更新される必要があると判断される場合に、前記格納されたデータページの論理ブロックアドレスであり、かつ前記格納されたデータページに対応する論理ブロック内に記録された論理ブロックアドレスを無効化するようにさらに構成され、
前記マネージャが各論理ブロックに対応するデータページにしたがって消去対象論理ブロックを判定するように構成されていることは、大量の無効な論理ブロックアドレスを有する論理ブロックを前記消去対象論理ブロックとして選択することを特に含む、請求項６に記載のストレージシステム。
【請求項９】
前記データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、前記マネージャが各論理ブロックに対応するデータページにしたがって消去対象論理ブロックを判定するように構成されていることは、データカテゴリがコールドデータである論理ブロックを前記消去対象論理ブロックとして選択することを特に含み、
前記マネージャが、ガベージコレクション禁止指示を前記消去命令に加えるようにさらに構成されている、請求項６に記載のストレージシステム。
【請求項１０】
前記マネージャが前記消去命令を前記ストレージに送信する前に、前記マネージャが、あらかじめ設定されたマイグレーションポリシにしたがって前記消去対象論理ブロック内のマイグレーション対象データページを判定し、データマイグレーション命令を前記ストレージに送信するようにさらに構成され、前記データマイグレーション命令は前記マイグレーション対象データページに関する情報を運び、
前記ストレージが、前記データマイグレーション命令にしたがって前記ストレージ内の前記マイグレーション対象データページを移動するようにさらに構成されている、請求項６ないし９のいずれか一項に記載のストレージシステム。
【請求項１１】
前記マネージャがあらかじめ設定されたマイグレーションポリシにしたがって前記消去対象論理ブロック内のマイグレーション対象データページを判定するようにさらに構成されていることは、前記消去対象論理ブロック内のデータページを前記マイグレーション対象データページとして判定することを特に含み、前記マイグレーション対象データページの現在のデータカテゴリはホットデータであり、前記マイグレーション対象データページの論理ブロックアドレスは有効である、請求項１０に記載のストレージシステム。
【請求項１２】
ストレージを含むストレージシステムに適用されるストレージ管理装置であって、前記ストレージが複数の物理ブロックを含み、前記ストレージ管理装置が、
データ書き込み要求を受信し、前記データ書き込み要求に含まれる書き込み対象データページのデータカテゴリを判定するように構成された分類モジュールと、
前記分類モジュールの分類結果にしたがって、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定するように構成された論理ブロック管理モジュールであって、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応している、論理ブロック管理モジュールと、
前記論理ブロック管理モジュールによって前記書き込み対象データページに対して指定された前記論理ブロックにしたがって、データ書き込み命令を前記ストレージへ送信するように構成された書き込み命令モジュールであって、前記データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、前記データ書き込み命令は、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記少なくとも１つの論理ブロックに対応する物理ブロックに書き込むように前記ストレージに指示するのに用いられ、同じ論理ブロックに対応する書き込み対象データページが少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページが、同じ論理ブロックに対応している、
ストレージ管理装置。
【請求項１３】
前記データ書き込み命令が、前記少なくとも１つの論理ブロックに関する情報をさらに運び、
前記データ書き込み命令が、前記少なくとも１つの論理ブロックに関する前記情報にしたがって、前記ストレージにあらかじめ設定された物理ブロックと論理ブロックとの間の対応関係ストレージをクエリして前記少なくとも１つの論理ブロックに対応する物理ブロックを判定し、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記少なくとも１つの論理ブロックに対応する前記物理ブロックに書き込むように前記ストレージに指示するのに特に用いられる、請求項１２に記載のストレージ管理装置。
【請求項１４】
前記ストレージ管理装置が、
前記分類モジュールの前記分類結果にしたがって、異なるデータカテゴリの前記書き込み対象データページを異なるキャッシュに書き込むように構成されたキャッシュ書き込みモジュールをさらに備え、同一データカテゴリの前記書き込み対象データページが同じキャッシュに書き込まれ、各キャッシュの容量が各論理ブロックの容量以下であり、
前記論理ブロック管理モジュールが、同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して１つの論理ブロックを指定するように構成され、前記データ書き込み命令は、前記少なくとも１つの論理ブロックに関する情報をさらに運び、前記データ書き込み命令が、前記書き込み対象データページを書き込む前に、前記少なくとも１つの論理ブロックに物理ブロックを割り当てるように前記ストレージに指示するのにさらに用いられ、前記少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックは、前記ストレージ内のアイドル物理ブロックであり、前記アイドル物理ブロックは、割り当てられた後は非アイドルとしてマークされ、前記少なくとも１つの論理ブロックの各論理ブロックに割り当てられた前記物理ブロックの総容量は、前記少なくとも１つの論理ブロック内の各論理ブロックの容量以上である、請求項１２に記載のストレージ管理装置。
【請求項１５】
前記論理ブロック管理モジュールが、前記少なくとも１つの論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを、前記少なくとも１つの論理ブロック内に記録し、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページのデータカテゴリを記録するようにさらに構成されている、請求項１３または１４に記載のストレージ管理装置。
【請求項１６】
前記ストレージ管理装置が、各論理ブロックに対応するデータページにしたがって、消去対象論理ブロックを判定し、消去命令を前記ストレージに送信するように構成された消去命令モジュールをさらに備え、前記消去命令は、前記消去対象論理ブロックに関する情報を運び、前記消去命令が、前記消去対象論理ブロックに関しかつ前記消去命令内にある前記情報、および、前記ストレージ内にあらかじめ設定された物理ブロックと論理ブロックとの間の前記ストレージの対応関係にしたがって、消去対象物理ブロックを判定して、前記消去対象物理ブロックを消去するように前記ストレージに指示するのに用いられる、請求項１５に記載のストレージ管理装置。
【請求項１７】
前記データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、前記論理ブロック管理モジュールは、格納されたデータページが更新される必要がある場合に、前記格納されたデータページの論理ブロックアドレスであり、かつ前記格納されたデータページに対応する論理ブロック内に記録された論理ブロックアドレスを無効化するようにさらに構成され、
前記消去命令モジュールが前記消去対象論理ブロックを判定するように構成されていることは、データカテゴリがホットデータである論理ブロック、または大量の無効な論理ブロックアドレスを有する論理ブロックを前記消去対象論理ブロックとして選択することを含む、請求項１６に記載のストレージ管理装置。
【請求項１８】
前記データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、前記消去命令モジュールが消去対象論理ブロックを判定するように構成されていることは、データカテゴリがコールドデータである論理ブロックを前記消去対象論理ブロックとして選択することを特に含み、
前記消去命令モジュールが、ガベージコレクション禁止指示を前記消去命令に加えるようにさらに構成されている、請求項１６に記載のストレージ管理装置。
【請求項１９】
前記ストレージ管理装置が、マイグレーション命令モジュールをさらに備え、前記消去命令モジュールが前記消去命令を前記ストレージに送信する前に、前記マイグレーション命令モジュールは、あらかじめ設定されたマイグレーションポリシにしたがって前記消去対象論理ブロック内のマイグレーション対象データページを判定し、データマイグレーション命令を前記ストレージに送信するように構成され、前記データマイグレーション命令は、前記マイグレーション対象データページに関する情報を運び、前記データマイグレーション命令が、前記マイグレーション対象データページを前記ストレージ内で移動するように前記ストレージに指示するのに用いられる、請求項１６ないし１８のいずれか一項に記載のストレージ管理装置。
【請求項２０】
前記マイグレーション命令モジュールが前記あらかじめ設定されたマイグレーションポリシにしたがって前記消去対象論理ブロック内の前記マイグレーション対象データページを判定することは、前記消去対象論理ブロック内のデータページを前記マイグレーション対象データページとして判定することを特に含み、前記書き込み対象データページの現在のデータカテゴリはホットデータであり、前記書き込み対象データページの論理ブロックアドレスは有効である、請求項１９に記載のストレージ管理装置。
【請求項２１】
データ書き込み命令を受信するように構成された受信モジュールであって、前記データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、前記データ書き込み命令は、マネージャが前記書き込み対象データページのデータカテゴリを判定して、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定した後で、前記マネージャによって送信され、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応している、受信モジュールと、
前記データ書き込み命令にしたがって、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記少なくとも１つの論理ブロックに対応する物理ブロックに書き込むように構成された書き込みモジュールであって、同じ論理ブロックに対応する書き込み対象データページが少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページが同じ論理ブロックに対応している、書き込みモジュールと、
を含む、ストレージ。
【請求項２２】
前記ストレージが、物理ブロックと論理ブロックとの間のあらかじめ設定された対応関係を含み、各物理ブロックは１つの論理ブロックに対応し、各論理ブロックが少なくとも１つの物理ブロックに対応し、
前記受信モジュールによって受信される前記データ書き込み命令が前記少なくとも１つの論理ブロックに関する情報をさらに運び、
前記受信モジュールが前記データ書き込み命令を受信した後で、前記書き込みモジュールが、前記少なくとも１つの論理ブロックに関し、かつ前記データ書き込み命令内にある前記情報にしたがって、物理ブロックと論理ブロックとの間の対応関係をクエリし、前記少なくとも１つの論理ブロックに対応する前記物理ブロックを判定し、前記少なくとも１つの論理ブロックにしたがって、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記物理ブロックに書き込むように特に構成されている、請求項２１に記載のストレージ。
【請求項２３】
前記マネージャが異なるデータカテゴリの前記書き込み対象データページを異なるキャッシュ内に書き込み、同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して、少なくとも１つの論理ブロックを指定した後で、前記データ書き込み命令が前記マネージャによって送信され、各キャッシュに書き込まれた前記書き込み対象データページは同一データカテゴリのものであり、
前記受信モジュールが、前記データ書き込み命令を受信した後で、前記書き込みモジュールは、前記データ書き込み命令にしたがって、物理ブロックを前記少なくとも１つの論理ブロックに割り当て、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記割り当てられた物理ブロックに書き込むように特に構成され、前記少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックは、前記ストレージ内のアイドル物理ブロックであり、前記アイドル物理ブロックが割り当て後は非アイドルとしてマークされ、前記少なくとも１つの論理ブロックの各論理ブロックに割り当てられた前記物理ブロックの総容量は前記少なくとも１つの論理ブロック内の各論理ブロックの容量以上である、請求項２１に記載のストレージ。
【請求項２４】
前記書き込みモジュールが、前記少なくとも１つの論理ブロックに関し、かつ前記データ書き込み命令内にある前記情報と、前記少なくとも１つの論理ブロックに割り当てられた前記物理ブロックに関する情報とにしたがって、物理ブロックと論理ブロックとの間の対応関係を記録するようにさらに構成されている、請求項２２に記載のストレージ。
【請求項２５】
前記受信モジュールが、前記マネージャによって送信される消去命令を受信するようにさらに構成され、前記消去命令は、前記マネージャが消去対象論理ブロックを判定した後で前記マネージャによって送信され、前記消去命令は、前記消去対象論理ブロックに関する情報を運び、
前記ストレージが、前記消去対象論理ブロックに関しかつ前記消去命令内にある前記情報、および物理ブロックと論理ブロックとの間の前記対応関係にしたがって、消去対象物理ブロックを判定して、前記消去対象物理ブロックを消去するように構成された消去モジュールをさらに備える、請求項２４に記載のストレージ。
【請求項２６】
前記受信モジュールが、前記マネージャによって送信されるデータマイグレーション命令を受信するようにさらに構成され、前記データマイグレーション命令は、前記マネージャがあらかじめ設定されたマイグレーションポリシにしたがって前記消去対象論理ブロック内のマイグレーション対象データページを判定した後で、前記マネージャによって送信され、前記データマイグレーション命令は、前記マイグレーション対象データページに関する情報を運び、
前記ストレージが、前記データマイグレーション命令にしたがって前記ストレージ内の前記マイグレーション対象データページを移動するように構成されたマイグレーションモジュールをさらに備える、請求項２５に記載のストレージ。
【請求項２７】
ハードディスクドライブと、請求項１２ないし２０のいずれか一項に記載のマネージャと、請求項２１ないし２６のいずれか一項に記載のストレージとを備え、前記ストレージは、磁気ディスクストレージのキャッシュとして用いられる、ハイブリッドストレージ装置。
【請求項２８】
ストレージを備えたストレージシステムに適用されるストレージ管理方法であって、前記ストレージは、複数の物理ブロックを含み、前記ストレージ管理方法は、
データ書き込み要求を受信すること、および前記データ書き込み要求に含まれる書き込み対象データページのデータカテゴリを判定することと、
異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定することであって、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応している、ことと、
データ書き込み命令を前記ストレージに送信することであって、前記データ書き込み命令が少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、前記データ書き込み命令は、前記データ書き込み命令にしたがって、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記少なくとも１つの論理ブロックに対応する物理ブロックに書き込むように前記ストレージに指示するのに用いられ、同じ論理ブロックに対応する書き込み対象データページは少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページは、同じ論理ブロックに対応している、ことと、
を含む、ストレージ管理方法。
【請求項２９】
前記データ書き込み命令が前記少なくとも１つの論理ブロックに関する情報をさらに運び、
前記データ書き込み命令が、前記少なくとも１つの論理ブロックに関し、かつ前記データ書き込み命令内にある前記情報にしたがって、前記ストレージ内にあらかじめ設定された物理ブロックと論理ブロックとの間の対応関係をクエリして前記少なくとも１つの論理ブロックに対応する物理ブロックを判定し、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記少なくとも１つの論理ブロックに対応する前記物理ブロックに書き込むように前記ストレージにさらに指示する、請求項２８に記載のストレージ管理方法。
【請求項３０】
異なるデータカテゴリの前記書き込み対象データページを異なるキャッシュに書き込むことであって、同一データカテゴリの前記書き込み対象データページが同じキャッシュに書き込まれ、各キャッシュの容量が各論理ブロックの容量以下である、ことと、
１つの論理ブロックは、キャッシュ内で完全に書き込まれた前記書き込み対象データページに対して指定され、前記データ書き込み命令が前記少なくとも１つの論理ブロックに関する情報をさらに運び、前記データ書き込み命令は、前記書き込み対象データページを書き込む前に、物理ブロックを前記少なくとも１つの論理ブロックに割り当てるように前記ストレージに指示するのにさらに用いられ、
前記少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックは、前記ストレージ内のアイドル物理ブロックであり、前記アイドル物理ブロックは、割り当て後は非アイドルとしてマークされ、前記少なくとも１つの論理ブロックの各論理ブロックに割り当てられた前記物理ブロックの総容量は前記少なくとも１つの論理ブロック内の各論理ブロックの容量以上である、請求項２８に記載のストレージ管理方法。
【請求項３１】
異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを前記指定した後で、前記少なくとも１つの論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを前記少なくとも１つの論理ブロック内に記録すること、をさらに含む、請求項２９または３０に記載のストレージ管理方法。
【請求項３２】
各論理ブロックに対応するデータページにしたがって消去対象論理ブロックを判定し、消去命令を前記ストレージに送信することをさらに含み、前記消去命令は前記消去対象論理ブロックに関する情報を運び、前記消去命令は、前記消去対象論理ブロックに関し、かつ前記消去命令内にある前記情報と、前記ストレージ内に設定された物理ブロックと論理ブロックとの間の前記ストレージの対応関係とにしたがって、消去対象物理ブロックを判定し、前記消去対象物理ブロックを消去するように前記ストレージに指示するのに用いられる、請求項３１に記載のストレージ管理方法。
【請求項３３】
前記データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、前記ストレージ管理方法が、格納されたデータページが更新される必要がある場合に、前記格納されたデータページの論理アドレスであり、かつ前記格納されたデータページに対応する論理ブロックに記録されている論理アドレスを無効化することをさらに含み、
消去対象論理ブロックを前記判定することは、データカテゴリがホットデータである論理ブロック、または大量の無効な論理ブロックアドレスを有する論理ブロックを前記消去対象論理ブロックとして選択することを含む、請求項３２に記載のストレージ管理方法。
【請求項３４】
前記データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、
消去対象論理ブロックを前記判定することは、データカテゴリがコールドデータである論理ブロックを前記消去対象論理ブロックとして選択することと、
ガベージコレクション禁止指示を前記消去命令に加えることとを含む、請求項３２に記載のストレージ管理方法。
【請求項３５】
前記消去命令を前記ストレージに送信する前に、あらかじめ設定されたマイグレーションポリシにしたがって、前記消去対象論理ブロック内のマイグレーション対象データページを判定することと、データマイグレーション命令を前記ストレージに送信することとをさらに含み、前記データマイグレーション命令は、前記マイグレーション対象データページに関する情報を運び、前記データマイグレーション命令が、前記マイグレーション対象データページを前記ストレージ内で移動するようにストレージに指示するのに用いられる、請求項３２ないし３４のいずれか一項に記載のストレージ管理方法。
【請求項３６】
あらかじめ設定されたマイグレーションポリシにしたがって前記消去対象論理ブロック内のマイグレーション対象データページを前記判定することは、前記消去対象論理ブロック内のデータページを前記マイグレーション対象データページとして判定することを含み、前記書き込み対象データページの現在のデータカテゴリはホットデータであり、前記書き込み対象データページの論理ブロックアドレスは有効である、請求項３５に記載のストレージ管理方法。
【請求項３７】
ストレージに適用されるストレージ管理方法であって、
データ書き込み命令を受信することであって、前記データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、マネージャが前記書き込み対象データページのデータカテゴリを判定し、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定した後で、前記データ書き込み命令が前記マネージャにより送信され、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応している、ことと、
前記データ書き込み命令にしたがって、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記少なくとも１つの論理ブロックに対応する物理ブロックに書き込むことであって、同じ論理ブロックに対応する書き込み対象データページが少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページが、同じ論理ブロックに対応している、ことと
を含む、ストレージ管理方法。
【請求項３８】
前記ストレージが、物理ブロックと論理ブロックとの間のあらかじめ設定された対応関係を含み、各物理ブロックが１つの論理ブロックに対応し、各論理ブロックが少なくとも１つの物理ブロックに対応し、
前記データ書き込み命令が前記少なくとも１つの論理ブロックに関する情報をさらに含み、
前記データ書き込み命令を受信した後で、前記データ書き込み命令にしたがって、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記少なくとも１つの論理ブロックに対応する物理ブロックに前記書き込むことは、前記少なくとも１つの論理ブロックに関し、かつ前記データ書き込み命令内にある前記情報にしたがって、物理ブロックと論理ブロックとの間の前記対応関係をクエリすることと、前記少なくとも１つの論理ブロックに対応する前記物理ブロックを判定することと、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記少なくとも１つの論理ブロックに対応する前記物理ブロックに書き込むこととを特に含む、請求項３７に記載のストレージ管理方法。
【請求項３９】
前記マネージャが異なるデータカテゴリの前記書き込み対象データページを異なるキャッシュに書き込み、同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して少なくとも１つの論理ブロックを指定した後で、前記データ書き込み命令が前記マネージャによって送信され、各キャッシュに書き込まれた前記書き込み対象データページは同一データカテゴリのものであり、
前記データ書き込み命令が受信された後で、前記データ書き込み命令にしたがって、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記少なくとも１つの論理ブロックに対応する物理ブロックに前記書き込むことは、前記データ書き込み命令にしたがって物理ブロックを前記少なくとも１つの論理ブロックに割り当てることと、前記少なくとも１つの論理ブロックに対応する前記書き込み対象データページを前記割り当てられた物理ブロックに書き込むこととを含み、前記少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックは、前記ストレージ内のアイドル物理ブロックであり、前記アイドル物理ブロックは、割り当てられた後は非アイドルとしてマークされ、前記少なくとも１つの論理ブロックの各論理ブロックに割り当てられた前記物理ブロックの総容量は、前記少なくとも１つの論理ブロック内の各論理ブロックの容量以上である、請求項３７に記載のストレージ管理方法。
【請求項４０】
前記少なくとも１つの論理ブロックに関しかつ前記データ書き込み命令内にある前記情報、および前記少なくとも１つの論理ブロックに割り当てられた前記物理ブロックに関する情報にしたがって、物理ブロックと論理ブロックとの間の対応関係を記録することをさらに含む、請求項３８に記載のストレージ管理方法。
【請求項４１】
前記マネージャによって送信される消去命令を受信することであって、前記マネージャが消去対象論理ブロックを判定した後で、前記消去命令が前記マネージャによって送信され、前記消去命令は、前記消去対象論理ブロックに関する情報を運ぶ、ことと、
前記消去対象論理ブロックに関しかつ前記消去命令内にある前記情報、および物理ブロックと論理ブロックとの間の前記対応関係にしたがって、消去対象物理ブロックを判定することと、前記消去対象物理ブロックを消去することと、をさらに含む、請求項４０に記載のストレージ管理方法。
【請求項４２】
前記マネージャによって送信されるデータマイグレーション命令を受信することであって、前記マネージャがあらかじめ設定されたマイグレーションポリシにしたがって前記消去対象論理ブロック内のマイグレーション対象データページを判定した後で、前記データマイグレーション命令が前記マネージャにより送信され、前記データマイグレーション命令は、前記マイグレーション対象データページに関する情報を運ぶ、ことと、
前記データマイグレーション命令にしたがって、前記マイグレーション対象データページを前記ストレージ内で移動することと、をさらに含む、請求項４１に記載のストレージ管理方法。
【請求項４３】
ストレージマネージャであって、プロセッサと、ストレージと、バスと、通信インタフェースとを備え、前記ストレージは、コンピュータ実行可能命令を格納するように構成され、前記プロセッサは、前記バスを用いることにより前記ストレージに接続され、コンピューティングデバイスが実行する場合に、前記プロセッサが前記ストレージに格納された前記コンピュータ実行可能命令を実行し、したがって前記ストレージマネージャが請求項２８ないし３６のいずれか一項に記載のストレージ管理方法を実行する、ストレージマネージャ。
【請求項４４】
ストレージマネージャであって、プロセッサと、ストレージと、バスと、通信インタフェースとを備え、前記ストレージは、コンピュータ実行可能命令を格納するように構成され、前記プロセッサは、前記バスを用いることにより前記ストレージに接続され、コンピューティングデバイスが実行する場合に、前記プロセッサが前記ストレージに格納された前記コンピュータ実行可能命令を実行し、したがって前記ストレージマネージャが請求項３７ないし４２のいずれか一項に記載のストレージ管理方法を実行する、ストレージマネージャ。
【請求項４５】
コンピュータ可読記録媒体であって、コンピュータ実行可能命令を含み、コンピュータのプロセッサが前記コンピュータ実行可能命令を実行する場合に、前記コンピュータが請求項２８ないし３６のいずれか一項に記載のストレージ管理方法を実行する、コンピュータ可読記録媒体。
【請求項４６】
コンピュータ可読記録媒体であって、コンピュータ実行可能命令を含み、コンピュータのプロセッサが前記コンピュータ実行可能命令を実行する場合に、前記コンピュータが請求項３７ないし４２のいずれか一項に記載のストレージ管理方法を実行する、コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ技術の分野に関し、特に、ストレージシステム、ストレージ管理装置、ストレージ、ハイブリッドストレージ装置およびストレージ管理方法に関する。
【背景技術】
【０００２】
ソリッドステートディスク（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｉｓｋ，ＳＳＤ）は、高パフォーマンス、低遅延、低消費電力および強い環境適応性といった利点を有しており、そのコストはますます低下してきている。したがって、ソリッドステートディスクは現在、ますます一般的に利用され、主として、ハードディスクドライブ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ，ＨＤＤ）のキャッシュとして利用されている。
【０００３】
ＨＤＤとは異なり、ＳＳＤは元の場所に上書きすることを許容しないが、新しいデータが書き込まれる前に、元のデータの消去を要求する。加えて、ＳＳＤは、ページ単位で読み出されおよび書き込まれるが、消去は、物理ブロック単位である。したがって、ＳＳＤ内のデータを更新するには、更新されたデータがアイドル状態の場所に書き込まれる必要があり、元のデータは無効化される。ＳＳＤがいっぱいのときは、比較的大量の無効なデータを有する物理ブロックが消去される。
【発明の概要】
【０００４】
ＳＳＤから消去されることになる物理ブロックは、大量の有効なページを含むことがあり、したがって、消去される必要のある物理ブロックにあるデータが消去される前に、これらの有効なページ内にあるデータがアイドル状態の場所にコピーされる必要がある。このプロセスがガベージコレクションである。ガベージコレクションのプロセスの中で、これらの有効なページ内にあるデータをアイドル状態の場所にコピーすることが、余分なデータ書き込みを加えることになる、すなわち、ＳＳＤのライトアンプリフィケーションを引き起こす。ＳＳＤのライトアンプリフィケーションは、ＳＳＤのパフォーマンスを低下させ、ＳＳＤの寿命を短くする。
【０００５】
本発明の実施形態は、データ消去プロセスにおいてＳＳＤストレージで生じるライトアンプリフィケーションを低減するため、ＳＳＤストレージ管理装置および方法を提供する。
【０００６】
本発明の実施形態の第１の態様は、ストレージとマネージャとを備えたストレージシステムを提供し、
ストレージは複数の物理ブロックを含み、
マネージャは、データ書き込み要求を受信し、書き込み対象データページのデータカテゴリを判定し、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定し、データ書き込み命令をストレージに送信するように構成され、各指定された論理ブロックは同一データカテゴリの書き込み対象データページに対応しており、データ書き込み命令は少なくとも１つの指定された論理ブロックに対応する書き込み対象データページを運び、
ストレージは、データ書き込み命令を受信し、データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むように構成され、同じ論理ブロックに対応する書き込み対象データページが少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページが、同じ論理ブロックに対応している。
【０００７】
第１の態様に関連して、第１の可能な実装態様においては、物理ブロックと論理ブロックとの間の対応関係がストレージ内にあらかじめ設定されており、各物理ブロックが１つの論理ブロックに対応し、各論理ブロックが少なくとも１つの物理ブロックに対応している。
マネージャは、少なくとも１つの論理ブロックに関する情報をデータ書き込み命令に加えるようにさらに構成され、
データ書き込み命令を受信した後で、ストレージは、少なくとも１つの論理ブロックに関し、かつデータ書き込み命令内にある情報にしたがって、物理ブロックと論理ブロックとの間の対応関係をクエリし、少なくとも１つの論理ブロックに対応する物理ブロックを判定し、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むように特に構成されている。
【０００８】
第１の態様に関連して、第２の可能な実装態様においては、ストレージシステムは少なくとも１つのキャッシュをさらに備えており、各キャッシュの容量は各論理ブロックの容量以下である。
データ書き込み要求を受信した後で、マネージャは、異なるデータカテゴリの書き込み対象データページを異なるキャッシュに書き込み、同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して少なくとも１つの論理ブロックを指定し、データ書き込み命令をストレージに送信するように特に構成され、各キャッシュに書き込まれた書き込み対象データページは同一データカテゴリのものであり、データ書き込み命令は、少なくとも１つの論理ブロックに関する情報と、少なくとも１つの論理ブロックに対応する書き込み対象データページとを運び、
データ書き込み命令を受信した後で、ストレージは、データ書き込み命令にしたがって、物理ブロックを少なくとも１つの論理ブロックに割り当て、少なくとも１つの論理ブロックに対応するデータページを、割り当てられた物理ブロックに書き込むように特に構成され、少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックはストレージ内のアイドル物理ブロックであり、アイドル物理ブロックは、割り当てられた後は非アイドルとしてマークされ、少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックの総容量は少なくとも１つの論理ブロックにおける各論理ブロックの容量以上である。
【０００９】
第１の態様の第２の実装態様に関連して、第３の可能な実装態様においては、ストレージは、少なくとも１つの論理ブロックに関しかつデータ書き込み命令内にある情報、および少なくとも１つの論理ブロックに割り当てられた物理ブロックに関する情報にしたがって、物理ブロックと論理ブロックとの間の対応関係を記録するようにさらに構成されている。
【００１０】
第１の態様の第１の可能な実装態様または第３の可能な実装態様に関連して、第４の可能な実装態様においては、マネージャは、少なくとも１つの論理ブロック内に、少なくとも１つの論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを記録し、少なくとも１つの論理ブロックに対応するデータページのデータカテゴリを記録するようにさらに構成されている。
【００１１】
第１の態様の第４の可能な実装態様に関連して、第５の可能な実装態様においては、マネージャは、各論理ブロックに対応するデータページにしたがって消去対象論理ブロックを判定し、消去命令をストレージに送信するようにさらに構成され、消去命令は消去対象論理ブロックに関する情報を運ぶ。
ストレージは、消去命令を受信し、消去対象論理ブロックに関しかつ消去命令内にある情報、および物理ブロックと論理ブロックとの間の対応関係にしたがって、消去対象物理ブロックを判定し、消去対象物理ブロックを消去するようにさらに構成されている。
【００１２】
第１の態様の第５の可能な実装態様に関連して、第６の可能な実装態様においては、データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、マネージャは、格納されたデータページが更新される必要があると判断される場合に、格納されたデータページの論理ブロックアドレスであり、かつ格納されたデータページに対応する論理ブロックに記録されている論理ブロックアドレスを無効化するようにさらに構成されている。
マネージャが各論理ブロックに対応するデータページにしたがって消去対象論理ブロックを判定するように構成されていることは、データカテゴリがホットデータである論理ブロック、または大量の無効な論理ブロックアドレスを有する論理ブロックを消去対象論理ブロックとして選択することを特に含む。
【００１３】
第１の態様の第５の可能な実装態様に関連して、第７の可能な実装態様においては、データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、マネージャが各論理ブロックに対応するデータページにしたがって消去対象論理ブロックを判定するように構成されていることは、データカテゴリがコールドデータである論理ブロックを消去対象論理ブロックとして選択することを特に含み、
マネージャは、ガベージコレクション禁止指示を消去命令に加えるようにさらに構成されている。
【００１４】
第１の態様の第５、第６または第７の可能な実装態様に関連して、第８の可能な実装態様においては、マネージャが消去命令をストレージに送信する前に、マネージャは、あらかじめ設定されたマイグレーションポリシにしたがって消去対象論理ブロック内のマイグレーション対象データページを判定し、データマイグレーション命令をストレージに送信するようにさらに構成され、データマイグレーション命令はマイグレーション対象データページに関する情報を運び、
ストレージは、データマイグレーション命令にしたがってマイグレーション対象データページをストレージ内で移動するようにさらに構成されている。
【００１５】
第１の態様の第８の可能な実装態様に関連して、第９の可能な実装態様においては、マネージャは、あらかじめ設定されたマイグレーションポリシにしたがって、消去対象論理ブロック内のマイグレーション対象データページを判定するようにさらに構成されていることは、消去対象論理ブロック内のデータページをマイグレーション対象データページとして判定することを特に含み、データページの現在のデータカテゴリはホットデータであり、データページの論理ブロックアドレスは有効である。
【００１６】
第２の態様によれば、ストレージ管理装置が提供され、ストレージを含むストレージシステムに適用される。ストレージは複数の物理ブロックを含み、ストレージ管理装置は、
データ書き込み要求を受信して書き込み対象データページのデータカテゴリを判定するように構成された分類モジュールと、
分類モジュールの分類結果にしたがって異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定するように構成された論理ブロック管理モジュールであって、各指定された論理ブロックは同一データカテゴリの書き込み対象データページに対応している、論理ブロック管理モジュールと、
論理ブロック管理モジュールによって書き込み対象データページに対して指定された論理ブロックにしたがって、データ書き込み命令をストレージへ送信するように構成された書き込み命令モジュールであって、データ書き込み命令は少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、データ書き込み命令は、データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むようにストレージに指示するのに用いられ、同じ論理ブロックに対応する書き込み対象データページは少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページが同じ論理ブロックに対応している。
【００１７】
第２の態様に関連して、第１の可能な実装態様においては、データ書き込み命令は少なくとも１つの論理ブロックに関する情報をさらに運び、
データ書き込み命令は、少なくとも１つの論理ブロックに関し、かつデータ書き込み命令内にある情報にしたがって、ストレージにあらかじめ設定された物理ブロックと論理ブロックとの間の対応関係をクエリし、少なくとも１つの論理ブロックに対応する物理ブロックを判定し、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むようにストレージに指示するのに特に用いられる。
【００１８】
第２の態様に関連して、第２の可能な実装態様においては、ストレージ管理装置は、
分類モジュールの分類結果にしたがって、異なるデータカテゴリの書き込み対象データページを異なるキャッシュに書き込むように構成されたキャッシュ書き込みモジュールをさらに備え、同一データカテゴリの書き込み対象データページは同じキャッシュに書き込まれ、各キャッシュの容量は各論理ブロックの容量以下であり、
論理ブロック管理モジュールは、同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して１つの論理ブロックを指定するように構成され、
書き込み命令モジュールは、論理ブロック管理モジュールによって書き込み対象データページに対して指定された論理ブロックにしたがって、データ書き込み命令をストレージに送信するように特に構成され、データ書き込み命令は、少なくとも１つの論理ブロックに関する情報と、少なくとも１つの論理ブロックに対応するデータページとを運び、データ書き込み命令は、少なくとも１つの論理ブロックに物理ブロックを割り当て、少なくとも１つの論理ブロックに対応するデータページを割り当てられた物理ブロックに書き込むようにストレージに指示するのに特に用いられ、少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックはストレージ内のアイドル物理ブロックであり、アイドル物理ブロックは、割り当てられた後は、非アイドルとしてマークされ、少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックの総容量は少なくとも１つの論理ブロックにおける各論理ブロックの容量以上である。
【００１９】
第２の態様の第１の実装態様または第２の実装態様に関連して、第３の可能な実装態様においては、論理ブロック管理モジュールは、少なくとも１つの論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを、少なくとも１つの論理ブロック内に記録し、少なくとも１つの論理ブロックに対応するデータページのデータカテゴリを記録するようにさらに構成されている。
【００２０】
第２の態様の第３の可能な実装態様に関連して、第４の可能な実装態様においては、ストレージ管理装置が、各論理ブロックに対応するデータページにしたがって、消去対象論理ブロックを判定し、消去命令をストレージに送信するように構成された消去命令モジュールであって、消去命令は消去対象論理ブロックに関する情報を運び、消去命令は、消去対象論理ブロックに関しかつ消去命令内にある情報、および、ストレージ内にあらかじめ設定された物理ブロックと論理ブロックとの間の対応関係にしたがって、消去対象物理ブロックを判定し、消去対象物理ブロックを消去するようにストレージに指示するのに用いられる。
【００２１】
第２の態様の第４の可能な実装態様に関連して、第５の可能な実装態様においては、データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、論理ブロック管理モジュールは、格納されたデータページが更新される必要があると判断される場合に、格納されたデータページの論理ブロックアドレスであり、かつ格納されたデータページに対応する論理ブロック内に記録された論理ブロックアドレスを無効化するようにさらに構成され、
消去命令モジュールが消去対象論理ブロックを判定するように構成されていることは、データカテゴリがホットデータである論理ブロック、または大量の無効な論理ブロックアドレスを有する論理ブロックを消去対象論理ブロックとして選択することを特に含む。
【００２２】
第２の態様の第４の可能な実装態様に関連して、第６の可能な実装態様においては、データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、消去命令モジュールが消去対象論理ブロックを判定するように構成されていることは、データカテゴリがコールドデータである論理ブロックを消去対象論理ブロックとして選択することを特に含み、
消去命令モジュールは、ガベージコレクション禁止指示を消去命令に加えるようにさらに構成されている。
【００２３】
第２の態様の第４、第５または第６の可能な実装態様に関連して、第７の可能な実装態様においては、ストレージ管理装置はマイグレーション命令モジュールをさらに備え、消去命令モジュールが消去命令をストレージに送信する前に、マイグレーション命令モジュールは、あらかじめ設定されたマイグレーションポリシにしたがって消去対象論理ブロック内のマイグレーション対象データページを判定し、データマイグレーション命令をストレージに送信するように構成され、データマイグレーション命令はマイグレーション対象データページに関する情報を運び、データマイグレーション命令は、マイグレーション対象データページをストレージ内で移動するようにストレージに指示するのに用いられる。
【００２４】
第２の態様の第７の可能な実装態様に関連して、第８の可能な実装態様においては、マイグレーション命令モジュールがあらかじめ設定されたマイグレーションポリシにしたがって消去対象論理ブロック内のマイグレーション対象データページを判定することは、消去対象論理ブロック内のデータページをマイグレーション対象データページとして判定することを特に含み、データページの現在のデータカテゴリはホットデータであり、データページの論理ブロックアドレスは有効である。
【００２５】
第３の態様によれば、ストレージが提供され、
データ書き込み命令を受信するように構成された受信モジュールであって、データ書き込み命令は少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、マネージャが書き込み対象データページのデータカテゴリを判定し、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定した後で、データ書き込み命令がマネージャによって送信され、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応する、受信モジュールと、
データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むように構成された書き込みモジュールであって、同じ論理ブロックに対応する書き込み対象データページが少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページが、同じ論理ブロックに対応している、書き込みモジュールとを含む。
【００２６】
第３の態様に関連して、第１の可能な実装態様においては、ストレージが、物理ブロックと論理ブロックとの間のあらかじめ設定された対応関係を含み、各物理ブロックは１つの論理ブロックに対応し、各論理ブロックが少なくとも１つの物理ブロックに対応し、
受信モジュールによって受信されるデータ書き込み命令が少なくとも１つの論理ブロックに関する情報をさらに運び、
受信モジュールがデータ書き込み命令を受信した後で、書き込みモジュールが、少なくとも１つの論理ブロックに関し、かつデータ書き込み命令内にある情報にしたがって、構成モジュールによってあらかじめ設定された物理ブロックと論理ブロックとの間の対応関係をクエリし、少なくとも１つの論理ブロックに対応する物理ブロックを判定し、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むように特に構成されている。
【００２７】
第３の態様に関連して、第２の可能な実装態様においては、マネージャが異なるデータカテゴリの書き込み対象データページを異なるキャッシュ内に書き込み、同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して、少なくとも１つの論理ブロックを指定した後で、データ書き込み命令がマネージャによって送信され、各キャッシュに書き込まれた書き込み対象データページは同一データカテゴリのものであり、
受信モジュールがデータ書き込み命令を受信した後で、書き込みモジュールは、データ書き込み命令にしたがって、物理ブロックを少なくとも１つの論理ブロックに割り当て、少なくとも１つの論理ブロックに対応するデータページを、割り当てられた物理ブロックに書き込むように特に構成され、少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックは、ストレージ内のアイドル物理ブロックであり、アイドル物理ブロックは、割り当てられた後は、非アイドルとしてマークされ、少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックの総容量が少なくとも１つの論理ブロック内の各論理ブロックの容量以上である。
【００２８】
第３の態様の第２の可能な実装態様に関連して、第３の可能な実装態様においては、書き込みモジュールが、少なくとも１つの論理ブロックに関しかつデータ書き込み命令内にある情報、および少なくとも１つの論理ブロックに割り当てられた物理ブロックに関する情報にしたがって、物理ブロックと論理ブロックとの間の対応関係を記録するようにさらに構成されている。
【００２９】
第３の態様の第３の可能な実装態様に関連して、第４の可能な実装態様においては、受信モジュールが、マネージャによって送信される消去命令を受信するようにされた構成され、消去命令は、マネージャが消去対象論理ブロックを判定した後でマネージャによって送信され、消去命令は、消去対象論理ブロックに関する情報を運び、
ストレージが、消去対象論理ブロックに関しかつ消去命令内にある情報、および、物理ブロックと論理ブロックとの間の対応関係にしたがって、消去対象物理ブロックを判定し、消去対象物理ブロックを消去するように構成された消去モジュールをさらに備える。
【００３０】
第３の態様の第４の可能な実装態様に関連して、第５の可能な実装態様においては、受信モジュールが、マネージャによって送信されるデータマイグレーション命令を受信するようにさらに構成され、データマイグレーション命令は、マネージャがあらかじめ設定されたマイグレーションポリシにしたがって消去対象論理ブロック内のマイグレーション対象データページを判定した後で、マネージャによって送信され、データマイグレーション命令は、マイグレーション対象データページに関する情報を運び、
ストレージが、データマイグレーション命令にしたがってマイグレーション対象データページをストレージ内で移動するように構成されたマイグレーションモジュールをさらに備える。
【００３１】
第４の態様によれば、ハイブリッドストレージ装置が提供され、ハードディスクドライブと、第２の態様の実装態様のいずれか１つにおけるマネージャと、第３の態様の実装態様のいずれか１つに記載されたストレージとを備え、ストレージは、磁気ディスクストレージのキャッシュとして用いられる。
【００３２】
第５の態様によれば、ストレージ管理方法が提供され、ストレージを備えたストレージシステムに適用される。ストレージは、複数の物理ブロックを含み、方法は、
データ書き込み要求を受信して書き込み対象データページのデータカテゴリを判定することと、
異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定することであって、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応している、ことと、
書き込み対象データページに対する指定された論理ブロックにしたがってデータ書き込み命令をストレージに送信することであって、データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、データ書き込み命令は、データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むようにストレージに指示するのに用いられ、同じ論理ブロックに対応する書き込み対象データページが少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページは、同じ論理ブロックに対応している、ことと、を含む。
【００３３】
第５の態様に関連して、第１の可能な実装態様においては、データ書き込み命令が少なくとも１つの論理ブロックに関する情報をさらに運び、
データ書き込み命令は、少なくとも１つの論理ブロックに関し、かつデータ書き込み命令内にある情報にしたがって、ストレージ内にあらかじめ設定された物理ブロックと論理ブロックとの間の対応関係をクエリし、少なくとも１つの論理ブロックに対応する物理ブロックを判定し、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むようにストレージにさらに指示する。
【００３４】
第５の態様に関連して、第２の可能な実装態様においては、方法は、異なるデータカテゴリの書き込み対象データページを異なるキャッシュに書き込むことであって、同一データカテゴリの書き込み対象データページが同じキャッシュに書き込まれ、各キャッシュの容量は、各論理ブロックの容量以下である、ことと、
同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して１つの論理ブロックを指定することと、
書き込み対象データページに対して指定された論理ブロックにしたがって、データ書き込み命令をストレージに送信することであって、データ書き込み命令は少なくとも１つの論理ブロックに関する情報、および少なくとも１つの論理ブロックに対応するデータページとを運ぶ、こととをさらに含み、
データ書き込み命令は、物理ブロックを少なくとも１つの論理ブロックに割り当て、少なくとも１つの論理ブロックに対応するデータページを、割り当てられた物理ブロックに書き込むようにストレージに指示するのに特に用いられ、少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックは、ストレージ内のアイドル物理ブロックであり、アイドル物理ブロックは、割り当てられた後は、非アイドルとしてマークされ、少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックの総容量が少なくとも１つの論理ブロック内の各論理ブロックの容量以上である。
【００３５】
第５の態様の第１または第２の可能な実装態様に関連して、第３の可能な実装態様においては、ストレージ管理方法は、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定することの後で、少なくとも１つの論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを少なくとも１つの論理ブロック内に記録することと、少なくとも１つの論理ブロックに対応するデータページのデータカテゴリを記録することとをさらに含む。
【００３６】
第５の態様の第３の可能な実装態様に関連して、第４の可能な実装態様においては、方法は、各論理ブロックに対応するデータページにしたがって消去対象論理ブロックを判定することと、消去命令をストレージに送信することであって、消去命令は、消去対象論理ブロックに関する情報を運び、消去命令は、消去対象論理ブロックに関しかつ消去命令内にある情報、および、ストレージ内に設定された物理ブロックと論理ブロックとの間の対応関係にしたがって、消去対象物理ブロックを判定し、消去対象物理ブロックを消去するようにストレージに指示するのに用いられる、こととをさらに含む。
【００３７】
第５の態様の第４の可能な実装態様に関連して、第５の可能な実装態様においては、データカテゴリは、データアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、方法は、格納されたデータページが更新される必要があるとき、格納されたデータページの論理ブロックアドレスであり、かつ格納されたデータページに対応する論理ブロックに記録されている論理ブロックアドレスを無効化することをさらに含み、
消去対象論理ブロックを判定することは、データカテゴリがホットデータである論理ブロック、または大量の無効な論理ブロックアドレスを有する論理ブロックを消去対象論理ブロックとして選択することを特に含む。
【００３８】
第５の態様の第４の可能な実装態様に関連して、第６の可能な実装態様においては、データカテゴリはデータアクセス頻度にしたがって判定されるコールドデータおよびホットデータであり、
消去対象論理ブロックを判定することは、データカテゴリがコールドデータである論理ブロックを消去対象論理ブロックとして選択することと、
ガベージコレクション禁止指示を消去命令に加えることとを特に含む。
【００３９】
第５の態様の第４、第５または第６の可能な実装態様に関連して、第７の可能な実装態様においては、消去命令をストレージに送信する前に、ストレージ管理方法は、あらかじめ設定されたマイグレーションポリシにしたがって、消去対象論理ブロック内のマイグレーション対象データページを判定することと、データマイグレーション命令をストレージに送信することとをさらに含み、データマイグレーション命令は、マイグレーション対象データページに関する情報を運び、データマイグレーション命令は、マイグレーション対象データページをストレージ内で移動するようにストレージに指示するのに用いられる。
【００４０】
第５の態様の第７の可能な実装態様に関連して、第８の可能な実装態様においては、あらかじめ設定されたマイグレーションポリシにしたがって消去対象論理ブロック内のマイグレーション対象データページを判定することは、消去対象論理ブロック内のデータページをマイグレーション対象データページとして判定することを特に含み、データページの現在のデータカテゴリはホットデータであり、データページの論理ブロックアドレスは有効である。
【００４１】
第６の態様によれば、ストレージ管理方法が提供され、ストレージに適用され、
データ書き込み命令を受信することであって、データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、マネージャが書き込み対象データページのデータカテゴリを判定し、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定した後で、データ書き込み命令がマネージャにより送信され、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応している、ことと、
データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むことであって、同じ論理ブロックに対応する書き込み対象データページが少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページは、同じ論理ブロックに対応している、ことと、を含む。
【００４２】
第６の態様に関連して、第１の可能な実装態様においては、ストレージは、物理ブロックと論理ブロックとの間のあらかじめ設定された対応関係を含み、各物理ブロックが１つの論理ブロックに対応し、各論理ブロックが少なくとも１つの物理ブロックに対応し、
データ書き込み命令は少なくとも１つの論理ブロックに関する情報をさらに運び、
データ書き込み命令を受信された後で、データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むことは、少なくとも１つの論理ブロックに関しかつデータ書き込み命令内にある情報にしたがって、物理ブロックと論理ブロックとの間の対応関係をクエリすることと、少なくとも１つの論理ブロックに対応する物理ブロックを判定することと、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むこととを特に含む。
【００４３】
第６の態様に関連して、第２の可能な実装態様においては、マネージャが異なるデータカテゴリの書き込み対象データページを異なるキャッシュ内に書き込み、同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して少なくとも１つの論理ブロックを指定した後で、データ書き込み命令がマネージャによって送信され、各キャッシュに書き込まれた書き込み対象データページは同一データカテゴリのものであり、
データ書き込み命令が受信された後で、データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むことは、データ書き込み命令にしたがって、物理ブロックを少なくとも１つの論理ブロックに割り当て、少なくとも１つの論理ブロックに対応するデータページを、割り当てられた物理ブロックに書き込むことを特に含み、少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックは、ストレージ内のアイドル物理ブロックであり、アイドル物理ブロックは、割り当てられた後は、非アイドルとしてマークされ、少なくとも１つの論理ブロックの各論理ブロックに割り当てられた物理ブロックの総容量は少なくとも１つの論理ブロック内の各論理ブロックの容量以上である。
【００４４】
第６の態様の第２の可能な実装態様に関連して、第３の可能な実装態様においては、ストレージ管理方法は、少なくとも１つの論理ブロックに関しかつデータ書き込み命令内にある情報、および少なくとも１つの論理ブロックに割り当てられた物理ブロックに関する情報にしたがって、物理ブロックと論理ブロックとの間の対応関係を記録することをさらに含む。
【００４５】
第６の態様の第３の可能な実装態様に関連して、第４の可能な実装態様においては、ストレージ管理方法は、マネージャによって送信される消去命令を受信することであって、マネージャが消去対象論理ブロックを判定した後で、消去命令はマネージャによって送信され、消去命令は、消去対象論理ブロックに関する情報を運ぶ、ことと、
消去対象論理ブロックに関しかつ消去命令内にある情報、および物理ブロックと論理ブロックとの間の対応関係にしたがって、消去対象物理ブロックを判定すること、および消去対象物理ブロックを消去することをさらに含む。
【００４６】
第６の態様の第４の可能な実装態様に関連して、第５の可能な実装態様においては、方法は、
マネージャにより送信されるデータマイグレーション命令を受信することであって、マネージャがあらかじめ設定されたマイグレーションポリシにしたがって消去対象論理ブロック内のマイグレーション対象データページを判定した後で、データマイグレーション命令がマネージャにより送信され、データマイグレーション命令は、マイグレーション対象データページに関する情報を運ぶ、ことと、
データマイグレーション命令にしたがって、マイグレーション対象データページをストレージ内で移動することとをさらに含む。
【００４７】
第７の態様によれば、ストレージマネージャが提供され、プロセッサと、ストレージと、バスと、通信インタフェースとを備え、ストレージは、コンピュータ実行可能命令を格納するように構成され、プロセッサは、バスを用いることによりストレージに接続され、コンピューティングデバイスが動作するときに、プロセッサがストレージに格納されたコンピュータ実行可能命令を実行し、したがってストレージマネージャが以下の方法、
データ書き込み要求を受信すること、および書き込み対象データページのデータカテゴリを判定することと、
異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定することであって、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応している、ことと、
書き込み対象データページに対して指定された論理ブロックにしたがって、データ書き込み命令をストレージに送信することであって、データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、データ書き込み命令は、データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むようにストレージに指示するのに用いられ、同じ論理ブロックに対応する書き込み対象データページは少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページは、同じ論理ブロックに対応している、ことと、を実行する。
【００４８】
第８の態様によれば、ストレージマネージャが提供され、プロセッサと、ストレージと、バスと、通信インタフェースとを備え、ストレージは、コンピュータ実行可能命令を格納するように構成され、プロセッサは、バスを用いることによりストレージに接続され、コンピューティングデバイスが動作するときに、プロセッサがストレージに格納されたコンピュータ実行可能命令を実行し、したがってストレージマネージャが以下の方法、
データ書き込み命令を受信することであって、データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、マネージャが書き込み対象データページのデータカテゴリを判定し、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定した後で、データ書き込み命令がマネージャにより送信され、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応している、ことと、
データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むことであって、同じ論理ブロックに対応する書き込み対象データページは少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページは、同じ論理ブロックに対応している、ことと、を実行する。
【００４９】
第９の態様によれば、コンピュータ可読媒体が提供され、コンピュータ実行可能命令を含み、コンピュータのプロセッサがコンピュータ実行可能命令を実行するときに、コンピュータが以下の方法、
データ書き込み要求を受信すること、および書き込み対象データページのデータカテゴリを判定すること、
異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定することであって、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応している、ことと、
書き込み対象データページに対して指定された論理ブロックにしたがって、データ書き込み命令をストレージに送信することであって、データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、データ書き込み命令は、データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むようにストレージに指示するのに用いられ、同じ論理ブロックに対応する書き込み対象データページは少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページは、同じ論理ブロックに対応している、ことと、を実行する。
【００５０】
第１０の態様によれば、コンピュータ読み取り可能な記録媒体が提供され、コンピュータ実行可能命令を含み、コンピュータのプロセッサがコンピュータ実行可能命令を実行するときに、コンピュータが以下の方法、
データ書き込み命令を受信することであって、データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページを運び、マネージャが書き込み対象データページのデータカテゴリを判定し、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定した後で、データ書き込み命令がマネージャによって送信され、各指定された論理ブロックが同一データカテゴリの書き込み対象データページに対応している、ことと、
データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込むことであって、同じ論理ブロックに対応する書き込み対象データページは少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページは、同じ論理ブロックに対応している、ことと、を実行する。
【００５１】
第１１の態様によれば、ストレージシステムが提供され、ストレージとマネージャとを備え、
ストレージは複数の物理ブロックを含み、
マネージャは、データ書き込み要求を受信し、書き込み対象データページのデータカテゴリを判定し、データ書き込み命令をストレージに送信するように構成され、データ書き込み命令は、書き込み対象データページ、および書き込み対象データページのデータカテゴリを運び、
ストレージは、データ書き込み命令を受信し、データ書き込み命令にしたがって、書き込み対象データページを、書き込み対象データページのデータカテゴリに対応する物理ブロックに書き込むように構成され、同一データカテゴリを有する書き込み対象データページは、少なくとも１つの物理ブロックに書き込まれ、各物理ブロックは、同一データカテゴリを有する書き込み対象データページである。
【００５２】
本発明においては、書き込み対象データページが分類され、したがってＳＳＤ内の各物理ブロックが同一データカテゴリのデータページを格納する。同一データカテゴリのデータページは、基本的な一定のペースで更新されるので、有効なデータページの量は、物理ブロック内のデータページのデータカテゴリに応じて物理ブロック内で正規分布にある。例えば、頻繁にアクセスされるホットデータが配置されている物理ブロックは、比較的大量の無効なデータページを有し、まれにアクセスされるコールドデータが配置されている物理ブロックは比較的少量の無効なデータページを有する。データページの有効性のそのような分布は、従来技術におけるランダムな書き込みの場合のものとは相違する。ガベージコレクション中に無効なデータページの量にしたがってＳＳＤによって選択された消去対象物理ブロックにおける有効なデータページの量は、必然的に従来技術において選択される消去対象物理ブロックにおける有効なデータページの量よりも少ない。したがって、本発明の実施形態において提供される方法においては、物理ブロックが消去されるときに生じるライトアンプリフィケーションが低減される。
【図面の簡単な説明】
【００５３】
本発明の実施形態における技術的解決策または従来技術をより明確に記載するために、以下、実施形態または従来技術を説明するのに必要な添付図面を簡単に説明する。明らかに、以下の説明における添付の図面は、単に本発明のいくつかの実施形態を示したものにすぎず、当業者はなお、創作的な努力を要することなく、これらの添付図面から他の図面を導出し得る。
【図１】ＨＤＤのキャッシュとしてＳＳＤが使用されている従来技術におけるシステムのアーキテクチャ図である。
【図２】従来技術におけるＳＳＤのデータ更新中のデータアドレスの変化の模式図である。
【図３】本発明の実施形態による第１のストレージシステム３０のアーキテクチャ図である。
【図４】図３に示す実施形態によるデータカテゴリ、論理ブロックおよび物理ブロックの間の対応関係の模式図である。
【図５】図３に示す実施形態によるデータ書き込み要求における書き込み対象データページをＳＳＤに書き込むプロセスの模式図である。
【図６】図３に示す実施形態による格納されたデータの更新中の論理ブロック内における論理ブロックアドレスの変化の模式図である。
【図７】図３に示す実施形態による物理ブロックを消去する前に消去対象物理ブロック内のデータを移動する模式図である。
【図８】本発明の実施形態による第２のストレージシステムのアーキテクチャ図である。
【図９】本発明の実施形態による第１のストレージ管理装置のブロック図である。
【図１０】本発明の実施形態による第２のストレージ管理装置のブロック図である。
【図１１】本発明の実施形態によるＳＳＤの構造図である。
【図１２】本発明の実施形態によるハイブリッドストレージ装置の構造図である。
【図１３】本発明の実施形態によるマネージャによってデータをＳＳＤに書き込むための方法の流れ図である。
【図１４】本発明の実施形態によるマネージャによってデータをＳＳＤに書き込むための第１の具体的な実装方法の流れ図である。
【図１５】本発明の実施形態によるマネージャによってデータをＳＳＤに書き込むための第２の具体的な実装方法の流れ図である。
【図１６】本発明の実施形態によるＳＳＤをマネージャにより制御してデータ消去を行わせるための方法の流れ図である。
【図１７】本発明の実施形態によるストレージマネージャの構造の模式図である。
【発明を実施するための形態】
【００５４】
以下、本発明の実施形態における技術的解決策について、本発明の実施形態における添付の図面を参照して、明確かつ完全に説明する。明らかに、記載された実施形態は本発明の実施形態の一部にすぎず、全部ではない。本発明の実施形態に基づいて創作的な努力なく当業者によって得られる他のすべての実施形態が本発明の保護範囲に入るべきものである。
【００５５】
本発明の実施形態におけるストレージは、複数の物理ブロックを含み、元のデータが消去されたときにだけ、新しいデータが書き込み可能である。データはページ単位で書き込まれるが、物理ブロック単位で消去される。ＳＳＤはそのようなメモリの代表的なものである。以下の実施形態は、一例としてＳＳＤを用いて説明する。
【００５６】
図１は、ＨＤＤのキャッシュとしてＳＳＤが用いられる従来技術におけるシステムのアーキテクチャ図である。一般に、頻繁にアクセスされるデータはＳＳＤ１０１に格納され、マネージャ１０３は、ＳＳＤ１０１およびＨＤＤ１０２に対して集中管理を行う。マネージャ１０３は、マッピングテーブルを用いることにより、ＨＤＤ１０２のどのデータがＳＳＤ１０１内にキャッシュされるかを記録する。リクエストが到着すると、マネージャ１０３は、マッピングテーブルを検索し、要求されたデータがＳＳＤ１０１内に格納されているかどうかを判定する。データがＳＳＤ１０１に格納されている場合、データはＳＳＤ１０１から読み出される、または、データがＳＳＤ１０１にない場合、データはＨＤＤ１０２から読み出される。ＳＳＤ１０１がデータで完全に書き込まれている場合、データ消去が行われ、したがってまれに使用されるデータが置き換えられる。
【００５７】
図１に示すアーキテクチャについては、ＳＳＤ１０１およびＨＤＤ１０２がハイブリッドドライブとして利用されている場合、マネージャ１０３は、ハイブリッドドライブのコントローラとしてよく、ＳＳＤおよびＨＤＤが独立のデバイスとして別個にコンピュータに接続されている場合、マネージャ１０３は、コンピュータのオペレーティングシステムにロードされてもよいし、または、独立のモジュールとしてコンピュータにロードされてもよい。図１における前述のＳＳＤ１０１は、ＨＤＤのキャッシュとして利用され、また、別の応用シナリオにおいては、ＳＳＤ１０１は、独立のストレージデバイスとして利用されてもよい。本発明は、図１に示すアーキテクチャに適用されてもよいし、または、ＳＳＤ１０１の別の応用シナリオに適用されてもよい。
【００５８】
ＳＳＤは一般的に、ナンド（ｎｏｔ  ａｎｄ，ＮＡＮＤ）フラッシュドライブであり、複数の（例えば、１０２４の）物理ブロックを含んでもよく、また、各物理ブロックは、複数の（例えば６４の）物理ページを含む。物理ページは、データ読み出しおよびデータ書き込みの基本単位であり、物理ブロックは、ＳＳＤがデータ消去を行うための基本単位である。
【００５９】
ＳＳＤは、フラッシュ変換レイヤ（Ｆｌａｓｈ  ｔｒａｎｓｌａｔｉｏｎ  ｌａｙｅｒ，ＦＴＬ）を含み、ＦＴＬは、ＳＳＤ内において、データの論理ブロックアドレス（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ，ＬＢＡ）と物理ブロックアドレス（Ｐｈｙｓｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ，ＰＢＡ）との間の対応関係を記録し、論理ブロックアドレスと物理ブロックアドレスとの間の対応関係にしたがって、データ読み出し動作またはデータ書き込み動作を実行するのに用いられてもよい。
【００６０】
加えて、ＳＳＤ内のデータが更新される必要がある場合、ＦＴＬは、更新後に生じる「新しいデータ」をＳＳＤのアイドル物理ページにさらに書き込み、ＳＳＤ内におけるデータのＬＢＡとＰＢＡとの間の対応関係を更新し、「古いデータ」を含む物理ページを無効なページとしてマークするようにしてもよい。図２に示すように、データ更新要求が、ページ０内のデータを更新することである場合、ＦＴＬは、ページ０内の更新されたデータを、物理ブロックアドレスがｎ＋２である物理ページに書き込み、ページ０内の「古いデータ」が配置されかつ物理ブロックアドレスがｎである物理ページを無効としてマークする。
【００６１】
ＳＳＤが完全に書き込まれた後で、物理ブロックが置き換えられる必要があり、ＦＴＬは、消去する比較的大量の無効なページを有する物理ブロックを選択し、新しいデータの格納のためのスペースを解放するようにする。しかしながら、ＳＳＤによって消去された物理ブロックは大量の有効なデータページを含むことがあるので、これらの有効なページ内のデータページは、消去される必要のある物理ブロック内のデータが消去される前に、別のアイドル状態の場所に移動される必要がある。このプロセスがガベージコレクションである。ガベージコレクションのプロセスにおいては、有効なページ内のデータは別のアイドル状態の場所に移動される必要があるので、有効なページのマイグレーションは、余分な書き込みをもたらし、ＳＳＤ内のデータ書き込み数の量が増大する、すなわち、ライトアンプリフィケーションが生じる。
【００６２】
本発明の実施形態において提供される技術的解決策は、物理ブロックが消去されるときに生じるライトアンプリフィケーションを低減することを意図したものである。本発明の実施形態において提供される技術的解決策は、以下のとおりである。マネージャが、ＳＳＤに書き込む必要のあるデータを、アクセス状態に応じた複数のデータカテゴリ（例えば、ホットデータ、ウォームデータおよびコールドデータ）に分類し、次にＳＳＤを修正し、したがってデータを格納するときに、ＳＳＤが、同一データカテゴリのデータを同じ物理ブロックに格納する。同一データカテゴリのデータページは、基本的な一定のペースで更新されるので、有効なデータページの量は、物理ブロック内のデータページのデータカテゴリにしたがって、物理ブロック内で正規分布中にある。例えば、頻繁にアクセスされるホットデータが配置されている物理ブロックは、比較的大量の無効なデータページを有し、まれにアクセスされるコールドデータが配置されている物理ブロックは、比較的少量の無効なデータページを有する。そのようなデータページの有効性分布は、従来技術におけるランダムな書き込みの場合のものとは異なる。ガベージコレクション中の無効なデータページの量に応じて、ＳＳＤによって選択される消去対象物理ブロックにおける有効なデータページの量は、必ず、従来技術において選択される消去対象物理ブロック内の有効なデータページの量よりも少なくなる。したがって、本発明の実施形態において提供される方法においては、物理ブロックが消去されるときに生じるライトアンプリフィケーションが低減される。
【００６３】
以下、本発明の異なる実施形態を用いて、技術的解決策について詳細に説明する。
【００６４】
図３は、本発明の実施形態による第１のストレージシステム３０のアーキテクチャ図である。第１のストレージシステム３０は、マネージャ３０１とＳＳＤ３０２とを備える。ＳＳＤ３０２は、複数の物理ブロック３０３を含む。マネージャ３０１は、データ書き込み要求を受信し、書き込み対象データページのデータカテゴリを判定し、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定し、データ書き込み命令をＳＳＤ３０２に送信する。各論理ブロックは、同一データカテゴリの書き込み対象データページに対応しており、データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページを運ぶ。
【００６５】
ＳＳＤ３０２は、データ書き込み命令を受信し、データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを、少なくとも１つの論理ブロックに対応する物理ブロック３０３に書き込むように構成されている。同じ論理ブロックに対応する書き込み対象データページは、少なくとも１つの物理ブロック３０３に書き込まれ、各物理ブロック３０３に書き込まれた書き込み対象データページは、同じ論理ブロックに対応している。
【００６６】
マネージャ３０１によって受信されるデータ書き込み要求は、データをＳＳＤ３０２に書き込むのに用いられ、ＳＳＤ３０２に書き込まれるデータは、ストレージシステム３０に最初に書き込まれるデータであってもよいし、または、ＳＳＤ３０２にすでに格納されているデータを更新することにより生じたデータであってもよいし、または、ハードディスクドライブ（図示せず）からＳＳＤ３０２に転送されたデータであってもよい。
【００６７】
ＳＳＤ３０２はデータをページ単位で書き込むので、データ書き込み要求を受信後、マネージャ３０１は、さらに、データ書き込み要求に含まれる書き込み対象データを複数のデータページに分類し、次に各書き込み対象データページのデータカテゴリを別々に判定する。
【００６８】
マネージャ３０１は、データページを複数のデータカテゴリに分類する。本実施形態においては、データカテゴリは、データアクセスカテゴリである。マネージャは、データのアクセス特性にしたがって、データページを複数のデータアクセスカテゴリに分類する。アクセス特性は、データページのアクセス数の量、データページの再利用距離、データページのアクセス頻度、または、データページのものであるアクセス数の量および再利用距離の包括的特性であってもよい。アクセス数の量は、書き込み対象データページがアクセスされる数の量である。再利用距離は、データページへの２つのアクセスを分離するデータページの量である、つまり、データページがアクセスされて、オペレーティングシステムが７つのデータページにアクセスした後でデータページに再びアクセスする場合、データページの再利用距離は７である。アクセス特性はさらに、データページが読み出されまたは書き込まれる数の量等であってもよい。アクセス特性は、実際の状況に応じて具体的に設定されてもよい。
【００６９】
本実施形態においては、データアクセスカテゴリは、コールドデータ、ホットデータまたはウォームデータのうちの任意の２つのカテゴリ、またはすべてのカテゴリの組み合わせを含む。例えば、表１に示すように、アクセス特性がアクセス数の量である場合、アクセス数（Ｎ）の量が１５以上であるデータページがホットデータであり、アクセス数が１５未満かつ５以上のデータページがウォームデータであり、アクセス数が５未満であるデータページがコールドデータであると定義してもよい。
表１：カテゴリ定義テーブル
【００７０】
【表１】
0006616433.tif 000002
【００７１】
データカテゴリの前述の分類および定義は説明のための一例にすぎず、実際の応用におけるいかなる制約を課すものではない。例えば、分類は、異なるデータソースに応じて行われてもよく、例えば、異なるアプリケーションからのデータは、異なるアプリケーションにしたがって分類される。
【００７２】
第１のストレージシステムに最初に書き込まれるデータについては、マネージャ３０１は、データのデータカテゴリをあらかじめ定義しておいてもよい。例えば、第１のストレージシステム３０１に最初に書き込まれるデータのデータカテゴリはデフォルトでホットデータとみなされてもよい。
【００７３】
本実施形態においては、ＳＳＤにおいて、データカテゴリと論理ブロックとの間の対応関係、および論理ブロックと物理ブロックとの間の対応関係は、図４に示されており、つまり、１つのデータカテゴリは、少なくとも１つの論理ブロックに対応していてもよく、また、１つの論理ブロックは、１つデータカテゴリのみに対応していることが可能であり、同様に、１つの論理ブロックは、ＳＳＤ３０２内の少なくとも１つの物理ブロック３０３に対応していてもよく、また、ＳＳＤ３０２内の１つの物理ブロック３０３は、１つの論理ブロックのみに対応していることが可能である。このようにして、各論理ブロックに記録されたデータページは同一データカテゴリのものであり、かつ、各物理ブロックがデータを１つの論理ブロックのみに格納する、すなわち、同一データカテゴリのデータページを格納することが確保され得る。
【００７４】
図４に示すデータカテゴリと論理ブロックとの間の対応関係は、マネージャ３０１によって事前に確立されていてもよい、すなわち、マネージャ３０１は、事前に、ＳＳＤ３０２の論理空間を複数の論理ブロックに分割し、各データカテゴリに対して少なくとも１つの論理ブロックを指定する、例えば、ホットデータに対しては論理ブロックＡおよび論理ブロックＢを指定し、ウォームデータに対しては論理ブロックＣおよび論理ブロックＤを指定し、コールドデータに対しては論理ブロックＥおよび論理ブロックＦを指定する。この場合、書き込み対象データページのデータカテゴリを判定した後で、マネージャ３０１は、書き込み対象データページの判定されたデータカテゴリに対応する論理ブロックを書き込み対象データページに対して指定してもよい。
【００７５】
代替的には、図４に示すデータカテゴリと論理ブロックとの間の対応関係は、マネージャ３０１によって事前に確立されていない。代わりに、マネージャ３０１が各書き込み対象データページのデータカテゴリを判定した後で、書き込み対象データページの判定されたデータカテゴリが対応する論理ブロックを有しない場合、マネージャ３０１は、書き込み対象データページに対して１つの論理ブロックをランダムに指定し、次に書き込み対象データページの判定されたデータカテゴリと指定された論理ブロックとの間の対応関係を確立する、または、判定されたデータカテゴリが対応する論理ブロックを有する場合、マネージャ３０１は、判定されたデータカテゴリに対応する論理ブロックを書き込み対象データページに対して指定する。この実施形態においては、論理ブロックを書き込み対象データページに対して指定した後で、マネージャ３０１は、各論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを、書き込み対象データページに対して指定された論理ブロック内に記録するようにさらに構成されている。
【００７６】
物理ブロック３０３と論理ブロックとの間の対応関係は、ＳＳＤ３０２内に事前に設定されている。各物理ブロック３０３は、１つの論理ブロックに対応しており、各論理ブロックは、少なくとも１つの物理ブロック３０３に対応している。物理ブロック３０３と論理ブロックとの間の対応関係は図４に示されている。このようにして、データ書き込み命令を受信した後で、ＳＳＤ３０２は、少なくとも１つの論理ブロックに関し、かつデータ書き込み命令内にある情報にしたがって、物理ブロックと論理ブロックとの間の対応関係をクエリし、少なくとも１つの論理ブロックに対応する物理ブロック３０３を判定し、少なくとも１つの論理ブロックに対応する書き込み対象データページを、少なくとも１つの論理ブロックに対応する物理ブロック３０３に書き込んでもよい。同じ物理ブロック３０３に格納されたデータは、前述した態様における同一データカテゴリのものであってもよい。
【００７７】
データ書き込み要求内の書き込み対象データページをＳＳＤに書き込むプロセスについてより明確に説明するために、詳細な説明のために図５に示す例を用いる。図５に示す例においては、マネージャ３０１によって受信されるデータ書き込み要求は、書き込み対象データページ ページ０、ページ１およびページ２を含む。マネージャ３０１は、ページ０、ページ１およびページ２のアクセス特性にしたがって、ページ０、ページ１およびページ２の各々のデータカテゴリを判定する、すなわち、ページ０がホットデータであり、ページ１がウォームデータであり、ページ２がコールドデータである。各データページのデータカテゴリを判定した後で、マネージャ３０１は、各データページのカテゴリにしたがって、１つの論理ブロックを各データページに対して指定し、ここでは論理ブロックＡはホットデータページ０に対して指定され、論理ブロックＣはウォームデータページ１に対して指定され、論理ブロックＥはコールドデータページ２に対して指定される。任意選択的には、マネージャ３０１は、各論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを、各書き込み対象データページに対して指定された各論理ブロックにさらに記録してもよい、つまり、ページ０の論理ブロックアドレスを論理ブロックＡ内に記録し、ページ１の論理ブロックアドレスを論理ブロックＣ内に記録し、ページ２の論理ブロックアドレスを論理ブロックＥ内に記録してもよい。マネージャ３０１が１つの論理ブロックを各データページに対して指定した後で、マネージャ３０１は、データ書き込み命令をＳＳＤ３０２に送信する。データ書き込み命令は、書き込み対象データページと、各書き込み対象データページの論理ブロック（ページ０は論理ブロックＡ、ページ１は論理ブロックＣ、ページ２は論理ブロックＥ）に関する情報とを含む。
【００７８】
データ書き込み命令を受信した後で、ＳＳＤ３０２は、各書き込み対象データページの論理ブロックに関する情報、および、ＳＳＤ３０２にあらかじめ設定されている物理ブロックと論理ブロックとの間の対応関係にしたがって、各論理ブロックに対応する物理ブロックを判定する、すなわち、論理ブロックＡは物理ブロックＡおよび物理ブロックＢに対応し、論理ブロックＣは物理ブロックＣおよび物理ブロックＤに対応し、論理ブロックＥは物理ブロックＥおよび物理ブロックＦに対応している。次に、ＳＳＤ３０２は、書き込み対象データページ ページ０を物理ブロックＡまたは物理ブロックＢに格納し、書き込み対象データページ ページ１を物理ブロックＣまたは物理ブロックＤに格納し、書き込み対象データページ ページ２を物理ブロックＥまたは物理ブロックＦに格納する。
【００７９】
この実施形態を用いることにより、ＳＳＤ３０２の同じ物理ブロック３０３は、同一データカテゴリのデータページのみを格納してもよい。このようにして、物理ブロック３０３に格納されたすべてのデータがアクセス頻度の比較的高いホットデータである場合には、物理ブロック３０３内のすべてのデータが更新される可能性は比較的高い。ホットデータを格納する物理ブロック内のホットデータが更新された後で、更新前に物理ブロック内に格納されたホットデータは無効なデータとなり、すなわち、ホットデータを格納する物理ブロック内のデータが更新される可能性が高いので、データ更新後、ホットデータを格納する物理ブロック内には比較的大量の無効なページが存在する。したがって、物理ブロックが消去されるときに、比較的少量の有効なページが移動される必要があり、したがって、ライトアンプリフィケーションが効果的に低減される。
【００８０】
さらに、本実施形態においては、書き込み対象データページに対して論理ブロックを指定した後で、マネージャ３０１は、さらに、各論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを、書き込み対象データページに対して指定された論理ブロック内に記録し、格納されているデータページが更新される必要があると判断されたときに、格納されているデータページの論理ブロックアドレスであり、かつ格納されたデータページに対応する論理ブロックに記録されている論理ブロックアドレスを無効化する。図６に示すように、論理ブロックＡに記録されているデータページ ページ０、ページ３、ページ４およびページ５が更新される場合、データページ ページ０、ページ３、ページ４およびページ５のものであり、かつ論理ブロックＡに記録されている論理ブロックアドレスＬＡ０、ＬＡ３、ＬＡ４およびＬＡ５が無効化される。このようにして、各データページの論理ブロックアドレスを論理ブロック内に記録することにより、マネージャ３０１は、ＳＳＤ内に格納されたデータページのカテゴリと状態とを学習することができ、また、ＳＳＤ３０２に格納されたデータページの管理を実装することができる。
【００８１】
さらに、本実施形態においては、マネージャ３０１は、ＳＳＤ３０２内の物理ブロック３０３の消去を制御してもよい。具体的には、マネージャ３０１は、消去対象論理ブロックを判定し、消去命令をＳＳＤ３０２に送信する。消去命令は、消去対象論理ブロックに関する情報を運ぶ。
【００８２】
ＳＳＤ３０２は、消去命令を受信し、消去対象論理ブロックに関しかつ消去命令内にある情報、および、物理ブロック３０３と論理ブロックとの間の対応関係にしたがって、消去対象物理ブロック３０３を判定し、消去対象物理ブロック３０３を消去する。
【００８３】
本実施形態においては、マネージャ３０１は、各論理ブロックに対応するデータページにしたがって消去対象論理ブロックを判定する。
【００８４】
さらに、マネージャ３０１は、データカテゴリがホットデータである論理ブロック、または大量の無効な論理ブロックアドレスを有する論理ブロックを消去対象論理ブロックとして選択する。
【００８５】
代替的には、マネージャ３０１は、データカテゴリがコールドデータである論理ブロックを消去対象論理ブロックとして選択する。
【００８６】
さらに、本実施形態においては、消去命令をＳＳＤ３０２に送信する前に、マネージャ３０１はさらに、あらかじめ設定されたマイグレーションポリシにしたがって、消去対象論理ブロック内のマイグレーション対象データページを判定し、データマイグレーション命令をＳＳＤ３０２に送信する。データマイグレーション命令はマイグレーション対象データページに関する情報を運ぶ。
【００８７】
ＳＳＤ３０２は、データマイグレーション命令にしたがって、ＳＳＤ３０２内のマイグレーション対象データページを移動する。
【００８８】
マネージャ３０１は、消去対象論理ブロック内のデータページをマイグレーション対象データページとして判定し、ここでは、データページの現在のデータカテゴリはホットデータであり、データページの論理ブロックアドレスは有効である。
【００８９】
マネージャ３０１は、データが書き込まれた時点における書き込み対象データページのものであるデータカテゴリにしたがって、書き込み対象データページに対して論理ブロックを指定する。しかしながら、データページのデータカテゴリはアクセス特性とともに変化し、したがって、データページが論理ブロックに記録された後で、論理ブロック内に記録されたデータページのデータカテゴリが、その後のアクセス特性の変化のために変化する。例えば、データページが書き込まれた時点でデータページのデータカテゴリがホットデータであり、かつ、データページが、ホットデータに対応する論理ブロックに対して指定された後で一度もアクセスされていない場合、データページはコールドデータになる、または、データページが書き込まれた時点でデータページのデータカテゴリがコールドデータであり、データページは、コールドデータに対応する論理ブロックに指定された後でホットデータになる。したがって、消去対象論理ブロックに対して消去が行われた時点で、消去対象論理ブロック内に記録されたデータページのデータカテゴリは、データページがちょうど消去対象論理ブロック内に記録された時点におけるデータカテゴリとは異なることがあり得る。したがって、消去対象論理ブロックに対して消去が行われると、消去対象論理ブロック内のデータページのカテゴリはさらに判定されてもよく、したがって、特定のカテゴリ、例えば、ホットデータまたはウォームデータのデータページのみが移動される。このようにして、データマイグレーションの量がさらに削減されてもよく、ライトアンプリフィケーションはさらに低減される。
【００９０】
データマイグレーションの間、マイグレーション対象データページに関しかつデータマイグレーション命令内において運搬される情報は、マイグレーション対象データページの論理ブロックアドレスである。データマイグレーション命令を受信した後で、ＳＳＤ３０２は、マイグレーション対象データページの論理ブロックアドレスであり、かつデータマイグレーション命令内にある論理ブロックアドレスにしたがって、消去対象物理ブロック内のマイグレーション対象データページを見つけ、次にマイグレーション対象データページを移動する。
【００９１】
さらに、消去対象論理ブロック内のマイグレーション対象データページを判定した後で、マネージャ３０１は、さらに、マイグレーション対象データページの論理ブロックアドレスをマイグレーション対象データページのデータカテゴリに対応する論理ブロック内に記録する。これに対応して、マネージャ３０１によってＳＳＤ３０２に送信されるデータマイグレーション命令は、さらに、マイグレーション対象データページのデータカテゴリに対応する論理ブロックに関する情報を運ぶ。ＳＳＤ３０２は、マイグレーション対象データページのデータカテゴリに対応する論理ブロックに関し、かつマイグレーション命令内において運搬される情報にしたがって、マイグレーション対象データページのデータカテゴリに対応する論理ブロックに対応する物理ブロックを判定し、マイグレーション対象データページをマイグレーション対象データページのデータカテゴリに対応する論理ブロックに対応する物理ブロックに移動する。
【００９２】
図７に示すように、論理ブロックＡは、比較的大量の無効な論理ページのために消去対象論理ブロックとして選択されるが、有効な論理ブロックアドレスＬＡ１４、ＬＡ１５、ＬＡ１６およびＬＡ１７もまた論理ブロックＡ内に存在しており、ここでは有効な論理ブロックアドレスＬＡ１４およびＬＡ１５に対応するデータカテゴリは、コールドデータであり、ＬＡ１６およびＬＡ１７に対応するデータカテゴリは、それぞれ、ウォームデータおよびホットデータである。この場合、マイグレーション対象データページは有効な論理ブロックアドレスＬＡ１６およびＬＡ１７に対応するデータページであると判定されてもよい。有効な論理ブロックアドレスＬＡ１６は、ウォームデータに対応する論理ブロックＣに移動され、有効な論理ブロックアドレスＬＡ１７は、ホットデータに対応する論理ブロックＢに移動される。次に、マネージャ３０１は、データマイグレーション命令をＳＳＤ３０２に送信し、データマイグレーション命令は、マイグレーション対象データページ ページ１６およびページ１７の論理ブロックアドレスＬＡ１６およびＬＡ１７を運び、ＬＡ１６およびＬＡ１７にそれぞれ対応している論理ブロック、すなわち、論理ブロックＣおよび論理ブロックＢに関する情報を記録する。
【００９３】
データマイグレーション命令を受信した後で、ＳＳＤ３０２は、論理ブロックアドレスＬＡ１６およびＬＡ１７にしたがって、消去対象論理ブロックＡに対応する消去対象物理ブロックＢ内のマイグレーション対象データページ ページ１６およびページ１７を見つけ、次にマイグレーション対象データページ ページ１６を、論理ブロックアドレスＬＡ１６が記録されている論理ブロックに対応する物理ブロックＣに移動し、マイグレーション対象データページ ページ１７を、論理ブロックアドレスＬＡ１７が記録されている論理ブロックに対応する物理ブロックＧに移動する。データマイグレーションが完了した後で、ＳＳＤ３０２は、消去対象物理ブロックＡおよび消去対象物理ブロックＢを消去してもよい。
【００９４】
図８は、本発明の別の実施形態による第２のストレージシステム８０のアーキテクチャ図である。第２のストレージシステム８０は、マネージャ８０１と、ＳＳＤ８０２と、少なくとも１つのキャッシュ８０４とを備える。ＳＳＤ８０２は、複数の物理ブロック８０３を含む。
【００９５】
データ書き込み要求を受信した後で、マネージャ８０１は、異なるデータカテゴリの書き込み対象データページを異なるキャッシュ８０４に書き込み、各キャッシュ８０４に書き込まれた書き込み対象データページは同一データカテゴリのものであり、いずれかのキャッシュ８０４が完全に書き込まれると、１つの論理ブロックを、同じカテゴリのデータページであり、かつ完全に書き込まれたキャッシュ８０４内にあるデータページに対して指定し、データ書き込み命令をＳＳＤ８０２に送信する。データ書き込み命令は、完全に書き込まれたキャッシュ８０４内のデータページに対して指定された論理ブロックに関する情報と、完全に書き込まれたキャッシュ８０４内のデータページとを運ぶ。各キャッシュの容量は各論理ブロックの容量以下である。
【００９６】
データ書き込み命令を受信した後で、データ書き込み命令にしたがって、ＳＳＤ８０２は、完全に書き込まれたキャッシュ８０４内のデータページに対して指定された論理ブロックに物理ブロック８０３を割り当て、完全に書き込まれたキャッシュ８０４内のデータページを割り当てられた物理ブロック８０３に書き込む。割り当てられた物理ブロック８０３は、ＳＳＤ内のアイドル物理ブロック８０３であり、アイドル物理ブロック８０３は、その後、非アイドルとしてマークされる。割り当てられた物理ブロック８０３の総容量は、完全に書き込まれたキャッシュ８０４内のデータページに対して指定された論理ブロックの容量以上である。
【００９７】
本実施形態においては、アイドル物理ブロック８０３は、物理ブロック８０３が割り当てられた後は非アイドルとしてマークされてもよいし、または、キャッシュ８０４内のデータページが物理ブロック８０３に書き込まれた後は非アイドルとしてマークされてもよい。
【００９８】
第２のストレージシステム８０においては、データページカテゴリを分類する態様、データカテゴリと論理ブロックとの間の対応関係を確立するための態様、および、書き込み対象データページに対して論理ブロックを指定するための態様は、第１のストレージシステム３０におけるものと同じであり、詳細についてはここでは説明しない。
【００９９】
第２のストレージシステム８０においては、各データカテゴリのデータページに対して１つのキャッシュが設定される。データ書き込み命令が受信されると、同一データカテゴリの書き込み対象データページがまず、同一のキャッシュに書き込まれ、次に、完全に書き込まれたキャッシュ内のデータを同一の物理ブロック内に格納するようにＳＳＤに指示するために、データ書き込み命令がＳＳＤに送信される。このようにして、同一の物理ブロック８０３が同一データカテゴリのデータを格納し、データ書き込みの粒度が増大可能であり、したがってデータ書き込み効率が改善される。
【０１００】
第２のストレージシステム８０においては、物理ブロック８０３内のデータの消去、および、消去前に消去対象物理ブロック８０３のデータを移動する態様は、第１のストレージシステム３０におけるものと同じであり、詳細についてはここでは説明しない。
【０１０１】
図９は、本発明の実施形態による第１のストレージ管理装置９０のブロック図である。第１のストレージ管理装置９０は、ストレージシステムに適用され、ストレージシステムは、ＳＳＤを備え、ＳＳＤは、複数の物理ブロックを含む。第１のストレージ管理装置９０は、分類モジュール９０１と、論理ブロック管理モジュール９０２と、書き込み命令モジュール９０３と、消去命令モジュール９０４と、マイグレーション命令モジュール９０５とを備える。
【０１０２】
分類モジュール９０１は、データ書き込み要求を受信し、書き込み対象データページのデータカテゴリを判定するように構成されている。
【０１０３】
分類モジュール９０１によってデータを分類するための態様は、第１のストレージシステム３０におけるマネージャ３０１によってデータを分類するための態様と同じであり、詳細についてはここでは説明しない。
【０１０４】
論理ブロック管理モジュール９０２は、分類モジュール９０１の分類結果にしたがって、異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定するように構成されている。各指定された論理ブロックは同一データカテゴリの書き込み対象データページに対応している。
【０１０５】
論理ブロック管理モジュール９０２によって異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定するための態様は、第１のストレージシステム３０におけるマネージャ３０１によって異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定するための態様と同じであり、詳細についてはここでは説明しない。
【０１０６】
書き込み命令モジュール９０３は、論理ブロック管理モジュール９０２によって書き込み対象データページに対して指定された論理ブロックにしたがって、データ書き込み命令をＳＳＤに送信するように構成されている。データ書き込み命令は、少なくとも１つの指定された論理ブロックに対応する書き込み対象データページを運び、データ書き込み命令は、データ書き込み命令にしたがって、少なくとも１つの指定された論理ブロックに対応する書き込み対象データページを、少なくとも１つの指定された論理ブロックに対応する物理ブロックに書き込むようにＳＳＤに対して指示するのに用いられる。同じ論理ブロックに対応する書き込み対象データページは、少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページが、同じ論理ブロックに対応している。
【０１０７】
データ書き込み命令は、さらに、少なくとも１つの指定された論理ブロックに関しかつデータ書き込み命令内にある情報にしたがって、ＳＳＤ内に設定された物理ブロックと論理ブロックとの間の対応関係をクエリし、少なくとも１つの指定された論理ブロックに対応する物理ブロックを判定し、少なくとも１つの指定された論理ブロックに対応する書き込み対象データページを少なくとも１つの指定された論理ブロックに対応する物理ブロックに書き込むようにＳＳＤに指示する。
【０１０８】
異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定した後で、論理ブロック管理モジュール９０２は、少なくとも１つの指定された論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを、少なくとも１つの指定された論理ブロックに記録し、少なくとも１つの指定された論理ブロックと少なくとも１つの指定された論理ブロックに対応するデータページのデータカテゴリとの間の対応関係を記録するようにさらに構成されている。
【０１０９】
消去命令モジュール９０４は、消去対象論理ブロックを判定して消去命令をＳＳＤに送信するように構成されている。消去命令は、消去対象論理ブロックに関する情報を運び、消去命令は、消去対象論理ブロックに関しかつ消去命令内にある情報、および、ＳＳＤ内に設定された物理ブロックと論理ブロックとの間の対応関係にしたがって、消去対象物理ブロックを判定して消去対象物理ブロックを消去するようにＳＳＤに対して指示するのに用いられる。
【０１１０】
さらに、格納されたデータページが更新される必要があると判断されると、論理ブロック管理モジュール９０２は、格納されたデータページの論理ブロックアドレスであり、かつ格納されたデータページに対応する論理ブロック内に記録されている論理ブロックアドレスを無効化する。
【０１１１】
消去命令モジュール９０４は、各論理ブロックに対応するデータページにしたがって、消去対象論理ブロックを判定する。
【０１１２】
さらに、消去命令モジュール９０４は、データカテゴリがホットデータである論理ブロック、または大量の無効な論理ブロックアドレスを有する論理ブロックを消去対象論理ブロックとして選択する。
【０１１３】
代替的には、消去命令モジュール９０４は、データカテゴリがコールドデータである論理ブロックを消去対象論理ブロックとして選択する。
【０１１４】
消去命令モジュール９０４が消去命令をＳＳＤに送信する前に、マイグレーション命令モジュール９０５は、あらかじめ設定されたマイグレーションポリシにしたがって、消去対象論理ブロック内のマイグレーション対象データページを判定し、データマイグレーション命令をＳＳＤに送信するように構成されている。データマイグレーション命令は、マイグレーション対象データページに関する情報を運び、データマイグレーション命令は、ＳＳＤ内のマイグレーション対象データページを移動するようにＳＳＤに対して指示するのに用いられる。
【０１１５】
マイグレーション命令モジュール９０５は、消去対象論理ブロック内のデータページをマイグレーション対象データページとして判定し、データページの現在のデータカテゴリはホットデータであり、データページの論理ブロックアドレスは有効である。
【０１１６】
図１０は本発明の別の実施形態による第２のストレージ管理装置１００のブロック図である。第２のストレージ管理装置１００は、ストレージシステムに適用され、ストレージシステムは、ＳＳＤと少なくとも１つのキャッシュとを備えており、ＳＳＤは、複数の物理ブロックを含む。ストレージ管理装置１００は、分類モジュール１００１と、キャッシュ書き込みモジュール１００２と、論理ブロック管理モジュール１００３と、書き込み命令モジュール１００４と、消去命令モジュール１００５と、マイグレーション命令モジュール１００６とを備える。
【０１１７】
分類モジュール１００１は、データ書き込み要求を受信し、書き込み対象データページのデータカテゴリを判定するように構成されている。
【０１１８】
キャッシュ書き込みモジュール１００２は、分類モジュール１００１の分類結果にしたがって、異なるデータカテゴリの書き込み対象データページを異なるキャッシュに書き込むように構成されている。同一データカテゴリの書き込み対象データページは同一のキャッシュに書き込まれ、各キャッシュの容量は各論理ブロックの容量以下である。論理ブロック管理モジュール１００３は、分類モジュール１００１の分類結果にしたがって、同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して１つの論理ブロックを指定するように構成されている。
【０１１９】
キャッシュがキャッシュ書き込みモジュール１００２によって完全に書き込まれると、書き込み命令モジュール１００４は、論理ブロック管理モジュール１００３によって書き込み対象データページに対して指定された論理ブロックにしたがって、データ書き込み命令をＳＳＤに送信するように構成されている。データ書き込み命令は、少なくとも１つの指定された論理ブロックに関する情報と、少なくとも１つの指定された論理ブロックに対応するデータページとを運ぶ。
【０１２０】
データ書き込み命令は、少なくとも１つの指定された論理ブロックに物理ブロックを割り当て、少なくとも１つの指定された論理ブロックに対応するデータページを、割り当てられた物理ブロックに書き込むようにＳＳＤに指示するのに用いられる。割り当てられた物理ブロックは、ＳＳＤ内のアイドル物理ブロックであり、アイドル物理ブロックは、その後、非アイドルとしてマークされる。割り当てられた物理ブロックの総容量は、少なくとも１つの指定された論理ブロックの容量以上である。本実施形態においては、アイドル物理ブロックは、物理ブロックが割り当てられた後で非アイドルとしてマークされてもよいし、または、キャッシュ内のデータページが物理ブロックに書き込まれた後で非アイドルとしてマークされてもよい。
【０１２１】
消去命令モジュール１００５およびマイグレーション命令モジュール１００６によって実行される機能は、第１のストレージ管理装置９０内にある消去命令モジュール９０４およびマイグレーション命令モジュール９０５によって実行される機能と同一であり、詳細についてはここでは説明しない。
【０１２２】
図１１は本発明の実施形態によるＳＳＤ１１のブロック図である。ＳＳＤ１１は、ストレージシステムに適用されることがあり、ストレージシステムは、マネージャを備える。ＳＳＤ１１は、受信モジュール１１０２と、書き込みモジュール１１０３と、消去モジュール１１０４と、マイグレーションモジュール１１０５とを備える。
【０１２３】
受信モジュール１１０２は、マネージャによって送信されるデータ書き込み命令を受信するように構成されている。データ書き込み命令は、少なくとも１つの指定された論理ブロックに対応する書き込み対象データページと、少なくとも１つの指定された論理ブロックに関する情報とを運ぶ。データ書き込み命令は、マネージャが書き込み対象データページのデータカテゴリを判定して異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定した後で、マネージャによって送信される。各指定された論理ブロックは、同一データカテゴリの書き込み対象データページに対応している。
【０１２４】
書き込みモジュール１１０３は、少なくとも１つの指定された論理ブロックに関しかつデータ書き込み命令内にある情報にしたがって、ＳＳＤ１１内に設定されている物理ブロックと論理ブロックとの間の対応関係をクエリし、少なくとも１つの指定された論理ブロックに対応する物理ブロックを判定し、少なくとも１つの指定された論理ブロックに対応する書き込み対象データページを少なくとも１つの指定された論理ブロックに対応する物理ブロックに書き込むように構成されている。各物理ブロックは、１つの論理ブロックに対応し、各論理ブロックが少なくとも１つの物理ブロックに対応している。
【０１２５】
受信モジュール１１０２は、マネージャによって送信される消去命令を受信するようにさらに構成されている。消去命令は、マネージャが消去対象論理ブロックを判定した後で、マネージャによって送信され、消去命令は、消去対象論理ブロックに関する情報を運ぶ。
【０１２６】
消去モジュール１１０４は、消去対象論理ブロックに関し、かつ消去命令内にある情報、および物理ブロックと論理ブロックとの間の対応関係にしたがって、消去対象物理ブロックを判定し、消去対象物理ブロックを消去するように構成されている。
【０１２７】
受信モジュール１１０２は、マネージャによって送信されるデータマイグレーション命令を受信するようにさらに構成されている。データマイグレーション命令は、マネージャがあらかじめ設定されたマイグレーションポリシにしたがって、消去対象論理ブロック内のマイグレーション対象データページを判定した後で、マネージャによって送信され、データマイグレーション命令は、マイグレーション対象データページに関する情報を運ぶ。
【０１２８】
マイグレーションモジュール１１０５は、データマイグレーション命令にしたがって、ＳＳＤ内のマイグレーション対象データページを移動するように構成されている。
【０１２９】
キャッシュおよびマネージャを備えたシステムにおいて、ＳＳＤ１１は、データ書き込み命令を受信するようにさらに構成されていてもよい。データ書き込み命令は、マネージャが異なるデータカテゴリの書き込み対象データページを異なるキャッシュに書き込んだ後で、マネージャによって送信され、キャッシュが完全に書き込まれると、少なくとも１つの論理ブロックを各完全に書き込まれたキャッシュ内の同一データカテゴリのデータページに対して指定する。各キャッシュに書き込まれた書き込み対象データページは、同一データカテゴリのものである。
【０１３０】
受信モジュール１１０２がデータ書き込み命令を受信した後で、データ書き込み命令にしたがって、書き込みモジュール１１０３は、少なくとも１つの指定された論理ブロックに物理ブロックを割り当て、少なくとも１つの指定された論理ブロックに対応するデータページを、割り当てられた物理ブロックに書き込む。割り当てられた物理ブロックは、ＳＳＤ１１内のアイドル物理ブロックであり、アイドル物理ブロックは、その後、非アイドルとしてマークされる。割り当てられた物理ブロックの総容量は少なくとも１つの指定された論理ブロックの容量以上である。
【０１３１】
書き込みモジュール１１０３は、少なくとも１つの指定された論理ブロックに関する情報に関しかつデータ書き込み命令内にある情報、および少なくとも１つの指定された論理ブロックに割り当てられた物理ブロックに関する情報にしたがって、物理ブロックと論理ブロックとの間の対応関係を記録するようにさらに構成されている。
【０１３２】
図１２は、本発明の実施形態によるハイブリッドストレージ装置１２０の構造図である。ハイブリッドストレージ装置１２は、マネージャ１２０１と、ＳＳＤ１２０２と、ＨＤＤ１２０３とを備える。ＳＳＤ１２０２は、ＨＤＤのキャッシュとして用いられ、ＳＳＤ１２０２は、複数の物理ブロック１２０４を含む。
【０１３３】
マネージャ１２０１によって実行される機能は、第１のストレージシステム３０におけるマネージャ３０１、または第２のストレージシステム８０におけるマネージャ８０１によって実行される機能と同じであり、ＳＳＤ１２０２によって実行される機能は、第１のストレージシステム３０におけるＳＳＤ３０２、または第２のストレージシステム８０におけるＳＳＤ８０２によって実行される機能と同じである。詳細についてはここでは説明しない。
【０１３４】
本発明の実施形態は、ストレージ管理方法をさらに提供する。ストレージ管理方法は、ストレージ管理システムに適用されてもよい。ストレージ管理システムは、マネージャとＳＳＤとを備えており、ＳＳＤは複数の物理ブロックを含む。ストレージ管理方法は、２つの部分を含む。すなわち、第１の部分は、マネージャによってデータをＳＳＤに書き込む方法であり、第２の部分は、マネージャによってＳＳＤを制御してデータ消去を行わせる方法である。
【０１３５】
図１３は、マネージャによって、データをＳＳＤに書き込むための方法の流れ図である。
【０１３６】
ステップＳ１３０１：マネージャがデータ書き込み要求を受信して書き込み対象データページのデータカテゴリを判定する。
【０１３７】
ステップＳ１３０２：マネージャが異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定し、各論理ブロックは同一データカテゴリの書き込み対象データページに対応している。
【０１３８】
ステップＳ１３０３：マネージャがデータ書き込み命令をＳＳＤに送信し、データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページと、少なくとも１つの指定された論理ブロックに関する情報とを運ぶ。
【０１３９】
ステップＳ１３０４：ＳＳＤがデータ書き込み命令を受信し、データ書き込み命令にしたがって、少なくとも１つの論理ブロックに対応する書き込み対象データページを少なくとも１つの論理ブロックに対応する物理ブロックに書き込み、同じ論理ブロックに対応する書き込み対象データページが少なくとも１つの物理ブロックに書き込まれ、各物理ブロックに書き込まれた書き込み対象データページが、同じ論理ブロックに対応している。
【０１４０】
ステップＳ１３０２の後で、方法は、マネージャが、少なくとも１つの指定された論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを少なくとも１つの指定された論理ブロックへ記録し、少なくとも１つの指定された論理ブロックと少なくとも１つの指定された論理ブロックに対応するデータページのデータカテゴリとの間の対応関係を記録することをさらに含むようにしてよい。
【０１４１】
図１４は、マネージャによってデータをＳＳＤに書き込むための第１の具体的な実装方法の流れ図である。
【０１４２】
ステップＳ１４０１：マネージャがデータ書き込み要求を受信して書き込み対象データページのデータカテゴリを判定する。
【０１４３】
ステップＳ１４０２：マネージャが異なるデータカテゴリの書き込み対象データページに対して異なる論理ブロックを指定し、各論理ブロックは同一データカテゴリの書き込み対象データページに対応している。
【０１４４】
ステップＳ１４０３：マネージャがデータ書き込み命令をＳＳＤに送信し、データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページと、少なくとも１つの指定された論理ブロックに関する情報とを運ぶ。
【０１４５】
ステップＳ１４０４：ＳＳＤが、少なくとも１つの指定された論理ブロックに関し、かつデータ書き込み命令内にある情報にしたがって、ＳＳＤに設定された物理ブロックと論理ブロックとの間の対応関係をクエリし、少なくとも１つの指定された論理ブロックに対応する物理ブロックを判定する。
【０１４６】
【０１４７】
ステップＳ１４０５：ＳＳＤが、少なくとも１つの指定された論理ブロックに対応する書き込み対象データページを少なくとも１つの指定された論理ブロックに対応する物理ブロックに書き込む。
【０１４８】
ステップＳ１４０２の後で、方法は、マネージャが少なくとも１つの指定された論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを少なくとも１つの指定された論理ブロックへ記録し、少なくとも１つの指定された論理ブロックと、少なくとも１つの指定された論理ブロックに対応するデータページのデータカテゴリとの間の対応関係を記録することをさらに含むようにしてもよい。
【０１４９】
ストレージ管理方法が適用されたストレージ管理システムは、複数のキャッシュをさらに備える。複数のキャッシュを備えたストレージ管理システムにおいて、マネージャは、第２の方法を用いることによりデータをＳＳＤに書き込む。
【０１５０】
図１５は、マネージャによってデータをＳＳＤに書き込むための第２の具体的な実装方法の流れ図である。
【０１５１】
ステップＳ１５０１：マネージャがデータ書き込み要求を受信して書き込み対象データページのデータカテゴリを判定する。
【０１５２】
ステップＳ１５０２：マネージャが異なるデータカテゴリの書き込み対象データページを異なるキャッシュに書き込み、同一データカテゴリの書き込み対象データページは同じキャッシュに書き込まれる。
【０１５３】
ステップＳ１５０３：キャッシュが完全に書き込まれると、マネージャは、同一データカテゴリのデータページであり、かつ各完全に書き込まれたキャッシュ内にあるデータページに対して少なくとも１つの論理ブロックを指定する。
【０１５４】
ステップＳ１５０４：マネージャがデータ書き込み命令をＳＳＤに送信し、データ書き込み命令は、少なくとも１つの論理ブロックに対応する書き込み対象データページと、少なくとも１つの指定された論理ブロックに関する情報とを運ぶ。
【０１５５】
ステップＳ１５０５：ＳＳＤが、データ書き込み命令にしたがって、物理ブロックを少なくとも１つの指定された論理ブロックに割り当てる。
【０１５６】
ステップＳ１５０６：ＳＳＤが、少なくとも１つの指定された論理ブロックに対応するデータページを、割り当てられた物理ブロックに書き込む。
【０１５７】
ステップＳ１５０７：ＳＳＤが、少なくとも１つの指定された論理ブロックに関しかつデータ書き込み命令内にある情報、および少なくとも１つの指定された論理ブロックに割り当てられた物理ブロックに関する情報にしたがって、物理ブロックと論理ブロックとの間の対応関係を記録する。
【０１５８】
ステップＳ１５０３の後で、方法は、マネージャが、少なくとも１つの指定された論理ブロックに対応する各書き込み対象データページの論理ブロックアドレスを少なくとも１つの指定された論理ブロックに記録し、少なくとも１つの指定された論理ブロックと、少なくとも１つの指定された論理ブロックに対応するデータページのデータカテゴリとの間の対応関係を記録することをさらに含むようにしてもよい。
【０１５９】
ストレージ管理方法は、格納されたデータページが更新される必要があると判断されると、マネージャが、格納されたデータページの論理ブロックアドレスであり、かつ格納されたデータページに対応する論理ブロック内に記録されている論理ブロックアドレスを無効化することをさらに含む。
【０１６０】
図１６は、マネージャによってＳＳＤを制御してＳＳＤにデータ消去を行わせるための方法の流れ図である。
【０１６１】
ステップＳ１６０１：マネージャが消去対象論理ブロックを判定する。
【０１６２】
ステップＳ１６０２：マネージャが、あらかじめ設定されたマイグレーションポリシにしたがって、消去対象論理ブロック内のマイグレーション対象データページを判定する。
【０１６３】
ステップＳ１６０３：マネージャがデータマイグレーション命令をＳＳＤに送信し、データマイグレーション命令は、マイグレーション対象データページに関する情報を運ぶ。
【０１６４】
ステップＳ１６０４：ＳＳＤがデータマイグレーション命令を受信し、マイグレーション対象データページに関し、かつデータマイグレーション命令内にある情報にしたがって、ＳＳＤ内のマイグレーション対象データページを移動する。
【０１６５】
ステップＳ１６０５：マネージャが消去命令をＳＳＤに送信し、消去命令は消去対象論理ブロックに関する情報を運ぶ。
【０１６６】
ステップＳ１６０６：ＳＳＤが、消去命令を受信し、消去対象論理ブロックに関しかつ消去命令内にある情報、および物理ブロックと論理ブロックとの間の対応関係にしたがって、消去対象物理ブロックを判定し、消去対象物理ブロックを消去する。
【０１６７】
マネージャは、２つの態様で消去対象論理ブロックを判定することがある。すなわち、態様１：指定された論理ブロックにおける無効な論理ブロックアドレスの量にしたがって消去対象論理ブロックを判定し、消去対象論理ブロックに含まれる無効な論理ブロックアドレスの量はあらかじめ設定された値よりも大きく、態様２：指定された論理ブロックと指定された論理ブロックに対応するデータページのデータカテゴリとの間の対応関係にしたがって、データカテゴリがコールドデータである論理ブロックを消去対象論理ブロックとして選択する。
【０１６８】
図１７は、本発明の実施形態によるストレージマネージャの構造的構成の模式図である。本発明のこの実施形態におけるストレージマネージャは、
プロセッサ１７０１と、メモリ１７０２と、システムバス１７０４と、通信インタフェース１７０５とを備えることがある。プロセッサ１７０１、メモリ１７０２および通信インタフェース１７０５は、システムバス１７０４を用いることにより接続されていて、相互に通信を完了する。
【０１６９】
プロセッサ１７０１は、本発明のこの実施形態を実装するように構成された、シングルコアもしくはマルチコア中央演算処理装置、特定用途向け集積回路、または１つまたは複数の集積回路であってもよい。
【０１７０】
メモリ１７０２は高速ＲＡＭメモリであってもよいし、または少なくとも１つの磁気ディスク記憶装置のような不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）であってもよい。
【０１７１】
メモリ１７０２は、コンピュータ実行可能命令１７０３を格納するように構成されている。具体的には、コンピュータ実行可能命令１７０３はプログラムコードを含んでもよい。
【０１７２】
ストレージマネージャが動作すると、プロセッサ１７０１は、コンピュータ実行可能命令１７０３を実行することによって、図１３ないし図１６の方法手順のいずれか１つを実行してもよい。
【０１７３】
本発明の実施形態は、コンピュータ実行可能命令を含むコンピュータ可読媒体をさらに提供する。コンピュータのプロセッサがコンピュータ実行可能命令を実行するときに、コンピュータは図１３ないし図１６の方法のいずれか１つを実行する。
【０１７４】
本発明においては、ＳＳＤによって実行される機能は、ＳＳＤのＦＴＬを改善してＳＳＤのＦＴＬによって実行され、または、ＳＳＤに組み込まれた独立の機能モジュールであってもよい。
【０１７５】
当業者は、前述の実施形態の方法のステップの全部または一部が関連したハードウェアに指示するプログラムによって実装されてもよいことを理解することがある。プログラムはコンピュータ可読記憶媒体に格納されてもよい。記憶媒体は、ＲＯＭ、ＲＡＭ、磁気ディスクまたは光ディスクを含み得る。
本発明の実施形態において提供されるストレージシステム、ストレージ管理装置、ストレージ、ハイブリッドストレージ装置およびストレージ管理方法については、上記詳細に説明されている。本明細書においては、具体例は本発明の原理と実装態様とを説明するために用いられている。前述の実施形態の記載は単に、本発明の方法およびその中核的アイデアを理解するのを助けるのに提供されているにすぎない。加えて、当業者は、本発明のアイデアによる具体的な実装態様および用途範囲の点において、本発明に対する変形および変更を行うことができる。したがって、明細書の内容は本発明への制限として解釈されるべきものではない。
【図１】
0006616433.tif 000003
【図２】
0006616433.tif 000004
【図３】
0006616433.tif 000005
【図４】
0006616433.tif 000006
【図５】
0006616433.tif 000007
【図６】
0006616433.tif 000008
【図７】
0006616433.tif 000009
【図８】
0006616433.tif 000010
【図９】
0006616433.tif 000011
【図１０】
0006616433.tif 000012
【図１１】
0006616433.tif 000013
【図１２】
0006616433.tif 000014
【図１３】
0006616433.tif 000015
【図１４】
0006616433.tif 000016
【図１５】
0006616433.tif 000017
【図１６】
0006616433.tif 000018
【図１７】
0006616433.tif 000019