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

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

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

特許7243923ホスト装置、スレーブ装置およびデータ転送システム
<>
  • 特許-ホスト装置、スレーブ装置およびデータ転送システム 図1
  • 特許-ホスト装置、スレーブ装置およびデータ転送システム 図2
  • 特許-ホスト装置、スレーブ装置およびデータ転送システム 図3
  • 特許-ホスト装置、スレーブ装置およびデータ転送システム 図4
  • 特許-ホスト装置、スレーブ装置およびデータ転送システム 図5
  • 特許-ホスト装置、スレーブ装置およびデータ転送システム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-03-13
(45)【発行日】2023-03-22
(54)【発明の名称】ホスト装置、スレーブ装置およびデータ転送システム
(51)【国際特許分類】
   G06F 13/42 20060101AFI20230314BHJP
【FI】
G06F13/42 350B
【請求項の数】 9
(21)【出願番号】P 2022515818
(86)(22)【出願日】2021-10-25
(86)【国際出願番号】 JP2021039261
(87)【国際公開番号】W WO2022113601
(87)【国際公開日】2022-06-02
【審査請求日】2022-03-16
(31)【優先権主張番号】P 2020193974
(32)【優先日】2020-11-24
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100106116
【弁理士】
【氏名又は名称】鎌田 健司
(74)【代理人】
【識別番号】100131495
【弁理士】
【氏名又は名称】前田 健児
(72)【発明者】
【氏名】小野 正
(72)【発明者】
【氏名】加藤 勇雄
【審査官】局 成矢
(56)【参考文献】
【文献】特開2013-101636(JP,A)
【文献】特開2013-214221(JP,A)
【文献】特開2010-140266(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/42
(57)【特許請求の範囲】
【請求項1】
スレーブ装置と、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインとで接続されるホスト装置であって、
前記スレーブ装置と接続された後に、前記スレーブ装置に前記電源ラインで電源を供給し、
前記スレーブ装置に第1の周波数および第1の電圧値を有する第1のクロックを前記クロックラインで供給し、
前記コマンドラインがハイレベルになった後に、前記コマンドラインをローレベルにドライブし、
前記第1のクロックの供給を停止し、
前記データラインがローレベルにドライブされた状態で前記スレーブ装置に第2の周波数および第2の電圧値を有する第2のクロックを前記クロックラインで供給し、
前記第2のクロックの供給後から第1の所定期間内に前記データラインがハイレベルにドライブされた場合であって、第2の所定期間内に前記スレーブ装置からブートデータを前記データラインで受信した場合は、当該受信したブートデータを用いて起動処理を行い、
前記第1のクロックの供給を停止してから少なくとも前記第2のクロックを供給するまでの期間は、前記コマンドラインをローレベルにドライブし続ける、
ホスト装置。
【請求項2】
前記コマンドラインがハイレベルになった後であって、前記コマンドラインをローレベルにドライブするより前に、前記スレーブ装置に初期化コマンドを送信し、
当該初期化コマンドには前記ブートデータの転送に用いるモードを特定する情報が記載される、
請求項1に記載のホスト装置。
【請求項3】
前記ブートデータを受信する前に、前記スレーブ装置から前記ブートデータの読み出しに用いるデータを含むチューニングブロックを受信する、
請求項1に記載のホスト装置。
【請求項4】
ホスト装置と、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインとで接続されるスレーブ装置であって、
前記ホスト装置と接続された後に、前記ホスト装置から前記電源ラインで電源を供給され、
前記ホスト装置から第1の周波数および第1の電圧値を有する第1のクロックを前記クロックラインで供給され、
前記コマンドラインがハイレベルになった後に、前記コマンドラインがローレベルにドライブされ、
前記第1のクロックの供給を停止され、
前記データラインがローレベルにドライブされた状態で前記ホスト装置から第2の周波数および第2の電圧値を有する第2のクロックを前記クロックラインで供給され、
前記第2のクロックの供給後から第1の所定期間内に前記データラインをハイレベルにドライブし、第2の所定期間内に前記スレーブ装置からブートデータを前記データラインで送信し、
前記第1のクロックの供給を停止してから少なくとも前記第2のクロックを供給するまでの期間は、前記コマンドラインをローレベルにドライブされ続ける、
スレーブ装置。
【請求項5】
前記コマンドラインがハイレベルになった後、前記コマンドラインがローレベルにドライブされるより前に、前記ホスト装置から初期化コマンドを受信し、
当該初期化コマンドには前記ブートデータの転送に用いるモードを特定する情報が記載される、
請求項4に記載のスレーブ装置。
【請求項6】
前記ブートデータを送信する前に、前記ホスト装置に前記ブートデータの読み出しに用いるデータを含むチューニングブロックを送信する、
請求項4に記載のスレーブ装置。
【請求項7】
スレーブ装置と、
少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインとで前記スレーブ装置と接続されるホスト装置と、を有するデータ転送システムであって、
前記ホスト装置は、前記スレーブ装置と接続された後に、前記スレーブ装置に前記電源ラインで電源を供給し、
前記ホスト装置は、前記スレーブ装置に第1の周波数および第1の電圧値を有する第1のクロックを前記クロックラインで供給し、
前記ホスト装置は、前記コマンドラインがハイレベルになった後に、前記コマンドラインをローレベルにドライブし、
前記ホスト装置は、前記第1のクロックの供給を停止し、
前記ホスト装置は、前記データラインがローレベルにドライブされた状態で前記スレーブ装置に第2の周波数および第2の電圧値を有する第2のクロックを前記クロックラインで供給し、
前記スレーブ装置は、前記第2のクロックの供給後から第1の所定期間内に前記データラインをハイレベルにドライブし、第2の所定期間内に前記スレーブ装置からブートデータを前記データラインで送信し、
前記ホスト装置は、当該受信したブートデータを用いて起動処理を行い、
前記ホスト装置は、前記第1のクロックの供給を停止してから少なくとも前記第2のクロックを供給するまでの期間は、前記コマンドラインをローレベルにドライブし続ける、
データ転送システム。
【請求項8】
前記コマンドラインがハイレベルになった後、前記ホスト装置が前記コマンドラインをローレベルにドライブするより前に、前記スレーブ装置に初期化コマンドを発行し、
当該初期化コマンドには前記ブートデータの転送に用いるモードを特定する情報が記載される、
請求項7に記載のデータ転送システム。
【請求項9】
前記ホスト装置が前記ブートデータを前記スレーブ装置から受信する前に、前記スレーブ装置から前記ブートデータの読み出しに用いるデータを含むチューニングブロックを受信する、
請求項7に記載のデータ転送システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ホスト装置、スレーブ装置、およびこれらの装置が形成するデータ転送システムに関する。
【背景技術】
【0002】
近年、記憶媒体(スレーブ装置)として、SDカード(登録商標)、コンパクトフラッシュ(登録商標)等が普及している。スレーブ装置がパソコンやカメラのようなホスト装置に接続されることでデータ転送システムを形成し、データ転送システム内においてデータの送受信が行われる。
【0003】
特許文献1は、ユーザがスレーブ装置をブート可能媒体として用いることができるようにする技術を開示している。
【0004】
特許文献2は、スレーブ装置とホスト装置との間で使用されるインタフェース電圧を切り替える技術を開示している。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2015-62131号公報
【文献】特開2013-101636号公報
【発明の概要】
【0006】
特許文献1に記載の技術は、スレーブ装置が多様な動作モードに対応している場合を想定していない。
【0007】
特許文献2に記載の技術は、インタフェース電圧を切り替えることで高速なインタフェース処理を可能としている。しかし、この技術を特許文献1に記載の技術のようなブートデータ転送に用いると、切り替え時間のオーバーヘッドが相対的に大きくなるためブートデータの転送効率を悪化させる。
【0008】
本開示はブートデータの転送効率を高めることが可能なホスト装置、スレーブ装置およびデータ転送システムを提供する。
【0009】
本開示のデータ転送システムは、スレーブ装置と、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインとで前記スレーブ装置と接続されるホスト装置を有するデータ転送システムである。
【0010】
前記ホスト装置は、前記スレーブ装置と接続された後に、前記スレーブ装置に前記電源ラインで電源を供給する。前記ホスト装置は、前記スレーブ装置に第1の周波数および第1の電圧値を有する第1のクロックを前記クロックラインで供給する。前記ホスト装置は、前記コマンドラインがハイレベルになった後に前記コマンドラインをローレベルにドライブする。前記ホスト装置は、前記第1のクロックの供給を停止する。前記ホスト装置は、前記データラインがローレベルにドライブされた状態で前記スレーブ装置に第2の周波数および第2の電圧値を有する第2のクロックを前記クロックラインで供給する。
【0011】
前記スレーブ装置は、前記第2のクロックの供給後から第1の所定期間内に前記データラインをハイレベルにドライブし、第2の所定期間内に前記スレーブ装置からブートデータを前記データラインで送信する。
【0012】
前記ホスト装置は、当該受信したブートデータを用いて起動処理を行う。前記ホスト装置は、前記第1のクロックの供給を停止してから少なくとも前記第2のクロックを供給するまでの期間は、前記コマンドラインをローレベルにドライブし続ける。
【0013】
本開示はブートデータの転送効率を高めることが可能なホスト装置、スレーブ装置およびデータ転送システムを提供することができる。
【図面の簡単な説明】
【0014】
図1】ホスト装置にスレーブ装置が接続されたデータ転送システムの構成について説明したブロック図
図2】ホスト装置及びスレーブ装置における、電源起動後のタイミングチャートの模式図
図3】ホスト装置及びスレーブ装置における、シーケンスの模式図
図4】本実施の形態の変形例を示すタイミングチャートの模式図
図5】本実施の形態の変形例を示すタイミングチャートの模式図
図6】本実施の形態の変形例を示すタイミングチャートの模式図
【発明を実施するための形態】
【0015】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【0016】
なお、発明者は、当業者が本開示を十分に理解するために添付図面及び以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
【0017】
[1.データ転送システムの構成]
図1は、ホスト装置100にスレーブ装置120が接続されたデータ転送システムの構成について説明したブロック図である。図1に示すように、ホスト装置100は、少なくとも電源101、SoC102を備えている。そして、SoC102は、少なくともレギュレータ103、2つの電源入力のうち一方を選択する電気的スイッチであるSW104、ホスト装置I/F105、コントローラ106を備える。なおレギュレータ103は、SoC102の外部に配置することも可能である。
【0018】
ホスト装置100と、スレーブ装置120とは、機械的に接続される。また、ホスト装置100は、3.3V電源ラインであるVDDライン110を介して、スレーブ装置120と電気的に接続される。
【0019】
スレーブ装置120は、少なくともSoC121、バックエンドモジュール126を備えている。バックエンドモジュール126は、フラッシュメモリのような記録媒体や無線通信モジュールのようなデバイスを指す。そして、SoC121は、少なくともレギュレータ122、SW123、スレーブ装置I/F124、コントローラ125を備える。なおレギュレータ122は、SoC121の外部に配置することも可能である。本実施の形態ではスレーブ装置120の一例としてSDカードを用いた説明を行う。ただしスレーブ装置120はSDカードに限られない。コンパクトフラッシュ(登録商標)やメモリースティック(登録商標)もスレーブ装置120の一例である。
【0020】
ホスト装置I/F105と、スレーブ装置I/F124とは、CLK(クロック)ライン111、CMD(コマンド)ライン112、DAT(データ)ライン113を含むライン介して、信号通信を行う。なおDATライン113は、DAT0ライン113a、DAT1ライン113b、DAT2ライン113c、DAT3ライン113dの4本の信号線を含む。
【0021】
[2.データ転送システムの動作]
以下図1から図3を用いて、ホスト装置100にスレーブ装置120が接続されたときに実行されるブートデータの転送動作について説明する。
【0022】
なお本説明において、信号がローレベルであるとは、信号の電圧が0V及びその近傍にある状態であることをいう。信号がハイレベルであるとは、信号の電圧がローレベルより高く、かつローレベルの信号と識別が可能な状態であることをいう。なおハイレベルを表す電圧値はデータ転送システムの用途に応じて定めることが可能である。本実施の形態では3.3Vの高電圧信号および1.8Vの低電圧信号がハイレベルを表す電圧値の例として使用される。
【0023】
図2は、ホスト装置100及びスレーブ装置120における、電源起動後のタイミングチャートの模式図である。
【0024】
図3は、ホスト装置100及びスレーブ装置120における、シーケンスの模式図である。
【0025】
ホスト装置100は、スレーブ装置120が接続されたタイミングt1からブートデータの転送動作が開始する(S300、S350)。ホスト装置100は、タイミングt2において、電源101から3.3V電源を供給する。3.3V電源はSoC102、レギュレータ103、SW104、さらにVDDライン110を介してスレーブ装置120に供給される。さらにホスト装置100は、タイミングt2において、DATライン113を3.3Vにプルアップ(図2中の3.3V pull-up)する(S302)。
【0026】
ホスト装置100はVDDライン110に印可される電圧がタイミングt3において2.7Vに達した後に、CLKライン111に第1のクロックを送出する(S304)。第1のクロックの周波数は400KHz以下(第1の周波数)である。第1のクロックの電圧値は3.3V(第1の電圧値)である。
【0027】
ホスト装置100は、第1のクロックを所定クロック数(一例としては74クロック以上)送出した後、初期化コマンドをカード装置に送出する(S306)。初期化コマンドとはホスト装置100とスレーブ装置120との間のデータ転送を行う為に必要な処理を行うためにホスト装置100が送出する情報である。なお、本開示において初期化コマンドは単一のコマンドのみを意味する言葉としてだけではなく、複数のコマンドの集合を意味する言葉としても用いられる。図2に示されるように、SDカードに関する規格で定められたコマンドであるCMD0およびCMD8も初期化コマンドの一例である。
【0028】
スレーブ装置120はホスト装置100からの初期化コマンドを受け付けると、当該初期化コマンドに対するレスポンスをホスト装置100に送出する(S352)。レスポンスとはホスト装置100からのコマンドをスレーブ装置が認識したことを示す情報である。図2に示されるように、SDカードに関する規格で定められたレスポンスであるR7はレスポンスの一例である。なおCMD0には、対応するレスポンスは存在しない。
【0029】
ホスト装置100はスレーブ装置120からのレスポンスを受けると、ブートデータの受信を求める為に、タイミングt4においてCMDライン112をローレベルにドライブする(S308)。なお、ホスト装置100が本実施の形態で説明するブートデータの受信を求めない、またはブートデータの受信機能に対応していない場合は、CMDライン112はローレベルにドライブされない。なお、本実施の形態において、各ラインのドライブはホスト装置100またはスレーブ装置120またはその他の外部機器によって行われても良い。例えばタイミングt4においてCMDライン112をローレベルにドライブする主体はスレーブ装置120であってもよい。以下本実施の形態としては各ラインをドライブする主体を便宜的に定めて説明する。
【0030】
ホスト装置100はタイミングt4に引き続くタイミングt5において、CLKライン111への第1のクロックの送出を停止する(S310)。これは今後の処理においてCLKライン111に第2のクロックを送出する為の動作である。
【0031】
スレーブ装置120はCMDライン112がローレベルにドライブされたことを検知しない場合は(S354でN)、スレーブ装置120の規格等で定められた通常の初期化動作を行う(S356(その後の動作は省略))。
【0032】
スレーブ装置120は、CMDライン112がローレベルにドライブされたことを検知した場合(S354でY)、所定の期間経過後にDATライン113をローレベルにドライブする(S360)。
【0033】
ホスト装置100はCLKライン111にクロックを供給せず、かつ、CMDライン112、DATライン113がローレベルである期間内(図2における網掛け期間内)において自身の転送モードをそれまでのモードよりも高速な高速転送モードに遷移させる(S362)。ホスト装置がスレーブ装置としてのSDカードに対応したホスト装置である場合、高速転送モードの一例としてはDDR50モードというモードがある。DDR50モードにおいてはデータ転送に用いるバス幅が1bitから4bitに拡張される。また、DDR50モードにおいてはデータ転送に用いるクロックのサンプリングがクロックの両エッジを用いて行われる。また、DDR50においてはデータ転送に用いるクロックの電圧値が1.8Vとなる。また、DDR50においてはデータ転送に用いるクロックの周波数が最大50MHzとなる。
【0034】
スレーブ装置120もCLKライン111にクロックが供給されず、かつ、CMDライン112、DATライン113がローレベルである期間(図2における網掛け期間)において自身の転送モードをそれまでのモードよりも高速な高速転送モード(本実施の形態ではDDR50)に遷移させる(S312)。
【0035】
ホスト装置100はタイミングt5から所定期間(一例としては5ms)経過後のタイミングt6においてCLKライン111に第2のクロックを送出する(S314)。第2クロックの周波数は50MHz以上(第2の周波数)である。第2クロックの電圧値は1.8V(第2の電圧値)である。
【0036】
スレーブ装置120はタイミングt6から所定期間(一例としては1ms)以内のタイミングt7においてDATライン113をハイレベル(1.8V)にドライブ(図2中の1.8V driven by card)する(S364)。
【0037】
図2に示すように、タイミングt2からt6までの期間をブート初期化モード(Boot initialization mode)と呼ぶ。またタイミングt6以降の期間をブートモード(Boot mode)と呼ぶ。
【0038】
スレーブ装置120はタイミングt6から所定期間(一例としては100ms)以内のタイミングt8においてDATライン113を介してホスト装置100にブートデータを送信する(S366)。
【0039】
ホスト装置100はブートデータを受信すると(S316でY)、タイミングt9においてCMDライン112をハイレベル(1.8V)にドライブする(S320)。なお、ホスト装置100はブートデータを受信しない場合は(S316でN)、通常モードでの初期化を行う(S318)。ここで通常モードの初期化は、遷移前のモードよりも低速モードでの初期化を意味する。本実施の形態では通常モードの初期化はDDR50より低速なDSモードでの初期化である。DSモードにおいてはデータ転送に用いるバス幅が4bitから1bitに縮小される。また、DSモードにおいてはデータ転送に用いるクロックのサンプリングがクロックの片方のエッジを用いて行われる。また、クロック周波数はバックエンドモジュール126の初期化が完了するまでは最大で400kHz、バックエンドモジュール126の初期化完了後DATライン113を介したデータ送受信を行うときは最大で25MHzである。
【0040】
ホスト装置100はブートデータを受信するとブートデータの転送処理を終了する(S322)。ホスト装置100は、その後にバックエンドモジュール126の初期化およびブートデータを用いたホスト装置100等の起動を行う。
【0041】
スレーブ装置120はCMDライン112がハイレベルにドライブされたことを確認し(S368、S370)、ブートデータの転送処理を終了する(S370)。
【0042】
以上のように、本出願において開示する技術の例示として実施の形態を説明した。本開示における技術は、これに限定されず、変更、置き換え、付加、省略などを行った実施の形態にも適用できる。
【0043】
例えば、S306およびS352の処理は省略をしても良い。すなわち初期化コマンドの発行及びレスポンスを省略しても良い。このようにすると、より高速にブートデータの転送処理を行うことができる。
【0044】
また、ブートデータの転送に用いるモードをより高速なものにしても良い。例えば、より高速なSDR104というモードを用いても良い。本モードにおいてはクロック周波数が最大208MHzとなる。ただし、本モードにおいてはホスト装置100が受信するデータのサンプリングポイントを見極めるため、スレーブ装置120がチューニングブロックというデータをブートデータの送信に先立ってホスト装置100に送信する必要がある(詳細は後述)。このようにすると、より高速にブートデータの転送処理を行うことができる。
【0045】
さらに、S306およびS352の内容を変更してもよい。例えば、初期化コマンド(一例としてはCMD0、CMD8又はその両方)の内容に先に述べたブートデータの転送モードの種類を特定する情報を記載することで、ブートデータの転送モードを装置の能力に応じて可変とすることができる。
【0046】
上記説明した構成要素のバリエーションをそれぞれ組み合わせた形態は本開示の実施の形態に含まれることは言うまでもない。例えば図4から図6は本実施の形態の変形例を示すタイミングチャートの模式図である。図4は、初期化コマンドの発行及びレスポンスを省略しつつ、転送モードをDDR50とした例を示す。図5は初期化コマンドの発行及びレスポンスを省略しつつ、転送モードをSDR104とした例を示す。図6は、初期化コマンドにおけるCMD8に転送モードをSDR104とする旨の情報を記載した例を示す。なお、初期化コマンドにおけるCMD8に転送モードをDDR50とする旨の情報を記載した例を示すタイミングチャートは図2とほぼ同一になる為(CMD0またはCMD8の中身が異なる)省略する。
【0047】
上述したように、図5および図6に示すように転送モードとしてSDR104を用いる場合、ホスト装置I/F105はデータを正しく受信するためにチューニングと言うプロセスを必要とする。転送モードがSDR104のとき、スレーブ装置I/F124はタイミングt8でブートコードに先立ち所定の回数(一例として40回)、所定の間隔(一例として128クロック期間)を空けながら繰り返しチューニングブロックをDATライン113を介して送出する。チューニングブロックとはチューニングを行うために予め規定されたデータパターンであって、ホスト装置I/F105は、DATライン113のサンプリングポイントを適宜変更しながら順次チューニングブロックを受信し、適切なサンプリングポイントを見出す。チューニングを実施することで、SDR104のような高周波数クロックを使用している場合でもDATライン113上のデータを正しく受信することができるようになる。
【0048】
[3.まとめ]
本実施の形態において、第1のクロックの供給を停止してから少なくとも前記第2のクロックを供給するまでの期間(タイミングt4からタイミングt6までの期間)CMDライン112はローレベルにドライブされ続ける。すなわち当該期間内にホスト装置100とスレーブ装置120との間でコマンドのやり取りは無い。本実施の形態においては当該期間にコマンドのやり取りを行うことなく、より高速なモードであるDDR50やSDR104でブートデータを転送する。よって、コマンド転送やコマンド解釈に必要なオーバーヘッド時間を削減することができる。結果として、ブートデータの転送効率を高めることが可能である。
【0049】
また、本実施の形態においてはt4までに、ホスト装置100およびスレーブ装置120との間でブートデータ転送処理の開始および転送モードについて合意が成立している。よって第1のクロックの供給を停止してから少なくともDATライン113がハイレベルにドライブされるまで(タイミングt7)またはブートデータが送信されるまで(タイミングt8)CMDライン112をローレベルにドライブし続けることで、ブートデータの転送効率を高めてもよい。
【0050】
また、本実施の形態においてCMDライン112をハイレベルにドライブした後であって、ローレベルにドライブするより前に、スレーブに初期化コマンドを発行し、当該初期化コマンドにはブートデータの転送に用いるモードを特定する情報が記載される例を説明した。このようにすると、上述したようにブートデータの転送モードを装置の能力に応じて可変とすることができる。
【産業上の利用可能性】
【0051】
本開示は、SDカードをはじめとするスレーブ装置と対応ホスト装置、及び前記ホスト装置及びスレーブ装置を有するデータ転送システムに適用することができる。
【符号の説明】
【0052】
100 ホスト装置
101 電源
102 SoC
103 レギュレータ
104 SW
105 ホスト装置I/F
106 コントローラ
110 VDDライン
111 CLKライン
112 CMDライン
113 DATライン
113a DAT0ライン
113b DAT1ライン
113c DAT2ライン
113d DAT3ライン
120 スレーブ装置
121 SoC
122 レギュレータ
123 SW
124 スレーブ装置I/F
125 コントローラ
126 バックエンドモジュール
図1
図2
図3
図4
図5
図6