IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パナソニックIPマネジメント株式会社の特許一覧

<>
  • 特許-通信装置および通信方法 図1
  • 特許-通信装置および通信方法 図2
  • 特許-通信装置および通信方法 図3
  • 特許-通信装置および通信方法 図4
  • 特許-通信装置および通信方法 図5
  • 特許-通信装置および通信方法 図6
  • 特許-通信装置および通信方法 図7
  • 特許-通信装置および通信方法 図8
  • 特許-通信装置および通信方法 図9
  • 特許-通信装置および通信方法 図10
  • 特許-通信装置および通信方法 図11
  • 特許-通信装置および通信方法 図12
  • 特許-通信装置および通信方法 図13
  • 特許-通信装置および通信方法 図14
  • 特許-通信装置および通信方法 図15
  • 特許-通信装置および通信方法 図16
  • 特許-通信装置および通信方法 図17
  • 特許-通信装置および通信方法 図18
  • 特許-通信装置および通信方法 図19
  • 特許-通信装置および通信方法 図20
  • 特許-通信装置および通信方法 図21
  • 特許-通信装置および通信方法 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-19
(45)【発行日】2023-01-27
(54)【発明の名称】通信装置および通信方法
(51)【国際特許分類】
   G06F 13/10 20060101AFI20230120BHJP
   G06F 13/38 20060101ALI20230120BHJP
