(57)【要約】【課題】ホスト装置とそれに接続されるメモリ装置とを備えるメモリシステムにおいて、両装置間の高速化通信を低コストかつ簡易に実現することが可能なメモリシステムを得る。【解決手段】メモリ装置３の制御回路５１は、ホスト装置２の送信制御回路２２から受信したクロックＣ１をフィードバックすることにより、クロックＣ２としてホスト装置２の受信制御回路２３に送信する。受信制御回路２３は、フィードバックされたクロックＣ２に同期してメモリ装置３からのデータ受信を制御する。【選択図】図１
2017021608.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置と、
前記ホスト装置に接続されるメモリ装置と、
を備え、
前記ホスト装置は、
第１のクロックに同期して前記メモリ装置へのコマンド送信を制御する送信制御回路と、
第２のクロックに同期して前記メモリ装置からのデータ受信を制御する受信制御回路と、
を有し、
前記メモリ装置は、
データが格納されたメモリアレイと、
前記メモリアレイへのアクセスを制御する制御回路と、
を有し、
前記送信制御回路は、第１のクロックを前記制御回路に送信し、
前記制御回路は、前記送信制御回路から受信した第１のクロックを第２のクロックとして前記受信制御回路に送信する、メモリシステム。
【請求項２】
前記ホスト装置は、前記送信制御回路及び前記受信制御回路を制御する主制御回路をさらに有し、
前記主制御回路は、前記ホスト装置と前記メモリ装置との間の伝搬遅延量に基づいて、所定の補正値を決定し、
前記送信制御回路は、前記主制御回路から入力された前記補正値に基づいて、前記メモリ装置からのデータ受信が開始されてから当該データ受信が完了するまでの第１のクロックのサイクル数を補正する、請求項１に記載のメモリシステム。
【請求項３】
前記送信制御回路は、第１のクロックのサイクル数をカウントする第１のカウンタを含み、
前記受信制御回路は、第２のクロックのサイクル数をカウントする第２のカウンタを含み、
前記主制御回路は、前記メモリ装置へのコマンド送信が完了してから、前記メモリ装置からＲｅａｄｙ信号を受信するまでの前記第１のカウンタのカウント値と、前記メモリ装置から最初のＢｕｓｙ信号を受信してから、前記メモリ装置からＲｅａｄｙ信号を受信するまでの前記第２のカウンタのカウント値とに基づいて、前記補正値を決定する、請求項２に記載のメモリシステム。
【請求項４】
前記送信制御回路は、第１のクロックのサイクル数をカウントする第１のカウンタを含み、
前記主制御回路は、前記メモリ装置へのコマンド送信が完了してから、前記メモリ装置から最初のＢｕｓｙ信号を受信するまでの前記第１のカウンタのカウント値に基づいて、前記補正値を決定する、請求項２に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置とメモリ装置とを備えるメモリシステムに関する。
【背景技術】
【０００２】
ホスト装置とそれに接続されるメモリ装置とを備えるメモリシステムにおいて、クロックに同期して動作するメモリシステムでは、その動作の高速化に伴い、両装置間で送受信されるクロックやデータの伝搬遅延が大きくなり、クロックの１サイクル内でのデータ転送が困難になりつつある。
【０００３】
そこで、従来のメモリシステムでは、データ遅延量の増大に起因するデータの損失を防止すべく、システム内部で生成したデータストローブ信号に同期して両装置間でのデータの送受信が行われてきた（例えば下記特許文献１〜３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１４５９９９号公報
【特許文献２】特開２０１１−２１６０７９号公報
【特許文献３】特表２０１１−５０８３１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、データストローブ信号を用いてデータの送受信を行う場合には、データストローブ信号を生成するための生成回路や、クロックとデータストローブ信号との位相を調整するためのタイミング調整回路が必要となるため、回路設計が複雑化するとともに、製造コスト及び回路規模が増大する。また、メモリシステムの実使用時にはこれらの回路のキャリブレーションが必要となる場合があるため、製造効率が低下する。
【０００６】
本発明はかかる事情に鑑みて成されたものであり、ホスト装置とそれに接続されるメモリ装置とを備えるメモリシステムにおいて、両装置間の高速化通信を低コストかつ簡易に実現することが可能なメモリシステムを得ることを目的とするものである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様に係るメモリシステムは、ホスト装置と、前記ホスト装置に接続されるメモリ装置と、を備え、前記ホスト装置は、第１のクロックに同期して前記メモリ装置へのコマンド送信を制御する送信制御回路と、第２のクロックに同期して前記メモリ装置からのデータ受信を制御する受信制御回路と、を有し、前記メモリ装置は、データが格納されたメモリアレイと、前記メモリアレイへのアクセスを制御する制御回路と、を有し、前記送信制御回路は、第１のクロックを前記制御回路に送信し、前記制御回路は、前記送信制御回路から受信した第１のクロックを第２のクロックとして前記受信制御回路に送信することを特徴とするものである。
【０００８】
第１の態様に係るメモリシステムによれば、メモリ装置の制御回路は、ホスト装置の送信制御回路から受信した第１のクロックをフィードバックすることにより、第２のクロックとしてホスト装置の受信制御回路に送信する。そして、受信制御回路は、フィードバックされた第２のクロックに同期してメモリ装置からのデータ受信を制御する。従って、第１及び第２のクロックとは別のデータストローブ信号を新たに生成する必要がないため、データストローブ信号の生成回路やタイミング調整回路の実装を省略でき、その結果、ホスト装置とメモリ装置との間の高速化通信を低コストかつ簡易に実現することが可能となる。また、第１のクロックを第２のクロックとしてフィードバックしているため、メモリアレイから読み出したデータを第２のクロックに同期してメモリ装置からホスト装置に送信する際に、配線遅延及びバッファ遅延に伴う伝搬遅延量を第２のクロックとデータとで実質的に相殺でき、その結果、データの損失を防止することが可能となる。
【０００９】
本発明の第２の態様に係るメモリシステムは、第１の態様に係るメモリシステムにおいて特に、前記ホスト装置は、前記送信制御回路及び前記受信制御回路を制御する主制御回路をさらに有し、前記主制御回路は、前記ホスト装置と前記メモリ装置との間の伝搬遅延量に基づいて、所定の補正値を決定し、前記送信制御回路は、前記主制御回路から入力された前記補正値に基づいて、前記メモリ装置からのデータ受信が開始されてから当該データ受信が完了するまでの第１のクロックのサイクル数を補正することを特徴とするものである。
【００１０】
第２の態様に係るメモリシステムによれば、ホスト装置の主制御回路は、ホスト装置とメモリ装置との間の伝搬遅延量に基づいて所定の補正値を決定し、送信制御回路は、当該補正値に基づいて、メモリ装置からのデータ受信が開始されてからデータ受信が完了するまでの第１のクロックのサイクル数を補正する。このように、不定の伝搬遅延量から決定された補正値に基づいて、通信プロトコルで規定された固定サイクル数を補正することにより、固定サイクル数を過不足なく確保でき、その結果、システムを正常に動作させることが可能となる。
【００１１】
本発明の第３の態様に係るメモリシステムは、第２の態様に係るメモリシステムにおいて特に、前記送信制御回路は、第１のクロックのサイクル数をカウントする第１のカウンタを含み、前記受信制御回路は、第２のクロックのサイクル数をカウントする第２のカウンタを含み、前記主制御回路は、前記メモリ装置へのコマンド送信が完了してから、前記メモリ装置からＲｅａｄｙ信号を受信するまでの前記第１のカウンタのカウント値と、前記メモリ装置から最初のＢｕｓｙ信号を受信してから、前記メモリ装置からＲｅａｄｙ信号を受信するまでの前記第２のカウンタのカウント値とに基づいて、前記補正値を決定することを特徴とするものである。
【００１２】
第３の態様に係るメモリシステムによれば、主制御回路は、メモリ装置へのコマンド送信が完了してから、メモリ装置からＲｅａｄｙ信号を受信するまでの第１のカウンタのカウント値と、メモリ装置から最初のＢｕｓｙ信号を受信してから、メモリ装置からＲｅａｄｙ信号を受信するまでの第２のカウンタのカウント値とに基づいて、補正値を決定する。従って、配線遅延及びバッファ遅延に伴う不定の伝搬遅延量と、メモリアレイからのデータの読み出しに伴う不定のＢｕｓｙサイクル数とに基づいて、補正値を正確に決定できるため、固定サイクル数を高精度に補正することが可能となる。
【００１３】
本発明の第４の態様に係るメモリシステムは、第２の態様に係るメモリシステムにおいて特に、前記送信制御回路は、第１のクロックのサイクル数をカウントする第１のカウンタを含み、前記主制御回路は、前記メモリ装置へのコマンド送信が完了してから、前記メモリ装置から最初のＢｕｓｙ信号を受信するまでの前記第１のカウンタのカウント値に基づいて、前記補正値を決定することを特徴とするものである。
【００１４】
第４の態様に係るメモリシステムによれば、主制御回路は、メモリ装置へのコマンド送信が完了してから、メモリ装置から最初のＢｕｓｙ信号を受信するまでの第１のカウンタのカウント値に基づいて、補正値を決定する。従って、配線遅延及びバッファ遅延に伴う不定の伝搬遅延量に基づいて補正値を簡易に決定することが可能となる。また、Ｂｕｓｙサイクルの完了を待つことなく早期に補正値を決定できるため、補正値が異常値である場合に早期にエラー処理を開始することが可能となる。さらに、第２のカウンタが不要になるとともに、第１のカウンタのカウント値を削減できるため、全体としてホスト装置の回路規模を削減することが可能となる。
【発明の効果】
【００１５】
本発明によれば、ホスト装置とメモリ装置との間の高速化通信を低コストかつ簡易に実現することが可能なメモリシステムを得ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態に係るメモリシステムの構成を示す図である。
【図２】メモリシステムの読み出し動作を示すタイミングチャートである。
【図３】変形例に係るメモリシステムの構成を示す図である。
【図４】メモリシステムの読み出し動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００１８】
図１は、本発明の実施の形態に係るメモリシステム１の構成を示す図である。図１に示すようにメモリシステム１は、ホスト装置２と、ホスト装置２に着脱自在に接続される半導体メモリ等のメモリ装置３とを備えて構成されている。
【００１９】
ホスト装置２は、ＣＰＵ１１、内部メモリ１２、及びメモリコントローラ１３を備えている。メモリコントローラ１３は、主制御回路２１、送信制御回路２２、及び受信制御回路２３を有している。送信制御回路２２は、クロックＣ１に同期してメモリ装置３へのコマンドＳ５の送信を制御する。受信制御回路２３は、クロックＣ２に同期してメモリ装置３からのデータＳ６の受信を制御する。主制御回路２１は、送信制御回路２２及び受信制御回路２３を制御する。図１に示すように、送信制御回路２２はアクセス生成回路３１及び送信カウンタ３２を有しており、受信制御回路２３は同期回路４１及び受信カウンタ４２を有している。
【００２０】
主制御回路２１、アクセス生成回路３１、送信カウンタ３２、同期回路４１、及び受信カウンタ４２には、共通の基準クロックＣ０が入力される。アクセス生成回路３１は、基準クロックＣ０に基づいてクロックＣ１を生成する。例えば、基準クロックＣ０を分周することにより、基準クロックＣ０の４サイクルを１サイクルとするクロックＣ１を生成する。
【００２１】
メモリ装置３は、コンテンツデータ等の任意のデータＳ６が格納されたメモリアレイ５２と、メモリアレイ５２へのアクセスを制御する制御回路５１とを有している。
【００２２】
以下、メモリアレイ５２に格納されているデータＳ６をメモリ装置３からホスト装置２に読み出す処理を例にとり、メモリシステム１の動作を説明する。以下の例では、通信プロトコルによってコマンド長が８バイト、読み出しデータ長が５１２バイトに固定され、レイテンシ方式としてＲｅａｄｙ／Ｂｕｓｙ方式が採用されたメモリシステムを前提とする。
【００２３】
図２は、メモリシステム１の読み出し動作を示すタイミングチャートである。ＣＰＵ１１は、アドレス情報及び読み出しサイズ等を含む読み出しコマンドを、主制御回路２１に入力する。主制御回路２１は、入力された読み出しコマンドをデコードすることにより、コマンドデータＳ１と、アクセス情報及びアクセス開始フラグを含む制御信号Ｓ２とを、アクセス生成回路３１に入力する。
【００２４】
アクセス生成回路３１は、入力されたアクセス情報に基づいて、メモリ装置３にアクセスするためのアクセス制御信号Ｓ４を生成し、当該アクセス制御信号Ｓ４をメモリ装置３に送信する。また、アクセス生成回路３１は、上記の通り基準クロックＣ０に基づいてクロックＣ１を生成し、当該クロックＣ１をメモリ装置３に送信する。さらに、アクセス生成回路３１は、入力されたコマンドデータＳ１に基づいてコマンドＳ５を生成し、当該コマンドＳ５をクロックＣ１に同期してメモリ装置３に送信する。本実施の形態の例では、コマンド長が８バイトであり、クロックＣ１の１サイクルで１バイトのデータ転送が行われるため、クロックＣ１の８サイクルに相当する固定長の期間Ｐ１（図２）が、コマンド送信期間となる。アクセス生成回路３１は、コマンドＳ５の最終バイト（第８バイト）の送信が完了すると、送信カウンタ３２にカウント動作を開始させ、送信カウンタ３２は以後のクロックＣ１のサイクル数をカウントする。
【００２５】
メモリ装置３の制御回路５１は、ホスト装置２から受信したクロックＣ１をホスト装置２にフィードバックすることにより、クロックＣ１と同一周波数のクロックＣ２をホスト装置２に送信する。また、制御回路５１は、受信したコマンドＳ５をデコードすることによって、メモリアレイ５２から所望のデータＳ６を読み出す。制御回路５１は、メモリアレイ５２からのデータＳ６の読み出し処理が完了するまでは、Ｂｕｓｙ信号をホスト装置２に送信する。そして、読み出し処理が完了するとＲｅａｄｙ信号を送信し、Ｒｅａｄｙ信号に続けてデータＳ６を送信する。Ｂｕｓｙ信号、Ｒｅａｄｙ信号、及びデータＳ６の送信は、クロックＣ２に同期して行われる。
【００２６】
図２を参照して、ホスト装置２がコマンドＳ５の最終バイトの送信を完了してから、Ｒｅａｄｙ信号の受信を完了するまでの期間Ｐ２が、Ｒｅａｄｙ／Ｂｕｓｙ期間となる。また、Ｒｅａｄｙ／Ｂｕｓｙ期間Ｐ２に続く期間Ｐ３が、ホスト装置２がメモリ装置３からデータＳ６を受信するデータ受信期間となる。本実施の形態の例では、読み出しデータ長が５１２バイトであり、クロックＣ２の１サイクルで１バイトのデータ転送が行われるため、クロックＣ２の５１２サイクルに相当する固定長の期間Ｐ３がデータ受信期間となる。但し、後述するように、クロックＣ１に関するデータ受信期間Ｐ３のサイクル数は補正される。
【００２７】
ホスト装置２とメモリ装置３との間でコマンド及びデータの送受信を行う場合には、両装置間の配線遅延とメモリ装置３の入出力バッファのバッファ遅延とに起因して、不定長の伝搬遅延が発生する。そして、高周波のクロックＣ１，Ｃ２を用いて高速化通信を行う場合には、その伝搬遅延量がクロックＣ１，Ｃ２の１サイクルよりも大きくなる。図２に示すように、コマンドＳ５の最終バイトの送信が完了してから、先頭のＢｕｓｙ信号の受信を開始するまでの間に、クロックＣ１，Ｃ２の１サイクルを超える伝搬遅延ＰＤが発生している。伝搬遅延ＰＤの遅延量は不定であり、また、Ｂｕｓｙ信号が継続するサイクル数も不定であるため、Ｒｅａｄｙ／Ｂｕｓｙ期間Ｐ２は不定長となる。
【００２８】
図１を参照して、ホスト装置２の受信制御回路２３は、メモリ装置３から順に送信されたＢｕｓｙ信号、Ｒｅａｄｙ信号、及びデータＳ６をクロックＣ２に同期して受信し、これらの信号及びデータを主制御回路２１に入力する。また、同期回路４１は、Ｂｕｓｙ信号を受信する毎に、Ｂｕｓｙ信号を基準クロックＣ０で同期化することによって同期信号Ｓ７を生成し、当該同期信号Ｓ７を主制御回路２１に入力する。また、同期回路４１は、先頭のＢｕｓｙ信号を受信すると、受信カウンタ４２にカウント動作を開始させ、受信カウンタ４２は以後の同期信号Ｓ７のサイクル数をカウントする。
【００２９】
主制御回路２１は、受信制御回路２３からＲｅａｄｙ信号が入力されると、その時点でのカウント値Ｓ３，Ｓ８を送信カウンタ３２及び受信カウンタ４２からそれぞれ取得する。そして、カウント値Ｓ３からカウント値Ｓ８を減算することによって遅延サイクル補正値を算出し、当該遅延サイクル補正値をアクセス情報としてアクセス生成回路３１に入力する。また、主制御回路２１は、受信制御回路２３からＲｅａｄｙ信号が入力されることにより、Ｒｅａｄｙ／Ｂｕｓｙ期間Ｐ２を終了し、続けてデータ受信期間Ｐ３に移行する。
【００３０】
アクセス生成回路３１は、入力された遅延サイクル補正値に基づいて、データ受信期間のサイクル数を補正する。本実施の形態の例では、読み出しデータ長が５１２バイトであり、クロックＣ１の１サイクルで１バイトのデータ転送が行われるため、本来は、Ｒｅａｄｙ／Ｂｕｓｙ期間Ｐ２が終了してからクロックＣ１が５１２サイクル進行した時点が、データ受信期間Ｐ３の終点となる。アクセス生成回路３１は、通信プロトコルで規定されたデータ受信期間のサイクル数（この例では５１２サイクル）から、入力された遅延サイクル補正値に相当するサイクル数を減算することにより、データ受信期間Ｐ３のサイクル数を補正する。例えば、遅延サイクル補正値が「２サイクル」である場合には、データ受信期間Ｐ３の終点は、Ｒｅａｄｙ／Ｂｕｓｙ期間Ｐ２が終了してからクロックＣ１が５１０（＝５１２−２）サイクル進行した時点となる。
【００３１】
補正後のデータ受信期間Ｐ３において、主制御回路２１は、受信制御回路２３から順に入力されたデータＳ６をＣＰＵ１１に転送する。
【００３２】
このように本実施の形態に係るメモリシステム１によれば、メモリ装置３の制御回路５１は、ホスト装置２の送信制御回路２２から受信したクロックＣ１（第１のクロック）をフィードバックすることにより、クロックＣ２（第２のクロック）としてホスト装置２の受信制御回路２３に送信する。そして、受信制御回路２３は、フィードバックされたクロックＣ２に同期してメモリ装置３からのデータ受信を制御する。従って、クロックＣ１，Ｃ２とは別のストローブ信号を新たに生成する必要がないため、データストローブ信号の生成回路やタイミング調整回路の実装を省略でき、その結果、ホスト装置２とメモリ装置３との間の高速化通信を低コストかつ簡易に実現することが可能となる。また、クロックＣ１をクロックＣ２としてフィードバックしているため、メモリアレイ５２から読み出したデータＳ６をクロックＣ２に同期してメモリ装置３からホスト装置２に送信する際に、配線遅延及びバッファ遅延に伴う伝搬遅延量をクロックＣ２とデータＳ６とで実質的に相殺でき、その結果、データの損失を防止することが可能となる。
【００３３】
また、ホスト装置２の主制御回路２１は、ホスト装置２とメモリ装置３との間の伝搬遅延量に基づいて遅延サイクル補正値を算出し、送信制御回路２２は、当該遅延サイクル補正値に基づいて、メモリ装置３からのデータ受信が開始されてからデータ受信が完了するまでのクロックＣ１のサイクル数（つまりデータ受信期間Ｐ３の終点）を補正する。このように、不定の伝搬遅延量から算出された遅延サイクル補正値に基づいて、通信プロトコルで規定された固定サイクル数を補正することにより、固定サイクル数を過不足なく確保でき、その結果、システムを正常に動作させることが可能となる。
【００３４】
また、主制御回路２１は、メモリ装置３へのコマンドＳ５の送信が完了してから、メモリ装置３からＲｅａｄｙ信号を受信するまでの送信カウンタ３２（第１のカウンタ）のカウント値Ｓ３と、メモリ装置３から最初のＢｕｓｙ信号を受信してから、メモリ装置３からＲｅａｄｙ信号を受信するまでの受信カウンタ４２（第２のカウンタ）のカウント値Ｓ８とに基づいて、遅延サイクル補正値を算出する。従って、配線遅延及びバッファ遅延に伴う不定の伝搬遅延量と、メモリアレイ５２からのデータＳ６の読み出しに伴う不定のＢｕｓｙサイクル数とに基づいて、遅延サイクル補正値を正確に算出できるため、データ受信期間Ｐ３の固定サイクル数を高精度に補正することが可能となる。
【００３５】
＜変形例＞
図３は、本実施の形態の変形例に係るメモリシステム１の構成を示す図である。図１に示した構成から受信カウンタ４２が省略されている。図４は、メモリシステム１の読み出し動作を示すタイミングチャートである。
【００３６】
アクセス生成回路３１は、コマンドＳ５の最終バイト（第８バイト）の送信が完了すると、送信カウンタ３２にカウント動作を開始させ、送信カウンタ３２は以後のクロックＣ１のサイクル数をカウントする。
【００３７】
主制御回路２１は、受信制御回路２３から先頭のＢｕｓｙ信号が入力されると、その時点でのカウント値Ｓ３を送信カウンタ３２から取得する。そして、カウント値Ｓ３で示されるサイクル数を遅延サイクル補正値として決定し、当該遅延サイクル補正値をアクセス情報としてアクセス生成回路３１に入力する。
【００３８】
アクセス生成回路３１は、通信プロトコルで規定されたデータ受信期間のサイクル数（この例では５１２サイクル）から、入力された遅延サイクル補正値に相当するサイクル数を減算することにより、データ受信期間Ｐ３のサイクル数を補正する。例えば、遅延サイクル補正値が「２サイクル」である場合には、データ受信期間Ｐ３の終点は、Ｒｅａｄｙ／Ｂｕｓｙ期間Ｐ２が終了してからクロックＣ１が５１０（＝５１２−２）サイクル進行した時点となる。
【００３９】
このように本変形例に係るメモリシステム１によれば、主制御回路２１は、メモリ装置３へのコマンドＳ５の送信が完了してから、メモリ装置３から最初のＢｕｓｙ信号を受信するまでの送信カウンタ３２のカウント値Ｓ３に基づいて、遅延サイクル補正値を決定する。従って、配線遅延及びバッファ遅延に伴う不定の伝搬遅延量に基づいて遅延サイクル補正値を簡易に決定することが可能となる。また、Ｒｅａｄｙ／Ｂｕｓｙ期間Ｐ２の完了を待つことなく早期に遅延サイクル補正値を決定できるため、遅延サイクル補正値が異常値である場合に早期にエラー処理を開始することが可能となる。さらに、受信カウンタ４２が不要になるとともに、送信カウンタ３２のカウント値を削減できるため、全体としてホスト装置２の回路規模を削減することが可能となる。
【符号の説明】
【００４０】
１  メモリシステム
２  ホスト装置
３  メモリ装置
２１  主制御回路
２２  送信制御回路
２３  受信制御回路
５１  制御回路
５２  メモリアレイ
【図１】
2017021608.tif 000003
【図２】
2017021608.tif 000004
【図３】
2017021608.tif 000005
【図４】
2017021608.tif 000006