JPWO2018186456A1 - ホスト装置及びリムーバブルシステム - Google Patents
ホスト装置及びリムーバブルシステム Download PDFInfo
- Publication number
- JPWO2018186456A1 JPWO2018186456A1 JP2019511294A JP2019511294A JPWO2018186456A1 JP WO2018186456 A1 JPWO2018186456 A1 JP WO2018186456A1 JP 2019511294 A JP2019511294 A JP 2019511294A JP 2019511294 A JP2019511294 A JP 2019511294A JP WO2018186456 A1 JPWO2018186456 A1 JP WO2018186456A1
- Authority
- JP
- Japan
- Prior art keywords
- interface
- slave device
- pcie
- host device
- legacy
- 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.)
- Pending
Links
- 230000004044 response Effects 0.000 claims description 28
- 239000004065 semiconductor Substances 0.000 description 32
- 238000010586 diagram Methods 0.000 description 26
- 238000000034 method Methods 0.000 description 17
- 102100036285 25-hydroxyvitamin D-1 alpha hydroxylase, mitochondrial Human genes 0.000 description 15
- 101000875403 Homo sapiens 25-hydroxyvitamin D-1 alpha hydroxylase, mitochondrial Proteins 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 101001003569 Homo sapiens LIM domain only protein 3 Proteins 0.000 description 6
- 101000639972 Homo sapiens Sodium-dependent dopamine transporter Proteins 0.000 description 6
- 102100026460 LIM domain only protein 3 Human genes 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
- G06F13/426—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/067—Record 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/07—Record 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/077—Constructional details, e.g. mounting of circuits in the carrier
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
Abstract
ホスト装置(200)は、第1のインターフェイスをサポートする第1のスレーブ装置、及び、第1のインターフェイスとは異なる第2のインターフェイスをサポートする第2のスレーブ装置の何れかと接続する。ホスト装置(200)は、ホスト装置(200)に接続された第1の装置に対して第1のインターフェイスの初期化を行い、第1のインターフェイスの初期化に成功した場合、第1の装置が第2のスレーブ装置であるか否かを判定するI/F制御部(206)と、第1の装置が第2のスレーブ装置である場合、第2のインターフェイスの初期化を行い、第1の装置が第2のスレーブ装置ではない場合、第1のインターフェイスの初期化を継続するホスト装置I/F部(205)と、を具備する。
Description
本開示は、ホスト装置及びリムーバブルシステムに関する。
近年、フラッシュメモリ等の大容量の不揮発性記憶素子を備え、高速でのデータ処理が可能な、例えばカード形状のSDカード、メモリースティックといったスレーブ装置が市場に普及している。このようなスレーブ装置は、スレーブ装置を使用可能なホスト装置である、パーソナルコンピュータ、スマートフォン、デジタルカメラ、オーディオプレーヤ及びカーナビゲーションシステム等において、利用されている。
例えば、特許文献1は、ホスト装置及びスレーブ装置を使用した通信システムにおいて、複数のインターフェイス電圧から動作電圧を選択する技術を開示している。
また、特許文献2は、電源がONであるかOFFであるかの状態、及び特定の信号線がハイレベルであるかローレベルであるかの状態に応じて、電子装置(スレーブ装置)で使用するインターフェイス回路を決定する技術を開示している。
さらに、特許文献3は、低電圧信号にのみ対応したホスト装置に高電圧信号を出力するスレーブ装置が装着された場合に、両装置間でネゴシエーションにより前記スレーブ装置から高電圧信号を出力させないようにする技術を開示している。
ホスト装置及びスレーブ装置を使用した通信システムにおいて、昨今製品開発工数を削減したり検証環境の整備をしやすくしたりする目的で、独自インターフェイスの導入ではなく汎用のインターフェイスを導入することが多くなっている。
例えば、SDカードの場合、3.3Vシングルエンドのインターフェイス(以下、「レガシーI/F」と記す)が存在する。また、さらなる高速化を実現し、かつ、広範囲のホスト装置で利用できるようにするため、汎用インターフェイスであるPCI Express(PCIe)をSDカードに導入することが望まれている。
さらに、パーソナルコンピュータ、スマートフォン等の無線通信機器に搭載されるホスト装置で使用可能なスレーブ装置として、SIM(Subscriber Identity Module)を搭載したスレーブ装置(SIM一体型SDカード)も存在する。
一方で、SDカードは市場に既に普及しているため、既存のSDインターフェイスを継続して活用できるように、インターフェイスの互換性を保つことも望まれている。すなわち、レガシーI/Fをサポートするスレーブ装置(以下、「レガシースレーブ装置」と記す)、PCIeをサポートするスレーブ装置(以下、「PCIeスレーブ装置」と記す)及び、SIMを搭載するスレーブ装置等の様々なスレーブ装置をホスト装置と接続させるために、ホスト装置に実装するスロットの形状、大きさ及び端子の位置等を同様とすることが望まれている。
ただし、この際、ホスト装置は、ホスト装置に接続されたスレーブ装置がサポートするインターフェイスで適切に初期化を行うように制御する必要がある。例えば、SIMを搭載したスレーブ装置が装着されたホスト装置が、当該スレーブ装置でサポートしていない初期化ルーチンで他のインターフェイスの初期化を行ってしまうと、ホスト装置とSIMとの間の接触不整合(ショート)が発生し、ホスト装置又はスレーブ装置が破損してしまう恐れがある。
本開示の一態様は、上記課題に鑑みてなされたものであり、インターフェイスの互換性を保つとともに、安全に使用することができるホスト装置及びリムーバブルシステムを提供する。
本開示の一態様に係るホスト装置は、第1のインターフェイスをサポートする第1のスレーブ装置、及び、前記第1のインターフェイスとは異なる第2のインターフェイスをサポートする第2のスレーブ装置の何れとも接続できるホスト装置である。ホスト装置は、制御部と、インターフェイス部と、を備える。制御部は、ホスト装置に接続された第1の装置に対して前記第1のインターフェイスの初期化を行う。さらに、制御部は、前記第1のインターフェイスの初期化に成功した場合、前記第1の装置が前記第2のスレーブ装置であるか否かを判定する。前記第1の装置が前記第2のスレーブ装置である場合、制御部は、前記第2のインターフェイスの初期化を行う。前記第1の装置が前記第2のスレーブ装置ではない場合、制御部は、前記第1のインターフェイスの初期化を継続する。
本開示の一態様に係るリムーバブルシステムは、ホスト装置、及び、第1のスレーブ装置又は第2のスレーブ装置からなるリムーバブルシステムである。ホスト装置は、第1のスレーブ装置及び第2のスレーブ装置の何れとも接続することができる。第1のスレーブ装置は、第1のインターフェイスをサポートするスレーブ装置である。第2のスレーブ装置は、前記第1のインターフェイスとは異なる第2のインターフェイスをサポートするスレーブ装置である。ホスト装置は、前記ホスト装置に接続された第1の装置に対して前記第1のインターフェイスの初期化を行う。前記第1のインターフェイスの初期化に成功した場合、ホスト装置は、前記第1の装置が前記第2のスレーブ装置であるか否かを判定する。前記第1の装置が前記第2のスレーブ装置である場合、ホスト装置は、前記第2のインターフェイスの初期化を行う。前記第1の装置が前記第2のスレーブ装置ではない場合、ホスト装置は、前記第1のインターフェイスの初期化を継続する。
本開示の一態様によれば、インターフェイスの互換性を保つとともに、安全に使用することができる。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明又は実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、同じ符号を付した構成要素については、それぞれの実施の形態において同一の機能を有するものとする。
また、本開示は、当業者が理解するための添付図面及び以下の説明を提供するのであって、これらによって請求の範囲に記載の主題を限定することを意図するものではない。
[1.本開示にかかるリムーバブルシステムが解決しようとする課題について]
最初に、本開示にかかるリムーバブルシステムが解決しようとする課題について、図1から図5を用いて説明する。なお、以下では、インターフェイスのことを適宜「I/F」と略記する。
最初に、本開示にかかるリムーバブルシステムが解決しようとする課題について、図1から図5を用いて説明する。なお、以下では、インターフェイスのことを適宜「I/F」と略記する。
[1−1.レガシーホスト装置及びレガシースレーブ装置の構成]
図1は、レガシーI/Fに対応したレガシーホスト装置100に抜き差し可能なレガシースレーブ装置120が接続されたリムーバブルシステムの構成例を示すブロック図である。
図1は、レガシーI/Fに対応したレガシーホスト装置100に抜き差し可能なレガシースレーブ装置120が接続されたリムーバブルシステムの構成例を示すブロック図である。
図1に示すように、レガシーホスト装置100は、少なくとも電源供給部101及びレガシーI/F半導体チップ102を備えている。また、レガシーI/F半導体チップ102は、少なくともレギュレータ103、2つの電源入力のうち一方を選択する電気的スイッチであるSW104、ホスト装置I/F部105、I/F制御部106を備えている。なお、レギュレータ103は、レガシーI/F半導体チップ102の外部に配置することも可能である。
レガシーホスト装置100とレガシースレーブ装置120とは、機械的に接続される。また、レガシーホスト装置100は、3.3V電源ラインであるVDD1ライン1100、及び、後述の信号ラインを介して、レガシースレーブ装置120と電気的に接続される。
レガシースレーブ装置120は、少なくともレガシーI/F半導体チップ121及びバックエンドモジュール126を備えている。なお、バックエンドモジュール126は、フラッシュメモリのような記録媒体又は無線通信モジュールのようなデバイスを指す。また、レガシーI/F半導体チップ121は、少なくともレギュレータ122、SW123、スレーブ装置I/F部124、I/F制御部125を備えている。なお、レギュレータ122は、レガシーI/F半導体チップ121の外部に配置することも可能である。
ホスト装置I/F部105と、スレーブ装置I/F部124とは、CLKライン1101、CMDライン1102、DATライン1103を介して、信号通信を行う。なお、DATライン1103は、DAT0ライン1103a、DAT1ライン1103b、DAT2ライン1103c、DAT3ライン1103dの4本の信号線からなる。
[1−2.レガシーホスト装置及びレガシースレーブ装置の詳細動作]
以下、図1及び図2を用いて、レガシーホスト装置100にレガシースレーブ装置120が接続されたときの動作について説明する。
以下、図1及び図2を用いて、レガシーホスト装置100にレガシースレーブ装置120が接続されたときの動作について説明する。
図2は、図1に示すレガシーホスト装置100及びレガシースレーブ装置120における、電源起動後の初期化ルーチンの動作を示す図である。
電源起動時、レガシーホスト装置100の電源供給部101からの3.3V電源が、レガシーI/F半導体チップ102、レギュレータ103、SW104に供給され、VDD1ライン1100を介してレガシースレーブ装置120に供給される。
レガシーI/F半導体チップ102は、電源供給部101から供給された3.3V電源を、レガシーI/F半導体チップ102内に配置されたあらゆるモジュールに供給して、各モジュールが動作可能な状態とする。
レギュレータ103は、供給された電源の電圧をI/F制御部106の指示により適宜変換して出力する装置である。図1及び図2では、レギュレータ103により、電源供給部101から供給される3.3V電源が1.8V電源に変換される。
SW104は、電源供給部101から供給される3.3V電源、及び、レギュレータ103から供給される1.8V電源の何れか一方を選択して、ホスト装置I/F部105に供給する。図1及び図2では、電源起動直後、SW104は、3.3V電源をホスト装置I/F部105に供給する。これにより、ホスト装置I/F部105から出力されるCLKライン1101、CMDライン1102及びDATライン1103の信号電圧は3.3Vとなる。
一方、VDD1ライン1100を介してレガシースレーブ装置120に供給された3.3V電源は、レガシーI/F半導体チップ121、レギュレータ122、SW123、及びバックエンドモジュール126に供給される。
レガシーI/F半導体チップ121は、供給された3.3V電源を、レガシーI/F半導体チップ121内に配置されたあらゆるモジュールに供給して、各モジュールが動作可能な状態とする。また、図1及び図2では、レガシーホスト装置100のレギュレータ103と同様、レギュレータ122により、VDD1ライン1100を介して供給される3.3V電源は1.8V電源に変換される。また、電源起動直後、SW123は、3.3V電源をスレーブ装置I/F部124に供給する。
スレーブ装置I/F部124に供給された3.3V電源により、スレーブ装置I/F部124から出力されるCMDライン1102及びDATライン1103の信号電圧は3.3Vとなる。
レガシーホスト装置100のホスト装置I/F部105は、CLKライン1101、CMDライン1102、及び、4本のDATライン1103によりレガシースレーブ装置120のスレーブ装置I/F部124と接続されている。
CLKライン1101上において、シングルエンド方式のクロック信号は、レガシーホスト装置100からレガシースレーブ装置120へ伝送される。
CMDライン1102は、レガシーホスト装置100がレガシースレーブ装置120を制御するためのコマンド、及び各コマンドに対応するレスポンスが3.3Vの高電圧信号(以下3.3V信号と称する)のシングルエンド方式により伝送される。例えば、コマンドはレガシーホスト装置100からレガシースレーブ装置120へ送信され、レスポンスはレガシースレーブ装置120からレガシーホスト装置100へ送信される。すなわち、CMDライン1102は双方向通信である。
DATライン1103は、主として静止画、動画又はテキストなどのデータコンテンツを高速に伝送する信号線であり、4本の信号線からなる。DATライン1103の構成は、CMDライン1102と同様である。
レガシーホスト装置100は、レガシースレーブ装置120が装着されていない状態で各信号線がフローティング状態になることを回避するため、CMDライン1102及び全てのDATライン1103を、図示しないプルアップ抵抗で所定の電圧(通常3.3V)にプルアップする。さらに、電源起動直後、レガシーホスト装置100は、レガシースレーブ装置120において、図示しないプルアップ抵抗により、DAT3ライン1103dとVDD1ライン1100とを接続する。これは、起動直後、レガシーホスト装置100がレガシースレーブ装置120に接続されているか否かの検知に利用するための動作である。
また、電源起動時、レガシーホスト装置100は、通常、CMDライン1102及びDATライン1103の各端子をローレベル、ハイレベルのいずれにもドライブせず、入力状態、すなわちハイインピーダンス(Hi−Z;解放)状態とする。従って、これらの信号線は、レガシーホスト装置100がドライブしない限り、VDD1の印加に伴って前述のプルアップ抵抗によりハイレベルに遷移する(5200)。
なお、本明細書において、信号がローレベルであるとは、信号の電圧が0V及びその近傍にある状態であることをいい、通常0を意味する。一方、信号がハイレベルであるとは、信号の電圧がローレベルより高く、かつローレベルの信号と容易に識別が可能な状態であることをいい、通常1を意味する。なお、ハイレベルは、3.3V信号の場合と、1.8Vの低電圧信号(以下1.8V信号と称する)の場合とでは、絶対的な電圧の値が異なる。
電源起動後、ホスト装置I/F部105は、SW104を介して電源供給部101から供給される3.3V(高電圧)電源により、3.3V信号のシングルエンド方式のクロックを生成する。そして、ホスト装置I/F部105は、電源供給部101からの電源出力が3.3Vに安定してから1ms以上経過した後、クロックをスレーブ装置I/F部124に供給する(5201)。
その後、レガシーホスト装置100は、接続されたレガシースレーブ装置120の特性確認及び初期化を行う初期化ルーチンに入る。ホスト装置I/F部105は、最初に、リセットコマンド202aを発行する。なお、リセットコマンドに対応するレスポンスは、存在しない。
続いて、レガシーホスト装置100は、接続されたスレーブ装置のI/F条件(例えば、対応電源電圧等)をチェックするためのコマンドであるI/F条件チェックコマンド203aをI/F制御部106で生成し、CMDライン1102を介してスレーブ装置I/F部124に送信する。I/F条件チェックコマンド203aは、スレーブ装置I/F部124を介して、I/F制御部125に出力される。I/F制御部125は、I/F条件チェックコマンド203aの内容を解釈し、対応するレスポンス203bを生成し、CMDライン112を介してレガシーホスト装置100に返送する。
続いて、レガシーホスト装置100は、初期化コマンド204aを、CMDライン1102を介してレガシースレーブ装置120に送信する。I/F条件チェックコマンド203aの場合と同様、レガシースレーブ装置120は、初期化コマンド204aの内容を解釈し、対応するレスポンス204bを生成し、CMDライン1102を介してレガシーホスト装置100に返送する。
その後、詳述はしないが所定の初期化プロセスを経て、レガシーホスト装置100は、レジスタReadコマンド205aを発行する。このとき、レガシーホスト装置100は、レガシースレーブ装置120から送信されるレスポンス205bを受信後、レガシースレーブ装置120からの出力データ205cを、DATライン1103を介して受信する。
[1−3.スレーブ装置のピン配置]
上述したように、パーソナルコンピュータ又はスマートフォンをはじめとする多様な機器で使用されている汎用インターフェイスであるPCIeをSDカード(スレーブ装置)に導入することで、SDカードがより広範囲のホスト装置で使用できるようになる。
上述したように、パーソナルコンピュータ又はスマートフォンをはじめとする多様な機器で使用されている汎用インターフェイスであるPCIeをSDカード(スレーブ装置)に導入することで、SDカードがより広範囲のホスト装置で使用できるようになる。
ただし、SDカードは市場で既に普及しているため、上記レガシーI/Fを継続して活用できるようインターフェイスの互換性を保つことも要望されている。このことから、PCIeを導入した場合でもホスト装置においてスロットの形状、大きさ及び端子の位置等をレガシーI/FとPCIe I/Fとで同様としておくことが必要である。
図3Aは、レガシーI/Fのみをサポートするレガシースレーブ装置120(microSDカード)における端子(ピン)の配置例を示す図であり、図3Bは、後述するPCIeをサポートするPCIeスレーブ装置220(microSDカード)における端子(ピン)の配置例を示す図である。
図3Aに示すレガシースレーブ装置120には、電源ライン又は信号ラインにそれぞれ対応する8個の端子T101(ピン1〜8)が配置されている。なお、図3Aに示すレガシースレーブ装置120において8個の端子T101が含まれる領域(列)を、第1の領域10(第1列)と記す。
一方、図3Bに示すPCIeスレーブ装置220には、電源ライン又は信号ラインにそれぞれ対応する16個の端子T201(ピン1〜16)が配置されている。また、図3Bに示すPCIeスレーブ装置220において、16個の端子T201は、図3Aと同様の第1の領域10(第1列)に含まれるピン1〜8と、第1の領域10とは異なる第2の領域20(第2列)に含まれるピン9〜16とからなる。具体的には、第1の領域10の端子群は、レガシーI/Fのピン配置(図3Aを参照)を前提とした端子群であり、第2の領域20の端子群は、PCIe、もしくはUHS−IIを利用可能とするための端子群である。
このように、図3Aに示すレガシーI/Fのみをサポートするレガシースレーブ装置120には、レガシーI/F及びPCIe I/Fの双方で使用される端子群が第1の領域10(第1列)に配置されている。一方、PCIeをサポートするPCIeスレーブ装置220には、レガシーI/F及びPCIe I/Fの双方で使用される端子群が第1の領域10(第1列)に配置され、PCIe I/Fのみで使用される端子群が、第1の領域10と異なる第2の領域20(第2列)に配置されている。
図4は、microSDカードにおいてレガシーI/Fにおける各端子T101(ピン1〜8)及びPCIeにおける各端子T201(ピン1〜16)と、電源ライン又は信号ラインとの対応関係を示す図である。
図4に示すように、レガシーI/Fでは、第1列のピン1〜8に対して、3.3V電源、グランド(GND)、CLK、CMD、DATがそれぞれ割り当てられている。なお、レガシーI/Fでは、第2列にはピンが配置されない(ピンなし)。
一方、図4に示すように、PCIeでは、第1列及び第2列にそれぞれ配置されたピン1〜16に対して、後述する電源ライン又は信号ラインがそれぞれ割り当てられている。
また、図4に示すように、レガシーI/FとPCIeとで共通で使用される第1の領域10(第1列)に配置されたピン1〜8では、対応するインターフェイスによって各々の用途が異なる。レガシーI/F及びPCIeの双方をサポートするホスト装置(後述する)は、使用するインターフェイスに応じて、装着されるスレーブ装置の第1の領域10に配置されたピンの用途を切り替えて使用する。
なお、図4では、PCIeにおいてピン5には電源ライン及び信号ラインの何れも割り当てられていないが、他の用途に使用されてもよい。例えば、PCIeのピン5では、PCIe I/Fでの初期化の開始を通知するための信号を送信する信号ラインとして設定されてもよい。
次に、図5は、SIMを搭載するスレーブ装置320(microSDカード)における端子(ピン)、及び、SIMの配置例を示す図である。
図5に示すように、スレーブ装置320には、電源ライン又は信号ラインにそれぞれ対応する8個の端子T301(ピン1〜8)、及び、SIM302が配置されている。ここで、8個の端子T301(ピン1〜8)は、レガシースレーブ装置120及びPCIeスレーブ装置220と同様、第1の領域(第1列)10内に配置されている。すなわち、図5に示すスレーブ装置320は、レガシーI/Fをサポートしている。一方、図5に示すように、SIM302は、スレーブ装置320内の第1の領域10以外、かつ、第2の領域20の一部と重複した領域に配置されている。
このように、レガシーI/Fを用いる場合(図3A)、PCIeを導入した場合(図3B)、及び、SIMを搭載する場合(図5)の何れにおいてもスロットの形状、大きさ及び端子の位置等を同様にすることで、インターフェイスの互換性を保つことができる。
ただし、上記3種類のスレーブ装置に対してどのI/Fを選択するかをホスト装置およびスレーブ装置との間でネゴシエーションする必要があり、かつホスト装置が、スレーブ装置がサポートしていないI/Fを選択して、選択したI/Fの初期化を実行しようとしたとき、ホスト装置、カード装置いずれにも機器破壊など致命的な問題を引き起こすことなく初期化を行う必要がある。
例えば、図5に示すスレーブ装置320においてSIM302が配置される一部の領域は、図3Bに示すPCIeスレーブ装置220内のPCIeを利用可能とするための端子群が配置される第2の領域20(第2列)と重複する。このため、PCIeをサポートするホスト装置(後述する)に図5に示すスレーブ装置320が装着され、当該ホスト装置がPCIe I/Fの初期化を行うと、ホスト装置とSIM302との間で接触不整合(ショート)が発生し、ホスト装置及びスレーブ装置320(SIM302)が破損してしまう恐れがある。
そこで、本開示は、リムーバブルシステムの開発過程において、本課題を認識し、その解決手段を提供する。以下、その解決手段の詳細を具体的に説明する。以下の説明では、解決手段の技術的思想を具現化した例として、実施の形態を説明する。
[2.一実施の形態に係るリムーバブルシステムの構成及び動作]
[2−1.ホスト装置にPCIeスレーブ装置が接続された構成]
図6は、本実施の形態に係るホスト装置200に抜き差し可能なPCIeスレーブ装置220が接続されたリムーバブルシステムの構成例を示すブロック図である。
[2−1.ホスト装置にPCIeスレーブ装置が接続された構成]
図6は、本実施の形態に係るホスト装置200に抜き差し可能なPCIeスレーブ装置220が接続されたリムーバブルシステムの構成例を示すブロック図である。
図6に示すように、ホスト装置200は、少なくとも第1電源供給部201、第2電源供給部202、PCIe半導体チップ203を備えている。また、PCIe半導体チップ203は、PCIeレギュレータ204、ホスト装置I/F部205、I/F制御部206を備えている。ホスト装置200は、少なくとも、レガシーI/F又はPCIe I/Fでスレーブ装置と接続する。
なお、PCIeレギュレータ204は、PCIe半導体チップ203の外部に配置することも可能である。また、本実施の形態におけるホスト装置200は、第1電源供給部201、第2電源供給部202及びPCIe半導体チップ203から構成されているが、PCIe半導体チップ203に対して電源を供給することができれば、PCIe半導体チップ203単体でも本実施の形態のホスト装置200が実現できる。
ホスト装置200と、PCIeスレーブ装置220とは、機械的に接続される。また、ホスト装置200は、VDD1ライン2100、VDD2ライン2101、及び、後述する信号ラインを介して、PCIeスレーブ装置220と電気的に接続される。なお、ここでは、VDD1、VDD2の電源電圧はそれぞれ3.3V、1.8Vとする。
PCIeスレーブ装置220は、少なくともPCIe半導体チップ221、バックエンドモジュール227を備えている。そして、PCIe半導体チップ221は、少なくともPCIeレギュレータ222、スレーブ装置I/F部223、I/F制御部224を備えている。スレーブ装置I/F部223は、例えば、図3Bに示すピン配置を有し、ホスト装置200のホスト装置I/F部205と接続される。
なお、本実施の形態に係るPCIeスレーブ装置220は、PCIe半導体チップ221及びバックエンドモジュール227から構成されているが、PCIe半導体チップ221単体でも本実施の形態に係るPCIeスレーブ装置220が実現できる。
ホスト装置I/F部205と、スレーブ装置I/F部223とは、REFCLKライン2102、D0ライン2103、D1ライン2104、CLKREQ#ライン2105a、PERST#ライン2105bを介して信号通信を行う。D0ライン2103及びD1ライン2104は、PCIe I/Fで使用される。また、REFCLKライン2102は、DAT0ライン2106a及びDAT1ライン2106bから構成される(例えば、図4を参照)。さらに、CLKREQ#ライン2105a、PERST#ライン2105bは、それぞれDAT2ライン2106c、DAT3ライン2106dと共通の端子及び信号線が割り当てられる(例えば、図4を参照)。
なお、ホスト装置200にレガシースレーブ装置120が接続されたとき、又は、レガシーホスト装置100にPCIeスレーブ装置220が接続されたとき、少なくともレガシーI/Fを用いて通信ができるようにするため、ホスト装置200及びPCIeスレーブ装置220は、レガシーI/Fで使用する端子(図3Bに示す第1の領域10内の端子)も備えている。なお、ホスト装置200については、レガシーI/Fをサポートしていなくてもよい。
また、CMD3ライン2107はPCIeでは使用しないが、前述のとおりホスト装置200又はPCIeスレーブ装置220がレガシーI/Fでも動作できるように、電気的に接続された状態となっている。一方、PCIe機能を有さないレガシーホスト装置100及びレガシースレーブ装置120は、PCIeのみで使用するVDD2ライン2101、D0ライン2103及びD1ライン2104の端子を具備しない。
[2−2.ホスト装置にレガシースレーブ装置が接続された構成]
図7は、本実施の形態に係るホスト装置200に抜き差し可能なレガシースレーブ装置120が接続されたリムーバブルシステムの構成例を示す図である。
図7は、本実施の形態に係るホスト装置200に抜き差し可能なレガシースレーブ装置120が接続されたリムーバブルシステムの構成例を示す図である。
ホスト装置200及びレガシースレーブ装置120の構成は、それぞれ図6及び図1に示す各ブロック図で説明した構成と同様である。
レガシースレーブ装置120のスレーブ装置I/F部124は、例えば、図3Aに示すピン配置を有し、ホスト装置200のホスト装置I/F部205と接続される。
すなわち、ホスト装置200とレガシースレーブ装置120とは、機械的に接続される一方、レガシースレーブ装置120は、VDD2ライン2101、D0ライン2103、D1ライン2104の端子を有していない。従って、ホスト装置200とレガシースレーブ装置120との間は、VDD1ライン2100、DAT0ライン2106a、DAT1ライン2106b、DAT2ライン2106c、DAT3ライン2106d、CMDライン2107、及び、CLKライン2108により電気的に接続される。
なお、図7は、ホスト装置200に抜き差し可能なレガシースレーブ装置120(例えば、図3A)が接続されたリムーバブルシステムの構成として説明したが、ホスト装置200に抜き差し可能な、SIMを搭載するスレーブ装置320(例えば、図5)が接続されたリムーバブルシステムの構成も図7に示す構成と同様である。
[2−3.詳細動作]
以下、図2、図6、図7、図8、図9を用いて、ホスト装置200に、レガシースレーブ装置120(図3A)、PCIeスレーブ装置220(図3B)、SIMを搭載するスレーブ装置320(図5)、又は、レガシーI/F及びPCIeの何れのインターフェイスも有さない装置(例えば、SIMカード単体等)(図示せず)が接続されたときの動作について説明する。
以下、図2、図6、図7、図8、図9を用いて、ホスト装置200に、レガシースレーブ装置120(図3A)、PCIeスレーブ装置220(図3B)、SIMを搭載するスレーブ装置320(図5)、又は、レガシーI/F及びPCIeの何れのインターフェイスも有さない装置(例えば、SIMカード単体等)(図示せず)が接続されたときの動作について説明する。
図8は、本実施の形態において、ホスト装置200に上記何れかの装置が接続された状態における電源起動後の動作を示すフローチャートである。
まず、ホスト装置200は、ホスト装置200に接続された装置に対してレガシーI/Fの初期化を行う(ST101)。すなわち、ホスト装置200は、ホスト装置200に接続された装置にかかわらず、図2を用いて説明した、レガシーI/Fによる電源起動後の初期化ルーチンの動作を開始する。
次に、ホスト装置200(I/F制御部206)は、ST101のレガシーI/Fの初期化が成功したか否かを判定する(ST102)。図2を用いて説明したように、レガシーI/Fをサポートするスレーブ装置(120、220、320)は、ホスト装置200に接続されたスレーブ装置のI/F条件をチェックするためのI/F条件チェックコマンド203aの内容を解釈し、対応するレスポンス203bをCMDライン2107を介してホスト装置200に返送する。そこで、ホスト装置200は、接続された装置からレスポンス203bを取得した場合にレガシーI/Fの初期化が成功したと判定し(ST102:Yes)、接続された装置からレスポンス203bを取得しなかった場合にレガシーI/Fの初期化が失敗したと判定する(ST102:No)。
これにより、ホスト装置200は、接続された装置がレガシーI/Fをサポートするか否かを判定することができる。換言すると、ホスト装置200は、接続された装置が、レガシーI/F又はPCIeをサポートするスレーブ装置(120、220、320)であるか、何れのインターフェイスも有さない装置であるかを判定することができる。
次に、レガシーI/Fの初期化に失敗した場合(ST102:No)、ホスト装置200は、接続された装置がスレーブ装置(例えば、SDカード)ではなく使用できないと判定する(ST103)。なお、この際、ホスト装置200は、接続された装置(例えば、SIMカード)に対してSIMの初期化を行ってもよい。
一方、レガシーI/Fの初期化に成功した場合(ST102:Yes)、ホスト装置200は、接続されたスレーブ装置がPCIeをサポートするか否かを示すフラグであるPCIeサポートフラグをチェックする(ST104)。例えば、ホスト装置200は、PCIeサポートフラグを以下の方法1〜4の何れかでスレーブ装置から取得してもよい。
(方法1)
PCIeサポートフラグは、図2に示すレガシーI/Fの初期化ルーチンにおけるI/F条件チェックコマンド203aに対するレスポンス203bに含まれる。すなわち、ホスト装置200は、ST102でレスポンス203bに基づいてレガシーI/Fの初期化の成功を確認するとともに、当該レスポンス203bに含まれるPCIeサポートフラグをチェックすればよい。
PCIeサポートフラグは、図2に示すレガシーI/Fの初期化ルーチンにおけるI/F条件チェックコマンド203aに対するレスポンス203bに含まれる。すなわち、ホスト装置200は、ST102でレスポンス203bに基づいてレガシーI/Fの初期化の成功を確認するとともに、当該レスポンス203bに含まれるPCIeサポートフラグをチェックすればよい。
(方法2)
PCIeサポートフラグは、図2に示すレガシーI/Fの初期化ルーチンにおけるI/Fの初期化を指示する初期化コマンド204aに対するレスポンス204bに含まれる。すなわち、ホスト装置200は、ST102でレスポンス203bに基づいてレガシーI/Fの初期化の成功を確認後、初期化コマンド204aの送信を行い、レスポンス204bに含まれるPCIeサポートフラグをチェックすればよい。
PCIeサポートフラグは、図2に示すレガシーI/Fの初期化ルーチンにおけるI/Fの初期化を指示する初期化コマンド204aに対するレスポンス204bに含まれる。すなわち、ホスト装置200は、ST102でレスポンス203bに基づいてレガシーI/Fの初期化の成功を確認後、初期化コマンド204aの送信を行い、レスポンス204bに含まれるPCIeサポートフラグをチェックすればよい。
(方法3)
PCIeサポートフラグは、図2に示すレガシーI/Fの初期化ルーチンにおけるレジスタReadコマンド205aに対してスレーブ装置から送信される出力データ205cに含まれる。すなわち、ホスト装置200は、ST102でレスポンス203bに基づいてレガシーI/Fの初期化の成功を確認後、レジスタReadコマンド205a送信までの処理を行い、出力データ205cに含まれるPCIeサポートフラグをチェックすればよい。
PCIeサポートフラグは、図2に示すレガシーI/Fの初期化ルーチンにおけるレジスタReadコマンド205aに対してスレーブ装置から送信される出力データ205cに含まれる。すなわち、ホスト装置200は、ST102でレスポンス203bに基づいてレガシーI/Fの初期化の成功を確認後、レジスタReadコマンド205a送信までの処理を行い、出力データ205cに含まれるPCIeサポートフラグをチェックすればよい。
(方法4)
PCIeサポートフラグは、ホスト装置200が図2に示すレガシーI/Fの初期化ルーチンにおいて発行する、方法1〜方法3で説明したコマンド以外の他のコマンド(特殊コマンド)(図示せず)に対するレスポンスに含まれる。例えば、ホスト装置200は、レスポンス204bの受信以降に特殊コマンドの発行が可能になる。すなわち、ホスト装置200は、ST102でレスポンス203bに基づいてレガシーI/Fの初期化の成功を確認後、特殊コマンド送信までの処理を行い、特殊コマンドに対するレスポンスに含まれるPCIeサポートフラグをチェックすればよい。
PCIeサポートフラグは、ホスト装置200が図2に示すレガシーI/Fの初期化ルーチンにおいて発行する、方法1〜方法3で説明したコマンド以外の他のコマンド(特殊コマンド)(図示せず)に対するレスポンスに含まれる。例えば、ホスト装置200は、レスポンス204bの受信以降に特殊コマンドの発行が可能になる。すなわち、ホスト装置200は、ST102でレスポンス203bに基づいてレガシーI/Fの初期化の成功を確認後、特殊コマンド送信までの処理を行い、特殊コマンドに対するレスポンスに含まれるPCIeサポートフラグをチェックすればよい。
以上、PCIeサポートフラグの取得方法について説明した。
次に、ホスト装置200(I/F制御部206)は、ST104で接続しているスレーブ装置から送信されるPCIeサポートフラグに基づいて、当該接続しているスレーブ装置がPCIeをサポートするか否か(つまり、PCIeスレーブ装置220であるか否か)を判定する(ST105)。
例えば、上記方法1〜方法4においてPCIeサポートフラグは、スレーブ装置がPCIeをサポートする場合に‘1’を示し、スレーブ装置がPCIeをサポートしない場合に‘0’を示してもよい。なお、PCIeサポートフラグの値はこれに限定されるものではない。また、上記方法1〜方法4においてPCIeサポートフラグを含む信号(各レスポンス又は出力データ)のフォーマットにおいて現在使用されていないリザーブビットに、PCIeサポートフラグを含めてもよい。こうすることで、既に出荷されているレガシースレーブ装置120のリザーブビットは‘0’であるので、ホスト装置200は、既に出荷されているレガシースレーブ装置120に対してもPCIeサポートフラグに基づいてPCIeをサポートするか否かを適切に判定することができる。
さらに、スレーブ装置がPCIeをサポートするかどうかを示すのは、ホスト装置がPCIeをサポートするかどうかを問い合わせる場合に限ってもよい。例えば上記(方法1)において、I/F条件チェックコマンド203aにPCIeサポート問い合わせフラグを多重し、PCIeをサポートするかを問い合わせるときに‘1’、そうでないときに‘0’を多重する。スレーブ装置は、PCIeサポート問い合わせフラグが‘1’であるI/F条件チェックコマンド203aを受信したときに限り、スレーブ装置がPCIeをサポートする場合に‘1’を示し、スレーブ装置がPCIeをサポートしない場合に‘0’を示し、PCIeサポート問い合わせフラグが‘0’であるI/F条件チェックコマンド203aを受信した場合は常に‘0’を示してもよい。
次に、接続されたスレーブ装置がPCIeをサポートしていない場合、つまり、レガシースレーブ装置120(図3A)又はスレーブ装置320(図5)である場合(ST105:No)、ホスト装置200は、レガシーI/Fの初期化を継続する(ST106)。具体的には、ホスト装置200のホスト装置I/F部205は、第1の領域10内のレガシーI/Fの端子群(図3A又は図5のピン1〜8)を介して、ST102のレガシーI/Fの初期化の判定及びST104のPCIeサポートの判定のために実行したレガシーI/Fの初期化処理の続きの処理を行う。
つまり、ホスト装置200は、レガシーI/Fの初期化を継続するので、PCIeをサポートするPCIeスレーブ装置220(図3B)においてPCIeを利用可能とするための端子群(PCIeピンと記す)が配置される第2の領域20(第2列)に対して電源及び信号の供給(印加)を行わない。
こうすることで、例えば、ホスト装置200に、SIMを搭載するスレーブ装置320(図5)が接続されたとしても、ホスト装置200は、第2の領域20に配置されたSIM302に対して電源、信号を供給することなく、第1の領域10に配置されたレガシーI/Fの端子群(電源ライン及び信号ライン)を介して、スレーブ装置320との間で通信を行うことができる。これにより、ホスト装置200とスレーブ装置320(SIM302)との間で接触不整合(ショート)が発生することを防ぐことができる。
一方、接続されたスレーブ装置がPCIeをサポートしている場合、つまり、PCIeスレーブ装置220である場合(ST105:Yes)、ホスト装置200は、PCIe I/Fの初期化を行う(ST107)。具体的には、ホスト装置200のホスト装置I/F部205は、第1の領域10及び第2の領域20内のPCIe I/Fの端子群(図3Bのピン1〜16)を介して、PCIe I/Fの初期化を行う。
(PCIeスレーブ装置220が装着された場合)
以下、図6及び図9を用いて、ホスト装置200にPCIeスレーブ装置220が接続されたときのPCIe I/Fの初期化動作について説明する。なお、ホスト装置200は、ST107でPCIe I/Fの初期化を行う前にパワーサイクル(電源リセット)を行ってもよい。
以下、図6及び図9を用いて、ホスト装置200にPCIeスレーブ装置220が接続されたときのPCIe I/Fの初期化動作について説明する。なお、ホスト装置200は、ST107でPCIe I/Fの初期化を行う前にパワーサイクル(電源リセット)を行ってもよい。
図9は、本実施の形態において、ホスト装置200及びPCIeスレーブ装置220より構成されるリムーバブルシステムにおける、初期化動作を示す図である。
本実施の形態に係るPCIeスレーブ装置220においては、電源供給前、DAT0ライン2106a、DAT1ライン2106b、DAT2ライン2106c、DAT3ライン2106d、CMDライン2107はすべてHi−Z状態となっている。
電源起動時、ホスト装置200は、第1電源供給部201からVDD1ライン2100を介してホスト装置I/F部205に3.3V電源を供給する。
ホスト装置I/F部205に供給された3.3V電源は、ホスト装置I/F部205から出力されるCLKREQ#ライン2105a、PERST#ライン2105b及びCLKライン2108の3.3V信号を生成するために使用される。
また、ホスト装置200は、第2電源供給部202からVDD2ライン2101を介してPCIe半導体チップ203及びPCIeレギュレータ204に1.8V電源を供給する。
PCIe半導体チップ203は、供給された1.8V電源を、PCIe半導体チップ203内に配置されたあらゆるモジュールに供給して、各モジュールが動作可能な状態とする。なお、PCIe半導体チップ203に供給される電源は、上記1.8V電源の代わりに、VDD1ライン2100を介して供給される3.3V電源でもよい。
PCIeレギュレータ204は、供給された1.8V電源の電圧を適宜変換して出力する装置であり、PCIe I/Fで使用する差動信号の振幅(0.4V〜1.2V、以下便宜上0.4Vとする)の電圧に降圧してホスト装置I/F部205に供給される。これにより、ホスト装置I/F部205から出力されるREFCLKライン2102、D0ライン2103の0.4V差動シリアル信号を生成するために使用される。
一方、VDD1ライン2100を介してPCIeスレーブ装置220に供給された3.3V電源は、スレーブ装置I/F部223に供給され、スレーブ装置I/F部223から出力されるCLKREQ#ライン2105a及びPERST#ライン2105bの3.3V信号を生成するために使用される。
また、VDD2ライン2101を介してPCIeスレーブ装置220に供給された1.8V電源は、PCIe半導体チップ221及びPCIeレギュレータ222に供給される。PCIe半導体チップ221は、供給された1.8V電源を、PCIe半導体チップ221内に配置されたあらゆるモジュールに供給して、各モジュールが動作可能な状態とする。また、PCIeレギュレータ222に供給された1.8V電源は、0.4Vに降圧されたうえでスレーブ装置I/F部223に供給される。これにより、スレーブ装置I/F部223から出力されるD1ライン2104の0.4V差動シリアル信号を生成するために使用される。なお、PCIe半導体チップ221に供給される電源は、上記1.8V電源の代わりに、VDD1ライン2100を介して供給される3.3V電源でもよい。
REFCLKライン2102により、差動シリアル方式の差動リファレンスクロックがホスト装置200からPCIeスレーブ装置220へ片方向で伝送される。また、D0ライン2103(2本の信号線で構成)により、差動シリアル方式の信号(Transaction Layer Packet、Data Link Layer Packet、Special Symbol)がホスト装置200からPCIeスレーブ装置220へ伝送される。さらに、D1ライン2104(2本の信号線で構成)により、差動シリアル方式の信号がPCIeスレーブ装置220からホスト装置200へ伝送される。
次に、図9を用いて、ホスト装置200及びPCIeスレーブ装置220によるPCIe I/Fの初期化ルーチンの動作について説明する。
ホスト装置200は、CMDライン2107およびすべてのDATライン2106を、図示していないホスト装置200内のプルアップ抵抗でVDD1ライン2100と同レベルの3.3Vにプルアップした上で、Hi−Z状態とする。これにより図9に示すように、これらの信号ラインはVDD1起動後にハイレベルに遷移する。
図2と同様、ホスト装置200はCLKライン2108を介してクロックを供給した後、リセットコマンド901、I/F条件チェックコマンド902aを送信し、PCIeスレーブ装置220からレスポンス902bを受信する。
レスポンス903のPCIeサポートフラグの値が‘1’、すなわちPCIeスレーブ装置220がPCIeをサポートしている場合、ホスト装置200はCMDライン2107、DAT0ライン2106a、DAT1ライン2106bおよびDAT3ライン2106dをローレベルにドライブし、かつCLKライン2108によるクロック供給を停止する。その後、DAT0ライン2106aおよびDAT1ライン2106bはREFCLKライン(2102)、DAT2ラインはCLKREQ#ライン2105a、DAT3ライン2106dはPERST#ライン2105bとして使用される。
ホスト装置200は、PERST#ライン2105bがローレベル、CLKREQ#ライン2105aがハイレベルであることを検知したとき、VDD2ライン2101を介して1.8V電源を供給する(911)。
PCIeスレーブ装置220は、VDD2ライン2101を介して1.8V電源を検知後、例えば1ms以内にCLKREQ#ライン2105aをローレベルにドライブする(912)。これは、PCIeスレーブ装置220がホスト装置200に対してPCIe I/Fの初期化を受け入れ可能であることを通知するための操作である。また、PCIe I/Fにおいては、CLKREQ#ライン2105aの信号をローレベルとすることは、ホスト装置200に対してクロックの供給を要求することを意味する。またCLKREQ#ライン2105aは、ホスト装置200によりドライブされずHi−Z状態であるので、PCIeスレーブ装置220によりローレベルにドライブされても問題ない。
なお、PCIeスレーブ装置220が1.8V電源を検知後CLKREQ#ライン2105aをローレベルにドライブするまでの時間1msの規定は一例であり、他の数値であってもかまわない。また、以後、具体的な数値で記載した時間に関する規定は一例であり、他の数値でもかまわない。
ホスト装置I/F部205は、タイミング912にてCLKERQ#ライン2105aがローレベルであることを検知すると、I/F制御部206に通知する。I/F制御部206は、CLKERQ#ライン2105aがローレベルであることを通知されると、接続されたスレーブ装置がPCIe I/Fに対応すると判定する。
このように、ホスト装置200は、図8に示すST104、ST105におけるPCIeサポートフラグによるPCIeのサポートの有無に加え、PCIe I/Fの初期化動作におけるPCIeのサポートの有無を判定することにより、接続されたスレーブ装置がPCIe I/Fに対応するか否かを2段階で確認することができる。これにより、例えば、ホスト装置200が、接続されたスレーブ装置320からのPCIeサポートフラグを、PCIeをサポートしていると誤って判定した場合でも、図9に示すPCIeサポートの判定により、PCIe I/Fに対応していないと正しく判定することができるので、スレーブ装置320(SIM302)に対する接触不整合(ショート)の発生を防ぐことができる。
また、ホスト装置200のI/F制御部206は、接続されたスレーブ装置がPCIe I/Fに対応すると判定すると、REFCLKライン2102を介して差動シリアルのクロック信号をPCIeスレーブ装置220に供給し(913)、その後、PERST#ライン2105bをハイレベルにドライブする(914)。この信号がハイレベルになることはリセット状態が解除されたことを意味する。
その後、ホスト装置200は、PCIeスレーブ装置220との間でリンク初期化及びトレーニングを実行する。具体的には、ホスト装置200はD0ライン2103を介してSpecial Symbolの一種であるTS1シンボル904aをPCIeスレーブ装置220に送信する。そしてPCIeスレーブ装置220は、D1ライン2104を介してTS1シンボル904bをホスト装置200に送信する。このシンボル交換により、PCIe I/Fで通信するにあたってより詳細な情報が設定される。
続いて、ホスト装置200はTS2シンボル905aをPCIeスレーブ装置220に送信し、PCIeスレーブ装置220はTS2シンボル905bをホスト装置200に送信することで情報交換が実施され、PCIe I/Fの初期化が完了する。
以上、PCIe I/Fの初期化動作について説明した。
なお、ホスト装置200及びPCIeスレーブ装置220は、図8のST105の動作においてPCIeサポートフラグに基づいてPCIeスレーブ装置220がPCIeをサポートしていると判定した場合、図9に示すタイミング912までの動作(つまり、PCIeをサポートするか否かを判定する動作)を行わなくてもよい。または、ホスト装置200は、図8のST104におけるPCIeサポートフラグによるPCIeのサポートの有無を判定する代わりに、図9に示すタイミング912までの動作によって、PCIeをサポートするか否かを判定してもよい。
(PCIeスレーブ装置220が装着されない場合)
以下、図7及び図10を用いて、ホスト装置200にPCIeスレーブ装置220が接続されなかったときの初期化動作について説明する。
以下、図7及び図10を用いて、ホスト装置200にPCIeスレーブ装置220が接続されなかったときの初期化動作について説明する。
電源起動後、ホスト装置200によるクロック供給、リセットコマンド901およびI/F条件チェックコマンド902a送信までの動作は図9と同様である。スレーブ装置がPCIeスレーブ装置220でなかったとき、I/F条件チェックコマンド902aを受信したとき、PCIeサポートフラグの値が‘0’であるレスポンス902bをホスト装置200に送信する。
PCIeサポートフラグの値が‘0’であるレスポンス902bを受信したホスト装置200は、スレーブ装置がPCIeをサポートしていないと判定し、引き続き初期化コマンド903aを送信して、レガシーI/Fでの初期化を継続する。
このとき、VDD2ライン2101を介して1.8V電源が供給されること、ならびに差動信号D0ライン2103に信号が供給されることはない。従って、スレーブ装置がSIMを搭載するスレーブ装置320であっても、2nd ROWに電源および信号が供給差売れることはないので、接触不整合(ショート)が発生することはない。
以上説明したように、本発明の実施の形態によれば、ホスト装置200にPCIeスレーブ装置220が接続されなかったとき、PCIeサポートフラグにより、PCIe I/Fが非サポートを検知すれば、2nd ROWの端子を介して、1.8Vの電源やPCIe I/Fの信号を供給しないので、SIMに対して不具合を与えることはない。
[2−4.効果]
本実施の形態によれば、ホスト装置200は、まず、接続された装置に対してレガシーI/Fの初期化を行い、初期化に失敗した場合に当該接続された装置がスレーブ装置ではないと判定する。次に、ホスト装置200は、レガシーI/Fの初期化に成功した場合、当該スレーブ装置がPCIeをサポートするか否かを判定する。そして、ホスト装置200は、スレーブ装置がPCIeをサポートする場合にはPCIe I/Fの初期化を開始し、スレーブ装置がPCIeをサポートしない場合にはレガシーI/Fの初期化を継続する。
本実施の形態によれば、ホスト装置200は、まず、接続された装置に対してレガシーI/Fの初期化を行い、初期化に失敗した場合に当該接続された装置がスレーブ装置ではないと判定する。次に、ホスト装置200は、レガシーI/Fの初期化に成功した場合、当該スレーブ装置がPCIeをサポートするか否かを判定する。そして、ホスト装置200は、スレーブ装置がPCIeをサポートする場合にはPCIe I/Fの初期化を開始し、スレーブ装置がPCIeをサポートしない場合にはレガシーI/Fの初期化を継続する。
これにより、ホスト装置200は、レガシースレーブ装置120(図3A)、PCIeスレーブ装置220(図3B)、及びSIMを搭載するスレーブ装置320(図5)の何れがホスト装置200に接続されても、ホスト装置200及び当該スレーブ装置との間でネゴシエーションし、適切なインターフェイスを選択することができる。
また、ホスト装置200は、接続された装置における第1の領域10(例えば、図3A、図3B、図5を参照)に相当する領域、つまり、ホスト装置200への接続が想定されるスレーブ装置に共通する領域で、電源及び信号を供給して、当該接続された装置がサポートするi/Fの種類を判定することができる。換言すると、ホスト装置200は、PCIeを利用可能とするための第2の領域20(例えば、図3Bを参照)に相当する領域、つまり、SIMを搭載するスレーブ装置320においてSIMが配置される領域では、PCIeスレーブ装置220であることが判定されるまで電源及び信号の供給を行わない。
これにより、例えば、ホスト装置200に図5に示すスレーブ装置320が装着されても、ホスト装置200がPCIe I/Fの初期化を行うことが回避されるので、ホスト装置200とSIM302との間で接触不整合(ショート)が発生し、ホスト装置200及びSIM302が破損してしまうことを防ぐことができる。
また、ホスト装置200は、ホスト装置200に対してレガシーI/F及びPCIe I/Fの双方をサポートしない装置(図示せず)が接続されても、当該装置をスレーブ装置として使用不可であると適切に判断することができる。これにより、ホスト装置200は、当該装置に対して不要に電源及び信号を供給することを防ぐことができる。また、特に、当該装置がSIMカードの場合、ホスト装置200は、スレーブ装置に対するI/Fの初期化の代わりに、SIMカードの初期化を行うことができる。
以上より、本実施の形態によれば、ホスト装置200に対して何れのスレーブ装置又はスレーブ装置以外の装置が装着されても、インターフェイスの互換性を保つと同時に、安全に使用することができる。
また、ホスト装置200から出力されるDATライン2106、CMDライン2107、CLKライン2108の信号振幅は3.3Vではなく、例えば1.8Vなど他の電圧でもよい。
また、本実施の形態では、PCIe I/Fを有するPCIeスレーブ装置220について説明したが、これに限定されるものではない。例えば、PCIe I/Fと同様、差動信号を用いた差動I/F(例えば、UHS−II I/F)のように、レガシーI/Fと共通の端子群(第1の領域10内の端子群)、及び、差動I/Fで使用される端子群(第2の領域20の端子群)を用いるI/Fを有するスレーブ装置に対しても、ホスト装置200は、PCIeスレーブ装置220と同様の動作を行うことができる。
なお、本実施の形態においては、PCIe I/Fは図3Bの位置に存在するとして説明した。それ以外にも、図11Aに示すような位置に第3の領域として、新たにPCIe I/Fの端子群を追加する場合も考えられる。この第3の領域は、図11Bに示すようにSIMの端子と領域が重複することから、本実施の形態と同様の効果が得られる。
また本発明におけるスレーブ装置(SDカード)は、図3A、図3B、および図4に示すピン配置をもつmicroSDのみならず、図12A、図12B、および図13に示すピン配置を持つ標準サイズSDカードにおいても同様に成り立つ。
以上、本開示の一態様に係る実施の形態について説明した。
本開示の一態様は、SDカードをはじめとするスレーブ装置と対応ホスト装置、及びホスト装置及びスレーブ装置からなるリムーバブルシステムに適用することができる。
100 レガシーホスト装置
101,501 電源供給部
102,121 レガシーI/F半導体チップ
103,122 レギュレータ
104,123 SW
105 ホスト装置I/F部
106,125,206,224 I/F制御部
120 レガシースレーブ装置
124,223 スレーブ装置I/F部
126,227 バックエンドモジュール
200,500 ホスト装置
201 第1電源供給部
202 第2電源供給部
203,221,503,521 PCIe半導体チップ
204,222,504,522 PCIeレギュレータ
205 ホスト装置I/F部
220,520 PCIeスレーブ装置
101,501 電源供給部
102,121 レガシーI/F半導体チップ
103,122 レギュレータ
104,123 SW
105 ホスト装置I/F部
106,125,206,224 I/F制御部
120 レガシースレーブ装置
124,223 スレーブ装置I/F部
126,227 バックエンドモジュール
200,500 ホスト装置
201 第1電源供給部
202 第2電源供給部
203,221,503,521 PCIe半導体チップ
204,222,504,522 PCIeレギュレータ
205 ホスト装置I/F部
220,520 PCIeスレーブ装置
Claims (10)
- 第1のインターフェイスをサポートする第1のスレーブ装置、及び、前記第1のインターフェイスとは異なる第2のインターフェイスをサポートする第2のスレーブ装置の何れかと接続するホスト装置であって、
前記ホスト装置に接続された第1の装置に対して前記第1のインターフェイスの初期化を行い、前記第1のインターフェイスの初期化に成功した場合、前記第1の装置が前記第2のスレーブ装置であるか否かを判定する制御部と、
前記第1の装置が前記第2のスレーブ装置である場合、前記第2のインターフェイスの初期化を行い、前記第1の装置が前記第2のスレーブ装置ではない場合、前記第1のインターフェイスの初期化を継続するインターフェイス部と、
を具備するホスト装置。 - 前記制御部は、前記第1の装置に対する前記第1のインターフェイスの初期化に失敗した場合、前記第1の装置が前記第1のスレーブ装置及び前記第2のスレーブ装置の何れでもないと判定する、
請求項1に記載のホスト装置。 - 前記制御部は、前記第1の装置に対する前記第1のインターフェイスの初期化に失敗した場合、前記第1の装置に対してSIMの初期化を行う、
請求項2に記載のホスト装置。 - 前記制御部は、前記第1の装置から送信される、前記第2のインターフェイスをサポートするか否かを示す信号に基づいて、前記第1の装置が前記第2のスレーブ装置であるか否かを判定する、
請求項1に記載のホスト装置。 - 前記第2のインターフェイスに対応するか否かを示す信号は、前記第1のインターフェイスの初期化においてインターフェイス条件をチェックするコマンドに対するレスポンスに含まれる、
請求項4に記載のホスト装置。 - 前記第2のインターフェイスに対応するか否かを示す信号は、前記第1のインターフェイスの初期化を指示するコマンドに対するレスポンスに含まれる、
請求項4に記載のホスト装置。 - 前記第2のインターフェイスに対応するか否かを示す信号は、前記第1のインターフェイスの初期化においてレジスタの読み取りを指示するコマンドに対して前記第1の装置から送信される出力データに含まれる、
請求項4に記載のホスト装置。 - 前記第1のスレーブ装置には、前記第1のインターフェイス及び前記第2のインターフェイスの双方で使用される第1の端子群が第1の領域に配置され、
前記第2のスレーブ装置には、前記第1の端子群が前記第1の領域に配置され、前記第2のインターフェイスのみで使用される第2の端子群が、前記第1の領域と異なる第2の領域に配置され、
前記インターフェイス部は、前記第1の装置が前記第2のスレーブ装置である場合、前記第1の端子群及び前記第2の端子群の双方を介して前記第2のインターフェイスの初期化を行い、前記第1の装置が前記第2のスレーブ装置ではない場合、前記第1の端子群を介して前記第1のインターフェイスの初期化を継続する、
請求項1に記載のホスト装置。 - 前記第2のインターフェイスは、差動信号を用いたインターフェイスである、
請求項1に記載のホスト装置。 - 第1のインターフェイスをサポートする第1のスレーブ装置、及び、前記第1のインターフェイスとは異なる第2のインターフェイスをサポートする第2のスレーブ装置の何れかと接続するホスト装置、及び、前記第1のスレーブ装置又は前記第2のスレーブ装置からなるリムーバブルシステムであって、
前記ホスト装置は、
前記ホスト装置に接続された第1の装置に対して前記第1のインターフェイスの初期化を行い、前記第1のインターフェイスの初期化に成功した場合、前記第1の装置が前記第2のスレーブ装置であるか否かを判定し、
前記第1の装置が前記第2のスレーブ装置である場合、前記第2のインターフェイスの初期化を行い、前記第1の装置が前記第2のスレーブ装置ではない場合、前記第1のインターフェイスの初期化を継続する、
リムーバブルシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017076840 | 2017-04-07 | ||
JP2017076840 | 2017-04-07 | ||
PCT/JP2018/014482 WO2018186456A1 (ja) | 2017-04-07 | 2018-04-04 | ホスト装置及びリムーバブルシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2018186456A1 true JPWO2018186456A1 (ja) | 2020-01-16 |
Family
ID=63712243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019511294A Pending JPWO2018186456A1 (ja) | 2017-04-07 | 2018-04-04 | ホスト装置及びリムーバブルシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200034321A1 (ja) |
JP (1) | JPWO2018186456A1 (ja) |
WO (1) | WO2018186456A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109948767A (zh) * | 2018-02-01 | 2019-06-28 | 华为技术有限公司 | 存储卡和终端 |
JP7292864B2 (ja) * | 2018-04-23 | 2023-06-19 | キオクシア株式会社 | 半導体記憶装置 |
US10949106B2 (en) | 2019-01-18 | 2021-03-16 | Silicon Motion Inc. | Initialization methods and associated controller, memory device and host |
TWI709859B (zh) | 2019-01-18 | 2020-11-11 | 慧榮科技股份有限公司 | 安全數位卡之方法、快閃記憶體控制器以及電子裝置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086182A (ja) * | 2008-09-30 | 2010-04-15 | Denso Wave Inc | 光学的情報読取装置 |
JP2011165140A (ja) * | 2010-02-15 | 2011-08-25 | Toshiba Tec Corp | コードシンボル読取装置及びその制御プログラム |
US20120153025A1 (en) * | 2010-11-30 | 2012-06-21 | Denso Wave Incorporated | System for reading information code and medium on which information code is formed |
JP2014197379A (ja) * | 2013-03-08 | 2014-10-16 | パナソニック株式会社 | メモリカードコントローラとそれを備えたホスト機器 |
JP2017049873A (ja) * | 2015-09-03 | 2017-03-09 | パナソニックIpマネジメント株式会社 | ホスト装置、スレーブ装置及びリムーバブルシステム |
-
2018
- 2018-04-04 WO PCT/JP2018/014482 patent/WO2018186456A1/ja active Application Filing
- 2018-04-04 JP JP2019511294A patent/JPWO2018186456A1/ja active Pending
-
2019
- 2019-10-03 US US16/592,663 patent/US20200034321A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086182A (ja) * | 2008-09-30 | 2010-04-15 | Denso Wave Inc | 光学的情報読取装置 |
JP2011165140A (ja) * | 2010-02-15 | 2011-08-25 | Toshiba Tec Corp | コードシンボル読取装置及びその制御プログラム |
US20120153025A1 (en) * | 2010-11-30 | 2012-06-21 | Denso Wave Incorporated | System for reading information code and medium on which information code is formed |
JP2014197379A (ja) * | 2013-03-08 | 2014-10-16 | パナソニック株式会社 | メモリカードコントローラとそれを備えたホスト機器 |
JP2017049873A (ja) * | 2015-09-03 | 2017-03-09 | パナソニックIpマネジメント株式会社 | ホスト装置、スレーブ装置及びリムーバブルシステム |
Non-Patent Citations (1)
Title |
---|
SD SPECIFICATIONS PART 1 PHYSICAL LAYER SIMPLIFIED SPECIFICATION VERSION. 5.00, JPN7020003750, 10 August 2016 (2016-08-10), pages 25 - 32, ISSN: 0004523271 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018186456A1 (ja) | 2018-10-11 |
US20200034321A1 (en) | 2020-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4896450B2 (ja) | 記憶装置 | |
JP4620049B2 (ja) | メモリデバイスおよびホスト機器 | |
JPWO2018186456A1 (ja) | ホスト装置及びリムーバブルシステム | |
KR102461761B1 (ko) | 전자 장치 | |
US7287703B2 (en) | Removable memory cards including USB and other controllers, connectors, and methods of operating same | |
US7987308B2 (en) | Multi-interface controller, memory card having the multi-interface controller, and interface setting method | |
US7467249B2 (en) | Efficient connection between modules of removable electronic circuit cards | |
US20050086434A1 (en) | Multimedia/secure digital cards and adapters for interfacing to hosts and methods of operating | |
KR100495657B1 (ko) | 복수의 통신 모드들을 갖는 집적 회로 장치 및 그것의동작 방법 | |
TW200413937A (en) | Combination non-volatile memory and input-output card with direct memory access | |
US10095614B2 (en) | Memory controller and accessing system utilizing the same | |
TWI760615B (zh) | 用於進行記憶裝置之寫保護指令之偵測控制的方法、控制晶片以及電子裝置 | |
JP4588427B2 (ja) | メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法 | |
US7159064B2 (en) | Method and device for increasing data transfer in multi-media card | |
JP2019057229A (ja) | 通信形式判定方法 | |
US20080114935A1 (en) | Memory Card System and Method Transmitting Host Identification Information Thereof | |
JP6620313B2 (ja) | ホスト装置、スレーブ装置及びリムーバブルシステム | |
JP2018156506A (ja) | ホスト装置、スレーブ装置及びリムーバブルシステム | |
KR100882207B1 (ko) | 다른 메모리 장치를 호스트와 독립적으로 인터페이스시키기위한 커넥터를 포함하는 메모리 장치 | |
JP2017049873A (ja) | ホスト装置、スレーブ装置及びリムーバブルシステム | |
JP7243923B2 (ja) | ホスト装置、スレーブ装置およびデータ転送システム | |
JP7320707B2 (ja) | ホスト装置、スレーブ装置およびデータ転送システム | |
JP6413077B2 (ja) | ホスト装置、スレーブ装置、インターフェイス半導体装置及びリムーバブルシステム | |
WO2016132733A1 (ja) | ホスト装置、スレーブ装置、インターフェイス半導体装置及びリムーバブルシステム | |
JP2019057228A (ja) | カード装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201124 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210615 |