【FI】
G06F13/10 310E
G06F13/10 310C
G06F13/38 350
G06F13/38 320Z
【請求項の数】 14
(21)【出願番号】P 2020547950
(86)(22)【出願日】2019-05-16
(86)【国際出願番号】 JP2019019586
(87)【国際公開番号】W WO2020066116
(87)【国際公開日】2020-04-02
【審査請求日】2021-03-04
(31)【優先権主張番号】P 2018183088
(32)【優先日】2018-09-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100106116
【弁理士】
【氏名又は名称】鎌田 健司
(74)【代理人】
【識別番号】100131495
【弁理士】
【氏名又は名称】前田 健児
(72)【発明者】
【氏名】小野 正
(72)【発明者】
【氏名】加藤 勇雄
(72)【発明者】
【氏名】稲垣 善久
(72)【発明者】
【氏名】大木 秀一
【審査官】打出 義尚
(56)【参考文献】
【文献】特開2003-9051(JP,A)
【文献】SD Express Cards with PCIe and NVMe Interfaces White Paper,米国,SD Association,2018年06月,pp.1-10
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/10
G06F 13/38
(57)【特許請求の範囲】
【請求項1】
第1のインターフェースの信号線の一部と、第2のインターフェースの信号線の一部とが信号線を共有している通信装置であって、
前記通信装置は、前記第1のインターフェース、および前記第2のインターフェース双方に接続されたメモリを有し、
前記第1のインターフェースの初期化を行う第1インターフェース初期化手段と、
前記第2のインターフェースの初期化を行う第2インターフェース初期化手段と、
前記第2のインターフェースと共有していない前記第1のインターフェースの信号線を介したメモリの初期化を行うメモリ初期化手段とがあるとき、
前記第1インターフェース初期化手段に続き、前記第2インターフェース初期化手段と前記メモリ初期化手段とを並列に実行することを特徴とする通信装置。
【請求項2】
前記第1のインターフェースを介して低速な通信を行う低速通信手段と、前記第2のインターフェースを介して高速な通信を行う高速通信手段とをさらに有し、
前記低速通信手段が、前記高速通信手段を干渉せず、かつ前記高速通信手段が、前記低速通信手段を干渉しないことを特徴とする、請求項1に記載の通信装置。
【請求項3】
前記低速通信手段により、温度に関する情報、または寿命に関する情報を取得することを特徴とする、請求項2に記載の通信装置。
【請求項4】
前記高速通信手段が休止状態であっても、前記低速通信手段は動作可能であることを特徴とする、請求項2に記載の通信装置。
【請求項5】
前記第2のインターフェースが非正常状態であることが検知されたとき、前記第2のインターフェースと共有していない前記第1のインターフェースの信号線を介した通信により前記第2のインターフェースを正常状態に復帰させることを特徴とする、請求項1に記載の通信装置。
【請求項6】
前記第1のインターフェースが、SD インターフェースであることを特徴とする、請求項1、2、または5に記載の通信装置。
【請求項7】
前記第2のインターフェースが、PCI Expressインターフェースであることを特徴とする、請求項1、2、または5に記載の通信装置。
【請求項8】
第1のインターフェースの信号線の一部と、第2のインターフェースの信号線の一部とが信号線を共有している場合の通信方法であって、
前記第1のインターフェース、および前記第2のインターフェース双方に接続されたメモリを有し、
前記第1のインターフェースの初期化を行う第1インターフェース初期化ステップと、
前記第2のインターフェースの初期化を行う第2インターフェース初期化ステップと、
前記第2のインターフェースと共有していない前記第1のインターフェースの信号線を介したメモリの初期化を行うメモリ初期化ステップとがあるとき、
前記第1インターフェース初期化ステップに続き、前記第2インターフェース初期化ステップと前記メモリ初期化ステップとを並列に実行することを特徴とする通信方法。
【請求項9】
前記第1のインターフェースを介して低速な通信を行い、前記第2のインターフェースを介して高速な通信を行うとき、
前記第1のインターフェースを介した通信が、前記第2のインターフェースを介した通信を干渉せず、かつ前記第2のインターフェースを介した通信が、前記第1のインターフェースを介した通信を干渉しないことを特徴とする請求項8に記載の通信方法。
【請求項10】
前記第1のインターフェースを介して、温度に関する情報、または寿命に関する情報を取得することを特徴とする、請求項9に記載の通信方法。
【請求項11】
前記第2のインターフェースが休止状態であっても、前記第1のインターフェースを介した通信が実施可能であることを特徴とする、請求項9に記載の通信方法。
【請求項12】
前記第2のインターフェースが非正常状態であることが検知されたとき、前記第2のインターフェースと共有していない前記第1のインターフェースの信号線を介した通信により前記第2のインターフェースを正常状態に復帰させることを特徴とする請求項8に記載の通信方法。
【請求項13】
前記第1のインターフェースが、SD インターフェースであることを特徴とする、請求項8、9、または12に記載の通信方法。
【請求項14】
前記第2のインターフェースが、PCI Expressインターフェースであることを特徴とする、請求項8、9、または12に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、相互に接続が可能なホスト装置及びスレーブ装置間で通信を行う通信装置および通信方法に関する。
【背景技術】
【0002】
近年、フラッシュメモリ等の大容量の不揮発性記憶素子を備え、高速でのデータ処理が可能な、小型、挿抜可能なカード形状のSDカード、メモリースティックといったスレーブ装置が市場に普及している。このようなスレーブ装置は、スレーブ装置を使用可能なホスト装置である、パーソナルコンピュータ、スマートフォン、デジタルカメラ、オーディオプレーヤ及びカーナビゲーションシステム等において利用されている。
【0003】
図1は、発売当初から存在する従来SDカード100の端子配置を示した図である。この従来SDカード100の1段目に、シングルエンド方式の低速インターフェース(以後I/Fと略記)であるSD I/Fの端子群が配置されている。具体的には、3.3V電源を供給するVDD1(端子#4)、グランドに接続されるVSS1(端子#3)とVSS2(端子#6)、コマンドおよびレスポンス信号を通信するCMD(端子#2)、SD I/Fで使用するクロック信号を送信するCLK(端子#5)、およびデータ信号を通信するDAT0、DAT1、DAT2、DAT3(それぞれ端子#7、#8、#9、#1)である。
【0004】
昨今、ギガビットオーダーの高速I/Fとして差動シリアル方式を利用したPCI Express(以下PCIeと略記)が注目されている。差動シリアル方式とは、ある信号Xについて、信号線X+および信号線X-の2本の信号線の組により構成される伝送路を用いて信号を伝送する方式である。
【0005】
図2は、上記従来SDカード100にPCIe I/Fを追加したSD-PCIeカード200の端子配置を示した図である。SD-PCIeカード200は、原則として1段目に低速のSD I/F用端子、2段目に高速のPCIe I/F用端子を割り当てる。以下、SD-PCIeカード200の端子割り当てについて、従来SDカード100と異なる部分について説明する。
【0006】
SD-PCIeカード200では、PCIe I/F用端子として、1.8V電源を供給するVDD2(端子#14)、グランドに接続されるVSS3(端子#10)、VSS4(端子#13)およびVSS5(端子#17)、ホスト装置からスレーブ装置の方向にデータ信号を伝送するSlave Rx+、Slave Rx-(それぞれ端子#11、#12)、スレーブ装置からホスト装置の方向にデータ信号を伝送するSlave Tx+、Slave Tx-(それぞれ端子#16、#15)が追加されている。そしてホスト装置からスレーブ装置の方向にPCIe I/F向けクロック信号を伝送するREFCLK+、REFCLK-が、それぞれ1段目の端子#7、#8に割り当てられている。すなわち、端子#7はSD I/FのDAT0とPCIe I/FのREFCLK+とが、端子#8はSD I/FのDAT1とPCIe I/FのREFCLK-とがそれぞれ共用している。
【0007】
さらに、PCIe I/Fでは、消費電力削減フェーズの開始、終了を通知するためのCLKREQ#信号、スレーブ装置に対しリセットをかけるPERST#信号がある。前者は端子#9に割り当て、SD I/FのDAT2と共用する。また後者は端子#1に割り当て、SD I/FのDAT3と共用する。
【0008】
SDカードのような小型カード形状のスレーブ装置においては、実装面積の観点で実装できる端子の数に制約が生じるため、上記のように低速なSD I/Fと高速なPCIe I/Fの信号線を共用することで、端子数の増加を抑止していた。
【0009】
図3はSD I/FとPCIe I/F双方のI/Fを取り扱うことが可能なSD-PCIeホスト装置300と、同様にSD I/FとPCIe I/F双方のI/Fを取り扱うことが可能なSD-PCIeスレーブ装置310からなる従来のメモリシステムの実施の形態について説明した図である。SD-PCIeホスト装置300は、ホスト装置半導体チップ301、3.3V電源を供給する第一電源供給部302、1.8Vの電源を供給する第二電源供給部303からなる。またホスト装置半導体チップ301はホストSD物理層304およびホストPCIe物理層305からなる。
【0010】
一方SD-PCIeスレーブ装置310は、スレーブ装置半導体チップ311、フラッシュメモリ312からなる。またスレーブ装置半導体チップ311はスレーブSD物理層314およびスレーブPCIe物理層315からなる。
【0011】
第一電源供給部302は、3.3V電源をVDD1ライン321aを介してSD-PCIeスレーブ装置310に供給する。SD-PCIeスレーブ装置310は供給を受けた3.3V電源をスレーブ装置半導体チップ311およびフラッシュメモリ312に供給する。
【0012】
また第二電源供給部303は、1.8V電源をVDD2ライン321bを介してSD-PCIeスレーブ装置310に供給する。SD-PCIeスレーブ装置310は供給を受けた1.8V電源をスレーブ装置半導体チップ311に、特にスレーブPCIe物理層315を中心に供給する。
【0013】
ホストSD物理層304およびスレーブSD物理層314に入出力端子を有するSDCLK信号は、SDCLKライン322aを介して伝送される。同様にホストSD物理層304およびスレーブSD物理層314に入出力端子を有するCMD信号は、CMDライン322bを介して伝送される。
【0014】
ホストPCIe物理層305およびスレーブPCIe物理層315に入出力端子を有するREFCLK+信号、およびホストSD物理層304およびスレーブSD物理層314に入出力端子を有するDAT0信号は、ホスト装置半導体チップ301、スレーブ装置半導体チップ311に実装されたスイッチによりいずれか1つの信号が選択され、REFCLK+/DAT0ライン323aを介して伝送される。同様にREFCLK-信号とDAT1信号、CLKREQ#信号とDAT2信号、PERST#信号とDAT3信号が、各々スイッチによりいずれか1つの信号が選択され、それぞれREFCLK-/DAT1ライン323b、CLKREQ#/DAT2ライン323c、PERST#/DAT3ライン323dを介して伝送される。
【0015】
さらにホストPCIe物理層305のHost Tx+端子とスレーブPCIe物理層315のSlave Rx+端子、ホストPCIe物理層305のHost Tx-端子とスレーブPCIe物理層315のSlave Rx-端子は、それぞれ高速ダウンストリーム+ライン324a、高速ダウンストリーム-ライン324bで接続されている。これらをまとめた高速ダウンストリームライン324は、SD-PCIeホスト装置300からSD-PCIeスレーブ装置310へPCIe I/Fのパケットを伝送するときに使用される。
【0016】
同様にホストPCIe物理層305のHost Rx+端子とスレーブPCIe物理層315のSlave Tx+端子、ホストPCIe物理層305のHost Rx-端子とスレーブPCIe物理層315のSlave Tx-端子は、それぞれ高速アップストリーム+ライン325a、高速アップストリーム-ライン325bで接続されている。これらをまとめた高速アップストリームライン325は、SD-PCIeスレーブ装置310からSD-PCIeホスト装置300へPCIe I/Fのパケットを伝送するときに使用される。
【0017】
図4は、SD-PCIeホスト装置300によるSD-PCIeスレーブ装置310の従来の初期化処理の手順の一例を説明した図であり、図5は、図4におけるCMDライン322b上の通信の詳細を説明した図である。
【0018】
また図6図7はそれぞれ、SD I/Fモード、PCIe I/FモードにおけるSD-PCIeホスト装置300およびSD-PCIeスレーブ装置310の接続形態について説明したブロック図である。
【0019】
以下、図3から図7を用いて、SD-PCIeホスト装置300によるSD-PCIeスレーブ装置310の初期化手順の詳細について説明する。
【0020】
図4において、SD-PCIeホスト装置300は、VDD1ライン321aを介して3.3V電源を供給する(401)ことで、SD I/F初期化ステージ411が開始され、SD-PCIeホスト装置300では以下の処理が実行される。ホスト装置半導体チップ301内のホストSD物理層304は、SDCLKライン322aを介してシングルエンド方式のSDCLKをSD-PCIeスレーブ装置310に供給し(402)、図6に示すSD I/Fモードに切り換える。このときホスト装置半導体チップ301において、REFCLK+/DAT0ライン323a、REFCLK-/DAT1ライン323b、CLKREQ#/DAT2ライン323c、PERST#/DAT3ライン323dは、すべてホストSD物理層304側の端子と接続される。
【0021】
SD-PCIeスレーブ装置310はSDCLKを受信したとき、図6に示すSD I/Fモードに切り換える。すなわちスレーブ装置半導体チップ311において、REFCLK+/DAT0ライン323a、REFCLK-/DAT1ライン323b、CLKREQ#/DAT2ライン323c、PERST#/DAT3ライン323dは、すべてスレーブSD物理層314側の端子と接続される。
【0022】
続いてホスト装置半導体チップ301からI/F確認コマンド403aがスレーブ装置半導体チップ311に送信される。これを受け、スレーブ装置半導体チップ311からI/F確認レスポンス403bがホスト装置半導体チップ301に送信される。
【0023】
図5は、上記I/F確認コマンド403aおよびI/F確認レスポンス403bの詳細について説明した図である。
【0024】
ホスト装置半導体チップ301はPCIeをサポートしている(すなわちホストPCIe物理層305を有している)ことから、I/F確認コマンド403a内のPCIeサポートフラグ501に1を設定し、ホストSD物理層304、CMDライン322bを介してSD-PCIeスレーブ装置310に送信する。
【0025】
CMDライン322bを介してSD-PCIeスレーブ装置310が受信したI/F確認コマンド403aは、現在SD I/FモードであることからスレーブSD物理層314を介してスレーブ装置半導体チップ311に供給される。スレーブ装置半導体チップ311はPCIeをサポートしている(すなわちスレーブPCIe物理層315を有している)こと、ならびにI/F確認コマンド403a内のPCIeサポートフラグ501に「1」が設定されていることから、I/F確認レスポンス403b内のPCIeサポートフラグ502に1を設定し、スレーブSD物理層314、CMDライン322bを介してSD-PCIeホスト装置300に送信する。
【0026】
CMDライン322bを介してSD-PCIeホスト装置300が受信したI/F確認レスポンス403bは、現在SD I/FモードであることからホストSD物理層304を介してホスト装置半導体チップ301に供給される。
【0027】
ホスト装置半導体チップ301は、I/F確認レスポンス403b内のPCIeサポートフラグ502に「1」が設定されていることから、SD-PCIeスレーブ装置310がPCIe I/Fをサポートしていると判定し、これをもってSD I/F初期化ステージ411は終了し、PCIe I/F初期化ステージ412へ移行する。
【0028】
このとき、以下の処理が実施される。
【0029】
SD I/F初期化ステージ411を終了させるため、ホストSD物理層304は、SDCLKライン322aを介したSDCLKの供給を停止する(404)。
【0030】
PCIe I/F初期化ステージ412を開始するため、SD-PCIeホスト装置300内の第二電源供給部303は、VDD2ライン321bを介して、1.8V電源を供給し(405)、図7に示すPCIe I/Fモードに切り換える。このときホスト装置半導体チップ301において、REFCLK+/DAT0ライン323a、REFCLK-/DAT1ライン323b、CLKREQ#/DAT2ライン323c、PERST#/DAT3ライン323dは、すべてホストPCIe物理層305側の端子と接続される。
【0031】
またスレーブ装置半導体チップ311がVDD2ライン321bを介して1.8V電源の供給を受けたとき、図7に示すPCIe I/Fモードに切り換える。このときスレーブ装置半導体チップ311において、REFCLK+/DAT0ライン323a、REFCLK-/DAT1ライン323b、CLKREQ#/DAT2ライン323c、PERST#/DAT3ライン323dは、すべてスレーブPCIe物理層315側の端子と接続される。
【0032】
1.8V電源供給(405)後、ホスト装置半導体チップ301はホストPCIe物理層305にPCIe I/Fの基準信号となるREFCLKの供給を指示する。このときホストPCIe物理層305は、REFCLK+/DAT0ライン323aおよびREFCLK-/DAT1ライン323bを介して、SD-PCIeスレーブ装置310にREFCLKを供給する(406)。
【0033】
続いてPCIe I/Fの初期化を行うため、ホスト装置半導体チップ301はホストPCIe物理層305、高速ダウンストリームライン324を介して、PCIe初期化指示パケット407aをSD-PCIeスレーブ装置310に送信する。PCIe初期化指示パケット407aを受信したスレーブ装置半導体チップ311は、必要なPCIe I/F初期化処理を行い、その結果をPCIe初期化応答パケット407bとして、高速アップストリームライン325を介してSD-PCIeホスト装置300に送信する。
【0034】
実際のPCIe I/Fの初期化では上記一連のパケット送受信処理を何回か繰り返すが、ここでは詳細の説明を省略する。
【0035】
PCIe I/F初期化完了後、PCIe I/F初期化ステージ412からフラッシュメモリ初期化ステージ413に移行する。
【0036】
フラッシュメモリ初期化ステージ413では、ホスト装置半導体チップ301はホストPCIe物理層305、高速ダウンストリームライン324を介して、フラッシュメモリ初期化指示パケット408aをSD-PCIeスレーブ装置310に送信する。
【0037】
フラッシュメモリ初期化指示パケット408aを受信したスレーブ装置半導体チップ311は、フラッシュメモリ312の起動、フラッシュメモリ312を制御するためのファームウェアの読み出し、およびフラッシュメモリ312に記録されているファイルデータと管理テーブルとの整合性を保つためのテーブル更新を実施する。上記一連のフラッシュメモリ初期化処理完了後、スレーブ装置半導体チップ311はフラッシュメモリ初期化応答パケット408bを、高速アップストリームライン325を介してSD-PCIeホスト装置300に送信する。
【0038】
なお、ここで述べたフラッシュメモリ初期化手順は一例であり、他の手順でも実施可能である。
【0039】
SD-PCIeホスト装置300がフラッシュメモリ初期化応答パケット408bを受信することで、SD-PCIeスレーブ装置310のすべての初期化が完了し、フラッシュメモリ初期化ステージ413からメモリアクセスステージ414に移行する。メモリアクセスステージでは、SD-PCIeホスト装置300はSD-PCIeスレーブ装置310内のフラッシュメモリ312に対して、PCIe I/Fを介してデータの読み出しならびにデータの書き込みが可能になる。
【0040】
なお、本メモリシステムにおけるSD-PCIeホスト装置は、図3に記載した構成の他に、図8に記載した構成のものでも実現可能である。図8のSD-PCIeホスト装置800のホスト装置半導体チップ801は、REFCLK+/DAT0ライン323aなどの切り換えスイッチを内部に持たない。このような場合には、ホスト装置半導体チップ801の外部のSD-PCIeホスト装置800の基板上に、共用する信号線のスイッチ機能を有するスイッチ群802を実装すればよい。
【先行技術文献】
【特許文献】
【0041】
【文献】特開2005‐088495号公報
【発明の概要】
【0042】
図4に記載した従来の初期化手順においては、SD I/F初期化ステージ411、PCIe I/F初期化ステージ412、フラッシュメモリ初期化ステージ413を逐次実行した後、メモリに対する読み出し、書き込みが可能なメモリアクセスステージ414に移行する。
【0043】
ところで、PCIe I/F初期化ステージ412ならびにフラッシュメモリ初期化ステージ413は、通常100から数100ミリ秒オーダーの時間を要する。そのため、SD-PCIeホスト装置300上で動作する各種アプリケーションのプログラムをSD-PCIeスレーブ装置310のフラッシュメモリ312から読み出して、SD-PCIeホスト装置300上にロードして起動開始できるまでに、数秒オーダーの時間を要することがある。
【0044】
特に昨今の車載機器は電子化が進み、ソフトウェアで動作するアプリケーションの比重が極めて高くなっているため、プログラムロードにこれまで以上に時間を要する。一方ですべてのアプリケーションが動作可能な状態になるまでの時間の短縮が要請されているため、初期化時間の短縮により上記を実現することが求められている。
【0045】
また、PCIe I/Fは高速なデータ読み書きが可能であるが、一方で消費電力が大きいため、REFCLKの供給を停止してPCIe I/F経由でのデータ送受信を行わない消費電力削減フェーズが存在する。このとき、SD-PCIeホスト装置300がSD-PCIeスレーブ装置310に対し、小さなサイズのデータの読み書きを行う場合でもPCIe I/Fを復帰させる必要があり、復帰に要する時間、消費電力の観点で好ましくない。
【0046】
さらにPCIe I/Fに異常が発生した場合、SD-PCIeホスト装置300およびSD-PCIeスレーブ装置310全体の再初期化の実施する必要があり、甚だ効率が悪い。
【0047】
以上の課題を鑑み、本発明ではSD-PCIeホスト装置およびSD-PCIeスレーブ装置からなるメモリシステムにおいて、初期化時間の短縮、PCIe I/Fの復帰を必要としない通信、およびPCIe I/Fのみの再初期化を実現可能とする通信装置、および通信方法を提供する。
【0048】
本開示は、第1のインターフェースの信号線の一部と、第2のインターフェースの信号線の一部とが信号線を共有し、かつ双方のインターフェースに接続されたメモリを有するとき、第1のインターフェースの初期化に続き、第2インターフェース初期化とメモリ初期化とを並列に実行することを特徴とする。
【0049】
さらに、第1のインターフェースを介した低速な通信と、第2のインターフェースを介した高速な通信とが、互いに干渉しないことを特徴とする。
【0050】
さらに、第2のインターフェースが非正常状態であることが検知されたとき、第1のインターフェースを介した通信により第2のインターフェースを正常状態に復帰させることを特徴とする。
【0051】
また第1のインターフェースはSD I/Fであり、第2のインターフェースはPCIe I/Fであることを特徴とする。
【0052】
本開示により、PCIe I/FとSD I/Fの双方を備え、一部の信号線が共有されているホスト装置およびフラッシュメモリを含むスレーブ装置において、初期化時間の短縮の他、消費電力削減フェーズにおけるデータの読み書き、PCIe I/Fにおける異常発生時の効率的な復帰を実現することができる。
【図面の簡単な説明】
【0053】
図1図1は、従来SDカードの端子配置について説明した図である。
図2図2は、SD-PCIeカードの端子配置について説明した図である。
図3図3は、SD-PCIeホスト装置とSD-PCIeスレーブ装置からなる従来のメモリシステムについて説明した図である。
図4図4は、従来のメモリシステムにおける初期化処理の手順について説明した図である。
図5図5は、SD I/F初期化ステージの詳細な手順について説明した図である。
図6図6は、従来のメモリシステムにおけるSD I/FモードでのSD-PCIeホスト装置およびSD-PCIeスレーブ装置の接続形態について説明した図である。
図7図7は、従来のメモリシステムにおけるPCIe I/FモードでのSD-PCIeホスト装置およびSD-PCIeスレーブ装置の接続形態について説明した図である。
図8図8は、従来のメモリシステムにおけるSD-PCIeホスト装置の別の構成について説明した図である。
図9図9は、第1の実施の形態におけるSD-PCIeホスト装置とSD-PCIeスレーブ装置について説明した図である。
図10図10は、第1の実施の形態における初期化処理の手順について説明した図である。
図11図11は、第1の実施の形態におけるSD I/FモードでのSD-PCIeホスト装置およびSD-PCIeスレーブ装置の接続形態について説明した図である。
図12図12は、第1の実施の形態におけるPCIe I/FモードでのSD-PCIeホスト装置およびSD-PCIeスレーブ装置の接続形態について説明した図である。
図13図13は、第2の実施の形態におけるSD-PCIeホスト装置とSD-PCIeスレーブ装置について説明した図である。
図14図14は、第2の実施の形態におけるSD-PCIeホスト装置およびSD-PCIeスレーブ装置間の通信について説明した図である。
図15図15は、第2の実施の形態におけるレジスタアクセスコマンドおよびレジスタアクセスレスポンスの詳細に説明した図である。
図16図16は、第3の実施の形態におけるSD-PCIeホスト装置とSD-PCIeスレーブ装置について説明した図である。
図17図17は、第3の実施の形態におけるSD-PCIeホスト装置およびSD-PCIeスレーブ装置間の通信について説明した図である。
図18図18は、第3の実施の形態におけるレジスタアクセスコマンドおよびレジスタアクセスレスポンスの詳細に説明した図である。
図19図19は、第3の実施の形態におけるフラッシュメモリの領域分割の一例について説明した図である。
図20図20は、第4の実施の形態におけるSD-PCIeホスト装置とSD-PCIeスレーブ装置について説明した図である。
図21図21は、第4の実施の形態におけるSD-PCIeホスト装置およびSD-PCIeスレーブ装置間の通信について説明した図である。
図22図22は、第4の実施の形態におけるレジスタアクセスコマンドおよびレジスタアクセスレスポンスの詳細に説明した図である。
【発明を実施するための形態】
【0054】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、同じ符号を付した構成要素については、それぞれの実施の形態において同一の機能を有するものとする。
【0055】
なお、本開示は、当業者が理解するための添付図面及び以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
【0056】
[第1の実施の形態]
図9は、本発明の第1の実施の形態にかかるメモリシステムの構成について説明した図である。図9は、SD-PCIeホスト装置900、ホスト装置半導体チップ901、ホストSD物理層904、ホストPCIe物理層905、SD-PCIeスレーブ装置910、スレーブ装置半導体チップ911、スレーブSD物理層914、スレーブPCIe物理層915を示している。SD-PCIeホスト装置900およびSD-PCIeスレーブ装置910は、それぞれ従来の実施の形態におけるSD-PCIeホスト装置300およびSD-PCIeスレーブ装置310と同じ構成を持ち、両者同士の接続形態も図3と同様であるが、それぞれの構成要素の動作が異なる。このことについては後述する。
【0057】
図10は、本発明の第1の実施の形態にかかるSD-PCIeホスト装置900によるSD-PCIeスレーブ装置910の初期化処理の手順について説明した図である。
【0058】
また図11図12はそれぞれ、SD I/Fモード、PCIe I/FモードにおけるSD-PCIeホスト装置900およびSD-PCIeスレーブ装置910の接続形態について説明したブロック図である。
【0059】
以下図9から図12を用いて、本発明の第1の実施の形態について、主として従来の実施の形態との相違点について説明する。
【0060】
図10において、従来の実施の形態と同様にVDD1ライン321aを介した3.3V電源の供給(401)後、SD I/F初期化ステージ1011が開始される。SD I/F初期化ステージ1011では、従来の実施の形態と同様、図11に示すSD I/Fモードにて、SDCLKライン322aを介したSDCLKの供給(402)、ホストSD物理層904によるCMDライン322bを介したI/F確認コマンド403aの送信、およびスレーブSD物理層914によるI/F確認レスポンス403bの送信が実施される。
【0061】
ホスト装置半導体チップ901は、I/F確認レスポンス403bの受信によりSD-PCIeスレーブ装置910がPCIe I/Fをサポートしていると判定したとき、SDCLKの供給を停止せずにSD I/F初期化ステージ1011を終了し、PCIe I/F初期化ステージ1012に移行する。
【0062】
PCIe I/F初期化ステージ1012では、図12に示すPCIeモードにて、VDD2ライン321bを介した1.8V電源の供給(405)、REFCLK+/DAT0ライン323aおよびREFCLK-/DAT1ライン323bを介したREFCLKの供給(406)、ホストPCIe物理層905による高速ダウンストリームライン324を介したPCIe初期化指示パケット407aの送信、ならびにスレーブPCIe物理層915によるPCIe初期化応答パケット407bの送信が実行される。
【0063】
一方本実施の形態においては、SD I/F初期化ステージ1011終了後、フラッシュメモリ初期化ステージ1013に移行し、前述のPCIe I/F初期化ステージ1012と並列に実行される。
【0064】
以下、フラッシュメモリ初期化ステージ1013における動作について説明する。
【0065】
フラッシュメモリ初期化ステージ1013では、図12に示すPCIe I/Fモードとなっている。しかしながら、SD I/FのうちSDCLKライン322aおよびCMDライン322bは、PCIe I/Fの信号線とは共用されず独立となっている。言い換えると、PCIe I/Fモードであっても、SDCLKライン322aおよびCMDライン322bを用いたSD I/Fの通信を実施することが可能になる。
【0066】
本実施の形態では、フラッシュメモリ初期化ステージ1013において、ホストSD物理層904は、SDCLKライン322aを介したSDCLKの供給を行い、CMDライン322bを介して、フラッシュメモリ初期化コマンド1001aを送信する。
【0067】
スレーブSD物理層914経由でフラッシュメモリ初期化コマンド1001aを受信したスレーブ装置半導体チップ911は、従来の実施の形態と同様、フラッシュメモリ312の起動、ファームウェアの読み出し、テーブル更新を実施する。上記一連のフラッシュメモリ初期化完了後、スレーブ装置半導体チップ911内のスレーブSD物理層914はフラッシュメモリ初期化レスポンス1001bを、CMDライン322bを介してSD-PCIeホスト装置900に送信する。
【0068】
ホスト装置半導体チップ901は、PCIe I/F初期化ステージ1012およびフラッシュメモリ初期化ステージ1013双方とも終了したことを検知すると、メモリアクセスステージ1014に移行する。これにより、メモリに対する読み出し、書き込みが可能となる。
【0069】
以上説明したように、本発明の第1の実施の形態では、PCIe I/Fモードであっても利用可能であるSDCLKライン322aおよびCMDライン322bラインを用い、PCIe I/F初期化ステージ1012とフラッシュメモリ初期化ステージ1013とを並列に実行する。これにより、フラッシュメモリ312に対するデータの読み書き(SD-PCIeホスト装置900のアプリケーションプログラムのロード)を開始できるまでの時間を短縮することができる。
【0070】
例えばSD I/F初期化ステージに1ミリ秒、PCIe I/F初期化ステージに150ミリ秒、フラッシュメモリ初期化ステージに200ミリ秒の時間を要すると仮定すると、図4に示す従来の実施の形態では、メモリアクセスステージに移行するまで、1+150+200=351ミリ秒を要する。一方、図10に示す本発明の実施の形態では、PCIe I/F初期化ステージおよびフラッシュメモリ初期化ステージを並列に実行することが可能であるため、1+200(PCIe I/F初期化ステージおよびフラッシュメモリ初期化ステージのうち所要時間の長い方)=201ミリ秒となり、大幅な時間短縮が実現できる。
【0071】
なお、本実施の形態では、PCIe I/F初期化ステージの所要時間よりフラッシュメモリ初期化ステージの所要時間の方が長いとしたが、逆の場合でも同様の効果が得られる。
【0072】
[第2の実施の形態]
図13は、本発明の第2の実施の形態にかかるメモリシステムの構成について説明した図である。図13は、SD-PCIeホスト装置1300、ホスト装置半導体チップ1301、ホストSD物理層1304、SD-PCIeスレーブ装置1310、スレーブ装置半導体チップ1311、スレーブSD物理層1314を示している。SD-PCIeスレーブ装置1310は、温度センサー1316を有する。またスレーブSD物理層1314はレジスタ1317を有する。レジスタ1317は、少なくとも温度センサー1316により検出されたSD-PCIeスレーブ装置1310の温度情報を定期的に取得し、所定の領域に保持する。
【0073】
SD-PCIeホスト装置1300およびSD-PCIeスレーブ装置1310の接続形態は図3と同様である。
【0074】
図14は、本発明の第2の実施の形態にかかるSD-PCIeホスト装置1300およびSD-PCIeスレーブ装置1310間の通信について説明した図であり、図15は、図14におけるCMDライン322b上の通信の詳細を説明した図である。
【0075】
以下図13から図15を用いて、本発明の第2の実施の形態について説明する。
【0076】
本実施の形態においては、第1の実施の形態で説明した手順に基づいた初期化が完了しているものとする。すなわち、SD-PCIeホスト装置1300、SD-PCIeスレーブ装置1310はいずれも図12と同様PCIe I/Fモードになっており、両者の初期化は完了してメモリアクセスステージ1014に移行している。
【0077】
メモリアクセスステージ1014において、SD-PCIeホスト装置1300は、REFCLK+/DAT0ライン323aおよびREFCLK-/DAT1ライン323bを介してREFCLK信号1401をSD-PCIeスレーブ装置1310に供給する。そして、SD-PCIeホスト装置1300は高速ダウンストリームライン324を用いて、SD-PCIeスレーブ装置1310に、またSD-PCIeスレーブ装置1310は高速アップストリームライン325を用いてSD-PCIeホスト装置1300にPCIe I/Fの各種パケットを送信する。
【0078】
PCIe I/F上の主な送受信パターンとして、以下のものがある。
(1)SD-PCIeホスト装置1300からの制御指示パケット1402a送信に対し、SD-PCIeスレーブ装置1310からの制御指示応答パケット1402bの送信
(2)SD-PCIeホスト装置1300からの読み出し指示パケット1403a送信に対し、SD-PCIeスレーブ装置1310からの読み出しデータパケット1403bの送信
(3)SD-PCIeホスト装置1300からの書き込み指示および書き込みデータパケット1404の送信
SD-PCIeホスト装置1300がSD-PCIeスレーブ装置1310の温度情報を取得したいとき、ホスト装置半導体チップ1301内のホストSD物理層1304は、PCI I/Fを介したパケット送受信の有無によらず、CMDライン322bを介してレジスタアクセスコマンド1405aをSD-PCIeスレーブ装置1310に送信する。レジスタアクセスコマンド1405aには、図15(a)のように少なくとも1ビット長のRead/Writeフラグ1501、17ビット長のレジスタアドレス領域1502、8ビット長のコマンド内データ領域1503を含む。
【0079】
本実施の形態においては、レジスタ1317に保持されている温度情報の読み出しを行うので、図15(a)に示すように、Read/Writeフラグ1501にはReadを意味する「1」を、レジスタアドレス領域1502には、温度情報が格納されているレジスタの開始アドレス「A」を設定する。また本実施の形態においては、レジスタへのデータ書き込みは行わないので、コマンド内データ領域1503には特に設定を行わない(設定された値はDon’t careとみなされる)。
【0080】
レジスタアクセスコマンド1405aを受信したスレーブSD物理層1314は、レジスタアドレス領域1502に示されるアドレス「A」を先頭アドレスとする最大8ビット長の温度情報「X」を読み出し、レジスタアクセスレスポンス1405b内の8ビット長のレスポンス内データ領域1504に格納し、CMDライン322bを介してSD-PCIeホスト装置1300に送信する。
【0081】
レジスタアクセスレスポンス1405bを受信したホストSD物理層1304は、レスポンス内データ領域1504に格納されている8ビット長の温度情報「X」を読み出す。
【0082】
以上説明したように、本実施の形態によれば、PCIe I/Fと独立したSD I/Fのレジスタアクセスコマンド1405aおよびレジスタアクセスレスポンス1405bを利用することで、PCIe I/Fとは独立に温度情報を取得することができる。これにより、SD I/Fを介した温度情報取得動作は、PCIe I/Fを介したデータの読み書きによる影響を受けることはなく、逆にSD I/Fを介した温度情報取得動作が、PCIe I/Fを介したデータ読み書きの性能に影響を及ぼすこともない。
【0083】
本実施の形態においては、1回のレジスタアクセスコマンド1405a発行で取得できるデータサイズは8ビットと非常に小さいが、温度情報を表現するのに必要なビット数はそれほど大きなものではなく、かつ温度情報は頻繁に更新されることはないので、本実施の形態は十分有効である。
【0084】
なお、8ビットを超えるデータ(ここでは便宜的に長ビットデータと記す)をレジスタから取得する場合においても、本実施の形態では例えば以下のような方法で取得可能である。
【0085】
所定の長ビットデータXを下位ビット側から8ビットずつX[0]、X[1]、…、X[k-1]とk個の要素に分割し、これらを図15(b)に示すようにそれぞれ異なるアドレス(A[0]、A[1]、…A[k-1])を持つレジスタアドレス領域1502から取得するものとする。SD-PCIeホスト装置1300は、図15(c)のようにレジスタアドレス領域1502をA[0]からA[k-1]まで変更したレジスタアクセスコマンド1405aを順次発行し、X[0]からX[k-1]までの値を取得する。その後、SD-PCIeホスト装置1300は、取得したX[0]からX[k-1]までの値を順に結合、すなわちX=X[k-1]|…|X[1]|X[0](ここに|はビット列の結合を示す)なる演算式から、長ビットデータXを構築する。
【0086】
なお、本実施の形態におけるレジスタアドレス領域1502、コマンド内データ領域1503、レスポンス内データ領域1504のビット長は一例であり、特に定まったものではない。
【0087】
また、本実施の形態においては、温度情報の取得の場合について説明したが、SD-PCIeスレーブ装置1310にかかる他の情報、例えばフラッシュメモリ312の書き込みブロック毎の書き換え回数の情報を取得することも可能である。この場合、書き換え回数の情報からフラッシュメモリのおおまかな余命を見積もることで、SD-PCIeホスト装置1300はユーザーにSD-PCIeスレーブ装置1310の交換を促すことが可能である。
【0088】
[第3の実施の形態]
図16は、本発明の第3の実施の形態にかかるメモリシステムの構成について説明した図である。図16は、SD-PCIeホスト装置1600、ホスト装置半導体チップ1601、ホストSD物理層1604、SD-PCIeスレーブ装置1610、スレーブ装置半導体チップ1611、スレーブSD物理層1614を示している。スレーブSD物理層1614はレジスタ1617を有する。レジスタ1617は、所定の書き込みアドレスを指定することで、フラッシュメモリ312に順次データを書き込む機能を有している。
【0089】
SD-PCIeホスト装置1600およびSD-PCIeスレーブ装置1610の接続形態は図3と同様である。
【0090】
図17は、本発明の第3の実施の形態にかかるSD-PCIeホスト装置1600およびSD-PCIeスレーブ装置1610間の通信について説明した図であり、図18は、図17におけるCMDライン322b上の通信の詳細を説明した図である。
【0091】
以下図16から図18を用いて、本発明の第3の実施の形態について説明する。
【0092】
本実施の形態においても、第1の実施の形態で説明した手順に基づいた初期化が完了しているものとする。さらに、消費電力削減を目的として、所定の手続きによりREFCLKの供給を行わないメモリアクセス休止ステージ1711に移行しているとする。
【0093】
このとき、SD-PCIeホスト装置1600、SD-PCIeスレーブ装置1610はいずれも図12と同様PCIe I/Fモードになっているが、メモリアクセス休止ステージ1711であるため、SD-PCIeホスト装置1600はREFCLK+/DAT0ライン323aおよびREFCLK-/DAT1ライン323bを介したREFCLKの供給を停止している。このとき、SD-PCIeホスト装置1600、およびSD-PCIeスレーブ装置1610は、それぞれ高速ダウンストリームライン324、および高速アップストリームライン325を介して、制御パケットならびにデータパケットを送信することができない。
【0094】
このように、消費電力削減を目的として、PCI I/Fが利用できない場合においても、本実施の形態によれば、SD-PCIeホスト装置1600はSD-PCIeスレーブ装置1610内のフラッシュメモリ312に所定のデータを書き込むことが可能である。
【0095】
具体的には、図17のように、ホスト装置半導体チップ1601内のホストSD物理層1604は、PCIe I/Fとは独立なCMDライン322bを介してレジスタアクセスコマンド1701aをSD-PCIeスレーブ装置1610に送信する。レジスタアクセスコマンド1701aには、図18のように少なくとも1ビット長のRead/Writeフラグ1801、17ビット長のレジスタアドレス領域1802、8ビット長のコマンド内データ領域1803を含む。
【0096】
本実施の形態においては、所定のデータをレジスタ1617を介してフラッシュメモリ312に書き込みを行うので、Read/Writeフラグ1801にはWriteを意味する「0」を、レジスタアドレス領域1802には、フラッシュメモリ312に書き込むための所定のアドレス「A」を設定する。さらにコマンド内データ領域1803にはフラッシュメモリ312に書き込む値を設定する。
【0097】
レジスタアクセスコマンド1701aを受信したスレーブSD物理層1614は、レジスタアドレス領域1802「A」に示されるアドレスが、フラッシュメモリ312への書き込みを示す所定のアドレスであることを検知したとき、コマンド内データ領域1803に格納されている8ビット長のデータをフラッシュメモリ312に書き込む。
【0098】
その後、スレーブ装置半導体チップ1611は、レジスタアクセスレスポンス1701bをCMDライン322bを介してSD-PCIeホスト装置1600に送信する。このとき、レジスタアクセスレスポンス1701b内のレスポンス内データ領域1804には、特に設定を行わない(設定された値はDon’t careとみなされる)。
【0099】
以上説明したように、本実施の形態によれば、PCIe I/Fと独立したSD I/Fのレジスタアクセスコマンド1701aおよびレジスタアクセスレスポンス1701bを利用することで、消費電力削減を目的としたメモリアクセス休止ステージ1711への移行状態であっても、フラッシュメモリ312にデータを書き込むことができる。
【0100】
本実施の形態においては、1回のレジスタアクセスコマンド1701a発行で書き込むことができるデータサイズは8ビットと非常に小さいが、ログデータなど単位時間あたりに書き込むべき情報量が小さい場合には、本実施の形態で説明したSD I/Fを介したデータ書き込みは十分有効である。また書き込むデータが8ビットを超える長ビットデータの場合であっても、第1の実施の形態と同様長ビットデータを8ビット単位で分割し、それぞれにレジスタアドレス領域を定義することで実現可能である。
【0101】
また、本実施の形態においては、フラッシュメモリ312への書き込みの場合について説明したが、レジスタアドレス領域1802に適切なアドレスを設定することでレジスタ1617の所定の設定値を変更することも可能である。さらに第2の実施の形態と同様に、Read/Writeフラグ1801にReadを意味する「1」を設定し、レジスタアドレス領域1802に適切なアドレスを設定することで、フラッシュメモリ312からのデータの読み出し、もしくはレジスタ1617の所定の領域のレジスタ値の読み出しを実行することも可能である。
【0102】
さらに、本実施の形態におけるSD-PCIeスレーブ装置1610において、PCIe I/Fを介したデータ書き込み、またはSD I/FモードにおけるSD I/Fを介したデータ書き込みでは、比較的大きな書き込み単位でフラッシュメモリ312にデータが書き込まれる。これに対し、本実施の形態のようにPCIeモードにおけるSD I/F(SDCLKライン322aおよびCMDライン322bのみ使用)を介したデータ書き込みでは、比較的小さな書き込み単位でフラッシュメモリ312にデータが書き込まれる。
【0103】
このとき、図19に示すように、フラッシュメモリ312を大きな書き込み単位に適した大ブロックサイズ領域1901と、小さな書き込み単位に適した小ブロックサイズ領域1902とに分割する。そして、PCIe I/Fを介したデータ書き込み、またはSD I/FモードにおけるSD I/Fを介したデータ書き込みでは大ブロックサイズ領域1901にデータを書き込み、PCIeモードにおけるSD I/Fを介したデータ書き込みでは小ブロックサイズ領域1902にデータを書き込む。これにより、フラッシュメモリ312への効率のよい書き込みが実現可能となり、フラッシュメモリ312の長寿命化につなげることができる。
【0104】
[第4の実施の形態]
図20は、本発明の第4の実施の形態にかかるメモリシステムの構成について説明した図である。図20は、SD-PCIeホスト装置2000、ホスト装置半導体チップ2001、ホストSD物理層2004、ホストPCIe物理層2005、SD-PCIeスレーブ装置2010、スレーブ装置半導体チップ2011、スレーブSD物理層2014、スレーブPCIe物理層2015を示している。ホストPCIe物理層2005はRx検知回路2007およびリセット回路2008を含む。スレーブSD物理層2014はレジスタ2017を含む。スレーブPCIe物理層2015はリセット回路2018を含む。レジスタ2017は、所定のアドレス領域に「1」を書き込むことで、スレーブPCIe物理層2015内のリセット回路2018をイネーブルにする。
【0105】
SD-PCIeホスト装置2000およびSD-PCIeスレーブ装置2010の接続形態は図3と同様である。
【0106】
図21は、本発明の第4の実施の形態にかかるSD-PCIeホスト装置2000およびSD-PCIeスレーブ装置2010間の通信について説明した図であり、図22は、図21におけるCMDライン322b上の通信の詳細を説明した図である。
【0107】
以下図20から図22を用いて、本発明の第4の実施の形態について説明する。
【0108】
本実施の形態においては、第2の実施の形態と同様、SD-PCIeホスト装置2000、SD-PCIeスレーブ装置2010はいずれも図12と同様PCIe I/Fモードになっており、かつ両者の初期化が完了してメモリアクセスステージ1014に移行している。またSD-PCIeホスト装置2000は、REFCLK+/DAT0ライン323aおよびREFCLK-/DAT1ライン323bを介してREFCLK信号1401をSD-PCIeスレーブ装置2010に供給している。
【0109】
本実施の形態において、PCIe I/Fに何らかの異常が発生しているとき、PCIeSD-PCIeホスト装置2000が高速ダウンストリームライン324を用いてSD-PCIeスレーブ装置2010に制御指示パケット2101aを送信しても、期待される制御指示応答パケット2101bを受信できない。このようにホストPCIe物理層2005内のRx検知回路2007が、本来受信すべきパケットが受信できなかったとき、ホスト装置半導体チップ2001は、以下に説明するようにPCIe I/Fのリセットを試みる。
【0110】
Rx検知回路2007はホストSD物理層2004に、スレーブ装置半導体チップ2011をリセットするために、ホストSD物理層2004にPCIe I/Fとは独立なCMDライン322bを介してレジスタアクセスコマンド2102aを、SD-PCIeスレーブ装置2010に対して送信するように指示する。レジスタアクセスコマンド2102aには、図22のように少なくとも1ビット長のRead/Writeフラグ2201、17ビット長のレジスタアドレス領域2202、8ビット長のコマンド内データ領域2203を含む。
【0111】
本実施の形態においては、スレーブSD物理層2014内のレジスタ2017の所定のアドレスに「1」を設定するので、Read/Writeフラグ2201にはWriteを意味する「0」を、レジスタアドレス領域2202には、リセット指示に対応する所定のアドレス「A」を設定する。さらにコマンド内データ領域2203には「1」を設定する。
【0112】
レジスタアクセスコマンド2102aを受信したスレーブSD物理層2014は、レジスタアドレス領域2202に示されるアドレス「A」がリセット指示に対応していること、さらにコマンド内データ領域2203には「1」が設定されていることから、スレーブPCIe物理層2015内のリセット回路2018にリセット指示を通知する。レジスタ2017からのリセット指示を受けたリセット回路2018は、スレーブPCIe物理層2015をリセットする。
【0113】
その後、スレーブ装置半導体チップ2011は、レジスタアクセスレスポンス2102bをCMDライン322bを介してSD-PCIeホスト装置2000に送信する。このとき、レジスタアクセスレスポンス2102b内のレスポンス内データ領域2204には、特に設定を行わない(設定された値はDon’t careとみなされる)。これをもってSD-PCIeスレーブ装置2010はメモリアクセスステージ1014を終了する。
【0114】
さらにホストPCIe物理層2005内のRx検知回路2007は、同じくホストPCIe物理層2005内のリセット回路2008にリセット指示を通知する。Rx検知回路2007からのリセット指示を受けたリセット回路2008は、以下の通りホストPCIe物理層2005をリセットする。
【0115】
ホストPCIe物理層2005は、REFCLK+/DAT0ライン323aおよびREFCLK-/DAT1ライン323bを介したREFCLK信号1401の供給を停止する(2103)。をSD-PCIeスレーブ装置2010に供給している。続いて第二電源供給部303に対し、VDD2ライン321bを介した1.8V電源の供給の停止を指示する(2104)。これをもってSD-PCIeホスト装置2000はメモリアクセスステージ1014を終了する。
【0116】
所定時間の経過後、ホストPCIe物理層2005は第二電源供給部303に対し、VDD2ライン321bを介した1.8V電源の供給再開を指示する(2105)。これによりPCIe I/F初期化ステージ2112に移行する。
【0117】
続いてREFCLK+/DAT0ライン323aおよびREFCLK-/DAT1ライン323bを介して、REFCLK信号1401の供給を再開する(2106)。
【0118】
その後第1の実施の形態と同様、ホスト装置半導体チップ2001は、SD-PCIeスレーブ装置2010に対してPCIe初期化指示パケット2107aを送信し、スレーブ装置半導体チップ2011はSD-PCIeホスト装置2000に対してPCIe初期化応答パケット2107bを送信する。PCIeバスの初期化が終了することで、PCIe I/F初期化ステージ2112からメモリアクセスステージ2113に移行する。
【0119】
以上説明したように、本実施の形態によれば、PCIe I/Fと独立したSD I/Fにより、異常状態に陥ったPCIe I/Fのリセットを行うことが可能である。もしSD I/Fが利用可能でなければ、SD-PCIeホスト装置2000およびSD-PCIeスレーブ装置2010全体のリセットが必要となる。この場合フラッシュメモリ312の初期化も必要となり、正常に回復するまでの時間がさらに長くなる。
【0120】
なお、PCIe I/FをリセットするためのPERST#信号をPERST#/DAT3ライン323dを介して送受信することも可能であるが、ホストPCIe物理層2005もしくはスレーブPCIe物理層2015が異常状態に陥っている場合は、PERST#信号が正しく送受信できる保証がないため、本実施の形態の利用が好ましい。
【0121】
なお本実施の形態では、レジスタ2017の所定のアドレスに「1」を書き込むことでリセット回路2018を作用させ、スレーブPCIe物理層2015をリセットする例について説明したが、他にもレジスタ2017の所定のアドレスに「1」を書き込むことでスレーブ装置半導体チップ2011の動作モードを変更するなど、何らかの設定を変更する場合にも利用できる。
【0122】
また、本実施の形態2から4において、SD I/F上でのデータ送受信はPCIe I/F上のデータ送受信に依存しないため、双方のI/Fを独立に設計することが可能である。
【産業上の利用可能性】
【0123】
本開示は、低速I/Fと高速I/Fとを併せ持つ、SDメモリカードをはじめとするスレーブ装置と対応ホスト装置、及び前記ホスト装置及びスレーブ装置からなるメモリシステムに適用することができる。
【符号の説明】
【0124】
100 従来SDカード
200 SD-PCIeカード
300 SD-PCIeホスト装置
301 ホスト装置半導体チップ
302 第一電源供給部
303 第二電源供給部
304 ホストSD物理層
305 ホストPCIe物理層
310 SD-PCIeスレーブ装置
311 スレーブ装置半導体チップ
312 フラッシュメモリ
314 スレーブSD物理層
315 スレーブPCIe物理層
321a VDD1ライン
321b VDD2ライン
322a SDCLKライン
322b CMDライン
323a REFCLK+/DAT0ライン
323b REFCLK-/DAT1ライン
323c CLKREQ#/DAT2ライン
323d PERST#/DAT3ライン
324 高速ダウンストリームライン
324a 高速ダウンストリーム+ライン
324b 高速ダウンストリーム-ライン
325 高速アップストリームライン
325a 高速アップストリーム+ライン
325b 高速アップストリーム-ライン
403a I/F確認コマンド
403b I/F確認レスポンス
407a PCIe初期化指示パケット
407b PCIe初期化応答パケット
408a フラッシュメモリ初期化指示パケット
408b フラッシュメモリ初期化応答パケット
411 SD I/F初期化ステージ
412 PCIe I/F初期化ステージ
413 フラッシュメモリ初期化ステージ
414 メモリアクセスステージ
501 PCIeサポートフラグ
502 PCIeサポートフラグ
800 SD-PCIeホスト装置
801 ホスト装置半導体チップ
802 スイッチ群
900 SD-PCIeホスト装置
901 ホスト装置半導体チップ
904 ホストSD物理層
905 ホストPCIe物理層
910 SD-PCIeスレーブ装置
911 スレーブ装置半導体チップ
914 スレーブSD物理層
915 スレーブPCIe物理層
1001a フラッシュメモリ初期化コマンド
1001b フラッシュメモリ初期化レスポンス
1011 SD I/F初期化ステージ
1012 PCIe I/F初期化ステージ
1013 フラッシュメモリ初期化ステージ
1014 メモリアクセスステージ
1300 SD-PCIeホスト装置
1301 ホスト装置半導体チップ
1304 ホストSD物理層
1310 SD-PCIeスレーブ装置
1311 スレーブ装置半導体チップ
1314 スレーブSD物理層
1316 温度センサー
1317 レジスタ
1402a 制御指示パケット
1402b 制御指示応答パケット
1403a 読み出し指示パケット
1403b 読み出しデータパケット
1404 書き込み指示および書き込みデータパケット
1405a レジスタアクセスコマンド
1405b レジスタアクセスレスポンス
1501 Read/Writeフラグ
1502 レジスタアドレス領域
1503 コマンド内データ領域
1504 レスポンス内データ領域
1600 SD-PCIeホスト装置
1601 ホスト装置半導体チップ
1604 ホストSD物理層
1610 SD-PCIeスレーブ装置
1611 スレーブ装置半導体チップ
1614 スレーブSD物理層
1617 レジスタ
1701a レジスタアクセスコマンド
1701b レジスタアクセスレスポンス
1711 メモリアクセス休止ステージ
1801 Read/Writeフラグ
1802 レジスタアドレス領域
1803 コマンド内データ領域
1804 レスポンス内データ領域
1901 大ブロックサイズ領域
1902 小ブロックサイズ領域
2000 SD-PCIeホスト装置
2001 ホスト装置半導体チップ
2004 ホストSD物理層
2005 ホストPCIe物理層
2007 Rx検知回路
2008 リセット回路
2010 SD-PCIeスレーブ装置
2011 スレーブ装置半導体チップ
2014 スレーブSD物理層
2015 スレーブPCIe物理層
2017 レジスタ
2018 リセット回路
2101a 制御指示パケット
2101b 制御指示応答パケット
2102a レジスタアクセスコマンド
2102b レジスタアクセスレスポンス
2107a PCIe初期化指示パケット
2107b PCIe初期化応答パケット
2112 PCIe I/F初期化ステージ
2113 メモリアクセスステージ
2201 Read/Writeフラグ
2202 レジスタアドレス領域
2203 コマンド内データ領域
2204 レスポンス内データ領域
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22