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