(57)【要約】  本発明を適用した１システムは、処理部と、ブロック単位でデータの消去が行われる複数の記憶装置と、それぞれ、複数の記憶装置のなかで割り当てられた１つ以上の記憶装置上に存在する、データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、複数の記憶装置へのデータの書き込みを要求する書込命令を処理部が発行した場合、複数の記憶部のなかで制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、書込命令により要求されたデータを書き込むアクセス部と、を有する。
2015083225.tif 000002
【特許請求の範囲】
【請求項１】
処理部と、
ブロック単位でデータの消去が行われる複数の記憶装置と、
それぞれ、前記複数の記憶装置のなかで割り当てられた１つ以上の記憶装置上に存在する、前記データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、
前記複数の記憶装置へのデータの書き込みを要求する書込命令を前記処理部が発行した場合、前記複数の記憶部のなかで前記制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、前記書込命令により要求されたデータを書き込むアクセス部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記複数の記憶装置は、複数のチャネルにそれぞれ前記記憶装置が１つ以上、接続され、
前記記憶装置が接続されている各チャネルには、それぞれ、前記複数の記憶部のなかの１つ以上の記憶部が割り当てられている、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記アクセス部は、前記各チャネルに接続されている前記記憶装置の状態を基に、前記複数の記憶部のなかで前記制御情報を用いる記憶部の選択を行う、
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記アクセス部による前記記憶部の選択結果を表す履歴情報を格納した他の記憶部を備え、
前記アクセス部は、前記各チャネルに接続されている前記記憶装置の状態、及び前記他の記憶部に格納されている前記履歴情報を基に、前記複数の記憶部のなかで前記制御情報を用いる記憶部の選択を行う、
ことを特徴とする請求項２、または３記載の情報処理装置。
【請求項５】
ブロック単位でデータの消去が行われる複数の記憶装置と、
それぞれ、前記複数の記憶装置のなかで割り当てられた１つ以上の記憶装置上の前記データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、
前記複数の記憶装置へのデータの書き込みを要求する書込命令を受信した場合、前記複数の記憶部のなかで前記制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、前記書込命令により要求されたデータを書き込むアクセス部と、
を有することを特徴とするストレージ。
【請求項６】
前記複数の記憶装置は、複数のチャネルにそれぞれ前記記憶装置が１つ以上、接続され、
前記記憶装置が接続されている各チャネルには、それぞれ、前記複数の記憶部のなかの１つ以上の記憶部が割り当てられ、
前記アクセス部は、前記各チャネルに接続されている前記記憶装置の状態を基に、前記複数の記憶部のなかで前記制御情報を用いる記憶部の選択を行う、
ことを特徴とする請求項５記載のストレージ。
【請求項７】
情報処理装置に、
ブロック単位でデータの消去が行われる複数の記憶装置と、
それぞれ、前記複数の記憶装置のなかで割り当てられた１つ以上の記憶装置上の前記データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、を搭載し、
前記複数の記憶装置へのデータの書き込みを要求する書込命令が発行された場合、前記複数の記憶部のなかで前記制御情報を用いる記憶部を選択させ、
該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、前記書込命令により要求されたデータを書き込ませる、
ことを特徴とするアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロック単位でデータの消去を行う複数の記憶装置を管理するための技術に関する。
【背景技術】
【０００２】
現在の情報処理装置（コンピュータ）の大部分には、不揮発性の半導体メモリが搭載されている。不揮発性の半導体メモリの一種であるフラッシュメモリは、近年、ストレージにも広く採用されている。ＳＳＤ（Solid State Drive）は、フラッシュメモリを記憶媒体として採用している代表的なストレージである。フラッシュメモリが広く採用されるようになったのは、大容量のフラッシュメモリが比較的に安価になった、磁気ディスク装置（例えばハードディスク装置）などと比較して動作速度が高速である、といった理由からである。【０００３】
フラッシュメモリには、ＮＡＮＤ型と、ＮＯＲ型とがある。ここでは便宜的に、ＮＡＮＤ型のフラッシュメモリ（以降「ＮＡＮＤフラッシュメモリ」と表記。ＮＯＲ型のフラッシュメモリは「ＮＯＲフラッシュメモリ」と表記）を例にとり、一般的な制御方法について説明する。【０００４】
ＮＡＮＤフラッシュメモリは、ＮＯＲフラッシュメモリと比較して、大容量化（高集積化）が容易であり、且つ書き込みを高速に行えるという利点を備えている。しかし、ＮＡＮＤフラッシュメモリでは、１バイト単位の読み出しはできず、ランダムアクセスによる読み出しはＮＯＲフラッシュメモリよりも低速であるという欠点を有する。ＮＡＮＤフラッシュメモリ、及びＮＯＲフラッシュメモリは共に、数ＫＢから数十ＫＢ程度のブロック単位でしか消去・書き込みができない。【０００５】
ＮＡＮＤフラッシュメモリでは、通常、読み出し・書き込みはページ単位で実行され、消去は複数ページ分の容量を有する「ブロック」と呼ばれる単位で実行される。ページを書き込んだブロックには直ちに上書きを行うことはできない。上書きを行う場合、そのページが書き込まれたブロックを消去した後、上書きすべきページ、及びそのブロックの他のページを書き込まなければならない。多くの場合、書き込むべきページは、そのページが書き込まれているブロックの他のページと共に、別のブロックに書き込まれる。【０００６】
フラッシュメモリの記憶素子（セル）では、絶縁体となる酸化膜はその酸化膜を貫通する電子によって劣化する。そのため、各ブロックの消去・書き込み可能回数には限界がある。このことから、フラッシュメモリでは、特定のブロックに対する消去・書き込みが集中しないように平準化するアクセス制御が行われる。その平準化のアクセス制御のために、フラッシュメモリには、そのフラッシュメモリへのアクセスを制御するコントローラが用意されるのが普通である。【０００７】
特定のブロックへの消去・書き込みが集中しないようにする平準化のための従来のアクセス制御方法としては、ＦＩＦＯ（First In First Out）を用いたものがある。【０００８】
この従来のアクセス制御方法では、ＮＡＮＤフラッシュメモリのなかで未使用のブロックをデータ書き込み用の予備ブロックとして、その予備ブロックを表す制御情報をＦＩＦＯに格納する。ページの書き込みを行う場合、そのページは、そのページが書き込まれているブロックの他のページと共に、ＦＩＦＯから出力される制御情報によって特定される予備ブロックに書き込む。そのページが書き込まれているブロックは消去して予備ブロックとし、その予備ブロックの制御情報をＦＩＦＯに登録する。【０００９】
そのようにして、この従来のアクセス制御方法では、新たに発生した予備ブロックは、その時点で存在する予備ブロックのなかで最後に割り当てるように管理される。このため、特定のブロックに対する消去・書き込みが集中するのが回避され、予備ブロックの割り当ては平準化される。【００１０】
この従来のアクセス制御方法では、ＦＩＦＯは１つのみ用いられる。そのため、予備ブロックのなかで割り当ての対象となる予備ブロックは固定的に決定される。割り当ての対象となる予備ブロックを固定的に決定する結果、システム構成、或いは状況に応じて、アクセス速度を大きく低下させる場合がある。【００１１】
例えば複数のＮＡＮＤフラッシュメモリが複数のチャネルでコントローラと接続されているシステム構成では、チャネル毎にＮＡＮＤフラッシュメモリへのアクセスが可能である。それにより、このシステム構成では、或るチャネルを用いたアクセスが行われている、或いはアクセスが行われる状況下で、そのチャネルを用いてアクセスする予備ブロックが割り当てられる場合がある。【００１２】
予備ブロックが、アクセスが集中しているチャネルを介してアクセスしなければならない場合、アクセスが集中しているほど、待ち時間は長くなる。その結果、予備ブロックへのデータの書き込みに要する時間は長くなり、アクセス速度は大きく低下する。また、予備ブロックにデータを書き込ませるアクセス以降に行われるアクセスのアクセス速度を大きく低下させる可能性もある。【００１３】
アクセスの集中自体は、ガーベジコレクション、或いはデータ更新等を行う場合に発生しやすい。ＦＩＦＯには、過去の状況に応じて予備ブロックの制御情報が格納される。そのため、ＦＩＦＯが出力する制御情報によって、予備ブロックは現在の状況とは無関係に選択される。従い、アクセスが集中しているチャネルを介してアクセスする予備ブロックが連続して選択される可能性もある。【００１４】
ＮＡＮＤフラッシュメモリでは、データの書き込みのためのアクセスが行われる場合、ブロックの消去のためのアクセスも行われる。そのため、同じ領域にデータの上書きを行える半導体メモリを採用した場合と比較して、単位時間当たりに要求されるアクセス数（発行される命令数）は多くなりやすい。これは、アクセスの集中が発生しやすいことを意味する。【００１５】
アクセス速度は、アクセスが集中するほど、つまり、単位時間当たりのアクセス数が多くなるほど、低下しやすい。そのアクセス速度自体は、性能に大きく影響する。データを書き込む予備ブロックは、基本的に、任意に選択可能である。このことから、予備ブロックへのデータの書き込みのためのアクセスでは、アクセス速度の低下を抑えることも重要と思われる。このことは、データの上書きが直ちに行えない記憶装置全般に云えることである。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開平７−７８４８５号公報
【特許文献２】特開平５−１９８１９８号公報
【特許文献３】特開２００６−２５２６９５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
１側面では、本発明は、データの上書きが直ちに行えない記憶装置へのアクセス速度の低下を抑制するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明を適用した１システムは、処理部と、ブロック単位でデータの消去が行われる複数の記憶装置と、それぞれ、複数の記憶装置のなかで割り当てられた１つ以上の記憶装置上に存在する、データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、複数の記憶装置へのデータの書き込みを要求する書込命令を処理部が発行した場合、複数の記憶部のなかで制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、書込命令により要求されたデータを書き込むアクセス部と、を有する。
【発明の効果】
【００１９】
本発明を適用した１システムでは、データの上書きが直ちに行えない記憶装置へのアクセス速度の低下を抑制することができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態による情報処理装置の構成例を説明する図である。
【図２】ＳＳＤの構成例を説明する図である。
【図３】書き込み制御機構の機能構成例を説明する図である。
【図４】ＳＳＤへのデータの書き込み時のコントローラの動作を説明する図である。
【図５】データの書き込み時に各チャネルを介して行われるアクセス例を説明するタイムチャートである。
【図６】データ書き込み時のコントローラの動作を表すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態による情報処理装置の構成例を説明する図である。本実施形態による情報処理装置は、例えばサーバであり、図１に表すように、２個のＣＰＵ（Central Processing Unit）１（１−１、１−２）、２つのメモリ２（２−１、２−２）、２台のＳＳＤ（Solid State Drive）３（３−０、３−１）、Ｉ／Ｏ（Input/Output）ハブ４、及びＦＷＨ（FirmWare Hub）５を備えている。
【００２２】
各ＳＳＤ３は、本実施形態によるストレージである。２台のＳＳＤ３は、例えば冗長化のために情報処理装置に搭載されている。各ＣＰＵ１は、ＦＷＨ５に格納されているファームウェアをメモリ２に読み出して実行することにより、各ＳＳＤ３へのアクセスが可能となる。
【００２３】
各ＳＳＤ３には、例えば各ＣＰＵ１が処理に用いるデータの他に、各ＣＰＵ１が実行するプログラム、具体的にはＯＳ（Operating System）、及びアプリケーション・プログラム等が格納されている。このＯＳには、ＳＳＤ３を含む各種記憶装置上のデータ、及び各種記録媒体上のデータを管理するためのプログラムであるファイルシステムが搭載されている。また、ＯＳは、仮想記憶をサポートしている。
【００２４】
各ＳＳＤ３には、コントローラ（図１中「NAND Controller」と表記）３０、及び複数のＮＡＮＤフラッシュメモリ（図１中「Device」と表記。以降「デバイス」と表記する）３１（３１−０−０〜３１−ｎ−２）が含まれる。コントローラ３０と各デバイス３１は計ｎ＋１個のチャネルで接続されている。
【００２５】
本実施形態では、各チャネルに３個のデバイス３１が接続されている。デバイス３１に符号として付した「３１−０−０」の最後の「０」は、同じチャネルに接続されているデバイス３１間の識別情報であるデバイス番号が「０」であることを表している。その前の「０」は、チャネルの識別情報として割り当てられた番号（チャネル番号）が０であることを表している。それにより、「３１−０−０」は、チャネル番号が０のチャネルに接続されているデバイス番号が０のデバイス３１であることを表している。また、「３１−ｎ−１」は、チャネル番号がｎのチャネルに接続されているデバイス番号が１のデバイス３１であることを表している。
【００２６】
図２は、ＳＳＤの構成例を説明する図である。図２に表すように、コントローラ３０には、各チャネルに３つのデバイス３１が接続されている。コントローラ３０は、アドレス変換部３０１、デマルチプレクサ３０２、書き込み制御機構３０３、データキュー３０４、複数のＦＩＦＯ３０５（３０５−０−０〜３０５−ｎ−２）、及びマルチプレクサ３０６を備えている。図２では、各ＣＰＵ１と、各ＳＳＤ３との間に存在するＩ／Ｏハブ４は便宜的に省いている。
【００２７】
ＦＩＦＯ３０５に符号として付した「３０５−０−０」は、デバイス３１と同様に、チャネル番号が０のチャネルに接続されているデバイス番号が０のデバイス３１−０−０用のＦＩＦＯ３１であることを表している。図２中に表記の「ＣＨ＃０  ＤＥＶ＃０用」は、このことを表している。つまり「ＣＨ＃０」「ＤＥＶ＃０」はそれぞれ、チャネル番号が０のチャネル、デバイス番号が０のデバイス３１を表している。また、「３０５−ｎ−２」は、チャネル番号がｎのチャネルに接続されているデバイス番号が２のデバイス３１−ｎ−２用のＦＩＦＯ３１であることを表している。図２中に表記の「ＣＨ＃ｎ  ＤＥＶ＃２用」は、このことを表している。このように、本実施形態では、ＦＩＦＯ３０５は、チャネル毎、デバイス３１毎に設けられている。
【００２８】
ＣＰＵ１は、ＳＳＤ３にアクセスを行う場合、コマンドを発行する。そのコマンドは、データの読み出しを要求するリードコマンドの場合、コマンドの種類を表すコマンド種別データ、及びアクセス先を表す論理アドレスを含む。データの書き込みを要求するライトコマンドでは、他に、書き込むべきデータ（ページ）を含む。論理アドレスはアドレス変換部３０１に入力される。コマンド種別データは書き込み制御機構３０３に、データ（ページ）はデータキュー３０４にそれぞれ入力される。
【００２９】
ＣＰＵ１が実行するＯＳは、仮想記憶をサポートする。そのため、ＣＰＵ１は、データを論理アドレスで扱う。しかし、デバイス３１へのアクセスは、物理アドレスで行わなければならない。このことから、アドレス変換部３０１は、入力した論理アドレスを物理アドレスに変換する。
【００３０】
図４は、ＳＳＤへのデータの書き込み時のコントローラの動作を説明する図である。その図４では、理解を容易とするために、想定するデバイス３１は１つのみとしている。ここで図４を参照し、ライトコマンド発行時におけるアドレス変換部３０１を含むコントローラ３０の動作について具体的に説明する。
【００３１】
ＳＳＤ３に搭載されている各デバイス３１は、ブロックと呼ばれる記憶領域単位でしか消去・書き込みを行うことができない。仮想記憶を用いる情報処理装置では、通常、データの読み出し・書き込みはページ単位で実行される。ブロックは、複数ページ分の容量を有する。
【００３２】
ＯＳに搭載されたファイルシステム４０は、論理アドレスを用いて、データをページ単位で管理する。ここでは、ＳＳＤ３上のブロックとの対応関係を明確にするために、ファイルシステム４０が管理するページを仮想的なブロックに分けて表している。図４では、その仮想的なブロックを「論理ブロック」と表記し、デバイス３１上のブロックと区別している。デバイス３１上のブロックは「物理ブロック」と表記している。
【００３３】
図４中に表記の「論理ブロック＃０（Ｌ０）」は、ブロック番号が「０」の論理ブロックの別表現が「Ｌ０」であることを表している。「Ｌ０−０」〜「Ｌ０−３」は、ブロック番号が「０」の論理ブロックを構成するページを表している。それにより、ここでは、各論理ブロック（及びデバイス３１上の各物理ブロック）に４つのページが含まれると想定している。以降、便宜的に、特定の論理ブロックを指す場合には「Ｌ０」「Ｌ１」等を符号として付すことにする。任意の論理ブロックを指す場合には符号として「Ｌ」を付すこととする。
【００３４】
一方、図４中に表記の「物理ブロック＃０（Ｐ０）」は、ブロック番号として「０」が割り当てられた物理ブロックの別表現が「Ｐ０」であることを表している。物理ブロックでも論理ブロックＬと同様に、特定の物理ブロックを指す場合には「Ｐ０」「Ｐ１」等を符号として付し、任意の物理ブロックを指す場合には「Ｐ」を符号として付すこととする。
【００３５】
コントローラ３０は、論理ブロックＬ（論理アドレス）と物理ブロックＰ（物理アドレス）間の対応関係の特定に、ブロック変換テーブル３０１ａを用いている。このブロック変換テーブル３０１ａは、アドレス変換部３０１が管理するテーブルであり、論理ブロックＬ毎に、その論理ブロックＬに対応付けられた物理ブロックＰを表す。そのため、アドレス変換部３０１は、ファイルシステム４０（ＣＰＵ１）が命令で指定する論理アドレスから論理ブロックＬを特定し、特定した論理ブロックＬを用いてブロック変換テーブル３０１ａを参照して、アクセスすべき物理ブロックＰを特定することができる。図４では、ファイルシステム４０から論理ブロックＬ４内の論理アドレスが指定されたことにより、物理ブロックＰ７をアドレス変換部３０１が特定したことを表している。
【００３６】
ファイルシステム４０が要求するアクセスが読み出しであった場合、コントローラ３０は、ブロック変換テーブル３０１ａを参照して特定した物理ブロックＰ７からデータを読み出す。データの読み出しは、物理アドレスをアドレス変換部３０１が出力し、必要な制御信号を書き込み制御機構３０３が出力することで実現される。
【００３７】
データを読み出すためにアドレス変換部３０１から出力された物理アドレスは、デマルチプレクサ３０２を介して、そのデータを格納したデバイス３１に入力される。そのために、アドレス変換部３０１は、デマルチプレクサ３０２を制御し、物理アドレスを出力させるべきチャネルに出力させる。書き込み制御機構３０３が出力する制御信号には、コマンド・ラッチ・イネーブル、アドレス・ラッチ・イネーブル、チップ・イネーブル、ライト・イネーブル、リード・イネーブル、等がある。
【００３８】
物理ブロックＰから読み出されたデータは、データキュー３０４を介してＣＰＵ１に出力される。このデータキュー３０４は、各デバイス３１からＣＰＵ１へのデータ出力、及びＣＰＵ１から各デバイス３１へのデータ出力のための記憶装置である。各デバイス３１から読み出されたデータは一旦、データキュー３０４に格納される。ＣＰＵ１から出力されたデータも一旦、データキュー３０４に格納される。
【００３９】
ファイルシステム４０が要求するアクセスが書き込みであった場合、コントローラ３０は、未使用の物理ブロックＰのなかの何れかの物理ブロックＰにデータを書き込む。図４では、未使用の物理ブロックＰのなかから物理ブロックＰ８が選択され、物理ブロックＰ７が割り当てられていた各ページＬ４−０〜Ｌ４−３が物理ブロックＰ８に書き込まれたことを表している。その結果、ブロック変換テーブル３０１ａでは、論理ブロックＬ４に対応付けられた物理ブロックＰは、物理ブロックＰ７から物理ブロックＰ８に更新される。物理ブロックＰ７は、データの消去が行われ、ブロック変換テーブル３０１ａでは、何れの論理ブロックＬとも対応付けられない。それにより、物理ブロックＰ７は、以降、未使用の物理ブロックＰとして扱われる。未使用の物理ブロックＰは、以降、「予備ブロック」と表記する。図４において、各ページＬ４−０〜Ｌ４−３が割り当てられる前の物理ブロックＰ８に「予備」を表記しているのは、そのためである。
【００４０】
上記のように、ＦＩＦＯ３０５は、チャネル毎、デバイス３１毎に設けられている。これらのＦＩＦＯ３０５は、データを書き込む予備ブロックＰの選択に用いられる。
【００４１】
データが格納されている物理ブロックＰへのデータ（ページ）の上書きは行うことはできない。そのため、既にデータ（ページ）が格納されている物理ブロックＰへの上書きを行う場合、その物理ブロックＰの消去を行わなければならない。しかし、物理ブロックＰの消去・書き込み可能回数には限界がある。その限界により、特定の物理ブロックＰに対する消去・書き込みが集中しないように、消去・書き込みのためのアクセスは平準化する必要がある。その平準化のために、チャネル毎、デバイス３１毎に設けたＦＩＦＯ３０５は用いられる。
【００４２】
アドレス変換部３０１は、物理ブロックＰの消去が行われた場合、或いはブロック変換テーブル３０１ａ上で物理ブロックＰへの論理ブロックＬの対応付けを解除した場合、その物理ブロックＰを表す情報（例えばブロック番号。以降「識別情報」と表記）を対応するＦＩＦＯ３０５に保持させる。例えば消去が行われた、或いは対応付けが解除された物理ブロックＰがデバイス３１−０−０上に存在する場合、アドレス変換部３０１は、その物理ブロックＰの識別情報（物理ブロックＰと共に、デバイス３１−０−０を特定可能な情報）をＦＩＦＯ３０５−０−０に保持させる。ここでは、ＦＩＦＯ３０５への識別情報の保持は、データの消去によって行われると想定する。
【００４３】
物理ブロックＰの消去は、その消去を要求する消去命令の発行によって行われる。消去対象となる物理ブロックＰを指定する識別情報（例えばブロック番号）は、アドレスとして与えられる。アドレス変換部３０１は、例えば書き込み制御機構３０３から通知されるコマンド種別、及びアドレス（ブロック番号）から、消去が行われる物理ブロックＰを特定し、その物理ブロックＰの識別情報を対応するＦＩＦＯ３０５に格納する。
【００４４】
各ＦＩＦＯ３０５が出力する識別情報のうちの一つは、マルチプレクサ３０６によって選択され、選択された識別情報はアドレス変換部３０１に出力される。それにより、アドレス変換部３０１は、マルチプレクサ３０６から入力した識別情報が表す物理ブロックＰにアクセスするための物理アドレスを出力する。識別情報が選択されたＦＩＦＯ３０５は、例えばアドレス変換部３０１の制御により、次に出力すべき識別情報を出力する。それにより、ＦＩＦＯ３０５は、識別情報の選択により、保持内容が更新される。マルチプレクサ３０６における識別情報の選択は、書き込み制御機構３０３が出力する選択信号に従って行われる。
【００４５】
図５は、データの書き込み時に各チャネルを介して行われるアクセス例を説明するタイムチャートである。ここで図５を参照し、各ＦＩＦＯ３０５から出力される識別情報の選択方法、及びその識別情報の選択を通して実現されるアクセスについて具体的に説明する。
【００４６】
図５において、図５（ａ）に表記の「ＦＩＦＯから指定される予備ブロック」とは、マルチプレクサ３０６からアドレス変換部３０１に出力される識別情報によって指定される予備ブロックＰのことである。図５（ａ）に表記の「ＣＨ０  ＤＥＶ１  ブロック１」は、チャネル番号が０のチャネルに接続されたデバイス３１−０−１上のブロック番号が１の物理ブロックＰを意味している。図２に表す構成では、各チャネルには３つのデバイス３１が接続されている。しかし、図5では、各チャネルに４つ以上のデバイス３１が接続されていると想定している。
【００４７】
図５（ｂ）に表記の「ＣＰＵ―ＩＦ」は、ＣＰＵ１から入力するデータであることを表している。そのデータとして、図５（ｂ−１）に書込命令（ライトコマンド）、図５（ｂ−２）に書き込みを要求されたデータ（書込データ）をそれぞれ表している。ここでは、ライトコマンドは書込データを除く部分のデータを指す意味で用いている。
【００４８】
図５（ｂ−１）に表記の「Ａコマンド」〜「Ｅコマンド」はそれぞれ、異なるライトコマンドを表している。図５（ｂ−２）に表記の「Ａデータ」〜「Ｅデータ」は、「Ａコマンド」〜「Ｅコマンド」の書込データを表している。
【００４９】
図５（ｃ）に表記の「Ｃｏｎｔｏｒｏｌｌｅｒ−ＩＦ」は、コントローラ３０の制御によってアクセスが行われるチャネルを表している。ここでは、チャネルとして、それぞれ０〜４のチャネル番号が割り当てられたチャネル０〜４の計５つのチャネルが存在することを想定している（図５（ｃ−０）〜図５（ｃ−４））。
【００５０】
図５（ｂ−１）に表すようなＣＰＵ１からのＡ〜Ｅコマンドの入力により、チャネル０〜４では、図５（ｃ−０）〜図５（ｃ−４）に表すようにＡ〜Ｅコマンドの処理が並行する形で行われ、Ａ〜Ｅデータの書き込みは独立して行われる。図５（ａ）に表すような識別情報の選択は、チャネル０〜４で並行して、言い換えればチャネル０〜４に分散させて、Ａ〜Ｅコマンドを処理できるように行われる。
【００５１】
図５（ａ）に表すような識別情報の選択は、チャネル０〜４のなかで他のコマンドによるアクセスが行われていないチャネルの利用を優先させていることを意味する。そのため、他のコマンドによるアクセスの終了を待つ待ち時間は最小限に抑えることができる。この結果、ＣＰＵ１から連続して複数のライトコマンドを入力したとしても、その複数のライトコマンドの処理に要する時間を最小か、或いは最小に近い時間にすることができる。これは、ライトコマンドによるアクセスのアクセス速度の低下が最小限に抑えられることを意味する。
【００５２】
ライトコマンドの実行によるアクセス速度の低下を最小限に抑えることにより、アクセスが集中するチャネルの発生も抑えられるようになる。これは、単位時間当たりに可能なアクセス数を最大レベルに維持できるようになるからである。そのため、ライトコマンドによるアクセスのアクセス速度だけでなく、基本的に全てのアクセスのアクセス速度の低下が抑制される。
【００５３】
本実施形態では、図５（ｃ）（図５（ｃ−０）〜図５（ｃ−４））に表すように、チャネル０〜４のなかでアクセスが行われていないチャネルが複数、存在している場合、異なるチャネルを選択させていくようにしている。
【００５４】
例えばチャネル０では、Ａデータの書き込みが終了した後に、別のライトコマンドを処理できる状況に移行する。その状況となっても、Ｄ及びＥコマンドの処理に用いるチャネルは、チャネル３→チャネル４の順に選択している。これは、チャネル間で予備ブロックＰの選択に偏りが生じないようにするためである。異なるチャネルの利用を優先させることにより、チャネル間の平準化を実現させることができる。
【００５５】
各チャネルには、複数のデバイス３１が接続されている。各チャネルでの予備ブロックＰの選択では、異なるデバイス３１を選択させていくようにしている。それにより、例えば図２に表すチャネル０と接続された３つのデバイス３１−０−０〜３１−０−２では、デバイス３１−０−０の予備ブロックＰが選択された後、デバイス３１−０−１、或いは３１−０−２の予備ブロックＰの選択を優先させるようにしている。これは、同じチャネルと接続されたデバイス３１間で予備ブロックＰの選択に偏りが生じないようにするためである。異なるデバイス３１の利用を優先させることにより、同じチャネルと接続されたデバイス３１間の平準化を実現させることができる。
【００５６】
複数のチャネル毎にＦＩＦＯ３０５を設けた場合、アクセスが行われているチャネルを避けて、予備ブロックＰを選択できるとは限らない。このことから、本実施形態では、チャネル毎にＦＩＦＯ３０５を設けている。
【００５７】
チャネル毎に１つのＦＩＦＯ３０５を設けても、迅速なアクセスが可能なチャネルを用いたアクセスを行うことはできる。しかし、各ＦＩＦＯ３０５から取り出される識別情報は、過去の状況によってＦＩＦＯ３０５に保持された識別情報である。そのため、１つのＦＩＦＯ３０５から順次、取り出される識別情報の流れは、現在の状況に合わない可能性がある。また、同じチャネルに接続された各デバイス３１へのアクセスの偏りがあっても、その偏りを修正するのは困難である。このようなことから、本実施形態では、各チャネルに対し、そのチャネルに接続されているデバイス３１の数分のＦＩＦＯ３０５を設けている。デバイス３１毎にＦＩＦＯ３０５を設けることにより、過去のアクセスの偏りを修正し、より望ましい平準化を実現することができる。
【００５８】
マルチプレクサ３０６は、書き込み制御機構３０３が出力する選択信号に従って、ＦＩＦＯ３０５を選択する。チャネル間、同じチャネルに接続されたデバイス３１間の平準化、及び図５に表すようなアクセス制御は、マルチプレクサ３０６を用いたＦＩＦＯ３０５の選択を通して実現される。以降、チャネル間、同じチャネルに接続されたデバイス３１間の平準化、及び図５に表すようなアクセス制御を実現させる書き込み制御機構３０３について詳細に説明する。
【００５９】
図３は、書き込み制御機構の機能構成例を説明する図である。書き込み制御機構３０３は、図３に表すように、予備ブロックチェック回路３３１、ビジーチェック回路３３２、状況チェック回路３３３、チャネル選択回路３３４、デバイス選択回路３３５、メモリ３３６、及び２つのインタフェース３３７、３３８を備えている。
【００６０】
インタフェース３３７は、ＣＰＵ１との通信を行う構成要素である。インタフェース３３７は、ＣＰＵ１から書き込み命令を入力した場合、入力した書き込み命令を状況チェック回路３３３に出力する。
【００６１】
予備ブロックチェック回路３３１は、ＦＩＦＯ３０５毎に、予備ブロックＰの識別情報が存在するか否かの確認を行う。予備ブロックＰの識別情報が存在するか否かの確認には、各ＦＩＦＯ３０５から取得される使用状況情報が用いられる。この使用状況情報は、例えばＦＩＦＯ３０５から出力される識別情報の有無を表す情報である。ＦＩＦＯ３０５から出力される識別情報は、使用状況情報として用いることができる。
【００６２】
各デバイス３１は、ライト動作中、消去動作中、或いはリード動作中には、ビジー(Busy)信号（RY/BY＝“Ｌ”）を出力し、動作の完了により、レディ（Ready）信号（RY/BY=“H”）を出力する。ビジーチェック回路３３２は、チャネル毎に、ビジー信号が出力されているか否かを確認する。
【００６３】
状況チェック回路３３３は、データの書き込みが行える状況か否かを確認する。その確認は、予備ブロックチェック回路３３１、及びビジーチェック回路３３２の各確認結果を用いて行われる。それにより、状況チェック回路３３３は、ビジー信号が出力されていないチャネルに接続され、且つ予備ブロックPを有するデバイス３１が存在する場合に、データの書き込みが行える状況と判定する。その判定結果は、チャネル選択回路３３４に出力される。
【００６４】
メモリ３３６には、書込命令の処理結果を表す履歴情報が格納される。その履歴情報は、少なくとも、直前の書込命令で選択したチャネルの識別情報（チャネル番号）、及び各チャネルで最後に選択したデバイス３１を表す識別情報を特定可能な情報である。この履歴情報は、チャネル選択回路３３４、及びデバイス選択回路３３５も参照する。
【００６５】
チャネル選択回路３３４は、予備ブロックチェック回路３３１、及びビジーチェック回路３３２の各確認結果、及びメモリ３３６の履歴情報を参照し、予備ブロックPへの書き込みに用いるべきチャネルを選択する。そのチャネルの選択は、履歴情報が表すチャネル番号の次のチャネル番号が割り当てられたチャネルから、ビジー信号が出力されておらず、且つ予備ブロックPを有するデバイス３１が接続されているという条件を満たしているか否かを確認していくことで行われる。チャネルの選択結果は、デバイス選択回路３３５に出力される。
【００６６】
デバイス選択回路３３５は、予備ブロックチェック回路３３１の確認結果、及びメモリ３３６の履歴を参照し、チャネル選択回路３３４が選択したチャネルに接続されているデバイス３１のなかから、データを書き込ませるデバイス３１を選択する。そのデバイス３１の選択は、チャネル選択回路３３４が選択したチャネルに接続され、履歴が表すそのチャネルで最後に選択したデバイス３１とは別のデバイス３１から、予備ブロックPが存在するか否かを確認していくことで行われる。
【００６７】
デバイス選択回路３３５がデバイス３１を選択することにより、識別情報を選択すべきＦＩＦＯ３０５が決定する。このことから、デバイス選択回路３３５は、デバイス３１の選択結果から生成される選択信号をマルチプレクサ３０６に出力する。また、デバイス選択回路３３５は、デバイス３１の選択結果をインタフェース３３８に出力する。
【００６８】
インタフェース３３８は、各デバイス３１へのアクセスのための制御信号を出力する。インタフェース３３８は、デバイス選択回路３３５の選択結果によって指定されるデバイス３１に制御信号を出力する。そのデバイス３１には、アドレス変換部３０１から論理アドレス、データキュー３０４から１物理ブロックＰ分のデータがそれぞれ出力される。そのため、そのデバイス３１の予備ブロックＰに、１物理ブロックＰ分のデータが書き込まれる。
【００６９】
デバイス選択回路３３５による選択信号の生成には、各チャネルで行われているアクセス状況、各チャネルに接続されている各デバイス３１の状態（予備ブロックの有無）、及び履歴情報が反映される。そのため、この選択信号に従ったマルチプレクサ３０６によるＦＩＦＯ３０５（識別情報）の選択を通して、チャネル間、同じチャネルに接続されたデバイス３１間の平準化、及び図５に表すようなアクセス制御が実現される。
【００７０】
図６は、データ書き込み時のコントローラの動作を表すフローチャートである。最後に図6を参照し、ＣＰＵ１から書込命令（ライトコマンド）を受信した場合のコントローラ３０の動作を詳細に説明する。図６にフローチャートで表す動作は、ＣＰＵ１から受信した１書込命令のみの処理を行うことを想定している。
【００７１】
図６では、３つの枠にそれぞれ「３３３」〜「３３５」の符号を付している。「３３３」〜「３３５」が付された枠内の処理ステップは、それぞれ、状況チェック回路３３３、チャネル選択回路３３４、及びデバイス選択回路３３５の各動作を表している。
【００７２】
ＣＰＵ１から発行された書込命令は、書き込み制御機能３０３のインタフェース３３７によって受信され、受信された書込命令はインタフェース３３７から状況チェック回路３３３に出力される。状況チェック回路３３３は、書込命令の入力により、ビジーチェック回路３３２から、チャネル毎に行われたビジー信号の確認結果を入力し、ビジー信号が出力されていないチャネルがあるか否か判定する（Ｓ１）。何れかのチャネルでビジー信号が出力されていない場合、Ｓ１の判定はＹｅｓとなってＳ３に移行する。全てのチャネルでビジー信号が出力されている場合、Ｓ１の判定はＮｏとなってＳ２に移行する。
【００７３】
Ｓ２では、状況チェック回路３３３は、一定時間、待機する。その一定時間とは、例えばビジーチェック回路３３２から新たに確認結果を入力するまでの時間である。一定時間が経過すると、上記Ｓ１に戻る。それにより、状況チェック回路３３３は、全てのチャネルでビジー信号が出力されている状況では、ビジー信号が出力されていないチャネルが出現するまで待つ。
【００７４】
Ｓ３では、状況チェック回路３３３は、予備ブロックチェック回路３３１から確認結果を入力し、ビジー信号が出力されていない何れかのチャネルに接続された何れかのデバイス３１上に予備ブロックＰが存在するか否か判定する。ビジー信号が出力されていない１つ以上のチャネルが存在し、且つ存在する何れかのチャネルに予備ブロックＰを有するデバイス３１が接続されていた場合、Ｓ３の判定はＹｅｓとなってＳ５に移行する。ビジー信号が出力されていない全てのチャネルに、予備ブロックＰを有するデバイス３１が接続されていない場合、Ｓ３の判定はＮｏとなってＳ４に移行する。
【００７５】
ビジーチェック回路３３２による新たな確認結果は、状況チェック回路３３３に随時、入力される。そのため、Ｓ３では、新たにビジー信号が出力されなくなったチャネルも対象にして、予備ブロックＰを有するデバイス３１の確認が行われる。
【００７６】
Ｓ４では、状況チェック回路３３３は、一定時間、待機する。その一定時間とは、例えば予備ブロックチェック回路３３１から新たに確認結果を入力するまでの時間である。一定時間が経過すると、上記Ｓ３に戻る。
【００７７】
Ｓ３でのＹｅｓによるＳ５への移行は、状況チェック回路３３３が、データの書込が行える状況であるとの判定結果をチャネル選択回路３３４に通知することで行われる。その通知を入力したチャネル選択回路３３４は、メモリ３３６に格納されている履歴情報を参照し、前回、選択したチャネルよりチャネル番号が１つ大きいチャネルを選択する（Ｓ５）。次に、チャネル選択回路３３４は、ビジーチェック回路３３２から入力する確認結果を参照し、選択したチャネルにビジー信号が出力されていないか否か判定する（Ｓ６）。選択したチャネルにビジー信号が出力されていない場合、Ｓ６の判定はＹｅｓとなってＳ８に移行する。選択したチャネルにビジー信号が出力されている場合、Ｓ６の判定はＮｏとなってＳ７に移行する。
【００７８】
Ｓ７では、チャネル選択回路３３４は、現在のチャネル番号より１つ大きいチャネルを新たに選択する。その選択後、上記Ｓ６に戻る。それにより、チャネル選択回路３３４は、直前のチャネルの選択結果を反映させつつ、チャネル番号が小さいほうから、ビジー信号が出力されていないチャネルの特定・選択を行う。
【００７９】
Ｓ８では、チャネル選択回路３３４は、予備ブロックチェック回路３３１から随時、入力する確認結果を参照し、選択したチャネルに予備ブロックＰが存在するか否か判定する。選択したチャネルに接続されている何れのデバイス３１にも予備ブロックＰが存在しない場合、Ｓ８の判定はＮｏとなってＳ９に移行する。選択したチャネルに予備ブロックＰを有するデバイス３１が接続されている場合、Ｓ８の判定はＹｅｓとなってＳ１０に移行する。
【００８０】
Ｓ９では、チャネル選択回路３３４は、現在のチャネル番号より１つ大きいチャネルを新たに選択する。その選択後、上記Ｓ６に戻る。それにより、チャネル選択回路３３４は、直前のチャネルの選択結果を反映させつつ、チャネル番号が小さいほうから、予備ブロックＰを有するデバイス３１が接続されており、且つビジー信号が出力されていないチャネルの特定・選択を行う。
【００８１】
Ｓ８でのＹｅｓによるＳ１０への移行は、チャネル選択回路３３４が、データの書き込みに用いるべきと判定したチャネルをデバイス選択回路３３５に通知することで行われる。その通知を入力したデバイス選択回路３３５は、メモリ３３６に格納されている履歴情報を参照し、前回、選択したデバイス３１よりデバイス番号が１つ大きいデバイス３１を選択する（Ｓ１０）。次に、デバイス選択回路３３５は、予備ブロックチェック回路３３１から入力する確認結果を参照し、選択したデバイス３１に予備ブロックＰが存在するか否か判定する（Ｓ１１）。選択したデバイス３１に予備ブロックＰが存在しない場合、Ｓ１１の判定はＮｏとなってＳ１２に移行する。選択したデバイス３１に予備ブロックＰが存在する場合、Ｓ１１の判定はＮｏとなってＳ１３に移行する。
【００８２】
Ｓ１２では、デバイス選択回路３３５は、現在のデバイス番号より１つ大きいデバイス３１を新たに選択する。その選択後、上記Ｓ１１に戻る。それにより、デバイス選択回路３３５は、同一のチャネルでの直前のデバイス３１の選択結果を反映させつつ、デバイス番号が小さいほうから、予備ブロックＰを有するデバイス３１の特定・選択を行う。
【００８３】
データを書き込む予備ブロックＰを有するデバイス３１、及びそのデバイス３１が接続されているチャネルは、上記のようにして決定される。その結果、マルチプレクサ３６に出力する選択信号により、チャネル間、同じチャネルに接続されたデバイス３１間の平準化、及び図５に表すようなアクセス制御が実現されることとなる。
【００８４】
Ｓ１３では、デバイス選択回路３３５は、チャネル、及びデバイス３１の決定結果に従い、選択信号を出力し、インタフェース３３８に対して、その決定されたチャネルへの制御信号の出力を指示する。そのようにして、デバイス選択回路３３５は、決定したデバイス３１の予備ブロックＰにデータを書き込ませる。データの書き込みにはインタフェース３３８から出力される制御情報が必要なことから、図６ではＳ１３を枠３３５外としている。
【００８５】
データが書き込まれるデバイス３１は、データの書き込みの動作中、ビジー信号を出力し、その書き込み動作の終了により、ビジー信号に代えてレディ信号を出力する（RY/BY＝“Ｌ”→“Ｈ”）。ビジーチェック回路３３２は、その信号の変化を監視し、ビジー信号からレディ信号への変化を例えばインタフェース３３７に通知する。インタフェース３３７は、その通知により、書込命令を送信したＣＰＵ１に対し、データの書き込みが完了した旨を表す書き込み完了通知を返信する（以上Ｓ１４）。その書き込み完了通知の返信により、ＣＰＵ１から受信した１書込命令に対する処理、つまり図６に表すフローチャートの動作が終了する。
【００８６】
なお、本実施形態では、同じチャネルに接続されているデバイス３１間の平準化のために、デバイス３１の数分、ＦＩＦＯ３０５を設けているが、１つのチャネルに１つのＦＩＦＯを設けるようにしても良い。これは、１つのチャネルに１つのＦＩＦＯ３０５を設けることにより、アクセス速度の低下は十分に抑制できるからである。多くのチャネルが存在するＳＳＤ３では、２つ以上のチャネルに１つのＦＩＦＯ３０５を設けるようにしても良い。
【図１】
2015083225.tif 000003
【図２】
2015083225.tif 000004
【図３】
2015083225.tif 000005
【図４】
2015083225.tif 000006
【図５】
2015083225.tif 000007
【図６】
2015083225.tif 000008
【手続補正書】
【提出日】平成27年7月2日(2015.7.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
処理部と、
ブロック単位でデータの消去が行われる複数の記憶装置と、
それぞれ、前記複数の記憶装置のなかで割り当てられた１つ以上の記憶装置上に存在する、前記データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、
前記複数の記憶装置へのデータの書き込みを要求する書込命令を前記処理部が発行した場合、前記複数の記憶部のなかで前記制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、前記書込命令により要求されたデータを書き込むアクセス部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記複数の記憶装置は、複数のチャネルにそれぞれ前記記憶装置が１つ以上、接続され、
前記記憶装置が接続されている各チャネルには、それぞれ、前記複数の記憶部のなかの１つ以上の記憶部が割り当てられている、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記アクセス部は、前記各チャネルに接続されている前記記憶装置の状態を基に、前記複数の記憶部のなかで前記制御情報を用いる記憶部の選択を行う、
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記アクセス部による前記記憶部の選択結果を表す履歴情報を格納した他の記憶部を備え、
前記アクセス部は、前記各チャネルに接続されている前記記憶装置の状態、及び前記他の記憶部に格納されている前記履歴情報を基に、前記複数の記憶部のなかで前記制御情報を用いる記憶部の選択を行う、
ことを特徴とする請求項２、または３記載の情報処理装置。
【請求項５】
情報処理装置に、
ブロック単位でデータの消去が行われる複数の記憶装置と、
それぞれ、前記複数の記憶装置のなかで割り当てられた１つ以上の記憶装置上の前記データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、を搭載し、
前記複数の記憶装置へのデータの書き込みを要求する書込命令が発行された場合、前記複数の記憶部のなかで前記制御情報を用いる記憶部を選択させ、
該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、前記書込命令により要求されたデータを書き込ませる、
ことを特徴とするアクセス制御方法。
【手続補正書】
【提出日】平成28年6月21日(2016.6.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
処理部と、
ブロック単位でデータの消去が行われる複数の記憶装置と、
それぞれ、前記複数の記憶装置のなかで割り当てられた１つ以上の記憶装置上に存在する、前記データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、
前記複数の記憶装置へのデータの書き込みを要求する書込命令を前記処理部が発行した場合、前記複数の記憶部のなかで前記制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、前記書込命令により要求されたデータを書き込むアクセス部と、
前記アクセス部による前記記憶部の選択結果を表す履歴情報を格納した他の記憶部と、
を有し、
前記複数の記憶装置は、複数のチャネルにそれぞれ前記記憶装置が１つ以上接続されており、
前記記憶装置が接続されている各チャネルには、それぞれ、前記複数の記憶部のなかの１つ以上の記憶部が割り当てられており、
前記アクセス部は、前記各チャネルに接続されている前記記憶装置の状態、及び前記他の記憶部に格納されている前記履歴情報を基に、前記複数のチャネルのうちの、前記アクセス部が直近に選択した記憶部が格納していた制御情報によって特定された予備ブロックが存在していた記憶装置が接続されているチャネル以外のチャネルに接続されている記憶装置に存在する予備ブロックを特定する制御情報の格納に用いられている記憶部の選択を行う、
ことを特徴とする情報処理装置。
【請求項２】
情報処理装置に、
ブロック単位でデータの消去が行われる複数の記憶装置と、
それぞれ、前記複数の記憶装置のなかで割り当てられた１つ以上の記憶装置上の前記データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、を搭載し、
前記複数の記憶装置へのデータの書き込みを要求する書込命令が発行された場合、前記複数の記憶部のなかで前記制御情報を用いる記憶部を選択させ、
該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、前記書込命令により要求されたデータを書き込ませ、
前記記憶部の選択の結果を表す履歴情報を他の記憶部に格納させ、
前記複数の記憶装置は、複数のチャネルにそれぞれ前記記憶装置が１つ以上接続されており、
前記記憶装置が接続されている各チャネルには、それぞれ、前記複数の記憶部のなかの１つ以上の記憶部が割り当てられており、
前記記憶部の選択では、前記各チャネルに接続されている前記記憶装置の状態、及び前記他の記憶部に格納されている前記履歴情報を基に、前記複数のチャネルのうちの、前記記憶部の選択によって直近に選択された記憶部が格納していた制御情報によって特定された予備ブロックが存在していた記憶装置が接続されているチャネル以外のチャネルに接続されている記憶装置に存在する予備ブロックを特定する制御情報の格納に用いられている記憶部の選択を行う、
ことを特徴とするアクセス制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明を適用した１システムは、処理部と、ブロック単位でデータの消去が行われる複数の記憶装置と、それぞれ、複数の記憶装置のなかで割り当てられた１つ以上の記憶装置上に存在する、データの書き込み用のブロックである予備ブロックを表す制御情報の格納に用いられる複数の記憶部と、複数の記憶装置へのデータの書き込みを要求する書込命令を処理部が発行した場合、複数の記憶部のなかで制御情報を用いる記憶部を選択し、該選択した記憶部に格納されている制御情報によって特定される予備ブロックに、書込命令により要求されたデータを書き込むアクセス部と、アクセス部による記憶部の選択結果を表す履歴情報を格納した他の記憶部と、を有し、複数の記憶装置は、複数のチャネルにそれぞれ記憶装置が１つ以上接続されており、記憶装置が接続されている各チャネルには、それぞれ、複数の記憶部のなかの１つ以上の記憶部が割り当てられており、アクセス部は、各チャネルに接続されている記憶装置の状態、及び他の記憶部に格納されている履歴情報を基に、複数のチャネルのうちの、アクセス部が直近に選択した記憶部が格納していた制御情報によって特定された予備ブロックが存在していた記憶装置が接続されているチャネル以外のチャネルに接続されている記憶装置に存在する予備ブロックを特定する制御情報の格納に用いられている記憶部の選択を行う。
【国際調査報告】
2015083225.tif 000009
2015083225.tif 000010
2015083225.tif 000011
2015083225.tif 000012