(57)【特許請求の範囲】
【請求項１】
メモリと、メモリコントローラと、前記メモリと前記メモリコントローラとを電気的に接続するメモリインターフェースとを含むメモリシステムであって、
前記メモリインターフェースは、データの転送を行うために前記メモリが駆動するデータ線と、前記メモリから前記データ線へのデータ出力のタイミングを制御するためのリードクロックが伝送され、前記メモリコントローラが駆動するクロック線とを含み、
前記メモリは、Ｎ個のデータを出力する際、前記メモリコントローラから連続的に出力される１番目からＮ番目のリードクロックに同期して出力を開始し、１番目からＮ−１番目のデータについては２番目からＮ番目のリードクロックにそれぞれ同期して出力を停止し、Ｎ番目のデータについてはＮ番目のリードクロックの出力停止から第１の所定時間経過後に出力を停止し、
前記メモリコントローラは、１番目からＮ−１番目のデータについては２番目からＮ番目のリードクロックにそれぞれ同期して取り込み、Ｎ番目のデータについてはＮ番目のリードクロックによるＮ番目のデータの出力開始後Ｎ番目のデータの出力停止までの間に取り込み、Ｎ番目のリードクロックの出力期間を１番目からＮ−１番目のリードクロックの出力期間よりも長く設定することを特徴とするメモリシステム。
【請求項２】
前記メモリは、Ｎ個のデータを出力する際、前記メモリコントローラから連続的に出力される１番目からＮ番目のリードクロックの立下りエッジまたは立上りエッジから第２の所定時間以内に出力を開始し、１番目からＮ−１番目のデータについてはそれぞれ２番目からＮ番目のリードクロックの立下りエッジまたは立上りエッジから第３の所定時間以内に出力を停止し、Ｎ番目のデータについてはＮ番目のリードクロックの出力停止から前記第１の所定時間経過後に出力を停止することを特徴とする請求項１記載のメモリシステム。
【請求項３】
前記メモリコントローラは、１番目からＮ−１番目のリードクロックの周期を、前記第２の所定時間から第３の所定時間を減じた時間よりも大きくなるように制御することを特徴とする請求項２記載のメモリシステム。
【請求項４】
前記メモリコントローラは、１番目からＮ−１番目のリードクロックの周期を、前記第２の所定時間の２倍の時間よりも小さく、かつ前記第２の所定時間よりも大きくなるように制御することを特徴とする請求項２記載のメモリシステム。
【請求項５】
前記メモリコントローラは、１番目からＮ−１番目のデータについては２番目からＮ番目のリードクロックの立下りエッジまたは立上りエッジに同期して取り込むことを特徴とする請求項１記載のメモリシステム。
【請求項６】
前記メモリコントローラは、Ｎ番目のデータについてはＮ番目のリードクロックの出力完了時のエッジに同期して取り込むことを特徴とする請求項１記載のメモリシステム。
【請求項７】
メモリと、メモリコントローラと、前記メモリと前記メモリコントローラとを電気的に接続するメモリインターフェースとを含むメモリシステムであって、
前記メモリインターフェースは、データの転送を行うために前記メモリが駆動するデータ線と、前記メモリから前記データ線へのデータ出力のタイミングを制御するためのリードクロックが伝送され、前記メモリコントローラが駆動するクロック線と、前記クロック線を介して前記メモリに到達したリードクロックを前記メモリコントローラに、戻りリードクロックとして戻す戻りクロック線とを含み、
前記メモリは、Ｎ個のデータを出力する際、前記メモリコントローラから連続的に出力される１番目からＮ番目のリードクロックに同期して出力を開始し、１番目からＮ−１番目のデータについては２番目からＮ番目のリードクロックにそれぞれ同期して出力を停止し、Ｎ番目のデータについてはＮ番目のリードクロックの出力停止から第１の所定時間経過後に出力を停止し、
前記メモリコントローラは、１番目からＮ−１番目のデータについては２番目からＮ番目の戻りリードクロックにそれぞれ同期して取り込み、Ｎ番目のデータについてはＮ番目のリードクロックによるＮ番目のデータの出力開始後Ｎ番目のデータの出力停止までの間に取り込み、Ｎ番目のリードクロックの出力期間を１番目からＮ−１番目のリードクロックの出力期間よりも長く設定することを特徴とするメモリシステム。
【請求項８】
前記メモリは、Ｎ個のデータを出力する際、前記メモリコントローラから連続的に出力される１番目からＮ番目のリードクロックの立下りエッジまたは立上りエッジから第２の所定時間以内に出力を開始し、１番目からＮ−１番目のデータについてはそれぞれ２番目からＮ番目のリードクロックの立下りエッジまたは立上りエッジから第３の所定時間以内に出力を停止し、Ｎ番目のデータについてはＮ番目のリードクロックの出力停止から前記第１の所定時間経過後に出力を停止することを特徴とする請求項７記載のメモリシステム。
【請求項９】
前記メモリコントローラは、１番目からＮ−１番目のリードクロックの周期を、前記第２の所定時間から第３の所定時間を減じた時間よりも大きくなるように制御することを特徴とする請求項８記載のメモリシステム。
【請求項１０】
前記メモリコントローラは、１番目からＮ−１番目のリードクロックの周期を、前記第２の所定時間の２倍の時間よりも小さく、かつ前記第２の所定時間よりも大きくなるように制御することを特徴とする請求項８記載のメモリシステム。
【請求項１１】
前記メモリコントローラは、１番目からＮ−１番目のデータについては２番目からＮ番目の戻りリードクロックの立下りエッジまたは立上りエッジに同期して取り込むことを特徴とする請求項７記載のメモリシステム。
【請求項１２】
前記メモリコントローラは、Ｎ番目のデータについてはＮ番目のリードクロックの出力完了時のエッジに同期して取り込むことを特徴とする請求項７記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラからメモリに対してクロックを入力するとともに、前記クロックに同期してメモリからメモリコントローラにデータが出力されるメモリシステムに関する。
【背景技術】
【０００２】
メモリとメモリコントローラからなるメモリシステムにおいては、メモリとメモリコントローラ間でのデータ転送の高速化が求められている。特許文献１〜３には、高速化が可能なメモリシステムとして、例えば、ＥＤＯ（Ｅｘｔｅｎｄｅｄ  Ｄａｔａ  Ｏｕｔ）タイプのＤＲＡＭやＳＤＲＡＭ（Ｓｙｎｃｒｏｎｏｕｓ ＤＲＡＭ）の様な、半導体メモリ外部から入力されるクロックに同期して連続したデータを出力可能なメモリシステムが開示されている。このようなメモリシステムではクロックに同期してインクリメントしたアドレスのデータが出力される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−４０５１８号公報
【特許文献２】特開２００１−２７３７６５号公報
【特許文献３】特開２００６−２７７８９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図９のタイミングチャートを参照して、クロックに同期してインクリメントしたアドレスのデータを出力する一例を説明する。クロックはメモリコントローラからメモリに印加される制御信号である。データはクロックに同期してメモリからメモリコントローラに出力される。データを読み出す前にはメモリコントローラからメモリに対して、アドレスを指定してデータの読み出しを指示するコマンドが発行される。
【０００５】
時間ｔ９０１でメモリコントローラからクロックが出力されると、メモリはクロックの立下りを基準にして一定時間後の時間ｔ９０３までにデータ線にデータ（データ１）の出力を開始する。この期間をＲｅａｄ  Ａｃｃｅｓｓ  Ｔｉｍｅ（ｔＲＥＡ）という。
【０００６】
時間ｔ９０４でメモリコントローラからクロックが出力されると、メモリはクロックの立下りを基準にして一定時間後の時間ｔ９０５以降に前のデータの出力を停止し、時間ｔ９０６までに、現在のアドレスに対してインクリメントした次のアドレスのデータ（データ２）について出力を開始する。このときのｔ９０４からｔ９０５までの時間をＲＥ  Ｌｏｗ  Ｏｕｔｐｕｔ  Ｈｏｌｄ  Ｔｉｍｅ（ｔＲＬＯＨ）という。タイミングチャートからわかるように、ｔＲＥＡとｔＲＬＯＨの間には、次式の関係がある。
ｔＲＥＡ＞ｔＲＬＯＨ
【０００７】
メモリコントローラはクロックの立下りのタイミング（例えばｔ９０４）でメモリからデータを取り込むことが可能である。データの取り込みはｔ９０３からｔ９０５の期間であれば行うことが可能であるが、ここでは、メモリコントローラのクロックに同期してデータを取り込むものとする。
【０００８】
このようにメモリ側でクロックの立下りに同期してデータのアドレスをインクリメントすることにより、メモリコントローラは、メモリに対して読み出し対象データのアドレスを都度出力しなくても、メモリからデータを読み出すことが可能となる。
【０００９】
ｔＲＥＡはメモリのデバイスの能力に依存して一意に決定される値である。メモリコントローラができるだけ高速にメモリからデータを読み出すためにはクロックのサイクルタイムｔＲＣを短くする必要がある。しかし、
ｔＲＥＡ＞ｔＲＣ
である場合には、メモリコントローラがデータ線からデータを取り込むことが出来なくなる。
【００１０】
ここで、メモリから出力されたデータをメモリコントローラに取り込む際には、以下の点を考慮する必要がある。すなわち、メモリコントローラとメモリとの間のデータ線の容量成分等に起因して、メモリコントローラからメモリにクロックが到達するのが遅延したり、メモリから出力されたデータがメモリコントローラに到達するのが遅延する点である。
【００１１】
この遅延による問題を解決するため、遅延後のクロックや、メモリからメモリコントローラに戻したクロックを利用してメモリコントローラにデータを取り込む方法がある。
【００１２】
図１０は、メモリコントローラがメモリからデータを読み出す際、クロックを例えば５個ずつ出力する場合のタイミングチャートである。このメモリシステムでは、図９で示されていたクロック及びデータの他に、メモリコントローラからクロック線を介してメモリに伝達したクロックを、メモリからメモリコントローラに戻す戻りクロック線が設けられている。
【００１３】
この例においては、戻りクロック（メモリコントローラからクロック線を介してメモリに伝達したクロックを、戻りクロック線を介してメモリコントローラに戻したクロック）を基準とすることで、メモリから出力されたデータを取り込むことが出来る。
【００１４】
しかし、上記のようなメモリシステムにおいても、１回のコマンドの発行で最後にセットしたデータを取り込めないという問題がある。すなわち、１回のコマンド発行で出力されるクロックの数は所定数に決まっているが、図１０に示すように、５番目（最後）のクロックによりメモリから出力された５番目のデータと時間的に重なる戻りクロックが存在しないので、戻りクロックを基準としたデータの取り込みを行うことができない。また、６番目から１０番目のデータのうち、１０番目（最後）のクロックにより出力された１０番目のデータと時間的に重なる戻りクロックが存在しないので、戻りクロックを基準としたデータの取り込みを行うことができない。それ以降のデータについても同様である。
【００１５】
この問題を解決するためには、例えば次のような方法がある。例えば５番目のデータを取り込むためには、１番目から４番目のデータを取り込んだ後、読み出し開始のデータが５番目のデータであることを示すアドレスを示すコマンドをメモリコントローラからメモリに発行して、再度メモリから５番目のデータから出力させるのである。１０番目のデータについても同様である。
【００１６】
上記課題を解決するために、第１の態様のメモリシステムは、メモリと、メモリコントローラと、前記メモリと前記メモリコントローラとを電気的に接続するメモリインターフェースとを含む。前記メモリインターフェースは、データの転送を行うために前記メモリが駆動するデータ線と、前記メモリから前記データ線へのデータ出力のタイミングを制御するためのリードクロックが伝送され、前記メモリコントローラが駆動するクロック線とを含み、前記メモリは、Ｎ個のデータを出力する際、前記メモリコントローラから連続的に出力される１番目からＮ番目のリードクロックに同期して出力を開始し、１番目からＮ−１番目のデータについては、２番目からＮ番目のリードクロックにそれぞれ同期して出力を停止し、Ｎ番目のデータについては、Ｎ番目のリードクロックの出力停止から第１の所定時間経過後に出力を停止し、前記メモリコントローラは、１番目からＮ−１番目のデータについては２番目からＮ番目のリードクロックにそれぞれ同期して取り込み、Ｎ番目のデータについてはＮ番目のリードクロックによるＮ番目のデータの出力開始後Ｎ番目のデータの出力停止までの間に取り込み、Ｎ番目のリードクロックの出力期間を１番目からＮ−１番目のリードクロックの出力期間よりも長く設定する。
【課題を解決するための手段】
【００１７】
また、第２の態様のメモリシステムは、メモリと、メモリコントローラと、前記メモリと前記メモリコントローラとを電気的に接続するメモリインターフェースとを含む。前記メモリインターフェースは、データの転送を行うために前記メモリが駆動するデータ線と、前記メモリから前記データ線へのデータ出力のタイミングを制御するためのリードクロックが伝送され、前記メモリコントローラが駆動するクロック線と、前記クロック線を介して前記メモリに到達したリードクロックを前記メモリコントローラに、戻りリードクロックとして戻す戻りクロック線とを含み、前記メモリは、Ｎ個のデータを出力する際、前記メモリコントローラから連続的に出力される１番目からＮ番目のリードクロックに同期して出力を開始し、１番目からＮ−１番目のデータについては、２番目からＮ番目のリードクロックにそれぞれ同期して出力を停止し、Ｎ番目のデータについては、Ｎ番目のリードクロックの出力停止から第１の所定時間経過後に出力を停止し、前記メモリコントローラは、１番目からＮ−１番目のデータについては、２番目からＮ番目の戻りリードクロックにそれぞれ同期して取り込み、Ｎ番目のデータについてはＮ番目のリードクロックによるＮ番目のデータの出力開始後Ｎ番目のデータの出力停止までの間に取り込み、Ｎ番目のリードクロックの出力期間を１番目からＮ−１番目のリードクロックの出力期間よりも長く設定する。
【００１８】
また、第２の態様のメモリシステムは、メモリと、メモリコントローラと、前記メモリと前記メモリコントローラとを電気的に接続するメモリインターフェースとを含む。前記メモリインターフェースは、データの転送を行うために前記メモリが駆動するデータ線と、前記メモリから前記データ線へのデータ出力のタイミングを制御するためのリードクロックを前記メモリコントローラが駆動するクロック線と、前記クロック線を介して前記メモリに到達したリードクロックを前記メモリコントローラに、戻りリードクロックとして戻す戻りクロック線とを含み、前記メモリは、Ｎ個のデータを出力する際、前記メモリコントローラから連続的に出力される１番目からＮ番目のリードクロックに同期して出力を開始し、１番目からＮ−１番目のデータについては２番目からＮ番目のリードクロックにそれぞれ同期して出力を停止し、Ｎ番目のデータについてはＮ番目のリードクロックの出力停止から第１の所定時間経過後に出力を停止し、前記メモリコントローラは、１番目からＮ−１番目のデータについては２番目からＮ番目の戻りリードクロックにそれぞれ同期して取り込み、Ｎ番目のデータについてはＮ番目のリードクロックによるＮ番目のデータの出力開始後Ｎ番目のデータの出力停止までの間に取り込み、Ｎ番目のリードクロックの出力期間を１番目からＮ−１番目のリードクロックの出力期間よりも長く設定する。
【発明の効果】
【００１９】
第１の態様のメモリシステムによれば、メモリコントローラがメモリから連続してＮ個のデータを読み出す際、Ｎ番目のデータについてはＮ番目のリードクロックによるＮ番目のデータの出力開始後Ｎ番目のデータの出力停止までの間に取り込み、Ｎ番目のリードクロックの出力期間を１番目からＮ−１番目のリードクロックの出力期間よりも長く設定する。これにより、出力期間を長くしない場合よりも、Ｎ番目のデータをデータ線に長い期間出力可能とすることができる。つまり、メモリコントローラがメモリからデータを取り込むことが可能な期間が増加する。例えばＮ番目のリードクロックの出力完了のタイミングをＮ番目のデータのデータ線への出力期間に重なるようにすれば、Ｎ番目のリードクロックの出力完了時のエッジを利用して、Ｎ番目のデータを取り込むことができる。なお、Ｎ番目のデータのデータ線への出力可能な期間内に、Ｎ番目のリードクロック以外の信号を利用して、Ｎ番目のデータを取り込むこともできる。
【００２０】
このように、本メモリシステムによれば、メモリコントローラは、Ｎ個のリードクロックを出力することにより、出力したリードクロックと同数のデータをメモリから読み出して取り込むことができる。したがって、Ｎ＋１番目以降のリードクロックを出力すれば、Ｎ＋１番目以降のデータをメモリから出力させて、この出力させたデータをメモリコントローラにおいて取り込むことができる。つまり、Ｎ個のデータの読み出し、取り込みを行った後、Ｎ＋１番目以降のデータを読み出す際、改めてアドレスを指定するコマンドを発行する必要が無い。そのため、メモリシステムにおけるデータ転送の性能を向上させることが出来る。
【００２１】
また、第２の態様のメモリシステムによれば、１番目からＮ−１番目のデータについては戻りリードクロックに同期して取り込む。この戻りリードクロックは、リードクロックを遅延させたクロックとなるので、第１の態様のメモリシステムによる効果に加え、メモリとメモリコントローラとの間でリードクロックやデータの伝送に遅延が発生する場合でも、メモリから出力されたデータをメモリコントローラが取り込むことが可能となるという効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】実施形態のメモリシステムの構成図である。
【図２】メモリコントローラがメモリからデータを読み出すにあたり、メモリコントローラからメモリに読み出しコマンドを発行するタイミング等を示すタイミングチャートである。
【図３】メモリのデータ出力タイミングを表すタイミングチャートである。
【図４】メモリコントローラの構成図である。
【図５】メモリコントローラのクロック制御回路の回路図である。
【図６】メモリコントローラの入力回路の回路図である。
【図７】データを読み出す際のタイミングチャートである。
【図８】データを読み出す際のタイミングチャートである。
【図９】従来のメモリシステムにおいてデータを読み出す際のタイミングチャートである。
【図１０】従来のメモリシステムにおいてデータを読み出す際のタイミングチャートである。
【発明を実施するための形態】
【００２３】
図面を参照して実施形態について説明する。
【００２４】
図１に本実施形態のメモリシステムの構成を示す。
【００２５】
本実施形態のメモリシステムは、メモリ１０１と、メモリコントローラ１０２とを備える。メモリ１０１は、ＮＡＮＤタイプのフラッシュメモリである。
【００２６】
メモリ１０１とメモリコントローラ１０２との間には複数の信号線からなるメモリインターフェースがある。メモリインターフェースは、コマンドイネーブル線１１１、アドレスイネーブル線１１２、ライトクロック線１１３、リードクロック線１１４、データ線１１５、戻りリードクロック線１１６、ビジー線１１７を含む。
【００２７】
コマンドイネーブル線１１１は、メモリコントローラ１０２から出力される、コマンドを発行する期間を示す制御信号を、メモリ１０１へ伝送する。
【００２８】
アドレスイネーブル線１１２は、メモリコントローラ１０２から出力される、アドレスを指定する期間を示す制御信号を、メモリ１０１へ伝送する。
【００２９】
ライトクロック線１１３は、メモリコントローラ１０２から出力される、コマンド、アドレス、及びデータのメモリ１０１への転送タイミングを示す制御信号（ライトクロック）を、メモリ１０１へ出力する。
【００３０】
リードクロック線１１４は、メモリコントローラ１０２から出力される、メモリ１０１からデータを転送すべきタイミングを示す制御信号（リードクロック）を、メモリ１０１へ出力する。
【００３１】
データ線１１５は、複数本からなるバスである。データ線１１５は、メモリコントローラ１０２から出力される、コマンドやアドレスを示す信号をメモリ１０１に伝送する。また、データ線１１５は、メモリ１０１から出力される、データを示す信号を、メモリコントローラ１０２に出力する。
【００３２】
戻りリードクロック線１１６は、リードクロック線１１４を介してメモリコントローラ１０２からメモリ１０１へ伝送されたリードクロックを、メモリ１０１からメモリコントローラ１０２へ伝送する。戻りリードクロック線１１４を介してメモリ１０１からメモリコントローラ１０２へ戻ったリードクロック（以下「戻りリードクロック」という。）は、メモリコントローラ１０２から出力されたタイミングに対して遅延したクロック信号である。
【００３３】
ビジー線１１７は、メモリ１０１から出力される、メモリ１０１がメモリコントローラ１０２に対してデータ出力可能か否かを示す信号を、メモリコントローラ１０２へ伝送する。この信号は、負極性のレベルで伝送される。
【００３４】
図２は、本実施形態のメモリシステムにおいてメモリコントローラ１０２がメモリ１０１からデータを読み出すにあたり、メモリコントローラ１０２からメモリ１０１に読み出しコマンドを発行する動作におけるタイミングチャートである。
【００３５】
メモリコントローラ１０２は、コマンドイネーブル線１１１に“Ｈ”信号、アドレスイネーブル線１１２に“Ｌ”信号を出力している時、ライトクロック線１１３にライトクロックを出力する。また、メモリコントローラ１０２は、ライトクロックの立上りエッジのタイミングで、データ線１１５に、読み出し開始アドレスを指定するコマンドを出力する（ｔ２０１）。
【００３６】
メモリコントローラ１０２は、その後、コマンドイネーブル線１１１に“Ｈ”信号、アドレスイネーブル線１１２に“Ｌ”信号を出力している時、ライトクロック線１１３にライトクロックを出力する。また、メモリコントローラ１０２は、ライトクロックの立上りエッジのタイミングで、時間ｔ２０２、ｔ２０３、ｔ２０４で指定した読み出し対象アドレスのデータの出力を指示するコマンドをデータ線１１５に出力する（ｔ２０５）。
【００３７】
メモリコントローラ１０２は、その後、コマンドイネーブル線１１１に“Ｌ”信号、アドレスイネーブル線１１２に“Ｌ”信号を出力している時、ライトクロック線１１３にライトクロックを出力する。また、メモリコントローラ１０２は、ライトクロックの立上りエッジのタイミングで、時間ｔ２０２、ｔ２０３、ｔ２０４で指定した読み出し対象アドレスのデータの出力を指示するコマンドをデータ線１１５に出力する（ｔ２０５）。
【００３８】
メモリ１０１は、ｔ２０１〜ｔ２０５のコマンド及びアドレスを受信すると、データ線に読み出し対象アドレスのデータを出力可能になるまでの間、ビジー線１１７にビジーの状態を表す“Ｌ”信号を出力する。メモリ１０１は、読み出しデータを出力可能になると、ビジー線１１７に“Ｈ”信号を出力する。そして、メモリ１０１は、メモリコントローラ１０２からリードクロック線１１４に出力されるリードクロックに同期して、データ線１１５に、読み出し対象アドレスのデータを出力する（図２には図示していない）。次に、この読み出し対象アドレスのデータの出力について、図３を参照して説明する。
【００３９】
図３は、メモリシステムにおいてメモリ１０１がデータを出力する際の状態の一例を示すタイミングチャートである。
【００４０】
メモリコントローラ１０２は、メモリ１０１からデータを読み出す際、リードクロック線１１４にリードクロックを出力する。
【００４１】
メモリ１０１は、リードクロック線１１４のリードクロックに同期してデータ線１１５にデータを出力する。
【００４２】
メモリ１０１は、時間ｔ３０１のリードクロック１の立下りエッジを基準にして出力を開始したデータ１を、時間ｔ３０３のリードクロック２の立下りエッジを基準にしてｔＲＯＨ（読み出し出力保持時間）後の時間ｔ３０４までデータ線１１５に保持する（時間ｔ３０４にデータ線１１５への出力を停止する）。メモリ１０１は、時間ｔ３０３のリードクロック２の立下りエッジを基準にして、ｔＲＥＡ時間後のｔ３０５までに、データ線１１５にデータ２の出力を開始する。したがって、本質的に次式の関係がある。
ｔＲＯＨ＜ｔＲＥＡ
【００４３】
メモリ１０１は、時間ｔ３０１のリードクロック１の立下りエッジを基準にして出力を開始したデータ１を、時間ｔ３０３のリードクロック１の立下りエッジを基準にしてｔＲＯＨ（読み出し出力保持時間）後の時間ｔ３０４までデータ線１１５に保持する（時間ｔ３０４にデータ線１１５への出力を停止する）。メモリ１０１は、時間ｔ３０３のリードクロックの立下りエッジを基準にして、ｔＲＥＡ時間後のｔ３０５までに、データ線１１５にデータ２の出力を開始する。したがって、本質的に次式の関係がある。
ｔＲＯＨ＜ｔＲＥＡ
【００４４】
ここで、本実施形態のメモリシステムにおいては、メモリ１０１は、リードクロックの立下りエッジを検出すると、アドレスをインクリメントし、インクリメントしたアドレスに対応するデータを出力する。換言すれば、連続したアドレスのデータを読み出す限り、アドレスを指定するコマンドを入力する必要はない。これにより、高速にデータを読み出すことが可能となる。
【００４５】
メモリ１０１は、時間ｔ３０６の最後のリードクロック５の立下りエッジを基準にして、ｔＲＥＡ後の時間ｔ３０８までにデータ５の出力を開始する。メモリ１０１は、このデータ５を、時間ｔ３０７のリードクロック５の立上りエッジを基準にしてｔＲＨＺ（読み出し出力高抵抗時間：データ線への出力を停止する時間）後のｔ３０９までデータ線１１５に保持する（ｔ３０９にデータ線１１５への出力を停止する）。
【００４６】
メモリ１０１は、時間ｔ３０６の最後のリードクロック５の立下りエッジを基準にして、ｔＲＥＡ後の時間ｔ３０８までにデータ５の出力を開始する。メモリ１０１は、このデータ４を、時間ｔ３０７のリードクロック５の立上りエッジを基準にしてｔＲＨＺ（読み出し出力高抵抗時間：データ線への出力を停止する時間）後のｔ３０９までデータ線１１５に保持する（ｔ３０９にデータ線１１５への出力を停止する）。
【００４７】
図４は、メモリコントローラ１０２の内部構成を示す図である。
【００４８】
メモリコントローラ１０２は、制御回路４０１、クロック制御回路４０２、入力回路４０３、及びカウンタ４０４、及び出力回路４０５を備える。
【００４９】
制御回路４０１は、メモリコントローラ１０２全体を制御する。制御回路４０１は、コマンドを発行する期間を示す制御信号をコマンドイネーブル線１１１に出力する。制御回路４０１は、アドレスを指定する期間を示す制御信号をアドレスイネーブル線１１２に出力する。制御回路４０１は、ビジー線１１７からビジー信号を入力する。
【００５０】
クロック制御回路４０２は、コマンド、アドレス、及びメモリ１０１へのデータの転送タイミングを示す制御信号（ライトクロック）をライトクロック線１１３に出力する。クロック制御回路４０２は、メモリ１０１がデータを転送すべきタイミングを示す制御信号（リードクロック）をリードクロック線１１４に出力する。
【００５１】
制御回路４０１は、メモリ１０１からデータの読み出しを開始する際、読み出し対象の全データを所定数のデータでなるデータグループに分割しそのデータグループ単位で読み出す。制御回路４０１は、前記所定数をカウンタ４０４に設定する。
【００５２】
入力回路４０３は、カウンタ４０４から最終データであることの通知を受けるまでは、戻りリードクロック線１１６の戻りリードクロックに同期して、データ線１１５からデータを取り込み、カウンタ４０４から最終データであることの通知を受けると、リードクロック線１１４のリードクロックに同期して、データ線１１５からデータを取り込む。
【００５３】
入力回路４０３は、カウンタ４０４から最終データであることの通知を受けるまでは、リードクロック線１１４のリードクロックに同期して、データ線１１５からデータを取り込み、カウンタから最終データであることの通知を受けると、戻りリードクロック線１１６の戻りリードクロックに同期して、データ線１１５からデータを取り込む。
【００５４】
出力回路４０５は、データ線１１５に、コマンドやアドレス等のデータを出力する。
【００５５】
図５は、クロック制御回路４０２の一部であって、リードクロック線１１４へのリードクロックの出力制御に関わる部分を示す回路図である。
【００５６】
この出力制御に関わる部分は、ＲＳフリップフロップ５０１、Ｄフリップフロップ５０２，５０３、論理積回路５０４，５０５、Ｄフリップフロップ５０６、論理積回路（立下り検出回路）５０７、５０８を含む。
【００５７】
ＲＳフリップフロップ５０１のセット端子Ｓには、リードクロック線１１４へのリードクロックの出力を開始すべきときに、制御回路４０１から、セット信号が入力される。ＲＳフリップフロップ５０１のリセット端子Ｒには、リードクロック線１１４へのリードクロックの出力を終了すべきときに、カウンタ４０４から、リセット信号が入力される。ＲＳフリップフロップ５０１は、セット端子Ｓにセット信号が入力されると“Ｈ”信号を出力し、リセット端子Ｒにリセット信号が入力されると“Ｌ”信号を出力する。
【００５８】
論理積回路５０４には、ＲＳフリップフロップ５０１の出力と、Ｄフリップフロップ５０６の出力、すなわちリードクロックが入力される。論理積回路５０４は、両入力が“Ｈ”のときのみ“Ｌ”信号を出力し、それ以外のときは“Ｈ”信号を出力する。
【００５９】
論理積回路５０５には、３つの論理積回路５０４、５０７，５０８の出力が入力される。論理積回路５０５は、３つの入力が全て“Ｈ”のときのみ“Ｈ”信号を出力し、それ以外のときは“Ｌ”信号を出力する。
【００６０】
論理積回路５０７には、ＲＳフリップフロップ５０１の出力と、Ｄフリップフロップ５０２の出力が入力される。論理積回路５０７は、Ｄフリップフロップ５０２の出力が“Ｈ”，ＲＳフリップフロップ５０１の出力が“Ｌ”のときのみ“Ｌ”信号を出力し、それ以外のときは“Ｈ”信号を出力する。
【００６１】
論理積回路５０８には、Ｄフリップフロップ５０２の出力と、Ｄフリップフロップ５０３の出力が入力される。論理積回路５０７は、Ｄフリップフロップ５０３の出力が“Ｈ”，Ｄフリップフロップ５０２の出力が“Ｌ”のときのみ“Ｌ”信号を出力し、それ以外のときは“Ｈ”信号を出力する。
【００６２】
Ｄフリップフロップ５０２の入力Ｄには、ＲＳフリップフロップ５０１の出力が入力される。Ｄフリップフロップ５０２は、クロック端子にクロック（サイクルタイムがリードクロックの１／２のクロック）が入力されたときにＤ端子に入力されている信号を、このクロックが入力されたときから次のクロックが入力されるまで出力する。
【００６３】
Ｄフリップフロップ５０３の入力Ｄには、Ｄフリップフロップ５０２の出力が入力される。Ｄフリップフロップ５０３は、クロック端子にクロック（サイクルタイムがリードクロックの１／２のクロック）が入力されたときにＤ端子に入力されている信号を、このクロックが入力されたときから次のクロックが入力されるまで出力する。
【００６４】
Ｄフリップフロップ５０６の入力Ｄには、論理積回路５０５の出力が入力される。Ｄフリップフロップ５０６は、クロック端子にクロック（サイクルタイムがリードクロックの１／２のクロック）が入力されたときにＤ端子に入力されている信号を、このクロックが入力されたときから次のクロックが入力されるまで出力する。
【００６５】
このような構成によれば、ＲＳフリップフロップ５０１のセット端子Ｓにセット信号が入力されて、ＲＳフリップフロップ５０１が“Ｈ”信号を出力すると、論理積回路５０７，５０８は上記セットと同時に“Ｈ”信号を出力する。また、ＲＳフリップフロップ５０１のリセット端子Ｒにリセット信号が入力されて、ＲＳフリップフロップ５０１が“Ｌ”信号を出力すると、論理積回路５０７はＤフリップフロップ５０２の存在により１リードクロック分（リードクロックのサイクルタイムの１／２（ｔＲＣ／２））遅れて“Ｌ”信号を出力し、論理積回路５０７は２つのＤフリップフロップ５０２，５０３の存在により２リードクロック分（リードクロックの１サイクルタイム（ｔＲＣ））遅れて“Ｌ”信号を出力する。
【００６６】
一方、論理積回路５０４は、ＲＳフリップフロップ５０１のセット端子Ｓにセット信号が入力されて、ＲＳフリップフロップ５０１から“Ｈ”信号が入力されると、セット時点では、リードクロックが出力されていないので、“Ｈ”信号を出力する。このとき、論理積回路５０５には、論理積回路５０７，５０８から“Ｈ”信号が入力されているので、論理積回路５０５は、“Ｈ”信号を出力する。そして、Ｄフリップフロップ５０６は、クロックが入力された時点で、“Ｈ”信号を出力する。すると、論理積回路５０４は、“Ｌ”信号を出力する。したがって、論理積回路５０５は、“Ｌ”信号を出力する。そして、Ｄフリップフロップ５０６は、クロックが入力された時点で“Ｌ”信号を出力する。すると、論理積回路５０４は、“Ｈ”信号を出力する。このように、Ｄフリップフロップ５０６にクロックが入力される都度、論理積回路５０４の出力が、“Ｈ”信号と“Ｌ”信号との間で切り替わり、その結果、Ｄフリップフロップ５０６からリードクロック線１１４に“Ｈ”信号と“Ｌ”信号とが交互に出力されることとなる。
【００６７】
一方、ＲＳフリップフロップ５０１のリセット端子Ｓにリセット信号が入力されると、論理積回路５０４は“Ｈ”信号を出力するが、前述のように、論理積回路５０７はＤフリップフロップ５０２の存在により１リードクロック分（リードクロックのサイクルタイムの１／２（ｔＲＣ／２））遅れて“Ｌ”信号を出力し、論理積回路５０７は２つのＤフリップフロップ５０２，５０３の存在により２リードクロック分（リードクロックの１サイクルタイム（ｔＲＣ））遅れて“Ｌ”信号を出力する。したがって、論理積回路５０５は、ＲＳフリップフロップ５０１のリセット端子Ｓにリセット信号が入力されるまでよりも、２リードクロック分（リードクロックの１サイクルタイム（ｔＲＣ））長く“Ｌ”信号を出力する。すなわち、Ｄフリップフロップ５０６からリードクロック線１１４に“Ｌ”信号がそれまでよりも２リードクロック分（リードクロックの１サイクルタイム（ｔＲＣ））長く出力されることとなる。
【００６８】
ここで、図中の５１１は、ＲＳフリップフロップ５０１の出力信号を示しており、後で説明する図７に示すタイミングチャートにおいて利用する。
【００６９】
なお、図５に示す回路は、メモリコントローラ１０２からリードクロック線１１４に出力する最後のリードクロックの“Ｌ”期間を長くするための回路の一例であり、同様の機能を実現できる限り図５で示した回路には限定されない。
【００７０】
図６は、入力回路４０３の具体的構成を示す回路図である。
【００７１】
入力回路４０３は、Ｄフリップフロップ６０１，６０２，６０３，６０５、及びセレクタ６０４を備える。
【００７２】
Ｄフリップフロップ６０１の入力端子Ｄには、データ線１１５からデータが入力される。また、Ｄフリップフロップ６０１のクロック端子ＣＬＫには、戻りリードクロック線１１６から戻りリードクロックが入力される。Ｄフリップフロップ６０１は、クロック端子ＣＬＫに入力される戻りリードクロックの立下りエッジを検出したときに入力端子Ｄに入力されているデータを、この戻りリードクロックの立下りエッジが検出されたときから次の戻りリードクロックの立下りエッジが検出されるまで出力する。換言すれば、Ｄフリップフロップ６０１は、戻りリードクロックに同期して、入力端子Ｄに入力されているデータを出力する。
【００７３】
Ｄフリップフロップ６０２の入力端子Ｄには、データ線１１５からデータが入力される。また、Ｄフリップフロップ６０２のクロック端子ＣＬＫには、リードクロック線１１４からリードクロックが入力される。Ｄフリップフロップ６０２は、クロック端子ＣＬＫに入力されるリードクロックの立上りエッジを検出したときに入力端子Ｄに入力されているデータを、このリードクロックの立上りエッジが検出されたときから次のリードクロックの立上りエッジが検出されるまで出力する。換言すれば、Ｄフリップフロップ６０２は、リードクロックに同期して、入力端子Ｄに入力されているデータを出力する。
【００７４】
Ｄフリップフロップ６０３の入力端子Ｄには、Ｄフリップフロップ６０１の出力Ｑが入力される。また、Ｄフリップフロップ６０３のクロック端子ＣＬＫには、制御回路４０１の内部クロックが入力される。Ｄフリップフロップ６０３は、クロック端子ＣＬＫに制御回路４０１の内部クロックが入力されたときに入力端子Ｄに入力されているデータを、この内部クロックが入力されたときから次の内部クロックが入力されるまで出力する。換言すれば、Ｄフリップフロップ６０３は、制御回路４０１の内部クロックに同期して、入力端子Ｄに入力されているデータを出力する。
【００７５】
セレクタ６０４は、カウンタ４０４からの信号に基づき、Ｄフリップフロップ６０２から出力されたデータまたはＤフリップフロップ６０３から出力されたデータを選択的に出力する。具体的には、セレクタ６０４は、カウンタ４０４から最後のデータであることを示す信号を受けるまでは、Ｄフリップフロップ６０３からのデータを出力し、カウンタ４０４から最後のデータであることを示す信号を受けると、Ｄフリップフロップ６０２からのデータを出力する。
【００７６】
Ｄフリップフロップ６０５の入力端子Ｄには、セレクタ６０４から出力されたデータが入力される。また、Ｄフリップフロップ６０３のクロック端子ＣＬＫには、制御回路４０１の内部クロックが入力される。Ｄフリップフロップ６０５は、クロック端子ＣＬＫに制御回路４０１の内部クロックが入力されたときに入力端子Ｄに入力されているデータを、この内部クロックが入力されたときから次の内部クロックが入力されるまで出力する。換言すれば、Ｄフリップフロップ６０５は、制御回路４０１の内部クロックに同期して、入力端子Ｄに入力されているデータを制御回路４０１へ出力する。
【００７７】
このように、入力回路４０３は、カウンタ４０４から最終データであることの通知を受けるまでは、戻りリードクロック線１１６の戻りリードクロックに同期して、データ線１１５からデータを取り込み、カウンタ４０４から最終データであることの通知を受けると、リードクロック線１１４のリードクロックに同期して、データ線１１５からデータを取り込む。
【００７８】
ここで図中の６１１〜６１５はＤフリップフロップ６０１，６０２，６０３，６０５、及びセレクタ６０４の出力信号を示しており、後で説明する図７に示すタイミングチャートにおいて利用する。
【００７９】
なお、図６に示す回路は、データ線１１５にメモリ１０１から出力されるデータの取り込みタイミングとして２種類の取り込みタイミング（戻りリードクロック線１１６に同期したタイミングとリードクロック線１１４に同期したタイミング）で取り込む機能を備えた回路の一例である。同様の機能を実現できる限り図６で示した以外の回路を利用してもよい。
【００８０】
図７は、メモリコントローラ１０２がメモリ１０１からデータを読み出すときの状態を示すタイミングチャートである。図７のタイミングチャートは、メモリコントローラ１０２がメモリ１０１から５ワードのデータを読み出す場合の例を示す。
【００８１】
まず時間ｔ７０１で、メモリコントローラ１０２の制御回路４０１は、クロック制御回路４０２のＲＳフリップフロップ５０１にセット信号を出力する。これにより、ＲＳフリップフロップ５０１の出力信号５１１は“Ｈ”になり、クロック制御回路４０２はリードクロック線１１４に“Ｌ”、“Ｈ”のトグル信号を出力する。また制御回路４０１は、ＲＳフリップフロップ５０１にセット信号を出力するときに、カウンタ４０４に対してカウンタ４０４の初期値として読み出しワード数である５を設定する。
【００８２】
カウンタ４０４は、リードクロックの立上りエッジに同期してカウンタをデクリメントする。
【００８３】
メモリ１０１からのデータの取り込みは、最終ワードを除き、戻りリードクロックの立下りのタイミングを基準として行われる。ここで特に認識しておくべきことは、１番目のデータの取り込みを行うために２番目の戻りリードクロックの立下りエッジを用いることである。同様にｎ番目のデータを取り込むためにはｎ＋１番目のリードクロックをメモリ１０１に供給して、ｎ＋１番目の戻りリードクロックの立下りエッジを利用する。ｎ＋１番目のクロックをメモリ１０１に供給することは、メモリ１０１からのｎ＋１番目のデータの出力を引き起こす。
【００８４】
メモリコントローラ１０２が、メモリ１０１からのデータの取り込みにおいてリードクロックを基準とせず戻りリードクロックを基準とする理由は以下の通りである。すなわち、メモリコントローラ１０２とメモリ１０１とを接続するリードクロック線１１４と接地間には容量成分が存在しており、この容量成分により、リードクロック線１１４上で伝送されるクロックには遅延が生じる。より高速な動作を行うためには、ｔＲＥＡよりも少し長い程度のｔＲＣで制御を行う必要がある。そこで、戻りリードクロックを基準とし、遅延の影響を回避する。例えば、時間ｔ７０４はリードクロックの立下りエッジのタイミングであるが、データ線１１５のデータ１を正しく取り込めるタイミングではないので、戻りリードクロックを利用する。
【００８５】
メモリ１０１は、５番目のデータ（データ５）を、５番目のリードクロックの立上り（時間ｔ７１１）からｔＲＥＡが経過した時点から、リードクロックの立上りのタイミング（時間ｔ７１３）からｔＲＨＺ（図３参照）が経過するまでの間、データ線１１５に保持する（ｔＲＨＺが経過したときにデータ線１１５への出力を停止する）。ここで、本実施形態では、上述のように５番目のリードクロックの“Ｌ”期間（出力期間（Ｔｍ２））を１〜４番目のリードクロックの“Ｌ”期間（出力期間（Ｔｍ１））よりも長くしているので（最後のリードクロックのサイクルタイムを長くしているので）、“Ｌ”期間（出力期間（Ｔｍ２）を長くしない場合よりも、５番目のデータ（データ５）をデータ線１１５に長い期間保持させることができる（出力可能とすることができる）。これにより、メモリコントローラ１０２がメモリ１０１からデータを取り込むことが可能な期間が増加することとなる。
【００８６】
メモリ１０１は、５番目のデータ（データ５）を、５番目のリードクロックの立上り（時間ｔ７１１）からｔＲＥＡが経過した時点から、リードクロックの立上りのタイミング（時間ｔ７１３）からｔＲＨＺ（図３参照）が経過するまでの間、データ線１１５に保持する（ｔＲＨＺが経過したときにデータ線１１５への出力を停止する）。ここで、本実施形態では、上述のように５番目のリードクロックの“Ｌ”期間（出力期間（Ｔｍ２））を１〜４番目のリードクロックの“Ｌ”期間（出力期間（Ｔｍ１））よりも長くしているので（最後のリードクロックのサイクルタイムを長くしているので）、“Ｌ”期間（出力期間（Ｔｍ２）を長くしない場合よりも、５番目のデータ（データ５）をデータ線１１５に長い期間保持させることができる（出力可能とすることができる）。これにより、メモリコントローラ１０２がメモリ１０２からデータを取り込むことが可能な期間が増加することとなる。
【００８７】
ここで、本実施の形態においては、５番目のリードクロックの“Ｌ”期間（Ｔｍ２）を、５番目のリードクロックの立上りのタイミングと、５番目のデータ（データ５）がデータ線１１５に保持されている期間とが時間軸上において重なるように設定している。これにより、Ｄフリップフロップ６０２は、５番目のデータ（データ５）がデータ線１１５に保持されている間に（ｔＲＨＺが経過するまでの間に）、５番目のリードクロックの立上りを利用して、５番目のデータを取り込むことができる。
【００８８】
そして、カウンタ４０４は、カウンタの値を“１”から“０”にデクリメントすると同時に、入力回路４０３のセレクタ６０４への制御信号を“Ｌ”にする。セレクタ６０４は、カウンタ４０４からの制御信号が“Ｌ”なので、Ｄフリップフロップ６０２からのデータを出力する。Ｄフリップフロップ６０５は、セレクタ６０４から出力されたデータを、内部回路に同期して取り込み、制御回路４０１に出力する。
【００８９】
以上説明したように、本実施形態のメモリシステムによれば、メモリコントローラ１０２がメモリ１０１から連続してＮ個（本実施形態ではＮ＝５）のデータを読み出す際、Ｎ番目のデータについてはＮ番目のリードクロックによるＮ番目のデータの出力開始後Ｎ番目のデータの出力停止までの間に取り込む。また、メモリコントローラ１０２は、Ｎ番目のリードクロックの出力期間を１番目からＮ−１番目のリードクロックの出力期間よりも長く設定する。これにより、“Ｌ”期間（出力期間（Ｔｍ２）を長くしない場合よりも、５番目のデータ（データ５）をデータ線１１５に長い期間保持させることができる（出力可能とすることができる）。つまり、メモリコントローラ１０２がメモリ１０１からデータを取り込むことが可能な期間が増加することとなる。本実施形態では、Ｎ番目のリードクロックの立上りのタイミングを、Ｎ番目のデータのデータ線１１５への出力可能な期間内に設定し、これにより、Ｎ番目のリードクロックの立上りを利用して、Ｎ番目のデータを取り込むようにしている。なお、Ｎ番目のデータのデータ線１１５への出力可能な期間内に、Ｎ番目のリードクロックの立上り以外の信号を利用して、Ｎ番目のデータを取り込むこともできる。例えば、Ｎ番目のリードクロックの立上り以外の信号として、例えばメモリコントローラ１０２内部のクロックを利用して生成したクロックや、Ｎ個目のリードクロックの立下りからｔＲＥＡ以上の所定時間が経過したときに発生させた任意の信号を利用することができる。
【００９０】
以上説明したように、本実施形態のメモリシステムによれば、メモリコントローラ１０２がメモリ１０１から連続してＮ個（本実施形態ではＮ＝５）のデータを読み出す際、Ｎ番目のデータについてはＮ番目のリードクロックによるＮ番目のデータの出力開始後Ｎ番目のデータの出力停止までの間に取り込む。また、メモリコントローラ１０２は、Ｎ番目のリードクロックの出力期間を１番目からＮ−１番目のリードクロックの出力期間よりも長く設定する。これにより、“Ｌ”期間（出力期間（Ｔｍ２）を長くしない場合よりも、５番目のデータ（データ５）をデータ線１１５に長い期間保持させることができる（出力可能とすることができる）。つまり、メモリコントローラ１０２がメモリ１０１からデータを取り込むことが可能な期間が増加することとなる。本実施形態では、Ｎ番目のリードクロックの立上りのタイミングを、Ｎ番目のデータのデータ線１１５への出力可能な期間内に設定し、これにより、Ｎ番目のリードクロックの立上りを利用して、Ｎ番目のデータを取り込むようにしている。なお、Ｎ番目のデータのデータ線１１５への出力可能な期間内に、Ｎ番目のリードクロックの立上り以外の信号を利用して、Ｎ番目のデータを取り込むこともできる。例えば、Ｎ番目のリードクロックの立上り以外の信号として、例えばメモリコントローラ１１内部のクロックを利用して生成したクロックや、Ｎ個目のリードクロックの立下りからｔＲＥＡ以上の所定時間が経過したときに発生させた任意の信号を利用することができる。
【００９１】
ここで、従来技術においては、Ｎ番目のデータを取り込むことはできない。また、この取り込めなかったデータを読み出そうとすると、改めて、アドレスを指定するコマンドやアドレスの指定をメモリコントローラ１０２からメモリ１０１に対して行う必要がある。つまり、読み出し対象のアドレスを指定するコマンドを発行する必要があるので、オーバヘッドが大きくなり、メモリシステムにおけるデータ転送の性能が低下していた。
【００９２】
また、本実施形態のメモリシステムによれば、１番目のデータからＮ−１番目のデータについては戻りリードクロックに同期して取り込むので、メモリ１０１とメモリコントローラ１０２との間でリードクロックやデータの伝送に遅延が発生する場合でも、メモリから出力されたデータをメモリコントローラが取り込むことが可能となる。
【００９３】
また、本実施形態のメモリシステムによれば、１番目のデータからＮ−１番目のデータについては戻りリードクロックに同期して取り込むので、メモリ１０１とメモリコントローラ１０１との間でリードクロックやデータの伝送に遅延が発生する場合でも、メモリから出力されたデータをメモリコントローラが取り込むことが可能となる。
【００９４】
なお、本実施形態では、１番目からＮ−１番目のデータについては１番目からＮ−１番目（上記例では５番目）の戻りリードクロックの立下りに同期して取り込むようにしたが、遅延時間が小さい場合は、戻りリードクロックでなくリードクロックの立下りに同期して１番目からＮ−１番目のデータを取り込むようにしてもよい。この場合、戻りリードクロック線１１６を設けなくてもよい。
【００９５】
また、本実施形態では、メモリ１０１は、Ｎ個のデータを出力する際、１番目からＮ番目のリードクロックの立下りエッジ（出力開始時のエッジ）を基準として出力を開始するが、１番目からＮ番目のリードクロックの立上りエッジ（出力完了時のエッジ）を基準としてもよい。また、メモリ１０１は、１番目からＮ−１番目のデータについてはそれぞれ２番目からＮ番目のリードクロックの立下りエッジ（出力開始時のエッジ）を基準として出力を停止するが、２番目からＮ番目のリードクロックの立上りエッジ（出力完了時のエッジ）を基準としてもよい（但し、２番目からＮ番目のリードクロックの立上りエッジ（出力完了時のエッジ）よりも後までデータが出力されているとき）。また、メモリコントローラ１０２は、１番目からＮ−１番目のデータについては２番目からＮ番目のリードクロックの立下りエッジ（出力開始時のエッジ）に同期して取り込むが、データがデータ線１１５に出力されるタイミングによっては、２番目からＮ番目のリードクロックの立上りエッジ（出力完了時のエッジ）に同期して取り込んでもよい。また、本実施形態では、リードクロックは立下りクロックであるが、立上りクロックであってもよく、この場合、出力開始時のエッジは立上りエッジ、出力完了時のエッジは立下りエッジとして制御すればよい。
【００９６】
本実施形態では、説明を簡略化するために、メモリから読み出すデータの塊に含まれるデータの数ＮがＮ＝５の場合について説明したが、データの塊に含まれるデータの数ＮはＮ＝５に限定されるものではない。メモリからデータを読み出す際のデータの塊にはＥＣＣ符号を含めてもよい。この場合にメモリから読み出すデータの塊のサイズは、メモリコントローラが取り扱うデータのサイズにＥＣＣ符号のサイズを付与したサイズとなる。例えば、データのサイズが５１２バイト、ＥＣＣ符号のサイズが１６バイトとした場合、データの塊のサイズは５２８バイトとなる。このようにデータの塊にＥＣＣ符号を含めることにより、メモリからデータの塊を読み出す毎にメモリコントローラによるＥＣＣ処理が行える。これは、ＥＣＣ処理を容易化できる。なお、Ｎを例えばメモリシステムのバッファ容量等に応じて可変としてもよく、その場合においても本実施形態の技術思想は適用可能である。
【産業上の利用可能性】
【００９７】
本発明は、メモリシステムにおけるデータ転送の効率を向上して高速化することが可能なユーザ利便性の高いメモリシステムに有用である。
【符号の説明】
【００９８】
１０１    メモリ
１０２    メモリコントローラ
１１１    コマンドイネーブル線
１１２    アドレスイネーブル線
１１３    ライトクロック線
１１４    リードクロック線
１１５    データ線
１１６    戻りリードクロック線
１１７    ビジー線
４０１    制御回路
４０２    クロック制御回路
４０３    入力回路
４０４    カウンタ
４０５    出力回路
【図１】
0005449032.tif 000002
【図２】
0005449032.tif 000003
【図３】
0005449032.tif 000004
【図４】
0005449032.tif 000005
【図５】
0005449032.tif 000006
【図６】
0005449032.tif 000007
【図７】
0005449032.tif 000008
【図８】
0005449032.tif 000009
【図９】
0005449032.tif 000010
【図１０】
0005449032.tif 000011