(57)【要約】【課題】メモリシステムにおいてデータの転送効率を向上させる。【解決手段】帯域変換部は、データを保持するバッファとの間のデータの転送に用いられる内部データパスの帯域をメモリコントローラとの間のデータの転送に用いられる外部データパスの帯域より広い帯域に変換する。アクセス制御部は、内部データパスおよび外部データパスのそれぞれの帯域の差により内部データパスに生じた待ち時間において前記バッファを使用してメモリセルに対するアクセスを制御する。【選択図】図２
2015053095.tif 000002
【特許請求の範囲】
【請求項１】
データを保持するバッファと、
前記バッファとの間のデータの転送に用いられる内部データパスの帯域をメモリコントローラとの間のデータの転送に用いられる外部データパスの帯域より広い帯域に変換する帯域変換部と、
前記内部データパスおよび前記外部データパスのそれぞれの帯域の差により前記内部データパスに生じた待ち時間において前記バッファを使用してメモリセルに対するアクセスを制御するアクセス制御部と
を具備するメモリ。
【請求項２】
前記内部データパスおよび前記外部データパスとしてデータバスが用いられ、
前記帯域変換部は、前記内部データパスとして用いられるデータバスのバス幅を前記外部データパスとして用いられるデータバスのバス幅より広い値に変換する
請求項１記載のメモリ。
【請求項３】
前記帯域変換部は、前記内部データパスにおけるデータの転送クロックを前記外部データパスにおけるデータの転送クロックより高いクロックに変換する
請求項１記載のメモリ。
【請求項４】
前記外部データパスにおいてシリアル転送されたデータとパラレル転送されたデータとを相互に変換するデータ変換部をさらに具備し、
前記メモリコントローラは、前データ変換部との間においてデータをシリアル転送し、
前記帯域変換部は、前記データ変換部との間においてデータをパラレル転送する
請求項１記載のメモリ。
【請求項５】
メモリコントローラと、
データを保持するバッファと、
前記バッファとの間のデータの転送に用いられる内部データパスの帯域をメモリコントローラとの間のデータの転送に用いられる外部データパスの帯域より広い帯域に変換する帯域変換部と、
前記内部データパスおよび前記外部データパスのそれぞれの帯域の差により前記内部データパスに生じた待ち時間において前記バッファを使用してメモリセルに対するアクセスを制御するアクセス制御部と
を具備するメモリシステム。
【請求項６】
帯域変換部が、データを保持するバッファとの間のデータの転送に用いられる内部データパスの帯域をメモリコントローラとの間のデータの転送に用いられる外部データパスの帯域より広い帯域に変換する帯域変換手順と、
アクセス制御部が、前記内部データパスおよび前記外部データパスのそれぞれの帯域の差により前記内部データパスに生じた待ち時間において前記バッファを使用してメモリセルに対するアクセスを制御するアクセス制御手順と
を具備するメモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、メモリ、メモリシステムおよびメモリの制御方法に関する。詳しくは、バッファを備えるメモリ、メモリシステムおよびメモリの制御方法に関する。
【背景技術】
【０００２】
従来より、情報処理システムにおいては、補助記憶装置やストレージとして、メモリが用いられることがある。このメモリは、一般に、メモリセルやバッファを備える。例えば、ライトデータやリードデータをページ単位でページバッファに一時的に保持するメモリが提案されている。（例えば、特許文献１参照。）。
【０００３】
このメモリは、所定の入力クロックに同期して、外部データバス（ＤＱ）を介してライトデータをメモリコントローラから受け取り、その入力クロックに同期して、内部データバス（ＣＤ＿ＤＡＴＡ）を介してページバッファにライトデータを転送して保持させる。そして、メモリは、メモリセルにアクセスして保持したライトデータを書き込む。また、メモリは、メモリセルからリードデータを読み出してページバッファに保持し、そのリードデータを内部データバスおよび外部データバスを介してメモリコントローラへ送信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−８０４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の従来技術では、メモリコントローラとメモリとの間のデータの転送効率を向上させることが困難である。上述のメモリがページバッファを使用してメモリセルにアクセスする際には、その使用中のページバッファに接続された内部データバス（ＣＤ＿ＤＡＴＡ）を介してバッファに有効なデータを転送することができずに待ち時間が生じる。また、外部データバス（ＤＱ）では内部データバス（ＣＤ＿ＤＡＴＡ）と同じクロックでデータが転送されるため、メモリセルへのアクセスの際には、外部データバス（ＤＱ）においても待ち時間が生じる。このため、連続して複数のデータをリードまたはライトする場合において、メモリシステムにおいてデータの転送効率が低下してしまう問題がある。例えば、１０サイクル当たり１サイクルの待ち時間が生じる場合を想定する。この場合、外部データバスの伝送可能な帯域が１Ｇｂｐｓ（Giga bit per second）であっても、メモリは９００Ｍｂｐｓ（Mega bit per second）でしかデータを転送することができない。
【０００６】
本技術はこのような状況に鑑みて生み出されたものであり、メモリシステムにおいてデータの転送効率を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、データを保持するバッファと、上記バッファとの間のデータの転送に用いられる内部データパスの帯域をメモリコントローラとの間のデータの転送に用いられる外部データパスの帯域より広い帯域に変換する帯域変換部と、上記内部データパスおよび上記外部データパスのそれぞれの帯域の差により上記内部データパスに生じた待ち時間において上記バッファを使用してメモリセルに対するアクセスを制御するアクセス制御部とを具備するメモリ、および、その制御方法である。これにより、内部データパスに生じた待ち時間においてメモリセルに対するアクセスが制御されるという作用をもたらす。
【０００８】
また、この第１の側面において、上記内部データパスおよび上記外部データパスとしてデータバスが用いられ、上記帯域変換部は、上記内部データパスとして用いられるデータバスのバス幅を上記外部データパスとして用いられるデータバスのバス幅より広い値に変換してもよい。これにより、内部データパスとして用いられるデータバスのバス幅が外部データパスとして用いられるデータバスのバス幅より広い値に変換されるという作用をもたらす。
【０００９】
また、この第１の側面において、上記帯域変換部は、上記内部データパスにおけるデータの転送クロックを上記外部データパスにおけるデータの転送クロックより高いクロックに変換してもよい。これにより、内部データパスにおけるデータの転送クロックが外部データパスにおけるデータの転送クロックより高いクロックに変換されるという作用をもたらす。
【００１０】
また、この第１の側面において、上記外部データパスにおいてシリアル転送されたデータとパラレル転送されたデータとを相互に変換するデータ変換部をさらに具備し、上記メモリコントローラは、前データ変換部との間においてデータをシリアル転送し、上記帯域変換部は、上記データ変換部との間においてデータをパラレル転送してもよい。これにより、シリアル転送されたデータとパラレル転送されたデータとが相互に変換されるという作用をもたらす。
【００１１】
また、本技術の第２の側面は、メモリコントローラと、データを保持するバッファと、上記バッファとの間のデータの転送に用いられる内部データパスの帯域をメモリコントローラとの間のデータの転送に用いられる外部データパスの帯域より広い帯域に変換する帯域変換部と、上記内部データパスおよび上記外部データパスのそれぞれの帯域の差により上記内部データパスに生じた待ち時間において上記バッファを使用してメモリセルに対するアクセスを制御するアクセス制御部とを具備するメモリシステムである。これにより、内部データパスに生じた待ち時間においてメモリセルに対するアクセスが制御されるという作用をもたらす。
【発明の効果】
【００１２】
本技術によれば、メモリシステムにおいてデータの転送効率を向上させることができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態における情報処理システムの一構成例を示すブロック図である。
【図２】第１の実施の形態におけるメモリの一構成例を示すブロック図である。
【図３】第１の実施の形態における内部データバスおよび外部データバスのそれぞれを介して転送されるライトデータの一例である。
【図４】第１の実施の形態におけるライト処理の一例を示すタイミングチャートである。
【図５】第１の実施の形態における内部データバスおよび外部データバスのそれぞれを介して転送されるリードデータの一例である。
【図６】第１の実施の形態におけるリード処理の一例を示すタイミングチャートである。
【図７】第１の実施の形態におけるコントローラ側ライト処理の一例を示すフローチャートである。
【図８】第１の実施の形態におけるコントローラ側リード処理の一例を示すフローチャートである。
【図９】第１の実施の形態におけるメモリ側ライト処理の一例を示すフローチャートである。
【図１０】第１の実施の形態におけるメモリ側リード処理の一例を示すフローチャートである。
【図１１】第１の変形例におけるメモリの一構成例を示すブロック図である。
【図１２】第２の変形例におけるメモリの一構成例を示すブロック図である。
【図１３】第２の実施の形態におけるメモリの一構成例を示すブロック図である。
【図１４】第２の実施の形態におけるライト処理の一例を示すタイミングチャートである。
【図１５】第２の実施の形態におけるリード処理の一例を示すタイミングチャートである。
【発明を実施するための形態】
【００１４】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（内部データバスのバス幅を外部データバスより広くする例）
２．第２の実施の形態（内部データバスの転送クロックを外部データバスより広くする例）
【００１５】
＜１．第１の実施の形態＞
［情報処理システムの構成例］
図１は、実施の形態における情報処理システムの一構成例を示すブロック図である。この情報処理システムは、ホストコンピュータ１００およびメモリシステム４００を備える。メモリシステム４００は、メモリコントローラ２００およびメモリ３００を備える。
【００１６】
ホストコンピュータ１００は、メモリシステム４００を制御するものである。このホストコンピュータ１００は、メモリシステム４００を制御して、データの書込み、または、読出しを行う。
【００１７】
メモリコントローラ２００は、メモリ３００を制御するものである。このメモリコントローラ２００は、ホストコンピュータ１００の制御に従って、コマンドを発行してメモリ３００に信号線２０９を介して供給する。メモリコントローラ２００が発行するコマンドの詳細については後述する。
【００１８】
また、メモリコントローラ２００は、ホストコンピュータ１００からシリアル転送されたデータをメモリ３００にパラレル転送し、メモリ３００からパラレル転送されたデータをホストコンピュータ１００にシリアル転送する。
【００１９】
また、メモリコントローラ２００は、ホストコンピュータ１００から、アクセス対象のアドレスを受け取り、そのアドレスをロウアドレスおよびカラムアドレスに分離してメモリ３００に供給する。ロウアドレスは、二次元格子状にメモリセルが配列されたメモリ３００において、ある一定方向に配列されたメモリセルからなる列に対して割り当てられたアドレスである。カラムアドレスは、列に垂直な方向に配列されたメモリセルからなる行に対して割り当てられたアドレスである。
【００２０】
また、メモリコントローラ２００は、メモリ３００が複数のバンクを備える場合には、いずれかのバンクを選択するバンク選択信号を生成してメモリ３００に供給する。
【００２１】
メモリ３００は、メモリコントローラ２００の制御に従って、データを記憶するものである。このメモリ３００は、メモリコントローラ２００からコマンド、アドレス（ロウアドレスおよびカラムアドレス）およびデータを受け取る。メモリ３００は、メモリセルを備え、コマンドに従って、アドレスにより指定されたメモリセルにデータを書き込む。また、メモリ３００は、コマンドに従って、アドレスより指定されたメモリセルからデータを読み出して、メモリコントローラ２００に信号線２０９を介して供給する。
【００２２】
［メモリの構成例］
図２は、第１の実施の形態におけるメモリ３００の一構成例を示すブロック図である。このメモリ３００は、シフタ３１０と、バンク選択回路３２０と、Ｌ（Ｌは１以上の整数）個のバンク３３０とを備える。信号線２０９は、信号線２０４、コマンド線２０５、外部データバス２０６、アドレス線２０７、および、アドレス線２０８を含む。
【００２３】
信号線２０４を介してバンク選択信号ＢａｎｋＳｅｌが転送され、コマンド線２０５を介してコマンドＣｍｄが転送される。また、外部データバス２０６を介してデータが転送される。アドレス線２０７および２０８を介してカラムアドレスＣｏｌＡｄｄｒおよびロウアドレスＲｏｗＡｄｄｒが転送される。これらのうち信号線２０４、コマンド線２０５、アドレス線２０７およびアドレス線２０８はバンク選択回路３２０に接続され、外部データバス２０６はシフタ３１０に接続される。また、シフタ３１０は、内部データバス３１９を介してバンク選択回路３２０と接続される。なお、外部データバス２０６は、特許請求の範囲に記載の外部データパスの一例であり、内部データバス３１９は、特許請求の範囲に記載の内部データパスの一例である。
【００２４】
シフタ３１０は、外部データバス２０６のバス幅を内部データバス３１９のバス幅よりも大きな値に変換するものである。ここで、外部データバス２０６のバス幅は、例えば、Ｎ（Ｎは整数）ビットである。一方、内部データバス３１９のバス幅は、例えば、Ｎ＋ｒ（ｒは整数）ビットである。シフタ３１０は、外部データバス２０６を介して転送されるＮビットのデータＤＱと、内部データバス３１９を介して転送されるＮ＋ｒビットのデータＤｔとをクロックＣＬＫに同期して相互に変換する。この変換により、内部データバス３１９の帯域は、外部データバス２０６の帯域よりも広くなる。なお、シフタ３１０は、特許請求の範囲に記載の帯域変換部の一例である。
【００２５】
バンク選択回路３２０は、バンクを選択して、選択したバンクにアドレス、コマンドおよびデータを供給するものである。このバンク選択回路３２０は、バンク選択信号ＢａｎｋＳｅｌの示すバンク３３０を選択して、そのバンクにアドレスおよびコマンドを供給する。また、バンク選択回路３２０は、シフタ３１０からライトデータを受け取って選択したバンクに供給し、選択したバンクからリードデータを受け取ってシフタ３１０に供給する。
【００２６】
バンク３３０は、メモリコントローラ２００がメモリ３００を管理する際の管理単位である。バンク３３０のそれぞれは、コマンドデコーダ３３１、ページバッファ３３２およびメモリセルアレイ３３３を備える。
【００２７】
メモリセルアレイ３３３は、二次元格子状に配列された複数のメモリセルを備える。このメモリセルアレイ３３３のアクセス単位は、例えば、（Ｎ＋ｒ）×Ｍビットである。ここで、Ｍは整数であり、このアクセス単位のデータはページデータと呼ばれる。
【００２８】
また、メモリセルアレイ３３３にはドライバおよびセンスアンプが接続される。これらのセンスアンプおよびドライバは、図２において省略されている。このドライバは、コマンドデコーダ３３１の制御に従って、ロウアドレスＲｏｗＡｄｄｒにより指定された行に、ページバッファ３３２からのページデータＰｇＤａｔａを書き込む。また、センスアンプは、コマンドデコーダ３３１の制御に従って、ロウアドレスＲｏｗＡｄｄｒにより指定された行からページデータＰｇＤａｔａを読み出してページバッファ３３２に供給する。
【００２９】
ページバッファ３３２は、データを保持するものである。このページバッファ３３２は、少なくとも（Ｎ＋ｒ）×Ｍビット（１ページ分）のデータを保持することができ、例えばＳＲＡＭ（Static Random Access Memory）などにより実現される。ページバッファ３３２には、それぞれにカラムアドレスＣｏｌＡｄｄｒが対応付けられたＭ個の領域が設けられる。それぞれの領域には、Ｎ＋ｒビットのデータが保持される。ページバッファ３３２は、コマンドデコーダ３３１の制御に従って、指定されたカラムアドレスＣｏｌＡｄｄｒに対応する領域にデータを保持する。また、ページバッファ３３２は、保持したデータを、コマンドデコーダ３３１の制御に従ってバンク選択回路３２０またはメモリセルアレイ３３３に供給する。
【００３０】
なお、ページバッファ３３２をＳＲＡＭにより実現しているが、この構成に限定されない。ページバッファ３３２は、データを保持する回路であれば、フリップフロップやラッチなど、ＳＲＡＭ以外の回路により実現することができる。また、ページバッファ３３２においてリードデータを保持する回路とライトデータを保持する回路とを１つの回路で構成してもよいし、別々の回路により構成してもよい。１つの回路でリードデータおよびライトデータを保持する場合、コマンドデコーダ３３１が、制御信号Ｃｒｔｌにより、保持させるデータを切り替える。
【００３１】
また、メモリ３００は、センスアンプにリードデータを保持させてもよい。この場合には、ページバッファ３３２には、ライトデータのみが保持される。
【００３２】
なお、ページバッファ３３２は、特許請求の範囲に記載のバッファの一例である。
【００３３】
コマンドデコーダ３３１は、コマンドＣｍｄを解析して実行するものである。コマンドＣｍｄは、例えば、データインＤＩ、プログラムＰＧ、センスＳＥおよびデータアウトＤＯを含む。
【００３４】
データインＤＩは、ライトデータのページバッファ３３２への保持を指示するコマンドである。プログラムＰＧは、ページバッファ３３２に保持されたライトデータのメモリセルへの書込みを指示するコマンドである。
【００３５】
また、センスＳＥは、メモリセルに記録されたリードデータを読み出してページバッファ３３２に保持することを指示するコマンドである。データアウトＤＯは、ページバッファ３３２に保持されたリードデータのメモリコントローラ２００への転送を指示するコマンドである。
【００３６】
コマンドデコーダ３３１は、これらのコマンドに基づいて、制御信号Ｃｒｔｌによりページバッファ３３２およびメモリセルアレイ３３３を制御する。具体的には、コマンドＣｍｄがデータインＤＩである場合には、コマンドデコーダ３３１は、ページバッファ３３２を制御してバンク選択回路３２０からのデータを保持させる。また、コマンドＣｍｄがプログラムＰＧである場合には、コマンドデコーダ３３１は、ページバッファ３３２を制御してページデータＰｇＤａｔａ（ライトデータ）を出力させる。また、コマンドデコーダ３３１は、ドライバを制御して、ページバッファ３３２から出力されたページデータＰｇＤａｔａをメモリセルアレイ３３３に書き込ませる。
【００３７】
コマンドＣｍｄがセンスＳＥである場合には、コマンドデコーダ３３１は、センスアンプを制御してページデータＰｇＤａｔａ（リードデータ）をメモリセルアレイ３３３から読み出させる。また、コマンドデコーダ３３１は、ページバッファ３３２を制御して、読み出されたページデータＰｇＤａｔａを保持させる。
【００３８】
また、コマンドＣｍｄがデータアウトＤＯである場合には、コマンドデコーダ３３１は、ページバッファ３３２を制御して、保持したデータをバンク選択回路３２０に供給させる。
【００３９】
ここで、内部データバス３１９において連続して複数のページデータが転送される場合、内部データバス３１９のバス幅が外部データバス２０６のバス幅よりも大きいため、内部データバス３１９においてデータの待ち時間が生じる。
【００４０】
具体的には、外部データバス２０６のバス幅（Ｎビット）が６４ビットであり、内部データバス３１９のバス幅（Ｎ＋ｒビット）が６６ビットであるものとする。また、メモリセルアレイ３３３のアクセス単位（（Ｎ＋ｒ）×Ｍビット）が６６×３２ビットであるものとする。
【００４１】
６６×３２は、６４×３３に等しいため、シフタ３１０は、クロックＣＬＫに同期して、３３個の６４ビットのデータＤＱと、３２個の６６ビットのデータＤｔとを相互に変換する。この変換により、アクセス単位（ページ）に相当する個数のデータが変換されるたびに、内部データバス３１９において、１クロック分の待ち時間が生じる。
【００４２】
コマンドデコーダ３３１は、この待ち時間において、プログラムＰＧまたはセンスＳＥに基づき、ページバッファ３３２を使用してメモリセルに対するアクセスを制御する。なお、コマンドデコーダ３３１は、特許請求の範囲に記載のアクセス制御部の一例である。
【００４３】
図３は、第１の実施の形態における内部データバスおよび外部データバスのそれぞれを介して転送されるライトデータの一例である。
【００４４】
書き込むデータＤＱとして、６４ビットの３３個のデータｄ＿０乃至ｄ＿３２が、クロックＣＬＫに同期してメモリコントローラ２００からメモリ３００へ順に転送されたものとする。これらの３３個のデータの転送は、３３クロックサイクルで完了する。
【００４５】
メモリ３００内のシフタ３１０は、データｄ＿０が供給されたタイミングから２クロック遅延して、データｄ＿０およびデータｄ＿１から、６６ビットのデータＤ_０を生成する。このデータＤ_０は、データｄ＿０の全ビットと、データｄ＿１のうち２ビットとからなるデータである。例えば、上位２ビットと、それ以外のデータとにデータｄ＿１が分割され、その上位２ビットがデータＤ＿０の下位２ビットに挿入される。
【００４６】
そして、シフタ３１０は、データｄ＿１およびデータｄ＿２から、６６ビットのデータＤ_１を生成する。このデータＤ＿１は、データｄ_１のうち６２ビットと、データｄ＿２のうち４ビットとからなるデータである。以下同様に、シフタ３１０は、分割位置を２ビットずつずらしてデータｄ＿２乃至ｄ＿３２を分割して、データＤ＿２乃至Ｄ＿３１を生成する。このようにして３２クロックサイクルの間に、６６ビットのデータＤｔが３２個生成される。
【００４７】
なお、図３に例示したライトデータの変換方法は、外部データバス２０６および内部データバス３１９のバス幅の組合せが、６４ビットおよび６６ビットである場合の変換方法の一例である。それぞれのバス幅が異なる場合には、シフタ３１０は、バス幅に合わせて、異なる変換方法により変換を行ってもよい。
【００４８】
［メモリの動作例］
図４は、第１の実施の形態におけるライト処理の一例を示すタイミングチャートである。同図において、Ｔｉｍｅ  Ｉｎｄｅｘは、時間の経過を示す値であり、クロックＣＬＫが１回トグルするたびに、Ｔｉｍｅ  Ｉｎｄｅｘが１つ大きくなるものとする。
【００４９】
Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ０」乃至「Ｔ３２」の期間に亘って、バンク選択信号ＢａｎｋＳｅｌ「０」が入力されると、バンク選択回路３２０は、「０」番目のバンク３３０を選択する。
【００５０】
また、選択されたバンク３３０には、Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ０」乃至「Ｔ３１」の期間に亘って、データインＤＩがコマンドＣｍｄとして入力され、カラムアドレスＣｏｌＡｄｄｒとして「０」乃至「３１」が順に入力される。
【００５１】
一方、Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ０」の２クロック前からＴｉｍｅ  Ｉｎｄｅｘ「Ｔ３０」までの期間に亘って、６４ビットのデータｄ＿０乃至ｄ＿３２がシフタ３１０に順に入力される。シフタ３１０は、Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ０」乃至「Ｔ３１」の期間に亘って、データｄ＿０乃至ｄ＿３２から、６６ビットのデータＤ＿０乃至Ｄ＿３１を生成する。
【００５２】
バンク３３０は、ページバッファ３３２に、データＤ＿０乃至Ｄ＿３１を保持する。これにより、Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ３１」において、ページバッファ３３２に１ページ分のデータが保持される。１ページ分のデータが保持されると、シフタ３１０は、１クロック分の待ち時間を設ける。この待ち時間において内部データバス３１９は、有効なデータが転送されないドントケア状態となる。
【００５３】
その待ち時間に相当するＴｉｍｅ  Ｉｎｄｅｘ「Ｔ３２」において、バンク３３０にプログラムＰＧおよびＲｏｗＡｄｄｒ「Ａ０」が入力される。バンク３３０は、ページバッファ３３２に保持したページデータを、メモリセルアレイ３３３の指定されたアドレスに書き込む。
【００５４】
ここで、通常、メモリセルアレイ３３３へのページデータの書込みは、ページバッファ３３２へのデータインＤＩの１回分のデータの書込みより長い時間がかかる。このため、プログラムＰＧを発行してから、同じバンク３３０に新規にコマンドを発行することが可能になるまで、１クロックサイクル以上の時間がかかる。したがって、メモリ３００は、複数のバンク３３０を備え、１つのバンク３３０における書込みが完了するまでの間、別のバンク３３０へのデータインＤＩの発行を行うことで、書込みにかかる遅延時間を隠蔽している。例えば、Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ３３」以降は、バンク選択信号ＢａｎｋＳｅｌ「１」が入力される。これにより、メモリ３００のスループットが向上する。
【００５５】
Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ３１」以降においては、次に選択されるバンク選択信号ＢａｎｋＳｅｌ「１」に対応するバンク３３０へのデータがシフタ３１０に入力される。したがって、外部データバス２０６においては、内部データバス３１９がドントケアであるＴｉｍｅ  Ｉｎｄｅｘ「Ｔ３２」においても、有効なデータが転送されている。
【００５６】
このように、内部データバス３１９の帯域を外部データバス２０６の帯域より広くすることにより、プログラムＰＧの実行に要する待ち時間をメモリコントローラ２００側から見えないように隠蔽することができる。
【００５７】
図５は、第１の実施の形態における内部データバスおよび外部データバスのそれぞれを介して転送されるリードデータの一例である。
【００５８】
読み出されたデータＤｔとして、６６ビットの３２個のデータＤ＿０乃至Ｄ＿３１が、クロック信号に同期してバンク３３０からシフタ３１０へ順に転送されたものとする。３２個のデータの転送は、３２クロックで完了する。
【００５９】
シフタ３１０は、データＤ＿０が転送されたタイミングから１クロック遅延して、データＤ＿０から、６４ビットのデータｄ＿０を生成する。このデータｄ＿０は、６６ビットのデータＤ＿０を分割して６４ビットを取り出したデータである。
【００６０】
そして、シフタ３１０は、データＤ＿０およびデータＤ＿１から、６４ビットのデータｄ＿１を生成する。このデータｄ＿１は、データＤ＿０のうち２ビットと、データＤ＿１のうち６２ビットとからなるデータである。以下同様に、シフタ３１０は、分割位置を２ビットずつずらしてデータＤ＿１乃至Ｄ＿３０を分割して、データｄ＿２乃至ｄ＿３１を生成する。また、シフタ３１０は、最後のＤ＿３１のうち２ビットをデータｄ＿３１に挿入し、残りの６４ビットをデータｄ＿３２とする。このようにして３３クロックサイクルの間に、６４ビットのデータＤＱが３３個生成される。
【００６１】
図６は、第１の実施の形態におけるリード処理の一例を示すタイミングチャートである。Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ１」乃至「Ｔ３４」の期間に亘って、バンク選択信号ＢａｎｋＳｅｌ「０」が入力されると、バンク選択回路３２０は、「０」番目のバンク３３０を選択する。
【００６２】
また、バンク３３０には、Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ０」において、センスＳＥがコマンドＣｍｄとして入力される。そして、Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ１」乃至「Ｔ３２」の期間に亘って、データアウトＤＯがコマンドＣｍｄとして入力され、カラムアドレスＣｏｌＡｄｄｒとして「０」乃至「３１」が順に入力される。
【００６３】
また、Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ１」乃至「Ｔ３２」の期間に亘って、メモリセルから読み出された６６ビットのデータＤ＿０乃至Ｄ＿３１がシフタ３１０に順に入力される。シフタ３１０は、Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ２」乃至「Ｔ３４」の期間に亘って、データＤ＿０乃至Ｄ＿３１から、６４ビットのデータｄ＿０乃至ｄ＿３２を生成する。
【００６４】
Ｔｉｍｅ  Ｉｎｄｅｘ「Ｔ３２」において、バンク３３０は、シフタ３１０への１ページ分のデータの転送を完了する。１ページ分のデータの転送が完了すると、シフタ３１０は、１クロック分の待ち時間を設ける。この待ち時間においては、内部データバス３１９に有効なデータが転送されないドントケア状態となる。
【００６５】
内部データバス２０６より外部データバス３１９の帯域が狭いため、外部データバス２０６においては、内部データバス３１９がドントケアである期間においても有効なデータが転送される。
【００６６】
このように、リード処理においても、内部データバス３１９の帯域を外部データバス２０６の帯域より広くすることにより、センスＳＥの実行に要する待ち時間をメモリコントローラ２００側から見えないように隠蔽することができる。これにより、メモリコントローラ２００とメモリ３００との間のデータの転送効率が向上する。
【００６７】
図７は、第１の実施の形態におけるコントローラ側ライト処理の一例を示すフローチャートである。このコントローラ側ライト処理は、データの書込みがホストコンピュータ１００により指示されたときに開始する。
【００６８】
メモリコントローラ２００は、メモリ３００へライトデータを順に転送する（ステップＳ９０１）。また、メモリコントローラ２００は、書込み先のバンク３３０を選択する（ステップＳ９０２）。そして、メモリコントローラ２００は、ページバッファ３３２へのライトデータの保持を指示するコマンド（ＤＩ）を発行する（ステップＳ９０３）。１ページ分のライトデータを保持させると、メモリコントローラ２００は、保持したライトデータのメモリセルへの書込みを指示するコマンド（ＰＧ）を発行する（ステップＳ９０４）。ステップＳ９０４の後、メモリコントローラ２００は、コントローラ側ライト処理を終了する。
【００６９】
図８は、第１の実施の形態におけるコントローラ側リード処理の一例を示すフローチャートである。このコントローラ側リード処理は、データの読出しがホストコンピュータ１００により指示されたときに開始する。
【００７０】
メモリコントローラ２００は、読出し先のバンク３３０を選択する（ステップＳ９１１）。また、メモリコントローラ２００は、リードデータの読出し、および、リードデータのページバッファ３３２への保持を指示するコマンド（ＳＥ）を発行する（ステップＳ９１２）。そして、メモリコントローラ２００は、保持したリードデータのメモリコントローラ２００への転送を指示するコマンド（ＤＯ）を発行する（ステップＳ９１３）。メモリコントローラ２００は、ホストコンピュータ１００へ、メモリ３００からのリードデータを転送する（ステップＳ９１４）。ステップＳ９１４の後、メモリコントローラ２００は、コントローラ側リード処理を終了する。
【００７１】
図９は、第１の実施の形態におけるメモリ側ライト処理の一例を示すフローチャートである。このメモリ側ライト処理は、コントローラ側ライト処理が実行されたときに開始する。
【００７２】
メモリ３００は、メモリコントローラ２００からの６４ビットのライトデータを、６６ビットのデータに変換する（ステップＳ９２１）。メモリ３００は、ページバッファ３３２にライトデータのそれぞれを順に保持する（ステップＳ９２２）。そして、メモリ３００は、保持したライトデータをページ単位でメモリセルに書き込む（ステップＳ９２３）。ステップＳ９２３の後、メモリ３００は、メモリ側ライト処理を終了する。
【００７３】
図１０は、第１の実施の形態におけるメモリ側リード処理の一例を示すフローチャートである。このメモリ側リード処理は、コントローラ側リード処理が実行されたときに開始する。
【００７４】
メモリ３００は、リードデータの読出しと、そのリードデータのページバッファ３３２への保持とを行う（ステップＳ９４１）。そして、メモリ３００は、６６ビットのリードデータを６４ビットのデータに変換する（ステップＳ９４２）。メモリ３００は、変換したリードデータを順にメモリコントローラ２００へ転送する（ステップＳ９４３）。ステップＳ９４３の後、メモリ３００は、メモリ側リード処理を終了する。
【００７５】
このように、本技術の第１の実施の形態によれば、メモリ３００は、外部データバスより帯域の広い内部データバスに生じた待ち時間においてアクセス制御を行うため、外部データバスにおいて、アクセス制御のための待ち時間をなくすことができる。これにより、メモリシステムにおけるデータの転送効率を向上させることができる。また、転送効率の向上により、一定量のデータを転送する際の転送時間が短くなり、メモリ３００の消費電力が低減する。
【００７６】
［第１の変形例］
第１の実施の形態では、複数のバンク３３０に対してシフタ３１０を１つ設けていたが、バンク３３０ごとにシフタを設けてもよい。第１の変形例は、バンク３３０ごとにシフタを設けた点において第１の実施の形態と異なる。
【００７７】
図１１は、第１の変形例におけるメモリ３００の一構成例を示すブロック図である。第１の変形例のメモリ３００は、複数のバンク３３０で共用するシフタ３１０を備えず、バンク３３０ごとにシフタ３３４を備える点において第１の実施の形態と異なる。
【００７８】
バンク３３０のそれぞれにおけるシフタ３３４は、バンク選択回路３２０からのデータＤＱと、ページバッファ３３２からのデータＤｔとを相互に変換する。
【００７９】
このように、第１の変形例によれば、バンク３３０ごとにシフタ３１０を設けたため、バンク選択回路３２０とバンク３２０との間のデータバスにおいて待ち時間をなくすことができる。これにより、バンク選択回路３２０とバンク３３０との間のデータの転送効率が向上する。
【００８０】
［第２の変形例］
第１の実施の形態では、メモリコントローラ２００が、シリアル転送されたデータと、パラレル転送されたデータとを相互に変換していたが、この変換をメモリ３００が行ってもよい。第２の変形例のメモリ３００は、シリアル転送されたデータと、パラレル転送されたデータとを相互に変換する点において第１の実施の形態と異なる。
【００８１】
図１２は、第２の変形例におけるメモリ３００の一構成例を示すブロック図である。第２の変形例のメモリ３００は、シリアル・パラレル変換器３４０をさらに備える点において第１の実施の形態と異なる。
【００８２】
シリアル・パラレル変換器３４０は、シリアル転送されたデータと、パラレル転送されたデータとを相互に変換するものである。このシリアル・パラレル変換器３４０は、バス幅がＮビットのデータバスを介して、シフタ３１０との間で、クロックＣＬＫに同期してデータをパラレル転送する。また、シリアル・パラレル変換器３４０は、外部データバス２０６を介して、メモリコントローラ２００との間で、クロックｋＣＬＫに同期してデータをシリアル転送する。ここで、クロックｋＣＬＫの周波数は、クロックＣＬＫのＫ倍である。また、ＮはＫで割り切れる値であり、Ｋは２以上の整数である。
【００８３】
なお、シリアル・パラレル変換器３４０は、特許請求の範囲に記載のデータ変換部の一例である。
【００８４】
このように、第２の変形例によれば、シリアル・パラレル変換をメモリ３００が行うため、メモリコントローラ２００の負担が軽減される。
【００８５】
＜２．第２の実施の形態＞
［メモリの構成例］
第１の実施の形態では、メモリ３００は、バス幅を変換することにより、外部データバス２０６および内部データバス３１９の帯域を変換していたが、転送クロックを変換することにより帯域を変換することもできる。第２の実施の形態のメモリ３００は、外部データバス２０６および内部データバス３１９の転送クロックを変換する点において第１の実施の形態と異なる。
【００８６】
図１３は、第２の実施の形態におけるメモリ３００の一構成例を示すブロック図である。第２の実施の形態のメモリ３００は、シフタ３１０の代わりにＦＩＦＯ（First In First Out）バッファ３５０を備える点において第１の実施の形態と異なる。
【００８７】
ＦＩＦＯバッファ３５０は、内部データバス３１９の転送クロックＤｔＣＬＫを、外部データバス２０６の転送クロックＤＱＣＬＫよりも高くしてデータを転送するものである。このＦＩＦＯバッファ３５０は、ＦＩＦＯ方式によりデータを保持および出力する回路を備え、ＤＱＣＬＫに同期して外部データバス２０６を介してメモリコントローラ２００との間でデータを転送する。また、ＦＩＦＯバッファ３５０は、転送クロックＤＱＣＬＫよりクロック周波数が高い転送クロックＤｔＣＬＫに同期して、バンク選択回路３２０との間でデータを転送する。転送クロックＤｔＣＬＫのクロック周波数は、例えば、３３メガヘルツ（ＭＨｚ）であり、転送クロックＤＱＣＬＫのクロック周波数は、例えば、３２メガヘルツ（ＭＨｚ）である。なお、ＦＩＦＯバッファ３５０は、特許請求の範囲に記載の帯域変換部の一例である。
【００８８】
また、第２の実施の形態において外部データバス２０６および内部データバス３１９のそれぞれのバス幅は同一である。
【００８９】
［メモリの動作例］
図１４は、第２の実施の形態におけるライト処理の一例を示すタイミングチャートである。ＦＩＦＯバッファ３５０は、３２ＭＨｚの転送クロックＤＱＣＬＫに同期して、メモリセルに書き込むためのデータＤ＿０乃至Ｄ＿３１を順に受け取って保持する。そして、ＦＩＦＯバッファ３５０は、３３ＭＨｚの転送クロックＤｔＣＬＫに同期して、保持したデータを順にページバッファ３３２へ供給する。ただし、ＦＩＦＯバッファ３５０は、転送クロックＤｔＣＬＫに同期して３２個のデータを供給するたびに、ＤｔＣＬＫ１クロック分の待ち時間を設ける。この待ち時間において、バンク３３０は、プログラムＰＧのコマンドを実行して、メモリセルに対する書込みを行う。
【００９０】
このように、内部データバス３１９の転送クロックを外部データバス２０６の転送クロックより高くすることにより、プログラムＰＧの実行に要する待ち時間をメモリコントローラ２００側から見えないように隠蔽することができる。
【００９１】
図１５は、第２の実施の形態におけるリード処理の一例を示すタイミングチャートである。ＦＩＦＯバッファ３５０は、３２ＭＨｚの転送クロックＤＱＣＬＫに同期して、メモリセルから読み出されたデータＤ＿０乃至Ｄ＿３１を受け取って保持する。そして、ＦＩＦＯバッファ３５０は、３３ＭＨｚの転送クロックＤｔＣＬＫに同期して、保持したデータを順にメモリコントローラ２００へ供給する。ただし、ＦＩＦＯバッファ３５０は、転送クロックＤｔＣＬＫに同期して３２個のデータを保持するたびに、ＤｔＣＬＫ１クロック分の待ち時間を設ける。この待ち時間において、バンク３３０は、センスＳＥのコマンドを実行して、メモリセルに対する読出しを行う。
【００９２】
図１５に例示したように、内部データバス３１９の転送クロックを外部データバス２０６の転送クロックより高くすることにより、センスＳＥの実行に要する待ち時間をメモリコントローラ２００側から見えないように隠蔽することができる。
【００９３】
このように、第２の実施の形態によれば、メモリ３００は、外部データバスより転送クロックの高い内部データバスに生じた待ち時間においてアクセス制御を行うため、外部データバスにおいて、アクセス制御のための待ち時間をなくすことができる。これにより、メモリシステムにおけるデータの転送効率を向上させることができる。
【００９４】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００９５】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【００９６】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【００９７】
なお、本技術は以下のような構成もとることができる。
（１）データを保持するバッファと、
前記バッファとの間のデータの転送に用いられる内部データパスの帯域をメモリコントローラとの間のデータの転送に用いられる外部データパスの帯域より広い帯域に変換する帯域変換部と、
前記内部データパスおよび前記外部データパスのそれぞれの帯域の差により前記内部データパスに生じた待ち時間において前記バッファを使用してメモリセルに対するアクセスを制御するアクセス制御部と
を具備するメモリ。
（２）前記内部データパスおよび前記外部データパスとしてデータバスが用いられ、
前記帯域変換部は、前記内部データパスとして用いられるデータバスのバス幅を前記外部データパスとして用いられるデータバスのバス幅より広い値に変換する
前記（１）記載のメモリ。
（３）前記帯域変換部は、前記内部データパスにおけるデータの転送クロックを前記外部データパスにおけるデータの転送クロックより高いクロックに変換する
前記（１）記載のメモリ。
（４）前記外部データパスにおいてシリアル転送されたデータとパラレル転送されたデータとを相互に変換するデータ変換部をさらに具備し、
前記メモリコントローラは、前データ変換部との間においてデータをシリアル転送し、
前記帯域変換部は、前記データ変換部との間においてデータをパラレル転送する
前記（１）から（３）のいずれかに記載のメモリ。
（５）メモリコントローラと、
データを保持するバッファと、
前記バッファとの間のデータの転送に用いられる内部データパスの帯域をメモリコントローラとの間のデータの転送に用いられる外部データパスの帯域より広い帯域に変換する帯域変換部と、
前記内部データパスおよび前記外部データパスのそれぞれの帯域の差により前記内部データパスに生じた待ち時間において前記バッファを使用してメモリセルに対するアクセスを制御するアクセス制御部と
を具備するメモリシステム。
（６）帯域変換部が、データを保持するバッファとの間のデータの転送に用いられる内部データパスの帯域をメモリコントローラとの間のデータの転送に用いられる外部データパスの帯域より広い帯域に変換する帯域変換手順と、
アクセス制御部が、前記内部データパスおよび前記外部データパスのそれぞれの帯域の差により前記内部データパスに生じた待ち時間において前記バッファを使用してメモリセルに対するアクセスを制御するアクセス制御手順と
を具備するメモリの制御方法。
【符号の説明】
【００９８】
１００  ホストコンピュータ
２００  メモリコントローラ
３００  メモリ
３１０、３３４  シフタ
３２０  バンク選択回路
３３０  バンク
３３１  コマンドデコーダ
３３２  ページバッファ
３３３  メモリセルアレイ
３４０  シリアル・パラレル変換器
３５０  ＦＩＦＯバッファ
４００  メモリシステム
【図１】
2015053095.tif 000003
【図２】
2015053095.tif 000004
【図３】
2015053095.tif 000005
【図４】
2015053095.tif 000006
【図５】
2015053095.tif 000007
【図６】
2015053095.tif 000008
【図７】
2015053095.tif 000009
【図８】
2015053095.tif 000010
【図９】
2015053095.tif 000011
【図１０】
2015053095.tif 000012
【図１１】
2015053095.tif 000013
【図１２】
2015053095.tif 000014
【図１３】
2015053095.tif 000015
【図１４】
2015053095.tif 000016
【図１５】
2015053095.tif 000017