JP7320707B2 - ホスト装置、スレーブ装置およびデータ転送システム - Google Patents

ホスト装置、スレーブ装置およびデータ転送システム Download PDF

Info

Publication number
JP7320707B2
JP7320707B2 JP2022534377A JP2022534377A JP7320707B2 JP 7320707 B2 JP7320707 B2 JP 7320707B2 JP 2022534377 A JP2022534377 A JP 2022534377A JP 2022534377 A JP2022534377 A JP 2022534377A JP 7320707 B2 JP7320707 B2 JP 7320707B2
Authority
JP
Japan
Prior art keywords
line
clock
data
slave device
host device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022534377A
Other languages
English (en)
Other versions
JPWO2022176358A5 (ja
JPWO2022176358A1 (ja
Inventor
正 小野
勇雄 加藤
卓治 前田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2022176358A1 publication Critical patent/JPWO2022176358A1/ja
Publication of JPWO2022176358A5 publication Critical patent/JPWO2022176358A5/ja
Application granted granted Critical
Publication of JP7320707B2 publication Critical patent/JP7320707B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)

Description

本開示は、ホスト装置、スレーブ装置、およびこれらの装置が形成するデータ転送システムに関する。
近年、記憶媒体(スレーブ装置)として、SDカード(登録商標)、コンパクトフラッシュ(登録商標)等が普及している。スレーブ装置がパソコンやカメラのようなホスト装置に接続されることでデータ転送システムを形成し、データ転送システム内においてデータの送受信が行われる。
特許文献1は、ユーザがスレーブ装置をブート可能媒体として用いることができるようにする技術を開示している。
また、ホスト装置とスレーブ装置間のアクセス速度向上に伴ってクロック信号の周波数が高くなると、ホスト装置がスレーブ装置から送信されるデータの打ち抜きタイミングの調整が必要である。特にホスト装置が、抜き差し可能なスレーブ装置であるSDカードと高速バス規格であるUHS-I(Ultra High Speed-1)で接続されている場合、打ち抜きタイミングは温度などの周辺環境、およびホスト装置ならびにSDカードの個体差により変動すること、そしてホスト装置とSDカードの組み合わせは無限に存在する。従って、起動の都度組み合わされたSDカードとホスト装置との間で打ち抜きタイミングを調整しないと、正しくデータを取得できなくなる可能性がある。なお、打ち抜きタイミングの調整は「チューニング」とも呼ばれる。
特許文献2は、スレーブ装置とホスト装置との間のチューニングに関する技術を開示している。
特開2015-62131号公報 特開2016-46781号公報
特許文献1に記載の技術に基づいて、ホスト装置がブート可能媒体としてのSDカードからUHS-Iを用いてブートデータを正しく受信できるようにするためには、ブートデータ受信前にチューニングを実施することが必要である。
一方特許文献2に記載の技術では、ホスト装置がチューニングを行うために、所定のチューニングコマンドを発行して、SDカードから固定データで構成されるチューニングブロックを受信する。
しかしながら、特許文献1に記載の技術に基づくブートデータ取得において、ホスト装置はブート開始指示からブートデータの転送完了までコマンドを送受信するための信号線をローレベルにドライブする必要がある。従って、特許文献2に記載されているようにチューニングコマンドを発行してチューニングブロックを取得するという方法が取れない。
本開示はコマンドを送受信するための信号線をローレベルにドライブしつつチューニングブロックを取得することが可能なデータ転送システムを提供する。
本開示のデータ転送システムは、スレーブ装置と、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインとで前記スレーブ装置と接続されるホスト装置を有するデータ転送システムである。
前記ホスト装置は、前記スレーブ装置と接続された後に、前記スレーブ装置に前記電源ラインで電源を供給する。前記ホスト装置は、前記スレーブ装置に第1の周波数および第1電圧値を有する第1のクロックを前記クロックラインで供給する。前記ホスト装置は、ハイレベルとなっている前記コマンドラインをローレベルにドライブする。前記ホスト装置は、前記第1のクロックの供給を停止する。前記ホスト装置は、前記データラインがローレベルにドライブされた状態で前記スレーブ装置に第2の周波数および第2電圧値を有する第2のクロックを前記クロックラインで供給する。
前記スレーブ装置は、前記第2のクロックの供給後から第1の所定期間内に前記データラインをハイレベルにドライブし、第2の所定期間内に前記スレーブ装置から少なくとも第3の所定期間の間隔を空けて前記ホスト装置に複数個のチューニングブロックを前記データラインで送信する。
前記ホスト装置は、前記データラインで受信した前記チューニングブロックを用いて打ち抜きタイミングを調整するチューニングを行う。
前記ホスト装置は、前記スレーブ装置からブートデータを前記データラインで受信し、当該受信したブートデータを用いて起動を行う。
本開示によれば、コマンドを送受信するための信号線をローレベルにドライブしつつチューニングブロックを取得することが可能なデータ転送システムを提供することができる。
ホスト装置にスレーブ装置が接続されたデータ転送システムの構成について説明したブロック図 ホスト装置及びスレーブ装置における、電源起動後のタイミングを示した模式図 ホスト装置及びスレーブ装置における、シーケンスの模式図 チューニングブロックについて説明した図 従来技術を適用した場合のチューニングブロック送受信のタイミングを示した模式図 本実施の形態におけるチューニングブロック送受信のタイミングを示した模式図 本実施の形態における別のチューニングブロック送受信のタイミングを示した模式図 ホスト装置及びスレーブ装置における、別の電源起動後のタイミングを示した模式図
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、発明者は、当業者が本開示を十分に理解するために添付図面及び以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
[1.データ転送システムの構成]
図1は、ホスト装置100にスレーブ装置120が接続されたデータ転送システムの構成について説明したブロック図である。図1に示すように、ホスト装置100は、少なくとも電源101、SoC102を備えている。そして、SoC102は、少なくともレギュレータ103、2つの電源入力のうち一方を選択する電気的スイッチであるSW104、ホスト装置I/F105、コントローラ106を備える。なおレギュレータ103は、SoC102の外部に配置することも可能である。
ホスト装置100と、スレーブ装置120とは、機械的に接続される。また、ホスト装置100は、3.3V電源ラインであるVDDライン110を介して、スレーブ装置120と電気的に接続される。
スレーブ装置120は、少なくともSoC121、バックエンドモジュール126を備えている。バックエンドモジュール126は、フラッシュメモリのような記録媒体や無線通信モジュールのようなデバイスを指す。そして、SoC121は、少なくともレギュレータ122、SW123、スレーブ装置I/F124、コントローラ125を備える。なおレギュレータ122は、SoC121の外部に配置することも可能である。本実施の形態ではスレーブ装置120の一例としてSDカードを用いた説明を行う。ただしスレーブ装置120はSDカードに限られない。コンパクトフラッシュ(登録商標)やメモリースティック(登録商標)もスレーブ装置120の一例である。
ホスト装置I/F105と、スレーブ装置I/F124とは、CLK(クロック)ライン111、CMD(コマンド)ライン112、DAT(データ)ライン113を含むライン介して、信号通信を行う。なおDATライン113は、DAT0ライン113a、DAT1ライン113b、DAT2ライン113c、DAT3ライン113dの4本の信号線を含む。
[2.データ転送システムの動作]
以下図1から図3を用いて、ホスト装置100にスレーブ装置120が接続されたときに実行されるチューニングブロックとブートデータの転送動作について説明する。
なお本説明において、信号がローレベルであるとは、信号の電圧が0V及びその近傍にある状態であることをいう。信号がハイレベルであるとは、信号の電圧がローレベルより高く、かつローレベルの信号と識別が可能な状態であることをいう。なおハイレベルを表す電圧値はデータ転送システムの用途に応じて定めることが可能である。本実施の形態では3.3Vの高電圧信号および1.8Vの低電圧信号がハイレベルを表す電圧値の例として使用される。
図2は、ホスト装置100及びスレーブ装置120における、電源起動後のタイミングチャートの模式図である。
図3は、ホスト装置100及びスレーブ装置120における、シーケンスの模式図である。
ホスト装置100は、スレーブ装置120が接続されたタイミングt1でスレーブ装置120の起動処理を開始する(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)。
ホスト装置100はVDDライン110に印可される電圧がタイミングt3において2.7Vに達した後に、CLKライン111に第1のクロックを送出する(S304)。第1のクロックの周波数は400KHz以下(第1の周波数)である。第1のクロックの電圧値は3.3V(第1の電圧値)である。
ホスト装置100は、第1のクロックを所定クロック数(一例としては74クロック以上)送出した後、タイミングt4でCMDライン112をハイレベルにドライブ(S306)し、さらにタイミングt4の後、タイミングt5でCMDライン112をローレベルにドライブ(S308)する。
ホスト装置100はタイミングt5に引き続くタイミングt6において、CLKライン111への第1のクロックの送出を停止する(S310)。これは今後の処理においてCLKライン111に第2のクロックを送出する為の動作である。
スレーブ装置120はCMDライン112がローレベルにドライブされたことを検知しない場合は(S352でN)、ホスト装置100から次の指示があるまで待機する(S354)。
スレーブ装置120は、CMDライン112がローレベルにドライブされたことを検知した場合(S352でY)、所定の期間経過後にDATライン113をローレベルにドライブする(S356)。
ホスト装置100はCLKライン111にクロックを供給せず、かつ、CMDライン112、DATライン113がローレベルである期間内(図2における網掛け期間内)において自身の転送モードをそれまでのモードよりも高速な高速転送モードに遷移させる(S312)。ホスト装置がスレーブ装置としてのSDカードに対応したホスト装置である場合、高速転送モードの一例としてUHS-I規格で規定されているSDR104モードというモードがある。SDR104モードにおいてはデータ転送に用いるバス幅が1bitから4bitに拡張される。また、SDR104モードにおいてはデータ転送に用いるクロックおよびデータ信号の電圧値が1.8Vとなる。クロックおよびデータ信号の電圧値を1.8Vにするために、コントローラ106はホスト装置I/F105への電源供給を、電源101から直接供給される3.3V電源に代わり、レギュレータ103を介して供給される1.8V電源に変更するよう、SW104を制御する。
また、SDR104モードにおいてはデータ転送に用いるクロックの周波数が最大208MHzとなる。
スレーブ装置120もCLKライン111にクロックが供給されず、かつ、CMDライン112、DATライン113がローレベルである期間(図2における網掛け期間)において自身の転送モードをそれまでのモードよりも高速な高速転送モード(本実施の形態ではSDR104モード)に遷移させる(S358)。このとき、コントローラ125はスレーブ装置I/F124への電源供給を、VDDライン110から直接供給される3.3V電源に代わり、レギュレータ122を介して供給される1.8V電源に変更するよう、SW123を制御する。
ホスト装置100はタイミングt6から所定期間(一例としては5ms)経過後のタイミングt7においてCLKライン111に第2のクロックを送出する(S314)。第2クロックの周波数は208MHz以下(第2の周波数)である。第2クロックの電圧値は1.8V(第2の電圧値)である。
図2において、タイミングt2からt7までの期間をブート初期化モード(Boot initialization mode)と呼ぶ。
スレーブ装置120はタイミングt7から所定期間(一例としては1ms)以内のタイミングt8においてDATライン113をハイレベル(1.8V)にドライブ(図2中では1.8V driven by slaveと記載)する(S360)。
スレーブ装置120はタイミングt7から所定期間(一例としては100ms)以内のタイミングt9においてDATライン113を介してホスト装置100に所定回数(一例では40回)のチューニングブロックを繰り返し送信する(S362)。
ホスト装置100はチューニングブロックを受信し、チューニングを実施する(S316)。具体的にはホスト装置100は、受信したチューニングブロックを読み取り、予め定義されたチューニングブロックが正しく取得できるかを確認する。データが正しく受信されていない場合は、各クロックの基準点に対するデータの打ち抜きタイミング(サンプリングポイント)が適切に設定されていないことを意味するため、サンプリングポイントを適宜ずらしながら、次回以降に受信するチューニングブロックを用いてチューニングを行う。
スレーブ装置120は、所定回数のチューニングブロックを送信後、ブートデータを送信する(S364)。
ホスト装置100はブートデータを受信する(S318)。ホスト装置100においてチューニングが正しく実行されていれば、ブートデータを正しく受信することができる。
ホスト装置100がブートデータの受信を完了すると(S318でY)、タイミングt10においてCMDライン112をハイレベル(1.8V)にドライブする(S322)。これによりチューニングブロックおよびブートデータの送信および受信が終了する(S324)。ホスト装置100は、その後にバックエンドモジュール126の初期化およびブートデータを用いたホスト装置100等の起動を行う。起動完了後、ホスト装置100とスレーブ装置120との間ではデータブロックによるデータの読み書きが実施される。
ホスト装置100がブートデータを正しく受信できなければ(S318でN)、ホスト装置100は通常モードでの初期化を試みる(S320)。
スレーブ装置120はCMDライン112がハイレベルにドライブされたことを確認(S366のY)したとき、ブートデータの送信および受信を終了する(S370)。
さもなければ(S366でN)、スレーブ装置120は特に何も動作しない(S368)。
図2において、タイミングt7からt10の期間をブートモード(Boot mode)と呼ぶ。
[3.チューニングブロックの送信および受信の詳細]
[3.1.従来技術によるチューニングブロックの送信および受信]
以下図4および図5を用いて、従来技術に基づいたコマンドを使用しないチューニングブロックの送信および受信(以下チューニングブロック転送と呼ぶ)について説明する。
図4はチューニングブロックの詳細な構成について説明した図である。
図4に示すように、チューニングブロックは、DAT0ライン113a、DAT1ライン113b、DAT2ライン113c、DAT3ライン113dの4本の信号線(総称してDATライン113)を用いてスレーブ装置120からホスト装置100に送信されるデータの一種である。チューニングブロックは、DAT0ライン113aからDAT3ライン113dそれぞれに対し、1ビット長の開始ビット、128ビット長のチューニングパターン、16ビット長のCRC(Cyclic Redundancy Check)、および1ビットの終了ビットの計146ビットで構成される。図4において開始ビット、終了ビットをそれぞれS、Eと記載しているが、数値はそれぞれ「0」、「1」である。
スレーブ装置120がチューニングブロックを送信している前後の期間、スレーブ装置120はDATライン113をハイレベルにドライブしている。よって当該期間、ホスト装置100ではすべてのDATラインにおいて「1」が検出される。
ホスト装置100は、DATライン113すべての信号線が一定期間「1」のあと、開始ビットによりすべてのDATラインで「0」を検出した時、ホスト装置100はチューニングブロックを受信したと判定する。そして、チューニングブロック長に相当する146クロックをカウント後、終了ビットとして、全DATラインで「1」を検知した時、ホスト装置100はチューニングブロックを受信完了したと判定する。
なお、本実施の形態における128ビット長のチューニングパターンは以下の通りであり、上段左から下段右にかけてビット番号の若い順に並んでいる(16進数表記)。
FF0FFF00 FFCCC3CC C33CCCFF FEFFFEEF
FFDFFFDD FFFBFFFB BFFF7FFF 77F7BDEF
FFF0FFF0 0FFCCC3C CC33CCCF FFEFFFEE
FFFDFFFD DFFFBFFF BBFFF7FF F77F7BDE
なお上記チューニングパターンは一例であり、他のパターンを使用してもよい。
図5は、図2におけるタイミングt7以降にチューニングブロックが複数回送信されるときのタイミング詳細を示した模式図である。これまでに説明したように、ホスト装置100がタイミングt7で第2のクロックの送出を開始してから所定の時間(1ms)以内のタイミングt8でスレーブ装置120はDATラインをハイレベルにドライブし、t7から所定の時間(100ms)以内のタイミングt9でスレーブ装置120は1回目のチューニングブロック(図5中ではチューニングブロック[1]と記載)を送信する。なお図5においては便宜上、タイミングt9以降の各クロックに対して付されたクロック番号を用いてタイミングの説明を行う。
スレーブ装置120は、チューニングブロック[1]の終了ビットの送信を完了した次のクロック(クロック番号146)から少なくとも所定のクロック期間N1(本実施の形態では8クロック)を空けて、次のチューニングブロック[2]を送信する。上記N1は、スレーブ装置120が起動完了後にデータブロックを連続送信するときに、前のデータブロックと次のデータブロックとの間に空けるべき間隔として規定されており、データブロック間クロック数と呼ぶ。
上記操作を所定の回数(本実施の形態では40回)繰り返した後、スレーブ装置120は引き続きブートデータを送信する。
このとき、ホスト装置100に期待される動作は、クロック番号0のタイミングで、DATライン113の4本の信号線上すべてにおいて開始ビット、すなわち「0」が検出され、チューニングブロック[1]を受信したことを検知し、クロック番号145のタイミングで終了ビット、すなわち「1」が検出され、チューニングブロック[1]の受信完了を検知することである。そして以降スレーブ装置120から繰り返し送信されるチューニングブロックの開始ビットおよび終了ビットを正しく検知し、計40個のチューニングブロックの受信を認識することである。
しかしながら、本実施の形態のデータ転送システム起動直後のタイミングt9ではチューニングは未完了であるため、適切なサンプリングポイントが定まっていない。加えてDATラインごとにデータ転送の遅延が発生しうることから、例えばクロック番号0においてすべてのDATラインのデータを「0」と検知できるとは限らない。この場合、ホスト装置100はスレーブ装置120から送信されたチューニングブロック[1]をチューニングブロックと正しく認識できない。
同様にホスト装置100がチューニングブロック[2]以降のチューニングブロックについても正しく認識できなければ、チューニングを実施できないままブートデータを受信することになり、正しくブートデータを取得するという本来の目的を達成できない。
また、偶然チューニングブロック[1]の受信を正しく検知できたとしても、チューニングブロック[1]内のチューニングパターン読み取り結果と、予めホスト装置100に保持されている所定のチューニングパターンとが合致するとは限らない。これはチューニングブロック[1]を読み取る際のサンプリングポイントが適切ではなく、以降に受信するチューニングブロックを用いてサンプリングポイントの調整が必要であることを意味する。
しかしサンプリングポイントを調整しても、以降のチューニングブロックの開始ビットを正しく検知できるとは限らず、またこの場合終了ビットも正しく検知できない。
結果としてホスト装置100は40個のチューニングブロックを正しく受信できず、40個のチューニングブロックに続くブートデータの一部をチューニングブロックと誤認識することにより、ブートデータそのものを正しく受信することができなくなる。
[3.2.本開示におけるチューニングブロック転送]
以下図4、図6および図7を用いて、本開示におけるチューニングブロック転送について説明する。
図4のチューニングパターンにおいて、ビット番号7および8は、全DATラインとも「0」が連続している。従ってデータがいくら遅延しても、サンプリングポイントによらずビット番号7および8の連続する「00」を打ち抜くことで、遅くともビット番号8を受信した時に開始ビットを検知することが可能である。
図6は、ホスト装置がクロック番号8のタイミングにおいて、チューニングブロック[1]の開始ビットを検知した場合のタイミング図である。
ホスト装置100は、遅くともクロック番号8までのタイミングでビット番号7および8における連続した「0」により開始ビットを検知する。このとき、ホスト装置100は、スレーブ装置120が送信した真のタイミングより最大8クロックずつ遅延してチューニングブロック[1]を受信する。このようにホスト装置100が開始ビットを受信する際、真のタイミングに対して遅延するクロック数の最大値を最大受信遅延クロック数と定義し、N2で表す。最大受信遅延クロック数N2はチューニングパターンに依存し、本実施の形態では8となる。
ホスト装置100は開始ビットを受信してからチューニングブロック[1]の受信中クロック数をカウントし、クロック番号153のタイミングでチューニングブロック[1]の受信を終了する。
ホスト装置100は、前のブロックの受信終了から次のブロックの受信開始まで、クロック数N1以上の間隔が空いていることを期待する。上記を満たすために、スレーブ装置120は、前のチューニングブロックの送信終了から次のチューニングブロックの送信開始まで、データブロック間クロック数N1に最大受信遅延クロック数N2を加えたクロック数(本実施の形態では16)以上の間隔を空ければよい。
ホスト装置100が真の開始ビットより8クロック遅延してチューニングブロックを受信しているとき、クロック番号153が終了ビットに相当する。このとき、スレーブ装置120はすべてのDATラインをハイレベルにドライブしているため、ホスト装置100はクロック番号153のデータを終了ビット(「1」)と正しく検知できる。
図7は、ホスト装置がクロック番号0のタイミングにおいて、チューニングブロック[1]を検知した場合のタイミング図である。
この場合、ホスト装置100はスレーブ装置120が送信したチューニングブロック[1]の真の開始ビットを検知できている。従ってクロック番号145でチューニングブロック[1]が終了していることも検知可能である。
さらに上記の場合、スレーブ装置120から送信されたチューニングパターンと予めホスト装置100に保持されているものとが合致する確率が高くなり、サンプリングポイントが適切であると判定される可能性が高い。
なお、スレーブ装置120はチューニングブロック[1]送信終了から16クロック以上の間隔を空けて次のチューニングブロック[2]の送信を行うが、ホスト装置100から見たとき、チューニングブロック[1]の終了ビットから8クロック以上経過してから次のチューニングブロックを受信することになるので、問題は発生しない。
なお、図6に示すように、ホスト装置100が真の開始ビットより8クロック遅延してチューニングブロックを受信したと認識した場合、受信したチューニングパターンは予めホスト装置100に保持されているものとは合致しない。その場合、ホスト装置100はサンプリングポイントが適切ではなかったと判定し、次回のチューニングブロック受信までに、サンプリングポイントを修正した上で、チューニングを実施すればよい。
さらに本実施の形態におけるタイミングに関する数値(時間、クロック数など)は一例であり、他の数値でも構わない。なお、最大受信遅延クロック数N2は、使用するチューニングパターンのデータ構成に依存する。
また本実施の形態においては、タイミングt8でDATラインをハイレベルにドライブして以降連続して(第2の)クロックを供給するという前提で説明した。しかし、ホスト装置100がチューニングブロックを読み取り、適切なサンプリングポイントであるかどうかの判定を完了するまで受信したチューニングブロックを保持する必要がある。しかしホスト装置100が何も制御をおこなわないと、次のチューニングパターンを受信してしまい、前に受信済のチューニングブロックが上書きされる恐れがある。その場合、ホスト装置100は終了ビット受信からN1で定義されるクロック数より短いクロック数経過後、クロック供給を一時停止することで、スレーブ装置120からの次のチューニングブロック送信を抑止することができる(これは図6、図7いずれの場合にも当てはまる)。
また本実施の形態における説明では、使用する高速バスをSDR104モードとしたが、他のモードでも同様に成り立つ。なお、高速バスのモードによってはチューニングを必要としないモード(DDR50モードなど)がある。その場合、スレーブ装置120はチューニングブロックを複数回送信するが、ホスト装置100は受信したチューニングブロックを破棄しチューニングを実施しなくてよい。あるいは、チューニングを必要としないバスモードが設定されているとき、スレーブ装置120はチューニングブロックの送信を行わず、ブートデータのみ送信する、としてもよい。
また本実施の形態において、スレーブ装置120より送信されるチューニングブロックの個数を40個としたが、他の固定値でも構わない。あるいは、ホスト装置100がスレーブ装置120内の所定の不揮発メモリ領域にチューニングブロック送信個数を記録し、次回の起動時にスレーブ装置120が上記設定された個数のチューニングブロックを送信させることも可能である。
あるいは、ホスト装置100が40個のチューニングブロックの受信を完了するまでにチューニングが完了した時、例えばCMDライン112をハイレベルにドライブして、スレーブ装置120に対し以降のチューニングブロック送信を中止させてもよい。この場合、例えばホスト装置100が再びCMDライン112をローレベルにドライブすることにより、スレーブ装置120にブートデータの送信を指示することができる。
また本開示は、図8に示すように、例えばタイミングt4およびt5の間にホスト装置100がスレーブ装置120に対して送信する初期化指示コマンドを発行することでチューニングブロックおよびブートデータの送信を指示する場合でも、同様に適用可能である。
[4.まとめ]
以上のように、本出願において開示する技術の例示として実施の形態を説明した。本開示における技術は、これに限定されず、変更、置き換え、付加、省略などを行った実施の形態にも適用できる。
本開示のホスト装置、スレーブ装置は、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインとで相互に接続される。また本開示のデータ転送システムは、相互に接続された前記ホスト装置および前記スレーブ装置により構成される。前記ホスト装置は、前記スレーブ装置と接続された後に、前記スレーブ装置に前記電源ラインで電源を供給し、前記スレーブ装置に第1の周波数および第1電圧値を有する第1のクロックを前記クロックラインで供給し、ハイレベルになっている前記コマンドラインをローレベルにドライブし、前記第1のクロックの供給を停止し、前記データラインがローレベルにドライブされた状態で前記スレーブ装置に第2の周波数および第2電圧値を有する第2のクロックを前記クロックラインで供給し、前記第2のクロックの供給後から第1の所定期間内に前記データラインがハイレベルにドライブされた場合であって、第2の所定期間内に前記スレーブ装置から少なくとも第3の所定期間の間隔を空けて前記データラインで複数個送信されるチューニングブロックを用いて打ち抜きタイミングを調整するチューニングを行い、前記スレーブ装置からブートデータを前記データラインで受信し、当該受信したブートデータを用いて起動を行う、これにより、コマンドを送受信するための信号線をローレベルにドライブしつつチューニングブロックを取得することが可能となる。
また、本開示のホスト装置、スレーブ装置、データ転送システムにおいて、前記第3の所定期間は、前記スレーブ装置が起動した後のデータブロックを連続送信するときの前記データブロック間のクロック期間と、前記チューニングブロックに含まれるブロックパターンのデータ構成により決定されるクロック期間とで定められる。これにより、ホスト装置100はチューニングブロックの開始ビットを確実に捕捉することで所定個数のチューニングブロックを受信可能になる。よって、ホスト装置100は所定個数のチューニングブロックに続くデータをブートデータとして正しく受信することができる。
また、本開示のホスト装置、スレーブ装置、データ転送システムにおいて、前記ブロックパターンには、少なくとも連続ビット列「00」もしくは「11」が含まれており、ビット列「0」もしくはビット列「1」を検出することにより、前記チューニングブロックの開始ビットを判定する。これにより、ホスト装置100はチューニングブロックの開始ビットを確実に捕捉することで所定個数のチューニングブロックを受信可能になる。よって、ホスト装置100は所定個数のチューニングブロックに続くデータをブートデータとして正しく受信することができる。
本開示は、SDカードをはじめとするスレーブ装置と対応ホスト装置、及び前記ホスト装置及びスレーブ装置を有するデータ転送システムに適用することができる。
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 バックエンドモジュール

Claims (9)

  1. スレーブ装置と、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインで接続されるホスト装置であって、
    前記スレーブ装置と接続された後に、前記スレーブ装置に前記電源ラインで電源を供給し、
    前記スレーブ装置に第1の周波数および第1電圧値を有する第1のクロックを前記クロックラインで供給し、
    ハイレベルになっている前記コマンドラインをローレベルにドライブし、
    前記第1のクロックの供給を停止し、
    前記データラインがローレベルにドライブされた状態で前記スレーブ装置に第2の周波数および第2電圧値を有する第2のクロックを前記クロックラインで供給し、
    前記第2のクロックの供給後から第1の所定期間内に前記データラインがハイレベルにドライブされた場合に、第2の所定期間内に前記スレーブ装置から少なくとも第3の所定期間の間隔を空けて前記データラインで送信される複数個のチューニングブロックを用いて打ち抜きタイミングを調整するチューニングを行い、
    前記スレーブ装置からブートデータを前記データラインで受信し、当該受信したブートデータを用いて起動を行う、
    ホスト装置。
  2. 前記第3の所定期間は、前記スレーブ装置が起動した後のデータブロックを連続送信するときの前記データブロック間のクロック期間と、前記チューニングブロックに含まれるブロックパターンのデータ構成により決定されるクロック期間とで定められることを特徴とする、
    請求項1に記載のホスト装置。
  3. 前記ブロックパターンには、少なくとも連続ビット列「00」もしくは「11」が含まれており、
    ビット列「0」もしくはビット列「1」を検出することにより、前記チューニングブロックの開始ビットを判定することを特徴とする、
    請求項2に記載のホスト装置。
  4. ホスト装置と、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインで接続されるスレーブ装置であって、
    前記ホスト装置と接続された後に、前記ホスト装置から前記電源ラインで電源を供給され、
    前記ホスト装置から第1の周波数および第1電圧値を有する第1のクロックを前記クロックラインで供給され、
    ハイレベルになっている前記コマンドラインをローレベルにドライブされ、
    前記第1のクロックの供給を停止され、
    前記データラインがローレベルにドライブされた状態で前記ホスト装置から第2の周波数および第2電圧値を有する第2のクロックを前記クロックラインで供給され、
    前記第2のクロックの供給後から第1の所定期間内に前記データラインをハイレベルにドライブし、第2の所定期間内に少なくとも第3の所定期間の間隔を空けて前記ホスト装置に複数個のチューニングブロックを前記データラインで送信する、
    スレーブ装置。
  5. 前記第3の所定期間は、前記スレーブ装置が起動した後のデータブロックを連続送信するときの前記データブロック間のクロック期間と、前記チューニングブロックに含まれるブロックパターンのデータ構成により決定されるクロック期間とで定められることを特徴とする、
    請求項4に記載のスレーブ装置。
  6. 前記ブロックパターンには、少なくとも連続ビット列「00」もしくは「11」が含まれていることを特徴とする、
    請求項5に記載のスレーブ装置。
  7. スレーブ装置と、少なくとも電源ライン、クロックライン、コマンドラインおよびデータラインで前記スレーブ装置と接続されるホスト装置を有するデータ転送システムであって、
    前記ホスト装置は、前記スレーブ装置と接続された後に、前記スレーブ装置に前記電源ラインで電源を供給し、
    前記ホスト装置は、前記スレーブ装置に第1の周波数および第1電圧値を有する第1のクロックを前記クロックラインで供給し、
    前記ホスト装置は、ハイレベルになっている前記コマンドラインをローレベルにドライブし、
    前記ホスト装置は、前記第1のクロックの供給を停止し、
    前記ホスト装置は、前記データラインがローレベルにドライブされた状態で前記スレーブ装置に第2の周波数および第2電圧値を有する第2のクロックを前記クロックラインで供給し、
    前記スレーブ装置は、前記第2のクロックの供給後から第1の所定期間内に前記データラインをハイレベルにドライブし、第2の所定期間内に前記スレーブ装置から少なくとも第3の所定期間の間隔を空けて前記ホスト装置に複数個のチューニングブロックを前記データラインで送信し、
    前記ホスト装置は、前記データラインで受信した前記複数個のチューニングブロックを用いて打ち抜きタイミングを調整するチューニングを行い、
    前記ホスト装置は、前記スレーブ装置からブートデータを前記データラインで受信し、当該受信したブートデータを用いて起動を行う、
    データ転送システム。
  8. 前記第3の所定期間は、前記スレーブ装置が起動した後のデータブロックを連続送信するときの前記データブロック間のクロック期間と、前記チューニングブロックに含まれるブロックパターンのデータ構成により決定されるクロック期間とで定められることを特徴とする、
    請求項7に記載のデータ転送システム。
  9. 前記ブロックパターンには、少なくとも連続ビット列「00」もしくは「11」が含まれており、
    前記ホスト装置がビット列「0」もしくはビット列「1」を検出することにより、前記チューニングブロックの開始ビットを判定することを特徴とする、
    請求項8に記載のデータ転送システム。
JP2022534377A 2021-02-16 2021-12-15 ホスト装置、スレーブ装置およびデータ転送システム Active JP7320707B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021022560 2021-02-16
JP2021022560 2021-02-16
PCT/JP2021/046255 WO2022176358A1 (ja) 2021-02-16 2021-12-15 ホスト装置、スレーブ装置およびデータ転送システム

Publications (3)

Publication Number Publication Date
JPWO2022176358A1 JPWO2022176358A1 (ja) 2022-08-25
JPWO2022176358A5 JPWO2022176358A5 (ja) 2023-01-24
JP7320707B2 true JP7320707B2 (ja) 2023-08-04

Family

ID=82930572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022534377A Active JP7320707B2 (ja) 2021-02-16 2021-12-15 ホスト装置、スレーブ装置およびデータ転送システム

Country Status (5)

Country Link
US (1) US11880225B2 (ja)
EP (1) EP4296863A4 (ja)
JP (1) JP7320707B2 (ja)
CN (1) CN115226405A (ja)
WO (1) WO2022176358A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140266A (ja) 2008-12-11 2010-06-24 Toshiba Corp 電子デバイスシステムと電子デバイス
JP2013101636A (ja) 2008-02-29 2013-05-23 Panasonic Corp ホスト装置用インタフェース装置、スレーブ装置用インタフェース装置、ホスト装置、スレーブ装置、通信システム、及びインタフェース電圧切り替え方法
JP2018085662A (ja) 2016-11-25 2018-05-31 キヤノン株式会社 電子機器

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175606A (ja) * 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
JP2004334486A (ja) * 2003-05-07 2004-11-25 Internatl Business Mach Corp <Ibm> ブートコードを用いた起動システム、及び起動方法
US7739487B2 (en) 2006-01-17 2010-06-15 Nokia Corporation Method for booting a host device from an MMC/SD device, a host device bootable from an MMC/SD device and an MMC/SD device method a host device may booted from
US8996851B2 (en) * 2010-08-10 2015-03-31 Sandisk Il Ltd. Host device and method for securely booting the host device with operating system code loaded from a storage device
KR102320399B1 (ko) * 2014-08-26 2021-11-03 삼성전자주식회사 전원 관리 칩, 그것을 포함하는 모바일 장치 및 그것의 클록 조절 방법
JP2016046781A (ja) 2014-08-26 2016-04-04 キヤノン株式会社 記録再生装置、記録再生装置の制御方法及びプログラム
US9886080B2 (en) * 2014-12-30 2018-02-06 Sandisk Technologies Llc Low voltage detection and initialization for non-volatile memory systems
JP2017097825A (ja) * 2015-11-16 2017-06-01 株式会社東芝 ホスト機器および拡張デバイス
US10129012B2 (en) * 2016-09-19 2018-11-13 Sandisk Technologies Llc Tuning circuitry and operations for non-source-synchronous systems
US11487341B2 (en) * 2018-08-09 2022-11-01 Nvidia Corporation Techniques for configuring a processor to execute instructions efficiently
KR20210069514A (ko) * 2019-12-03 2021-06-11 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 트레이닝 방법
CN114793452B (zh) * 2020-11-24 2024-05-24 松下知识产权经营株式会社 主机装置、从机装置以及数据转发系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013101636A (ja) 2008-02-29 2013-05-23 Panasonic Corp ホスト装置用インタフェース装置、スレーブ装置用インタフェース装置、ホスト装置、スレーブ装置、通信システム、及びインタフェース電圧切り替え方法
JP2010140266A (ja) 2008-12-11 2010-06-24 Toshiba Corp 電子デバイスシステムと電子デバイス
JP2018085662A (ja) 2016-11-25 2018-05-31 キヤノン株式会社 電子機器

Also Published As

Publication number Publication date
EP4296863A4 (en) 2024-08-07
WO2022176358A1 (ja) 2022-08-25
US11880225B2 (en) 2024-01-23
JPWO2022176358A1 (ja) 2022-08-25
US20220308893A1 (en) 2022-09-29
CN115226405A (zh) 2022-10-21
EP4296863A1 (en) 2023-12-27

Similar Documents

Publication Publication Date Title
JP4896450B2 (ja) 記憶装置
US8055808B2 (en) Semiconductor memory device and control method for semiconductor memory device
JP5341503B2 (ja) メモリデバイス、ホストデバイスおよびサンプリングクロックの調整方法
EP2278478B1 (en) Multiple removable non-volatile memory cards serially communicating with a host
JP2001256174A (ja) カードインタフェースを備えた情報処理装置、同装置に装着可能なカード型電子機器、及び同装置におけ動作モード設定方法
WO2011070747A1 (ja) 不揮発性記憶装置、ホスト装置、記憶システム、データ通信方法およびプログラム
WO2018186456A1 (ja) ホスト装置及びリムーバブルシステム
JP6861348B2 (ja) スレーブ装置およびホスト装置
US20220137848A1 (en) Storage device and operating method of storage device
JP4588427B2 (ja) メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法
JP2019057229A (ja) 通信形式判定方法
JP7243923B2 (ja) ホスト装置、スレーブ装置およびデータ転送システム
JP6620313B2 (ja) ホスト装置、スレーブ装置及びリムーバブルシステム
JP7320707B2 (ja) ホスト装置、スレーブ装置およびデータ転送システム
WO2002048854A1 (fr) Carte à circuit imprimé, système de carte à circuit imprimé, et processeur de données
KR100423017B1 (ko) 마이크로컴퓨터
US6917994B2 (en) Device and method for automatically generating an appropriate number of wait cycles while reading a nonvolatile memory
JP2018156506A (ja) ホスト装置、スレーブ装置及びリムーバブルシステム
JP7450143B2 (ja) スレーブ装置、ホスト装置
JP2017049873A (ja) ホスト装置、スレーブ装置及びリムーバブルシステム
US20130019055A1 (en) Memory control device and method
JPH09223203A (ja) 非接触icカード
JP6413077B2 (ja) ホスト装置、スレーブ装置、インターフェイス半導体装置及びリムーバブルシステム
CN118672486A (zh) 存储器系统
WO2016132733A1 (ja) ホスト装置、スレーブ装置、インターフェイス半導体装置及びリムーバブルシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220615

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20221024

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230626

R151 Written notification of patent or utility model registration

Ref document number: 7320707

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151