(57)【要約】  第１のインターフェースの信号線の一部と、第２のインターフェースの信号線の一部とが信号線を共有しており、かつ双方のインターフェースに接続されたメモリを有するとき、前記第１のインターフェースの初期化に続き、前記第２インターフェース初期化と前記メモリ初期化とを並列に実行する。
2020066116.tif 000002
【特許請求の範囲】
【請求項１】
第１のインターフェースの信号線の一部と、第２のインターフェースの信号線の一部とが信号線を共有している通信装置であって、
前記通信装置は、前記第１のインターフェース、および前記第２のインターフェース双方に接続されたメモリを有し、
前記第１のインターフェースの初期化を行う第１インターフェース初期化手段と、
前記第２のインターフェースの初期化を行う第２インターフェース初期化手段と、
前記第１のインターフェースを介したメモリの初期化を行うメモリ初期化手段とがあるとき、
前記第１インターフェース初期化手段に続き、前記第２インターフェース初期化手段と前記メモリ初期化手段とを並列に実行することを特徴とする通信装置。
【請求項２】
第１のインターフェースの信号線の一部と、第２のインターフェースの信号線の一部とが信号線を共有している場合の通信装置であって、
前記第１のインターフェースを介して低速な通信を行う低速通信手段と、前記第２のインターフェースを介して高速な通信を行う高速通信手段とを有し、
前記低速通信手段が、前記高速通信手段を干渉せず、かつ前記高速通信手段が、前記低速通信手段を干渉しないことを特徴とする通信装置。
【請求項３】
前記低速通信手段により、温度に関する情報、または寿命に関する情報を取得することを特徴とする、請求項２に記載の通信装置。
【請求項４】
前記高速通信手段が休止状態であっても、前記低速通信手段は動作可能であることを特徴とする、請求項２に記載の通信装置。
【請求項５】
第１のインターフェースの信号線の一部と、第２のインターフェースの信号線の一部とが信号線を共有している場合の通信装置であって、
前記第２のインターフェースが非正常状態であることが検知されたとき、前記第１のインターフェースを介した通信により前記第２のインターフェースを正常状態に復帰させることを特徴とする通信装置。
【請求項６】
前記第１のインターフェースが、ＳＤ  インターフェースであることを特徴とする、請求項１、２、または５に記載の通信装置。
【請求項７】
前記第２のインターフェースが、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースであることを特徴とする、請求項１、２、または５に記載の通信装置。
【請求項８】
第１のインターフェースの信号線の一部と、第２のインターフェースの信号線の一部とが信号線を共有している場合の通信方法であって、
前記第１のインターフェース、および前記第２のインターフェース双方に接続されたメモリを有し、
前記第１のインターフェースの初期化を行う第１インターフェース初期化ステップと、
前記第２のインターフェースの初期化を行う第２インターフェース初期化ステップと、
前記第１のインターフェースを介したメモリの初期化を行うメモリ初期化ステップとがあるとき、
前記第１インターフェース初期化ステップに続き、前記第２インターフェース初期化ステップと前記メモリ初期化ステップとを並列に実行することを特徴とする通信方法。
【請求項９】
第１のインターフェースの信号線の一部と、第２のインターフェースの信号線の一部とが信号線を共有している場合の通信方法であって、
前記第１のインターフェースを介して低速な通信を行い、前記第２のインターフェースを介して高速な通信を行うとき、
前記第１のインターフェースを介した通信が、前記第２のインターフェースを介した通信を干渉せず、かつ前記第２のインターフェースを介した通信が、前記第１のインターフェースを介した通信を干渉しないことを特徴とする通信方法。
【請求項１０】
前記第１のインターフェースを介して、温度に関する情報、または寿命に関する情報を取得することを特徴とする、請求項９に記載の通信方法。
【請求項１１】
前記第２のインターフェースが休止状態であっても、前記第１のインターフェースを介した通信が実施可能であることを特徴とする、請求項９に記載の通信方法。
【請求項１２】
第１のインターフェースの信号線の一部と、第２のインターフェースの信号線の一部とが信号線を共有している場合の通信方法であって、
前記第２のインターフェースが非正常状態であることが検知されたとき、前記第１のインターフェースを介した通信により前記第２のインターフェースを正常状態に復帰させることを特徴とする通信方法。
【請求項１３】
前記第１のインターフェースが、ＳＤ  インターフェースであることを特徴とする、請求項８、９、または１２に記載の通信方法。
【請求項１４】
前記第２のインターフェースが、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースであることを特徴とする、請求項８、９、または１２に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、相互に接続が可能なホスト装置及びスレーブ装置間で通信を行う通信装置および通信方法に関する。
【背景技術】
【０００２】
近年、フラッシュメモリ等の大容量の不揮発性記憶素子を備え、高速でのデータ処理が可能な、小型、挿抜可能なカード形状のＳＤカード、メモリースティックといったスレーブ装置が市場に普及している。このようなスレーブ装置は、スレーブ装置を使用可能なホスト装置である、パーソナルコンピュータ、スマートフォン、デジタルカメラ、オーディオプレーヤ及びカーナビゲーションシステム等において利用されている。【０００３】
図１は、発売当初から存在する従来ＳＤカード１００の端子配置を示した図である。この従来ＳＤカード１００の１段目に、シングルエンド方式の低速インターフェース（以後Ｉ／Ｆと略記）であるＳＤ  Ｉ／Ｆの端子群が配置されている。具体的には、３．３Ｖ電源を供給するＶＤＤ１（端子＃４）、グランドに接続されるＶＳＳ１（端子＃３）とＶＳＳ２（端子＃６）、コマンドおよびレスポンス信号を通信するＣＭＤ（端子＃２）、ＳＤ  Ｉ／Ｆで使用するクロック信号を送信するＣＬＫ（端子＃５）、およびデータ信号を通信するＤＡＴ０、ＤＡＴ１、ＤＡＴ２、ＤＡＴ３（それぞれ端子＃７、＃８、＃９、＃１）である。【０００４】
昨今、ギガビットオーダーの高速Ｉ／Ｆとして差動シリアル方式を利用したＰＣＩ  Ｅｘｐｒｅｓｓ（以下ＰＣＩｅと略記）が注目されている。差動シリアル方式とは、ある信号Ｘについて、信号線Ｘ＋および信号線Ｘ−の２本の信号線の組により構成される伝送路を用いて信号を伝送する方式である。【０００５】
図２は、上記従来ＳＤカード１００にＰＣＩｅ  Ｉ／Ｆを追加したＳＤ−ＰＣＩｅカード２００の端子配置を示した図である。ＳＤ−ＰＣＩｅカード２００は、原則として１段目に低速のＳＤ  Ｉ／Ｆ用端子、２段目に高速のＰＣＩｅ  Ｉ／Ｆ用端子を割り当てる。以下、ＳＤ−ＰＣＩｅカード２００の端子割り当てについて、従来ＳＤカード１００と異なる部分について説明する。【０００６】
ＳＤ−ＰＣＩｅカード２００では、ＰＣＩｅ  Ｉ／Ｆ用端子として、１．８Ｖ電源を供給するＶＤＤ２（端子＃１４）、グランドに接続されるＶＳＳ３（端子＃１０）、ＶＳＳ４（端子＃１３）およびＶＳＳ５（端子＃１７）、ホスト装置からスレーブ装置の方向にデータ信号を伝送するＳｌａｖｅ  Ｒｘ＋、Ｓｌａｖｅ  Ｒｘ−（それぞれ端子＃１１、＃１２）、スレーブ装置からホスト装置の方向にデータ信号を伝送するＳｌａｖｅ  Ｔｘ＋、Ｓｌａｖｅ  Ｔｘ−（それぞれ端子＃１６、＃１５）が追加されている。そしてホスト装置からスレーブ装置の方向にＰＣＩｅ  Ｉ／Ｆ向けクロック信号を伝送するＲＥＦＣＬＫ＋、ＲＥＦＣＬＫ−が、それぞれ１段目の端子＃７、＃８に割り当てられている。すなわち、端子＃７はＳＤ  Ｉ／ＦのＤＡＴ０とＰＣＩｅ  Ｉ／ＦのＲＥＦＣＬＫ＋とが、端子＃８はＳＤ  Ｉ／ＦのＤＡＴ１とＰＣＩｅ  Ｉ／ＦのＲＥＦＣＬＫ−とがそれぞれ共用している。【０００７】
さらに、ＰＣＩｅ  Ｉ／Ｆでは、消費電力削減フェーズの開始、終了を通知するためのＣＬＫＲＥＱ＃信号、スレーブ装置に対しリセットをかけるＰＥＲＳＴ＃信号がある。前者は端子＃９に割り当て、ＳＤ  Ｉ／ＦのＤＡＴ２と共用する。また後者は端子＃１に割り当て、ＳＤ  Ｉ／ＦのＤＡＴ３と共用する。【０００８】
ＳＤカードのような小型カード形状のスレーブ装置においては、実装面積の観点で実装できる端子の数に制約が生じるため、上記のように低速なＳＤ  Ｉ／Ｆと高速なＰＣＩｅ  Ｉ／Ｆの信号線を共用することで、端子数の増加を抑止していた。【０００９】
図３はＳＤ  Ｉ／ＦとＰＣＩｅ  Ｉ／Ｆ双方のＩ／Ｆを取り扱うことが可能なＳＤ−ＰＣＩｅホスト装置３００と、同様にＳＤ  Ｉ／ＦとＰＣＩｅ  Ｉ／Ｆ双方のＩ／Ｆを取り扱うことが可能なＳＤ−ＰＣＩｅスレーブ装置３１０からなる従来のメモリシステムの実施の形態について説明した図である。ＳＤ−ＰＣＩｅホスト装置３００は、ホスト装置半導体チップ３０１、３．３Ｖ電源を供給する第一電源供給部３０２、１．８Ｖの電源を供給する第二電源供給部３０３からなる。またホスト装置半導体チップ３０１はホストＳＤ物理層３０４およびホストＰＣＩｅ物理層３０５からなる。【００１０】
一方ＳＤ−ＰＣＩｅスレーブ装置３１０は、スレーブ装置半導体チップ３１１、フラッシュメモリ３１２からなる。またスレーブ装置半導体チップ３１１はスレーブＳＤ物理層３１４およびスレーブＰＣＩｅ物理層３１５からなる。【００１１】
第一電源供給部３０２は、３．３Ｖ電源をＶＤＤ１ライン３２１ａを介してＳＤ−ＰＣＩｅスレーブ装置３１０に供給する。ＳＤ−ＰＣＩｅスレーブ装置３１０は供給を受けた３．３Ｖ電源をスレーブ装置半導体チップ３１１およびフラッシュメモリ３１２に供給する。【００１２】
また第二電源供給部３０３は、１．８Ｖ電源をＶＤＤ２ライン３２１ｂを介してＳＤ−ＰＣＩｅスレーブ装置３１０に供給する。ＳＤ−ＰＣＩｅスレーブ装置３１０は供給を受けた１．８Ｖ電源をスレーブ装置半導体チップ３１１に、特にスレーブＰＣＩｅ物理層３１５を中心に供給する。【００１３】
ホストＳＤ物理層３０４およびスレーブＳＤ物理層３１４に入出力端子を有するＳＤＣＬＫ信号は、ＳＤＣＬＫライン３２２ａを介して伝送される。同様にホストＳＤ物理層３０４およびスレーブＳＤ物理層３１４に入出力端子を有するＣＭＤ信号は、ＣＭＤライン３２２ｂを介して伝送される。【００１４】
ホストＰＣＩｅ物理層３０５およびスレーブＰＣＩｅ物理層３１５に入出力端子を有するＲＥＦＣＬＫ＋信号、およびホストＳＤ物理層３０４およびスレーブＳＤ物理層３１４に入出力端子を有するＤＡＴ０信号は、ホスト装置半導体チップ３０１、スレーブ装置半導体チップ３１１に実装されたスイッチによりいずれか１つの信号が選択され、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａを介して伝送される。同様にＲＥＦＣＬＫ−信号とＤＡＴ１信号、ＣＬＫＲＥＱ＃信号とＤＡＴ２信号、ＰＥＲＳＴ＃信号とＤＡＴ３信号が、各々スイッチによりいずれか１つの信号が選択され、それぞれＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂ、ＣＬＫＲＥＱ＃／ＤＡＴ２ライン３２３ｃ、ＰＥＲＳＴ＃／ＤＡＴ３ライン３２３ｄを介して伝送される。【００１５】
さらにホストＰＣＩｅ物理層３０５のＨｏｓｔ  Ｔｘ＋端子とスレーブＰＣＩｅ物理層３１５のＳｌａｖｅ  Ｒｘ＋端子、ホストＰＣＩｅ物理層３０５のＨｏｓｔ  Ｔｘ−端子とスレーブＰＣＩｅ物理層３１５のＳｌａｖｅ  Ｒｘ−端子は、それぞれ高速ダウンストリーム＋ライン３２４ａ、高速ダウンストリーム−ライン３２４ｂで接続されている。これらをまとめた高速ダウンストリームライン３２４は、ＳＤ−ＰＣＩｅホスト装置３００からＳＤ−ＰＣＩｅスレーブ装置３１０へＰＣＩｅ  Ｉ／Ｆのパケットを伝送するときに使用される。【００１６】
同様にホストＰＣＩｅ物理層３０５のＨｏｓｔ  Ｒｘ＋端子とスレーブＰＣＩｅ物理層３１５のＳｌａｖｅ  Ｔｘ＋端子、ホストＰＣＩｅ物理層３０５のＨｏｓｔ  Ｒｘ−端子とスレーブＰＣＩｅ物理層３１５のＳｌａｖｅ  Ｔｘ−端子は、それぞれ高速アップストリーム＋ライン３２５ａ、高速アップストリーム−ライン３２５ｂで接続されている。これらをまとめた高速アップストリームライン３２５は、ＳＤ−ＰＣＩｅスレーブ装置３１０からＳＤ−ＰＣＩｅホスト装置３００へＰＣＩｅ  Ｉ／Ｆのパケットを伝送するときに使用される。【００１７】
図４は、ＳＤ−ＰＣＩｅホスト装置３００によるＳＤ−ＰＣＩｅスレーブ装置３１０の従来の初期化処理の手順の一例を説明した図であり、図５は、図４におけるＣＭＤライン３２２ｂ上の通信の詳細を説明した図である。【００１８】
また図６、図７はそれぞれ、ＳＤ  Ｉ／Ｆモード、ＰＣＩｅ  Ｉ／ＦモードにおけるＳＤ−ＰＣＩｅホスト装置３００およびＳＤ−ＰＣＩｅスレーブ装置３１０の接続形態について説明したブロック図である。【００１９】
以下、図３から図７を用いて、ＳＤ−ＰＣＩｅホスト装置３００によるＳＤ−ＰＣＩｅスレーブ装置３１０の初期化手順の詳細について説明する。【００２０】
図４において、ＳＤ−ＰＣＩｅホスト装置３００は、ＶＤＤ１ライン３２１ａを介して３．３Ｖ電源を供給する（４０１）ことで、ＳＤ  Ｉ／Ｆ初期化ステージ４１１が開始され、ＳＤ−ＰＣＩｅホスト装置３００では以下の処理が実行される。ホスト装置半導体チップ３０１内のホストＳＤ物理層３０４は、ＳＤＣＬＫライン３２２ａを介してシングルエンド方式のＳＤＣＬＫをＳＤ−ＰＣＩｅスレーブ装置３１０に供給し（４０２）、図６に示すＳＤ  Ｉ／Ｆモードに切り換える。このときホスト装置半導体チップ３０１において、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａ、ＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂ、ＣＬＫＲＥＱ＃／ＤＡＴ２ライン３２３ｃ、ＰＥＲＳＴ＃／ＤＡＴ３ライン３２３ｄは、すべてホストＳＤ物理層３０４側の端子と接続される。【００２１】
ＳＤ−ＰＣＩｅスレーブ装置３１０はＳＤＣＬＫを受信したとき、図６に示すＳＤ  Ｉ／Ｆモードに切り換える。すなわちスレーブ装置半導体チップ３１１において、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａ、ＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂ、ＣＬＫＲＥＱ＃／ＤＡＴ２ライン３２３ｃ、ＰＥＲＳＴ＃／ＤＡＴ３ライン３２３ｄは、すべてスレーブＳＤ物理層３１４側の端子と接続される。【００２２】
続いてホスト装置半導体チップ３０１からＩ／Ｆ確認コマンド４０３ａがスレーブ装置半導体チップ３１１に送信される。これを受け、スレーブ装置半導体チップ３１１からＩ／Ｆ確認レスポンス４０３ｂがホスト装置半導体チップ３０１に送信される。【００２３】
図５は、上記Ｉ／Ｆ確認コマンド４０３ａおよびＩ／Ｆ確認レスポンス４０３ｂの詳細について説明した図である。【００２４】
ホスト装置半導体チップ３０１はＰＣＩｅをサポートしている（すなわちホストＰＣＩｅ物理層３０５を有している）ことから、Ｉ／Ｆ確認コマンド４０３ａ内のＰＣＩｅサポートフラグ５０１に１を設定し、ホストＳＤ物理層３０４、ＣＭＤライン３２２ｂを介してＳＤ−ＰＣＩｅスレーブ装置３１０に送信する。【００２５】
ＣＭＤライン３２２ｂを介してＳＤ−ＰＣＩｅスレーブ装置３１０が受信したＩ／Ｆ確認コマンド４０３ａは、現在ＳＤ  Ｉ／ＦモードであることからスレーブＳＤ物理層３１４を介してスレーブ装置半導体チップ３１１に供給される。スレーブ装置半導体チップ３１１はＰＣＩｅをサポートしている（すなわちスレーブＰＣＩｅ物理層３１５を有している）こと、ならびにＩ／Ｆ確認コマンド４０３ａ内のＰＣＩｅサポートフラグ５０１に「１」が設定されていることから、Ｉ／Ｆ確認レスポンス４０３ｂ内のＰＣＩｅサポートフラグ５０２に１を設定し、スレーブＳＤ物理層３１４、ＣＭＤライン３２２ｂを介してＳＤ−ＰＣＩｅホスト装置３００に送信する。【００２６】
ＣＭＤライン３２２ｂを介してＳＤ−ＰＣＩｅホスト装置３００が受信したＩ／Ｆ確認レスポンス４０３ｂは、現在ＳＤ  Ｉ／ＦモードであることからホストＳＤ物理層３０４を介してホスト装置半導体チップ３０１に供給される。【００２７】
ホスト装置半導体チップ３０１は、Ｉ／Ｆ確認レスポンス４０３ｂ内のＰＣＩｅサポートフラグ５０２に「１」が設定されていることから、ＳＤ−ＰＣＩｅスレーブ装置３１０がＰＣＩｅ  Ｉ／Ｆをサポートしていると判定し、これをもってＳＤ  Ｉ／Ｆ初期化ステージ４１１は終了し、ＰＣＩｅ  Ｉ／Ｆ初期化ステージ４１２へ移行する。【００２８】
このとき、以下の処理が実施される。【００２９】
ＳＤ  Ｉ／Ｆ初期化ステージ４１１を終了させるため、ホストＳＤ物理層３０４は、ＳＤＣＬＫライン３２２ａを介したＳＤＣＬＫの供給を停止する（４０４）。【００３０】
ＰＣＩｅ  Ｉ／Ｆ初期化ステージ４１２を開始するため、ＳＤ−ＰＣＩｅホスト装置３００内の第二電源供給部３０３は、ＶＤＤ２ライン３２１ｂを介して、１．８Ｖ電源を供給し（４０５）、図７に示すＰＣＩｅ  Ｉ／Ｆモードに切り換える。このときホスト装置半導体チップ３０１において、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａ、ＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂ、ＣＬＫＲＥＱ＃／ＤＡＴ２ライン３２３ｃ、ＰＥＲＳＴ＃／ＤＡＴ３ライン３２３ｄは、すべてホストＰＣＩｅ物理層３０５側の端子と接続される。【００３１】
またスレーブ装置半導体チップ３１１がＶＤＤ２ライン３２１ｂを介して１．８Ｖ電源の供給を受けたとき、図７に示すＰＣＩｅ  Ｉ／Ｆモードに切り換える。このときスレーブ装置半導体チップ３１１において、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａ、ＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂ、ＣＬＫＲＥＱ＃／ＤＡＴ２ライン３２３ｃ、ＰＥＲＳＴ＃／ＤＡＴ３ライン３２３ｄは、すべてスレーブＰＣＩｅ物理層３１５側の端子と接続される。【００３２】
１．８Ｖ電源供給（４０５）後、ホスト装置半導体チップ３０１はホストＰＣＩｅ物理層３０５にＰＣＩｅ  Ｉ／Ｆの基準信号となるＲＥＦＣＬＫの供給を指示する。このときホストＰＣＩｅ物理層３０５は、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａおよびＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂを介して、ＳＤ−ＰＣＩｅスレーブ装置３１０にＲＥＦＣＬＫを供給する（４０６）。【００３３】
続いてＰＣＩｅ  Ｉ／Ｆの初期化を行うため、ホスト装置半導体チップ３０１はホストＰＣＩｅ物理層３０５、高速ダウンストリームライン３２４を介して、ＰＣＩｅ初期化指示パケット４０７ａをＳＤ−ＰＣＩｅスレーブ装置３１０に送信する。ＰＣＩｅ初期化指示パケット４０７ａを受信したスレーブ装置半導体チップ３１１は、必要なＰＣＩｅ  Ｉ／Ｆ初期化処理を行い、その結果をＰＣＩｅ初期化応答パケット４０７ｂとして、高速アップストリームライン３２５を介してＳＤ−ＰＣＩｅホスト装置３００に送信する。【００３４】
実際のＰＣＩｅ  Ｉ／Ｆの初期化では上記一連のパケット送受信処理を何回か繰り返すが、ここでは詳細の説明を省略する。【００３５】
ＰＣＩｅ  Ｉ／Ｆ初期化完了後、ＰＣＩｅ  Ｉ／Ｆ初期化ステージ４１２からフラッシュメモリ初期化ステージ４１３に移行する。【００３６】
フラッシュメモリ初期化ステージ４１３では、ホスト装置半導体チップ３０１はホストＰＣＩｅ物理層３０５、高速ダウンストリームライン３２４を介して、フラッシュメモリ初期化指示パケット４０８ａをＳＤ−ＰＣＩｅスレーブ装置３１０に送信する。【００３７】
フラッシュメモリ初期化指示パケット４０８ａを受信したスレーブ装置半導体チップ３１１は、フラッシュメモリ３１２の起動、フラッシュメモリ３１２を制御するためのファームウェアの読み出し、およびフラッシュメモリ３１２に記録されているファイルデータと管理テーブルとの整合性を保つためのテーブル更新を実施する。上記一連のフラッシュメモリ初期化処理完了後、スレーブ装置半導体チップ３１１はフラッシュメモリ初期化応答パケット４０８ｂを、高速アップストリームライン３２５を介してＳＤ−ＰＣＩｅホスト装置３００に送信する。【００３８】
なお、ここで述べたフラッシュメモリ初期化手順は一例であり、他の手順でも実施可能である。【００３９】
ＳＤ−ＰＣＩｅホスト装置３００がフラッシュメモリ初期化応答パケット４０８ｂを受信することで、ＳＤ−ＰＣＩｅスレーブ装置３１０のすべての初期化が完了し、フラッシュメモリ初期化ステージ４１３からメモリアクセスステージ４１４に移行する。メモリアクセスステージでは、ＳＤ−ＰＣＩｅホスト装置３００はＳＤ−ＰＣＩｅスレーブ装置３１０内のフラッシュメモリ３１２に対して、ＰＣＩｅ  Ｉ／Ｆを介してデータの読み出しならびにデータの書き込みが可能になる。【００４０】
なお、本メモリシステムにおけるＳＤ−ＰＣＩｅホスト装置は、図３に記載した構成の他に、図８に記載した構成のものでも実現可能である。図８のＳＤ−ＰＣＩｅホスト装置８００のホスト装置半導体チップ８０１は、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａなどの切り換えスイッチを内部に持たない。このような場合には、ホスト装置半導体チップ８０１の外部のＳＤ−ＰＣＩｅホスト装置８００の基板上に、共用する信号線のスイッチ機能を有するスイッチ群８０２を実装すればよい。
【先行技術文献】
【特許文献】
【００４１】
【特許文献１】特開２００５‐０８８４９５号公報
【発明の概要】
【００４２】
図４に記載した従来の初期化手順においては、ＳＤ  Ｉ／Ｆ初期化ステージ４１１、ＰＣＩｅ  Ｉ／Ｆ初期化ステージ４１２、フラッシュメモリ初期化ステージ４１３を逐次実行した後、メモリに対する読み出し、書き込みが可能なメモリアクセスステージ４１４に移行する。
【００４３】
ところで、ＰＣＩｅ  Ｉ／Ｆ初期化ステージ４１２ならびにフラッシュメモリ初期化ステージ４１３は、通常１００から数１００ミリ秒オーダーの時間を要する。そのため、ＳＤ−ＰＣＩｅホスト装置３００上で動作する各種アプリケーションのプログラムをＳＤ−ＰＣＩｅスレーブ装置３１０のフラッシュメモリ３１２から読み出して、ＳＤ−ＰＣＩｅホスト装置３００上にロードして起動開始できるまでに、数秒オーダーの時間を要することがある。
【００４４】
特に昨今の車載機器は電子化が進み、ソフトウェアで動作するアプリケーションの比重が極めて高くなっているため、プログラムロードにこれまで以上に時間を要する。一方ですべてのアプリケーションが動作可能な状態になるまでの時間の短縮が要請されているため、初期化時間の短縮により上記を実現することが求められている。
【００４５】
また、ＰＣＩｅ  Ｉ／Ｆは高速なデータ読み書きが可能であるが、一方で消費電力が大きいため、ＲＥＦＣＬＫの供給を停止してＰＣＩｅ  Ｉ／Ｆ経由でのデータ送受信を行わない消費電力削減フェーズが存在する。このとき、ＳＤ−ＰＣＩｅホスト装置３００がＳＤ−ＰＣＩｅスレーブ装置３１０に対し、小さなサイズのデータの読み書きを行う場合でもＰＣＩｅ  Ｉ／Ｆを復帰させる必要があり、復帰に要する時間、消費電力の観点で好ましくない。
【００４６】
さらにＰＣＩｅ  Ｉ／Ｆに異常が発生した場合、ＳＤ−ＰＣＩｅホスト装置３００およびＳＤ−ＰＣＩｅスレーブ装置３１０全体の再初期化の実施する必要があり、甚だ効率が悪い。
【００４７】
以上の課題を鑑み、本発明ではＳＤ−ＰＣＩｅホスト装置およびＳＤ−ＰＣＩｅスレーブ装置からなるメモリシステムにおいて、初期化時間の短縮、ＰＣＩｅ  Ｉ／Ｆの復帰を必要としない通信、およびＰＣＩｅ  Ｉ／Ｆのみの再初期化を実現可能とする通信装置、および通信方法を提供する。
【００４８】
本開示は、第１のインターフェースの信号線の一部と、第２のインターフェースの信号線の一部とが信号線を共有し、かつ双方のインターフェースに接続されたメモリを有するとき、第１のインターフェースの初期化に続き、第２インターフェース初期化とメモリ初期化とを並列に実行することを特徴とする。
【００４９】
さらに、第１のインターフェースを介した低速な通信と、第２のインターフェースを介した高速な通信とが、互いに干渉しないことを特徴とする。
【００５０】
さらに、第２のインターフェースが非正常状態であることが検知されたとき、第１のインターフェースを介した通信により第２のインターフェースを正常状態に復帰させることを特徴とする。
【００５１】
また第１のインターフェースはＳＤ  Ｉ／Ｆであり、第２のインターフェースはＰＣＩｅ  Ｉ／Ｆであることを特徴とする。
【００５２】
本開示により、ＰＣＩｅ  Ｉ／ＦとＳＤ  Ｉ／Ｆの双方を備え、一部の信号線が共有されているホスト装置およびフラッシュメモリを含むスレーブ装置において、初期化時間の短縮の他、消費電力削減フェーズにおけるデータの読み書き、ＰＣＩｅ  Ｉ／Ｆにおける異常発生時の効率的な復帰を実現することができる。
【図面の簡単な説明】
【００５３】
【図１】図１は、従来ＳＤカードの端子配置について説明した図である。
【図２】図２は、ＳＤ−ＰＣＩｅカードの端子配置について説明した図である。
【図３】図３は、ＳＤ−ＰＣＩｅホスト装置とＳＤ−ＰＣＩｅスレーブ装置からなる従来のメモリシステムについて説明した図である。
【図４】図４は、従来のメモリシステムにおける初期化処理の手順について説明した図である。
【図５】図５は、ＳＤ  Ｉ／Ｆ初期化ステージの詳細な手順について説明した図である。
【図６】図６は、従来のメモリシステムにおけるＳＤ  Ｉ／ＦモードでのＳＤ−ＰＣＩｅホスト装置およびＳＤ−ＰＣＩｅスレーブ装置の接続形態について説明した図である。
【図７】図７は、従来のメモリシステムにおけるＰＣＩｅ  Ｉ／ＦモードでのＳＤ−ＰＣＩｅホスト装置およびＳＤ−ＰＣＩｅスレーブ装置の接続形態について説明した図である。
【図８】図８は、従来のメモリシステムにおけるＳＤ−ＰＣＩｅホスト装置の別の構成について説明した図である。
【図９】図９は、第１の実施の形態におけるＳＤ−ＰＣＩｅホスト装置とＳＤ−ＰＣＩｅスレーブ装置について説明した図である。
【図１０】図１０は、第１の実施の形態における初期化処理の手順について説明した図である。
【図１１】図１１は、第１の実施の形態におけるＳＤ  Ｉ／ＦモードでのＳＤ−ＰＣＩｅホスト装置およびＳＤ−ＰＣＩｅスレーブ装置の接続形態について説明した図である。
【図１２】図１２は、第１の実施の形態におけるＰＣＩｅ  Ｉ／ＦモードでのＳＤ−ＰＣＩｅホスト装置およびＳＤ−ＰＣＩｅスレーブ装置の接続形態について説明した図である。
【図１３】図１３は、第２の実施の形態におけるＳＤ−ＰＣＩｅホスト装置とＳＤ−ＰＣＩｅスレーブ装置について説明した図である。
【図１４】図１４は、第２の実施の形態におけるＳＤ−ＰＣＩｅホスト装置およびＳＤ−ＰＣＩｅスレーブ装置間の通信について説明した図である。
【図１５】図１５は、第２の実施の形態におけるレジスタアクセスコマンドおよびレジスタアクセスレスポンスの詳細に説明した図である。
【図１６】図１６は、第３の実施の形態におけるＳＤ−ＰＣＩｅホスト装置とＳＤ−ＰＣＩｅスレーブ装置について説明した図である。
【図１７】図１７は、第３の実施の形態におけるＳＤ−ＰＣＩｅホスト装置およびＳＤ−ＰＣＩｅスレーブ装置間の通信について説明した図である。
【図１８】図１８は、第３の実施の形態におけるレジスタアクセスコマンドおよびレジスタアクセスレスポンスの詳細に説明した図である。
【図１９】図１９は、第３の実施の形態におけるフラッシュメモリの領域分割の一例について説明した図である。
【図２０】図２０は、第４の実施の形態におけるＳＤ−ＰＣＩｅホスト装置とＳＤ−ＰＣＩｅスレーブ装置について説明した図である。
【図２１】図２１は、第４の実施の形態におけるＳＤ−ＰＣＩｅホスト装置およびＳＤ−ＰＣＩｅスレーブ装置間の通信について説明した図である。
【図２２】図２２は、第４の実施の形態におけるレジスタアクセスコマンドおよびレジスタアクセスレスポンスの詳細に説明した図である。
【発明を実施するための形態】
【００５４】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、同じ符号を付した構成要素については、それぞれの実施の形態において同一の機能を有するものとする。
【００５５】
なお、本開示は、当業者が理解するための添付図面及び以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
【００５６】
［第１の実施の形態］
図９は、本発明の第１の実施の形態にかかるメモリシステムの構成について説明した図である。図９は、ＳＤ−ＰＣＩｅホスト装置９００、ホスト装置半導体チップ９０１、ホストＳＤ物理層９０４、ホストＰＣＩｅ物理層９０５、ＳＤ−ＰＣＩｅスレーブ装置９１０、スレーブ装置半導体チップ９１１、スレーブＳＤ物理層９１４、スレーブＰＣＩｅ物理層９１５を示している。ＳＤ−ＰＣＩｅホスト装置９００およびＳＤ−ＰＣＩｅスレーブ装置９１０は、それぞれ従来の実施の形態におけるＳＤ−ＰＣＩｅホスト装置３００およびＳＤ−ＰＣＩｅスレーブ装置３１０と同じ構成を持ち、両者同士の接続形態も図３と同様であるが、それぞれの構成要素の動作が異なる。このことについては後述する。
【００５７】
図１０は、本発明の第１の実施の形態にかかるＳＤ−ＰＣＩｅホスト装置９００によるＳＤ−ＰＣＩｅスレーブ装置９１０の初期化処理の手順について説明した図である。
【００５８】
また図１１、図１２はそれぞれ、ＳＤ  Ｉ／Ｆモード、ＰＣＩｅ  Ｉ／ＦモードにおけるＳＤ−ＰＣＩｅホスト装置９００およびＳＤ−ＰＣＩｅスレーブ装置９１０の接続形態について説明したブロック図である。
【００５９】
以下図９から図１２を用いて、本発明の第１の実施の形態について、主として従来の実施の形態との相違点について説明する。
【００６０】
図１０において、従来の実施の形態と同様にＶＤＤ１ライン３２１ａを介した３．３Ｖ電源の供給（４０１）後、ＳＤ  Ｉ／Ｆ初期化ステージ１０１１が開始される。ＳＤ  Ｉ／Ｆ初期化ステージ１０１１では、従来の実施の形態と同様、図１１に示すＳＤ  Ｉ／Ｆモードにて、ＳＤＣＬＫライン３２２ａを介したＳＤＣＬＫの供給（４０２）、ホストＳＤ物理層９０４によるＣＭＤライン３２２ｂを介したＩ／Ｆ確認コマンド４０３ａの送信、およびスレーブＳＤ物理層９１４によるＩ／Ｆ確認レスポンス４０３ｂの送信が実施される。
【００６１】
ホスト装置半導体チップ９０１は、Ｉ／Ｆ確認レスポンス４０３ｂの受信によりＳＤ−ＰＣＩｅスレーブ装置９１０がＰＣＩｅ  Ｉ／Ｆをサポートしていると判定したとき、ＳＤＣＬＫの供給を停止せずにＳＤ  Ｉ／Ｆ初期化ステージ１０１１を終了し、ＰＣＩｅ  Ｉ／Ｆ初期化ステージ１０１２に移行する。
【００６２】
ＰＣＩｅ  Ｉ／Ｆ初期化ステージ１０１２では、図１２に示すＰＣＩｅモードにて、ＶＤＤ２ライン３２１ｂを介した１．８Ｖ電源の供給（４０５）、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａおよびＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂを介したＲＥＦＣＬＫの供給（４０６）、ホストＰＣＩｅ物理層９０５による高速ダウンストリームライン３２４を介したＰＣＩｅ初期化指示パケット４０７ａの送信、ならびにスレーブＰＣＩｅ物理層９１５によるＰＣＩｅ初期化応答パケット４０７ｂの送信が実行される。
【００６３】
一方本実施の形態においては、ＳＤ  Ｉ／Ｆ初期化ステージ１０１１終了後、フラッシュメモリ初期化ステージ１０１３に移行し、前述のＰＣＩｅ  Ｉ／Ｆ初期化ステージ１０１２と並列に実行される。
【００６４】
以下、フラッシュメモリ初期化ステージ１０１３における動作について説明する。
【００６５】
フラッシュメモリ初期化ステージ１０１３では、図１２に示すＰＣＩｅ  Ｉ／Ｆモードとなっている。しかしながら、ＳＤ  Ｉ／ＦのうちＳＤＣＬＫライン３２２ａおよびＣＭＤライン３２２ｂは、ＰＣＩｅ  Ｉ／Ｆの信号線とは共用されず独立となっている。言い換えると、ＰＣＩｅ  Ｉ／Ｆモードであっても、ＳＤＣＬＫライン３２２ａおよびＣＭＤライン３２２ｂを用いたＳＤ  Ｉ／Ｆの通信を実施することが可能になる。
【００６６】
本実施の形態では、フラッシュメモリ初期化ステージ１０１３において、ホストＳＤ物理層９０４は、ＳＤＣＬＫライン３２２ａを介したＳＤＣＬＫの供給を行い、ＣＭＤライン３２２ｂを介して、フラッシュメモリ初期化コマンド１００１ａを送信する。
【００６７】
スレーブＳＤ物理層９１４経由でフラッシュメモリ初期化コマンド１００１ａを受信したスレーブ装置半導体チップ９１１は、従来の実施の形態と同様、フラッシュメモリ３１２の起動、ファームウェアの読み出し、テーブル更新を実施する。上記一連のフラッシュメモリ初期化完了後、スレーブ装置半導体チップ９１１内のスレーブＳＤ物理層９１４はフラッシュメモリ初期化レスポンス１００１ｂを、ＣＭＤライン３２２ｂを介してＳＤ−ＰＣＩｅホスト装置９００に送信する。
【００６８】
ホスト装置半導体チップ９０１は、ＰＣＩｅ  Ｉ／Ｆ初期化ステージ１０１２およびフラッシュメモリ初期化ステージ１０１３双方とも終了したことを検知すると、メモリアクセスステージ１０１４に移行する。これにより、メモリに対する読み出し、書き込みが可能となる。
【００６９】
以上説明したように、本発明の第１の実施の形態では、ＰＣＩｅ  Ｉ／Ｆモードであっても利用可能であるＳＤＣＬＫライン３２２ａおよびＣＭＤライン３２２ｂラインを用い、ＰＣＩｅ  Ｉ／Ｆ初期化ステージ１０１２とフラッシュメモリ初期化ステージ１０１３とを並列に実行する。これにより、フラッシュメモリ３１２に対するデータの読み書き（ＳＤ−ＰＣＩｅホスト装置９００のアプリケーションプログラムのロード）を開始できるまでの時間を短縮することができる。
【００７０】
例えばＳＤ  Ｉ／Ｆ初期化ステージに１ミリ秒、ＰＣＩｅ  Ｉ／Ｆ初期化ステージに１５０ミリ秒、フラッシュメモリ初期化ステージに２００ミリ秒の時間を要すると仮定すると、図４に示す従来の実施の形態では、メモリアクセスステージに移行するまで、１＋１５０＋２００＝３５１ミリ秒を要する。一方、図１０に示す本発明の実施の形態では、ＰＣＩｅ  Ｉ／Ｆ初期化ステージおよびフラッシュメモリ初期化ステージを並列に実行することが可能であるため、１＋２００（ＰＣＩｅ  Ｉ／Ｆ初期化ステージおよびフラッシュメモリ初期化ステージのうち所要時間の長い方）＝２０１ミリ秒となり、大幅な時間短縮が実現できる。
【００７１】
なお、本実施の形態では、ＰＣＩｅ  Ｉ／Ｆ初期化ステージの所要時間よりフラッシュメモリ初期化ステージの所要時間の方が長いとしたが、逆の場合でも同様の効果が得られる。
【００７２】
［第２の実施の形態］
図１３は、本発明の第２の実施の形態にかかるメモリシステムの構成について説明した図である。図１３は、ＳＤ−ＰＣＩｅホスト装置１３００、ホスト装置半導体チップ１３０１、ホストＳＤ物理層１３０４、ＳＤ−ＰＣＩｅスレーブ装置１３１０、スレーブ装置半導体チップ１３１１、スレーブＳＤ物理層１３１４を示している。ＳＤ−ＰＣＩｅスレーブ装置１３１０は、温度センサー１３１６を有する。またスレーブＳＤ物理層１３１４はレジスタ１３１７を有する。レジスタ１３１７は、少なくとも温度センサー１３１６により検出されたＳＤ−ＰＣＩｅスレーブ装置１３１０の温度情報を定期的に取得し、所定の領域に保持する。
【００７３】
ＳＤ−ＰＣＩｅホスト装置１３００およびＳＤ−ＰＣＩｅスレーブ装置１３１０の接続形態は図３と同様である。
【００７４】
図１４は、本発明の第２の実施の形態にかかるＳＤ−ＰＣＩｅホスト装置１３００およびＳＤ−ＰＣＩｅスレーブ装置１３１０間の通信について説明した図であり、図１５は、図１４におけるＣＭＤライン３２２ｂ上の通信の詳細を説明した図である。
【００７５】
以下図１３から図１５を用いて、本発明の第２の実施の形態について説明する。
【００７６】
本実施の形態においては、第１の実施の形態で説明した手順に基づいた初期化が完了しているものとする。すなわち、ＳＤ−ＰＣＩｅホスト装置１３００、ＳＤ−ＰＣＩｅスレーブ装置１３１０はいずれも図１２と同様ＰＣＩｅ  Ｉ／Ｆモードになっており、両者の初期化は完了してメモリアクセスステージ１０１４に移行している。
【００７７】
メモリアクセスステージ１０１４において、ＳＤ−ＰＣＩｅホスト装置１３００は、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａおよびＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂを介してＲＥＦＣＬＫ信号１４０１をＳＤ−ＰＣＩｅスレーブ装置１３１０に供給する。そして、ＳＤ−ＰＣＩｅホスト装置１３００は高速ダウンストリームライン３２４を用いて、ＳＤ−ＰＣＩｅスレーブ装置１３１０に、またＳＤ−ＰＣＩｅスレーブ装置１３１０は高速アップストリームライン３２５を用いてＳＤ−ＰＣＩｅホスト装置１３００にＰＣＩｅ  Ｉ／Ｆの各種パケットを送信する。
【００７８】
ＰＣＩｅ  Ｉ／Ｆ上の主な送受信パターンとして、以下のものがある。
（１）ＳＤ−ＰＣＩｅホスト装置１３００からの制御指示パケット１４０２ａ送信に対し、ＳＤ−ＰＣＩｅスレーブ装置１３１０からの制御指示応答パケット１４０２ｂの送信
（２）ＳＤ−ＰＣＩｅホスト装置１３００からの読み出し指示パケット１４０３ａ送信に対し、ＳＤ−ＰＣＩｅスレーブ装置１３１０からの読み出しデータパケット１４０３ｂの送信
（３）ＳＤ−ＰＣＩｅホスト装置１３００からの書き込み指示および書き込みデータパケット１４０４の送信
ＳＤ−ＰＣＩｅホスト装置１３００がＳＤ−ＰＣＩｅスレーブ装置１３１０の温度情報を取得したいとき、ホスト装置半導体チップ１３０１内のホストＳＤ物理層１３０４は、ＰＣＩ  Ｉ／Ｆを介したパケット送受信の有無によらず、ＣＭＤライン３２２ｂを介してレジスタアクセスコマンド１４０５ａをＳＤ−ＰＣＩｅスレーブ装置１３１０に送信する。レジスタアクセスコマンド１４０５ａには、図１５（ａ）のように少なくとも１ビット長のＲｅａｄ／Ｗｒｉｔｅフラグ１５０１、１７ビット長のレジスタアドレス領域１５０２、８ビット長のコマンド内データ領域１５０３を含む。
【００７９】
本実施の形態においては、レジスタ１３１７に保持されている温度情報の読み出しを行うので、図１５（ａ）に示すように、Ｒｅａｄ／Ｗｒｉｔｅフラグ１５０１にはＲｅａｄを意味する「１」を、レジスタアドレス領域１５０２には、温度情報が格納されているレジスタの開始アドレス「Ａ」を設定する。また本実施の形態においては、レジスタへのデータ書き込みは行わないので、コマンド内データ領域１５０３には特に設定を行わない（設定された値はＤｏｎ’ｔ  ｃａｒｅとみなされる）。
【００８０】
レジスタアクセスコマンド１４０５ａを受信したスレーブＳＤ物理層１３１４は、レジスタアドレス領域１５０２に示されるアドレス「Ａ」を先頭アドレスとする最大８ビット長の温度情報「Ｘ」を読み出し、レジスタアクセスレスポンス１４０５ｂ内の８ビット長のレスポンス内データ領域１５０４に格納し、ＣＭＤライン３２２ｂを介してＳＤ−ＰＣＩｅホスト装置１３００に送信する。
【００８１】
レジスタアクセスレスポンス１４０５ｂを受信したホストＳＤ物理層１３０４は、レスポンス内データ領域１５０４に格納されている８ビット長の温度情報「Ｘ」を読み出す。
【００８２】
以上説明したように、本実施の形態によれば、ＰＣＩｅ  Ｉ／Ｆと独立したＳＤ  Ｉ／Ｆのレジスタアクセスコマンド１４０５ａおよびレジスタアクセスレスポンス１４０５ｂを利用することで、ＰＣＩｅ  Ｉ／Ｆとは独立に温度情報を取得することができる。これにより、ＳＤ  Ｉ／Ｆを介した温度情報取得動作は、ＰＣＩｅ  Ｉ／Ｆを介したデータの読み書きによる影響を受けることはなく、逆にＳＤ  Ｉ／Ｆを介した温度情報取得動作が、ＰＣＩｅ  Ｉ／Ｆを介したデータ読み書きの性能に影響を及ぼすこともない。
【００８３】
本実施の形態においては、１回のレジスタアクセスコマンド１４０５ａ発行で取得できるデータサイズは８ビットと非常に小さいが、温度情報を表現するのに必要なビット数はそれほど大きなものではなく、かつ温度情報は頻繁に更新されることはないので、本実施の形態は十分有効である。
【００８４】
なお、８ビットを超えるデータ（ここでは便宜的に長ビットデータと記す）をレジスタから取得する場合においても、本実施の形態では例えば以下のような方法で取得可能である。
【００８５】
所定の長ビットデータＸを下位ビット側から８ビットずつＸ［０］、Ｘ［１］、…、Ｘ［ｋ−１］とｋ個の要素に分割し、これらを図１５（ｂ）に示すようにそれぞれ異なるアドレス（Ａ［０］、Ａ［１］、…Ａ［ｋ−１］）を持つレジスタアドレス領域１５０２から取得するものとする。ＳＤ−ＰＣＩｅホスト装置１３００は、図１５（ｃ）のようにレジスタアドレス領域１５０２をＡ［０］からＡ［ｋ−１］まで変更したレジスタアクセスコマンド１４０５ａを順次発行し、Ｘ［０］からＸ［ｋ−１］までの値を取得する。その後、ＳＤ−ＰＣＩｅホスト装置１３００は、取得したＸ［０］からＸ［ｋ−１］までの値を順に結合、すなわちＸ＝Ｘ［ｋ−１］｜…｜Ｘ［１］｜Ｘ［０］（ここに｜はビット列の結合を示す）なる演算式から、長ビットデータＸを構築する。
【００８６】
なお、本実施の形態におけるレジスタアドレス領域１５０２、コマンド内データ領域１５０３、レスポンス内データ領域１５０４のビット長は一例であり、特に定まったものではない。
【００８７】
また、本実施の形態においては、温度情報の取得の場合について説明したが、ＳＤ−ＰＣＩｅスレーブ装置１３１０にかかる他の情報、例えばフラッシュメモリ３１２の書き込みブロック毎の書き換え回数の情報を取得することも可能である。この場合、書き換え回数の情報からフラッシュメモリのおおまかな余命を見積もることで、ＳＤ−ＰＣＩｅホスト装置１３００はユーザーにＳＤ−ＰＣＩｅスレーブ装置１３１０の交換を促すことが可能である。
【００８８】
［第３の実施の形態］
図１６は、本発明の第３の実施の形態にかかるメモリシステムの構成について説明した図である。図１６は、ＳＤ−ＰＣＩｅホスト装置１６００、ホスト装置半導体チップ１６０１、ホストＳＤ物理層１６０４、ＳＤ−ＰＣＩｅスレーブ装置１６１０、スレーブ装置半導体チップ１６１１、スレーブＳＤ物理層１６１４を示している。スレーブＳＤ物理層１６１４はレジスタ１６１７を有する。レジスタ１６１７は、所定の書き込みアドレスを指定することで、フラッシュメモリ３１２に順次データを書き込む機能を有している。
【００８９】
ＳＤ−ＰＣＩｅホスト装置１６００およびＳＤ−ＰＣＩｅスレーブ装置１６１０の接続形態は図３と同様である。
【００９０】
図１７は、本発明の第３の実施の形態にかかるＳＤ−ＰＣＩｅホスト装置１６００およびＳＤ−ＰＣＩｅスレーブ装置１６１０間の通信について説明した図であり、図１８は、図１７におけるＣＭＤライン３２２ｂ上の通信の詳細を説明した図である。
【００９１】
以下図１６から図１８を用いて、本発明の第３の実施の形態について説明する。
【００９２】
本実施の形態においても、第１の実施の形態で説明した手順に基づいた初期化が完了しているものとする。さらに、消費電力削減を目的として、所定の手続きによりＲＥＦＣＬＫの供給を行わないメモリアクセス休止ステージ１７１１に移行しているとする。
【００９３】
このとき、ＳＤ−ＰＣＩｅホスト装置１６００、ＳＤ−ＰＣＩｅスレーブ装置１６１０はいずれも図１２と同様ＰＣＩｅ  Ｉ／Ｆモードになっているが、メモリアクセス休止ステージ１７１１であるため、ＳＤ−ＰＣＩｅホスト装置１６００はＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａおよびＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂを介したＲＥＦＣＬＫの供給を停止している。このとき、ＳＤ−ＰＣＩｅホスト装置１６００、およびＳＤ−ＰＣＩｅスレーブ装置１６１０は、それぞれ高速ダウンストリームライン３２４、および高速アップストリームライン３２５を介して、制御パケットならびにデータパケットを送信することができない。
【００９４】
このように、消費電力削減を目的として、ＰＣＩ  Ｉ／Ｆが利用できない場合においても、本実施の形態によれば、ＳＤ−ＰＣＩｅホスト装置１６００はＳＤ−ＰＣＩｅスレーブ装置１６１０内のフラッシュメモリ３１２に所定のデータを書き込むことが可能である。
【００９５】
具体的には、図１７のように、ホスト装置半導体チップ１６０１内のホストＳＤ物理層１６０４は、ＰＣＩｅ  Ｉ／Ｆとは独立なＣＭＤライン３２２ｂを介してレジスタアクセスコマンド１７０１ａをＳＤ−ＰＣＩｅスレーブ装置１６１０に送信する。レジスタアクセスコマンド１７０１ａには、図１８のように少なくとも１ビット長のＲｅａｄ／Ｗｒｉｔｅフラグ１８０１、１７ビット長のレジスタアドレス領域１８０２、８ビット長のコマンド内データ領域１８０３を含む。
【００９６】
本実施の形態においては、所定のデータをレジスタ１６１７を介してフラッシュメモリ３１２に書き込みを行うので、Ｒｅａｄ／Ｗｒｉｔｅフラグ１８０１にはＷｒｉｔｅを意味する「０」を、レジスタアドレス領域１８０２には、フラッシュメモリ３１２に書き込むための所定のアドレス「Ａ」を設定する。さらにコマンド内データ領域１８０３にはフラッシュメモリ３１２に書き込む値を設定する。
【００９７】
レジスタアクセスコマンド１７０１ａを受信したスレーブＳＤ物理層１６１４は、レジスタアドレス領域１８０２「Ａ」に示されるアドレスが、フラッシュメモリ３１２への書き込みを示す所定のアドレスであることを検知したとき、コマンド内データ領域１８０３に格納されている８ビット長のデータをフラッシュメモリ３１２に書き込む。
【００９８】
その後、スレーブ装置半導体チップ１６１１は、レジスタアクセスレスポンス１７０１ｂをＣＭＤライン３２２ｂを介してＳＤ−ＰＣＩｅホスト装置１６００に送信する。このとき、レジスタアクセスレスポンス１７０１ｂ内のレスポンス内データ領域１８０４には、特に設定を行わない（設定された値はＤｏｎ’ｔ  ｃａｒｅとみなされる）。
【００９９】
以上説明したように、本実施の形態によれば、ＰＣＩｅ  Ｉ／Ｆと独立したＳＤ  Ｉ／Ｆのレジスタアクセスコマンド１７０１ａおよびレジスタアクセスレスポンス１７０１ｂを利用することで、消費電力削減を目的としたメモリアクセス休止ステージ１７１１への移行状態であっても、フラッシュメモリ３１２にデータを書き込むことができる。
【０１００】
本実施の形態においては、１回のレジスタアクセスコマンド１７０１ａ発行で書き込むことができるデータサイズは８ビットと非常に小さいが、ログデータなど単位時間あたりに書き込むべき情報量が小さい場合には、本実施の形態で説明したＳＤ  Ｉ／Ｆを介したデータ書き込みは十分有効である。また書き込むデータが８ビットを超える長ビットデータの場合であっても、第１の実施の形態と同様長ビットデータを８ビット単位で分割し、それぞれにレジスタアドレス領域を定義することで実現可能である。
【０１０１】
また、本実施の形態においては、フラッシュメモリ３１２への書き込みの場合について説明したが、レジスタアドレス領域１８０２に適切なアドレスを設定することでレジスタ１６１７の所定の設定値を変更することも可能である。さらに第２の実施の形態と同様に、Ｒｅａｄ／Ｗｒｉｔｅフラグ１８０１にＲｅａｄを意味する「１」を設定し、レジスタアドレス領域１８０２に適切なアドレスを設定することで、フラッシュメモリ３１２からのデータの読み出し、もしくはレジスタ１６１７の所定の領域のレジスタ値の読み出しを実行することも可能である。
【０１０２】
さらに、本実施の形態におけるＳＤ−ＰＣＩｅスレーブ装置１６１０において、ＰＣＩｅ  Ｉ／Ｆを介したデータ書き込み、またはＳＤ  Ｉ／ＦモードにおけるＳＤ  Ｉ／Ｆを介したデータ書き込みでは、比較的大きな書き込み単位でフラッシュメモリ３１２にデータが書き込まれる。これに対し、本実施の形態のようにＰＣＩｅモードにおけるＳＤ  Ｉ／Ｆ（ＳＤＣＬＫライン３２２ａおよびＣＭＤライン３２２ｂのみ使用）を介したデータ書き込みでは、比較的小さな書き込み単位でフラッシュメモリ３１２にデータが書き込まれる。
【０１０３】
このとき、図１９に示すように、フラッシュメモリ３１２を大きな書き込み単位に適した大ブロックサイズ領域１９０１と、小さな書き込み単位に適した小ブロックサイズ領域１９０２とに分割する。そして、ＰＣＩｅ  Ｉ／Ｆを介したデータ書き込み、またはＳＤ  Ｉ／ＦモードにおけるＳＤ  Ｉ／Ｆを介したデータ書き込みでは大ブロックサイズ領域１９０１にデータを書き込み、ＰＣＩｅモードにおけるＳＤ  Ｉ／Ｆを介したデータ書き込みでは小ブロックサイズ領域１９０２にデータを書き込む。これにより、フラッシュメモリ３１２への効率のよい書き込みが実現可能となり、フラッシュメモリ３１２の長寿命化につなげることができる。
【０１０４】
［第４の実施の形態］
図２０は、本発明の第４の実施の形態にかかるメモリシステムの構成について説明した図である。図２０は、ＳＤ−ＰＣＩｅホスト装置２０００、ホスト装置半導体チップ２００１、ホストＳＤ物理層２００４、ホストＰＣＩｅ物理層２００５、ＳＤ−ＰＣＩｅスレーブ装置２０１０、スレーブ装置半導体チップ２０１１、スレーブＳＤ物理層２０１４、スレーブＰＣＩｅ物理層２０１５を示している。ホストＰＣＩｅ物理層２００５はＲｘ検知回路２００７およびリセット回路２００８を含む。スレーブＳＤ物理層２０１４はレジスタ２０１７を含む。スレーブＰＣＩｅ物理層２０１５はリセット回路２０１８を含む。レジスタ２０１７は、所定のアドレス領域に「１」を書き込むことで、スレーブＰＣＩｅ物理層２０１５内のリセット回路２０１８をイネーブルにする。
【０１０５】
ＳＤ−ＰＣＩｅホスト装置２０００およびＳＤ−ＰＣＩｅスレーブ装置２０１０の接続形態は図３と同様である。
【０１０６】
図２１は、本発明の第４の実施の形態にかかるＳＤ−ＰＣＩｅホスト装置２０００およびＳＤ−ＰＣＩｅスレーブ装置２０１０間の通信について説明した図であり、図２２は、図２１におけるＣＭＤライン３２２ｂ上の通信の詳細を説明した図である。
【０１０７】
以下図２０から図２２を用いて、本発明の第４の実施の形態について説明する。
【０１０８】
本実施の形態においては、第２の実施の形態と同様、ＳＤ−ＰＣＩｅホスト装置２０００、ＳＤ−ＰＣＩｅスレーブ装置２０１０はいずれも図１２と同様ＰＣＩｅ  Ｉ／Ｆモードになっており、かつ両者の初期化が完了してメモリアクセスステージ１０１４に移行している。またＳＤ−ＰＣＩｅホスト装置２０００は、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａおよびＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂを介してＲＥＦＣＬＫ信号１４０１をＳＤ−ＰＣＩｅスレーブ装置２０１０に供給している。
【０１０９】
本実施の形態において、ＰＣＩｅ  Ｉ／Ｆに何らかの異常が発生しているとき、ＰＣＩｅＳＤ−ＰＣＩｅホスト装置２０００が高速ダウンストリームライン３２４を用いてＳＤ−ＰＣＩｅスレーブ装置２０１０に制御指示パケット２１０１ａを送信しても、期待される制御指示応答パケット２１０１ｂを受信できない。このようにホストＰＣＩｅ物理層２００５内のＲｘ検知回路２００７が、本来受信すべきパケットが受信できなかったとき、ホスト装置半導体チップ２００１は、以下に説明するようにＰＣＩｅ  Ｉ／Ｆのリセットを試みる。
【０１１０】
Ｒｘ検知回路２００７はホストＳＤ物理層２００４に、スレーブ装置半導体チップ２０１１をリセットするために、ホストＳＤ物理層２００４にＰＣＩｅ  Ｉ／Ｆとは独立なＣＭＤライン３２２ｂを介してレジスタアクセスコマンド２１０２ａを、ＳＤ−ＰＣＩｅスレーブ装置２０１０に対して送信するように指示する。レジスタアクセスコマンド２１０２ａには、図２２のように少なくとも１ビット長のＲｅａｄ／Ｗｒｉｔｅフラグ２２０１、１７ビット長のレジスタアドレス領域２２０２、８ビット長のコマンド内データ領域２２０３を含む。
【０１１１】
本実施の形態においては、スレーブＳＤ物理層２０１４内のレジスタ２０１７の所定のアドレスに「１」を設定するので、Ｒｅａｄ／Ｗｒｉｔｅフラグ２２０１にはＷｒｉｔｅを意味する「０」を、レジスタアドレス領域２２０２には、リセット指示に対応する所定のアドレス「Ａ」を設定する。さらにコマンド内データ領域２２０３には「１」を設定する。
【０１１２】
レジスタアクセスコマンド２１０２ａを受信したスレーブＳＤ物理層２０１４は、レジスタアドレス領域２２０２に示されるアドレス「Ａ」がリセット指示に対応していること、さらにコマンド内データ領域２２０３には「１」が設定されていることから、スレーブＰＣＩｅ物理層２０１５内のリセット回路２０１８にリセット指示を通知する。レジスタ２０１７からのリセット指示を受けたリセット回路２０１８は、スレーブＰＣＩｅ物理層２０１５をリセットする。
【０１１３】
その後、スレーブ装置半導体チップ２０１１は、レジスタアクセスレスポンス２１０２ｂをＣＭＤライン３２２ｂを介してＳＤ−ＰＣＩｅホスト装置２０００に送信する。このとき、レジスタアクセスレスポンス２１０２ｂ内のレスポンス内データ領域２２０４には、特に設定を行わない（設定された値はＤｏｎ’ｔ  ｃａｒｅとみなされる）。これをもってＳＤ−ＰＣＩｅスレーブ装置２０１０はメモリアクセスステージ１０１４を終了する。
【０１１４】
さらにホストＰＣＩｅ物理層２００５内のＲｘ検知回路２００７は、同じくホストＰＣＩｅ物理層２００５内のリセット回路２００８にリセット指示を通知する。Ｒｘ検知回路２００７からのリセット指示を受けたリセット回路２００８は、以下の通りホストＰＣＩｅ物理層２００５をリセットする。
【０１１５】
ホストＰＣＩｅ物理層２００５は、ＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａおよびＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂを介したＲＥＦＣＬＫ信号１４０１の供給を停止する（２１０３）。をＳＤ−ＰＣＩｅスレーブ装置２０１０に供給している。続いて第二電源供給部３０３に対し、ＶＤＤ２ライン３２１ｂを介した１．８Ｖ電源の供給の停止を指示する（２１０４）。これをもってＳＤ−ＰＣＩｅホスト装置２０００はメモリアクセスステージ１０１４を終了する。
【０１１６】
所定時間の経過後、ホストＰＣＩｅ物理層２００５は第二電源供給部３０３に対し、ＶＤＤ２ライン３２１ｂを介した１．８Ｖ電源の供給再開を指示する（２１０５）。これによりＰＣＩｅ  Ｉ／Ｆ初期化ステージ２１１２に移行する。
【０１１７】
続いてＲＥＦＣＬＫ＋／ＤＡＴ０ライン３２３ａおよびＲＥＦＣＬＫ−／ＤＡＴ１ライン３２３ｂを介して、ＲＥＦＣＬＫ信号１４０１の供給を再開する（２１０６）。
【０１１８】
その後第１の実施の形態と同様、ホスト装置半導体チップ２００１は、ＳＤ−ＰＣＩｅスレーブ装置２０１０に対してＰＣＩｅ初期化指示パケット２１０７ａを送信し、スレーブ装置半導体チップ２０１１はＳＤ−ＰＣＩｅホスト装置２０００に対してＰＣＩｅ初期化応答パケット２１０７ｂを送信する。ＰＣＩｅバスの初期化が終了することで、ＰＣＩｅ  Ｉ／Ｆ初期化ステージ２１１２からメモリアクセスステージ２１１３に移行する。
【０１１９】
以上説明したように、本実施の形態によれば、ＰＣＩｅ  Ｉ／Ｆと独立したＳＤ  Ｉ／Ｆにより、異常状態に陥ったＰＣＩｅ  Ｉ／Ｆのリセットを行うことが可能である。もしＳＤ  Ｉ／Ｆが利用可能でなければ、ＳＤ−ＰＣＩｅホスト装置２０００およびＳＤ−ＰＣＩｅスレーブ装置２０１０全体のリセットが必要となる。この場合フラッシュメモリ３１２の初期化も必要となり、正常に回復するまでの時間がさらに長くなる。
【０１２０】
なお、ＰＣＩｅ  Ｉ／ＦをリセットするためのＰＥＲＳＴ＃信号をＰＥＲＳＴ＃／ＤＡＴ３ライン３２３ｄを介して送受信することも可能であるが、ホストＰＣＩｅ物理層２００５もしくはスレーブＰＣＩｅ物理層２０１５が異常状態に陥っている場合は、ＰＥＲＳＴ＃信号が正しく送受信できる保証がないため、本実施の形態の利用が好ましい。
【０１２１】
なお本実施の形態では、レジスタ２０１７の所定のアドレスに「１」を書き込むことでリセット回路２０１８を作用させ、スレーブＰＣＩｅ物理層２０１５をリセットする例について説明したが、他にもレジスタ２０１７の所定のアドレスに「１」を書き込むことでスレーブ装置半導体チップ２０１１の動作モードを変更するなど、何らかの設定を変更する場合にも利用できる。
【０１２２】
また、本実施の形態２から４において、ＳＤ  Ｉ／Ｆ上でのデータ送受信はＰＣＩｅ  Ｉ／Ｆ上のデータ送受信に依存しないため、双方のＩ／Ｆを独立に設計することが可能である。
【産業上の利用可能性】
【０１２３】
本開示は、低速Ｉ／Ｆと高速Ｉ／Ｆとを併せ持つ、ＳＤメモリカードをはじめとするスレーブ装置と対応ホスト装置、及び前記ホスト装置及びスレーブ装置からなるメモリシステムに適用することができる。
【符号の説明】
【０１２４】
１００  従来ＳＤカード
２００  ＳＤ−ＰＣＩｅカード
３００  ＳＤ−ＰＣＩｅホスト装置
３０１  ホスト装置半導体チップ
３０２  第一電源供給部
３０３  第二電源供給部
３０４  ホストＳＤ物理層
３０５  ホストＰＣＩｅ物理層
３１０  ＳＤ−ＰＣＩｅスレーブ装置
３１１  スレーブ装置半導体チップ
３１２  フラッシュメモリ
３１４  スレーブＳＤ物理層
３１５  スレーブＰＣＩｅ物理層
３２１ａ  ＶＤＤ１ライン
３２１ｂ  ＶＤＤ２ライン
３２２ａ  ＳＤＣＬＫライン
３２２ｂ  ＣＭＤライン
３２３ａ  ＲＥＦＣＬＫ＋／ＤＡＴ０ライン
３２３ｂ  ＲＥＦＣＬＫ−／ＤＡＴ１ライン
３２３ｃ  ＣＬＫＲＥＱ＃／ＤＡＴ２ライン
３２３ｄ  ＰＥＲＳＴ＃／ＤＡＴ３ライン
３２４  高速ダウンストリームライン
３２４ａ  高速ダウンストリーム＋ライン
３２４ｂ  高速ダウンストリーム−ライン
３２５  高速アップストリームライン
３２５ａ  高速アップストリーム＋ライン
３２５ｂ  高速アップストリーム−ライン
４０３ａ  Ｉ／Ｆ確認コマンド
４０３ｂ  Ｉ／Ｆ確認レスポンス
４０７ａ  ＰＣＩｅ初期化指示パケット
４０７ｂ  ＰＣＩｅ初期化応答パケット
４０８ａ  フラッシュメモリ初期化指示パケット
４０８ｂ  フラッシュメモリ初期化応答パケット
４１１  ＳＤ  Ｉ／Ｆ初期化ステージ
４１２  ＰＣＩｅ  Ｉ／Ｆ初期化ステージ
４１３  フラッシュメモリ初期化ステージ
４１４  メモリアクセスステージ
５０１  ＰＣＩｅサポートフラグ
５０２  ＰＣＩｅサポートフラグ
８００  ＳＤ−ＰＣＩｅホスト装置
８０１  ホスト装置半導体チップ
８０２  スイッチ群
９００  ＳＤ−ＰＣＩｅホスト装置
９０１  ホスト装置半導体チップ
９０４  ホストＳＤ物理層
９０５  ホストＰＣＩｅ物理層
９１０  ＳＤ−ＰＣＩｅスレーブ装置
９１１  スレーブ装置半導体チップ
９１４  スレーブＳＤ物理層
９１５  スレーブＰＣＩｅ物理層
１００１ａ  フラッシュメモリ初期化コマンド
１００１ｂ  フラッシュメモリ初期化レスポンス
１０１１  ＳＤ  Ｉ／Ｆ初期化ステージ
１０１２  ＰＣＩｅ  Ｉ／Ｆ初期化ステージ
１０１３  フラッシュメモリ初期化ステージ
１０１４  メモリアクセスステージ
１３００  ＳＤ−ＰＣＩｅホスト装置
１３０１  ホスト装置半導体チップ
１３０４  ホストＳＤ物理層
１３１０  ＳＤ−ＰＣＩｅスレーブ装置
１３１１  スレーブ装置半導体チップ
１３１４  スレーブＳＤ物理層
１３１６  温度センサー
１３１７  レジスタ
１４０２ａ  制御指示パケット
１４０２ｂ  制御指示応答パケット
１４０３ａ  読み出し指示パケット
１４０３ｂ  読み出しデータパケット
１４０４  書き込み指示および書き込みデータパケット
１４０５ａ  レジスタアクセスコマンド
１４０５ｂ  レジスタアクセスレスポンス
１５０１  Ｒｅａｄ／Ｗｒｉｔｅフラグ
１５０２  レジスタアドレス領域
１５０３  コマンド内データ領域
１５０４  レスポンス内データ領域
１６００  ＳＤ−ＰＣＩｅホスト装置
１６０１  ホスト装置半導体チップ
１６０４  ホストＳＤ物理層
１６１０  ＳＤ−ＰＣＩｅスレーブ装置
１６１１  スレーブ装置半導体チップ
１６１４  スレーブＳＤ物理層
１６１７  レジスタ
１７０１ａ  レジスタアクセスコマンド
１７０１ｂ  レジスタアクセスレスポンス
１７１１  メモリアクセス休止ステージ
１８０１  Ｒｅａｄ／Ｗｒｉｔｅフラグ
１８０２  レジスタアドレス領域
１８０３  コマンド内データ領域
１８０４  レスポンス内データ領域
１９０１  大ブロックサイズ領域
１９０２  小ブロックサイズ領域
２０００  ＳＤ−ＰＣＩｅホスト装置
２００１  ホスト装置半導体チップ
２００４  ホストＳＤ物理層
２００５  ホストＰＣＩｅ物理層
２００７  Ｒｘ検知回路
２００８  リセット回路
２０１０  ＳＤ−ＰＣＩｅスレーブ装置
２０１１  スレーブ装置半導体チップ
２０１４  スレーブＳＤ物理層
２０１５  スレーブＰＣＩｅ物理層
２０１７  レジスタ
２０１８  リセット回路
２１０１ａ  制御指示パケット
２１０１ｂ  制御指示応答パケット
２１０２ａ  レジスタアクセスコマンド
２１０２ｂ  レジスタアクセスレスポンス
２１０７ａ  ＰＣＩｅ初期化指示パケット
２１０７ｂ  ＰＣＩｅ初期化応答パケット
２１１２  ＰＣＩｅ  Ｉ／Ｆ初期化ステージ
２１１３  メモリアクセスステージ
２２０１  Ｒｅａｄ／Ｗｒｉｔｅフラグ
２２０２  レジスタアドレス領域
２２０３  コマンド内データ領域
２２０４  レスポンス内データ領域
【図１】
2020066116.tif 000003
【図２】
2020066116.tif 000004
【図３】
2020066116.tif 000005
【図４】
2020066116.tif 000006
【図５】
2020066116.tif 000007
【図６】
2020066116.tif 000008
【図７】
2020066116.tif 000009
【図８】
2020066116.tif 000010
【図９】
2020066116.tif 000011
【図１０】
2020066116.tif 000012
【図１１】
2020066116.tif 000013
【図１２】
2020066116.tif 000014
【図１３】
2020066116.tif 000015
【図１４】
2020066116.tif 000016
【図１５】
2020066116.tif 000017
【図１６】
2020066116.tif 000018
【図１７】
2020066116.tif 000019
【図１８】
2020066116.tif 000020
【図１９】
2020066116.tif 000021
【図２０】
2020066116.tif 000022
【図２１】
2020066116.tif 000023
【図２２】
2020066116.tif 000024
【国際調査報告】
2020066116.tif 000025
2020066116.tif 000026
2020066116.tif 000027
2020066116.tif 000028