(57)【要約】【課題】複数のバンクからなるメモリ空間において複数のアクセス単位へのアクセスを要求する際に、アドレスの指定を短縮化する。【解決手段】コマンド処理部は、複数のバンクからなるメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付ける。アドレス生成部は、複数のバンクのうち指定されたアドレスについて予め定められたバンクにおけるアクセスの対象となるアクセス単位のアドレスを生成する。【選択図】図１
2013205872.tif 000002
【特許請求の範囲】
【請求項１】
複数のバンクからなるメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理部と、
前記複数のバンクのうち前記指定されたアドレスについて予め定められたバンクにおける前記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成部と
を具備する記憶制御装置。
【請求項２】
前記メモリ空間におけるアドレスに応じて同時にアクセスするバンク数およびバンク毎のアクセス単位の数を設定情報として記憶する設定情報記憶部をさらに具備し、
前記アドレス生成部は、前記設定情報に従って前記アクセスの対象となるアクセス単位のアドレスを生成する
請求項１記載の記憶制御装置。
【請求項３】
前記アドレス生成部は、前記設定情報における前記同時にアクセスするバンク数に従って、異なるバンクに対するアドレスを生成する
請求項２記載の記憶制御装置。
【請求項４】
前記アドレス生成部は、前記設定情報における前記アクセス単位の数に従って、バンク毎のアクセス単位の連続するアドレスを生成する
請求項２記載の記憶制御装置。
【請求項５】
前記コマンドにおいて指定されたアドレスは、当該コマンドによるアクセスの先頭アドレスであり、
前記アドレス生成部は、前記先頭アドレスを起点として前記アクセスの対象となるアクセス単位のアドレスを生成する
請求項１記載の記憶制御装置。
【請求項６】
複数のバンクからなるメモリアレイと、
前記メモリアレイのメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理部と、
前記複数のバンクのうち前記指定されたアドレスについて予め定められたバンクにおける前記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成部と
を具備する記憶装置。
【請求項７】
前記メモリアレイは、可変抵抗素子からなるメモリセルを含む請求項６記載の記憶装置。
【請求項８】
複数のバンクからなるメモリアレイと、
前記メモリアレイのメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理部と、
前記複数のバンクのうち前記指定されたアドレスについて予め定められたバンクにおける前記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成部と、
前記メモリアレイに対するリードコマンドまたはライトコマンドを発行するホストコンピュータと
を具備する情報処理システム。
【請求項９】
複数のバンクからなるメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理手順と、
前記複数のバンクのうち前記指定されたアドレスについて予め定められたバンクにおける前記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成手順と
を具備する記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、記憶制御装置に関する。詳しくは、不揮発性メモリのための記憶制御装置、記憶装置、情報処理システム、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
情報処理システムにおいては、ワークメモリとしてＤＲＡＭ（Dynamic Random Access Memory）等が用いられる。このＤＲＡＭは、通常、揮発性メモリであり、電源の供給が停止するとその記憶内容は消失する。一方、近年、不揮発性メモリ（ＮＶＭ：Non-Volatile Memory）が用いられるようになっている。この不揮発性メモリとしては、大きなサイズを単位としたデータアクセスに対応したフラッシュメモリと、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ：Non-Volatile RAM）とに大別される。ここで、フラッシュメモリの代表例としては、ＮＡＮＤ型フラッシュメモリが挙げられる。一方、不揮発性ランダムアクセスメモリの例としては、ＲｅＲＡＭ（Resistance RAM）、ＰＣＲＡＭ（Phase-Change RAM）、ＭＲＡＭ（Magnetoresistive RAM）などが挙げられる。
【０００３】
このように小さな単位での高速なランダムアクセスが可能なＮＶＲＡＭでは、コマンドに続くアドレス入力がオーバヘッドとして無視できない。特にマルチバンクアクセスにおいては、同時に複数のバンクにページアドレスを供給し、データ転送することで、アクセス速度の改善をすることが一般的に行われている。このとき、例えば、３２バイトページで、１６バンクのマルチバンクアクセスをすることで５１２バイトのデータ転送が可能となる。バンクごとに指定するアドレスのサイズが４バイトとすれば、１６バンクで６４バイトのアドレス情報の転送が必要となり、全転送データの１０％を越えてしまう。もし、ページサイズが５１２バイトであれば一般的なバースト転送で対応可能であり、先頭アドレス４バイトだけの情報で全てのデータ転送が可能となり、１％以下のオーバヘッドとなる。
【０００４】
また、コマンドおよびアドレス信号はＳＤＲＡＭのＬＰＤＤＲ規格のように、ファンアウトが必要であるため、データ信号よりもクロックレートが低い場合が多く、その場合、オーバヘッドはさらに大きくなってしまう。
【０００５】
一方、上述のようなＮＶＲＡＭへアクセスを行うシステムとして考えた場合、最適なデータ長はそこで動作するアプリケーション毎に様々な値となる。例えば、ＨＤＤ（ハードディスクドライブ）やフラッシュカードからデータを転送するための領域であれば５１２バイト程度が採用される。また、その領域を管理する情報を保存する領域であればＦＡＴのようなファイルシステムのエントリサイズである３２バイトや６４バイトといったサイズが用いられる。一方、仮想メモリシステムのスワップ領域としてアクセスする場合には、仮想ページサイズである４Ｋバイトサイズが採用される。これらのデータ転送を効率よく実現するためには、複数のバースト長をサポートすることも可能だが、さらにバースト長を指示する情報を追加して送る必要が出てくるなど、バースト転送のオーバヘッドが増加する方向になってしまう。
【０００６】
そこで、例えば、複数のサブセルアレイを有して、ページサイズを自由に選択できるようにした半導体記憶装置が提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−３３１５８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の従来技術では、ページ毎にアドレス指定を行う必要があり、メモリアクセスのためのオーバヘッドが増加してしまう。特に、ＮＶＲＡＭのような小さいページの場合、コマンドやアドレスのサイズとページサイズとの差が小さくなるため、これらを送信するオーバヘッドが相対的に大きく、バースト転送を行った場合のオーバヘッドが大きくなってしまう。
【０００９】
本技術はこのような状況に鑑みて生み出されたものであり、複数のバンクからなるメモリ空間において複数のアクセス単位へのアクセスを要求する際に、アドレスの指定を短縮化することを目的とする。
【課題を解決するための手段】
【００１０】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、複数のバンクからなるメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理部と、上記複数のバンクのうち上記指定されたアドレスについて予め定められたバンクにおける上記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成部とを具備する記憶制御装置およびその方法である。これにより、複数のバンクからなるメモリ空間において、複数のバンクのうち指定されたアドレスについて予め定められたバンクに対してアクセスさせるという作用をもたらす。
【００１１】
また、この第１の側面において、上記メモリ空間におけるアドレスに応じて同時にアクセスするバンク数およびバンク毎のアクセス単位の数を設定情報として記憶する設定情報記憶部をさらに具備し、上記アドレス生成部は、上記設定情報に従って上記アクセスの対象となるアクセス単位のアドレスを生成するようにしてもよい。これにより、同時にアクセスするバンク数およびバンク毎のアクセス単位の数を設定した上で、各バンクに対してアクセスさせるという作用をもたらす。
【００１２】
また、この第１の側面において、上記アドレス生成部は、上記設定情報における上記同時にアクセスするバンク数に従って、異なるバンクに対するアドレスを生成するようにしてもよい。これにより、複数のバンクによる同時アクセスをさせるという作用をもたらす。
【００１３】
また、この第１の側面において、上記アドレス生成部は、上記設定情報における上記アクセス単位の数に従って、バンク毎のアクセス単位の連続するアドレスを生成するようにしてもよい。これにより、バンク毎に独立したアクセスをさせるという作用をもたらす。
【００１４】
また、この第１の側面において、上記コマンドにおいて指定されたアドレスは、当該コマンドによるアクセスの先頭アドレスであり、上記アドレス生成部は、上記先頭アドレスを起点として上記アクセスの対象となるアクセス単位のアドレスを生成するようにしてもよい。これにより、先頭アドレスを起点として、複数のバンクのうち予め定められたバンクに対してアクセスさせるという作用をもたらす。
【００１５】
また、本技術の第２の側面は、複数のバンクからなるメモリアレイと、上記メモリアレイのメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理部と、上記複数のバンクのうち上記指定されたアドレスについて予め定められたバンクにおける上記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成部とを具備する記憶装置である。これにより、複数のバンクからなるメモリアレイのメモリ空間において、複数のバンクのうち指定されたアドレスについて予め定められたバンクに対してアクセスさせるという作用をもたらす。
【００１６】
また、この第２の側面において、上記メモリアレイは、可変抵抗素子からなるメモリセルを含んでもよい。
【００１７】
また、本技術の第３の側面は、複数のバンクからなるメモリアレイと、上記メモリアレイのメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理部と、上記複数のバンクのうち上記指定されたアドレスについて予め定められたバンクにおける上記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成部と、上記メモリアレイに対するリードコマンドまたはライトコマンドを発行するホストコンピュータとを具備する情報処理システムである。これにより、複数のバンクからなるメモリアレイのメモリ空間において、複数のバンクのうちコマンドにおいて指定されたアドレスについて予め定められたバンクに対してアクセスさせるという作用をもたらす。
【発明の効果】
【００１８】
本技術によれば、複数のバンクからなるメモリ空間において複数のアクセス単位へのアクセスを要求する際に、アドレスの指定を短縮化することができるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１９】
【図１】本技術の実施の形態における情報処理システムの一構成例を示す図である。
【図２】本技術の実施の形態におけるメモリシステム４００の一構成例を示す図である。
【図３】本技術の実施の形態におけるバンク制御部２３０の一構成例を示す図である。
【図４】バースト転送によりメモリアクセスを行うためのコマンド送信タイミング例を示す図である。
【図５】本技術の実施の形態におけるバースト転送のためのコマンドフォーマット例を示す図である。
【図６】本技術の第１の実施の形態におけるアドレス割当ての例を示す図である。
【図７】本技術の第１の実施の形態におけるエリア割当ての例を示す図である。
【図８】本技術の第１の実施の形態におけるエリア毎の設定情報の例を示す図である。
【図９】本技術の第１の実施の形態における設定情報に対するアクセスアドレスを示す図である。
【図１０】本技術の実施の形態におけるバースト転送リードコマンドの処理手順例を示す流れ図である。
【図１１】本技術の実施の形態におけるバースト転送ライトコマンドの処理手順例を示す流れ図である。
【図１２】本技術の第２の実施の形態におけるアドレス割当ての例を示す図である。
【図１３】本技術の第２の実施の形態におけるエリア毎の設定情報の例を示す図である。
【図１４】本技術の第２の実施の形態における設定情報に対するアクセスアドレスを示す図である。
【図１５】本技術の実施の形態を情報処理システムに適用した場合の具体例を示す図である。
【発明を実施するための形態】
【００２０】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（バンク毎に連続するページアドレスを割り当てる例）
２．第２の実施の形態（連続するページアドレスをバンクに跨って割り当てる例）
３．適用例（実アプリケーションを想定した適用例）
【００２１】
＜１．第１の実施の形態＞
［情報処理システムの構成］
図１は、本技術の実施の形態における情報処理システムの一構成例を示す図である。この情報処理システムは、ホストコンピュータ１００と、メモリシステム４００とから構成される。メモリシステム４００は、４つのバンク３０１乃至３０４からなるメモリを有している。このバンクの数は一例であり、システムの仕様に応じて任意の数のバンクを設けることができる。また、メモリシステム４００は、メモリ制御部２００を有している。
【００２２】
ホストコンピュータ１００は、メモリシステム４００に対してデータのリードまたはライトを要求するコマンドを発行するものである。
【００２３】
バンク３０１乃至３０４は不揮発性メモリからなり、特に、小さな単位での高速なランダムアクセスが可能な不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）を想定する。ＮＶＲＡＭの例としては、抵抗変化型のＲｅＲＡＭ、相変化型のＰＣＲＡＭ、磁気抵抗変化型のＭＲＡＭなどが挙げられる。この実施の形態では、特に可変抵抗素子を利用したＲｅＲＡＭを想定する。
【００２４】
メモリ制御部２００は、ホストコンピュータ１００からの要求に対して、バンク３０１乃至３０４の制御を行うものである。このメモリ制御部２００において、ホストコンピュータ１００側とのインターフェース（Ｉ／Ｆ）をホストインターフェース２１０と称し、バンク３０１乃至３０４側とのインターフェースをメモリインターフェース２２０と称する。
【００２５】
図２は、本技術の実施の形態におけるメモリシステム４００の一構成例を示す図である。上述のとおり、このメモリシステム４００は、メモリ制御部２００と、バンク３０１乃至３０４とを備える。メモリ制御部２００は、ホストインターフェース２１０と、メモリインターフェース２２０と、バンク制御部２３０とを備える。また、バンク３０１乃至３０４の各々は、ＮＶＲＡＭセルアレイ３１０と、ページバッファ３２０と、制御回路３３０とを備える。
【００２６】
ホストインターフェース２１０は、ホストコンピュータ１００との間のやりとりを司るインターフェースである。メモリインターフェース２２０は、バンク３０１乃至３０４との間のやりとりを司るインターフェースである。バンク制御部２３０は、バンク３０１乃至３０４を制御してマルチバンクアクセスを行うものである。バンク制御部２３０の詳細な構成については後述する。
【００２７】
ＮＶＲＡＭセルアレイ３１０は、ＮＶＲＡＭのセルアレイであり、上述のように可変抵抗素子を利用したＲｅＲＡＭを想定している。このＮＶＲＡＭセルアレイ３１０は、バンク３０１乃至３０４に物理的に分割されている。各バンクに対するアドレスの割り当てについては、例示するように適宜定めることができる。ページバッファ３２０は、ＮＶＲＡＭセルアレイ３１０の各々との間のアクセス単位であるページ毎にライトデータまたはリードデータを保持するバッファである。制御回路３３０は、ＮＶＲＡＭセルアレイ３１０の各々に対するアクセスを制御するための回路である。なお、ＮＶＲＡＭセルアレイ３１０は、特許請求の範囲に記載のメモリアレイの一例である。
【００２８】
図３は、本技術の実施の形態におけるバンク制御部２３０の一構成例を示す図である。このバンク制御部２３０は、コマンド処理部２３１と、設定情報記憶部２３２と、アドレス生成部２３３と、アドレスバッファ２３４と、アドレスデコーダ２３５と、データ入出力部２３６とを備える。
【００２９】
コマンド処理部２３１は、ホストコンピュータ１００から発行されたコマンドを処理するものである。このコマンド処理部２３１は、入力されたコマンドをデコードして、そのコマンド毎に予め定められた動作を行う。また、このコマンド処理部２３１は、バンク３０１乃至３０４から返答されたステータスを受けてホストコンピュータ１００に出力する。
【００３０】
設定情報記憶部２３２は、メモリ空間におけるエリア毎に対応して設定情報を記憶するものである。この設定情報としては、例えば、同時にアクセスするバンク数およびバンク毎のページ数が想定される。
【００３１】
アドレス生成部２３３は、設定情報記憶部２３２に記憶されている設定情報に従って、バンク３０１乃至３０４におけるアドレスを生成するものである。もし、本技術の実施の形態のバースト転送を行わない場合には、入力されたアドレス情報をそのままアドレスバッファ２３４およびアドレスデコーダ２３５に出力することで、従来通りのアクセス方法にも対応可能である。
【００３２】
アドレスバッファ２３４は、アドレス生成部２３３によって生成されたバンク３０１乃至３０４に分配するアドレスを保持するバッファである。アドレスデコーダ２３５は、アドレス生成部２３３によって生成されたアドレスをデコードして、対象となるバンク３０１乃至３０４のセレクト信号をアクティブにするものである。
【００３３】
データ入出力部２３６は、ホストコンピュータ１００から入力されたライトデータをバンク３０１乃至３０４に出力し、または、バンク３０１乃至３０４から入力されたリードデータをホストコンピュータ１００に出力するものである。
【００３４】
このバンク制御部２３０の制御により、バンク３０１乃至３０４における複数のバンクが並列に動作可能となっている。
【００３５】
［バースト転送コマンド］
図４は、バースト転送によりメモリアクセスを行うためのコマンド送信タイミング例を示す図である。同図（ａ）は、１つのバンクにおいて連続ページアクセスを行うための高速化されない従来のタイミングである。この場合、１ページ毎にライトコマンドおよびアドレスが送信される。また、同図（ｂ）は、マルチバンクアクセスのための高速化されない従来のタイミングである。この場合、ライトコマンドおよびバンク毎の各ページのアドレスが送信される。このように、従来のバースト転送では、ページ毎にアドレスを指定する必要があり、オーバヘッドとなっていた。
【００３６】
同図（ｃ）は、本技術の実施の形態における連続ページアクセスを行うためのコマンド送信タイミング例を示している。ライトコマンドに続いて先頭ページのアドレスを指定すれば、アドレス生成部２３３によって各ページのアドレスが生成されるため、アドレスの送信は１回で済んでいる。また、同図（ｄ）は、本技術の実施の形態におけるマルチバンクアクセスを行うためのコマンド送信タイミング例を示している。この場合も、アドレス生成部２３３によって各ページのアドレスが生成されるため、アドレスの送信は１回で済んでいる。このように、本技術の実施の形態ではバースト転送開始時に必要となるアドレス情報を縮小することによってオーバヘッドを削減している。バンク数が多い場合には、さらに効果的となる。
【００３７】
図５は、本技術の実施の形態におけるバースト転送のためのコマンドフォーマット例を示す図である。同図（ａ）は、バースト転送に必要な設定情報を設定するためのバースト転送設定コマンドを示している。このバースト転送設定コマンドは、オペコードとして"ＳＥＴ＿ＢＵＲＳＴ＿ＡＲＥＡ＿ＰＡＲＡＭ"を示す。そして、オペランドとして、エリア番号と、バンク数と、ページ数とを指定する。これにより、指定されたエリア番号について、同時にアクセスするバンク数と、バンク毎のページ数とが設定情報として設定情報記憶部２３２に記憶される。
【００３８】
同図（ｂ）は、バースト転送を実行するためのバースト転送コマンドを示している。このバースト転送コマンドは、オペコードとしてバースト転送リードコマンド"ＢＵＲＳＴ＿ＲＥＡＤ"またはバースト転送ライトコマンド"ＢＵＲＳＴ＿ＷＲＩＴＥ"を示す。そして、オペランドとして、エリア番号と、先頭アドレスとを指定する。これにより、指定されたエリア番号に設定された態様によって、先頭アドレスを起点としてバースト転送が実行される。この例では、アドレスの最上位ビット部分にバンクアドレスを割り当て、その下位ビット部分にページアドレスを割り当てている。
【００３９】
このバースト転送コマンドによれば、バースト転送設定コマンドにおいて設定された同時にアクセスするバンク数およびバンク毎のページ数を利用して、ページサイズ×ページ数×バンク数のサイズのデータがバースト転送される。
【００４０】
バースト転送コマンドにおける先頭アドレスは、実際のバンクのアドレスを指定してもよく、また、当該エリアにおけるオフセットにより指定してもよい。この先頭アドレスにおいては、次図により説明するページ内オフセットアドレスは不要なため、本来のアドレス情報よりさらに少ないビット数で送信することが可能となる。
【００４１】
［アドレス割り当て］
図６は、本技術の第１の実施の形態におけるアドレス割当ての例を示す図である。この第１の実施の形態では、ＬＳＢ側から第０ビット乃至第１３ビットとした１４ビットアドレス空間としている。そして、２バンク構成を想定して、最上位ビットである第１３ビット目をバンクアドレスとして割り当てている。
【００４２】
第５ビット乃至第１２ビットの８ビットにはページアドレスが割り当てられる。そして、第０ビット乃至第４ビットの５ビットにはページ内のオフセットアドレスが割り当てられる。すなわち、２バンク構成の各バンクは２５６ページからなり、各ページは３２バイトである。
【００４３】
このようなアドレス割当てでは、アドレスの上位９ビットに着目すると、アドレス上で連続するページが同一バンク内に閉じるように配置されることがわかる。すなわち、第０バンクの２５６ページ分が連続し、続いて第１バンクの２５６ページ分が連続して配置されることになる。なお、「０ｂ」に続く数字は、２進数表記であることを示している。
【００４４】
図７は、本技術の第１の実施の形態におけるエリア割当ての例を示す図である。この実施の形態では、アドレス空間を連続する４Ｋバイトのエリアに分割して、それぞれのエリアにおいて同時にアクセスするバンク数およびバンク毎のページ数を予め設定できるようにしている。このエリアを識別するための番号をエリア番号とすると、このエリア番号は第１２ビットおよび第１３ビットの２ビットに割り当てられる。なお、「０ｘ」に続く数字は、１６進数表記であることを示している。なお、この第１の実施の形態では、第０エリアおよび第１エリアが第０バンクに属し、第１エリアおよび第２エリアが第１バンクに属する。
【００４５】
図８は、本技術の第１の実施の形態におけるエリア毎の設定情報の例を示す図である。この第１の実施の形態では、第０エリアおよび第２エリアには、同時にアクセスするバンク数として「１」、バンク毎のページ数として「１」が設定されている。第１エリアおよび第３エリアには、同時にアクセスするバンク数として「２」、バンク毎のページ数として「１」が設定されている。
【００４６】
図９は、本技術の第１の実施の形態における設定情報に対するアクセスアドレスを示す図である。同図（ａ）はエリア番号が０の場合のアクセスアドレスを示している。第０エリアは、同時にアクセスするバンク数が「１」、バンク毎のページ数も「１」であるため、１つのコマンドによって１ページ分のアクセスが行われる。
【００４７】
同図（ｂ）はエリア番号が１の場合のアクセスアドレスを示している。第１エリアは、同時にアクセスするバンク数が「２」、バンク毎のページ数が「１」であるため、１つのコマンドによって２つのバンクにおいてそれぞれ１ページ、すなわち計２ページ分のアクセスが行われる。このとき、第１エリアのアドレスは第０バンクに属するため、第０バンクおよび第１バンクにおいて同一のページアドレスを有するページがアクセスされる。
【００４８】
同図（ｃ）はエリア番号が２の場合のアクセスアドレスを示している。第２エリアは、第０エリアと同様に、同時にアクセスするバンク数が「１」、バンク毎のページ数も「１」であるため、１つのコマンドによって１ページ分のアクセスが行われる。
【００４９】
同図（ｄ）はエリア番号が３の場合のアクセスアドレスを示している。第３エリアは、第１エリアと同様に、同時にアクセスするバンク数が「２」、バンク毎のページ数が「１」であるため、１つのコマンドによって２つのバンクにおいてそれぞれ１ページ、すなわち計２ページ分のアクセスが行われる。このとき、第３エリアのアドレスは第１バンクに属するため、第１バンクのページアドレスに「１」加算したものを第０バンクのページアドレスとして用いて、アクセスが行われる。
【００５０】
［情報処理システムの動作］
図１０は、本技術の実施の形態におけるバースト転送リードコマンドの処理手順例を示す流れ図である。まず、コマンド処理部２３１がバースト転送リードコマンドを受け付ける（ステップＳ９１１）。設定情報記憶部２３２はバースト転送リードコマンドのエリア番号に対応するパラメータ（同時にアクセスするバンク数およびバンク毎のページ数）を出力する（ステップＳ９１２）。
【００５１】
そして、アドレス生成部２３３は、バースト転送リードコマンドの先頭アドレスから、各バンク３０１乃至３０４のためのアドレスを生成する（ステップＳ９１３）。アドレスバッファ２３４は生成されたアドレスを各バンク３０１乃至３０４に送信する（ステップＳ９１４）。また、コマンド処理部２３１はバースト転送リードコマンドを各バンク３０１乃至３０４に送信する（ステップＳ９１４）。
【００５２】
各バンク３０１乃至３０４のＮＶＲＡＭセルアレイ３１０において読出しが行われると、各バンク３０１乃至３０４のページバッファ３２０からデータ入出力部２３６にデータが出力される（ステップＳ９１５）。
【００５３】
そして、バースト転送リードコマンドのエリア番号の設定情報において指定されたページ数分の処理が完了するまで（ステップＳ９１６）、各バンクのページアドレスを「１」ずつ加算しながら（ステップＳ９１７）、ステップＳ９１４以降の処理を繰り返す。
【００５４】
図１１は、本技術の実施の形態におけるバースト転送ライトコマンドの処理手順例を示す流れ図である。コマンド処理部２３１がバースト転送ライトコマンドを受け付ける（ステップＳ９２１）設定情報記憶部２３２はバースト転送リードコマンドのエリア番号に対応するパラメータ（同時にアクセスするバンク数およびバンク毎のページ数）を出力する（ステップＳ９２２）。
【００５５】
そして、アドレス生成部２３３は、バースト転送ライトコマンドの先頭アドレスから、各バンク３０１乃至３０４のためのアドレスを生成する（ステップＳ９２３）。アドレスバッファ２３４は生成されたアドレスを各バンク３０１乃至３０４に送信する（ステップＳ９２４）。また、コマンド処理部２３１はバースト転送ライトコマンドを各バンク３０１乃至３０４に送信する（ステップＳ９２４）。さらに、ライトデータを各バンク３０１乃至３０４のページバッファ３２０に転送する（ステップＳ９２５）。
【００５６】
各バンク３０１乃至３０４のＮＶＲＡＭセルアレイ３１０において書込みが行われると、各バンク３０１乃至３０４のページバッファ３２０からコマンド処理部２３１にライト処理のステータスが出力される。コマンド処理部２３１は、このステータスに基づいて書込み結果を確認する（ステップＳ９２６）。その結果、エラーが発生していればエラー終了となる（ステップＳ９２７）。エラーが発生していなければ、バースト転送ライトコマンドのエリア番号の設定情報のページ数分の処理が完了するまで（ステップＳ９２８）、各バンクのページアドレスを「１」ずつ加算しながら（ステップＳ９２９）、ステップＳ９２４以降の処理を繰り返す。
【００５７】
このように、本技術の第１の実施の形態によれば、エリア毎に予め設定された設定情報に従ってバースト転送の各ページのアドレスを生成することにより、バースト転送コマンドにおけるアドレスの指定を短縮化することができる。特に、この第１の実施の形態では、バンクアドレスを最上位ビット部分に割り当てたため、バンクの各々において連続したアドレスを配置することができ、各バンクにおいて独立してバースト転送を実行することができる。
【００５８】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、バンクの各々において連続したアドレスを配置した例を示したが、この第２の実施の形態では、バンクに跨って連続したアドレスを配置した例について説明する。なお、情報処理システムとしての構成および動作ならびに想定するコマンドについては第１の実施の形態と同様であるため、ここでは説明を省略する。
【００５９】
［アドレス割り当て］
図１２は、本技術の第２の実施の形態におけるアドレス割当ての例を示す図である。この第２の実施の形態では、第１の実施の形態と同様に、ＬＳＢ側から第０ビット乃至第１３ビットとした１４ビットアドレス空間としている。第６ビット乃至第１３ビットの８ビットにはページアドレスが割り当てられる。そして、第０ビット乃至第４ビットの５ビットにはページ内のオフセットアドレスが割り当てられる。第１の実施の形態と同様に、２バンク構成の各バンクは２５６ページからなり、各ページは３２バイトである。
【００６０】
第１の実施の形態と異なるのは、バンクアドレスのビット位置であり、第５ビット目をバンクアドレスとして割り当てている。このようなアドレス割当てでは、アドレスの上位９ビットに着目すると、アドレス上で連続するページが異なるバンク内に配置されることがわかる。すなわち、連続するページは第０バンクと第１バンクに交互に配置されることになる。
【００６１】
なお、この第２の実施の形態においても第１の実施の形態と同様に、アドレス空間を連続する４Ｋバイトのエリアに分割しており、エリア番号は第１２ビットおよび第１３ビットの２ビットに割り当てられる。ただし、この第２の実施の形態では、各エリアのデータは各バンクに跨って配置される。
【００６２】
図１３は、本技術の第２の実施の形態におけるエリア毎の設定情報の例を示す図である。この第２の実施の形態では、第０エリアおよび第２エリアには、同時にアクセスするバンク数として「１」、バンク毎のページ数として「１」が設定されている。第１エリアには、同時にアクセスするバンク数として「２」、バンク毎のページ数として「１」が設定されている。第３エリアには、同時にアクセスするバンク数として「１」、バンク毎のページ数として「２」が設定されている。
【００６３】
図１４は、本技術の第２の実施の形態における設定情報に対するアクセスアドレスを示す図である。同図（ａ）はエリア番号が０の場合のアクセスアドレスを示している。第０エリアは、同時にアクセスするバンク数が「１」、バンク毎のページ数も「１」であるため、１つのコマンドによって１ページ分のアクセスが行われる。
【００６４】
同図（ｂ）はエリア番号が１の場合のアクセスアドレスを示している。第１エリアは、同時にアクセスするバンク数が「２」、バンク毎のページ数が「１」であるため、１つのコマンドによって２つのバンクにおいてそれぞれ１ページ、すなわち計２ページ分のアクセスが行われる。このとき、第１エリアのアドレスは第０バンクに属するため、第０バンクおよび第１バンクにおいて同一のページアドレスを有するページがアクセスされる。
【００６５】
同図（ｃ）はエリア番号が２の場合のアクセスアドレスを示している。第２エリアは、第０エリアと同様に、同時にアクセスするバンク数が「１」、バンク毎のページ数も「１」であるため、１つのコマンドによって１ページ分のアクセスが行われる。
【００６６】
同図（ｄ）はエリア番号が３の場合のアクセスアドレスを示している。第３エリアは、同時にアクセスするバンク数が「１」、バンク毎のページ数が「２」であるため、１つのコマンドによって１つのバンクにおいて２ページのアクセスが行われる。ここでは、第０バンクにおいて、連続するページアドレスを有する２ページ分のアクセスが行われる。
【００６７】
このように、本技術の第２の実施の形態では、ページアドレスを最上位ビット部分に割り当てたため、連続したアドレスを異なるバンクに配置することができ、各バンクを協調させてバースト転送を実行することができる。
【００６８】
＜３．適用例＞
図１５は、本技術の実施の形態を情報処理システムに適用した場合の具体例を示す図である。この適用例では、アドレス空間を８つのエリアに分割している。そして、２バンク構成を想定して、第０乃至３エリアを第０バンクに、第４乃至７エリアを第１バンクに、それぞれ割り当てている。
【００６９】
第０エリアは、オペレーティングシステム（ＯＳ）の起動コードを記憶する領域である。アクセスサイズは例えば１２８バイトである。リードアクセスがメインであるため、マルチバンク対応は必要ではなく、この例では第０バンクのみを利用するよう割り当てられている。
【００７０】
第１および５エリアは、ハードディスクドライブ（ＨＤＤ）などのディスクドライブのキャッシュ領域である。アクセスサイズは例えば５１２バイトである。高速ライトが必要になるため、この例では第０および第１バンクの両者を利用するよう割り当てられている。
【００７１】
第２および３または６および７エリアは、仮想メモリシステムのスワップ領域である。アクセスサイズは例えば４０９６バイトである。アクセスサイズが大きいため、マルチバンクで且つ複数ページアクセスに対応できるように、この例では第０および第１バンクの両者を利用するよう割り当てられている。
【００７２】
第４エリアは、ファイルシステムの管理情報を記憶する領域である。アクセスサイズは例えば３２バイトである。アクセスサイズが小さいため、マルチバンク対応は必要ではなく、この例では第１バンクのみを利用するよう割り当てられている。
【００７３】
この適用例が示すように、本技術の実施の形態では、アクセス対象となるデータの性質に応じて予めエリア毎に、同時にアクセスするバンク数およびバンク毎のページ数を設定することができる。
【００７４】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００７５】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【００７６】
なお、本技術は以下のような構成もとることができる。
（１）複数のバンクからなるメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理部と、
前記複数のバンクのうち前記指定されたアドレスについて予め定められたバンクにおける前記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成部と
を具備する記憶制御装置。
（２）前記メモリ空間におけるアドレスに応じて同時にアクセスするバンク数およびバンク毎のアクセス単位の数を設定情報として記憶する設定情報記憶部をさらに具備し、
前記アドレス生成部は、前記設定情報に従って前記アクセスの対象となるアクセス単位のアドレスを生成する
前記（１）に記載の記憶制御装置。
（３）前記アドレス生成部は、前記設定情報における前記同時にアクセスするバンク数に従って、異なるバンクに対するアドレスを生成する
前記（２）に記載の記憶制御装置。
（４）前記アドレス生成部は、前記設定情報における前記アクセス単位の数に従って、バンク毎のアクセス単位の連続するアドレスを生成する
前記（２）に記載の記憶制御装置。
（５）前記コマンドにおいて指定されたアドレスは、当該コマンドによるアクセスの先頭アドレスであり、
前記アドレス生成部は、前記先頭アドレスを起点として前記アクセスの対象となるアクセス単位のアドレスを生成する
前記（１）から（４）のいずれかに記載の記憶制御装置。
（６）複数のバンクからなるメモリアレイと、
前記メモリアレイのメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理部と、
前記複数のバンクのうち前記指定されたアドレスについて予め定められたバンクにおける前記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成部と
を具備する記憶装置。
（７）前記メモリアレイは、可変抵抗素子からなるメモリセルを含む前記（６）に記載の記憶装置。
（８）複数のバンクからなるメモリアレイと、
前記メモリアレイのメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理部と、
前記複数のバンクのうち前記指定されたアドレスについて予め定められたバンクにおける前記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成部と、
前記メモリアレイに対するリードコマンドまたはライトコマンドを発行するホストコンピュータと
を具備する情報処理システム。
（９）複数のバンクからなるメモリ空間において１つのアドレスを指定して複数のアクセス単位へのアクセスを要求するコマンドを受け付けるコマンド処理手順と、
前記複数のバンクのうち前記指定されたアドレスについて予め定められたバンクにおける前記アクセスの対象となるアクセス単位のアドレスを生成するアドレス生成手順と
を具備する記憶制御方法。
【符号の説明】
【００７７】
１００  ホストコンピュータ
２００  メモリ制御部
２１０  ホストインターフェース
２２０  メモリインターフェース
２３０  バンク制御部
２３１  コマンド処理部
２３２  設定情報記憶部
２３３  アドレス生成部
２３４  アドレスバッファ
２３５  アドレスデコーダ
２３６  データ入出力部
３０１〜３０４  バンク
３１０  ＮＶＲＡＭセルアレイ
３２０  ページバッファ
３３０  制御回路
４００  メモリシステム
【図１】
2013205872.tif 000003
【図２】
2013205872.tif 000004
【図３】
2013205872.tif 000005
【図４】
2013205872.tif 000006
【図５】
2013205872.tif 000007
【図６】
2013205872.tif 000008
【図７】
2013205872.tif 000009
【図８】
2013205872.tif 000010
【図９】
2013205872.tif 000011
【図１０】
2013205872.tif 000012
【図１１】
2013205872.tif 000013
【図１２】
2013205872.tif 000014
【図１３】
2013205872.tif 000015
【図１４】
2013205872.tif 000016
【図１５】
2013205872.tif 000017