(57)【要約】  メモリのコピー動作が実行されている場合において、メモリへのアクセスが発行された際に、そのアクセスの待機を必要最小限に抑える。  メモリの第１の記憶領域はコピー単位である。メモリの第２の記憶領域は、第１の記憶領域を複数まとめたものである。メモリにおいて、第２の記憶領域から他の記憶領域にコピー動作が実行されている場合に、第２の記憶領域に対するアクセスが発行された際、第１の記憶領域を単位としてメモリに対するアクセスに関する制御が行われる。アクセスの対象となるコピー単位の領域が他の記憶領域にコピー済であれば、アクセスの対象となる領域のアドレスをコピー先のアドレスに置換してアクセスを続行させる。
2020158059.tif 000002
【特許請求の範囲】
【請求項１】
メモリのコピー単位である第１の記憶領域を複数まとめた第２の記憶領域から前記メモリの他の記憶領域にコピー動作が実行されている場合において、前記第２の記憶領域に対するアクセスが発行された際に前記第１の記憶領域を単位として前記アクセスを制御するメモリ制御装置。
【請求項２】
前記コピー動作と前記アクセスとのアドレス衝突を前記コピー単位で判定するアドレス衝突判定部と、
前記アクセスの対象となる前記コピー単位の領域が前記他の記憶領域にコピー済である旨の判定が前記アドレス衝突判定においてされた場合には前記アクセスの対象となる領域のアドレスをコピー先のアドレスに置換して前記アクセスを続行させるアドレス置換部と
を具備する請求項１記載のメモリ制御装置。
【請求項３】
前記アドレス置換部は、前記アクセスがリードアクセスであってその対象となる前記コピー単位の領域が前記他の記憶領域にコピー中である旨の判定が前記アドレス衝突判定においてされた場合には前記置換を行わずに前記アクセスを続行させる
請求項２記載のメモリ制御装置。
【請求項４】
前記アドレス置換部は、前記アクセスがライトアクセスであってその対象となる前記コピー単位の領域が前記他の記憶領域にコピー中である旨の判定が前記アドレス衝突判定においてされた場合には前記コピー単位の領域がコピー済になるまで前記ライトアクセスを待機させる
請求項２記載のメモリ制御装置。
【請求項５】
前記ライトアクセスが待機されている間にそのライトアクセス要求を保持するライト要求バッファをさらに具備する請求項４記載のメモリ制御装置。
【請求項６】
前記アドレス置換部は、前記アクセスの対象となる前記コピー単位の領域が前記他の記憶領域へのコピー前である旨の判定が前記アドレス衝突判定においてされた場合には前記置換を行わずに前記アクセスを続行させる
請求項２記載のメモリ制御装置。
【請求項７】
前記アドレス置換部は、前記アクセスの対象となる前記コピー単位の領域が前記他の記憶領域とは衝突しない旨の判定が前記アドレス衝突判定においてされた場合には前記置換を行わずに前記アクセスを続行させる
請求項２記載のメモリ制御装置。
【請求項８】
前記第２の記憶領域を単位として前記アクセスの対象アドレスについて論理アドレスから前記メモリの物理アドレスに変換するアドレス変換部を具備し、
前記アドレス変換部は、前記コピー動作が行われた後にはコピー後の物理アドレスを示すように更新される
請求項２記載のメモリ制御装置。
【請求項９】
前記他の記憶領域は、前記コピー動作が行われる前にはアクセス不可能な論理アドレス空間の領域であり、前記コピー動作が行われた後には前記アドレス変換部においてアクセス可能な論理アドレス空間の領域に更新される
請求項８記載のメモリ制御装置。
【請求項１０】
前記第２の記憶領域に対するアクセスが前記コピー単位よりも大きい領域に関するアクセスである場合にはそれぞれが前記コピー単位を超えない領域に分割して前記アドレス衝突判定部に供給するアクセス分割部をさらに具備する請求項２記載のメモリ制御装置。
【請求項１１】
メモリと、
前記メモリのコピー単位である第１の記憶領域を複数まとめた第２の記憶領域から前記メモリの他の記憶領域にコピー動作が実行されている場合において、前記第２の記憶領域に対するアクセスが発行された際に前記第１の記憶領域を単位として前記アクセスを制御するメモリ制御装置と
を具備するメモリモジュール。
【請求項１２】
前記メモリは、不揮発メモリである
請求項１１記載のメモリモジュール。
【請求項１３】
ホストコンピュータと、
メモリと、
前記メモリのコピー単位である第１の記憶領域を複数まとめた第２の記憶領域から前記メモリの他の記憶領域にコピー動作が実行されている場合において、前記ホストコンピュータから前記第２の記憶領域に対するアクセスが発行された際に前記第１の記憶領域を単位として前記アクセスを制御するメモリ制御装置と
を具備する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、メモリ制御装置に関する。詳しくは、メモリに対するアクセスを制御するメモリ制御装置、メモリモジュールおよび情報処理システムに関する。
【背景技術】
【０００２】
不揮発メモリなどの書換え回数に制限があるメモリにおいては、特定の領域へのアクセスが集中して寿命が尽きることを回避するために、物理的記憶位置を移動させるウェアレベリングという技術が用いられる。このウェアレベリングにおいては、領域間のコピーおよび削除が行われる。一方、ＮＡＮＤフラッシュメモリなどにおいては、データの上書きを行うことができないため、データを書き換える際にもデータのコピーおよび削除が必要になり、これに伴ってガベージコレクションがバックグラウンド処理として行われる。このようなコピー処理が行われている状況において、外部からアクセスがあった場合、コピー完了まで外部からのアクセスが待たされてしまい、レイテンシが大きくなってしまうという問題がある。これに対し、ＮＡＮＤフラッシュメモリにおいてコピー中の領域にホストから書込みがあった際に、本来書き込みたい領域とは別に、ＮＡＮＤフラッシュメモリに一時的に用意した領域にデータを書き込む技術が提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１７４３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術では、一時的に用意した領域にデータを書き込むことにより、レイテンシの短縮化を図っていた。しかしながら、この従来技術では、コピー完了後、コピーした領域および一時領域に有効なデータが混在するため、その後にデータをマージする処理がさらに必要となってしまう。【０００５】
本技術はこのような状況に鑑みて生み出されたものであり、メモリのコピー動作が実行されている場合において、メモリへのアクセスが発行された際に、そのアクセスの待機を必要最小限に抑えることを目的とする。
【課題を解決するための手段】
【０００６】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、メモリのコピー単位である第１の記憶領域を複数まとめた第２の記憶領域から上記メモリの他の記憶領域にコピー動作が実行されている場合において、上記第２の記憶領域に対するアクセスが発行された際に上記第１の記憶領域を単位として上記アクセスを制御するメモリ制御装置、メモリモジュールおよび情報処理システムである。これにより、第２の記憶領域を単位としてコピー動作が実行されている場合において、第１の記憶領域を単位としてアクセスを制御するという作用をもたらす。【０００７】
また、この第１の側面において、上記コピー動作と上記アクセスとのアドレス衝突を上記コピー単位で判定するアドレス衝突判定部と、上記アクセスの対象となる上記コピー単位の領域が上記他の記憶領域にコピー済である旨の判定が上記アドレス衝突判定においてされた場合には上記アクセスの対象となる領域のアドレスをコピー先のアドレスに置換して上記アクセスを続行させるアドレス置換部とを具備するようにしてもよい。これにより、アクセス対象の領域がコピー済であれば、コピー先のアドレスに対してアクセスを続行させるという作用をもたらす。【０００８】
また、この第１の側面において、上記アドレス置換部は、上記アクセスがリードアクセスであってその対象となる上記コピー単位の領域が上記他の記憶領域にコピー中である旨の判定が上記アドレス衝突判定においてされた場合には上記置換を行わずに上記アクセスを続行させるようにしてもよい。これにより、リードアクセス対象の領域がコピー中であれば、コピー元のアドレスに対してアクセスを続行させるという作用をもたらす。【０００９】
また、この第１の側面において、上記アドレス置換部は、上記アクセスがライトアクセスであってその対象となる上記コピー単位の領域が上記他の記憶領域にコピー中である旨の判定が上記アドレス衝突判定においてされた場合には上記コピー単位の領域がコピー済になるまで上記ライトアクセスを待機させるようにしてもよい。これにより、ライトアクセス対象の領域がコピー中であれば、その領域がコピー済になるまでそのライトアクセスを待機させるという作用をもたらす。【００１０】
また、この第１の側面において、上記ライトアクセスが待機されている間にそのライトアクセス要求を保持するライト要求バッファをさらに具備してもよい。これにより、ライトアクセス対象の領域がコピー中である場合にその領域がコピー済になるまでそのライトアクセスをライト要求バッファにおいて待機させるという作用をもたらす。【００１１】
また、この第１の側面において、上記アドレス置換部は、上記アクセスの対象となる上記コピー単位の領域が上記他の記憶領域へのコピー前である旨の判定が上記アドレス衝突判定においてされた場合には上記置換を行わずに上記アクセスを続行させるようにしてもよい。これにより、アクセス対象の領域がコピー前であれば、コピー元のアドレスに対してアクセスを続行させるという作用をもたらす。【００１２】
また、この第１の側面において、上記アドレス置換部は、上記アクセスの対象となる上記コピー単位の領域が上記他の記憶領域とは衝突しない旨の判定が上記アドレス衝突判定においてされた場合には上記置換を行わずに上記アクセスを続行させるようにしてもよい。これにより、アクセス対象の領域が衝突しない場合にはそのアクセスを続行させるという作用をもたらす。【００１３】
また、この第１の側面において、上記第２の記憶領域を単位として上記アクセスの対象アドレスについて論理アドレスから上記メモリの物理アドレスに変換するアドレス変換部を具備し、上記アドレス変換部は、上記コピー動作が行われた後にはコピー後の物理アドレスを示すように更新されるようにしてもよい。これにより、コピー完了後にはコピー先の第２の領域に対してアクセスさせるという作用をもたらす。【００１４】
また、この第１の側面において、上記他の記憶領域は、上記コピー動作が行われる前にはアクセス不可能な論理アドレス空間の領域であり、上記コピー動作が行われた後には上記アドレス変換部においてアクセス可能な論理アドレス空間の領域に更新される。これにより、コピー完了までの間には第２の記憶領域の全体にはアクセスさせずに、第１の記憶領域を単位としてアクセスを制御するという作用をもたらす。【００１５】
また、この第１の側面において、上記第２の記憶領域に対するアクセスが上記コピー単位よりも大きい領域に関するアクセスである場合にはそれぞれが上記コピー単位を超えない領域に分割して上記アドレス衝突判定部に供給するアクセス分割部をさらに具備するようにしてもよい。これにより、アクセス対象の領域がコピー単位を超える場合でも、分割しながら第１の記憶領域を単位としてアクセスを制御するという作用をもたらす。【００１６】
また、この第１の側面において、上記メモリは、不揮発メモリであることを想定してもよい。例えば、消去することなくデータの上書きが可能な不揮発メモリにおいて、ウェアレベリング等のためにコピー動作が必要であるため、そのコピー動作と外部からのアクセスとが衝突した場合に、第１の記憶領域を単位としてアクセスを制御するという作用をもたらす。
【図面の簡単な説明】
【００１７】
【図１】本技術の実施の形態における情報処理システムの一構成例を示す図である。
【図２】本技術の第１の実施の形態におけるメモリコントローラ２００の一構成例を示す図である。
【図３】本技術の実施の形態におけるメモリ３００のアドレス空間の対応例を示す図である。
【図４】本技術の実施の形態におけるアドレス変換部２６０のテーブルの状態例を示す図である。
【図５】本技術の実施の形態におけるデータコピーの態様例を示す図である。
【図６】本技術の実施の形態におけるデータコピー後のアドレス変換部２６０のテーブルの状態例を示す図である。
【図７】本技術の実施の形態におけるデータコピーの際のブロック内の各ページの状態例を示す図である。
【図８】本技術の実施の形態におけるメモリコントローラ２００のデータコピーの処理手順例を示す流れ図である。
【図９】本技術の実施の形態におけるアドレス衝突の状態と動作との関係例を示す図である。
【図１０】本技術の実施の形態におけるケース＃１および＃４の場合の動作例を示す図である。
【図１１】本技術の実施の形態におけるケース＃２の場合の動作例を示す図である。
【図１２】本技術の実施の形態におけるケース＃３および＃６の場合の動作例を示す図である。
【図１３】本技術の実施の形態におけるケース＃５の場合の動作例を示す図である。
【図１４】本技術の実施の形態におけるケース＃７の場合の動作例を示す図である。
【図１５】本技術の実施の形態におけるメモリコントローラ２００のアドレス衝突判定に関する処理手順例を示す流れ図である。
【図１６】本技術の第２の実施の形態におけるメモリコントローラ２００の一構成例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（ホストからのページ単位のアクセスを処理する例）
２．第２の実施の形態（ホストからのアクセスをページ単位に分割して処理する例）
【００１９】
＜１．第１の実施の形態＞
［情報処理システムの構成］
図１は、本技術の実施の形態における情報処理システムの一構成例を示す図である。
【００２０】
この情報処理システムは、ホストコンピュータ１００と、メモリコントローラ２００と、メモリ３００とから構成される。メモリコントローラ２００およびメモリ３００はメモリモジュール４００を構成する。
【００２１】
ホストコンピュータ１００は、メモリ３００に対してデータのリード処理およびライト処理等を指令するコマンドを発行するものである。このホストコンピュータ１００は、ホストコンピュータ１００としての処理を実行するプロセッサと、メモリコントローラ２００との間のやりとりを行うためのコントローラインターフェースとを備える。
【００２２】
メモリコントローラ２００は、ホストコンピュータ１００からのコマンドに従って、メモリ３００に対するリクエスト制御を行うものである。なお、メモリコントローラ２００は、特許請求の範囲に記載のメモリ制御装置の一例である。
【００２３】
メモリ３００は、制御部およびメモリセルアレイを備える。このメモリ３００の制御部は、メモリコントローラ２００からのリクエストに従ってメモリセルへのアクセスを行う。メモリ３００のメモリセルアレイは、複数のメモリセルからなるメモリセルアレイであり、ビット毎に２値の何れかの値を記憶するメモリセル、または、複数ビット毎に多値の何れかの値を記憶するメモリセルが２次元状（マトリクス状）に多数配列されている。このメモリセルアレイは、複数バイトサイズ（例えば、５１２Ｂ）を有するページを読出しまたは書込みのアクセス単位とし、消去することなくデータの上書きが可能な不揮発メモリ（ＮＶＭ：Non-Volatile Memory）を想定する。
【００２４】
［メモリコントローラの構成］
図２は、本技術の第１の実施の形態におけるメモリコントローラ２００の一構成例を示す図である。このメモリコントローラ２００は、コピー制御部２１０と、論理アドレス衝突判定部２３０と、論理アドレス置換部２４０と、ライト要求バッファ２５０と、アドレス変換部２６０と、ＲＡＭ２７０とを備える。また、このメモリコントローラ２００は、ホストコンピュータ１００との間のやりとりを行うためのホストインターフェース２０１と、メモリ３００との間のやりとりを行うためのメモリインターフェース２０３とを備える。
【００２５】
コピー制御部２１０は、ウェアレベリング等のための領域間のコピーおよび削除を制御するものである。このコピー制御部２１０は、ホストコンピュータ１００からのコマンドによる処理とは別に、バックグラウンドでリードおよびライトのアクセスを制御する。このコピー制御部２１０からのアクセスは、ホストコンピュータ１００からのアクセスと同様に、論理アドレスにより指示される。
【００２６】
コピー制御部２１０によるコピー動作は、メモリ３００のブロックを単位として指示される。ブロックは複数のページから構成される。コピー動作の際には、１ページずつがコピー単位として処理される。したがって、コピー対象となっているブロックにおいて、コピー済のページ、コピー中のページ、および、コピー前のページの３種類の状態が存在し得る。なお、ページは、特許請求の範囲に記載の第１の記憶領域の一例である。また、ブロックは、特許請求の範囲に記載の第２の記憶領域の一例である。
【００２７】
論理アドレス衝突判定部２３０は、コピー制御部２１０によるコピー動作の対象となっている領域の論理アドレス空間と、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスとの衝突を判定するものである。この論理アドレス衝突判定部２３０は、両者の論理アドレスおよびホストコンピュータ１００から発行されたコマンドの種類（リードまたはライト）に基づいて、衝突の有無、および、衝突が生じている場合にはページの状態（上述の３種類の何れか）が判定される。この判定結果は、論理アドレス置換部２４０に供給される。なお、論理アドレス衝突判定部２３０は、特許請求の範囲に記載のアドレス衝突判定部の一例である。
【００２８】
論理アドレス置換部２４０は、論理アドレス衝突判定部２３０による判定結果に応じて、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスを他の論理アドレスに置換するものである。このアドレス置換の具体的な内容については後述する。なお、論理アドレス置換部２４０は、特許請求の範囲に記載のアドレス置換部の一例である。
【００２９】
ライト要求バッファ２５０は、コピー中のページに対して、ホストコンピュータ１００からライト要求が発行された際に、そのライト要求を待機させるためにその内容を保持するバッファである。論理アドレス衝突判定部２３０による判定結果において、コピー中のページに対するライト要求であると判定されると、論理アドレス置換部２４０はライト要求バッファ２５０に対してそのライト要求を出力する。
【００３０】
アドレス変換部２６０は、論理アドレス置換部２４０から出力された論理アドレスを、メモリ３００の物理アドレスに変換するものである。このアドレス変換部２６０は、例えば、論理アドレスと物理アドレスとを関連付けるテーブルを保持して、そのテーブルを参照することにより論理アドレスから物理アドレスへの変換を行う。
【００３１】
ＲＡＭ（Random Access Memory）２７０は、メモリコントローラ２００の動作に必要な作業領域を記憶する内部メモリである。このＲＡＭ２７０は、ウェアレベリングのためのコピー動作の際には、メモリ３００から読み出されたデータを一旦記憶するバッファ領域として用いられる。
【００３２】
［メモリのアドレス空間］
図３は、本技術の実施の形態におけるメモリ３００のアドレス空間の対応例を示す図である。
【００３３】
ホストコンピュータ１００から発行されるコマンドや、コピー制御部２１０によるコピー動作の制御は、論理アドレスにより指示される。論理アドレス空間は、メモリ３００の物理アドレス空間にマッピングされている。メモリ３００に対してアクセスが行われる際には、アドレス変換部２６０がその論理アドレスを、ブロック単位でメモリ３００の物理アドレスに変換する。
【００３４】
ここでは、オーバープロビジョニングを想定する。すなわち、物理アドレス空間は、ホストコンピュータ１００からアクセス可能な論理アドレス空間よりも大きい空間を有する。そのため、一部の物理アドレス空間は、ホストコンピュータ１００からアクセス不可能な論理アドレス空間としてマッピングされる。この例では、論理アドレス空間におけるページ＃１０００より低いアドレスの領域は、「ホストコンピュータ１００からアクセス可能な論理アドレス空間」（以下、「アクセス可能空間」と称する。）としてマッピングされる。一方、論理アドレス空間におけるページ＃１０００以降のアドレスの領域は、「ホストコンピュータ１００からアクセス不可能な論理アドレス空間」（以下、「アクセス不可能空間」と称する。）としてマッピングされる。
【００３５】
図４は、本技術の実施の形態におけるアドレス変換部２６０のテーブルの状態例を示す図である。
【００３６】
この例では、論理アドレス空間における論理ブロックアドレス＃０から＃１００より低いアドレスの領域が、アクセス可能空間としてマッピングされている。そして、論理ブロックアドレス＃１００以降のアドレスの領域がアクセス不可能空間としてマッピングされている。
【００３７】
［データコピー］
図５は、本技術の実施の形態におけるデータコピーの態様例を示す図である。このデータコピーは、ウェアレベリング等に際して実行されるものである。
【００３８】
この実施の形態においては、データコピーの際、論理アドレス空間において、アクセス可能空間からアクセス不可能空間にコピーが行われる。この例では、論理ブロック＃０の各ページのデータがＲＡＭ２７０に読み出され、その読み出されたデータが論理ブロック＃１００にコピーされる。すなわち、物理ブロック＃０の各ページの記憶内容が、物理ブロック＃２００にコピーされることになる。
【００３９】
このデータコピーが完了した後、アクセス不可能空間にコピーされたブロックが、アクセス不可能空間からアクセス可能空間になるように、アドレス変換部２６０のテーブルが更新される。その状態例を示すのが次図である。
【００４０】
図６は、本技術の実施の形態におけるデータコピー後のアドレス変換部２６０のテーブルの状態例を示す図である。
【００４１】
この例では、アクセス可能空間の論理ブロックアドレス＃０に対応する物理ブロックアドレスが、＃０から＃２００に更新されている。一方、アクセス不可能空間の論理ブロックアドレス＃１００に対応する物理ブロックアドレスが、＃２００から＃０に更新されている。すなわち、物理ブロックアドレス＃０と＃２００が、アクセス可能空間とアクセス不可能空間との間で入れ替わっている。
【００４２】
このように、この実施の形態におけるデータコピーの際には、コピー元のブロックを一旦アクセス不可能空間に書き込んでおいて、コピー完了後にアクセス可能空間に更新して、ホストコンピュータ１００から見えるようにする。これにより、コピー開始からコピー完了までの中途半端な状態においては、ホストコンピュータ１００から直接は見えないようにして、その間の制御をメモリコントローラ２００において管理することを可能にする。
【００４３】
図７は、本技術の実施の形態におけるデータコピーの際のブロック内の各ページの状態例を示す図である。
【００４４】
上述のように、コピー制御部２１０によるコピー動作は、メモリ３００のブロックを単位として指示される。このブロックコピーでは、ページ単位のコピー（ページコピー）が複数回行われる。コピー元のブロックとコピー先のブロックとにおいて、先頭から順次、コピー位置を示すコピーオフセットに従って各ページがコピーされていく。１つのページがコピーされるたびにコピーオフセットはインクリメントされていく。
【００４５】
コピーオフセットが示すページがコピー中であり、コピーオフセットが示すページより以前がコピー済であり、コピーオフセットが示すページより以降がコピー前であることになる。
【００４６】
図８は、本技術の実施の形態におけるメモリコントローラ２００のデータコピーの処理手順例を示す流れ図である。
【００４７】
まず、コピーオフセットが「０」にクリアされる（ステップＳ９１１）。そして、コピー元のコピーオフセットが示すページからＲＡＭ２７０にデータが読み出される（ステップＳ９１２）。このＲＡＭ２７０に読み出されたデータは、コピー先のコピーオフセットが示すページに書き込まれる（ステップＳ９１３）。
【００４８】
ブロック内の全てのページについてコピーが完了していなければ（ステップＳ９１４：Ｎｏ）、コピーオフセットを１つインクリメントして（ステップＳ９１５）、ステップＳ９１２以降の処理を繰り返す。
【００４９】
ブロック内の全てのページについてコピーが完了した場合には（ステップＳ９１４：Ｙｅｓ）、アドレス変換部２６０のテーブルを更新して（ステップＳ９１６）、コピー先の領域をアクセス可能空間とする。
【００５０】
［アドレス衝突］
図９は、本技術の実施の形態におけるアドレス衝突の状態と動作との関係例を示す図である。
【００５１】
この実施の形態では、論理アドレス衝突判定部２３０が、ホストコンピュータ１００からのコマンドについて、そのアクセスがコピー中の論理アドレス空間と衝突する状態を判定する。以下では、同図に従って、７つのケースに場合分けして説明する。
【００５２】
ケース＃１乃至３は、ホストコンピュータ１００からのリードコマンドにより指定された論理アドレスとコピー動作の対象となっている領域の論理アドレス空間とが衝突している場合である。ケース＃４乃至６は、ホストコンピュータ１００からのライトコマンドにより指定された論理アドレスとコピー動作の対象となっている領域の論理アドレス空間とが衝突している場合である。ケース＃７は、ホストコンピュータ１００からのコマンドにより指定された論理アドレスとコピー動作の対象となっている領域の論理アドレス空間とが衝突していない場合である。
【００５３】
図１０は、本技術の実施の形態におけるケース＃１および＃４の場合の動作例を示す図である。
【００５４】
ケース＃１は、ホストコンピュータ１００からリードアドレスとして指定された論理アドレスがコピー済のページであった場合である。また、ケース＃４は、ホストコンピュータ１００からライトアドレスとして指定された論理アドレスがコピー済のページであった場合である。すなわち、これらケース＃１および＃４の場合には、ホストコンピュータ１００からアクセスしようとするページが既にコピー済である。したがって、コピー先のページにアクセスすれば、ホストコンピュータ１００からのコマンドを処理できることになる。
【００５５】
そのため、論理アドレス置換部２４０は、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスを、コピー先の論理アドレスに置換する。この置換された論理アドレスが、アドレス変換部２６０によって物理アドレスに変換される。
【００５６】
図１１は、本技術の実施の形態におけるケース＃２の場合の動作例を示す図である。
【００５７】
ケース＃２は、ホストコンピュータ１００からリードアドレスとして指定された論理アドレスがコピー中のページであった場合である。この場合、コピー元のページからデータをリードすれば、ホストコンピュータ１００からのリードコマンドを処理できることになる。
【００５８】
そのため、論理アドレス置換部２４０は、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスを、置換せずにそのままアドレス変換部２６０に出力する。この置換されなかった論理アドレスが、アドレス変換部２６０によって物理アドレスに変換される。
【００５９】
図１２は、本技術の実施の形態におけるケース＃３および＃６の場合の動作例を示す図である。
【００６０】
ケース＃３は、ホストコンピュータ１００からリードアドレスとして指定された論理アドレスがコピー前のページであった場合である。また、ケース＃６は、ホストコンピュータ１００からライトアドレスとして指定された論理アドレスがコピー前のページであった場合である。すなわち、これらケース＃３および＃６の場合には、ホストコンピュータ１００からアクセスしようとするページは未だコピー前である。したがって、コピー元のページにアクセスすれば、ホストコンピュータ１００からのコマンドを処理できることになる。
【００６１】
そのため、論理アドレス置換部２４０は、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスを、置換せずにそのままアドレス変換部２６０に出力する。この置換されなかった論理アドレスが、アドレス変換部２６０によって物理アドレスに変換される。
【００６２】
図１３は、本技術の実施の形態におけるケース＃５の場合の動作例を示す図である。
【００６３】
ケース＃５は、ホストコンピュータ１００からライトアドレスとして指定された論理アドレスがコピー中のページであった場合である。この場合、コピー中のページに対する書込みは、データを破壊してしまうため、行うことはできない。
【００６４】
そのため、そのライト要求を待機させるために、論理アドレス置換部２４０はライト要求バッファ２５０にその内容を保持させる。したがって、そのページがコピー済の状態になるまで、そのライト要求は一時停止となる。そのページのコピーが完了すると、ケース＃４の状態になり、論理アドレス置換部２４０は、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスをコピー先の論理アドレスに置換して、アドレス変換部２６０に出力する。
【００６５】
図１４は、本技術の実施の形態におけるケース＃７の場合の動作例を示す図である。
【００６６】
ケース＃７は、ホストコンピュータ１００からのコマンドにより指定された論理アドレスとコピー動作の対象となっている領域の論理アドレス空間とが衝突していない場合である。したがって、ホストコンピュータ１００からのコマンドがリードまたはライトのいずれであっても、置換を行う必要はない。
【００６７】
そのため、論理アドレス置換部２４０は、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスを、置換せずにそのままアドレス変換部２６０に出力する。この置換されなかった論理アドレスが、アドレス変換部２６０によって物理アドレスに変換される。
【００６８】
図１５は、本技術の実施の形態におけるメモリコントローラ２００のアドレス衝突判定に関する処理手順例を示す流れ図である。
【００６９】
ホストコンピュータ１００からメモリ３００にアクセスするコマンドが発行されると、論理アドレス衝突判定部２３０は、コピー動作中領域の論理アドレス空間と、ホストコンピュータ１００から指定された論理アドレスとの衝突を判定する（ステップＳ９２１）。そして、その判定結果に応じて、以下のように各処理が行われる。
【００７０】
ホストコンピュータ１００からのコマンドにより指定された論理アドレスとコピー動作の対象となっている領域の論理アドレス空間とが衝突していない場合は（ステップＳ９３１：Ｎｏ）、ケース＃７に該当する。したがって、論理アドレス置換部２４０は、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスを、置換せずにそのままアドレス変換部２６０に出力する（ステップＳ９３５）。この置換されなかった論理アドレスは、アドレス変換部２６０によって物理アドレスに変換される（ステップＳ９３９）。
【００７１】
ホストコンピュータ１００からアクセスしようとするページがコピー済であった場合は（ステップＳ９３２：Ｙｅｓ）、ケース＃１および＃４に該当する。したがって、論理アドレス置換部２４０は、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスを、コピー先の論理アドレスに置換する（ステップＳ９３６）。この置換された論理アドレスは、アドレス変換部２６０によって物理アドレスに変換される（ステップＳ９３９）。
【００７２】
ホストコンピュータ１００からアクセスしようとするページがコピー前であった場合は（ステップＳ９３３：Ｙｅｓ）、ケース＃３および＃６に該当する。したがって、論理アドレス置換部２４０は、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスを、置換せずにそのままアドレス変換部２６０に出力する（ステップＳ９３５）。この置換されなかった論理アドレスは、アドレス変換部２６０によって物理アドレスに変換される（ステップＳ９３９）。
【００７３】
ホストコンピュータ１００からアクセスしようとするページがコピー前でないと判定された場合は（ステップＳ９３３：Ｎｏ）、そのページはコピー中であることになる。このとき、ホストコンピュータ１００からのアクセスがリードアクセスであれば（ステップＳ９３４：Ｙｅｓ）、ケース＃２に該当する。したがって、論理アドレス置換部２４０は、ホストコンピュータ１００から発行されたコマンドにより指定された論理アドレスを、置換せずにそのままアドレス変換部２６０に出力する（ステップＳ９３５）。この置換されなかった論理アドレスは、アドレス変換部２６０によって物理アドレスに変換される（ステップＳ９３９）。
【００７４】
ホストコンピュータ１００からアクセスしようとするページがコピー中であって（ステップＳ９３３：Ｎｏ）、そのアクセスがリードアクセスでなければ（ステップＳ９３４：Ｎｏ）、ケース＃５に該当する。したがって、論理アドレス置換部２４０は、ライト要求バッファ２５０にその内容を保持させて、そのページがコピー済の状態になるまでそのライト要求を待機させる（ステップＳ９３８）。すなわち、コピー済を判定するステップＳ９３２に戻ることになる。
【００７５】
このように、本技術の第１の実施の形態によれば、ホストコンピュータ１００からのコマンドにより指定された論理アドレスとコピー動作の対象となっている領域の論理アドレス空間とが衝突している場合でも、ページ単位でアクセスを制御することができる。すなわち、コピー中のライト以外はページ単位でアクセスを続行させることができ、メモリアクセスに要するレイテンシを短縮することができる。また、従来技術のように他のメモリ領域を別途設ける必要がなく、データのマージ作業を不要にすることができる。
【００７６】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、ホストコンピュータ１００からのコマンドによるアクセスがページ内に収まっていることを前提としていた。これに対し、この第２の実施の形態では、ホストコンピュータ１００からのコマンドによるアクセスがページ内に収まっていない場合も許容する。なお、情報処理システムとしての全体構成については、上述の第１の実施の形態と同様であるため、詳細な説明は省略する。
【００７７】
［メモリコントローラの構成］
図１６は、本技術の第２の実施の形態におけるメモリコントローラ２００の一構成例を示す図である。この第２の実施の形態におけるメモリコントローラ２００は、上述の第１の実施の形態と比べて、アクセス分割部２２０をさらに備える点において異なり、それ以外については同様である。
【００７８】
アクセス分割部２２０は、ホストコンピュータ１００からのコマンドによるアクセスが１ページよりも大きい領域に関するものであれば、それぞれが１ページを超えない領域に分割するものである。例えば、１ページのサイズが５１２Ｂであり、ホストコンピュータ１００からのコマンドによるアクセスが１２８ＫＢのデータ容量に関するものであれば、そのアクセスを５１２Ｂ毎に分割して、論理アドレス衝突判定部２３０に供給する。これにより、論理アドレス衝突判定部２３０以降の処理は、上述の第１の実施の形態と同様になる。
【００７９】
このように、本技術の第２の実施の形態によれば、ホストコンピュータ１００からのコマンドによるアクセスをアクセス分割部２２０によってページ毎に分割することにより、サイズの大きいアクセスについてもページ単位でアクセスを制御することができる。
【００８０】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００８１】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【００８２】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【００８３】
なお、本技術は以下のような構成もとることができる。
（１）メモリのコピー単位である第１の記憶領域を複数まとめた第２の記憶領域から前記メモリの他の記憶領域にコピー動作が実行されている場合において、前記第２の記憶領域に対するアクセスが発行された際に前記第１の記憶領域を単位として前記アクセスを制御するメモリ制御装置。
（２）前記コピー動作と前記アクセスとのアドレス衝突を前記コピー単位で判定するアドレス衝突判定部と、
前記アクセスの対象となる前記コピー単位の領域が前記他の記憶領域にコピー済である旨の判定が前記アドレス衝突判定においてされた場合には前記アクセスの対象となる領域のアドレスをコピー先のアドレスに置換して前記アクセスを続行させるアドレス置換部と
を具備する前記（１）に記載のメモリ制御装置。
（３）前記アドレス置換部は、前記アクセスがリードアクセスであってその対象となる前記コピー単位の領域が前記他の記憶領域にコピー中である旨の判定が前記アドレス衝突判定においてされた場合には前記置換を行わずに前記アクセスを続行させる
前記（２）に記載のメモリ制御装置。
（４）前記アドレス置換部は、前記アクセスがライトアクセスであってその対象となる前記コピー単位の領域が前記他の記憶領域にコピー中である旨の判定が前記アドレス衝突判定においてされた場合には前記コピー単位の領域がコピー済になるまで前記ライトアクセスを待機させる
前記（２）または（３）に記載のメモリ制御装置。
（５）前記ライトアクセスが待機されている間にそのライトアクセス要求を保持するライト要求バッファをさらに具備する前記（４）に記載のメモリ制御装置。
（６）前記アドレス置換部は、前記アクセスの対象となる前記コピー単位の領域が前記他の記憶領域へのコピー前である旨の判定が前記アドレス衝突判定においてされた場合には前記置換を行わずに前記アクセスを続行させる
前記（２）から（５）のいずれかに記載のメモリ制御装置。
（７）前記アドレス置換部は、前記アクセスの対象となる前記コピー単位の領域が前記他の記憶領域とは衝突しない旨の判定が前記アドレス衝突判定においてされた場合には前記置換を行わずに前記アクセスを続行させる
前記（２）から（６）のいずれかに記載のメモリ制御装置。
（８）前記第２の記憶領域を単位として前記アクセスの対象アドレスについて論理アドレスから前記メモリの物理アドレスに変換するアドレス変換部を具備し、
前記アドレス変換部は、前記コピー動作が行われた後にはコピー後の物理アドレスを示すように更新される
前記（２）から（７）のいずれかに記載のメモリ制御装置。
（９）前記他の記憶領域は、前記コピー動作が行われる前にはアクセス不可能な論理アドレス空間の領域であり、前記コピー動作が行われた後には前記アドレス変換部においてアクセス可能な論理アドレス空間の領域に更新される
前記（８）に記載のメモリ制御装置。
（１０）前記第２の記憶領域に対するアクセスが前記コピー単位よりも大きい領域に関するアクセスである場合にはそれぞれが前記コピー単位を超えない領域に分割して前記アドレス衝突判定部に供給するアクセス分割部をさらに具備する前記（２）から（９）のいずれかに記載のメモリ制御装置。
（１１）メモリと、
前記メモリのコピー単位である第１の記憶領域を複数まとめた第２の記憶領域から前記メモリの他の記憶領域にコピー動作が実行されている場合において、前記第２の記憶領域に対するアクセスが発行された際に前記第１の記憶領域を単位として前記アクセスを制御するメモリ制御装置と
を具備するメモリモジュール。
（１２）前記メモリは、不揮発メモリである
前記（１１）に記載のメモリモジュール。
（１３）ホストコンピュータと、
メモリと、
前記メモリのコピー単位である第１の記憶領域を複数まとめた第２の記憶領域から前記メモリの他の記憶領域にコピー動作が実行されている場合において、前記ホストコンピュータから前記第２の記憶領域に対するアクセスが発行された際に前記第１の記憶領域を単位として前記アクセスを制御するメモリ制御装置と
を具備する情報処理システム。
【符号の説明】
【００８４】
１００  ホストコンピュータ
２００  メモリコントローラ
２０１  ホストインターフェース
２０３  メモリインターフェース
２１０  コピー制御部
２２０  アクセス分割部
２３０  論理アドレス衝突判定部
２４０  論理アドレス置換部
２５０  ライト要求バッファ
２６０  アドレス変換部
３００  メモリ
４００  メモリモジュール
【図１】
2020158059.tif 000003
【図２】
2020158059.tif 000004
【図３】
2020158059.tif 000005
【図４】
2020158059.tif 000006
【図５】
2020158059.tif 000007
【図６】
2020158059.tif 000008
【図７】
2020158059.tif 000009
【図８】
2020158059.tif 000010
【図９】
2020158059.tif 000011
【図１０】
2020158059.tif 000012
【図１１】
2020158059.tif 000013
【図１２】
2020158059.tif 000014
【図１３】
2020158059.tif 000015
【図１４】
2020158059.tif 000016
【図１５】
2020158059.tif 000017
【図１６】
2020158059.tif 000018
【国際調査報告】
2020158059.tif 000019
2020158059.tif 000020