(57)【要約】【課題】メモリカードの多くの特性を変更することなく，既存のＭＭＣカード及ぶＳＤカードの能力を拡張し，また完全な下方互換性を保証することである。【解決手段】電源端子と，データバス端子を備えるデータバスと，クロック端子を備えるクロック線と，コマンド端子を備えるコマンド線と，を備えるＭＭＣ／ＳＤインタフェースのようなインタフェースを介して周辺デバイスからホストデバイスをブートするシステム及び方法である。電力は電源端子に供給され，ＭＭＣ／ＳＤ又は類似のインタフェースのコマンド端子は起動中にロウ信号レベルに設定される。データ送信の開始ビットを探索するためにデータバスが監視される。【選択図】図１
2014220011.tif 000002
【特許請求の範囲】
【請求項１】
電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースを介して前記ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする方法であって、
初期化手続中に前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスへブート要求引数を送信するステップと、
前記クロック線へクロック信号を送信するステップと、
前記データバスを監視してデータ送信の開始ビットを探索するステップと、
を有する方法。
【請求項２】
前記ブート要求引数は、コマンドを含む請求項１に記載の方法。
【請求項３】
前記ブート要求引数は、ＣＭＤ０段階中、又はその直後に送信する請求項１に記載の方法。
【請求項４】
前記ブート要求引数は、ＣＭＤ０段階中にリセットコマンドを含む請求項３に記載の方法。
【請求項５】
前記ブート要求引数は、ＣＭＤ０コマンド引数を含む請求項１に記載の方法。
【請求項６】
前記ブート要求引数は、修正ＣＭＤ０コマンド引数を含む請求項１に記載の方法。
【請求項７】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートすることができる計算機プログラムであって、ホストデバイス、ＭＭＣ／ＳＤインタフェースを備える周辺デバイス、又はＭＭＣ／ＳＤインタフェースを備える周辺デバイスを挿入したホストデバイスのシステム上で実行すると請求項１に記載の各ステップを実行する計算機プログラム。
【請求項８】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートすることができる方法を実行する計算機プログラムであって、ホストデバイス、ＭＭＣ／ＳＤインタフェースを備える周辺デバイス、又はＭＭＣ／ＳＤインタフェースを備える周辺デバイスを挿入したホストデバイスのシステム上で実行すると請求項１に記載の各ステップを実行する計算機プログラム。
【請求項９】
前記ブート要求引数と共に、
ブートセクタ読み出しに用いるデータバス線の数と、
使用するクロック周波数及びタイミングモードと、
のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースへ送信するステップ
を更に有する請求項１に記載の方法。
【請求項１０】
電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースを介して前記ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする方法であって、
前記周辺デバイスの初期化手続中に前記周辺デバイスの前記ＭＭＣ／ＳＤインタフェースにおいて前記ホストデバイスからブート要求引数を受信するステップと、
前記クロック端子においてクロック信号を受信するステップと、
ブートデータが前記周辺デバイスに記憶されているとき、前記ＭＭＣ／ＳＤインタフェースを介して、データ送信の開始ビットからデータを前記ホストデバイスに送信するステップと、
を有する方法。
【請求項１１】
前記ブート要求引数は、コマンドを含む請求項１０に記載の方法。
【請求項１２】
前記ブート要求引数は、ＣＭＤ０段階中、又はその直後に送信する請求項１０に記載の方法。
【請求項１３】
前記ブート要求引数は、ＣＭＤ０段階中にリセットコマンドを含む請求項１２に記載の方法。
【請求項１４】
前記ブート要求引数は、ＣＭＤ０コマンド引数を含む請求項１０に記載の方法。
【請求項１５】
前記ブート要求引数は、修正ＣＭＤ０コマンド引数を含む請求項１０に記載の方法。
【請求項１６】
前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースへの前記ブート要求引数と共に
ブートセクタ読み出しに用いるデータバス線の数と、
使用するクロック周波数及びタイミングモードと、
のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を受信するステップと、
前記の標示パラメータを用いて、前記データバスを介して前記ホストデバイスへデータを送信するステップと、
を更に有する請求項１０に記載の方法。
【請求項１７】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートすることができる計算機プログラムであって、ホストデバイス、ＭＭＣ／ＳＤインタフェースを備える周辺デバイス、又はＭＭＣ／ＳＤインタフェースを備える周辺デバイスを挿入したホストデバイスのシステム上で実行すると請求項１０に記載の各ステップを実行する計算機プログラム。
【請求項１８】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートすることができる方法を実行する計算機プログラムであって、ホストデバイス、ＭＭＣ／ＳＤインタフェースを備える周辺デバイス、又はＭＭＣ／ＳＤインタフェースを備える周辺デバイスを挿入したホストデバイスのシステム上で実行すると請求項１０に記載の各ステップを実行する計算機プログラム。
【請求項１９】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートすることができるように構成されたブート可能なホストデバイスであって、
電源部と、
前記電源部と接続されたプロセッサと、
前記プロセッサ及び前記電源部に接続され、電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
を備え、
前記周辺デバイスの初期化処理中に、前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスへブート要求引数を送信し、
データバスを監視してデータ送信の開始ビットを探索する、
ように構成したブート可能なホストデバイス。
【請求項２０】
前記ホストデバイスは、コマンドを含むブート要求引数を用いるように構成した請求項１９に記載のブート可能なホストデバイス。
【請求項２１】
前記ホストデバイスは、ＣＭＤ０段階中、又はその直後に送信するブート要求引数を用いるように構成した請求項１９に記載のブート可能なホストデバイス。
【請求項２２】
前記ホストデバイスは、ＣＭＤ０段階中にリセットコマンドを含むブート要求引数を用いるように構成した請求項２１に記載のブート可能なホストデバイス。
【請求項２３】
前記ホストデバイスは、ＣＭＤ０コマンド引数を含むブート要求引数を用いるように構成した請求項１９に記載のブート可能なホストデバイス。
【請求項２４】
前記ホストデバイスは、修正ＣＭＤ０コマンド引数を含むブート要求引数を用いるように構成した請求項１９に記載のブート可能なホストデバイス。
【請求項２５】
前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースへの前記ブート要求引数と共に、
ブートセクタ読み出しに用いるデータバス線の数と、
使用するクロック周波数及びタイミングモードと、
のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を、前記ＭＭＣ／ＳＤインタフェースを介して送信するように構成する請求項１９に記載のブート可能なホストデバイス。
【請求項２６】
前記ＭＭＣ／ＳＤインタフェースのデータバス端子をロウ信号レベルに設定して、前記の転送に用いる前記データバスの幅を標示するように更に構成する請求項１９に記載のブート可能なホストデバイス。
【請求項２７】
周辺デバイスからブートすることができるように構成されたブート可能なホストデバイスをブートするように構成した周辺デバイスであって、
電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
前記ＭＭＣ／ＳＤインタフェースに接続された周辺デバイス制御部と、
前記周辺デバイス制御部に接続されたメモリモジュールと、
を備え、
ブートデータが前記周辺デバイスに記憶されている場合、前記周辺デバイスの前記ＭＭＣ／ＳＤインタフェースにおいて前記ホストデバイスからブート要求引数を受信したとき、かつ前記クロック線においてクロック信号を受信したとき、
前記ＭＭＣ／ＳＤインタフェースを介してデータを、データ送信の開始ビットから送信するように構成する周辺デバイス。
【請求項２８】
前記周辺デバイス制御部は、コマンドを含むブート要求引数を受信するように更に構成した請求項２７に記載の周辺デバイス。
【請求項２９】
前記周辺デバイス制御部は、ＣＭＤ０段階中、又はその直後にブート要求引数を受信するように更に構成した請求項２７に記載の周辺デバイス。
【請求項３０】
前記周辺デバイス制御部は、ＣＭＤ０段階中にリセットコマンドを含むブート要求引数を受信するように更に構成した請求項２９に記載の周辺デバイス。
【請求項３１】
前記周辺デバイス制御部は、ＣＭＤ０コマンド引数を含むブート要求引数を受信するように更に構成した請求項２７に記載の周辺デバイス。
【請求項３２】
前記周辺デバイス制御部は、修正ＣＭＤ０コマンド引数を含むブート要求引数を受信するように更に構成した請求項２７に記載の周辺デバイス。
【請求項３３】
前記周辺デバイス制御部は、前記ＭＭＣ／ＳＤインタフェースのデータバス端子において、前記の転送に用いる前記データバスの幅を標示するロウ信号レベルの信号を受信するように更に構成し、前記転送に用いるデータ幅に関して前記の標示されたデータバスの幅を用いるように更に構成する請求項２７に記載の周辺デバイス。
【請求項３４】
前記周辺デバイス制御部は、
前記ホストデバイスからの前記ブート要求引数と共に
ブートセクタ読み出しに用いるデータバス線の数と、
使用するクロック周波数及びタイミングモードと、
のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を受信するように更に構成し、
前記の標示パラメータを用いて、前記データバスを介して前記ホストデバイスへ前記データを送信するように更に構成する請求項２７に記載の周辺デバイス。
【請求項３５】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートすることができるように構成されたブート可能なホストデバイスであって、
電源部と、
前記電源部と接続されたプロセッサと、
前記プロセッサおよび前記電源部と接続され、電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
を備え、
前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスが待機状態になるまで周辺デバイスの標準初期化データ交換を行い、
前記ホストデバイスと前記待機状態の前記周辺デバイスとの間でデータ交換を行って、データバス内のコンポーネント中に有効なブートコードを探す、
ように構成するブート可能なホストデバイス。
【請求項３６】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートすることができるように構成されたブート可能なホストデバイスであって、前記周辺デバイスはブート要求追加引数を有する動作条件レジスタを備え、前記ホストデバイスは、
電源部と、
前記電源部と接続されたプロセッサと、
前記プロセッサ及び前記電源部に接続され、電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
を備え、
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化後に、ブート要求引数を前記ＭＭＣ／ＳＤインタフェースに送信し、
前記データバスを監視して前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスから受信するブートデータを探索する、
ように構成するブート可能なホストデバイス。
【請求項３７】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートすることができるように構成されたブート可能なホストデバイスをブートできるように構成したＭＭＣ／ＳＤインタフェースを備える周辺デバイスであって、ブート要求追加引数を有する動作条件レジスタを備え、
電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
前記ＭＭＣ／ＳＤインタフェースに接続された動作条件レジスタを備える周辺デバイス制御部と、
前記周辺デバイス制御部に接続されたメモリモジュールと、
を備え、
前記動作条件レジスタ内にブート要求追加引数を有し、
初期化処理後に前記周辺デバイスにおいてブート要求引数を受信し、
前記メモリモジュールからブートデータを取得し、前記ＭＭＣ／ＳＤインタフェースを介して前記ホストデバイスへブートデータを送信する、
ように構成した周辺デバイス。
【請求項３８】
前記ブート要求引数を有する前記動作条件レジスタは、前記周辺デバイス制御部に接続され、又は前記周辺デバイス制御部内に組み込まれたハードコードハードウェアコンポーネントとして実現する請求項３７に記載の周辺デバイス。
【請求項３９】
前記ブート要求引数を有する前記動作条件レジスタは、前記周辺デバイス制御部内で動作するソフトウェアとして実現する請求項３７に記載の周辺デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，メモリデバイス，特にメモリカードのインタフェースに関する。より詳細に言えば本発明は，マルチメディアカード（ＭＭＣ）又はセキュアデジタル（ＳＤ（登録商標））カードに関する。従来から知られているメモリカード電子インタフェースによって組み込み大規模メモリが導入され始めている。すなわち，大規模メモリと類似のメモリカードを用いることができることが望まれる。今日までそのようなインタフェースは，着脱可能メモリカードに集中して開発及び改良されてきた。そのインタフェースを組み込みメモリにも適するようにするためには，いくつかの未解決の課題に取り組む必要がある。
【０００２】
本発明は，従来から知られている直列プロトコルメモリカードインタフェース（ＭＭＣ  ＩＦ）にブート機構も導入する。本方法は（既存技術のとおり）同一信号レベルを用いてもよいし，メモリカードインタフェースの既存の直列プロトコルを用いてもよい。
【背景技術】
【０００３】
ＭＭＣ仕様の概要は次のインターネットサイトからダウンロードすることができる。
http://www.mmca.org/compliance/buy_spec/MMCA_System_SummaryV41.pdf
別の電子インタフェースを備える既存の組み込み大規模メモリコンポーネントのブート規定は既に知られている。これらの既知コンポーネントは，例えばＮＡＮＤ，ＯｎｅＮＡＮＤ（登録商標）及びＭＤＯＣ大規模メモリである。これらすべてに共通することは，起動のある段階でメモリコンポーネントに対してデータの第１セクタ（通常は５１２Ｂ）をＩＯバッファに取得するように指示するために（例えばブートのために予約されている別個のピンにおいて）ある信号レベルを用いることである。先行技術として引用するＭ−ｓｙｓｔｅｍｓ社のＤｉｓｋＯｎＣｈｉｐ（登録商標）（ＤＯＣ）の技術データシートは，インターネットの次のアドレスから取得することができる。
http://www.m-systems.com/NR/rdonlyres/85A96312-0130-47AD-A22C-CB533E28EE7A/0/DOC_G3_512Mb_1Gb_Rev20.pdf
【０００４】
別の電子インタフェースを備える別の既存組み込み大規模メモリコンポーネントには，別の既知のブート規定がある。この種のコンポーネントは，例えばＮＡＮＤ（http://www.samsung.com/Products/Semiconductor/NANDFlash/index.htm参照）と，ＯｎｅＮＡＮＤ（登録商標）（http:// www.samsung.com/Products/Semiconductor/OneNAND/index.htm参照）と，ＭＤＯＣ（http://www.m-systems.com/site/en-US/Products/DiskOnChip/DiskOnChip/参照）と，の大規模メモリである。これらすべてに共通することは，起動のある段階でメモリコンポーネントに対してデータの第１セクタ（通常は５１２Ｂ）をＩＯバッファに取得するように指示するために（例えばブートのために予約されている別個のピンにおいて）ある信号レベルを用いることである。
【０００５】
現在のＭＭＣ及びＳＤメモリカードは，例えばホットスワップ（活線挿抜）操作を行うことができるが，より多くの機能を提供することができるようにこれらのメモリカードの能力を拡張することも望まれる。
【０００６】
メモリカードの可用性を改善するためには，ユーザがメモリカードをブート可能媒体として用いることができるようにすることが望ましい。この特徴によって，例えばＭＭＣカード及びＳＤカードは携帯電話機又はカメラのような自己ブートデバイスだけでなく，例えばラップトップ計算機及びパームトップ計算機用のブート可能記憶媒体としても広く使われるようになるであろう。
【０００７】
現在ＭＭＣカード及びＳＤカードの分野では，ホストデバイスのブート時に第１（セクタ）データにアクセスする唯一の方法は，カードの初期化と，レジスタの読み書きと，既知のアドレスへの正常読み出しアクセスと，のすべての手続に従うことである。
【０００８】
既存のＭＭＣメモリカード及びＳＤメモリカードインタフェースプロトコルに関する課題は，効率のよいブート機構が規定されていないことである。ホストデバイスのブート時に第１（セクタ）データにアクセスする唯一の方法は，カードの初期化と，レジスタの読み書きと，既知のアドレスへの正常読み出しアクセスと，のすべての手続に従うことである。このことは，ブートアドレス（例えば読み出すことになっているブートデータのアドレスが既知でないような）への正常読み出しアクセスを自動的に実行するように構成されていないデバイスに対しては，ブート手続を実行できないことを意味する。
【０００９】
また，電子インタフェース又はフォームファクタを変更する必要なく，すなわち起動のある段階でメモリコンポーネントに対してデータのあるセクタをＩＯバッファに取得するように指示するために，ブート用に予約されている追加の別個のピンの信号レベルを用いることなく，より広い可用性を達成できることも望まれる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】ＭＭＣ仕様概要（http://www.mmca.org/compliance/buy_spec/MMCA_System_SummaryV41.pdf）
【非特許文献２】Ｍ−ｓｙｓｔｅｍｓ社ＤｉｓｋＯｎＣｈｉｐ（登録商標）（ＤＯＣ）の技術データシート（http://www.m-systems.com/NR/rdonlyres/85A96312-0130-47AD-A22C-CB533E28EE7A/0/DOC_G3_512Mb_1Gb_Rev20.pdf）
【非特許文献３】ブート規定、ＮＡＮＤ（http://www.samsung.com/Products/Semiconductor/NANDFlash/index.htm）
【非特許文献４】ブート規定、ＯｎｅＮＡＮＤ（登録商標）（http:// www.samsung.com/Products/Semiconductor/OneNAND/index.htm）
【非特許文献５】ブート規定、ＭＤＯＣ（http://www.m-systems.com/site/en-US/Products/DiskOnChip/DiskOnChip/）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
したがって本発明が扱う課題は，メモリカードの多くの特性を変更することなく，既存のＭＭＣカード及ぶＳＤカードの能力を拡張し，また完全な下方互換性を保証することである。
【課題を解決するための手段】
【００１２】
本発明の一態様によって，ＭＭＣカード／デバイス及びＳＤカード／デバイスで用いられているＭＭＣ  ＩＦの従来から既知の直列プロトコルメモリカードインタフェースにブート機構が導入される。この方法は，（先行技術と）同一の信号レベルを用いてもよいし，メモリカードインタフェースの既存の直列プロトコルを利用してもよい。
【００１３】
本発明の第１態様によって，ＭＭＣ／ＳＤインタフェースを介して周辺デバイスからホストデバイスをブートする方法が提供される。このＭＭＣ／ＳＤインタフェースは，電源端子と，データバス端子を備えるデータバスと，クロック（ＣＬＫ）端子を備えるクロック（ＣＬＫ）線と，コマンド端子（ＣＭＤ）を備えるコマンド線（ＣＭＤ）とを備える。本発明によれば，方法は，上記電源端子に電力（及び接地）を供給するステップと，起動中に（ホストデバイスの）上記ＭＭＣ／ＳＤインタフェースのＣＭＤ端子をロウ（ｌｏｗ）（信号レベル（ｓｉｇｎａｌ  ｓｔａｔｅ））に設定するステップと，続いてデータバスを監視してデータ送信の開始ビットを探索するステップと，を有する。
【００１４】
ＭＭＣ／ＳＤカード又はデバイスの標準起動手続においては，ホストデバイスは起動中に上記ＭＭＣ／ＳＤインタフェースのＣＭＤ端子をハイ（ｈｉｇｈ）に設定する。すなわちこの実施例は，起動中にブートを指示するために既存の信号を利用する。しかしそれは，ブート手続を実行しようとするホストデバイスが用いるインタフェースにおいては「予期しない」信号である。現在は，ＭＭＣ／ＳＤカード又はデバイスの起動手続中にＣＭＤ線がロウに設定されると何が起きるか，ＭＭＣ／ＳＤ仕様には規定されていない。
【００１５】
ホストデバイスの上記ＭＭＣ／ＳＤインタフェースのＣＭＤ端子は，通常は”ＣＭＤ０”コマンドがＣＭＤ線を介して送信される期間「ロウ」信号レベルに設定してもよい。”ＣＭＤ０”コマンドとは，起動手続のコマンド，GO_IDLE_STATE(CMD0)である。初期化中に用いられる次のコマンドはＣＭＤ１，SEND_OP_COND (send operation condition)であり，ＭＭＤ／ＳＤインタフェースを備える周辺デバイスの動作電圧範囲を識別するものである。初期化手続のほかのコマンドはＣＭＤ２及びＣＭＤ３であり，ＣＭＤ２（ALL_SEND_CID）は唯一のカード識別番号（ＣＩＤ）を要求し，ＣＭＤ３（SET_RELATIVE_ADDR）は相対カードアドレス（ＲＣＡ）を設定するものであって，ＲＣＡはＣＩＤよりも短いので，データ交換を短縮することができる。
【００１６】
本発明の例示実施例において，方法は更に，ＣＬＫ信号を上記ホストデバイスから上記ＭＭＣ／ＳＤインタフェースの上記ＣＬＫ端子に送信するステップを有する。ここで上記ＭＭＣ／ＳＤインタフェースの上記ＣＬＫ端子は，起動処理前又は起動処理中，初期化クロックが２４サイクルと４８サイクルとの間，より好ましくは６０サイクルと１００サイクルとの間，そして最も好適には７４サイクル又は少なくとも７４サイクル送信される間ロウレベルに設定される。
【００１７】
本発明の別の例示実施例においては，上記方法は更に，カードが上記データバスにデータを送信している限り，上記ホストデバイスから上記ＣＬＫ端子にＣＬＫ信号を送信するステップを有し，例えばホストデバイスはカードが送信しなければならないすべてのデータが送信されるまで，クロック供給を続ける。
【００１８】
本発明の方法のまた別の例示実施例においては，ホストデバイスはデータバス端子をロウレベルに設定してデータ転送に用いるデータバス幅を標示する。この実施例においては，ホストデバイスはＭＭＣ／ＳＤインタフェースを備える周辺デバイスに，ＭＭＣ／ＳＤカードのようなＭＭＣ／ＳＤデバイスがブートデータを送信するために用いるデータ線／端子の数を通知することができる。本明細書において，ＭＭＣ／ＳＤデバイスという表現はＭＭＣ／ＳＤメモリカード，及びＭＭＣ／ＳＤインタフェースを備える組み込みメモリデバイスのような組み込みデバイスを指すために選ばれている。
【００１９】
例えば，第１データバス端子（Ｄａｔ０）だけをロウレベルに設定してＭＭＣ／ＳＤインタフェースを備える周辺デバイスに，この端子だけを用いて（単一チャネル多重で），ブートデータを転送するために用いられる。
【００２０】
すなわち，ＣＭＤ線をロウレベルにしてブート要求を標示すると共に，ブートデータをホストデバイスに伝送するために用いられるデータバス線に対応する数のデータバス線がロウレベルに設定される。
【００２１】
これらの実現例によって，コンポーネントを完全に初期化し，例えばブートデータを要求するために，最初の読み出しアクセスに先立ってレジスタを設定する必要は最早必要ない。
【００２２】
本発明の別の態様によって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートする方法が提供される。基本的にこの態様はブート手続の周辺デバイス側に関するものである。周辺デバイスは，電源端子と，データバス端子を備えるデータバスと，ＣＬＫ端子を備えるＣＬＫ線と，ＣＭＤ端子を備えるＣＭＤ線と，を備えるＭＭＣ／ＳＤインタフェースを備える。本発明のこの態様の方法は，上記ＭＭＣ／ＳＤインタフェースの上記電源端子において電力（及び接地）を受電するステップと，起動前又は起動中にＣＭＤ端子においてロウ（レベル）信号を受信するステップと，データバスを介して所定記憶領域の第１データを第１データフレームの開始ビットから送信するステップと，を有する。
【００２３】
起動中ＭＭＣ／ＳＤインタフェースを備える周辺デバイスは，ＣＭＤ線において「予期しない」信号を検出し，所定データファイル，所定記憶領域又はメモリ領域，若しくはＭＭＣ／ＳＤインタフェースを備える周辺デバイスのメモリモジュール又はコアの「ブートデータセクタ」からブートデータを送信開始する。ホストデバイスをブートする上述の方法と，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートする方法との組合せは，互いにブート処理を補完する。例えば双方の関係するデバイス（例えばホストデバイス及びＭＭＣ／ＳＤインタフェースを備える周辺デバイス）のすべてのステップを有するシステム請求項も考えられる。
【００２４】
例示実施例においては，起動処理中に初期化クロックを２４サイクルと１４８サイクルとの間，好ましくは６０サイクルと１００サイクルとの間，そして最も好適には７４クロックだけ送信する間，前記ＭＭＣ／ＳＤインタフェースの前記コマンド端子においてロウレベル信号を受信したときだけ，データバスを介して所定記憶領域の上記第１データが送信される。また，ブートデータ転送のために所定記憶領域の代わりに所定ファイルを選択することも考えられる。
【００２５】
本発明の方法の例示実施例においては，上記方法は更に，データバス端子においてデータ転送に用いるデータバス幅を標示するロウレベル信号を受信するステップと，上記データを標示されたデータバス幅を用いて送信するステップと，を有する。
【００２６】
例えば最初の２つのデータバス端子（Ｄａｔ０及びＤａｔ１）を「ロウ」（信号レベル）に設定することになったとき，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスはこれら２つの端子だけを用いて（２チャネル多重で）ブートデータをホストデバイスに転送する。
【００２７】
すなわち，ＣＭＤ線をロウに設定する（すなわちブート要求を標示する）と共に，ブートデータをホストデバイスに転送するために用いるデータバス線の数に対応するデータバス線が「ロウレベルに設定される」。
【００２８】
本発明の別の態様によって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする方法が提供される。ホストデバイスは，電源端子と，データバス端子を備えるデータバスと，ＣＬＫ端子を備えるＣＬＫ線と，ＣＭＤ端子を備えるＣＭＤ線と，を備えるＭＭＣ／ＳＤインタフェースを備える。この方法は，初期化手続き中に上記ホストデバイスから上記ＭＭＣ／ＳＤインタフェースを介して上記周辺デバイスへブート要求引数を送信するステップであって，上記ブート要求はコマンドを含むステップと，ＣＬＫ信号をＣＬＫ線に送信するステップと，データバス端子を監視してデータ送信の開始ビット（及びデータ自身も）探索するステップと，を有する。
【００２９】
この実現例は既存の直列プロトコルコマンドを利用するものである。すなわち「予期しない」信号プロトコルコマンドをインタフェースに送信して，ホストデバイスが（ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからのデータによって）ブート手続を実行する意図があることを標示する。この方法は例えば，リセットコマンドを含むブート要求引数をホストデバイスからＭＭＣ／ＳＤインタフェースを介して周辺デバイスへ送信するステップと，続いてデータバス端子を監視してデータ送信又はデータフレームの開始ビットを探索するステップと，によって実現してもよい。ブート要求引数は，初期化手続中，例えばＣＭＤ０段階（例えばカードの起動後のＭＭＣ／ＳＤインタフェースを備える周辺デバイス初期化）の際，又はその直後に送信される。コマンドフレーム内部（例えばＭＭＣ／ＳＤ仕様書に規定されたＣＭＤ０コマンドの内部）の内部ブート要求を送信することも考えられる。
【００３０】
この方法は，例えば現在は0x00000000であるＣＭＤ０の引数を修正することによって実現できる。ＭＭＣ／ＳＤインタフェースに送信する第１引数の値が0x00000001であるときは，ブート要求を標示する。
【００３１】
本発明の例示実施例によれば本方法は更に，ブート要求引数と共に，ブートセクタ読み出しに用いるデータ線数，使用するクロック周波数及びタイミングモード，などのグループから選択したブートシーケンスに関係するパラメータを標示する追加引数を，上記ホストデバイスからＭＭＣ／ＳＤインタフェースへ送信するステップを有する。データバス幅に関する引数は，例えばブート要求に加えてコマンドフレーム内（例えばＣＭＤ０のコマンドフレーム内）で転送してもよい。
【００３２】
この実施例は，ブート要求における（又はこれに関係する）ブートシーケンス又はブート手続，若しくはブートデータ転送手続に関係するほかの引数の追加パラメータを，ホストデバイスが規定できるようにする。
【００３３】
本発明の別の態様において既に説明したとおり，ブートデータ送信に用いるバス幅は，（ブート要求引数の送信前，送信中，又は送信後に）ロウレベルに設定されるいくつかのデータバス端子によって標示することもできる。また，「ロウ」信号レベルに設定されたデータバス端子の数を用いて，送信に用いるデータバス端子の数を標示することもできる。
【００３４】
２進計数アルゴリズムをＤａｔ０端子からＤａｔ７端子に用いると，４つの端子，例えばＤａｔ０からＤａｔ３を用いるだけで，ブートシーケンスを転送するために用いるすべての可能な端子数を判定するための端子を規定することができる。Ｎを例えば（２進数−１）として送信に用いる２Ｎ個のデータ端子を規定するために２進計数アルゴリズムを用いると，３個のＤａｔ端子を用いるだけで８個（そして６４個までの）まだ規定されていないＤａｔ端子を規定することができる。そうでないときは，単一線送信用のＤａｔ端子はすべての端子を「ハイ」に設定することによって標示される。そうすることによって（ブート手続中の標準信号は，すべてのデータ端子を「ハイ」に設定するので）バス幅としては全く解釈されない。また，初期化手続き中にＤａｔ線又は端子のうち１つだけをブート要求の標示として「ロウ」に設定することも考えられる（残りはバス幅，周波数，又は別のパラメータを表してもよいし，表さなくてもよい）。
【００３５】
（当業者であれば，この実現例においてロウ信号レベルは，正又は負の計数方式によってそれぞれ２進値の「０」又は「１」として解釈されるものであり，２進数がＤａｔ０からＤａｔ３へ計数されるか，偶数番目又は奇数番目の端子だけで表されるか，若しくは上から下（Ｄａｔ７からＤａｔ４）へ計数されるか，等を明示的に記す必要はないことに気付くであろう。）
【００３６】
この実現例では４番目から５番目のＤａｔ端子は空けてあるので，ブートセクタ読み出しに用いるデータ線の数，用いる周波数及びタイミングモード，などのような追加ブート期間パラメータを符号化するために用いてもよい。
【００３７】
起動中のデータバス信号についてのこの実現例は，すべての上述の，及び以降の本発明の方法又はデバイスの実現例において実現することができる。
【００３８】
本発明のまた別の態様によって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの上述のブートデータ提供手続が提供される。この方法は，電源端子と，データバス端子を備えるデータバスと，ＣＬＫ端子を備えるＣＬＫ線と，ＣＭＤ端子を備えるＣＭＤ線と，を備えるＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートするものである。この方法は，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化手続中に，上記周辺デバイスの上記ＭＭＣ／ＳＤインタフェースにおいて上記ホストデバイスからブート要求引数を受信するステップと，上記データバスにおいてＣＬＫ信号を受信するステップと，ブートデータが上記周辺デバイスに記憶されているとき，上記ＭＭＣ／ＳＤインタフェースを介してデータ送信の開始ビットからデータを送信するステップと，を有する。
【００３９】
この実現例は，例えば既存の直列プロトコル（及びおそらくリセットコマンド）を（通常予期されるＣＭＤ０コマンドの代わりに受信される）「予期しない」信号プロトコルコマンドとして利用するものである。このコマンドはインタフェースにおいて受信され，周辺デバイス（制御部）はこれをブートデータ送信要求と解釈する。ホスト側手続において既に開示したとおり，ブート要求の上記引数は，例えば上記ＭＭＣ／ＳＤインタフェースにおけるリセットコマンドを含む（ブート要求を標示する修正ＣＭＤ０コマンドに含まれる）。カードが例えば引数を有するリセットコマンドＣＭＤ０を受信した後，カードは第１データをＩＯバッファに取得し，データバスに記憶した，又は取得したブートデータをデータバスに送信する（少なくとも，ＣＬＫ信号がＣＬＫ端子において受信されている限り）。
【００４０】
本発明の例示実施例においては，本方法は更に，上記ホストデバイスからの上記ブート要求引数と共に，ブートセクタ読み出しに用いるデータ線の数と，データ送信に使用するクロック周波数及びタイミングモードと，のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を受信するステップと，上記の標示パラメータを用いて，上記データバスを介して上記ホストデバイスへデータを送信するステップと，を有する。この方法は直接ブート要求内に実現してもよいし，Ｄａｔ０端子からＤａｔ７端子において検出される対応する信号入力又は信号レベルによって標示してもよい。
【００４１】
本発明の別の態様によって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする方法が提供される。本方法は，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスが待機状態になるまで，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの標準初期化データ交換を行うステップと，続いて上記ホストデバイスと上記待機状態の上記周辺デバイスとの間でデータ交換を行い，データバス中のコンポーネント内の有効なブートコードを探索するステップと，を有する。
【００４２】
上記ブート要求において，引数は（カードが待機状態に入るまでの正常初期化の）ＣＭＤ０，ＣＭＤ１，ＣＭＤ２，ＣＭＤ３コマンドと同時，又はその後の初期化シーケンスの後の段階において与えることもできる。ＭＭＣ／ＳＤインタフェースを備える周辺デバイスが待機状態になった後，ホストデバイスはデータバス内の各コンポーネントを一つずつ有効なブートコードを探索する。
【００４３】
この態様は，ホストデバイスがアプリケーションを起動してブートデータを積極的に探索する前に，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの通常の初期化処理を利用する。この実現例では，ホストデバイスがたとえ未ブート状態であっても，全初期化処理及びＭＭＣ／ＳＤインタフェースを備える周辺デバイス上に記憶されたブートデータを探索し，ロードするルーチンを実行できる必要がある。すなわちホストデバイスは，少なくともＭＭＣ／ＳＤインタフェースを備える周辺デバイス初期化用のハードコードアルゴリズム及びブートデータ探索ロードアルゴリズムを必要とする。
【００４４】
この実現例には，対応するように修正したホストデバイス及び全く通常のＭＭＣ／ＳＤインタフェースを備える周辺デバイスによって実行できるという最も大きな利点がある。
【００４５】
本発明の別の態様によって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする方法が提供される。ホストデバイスは，データバス及びＣＭＤ端子を備えるＭＭＣ／ＳＤインタフェースを介して周辺デバイスに接続される。更に上記周辺デバイスは，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの動作条件レジスタ内にブート要求の追加引数を有する。本発明のこの態様において上記方法は，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの標準初期化処理を実行するステップと，上記初期化処理が終了した後で，ブート要求引数を上記ＭＭＣ／ＳＤインタフェースへ送信するステップと，データバスを監視して上記ＭＭＣ／ＳＤインタフェースを介して周辺デバイスから受信するブートデータを探索するステップと，を有する。
【００４６】
本発明のこの実施例は，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化処理の”ＣＭＤ１”（又は引き続く高次ＣＭＤ番号の）段階で実行することができる。すなわちブートデータの転送は，周辺デバイス初期化の初期ステップに引き続いて開始される。上記の場合と同様に，この方法は動作条件レジスタ，したがってＭＭＣ／ＳＤインタフェースを備える周辺デバイス自体において変更が必要である。したがって，このブートデータ転送を実行できるように既存の（ホストデバイス又は）ＭＭＣ／ＳＤインタフェースを備える周辺デバイスを更新することはできないかもしれない。
【００４７】
本発明の上述の場合と同様に，上記方法もまた周辺デバイス側に付属物（pendant）を備える。本発明のこの実施例においては，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする方法が提供される。上述の場合と同様に上記周辺デバイスには，データバス及びＣＭＤ端末を備えるＭＭＣ／ＳＤインタフェースが提供される。ＭＭＣ／ＳＤインタフェースを備える周辺デバイスはまた，上記周辺デバイスの動作条件レジスタにブート要求の追加引数が提供される。本発明のこの実施例は，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化処理を実行するステップと，その後に上記初期化処理を終了させるステップと，周辺デバイスにおいてブート要求引数を受信するステップと，ブートデータを上記周辺デバイスのメモリモジュールから取得して上記ＭＭＣ／ＳＤインタフェースを介して上記ホストデバイスへ送信するステップと，を有する。
【００４８】
本発明の別の態様によって，サーバからダウンロード可能であって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする上記の方法を実行する計算機プログラム製品が提供される。この計算機プログラムは，ホストデバイス，ＭＭＣ／ＳＤインタフェースを備える周辺デバイス，又はＭＭＣ／ＳＤインタフェースを備える周辺デバイスを挿入したホストデバイスのシステム上で実行すると上記方法ステップのすべてを実行するプログラムコード手段を含む。
【００４９】
本発明のまた別の態様によって，計算機可読媒体に記憶され，ホストデバイス，ＭＭＣ／ＳＤインタフェースを備える周辺デバイス，又はＭＭＣ／ＳＤインタフェースを備える周辺デバイスを挿入したホストデバイスのシステム上で実行するとＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートすることができる上述の方法を実行できるプログラムコード手段を含む。
【００５０】
本発明の別の態様によって，計算機データ信号が提供される。この計算機データ信号は搬送波に埋め込まれて，ホストデバイス，ＭＭＣ／ＳＤインタフェースを備える周辺デバイス，又はＭＭＣ／ＳＤインタフェースを備える周辺デバイスを挿入したホストデバイスのシステム上で実行すると，計算機に上記方法を実行させるプログラムを表す。
【００５１】
この計算機プログラム又は計算機プログラム製品は，ホストデバイス及びＭＭＣ／ＳＤインタフェースを備える周辺デバイスのシステムの種々の部分に分散している，例えば計算機プログラムの一部は実行可能形式でホストデバイスにあり，１つの計算機プログラムは実行可能形式でＭＭＣ／ＳＤインタフェースを備える周辺デバイス内にあることが好ましい。したがってこの計算機プログラムと計算機プログラムデバイスとは，能力及びソースコードが異なる必要がある。
【００５２】
本発明のまた別の態様によって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートできるように構成したブート可能ホストデバイスが提供される。このホストデバイスは内部又は外部の電源部と，上記電源部に接続されたプロセッサと，上記プロセッサ及び上記電源部に接続されたＭＭＣ／ＳＤインタフェースと，を備える。このＭＭＣ／ＳＤインタフェースは，電源端子と，データバス端子を備えるデータバスと，ＣＬＫ端子を備えるＣＬＫ線と，ＣＭＤ端子を備えるＣＭＤ線と，を備える。ホストデバイスは，電力を上記ＭＭＣ／ＳＤインタフェースに供給し，起動中に上記ＭＭＣ／ＳＤインタフェースのＣＭＤ端子をロウ（信号レベル）に設定し，データバスを監視してデータ送信の開始ビットを探索するように構成される。
【００５３】
基本的に本発明のこの態様は，本願明細書の上記部分に開示したブート手続を実行できるホストデバイスに関する。プロセッサは主メモリを備え，ブート手続を実行する必要があるかもしれない。
【００５４】
基本的にホストデバイスはＭＭＣ／ＳＤインタフェースのＣＭＤ端子に予期しない信号を与える。ＭＭＣ／ＳＤインタフェースのＣＭＤ線又はＣＭＤ端子を（現在はハイになっているが）ロウレベルに設定することによって，初期化中にブート要求を標示することができる。すなわち本発明の原理は，初期化手続中に（既知又は新規の）信号を「予期しない」入力として用いることによって，ホストデバイスが実際にブートデータを要求していることを通知することにある。
【００５５】
ブート可能ホストデバイスの例示実施例においては，上記プロセッサは上記ホストデバイスから上記ＭＭＣ／ＳＤインタフェースの上記データバス端子にＣＬＫ信号を送信するように構成され，起動処理中に初期化クロックを２４サイクルと１４８サイクルとの間，好ましくは６０サイクルと１００サイクルとの間，そして最も好適には７４サイクルだけ送信する間，ロウレベルに設定される。この実施例においては，ホストデバイスは別の「予期しない信号」を用いてブートデータ要求を標示する。この実施例では，対応するＭＭＣ／ＳＤインタフェースを備える周辺デバイスは起動又は初期化の処理中にＣＬＫ端子のＣＬＫ信号を識別できる必要がある。また，例えばブートデータ転送に用いるデータバス幅，又は用いる周波数を符号化するパラメータとしてＭＭＣ／ＳＤインタフェースへ送信するＣＬＫ信号の数を用いることも考えられる。
【００５６】
本発明のホストデバイスの別の例示実施例においては，上記プロセッサは更に，カードが第１データを上記データバスを介して送信している限り，上記ホストデバイスから上記ＭＭＣ／ＳＤインタフェースの上記データバス端子へＣＬＫ信号を送信するように構成される。すなわちホストデバイスは，第１データフレームの開始ビットを受信してから，ホストデバイスがデータ送信の開始を検出するまで，又はすべてのデータがホストデバイスへ転送されるまで，ＣＬＫ端子にクロックを供給し続けるように構成される。
【００５７】
本発明のまた別の例示実施例においては，上記プロセッサはデータバス端子をロウレベルに設定して上記ＭＭＣ／ＳＤインタフェースに挿入されたＭＭＣ／ＳＤインタフェースを備える周辺デバイスが転送に用いるデータバス幅を標示するように構成される。これは，ブートデータ転送に用いる端子Ｄａｔ０からＤａｔ７をロウレベルに設定するようにプロセッサを構成することによって実現することができる。また，データ転送に用いるすべての端子Ｄａｔ０からＤａｔ７をハイレベルに設定して，用いる８ビットバス幅を標示するという逆の方法を実現することも考えられる。（この場合，ＭＭＣ／ＳＤインタフェースは８ビットの既定データ転送に設定される。）（また，本願明細書の方法の部分で示した符号化方式の１つを用いるように構成したホストデバイス又はＭＭＣ／ＳＤインタフェースを備える周辺デバイスを用いることも考えられる。）
【００５８】
本発明の別の態様によって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスが提供され，それはブート可能ホストデバイスをブートするように構成される（そのホストデバイスはその結果，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートされるように構成される）。本発明によれば，上記周辺デバイスは，ＭＭＣ／ＳＤインタフェースと，ＭＭＣ／ＳＤインタフェースに接続された周辺デバイス制御部と，上記周辺デバイス制御部に接続されたメモリモジュールと，を備える。ＭＭＣ／ＳＤ仕様書に規定されているとおり，ＭＭＣ／ＳＤインタフェースは電源端子と，データバス端子を備えるデータバスと，ＣＬＫ端子を備えるＣＬＫ線と，ＣＭＤ端子を備えるＣＭＤ線と，を備える。ＭＭＣ／ＳＤインタフェースを備える周辺デバイスは，周辺デバイスの起動中に周辺デバイスの上記ＭＭＣ／ＳＤインタフェースの端子において受電し，上記ＭＭＣ／ＳＤインタフェースのＣＭＤ端子においてロウレベル信号を受信するとき，データバスを介して所定記憶領域の第１データを第１データフレームの開始ビットから送信するように上記周辺デバイス制御部を構成することを特徴とする。ＭＭＣ／ＳＤインタフェースを備える周辺デバイスにおいて，上記周辺デバイス制御部は上記ＭＭＣ／ＳＤインタフェースと，上記メモリモジュールとに接続される。
【００５９】
また周辺デバイス（制御部）は，ブートデータ転送のためにメモリモジュール内の所定ファイルを自動的に選択するように構成することも考えられる。起動処理は，電源端子における電力供給及び検出，並びに（ＭＭＣ／ＳＤインタフェースの電力供給端子の一部としての）接地端子における接地の供給も含むことは明らかであろう。
【００６０】
本発明の例示実施例においては，上記ＭＭＣ／ＳＤインタフェースを備える周辺デバイス（制御部）は更に，起動処理前又は起動処理中に初期化クロックを２４サイクルと１４８サイクルとの間，好ましくは６０サイクルと１００サイクルとの間，そして最も好適には７４サイクルだけ送信する間，上記ＭＭＣ／ＳＤインタフェースの上記ＣＭＤ端子においてロウレベル信号を受信したときだけ，上記所定記憶領域の第１データをデータバスを介して送信するように構成される。
【００６１】
この実施例においては，ＭＭＣ／ＳＤカードは初期化手続中に受信したクロックサイクル数を計数して，ホストデバイスからのブート要求が受信され又は標示されたことを識別できる必要がある（このためには，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの設計に対応する修正が必要である）。
【００６２】
本発明の別の例示実施例においては，上記周辺デバイス制御部は更に，転送に用いるデータバス幅を標示し，標示されたデータバス幅を用いて上記データを送信する上記ＭＭＣ／ＳＤインタフェースのデータバス端子において，ロウレベル信号を受信するように構成される。この実施例は，起動手続中に各Ｄａｔ端子（０〜２，０〜３又は０〜７）における信号レベルを認識して，この信号からブートデータの転送に用いるデータバス幅を得ることができるＭＭＣカードに関するものであると考えられる。また，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスを，例えば２進符号化されたデータバス幅を認識できるように構成することも考えられる。
【００６３】
すなわち，本発明のこの実施例のＭＭＣ／ＳＤインタフェースを備える周辺デバイスは，起動手続中にＣＭＤ線の信号レベルを検査し，認識することができ，また更に高度な実施例においてはＣＬＫ線及びデータバス線の信号レベル（又はパルス数）を検査認識してブート要求を認識することができる。（例えば本願明細書の本発明の方法に関する部分を参照されたい。）
【００６４】
本発明の別の態様によって，ブート可能ホストデバイスはＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートできるように構成される。このホストデバイスは（上述のすべての別のホストデバイスと同様に），電源部と，上記電源部に接続されたプロセッサと，上記プロセッサ及び上記電源部に接続されたＭＭＣ／ＳＤインタフェースと，を備え，上記ＭＭＣ／ＳＤインタフェースは，電源端子と，データバス端子を備えるデータバスと，ＣＬＫ端子を備えるＣＬＫ線と，ＣＭＤ端子を備えるＣＭＤ線と，を備える。
【００６５】
このホストデバイスは，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化処理中にブート要求引数を上記ホストデバイスから上記ＭＭＣ／ＳＤインタフェースを介して周辺デバイスへ送信し，データバスを監視してデータ送信の開始ビットを探索するように構成される。
【００６６】
上記ブート要求引数は，例えばＣＭＤ０段階において上記ＭＭＣ／ＳＤインタフェースにおいて送信される例えばリセットコマンドを含んでもよい（すなわち，カードの電源端子に推奨電圧を供給した直後のＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化）。
【００６７】
本発明の例示実施例においては，上記ホストデバイスは追加引数を上記ＭＭＣ／ＳＤインタフェースを介して送信するように構成され，上記追加引数は，ブートセクタ読み出しに用いるデータ線の数，使用するクロック周波数及びタイミングモード，などのようなブートシーケンスに関係するパラメータを標示する。これらの追加引数及びパラメータは，ブート要求引数と共に，上記ホストデバイスから上記ＭＭＣ／ＳＤインタフェースへ送信される。
【００６８】
本発明の別の例示実施例によれば，上記ホストデバイスは更に，上記ＭＭＣ／ＳＤインタフェースのデータバス端子をロウレベルに設定して転送に用いるデータバス幅を標示するように構成される。これによって，ホストデバイスがバス情報をデータバスのデータバス端子を介してＭＭＣ／ＳＤインタフェースを備える周辺デバイスに送信し，ブートデータ転送を設定できるようになる。本発明の方法の説明に，これらのパラメータを標示又は通知するいくつかの可能性のある例が示されている。ホストデバイスは通常のＭＭＣ／ＳＤインタフェースを備える周辺デバイスからはブートできないことが予想される。
【００６９】
本発明のまた別の態様によって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスが提供され，その周辺デバイスはブート可能ホストデバイスをブートするように構成される（そのホストデバイスはその結果，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートされるように構成される）。本発明によれば周辺デバイスは，電源端子と，データバス端子を備えるデータバスと，ＣＬＫ端子を備えるＣＬＫ線と，ＣＭＤ端子を備えるＣＭＤ線と，を備えるＭＭＣ／ＳＤインタフェース，上記ＭＭＣ／ＳＤインタフェースに接続された周辺デバイス制御部，及び上記周辺デバイス制御部に接続されたメモリモジュールを備える。本発明によれば更に，上記ＭＭＣ／ＳＤインタフェースを備える周辺デバイスは，ブートデータが周辺デバイスに記憶されており，上記ＭＭＣ／ＳＤインタフェースを備える周辺デバイスにおいて上記ホストデバイスからブート要求引数を受信し，ＣＬＫ線においてクロック信号を受信するとき，上記ＭＭＣ／ＳＤインタフェースを介して上記ホストデバイスへ，データをデータ送信の開始ビットから送信するように構成される。
【００７０】
（ＭＭＣ／ＳＤインタフェース仕様書に規定されたとおり）ブート要求が例えばリセットコマンドを含むとき，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスは例えばブート要求引数を認識することが考えられる。
【００７１】
本発明の例示実施例においては，上記周辺デバイス制御部は更に，上記ＭＭＣ／ＳＤインタフェースのデータバス端子において，転送に用いるデータバス幅を表示するロウレベル信号を受信するように構成され，また更に上記標示データバス幅を転送に用いるように構成される。このバス幅をＭＭＣ／ＳＤインタフェースのデータバス端子又はデータバス線の８ビット引数でどのように符号化するかの例は，本発明の方法の上記説明において開示されている。
【００７２】
本発明の別の例示実施例においては，上記周辺デバイス制御部は更に，上記ホストデバイスからのブート要求引数と共に，ブートセクタ読み出しに用いるデータバス線の数と，使用するクロック周波数及びタイミングモードと，及び／又はクロックのほかのパラメータのようなブートシーケンスに関連するパラメータを標示する追加引数を受信するように構成される。本実施例のＭＭＣ／ＳＤインタフェースを備える周辺デバイス（制御部）は，上記の受信引数に標示された上記標示パラメータを用いて，上記データバスを介して上記ホストデバイスへ上記（要求されたブートの）データを送信するように更に構成される。
【００７３】
また，上述のすべてのブートデバイス実現例は，ＭＭＣ／ＳＤインタフェースを完全に初期化し，続いてＭＭＣ／ＳＤインタフェースを備える周辺デバイス上に記憶されたブートデータを探索するという従来の方法に多少なりとも関連して，ブートデータへのアクセス時間を短縮することを主要設計目標としていることに注意されたい。
【００７４】
（「ＭＭＣ／ＳＤインタフェース」という用語は，すべてのＭＭＣインタフェースがＳＤフォームファクタにも対応している訳ではないので，ＭＭＣインタフェース単体，結合したＭＭＣ／ＳＤインタフェース，又はＳＤインタフェース単体，を表すために用いることに注意されたい。）
【００７５】
自動車のダッシュボードの場合と同様にＭＭＣの設計者は，端子の１つが障害又は不良かどうかを検査できるように，ＭＭＣ／ＳＤインタフェースの初期化手続において「すべてハイレベル」の入力を実装したように思われる。本発明の方法が誤った結果となる可能性があるのは，電子的欠陥によってロウ信号レベルが生じる場合だけである。
【００７６】
本発明のまた別の態様によって，ブート可能ホストデバイスが提供され，このホストデバイスはＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートできるように構成される。このホストデバイスは，電源部と，上記電源部に接続されたプロセッサと，上記プロセッサ及び上記電源部に接続されたＭＭＣ／ＳＤインタフェースと，を備え，上記ＭＭＣ／ＳＤインタフェースは電源端子と，データバス端子を備えるデータバスと，ＣＬＫ端子を備えるＣＬＫ線と，ＣＭＤ端子を備えるＣＭＤ線と，を備える。本発明のこの態様のホストデバイスは，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスが待機状態になるまで，前記ＭＭＣ／ＳＤインタフェースを介して周辺デバイスの標準初期化データ交換を行い，上記ホストデバイスと上記待機状態の上記周辺デバイスとの間でデータ交換を行って，データバス中のコンポーネント内で有効なブートコードを探索するように構成される。
【００７７】
上記プロセッサは（ブート可能な）主メモリを備えてもよい。（このホストデバイスは，ブートファイル又はブートデータと認識できるデータファイルを自律的に探索することができるので，「ブート要求引数」を全く送信しないように構成される。）すなわちブート要求は，（カードが待機状態に入るまでの通常初期化の）ＣＭＤ０，ＣＭＤ１，ＣＭＤ２，ＣＭＤ３のコマンドと同時又はその後の初期化シーケンス後半段階で行われる。ＭＭＣ／ＳＤインタフェースを備える周辺デバイスが待機状態になった後，ホストデバイスはデータバス内の各コンポーネントを１つずつ有効なブートコードを探索することができる。
【００７８】
このホストデバイスは，アプリケーションを起動して積極的にブートデータを探索する前に，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの通常の初期化を適用してもよい。ＭＭＣ／ＳＤインタフェースを備える周辺デバイスのこの実現例では，ホストデバイスはたとえ未ブート状態であっても，全初期化処理及び周辺デバイスに記憶されたブートデータを探索し，ロードするルーチンを実行することができる必要がある。これは，ホストデバイスがＭＭＣ／ＳＤインタフェースを操作して周辺デバイスを初期化し，その後にブートデータを探索することを可能にする一種のＢＩＯＳ能力と解釈される。これは，少なくともＭＭＣ／ＳＤインタフェースを備える周辺デバイス初期化用のハードコードアルゴリズム及びブートデータ探索ロードアルゴリズムによって実現できる。
【００７９】
この実現例は，対応するように修正されたホストデバイス及び全く通常のＭＭＣ／ＳＤインタフェースを備える周辺デバイスによって実行できるという大きな利点を有する。しかしユーザが周辺デバイスにアクセスできるということは，ユーザがスロット（すなわちインタフェース）内の違うＭＭＣ／ＳＤインタフェースを備える周辺デバイスを意図せずに使うかもしれないことを含む。したがってこの実現例は，例えば（Ｎゲージゲームのコンソールのような）ゲームデバイスのようにＭＭＣ／ＳＤインタフェースを備える周辺デバイスなしではホストデバイスが機能しないことが明確であるか，又はＭＭＣ／ＳＤカードが内部ファームウェア記憶として用いられる（すなわちユーザはカードにアクセスせず，ブートデータのないＭＭＣ／ＳＤインタフェースを備える周辺デバイスによってホストデバイスを動作させようとしていらいらしない）アプリケーションに特に有用である。
【００８０】
本発明の別の態様によって，ブート可能ホストデバイスはＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートできるように構成され，上記周辺デバイスはブート要求追加引数を有する動作条件レジスタ（ＯＣＲ）を備える。上述のほかのホストデバイス実施例と同様に，上記ホストデバイスは電源部と，上記電源部に接続されたプロセッサと，上記プロセッサ及び上記電源部に接続されたＭＭＣ／ＳＤインタフェースと，を備える。上記ＭＭＣ／ＳＤインタフェースは電源端子と，データバス端子を備えるデータバスと，ＣＬＫ端子を備えるＣＬＫ線と，ＣＭＤ端子を備えるＣＭＤ線と，を備える。本発明によれば，このホストデバイスはＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化後にブート要求を上記ＭＭＣ／ＳＤインタフェースへ送信し，データバスを監視して上記ＭＭＣ／ＳＤインタフェースを介して周辺デバイスから受信するブートデータを探索する。
【００８１】
すなわちこのホストデバイスは，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスを初期化した後にブート要求引数を上記ＭＭＣ／ＳＤインタフェースへ送信し，データバスを監視して上記ＭＭＣ／ＳＤインタフェースを介して周辺デバイスから受信するブートデータを探索する。この処理は，例えば”ＣＭＤ１”データ交換段階，すなわち期間の途中又は後に行われる。上述のホストデバイスと対比すると，ブートデータ転送専用の要求が周辺デバイスに提供される。すなわちこの実施例においては，ホストデバイスのブート手続は初期化処理と，ブートデータ要求の送信と，ブートデータの受信と，だけを含む。この実現例においては，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスはブートデータがあるかどうか，またどこにそれが記憶されているかを知っている。当業者であればこのことをすぐに理解するであろうが，ホストデバイスは実際に，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの動作条件レジスタのブート要求引数を知っている（すなわち記憶している）ことをここではっきりと述べる。
【００８２】
本発明のこの実現例では，ＣＭＤ１レベルで規定されたレジスタ情報と，コンポーネントがブートコードを組み込んでいる，又は含んでいるかどうかを標示するＯＣＲ内の追加引数と，の新規規定が必要である。これによってホストデバイスは，ＣＭＤ１（ＣＭＤ１コマンドに割り当てられた引数）を送信する一方でブートデータを要求することができる。
【００８３】
本発明の更に追加の態様によって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスが提供される。この周辺デバイスは，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートできるブート可能ホストデバイスをブートするように構成される。このＭＭＣ／ＳＤインタフェースを備える周辺デバイスは，ＯＣＲ内にブート要求追加引数を有する。この周辺デバイスは，電源端子と，データバス端子を備えるデータバスと，ＣＬＫ端子を備えるＣＬＫ線と，ＣＭＤ端子を備えるＣＭＤ線と，を備えるＭＭＣ／ＳＤインタフェース，上記ＭＭＣ／ＳＤインタフェースに接続されたＯＣＲを備える周辺デバイス制御部，及び上記周辺デバイス制御部に接続されたメモリモジュールを備える。
【００８４】
このＭＭＣ／ＳＤインタフェースを備える周辺デバイスは，ＯＣＲ内にブート要求追加引数を有する。このＭＭＣ／ＳＤインタフェースを備える周辺デバイス（又はその制御部）は，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化手続の後に，周辺デバイスにおいてブート要求引数を受信し，（メモリモジュールから上記要求ブートデータを）を取得し，周辺デバイスのメモリモジュールから上記ＭＭＣ／ＳＤインタフェースを介して上記ホストデバイスへ上記ブートデータを送信するように構成される。これによってこの周辺デバイスは，ホストデバイスが単一のブートデータ転送要求を送信することによってブートデータを要求できるようにする。しかしＭＭＣ／ＳＤインタフェースのＯＣＲは変更する必要があり，このことは本質的に，実際に市場にある通常のＭＭＣ／ＳＤインタフェースを備える周辺デバイスはこの追加の特徴を有するようにはアップグレードできないことを意味する。
【００８５】
本発明の例示実施例においては，上記ブート要求引数を有する上記ＯＣＲは，ＭＭＣ／ＳＤインタフェースを備える周辺デバイス内にハードコードのハードウェアコンポーネントとして組み込まれ，上記周辺デバイス制御部に接続され，又は組み込まれる。
【００８６】
このハードウェアによる解決方法においては，ブート能力を含むコンポーネントはそのＯＣＲに応答するだけであり，ＣＭＤ１ハンドシェークが終了した後（レディ状態）でホストデバイスはデータバスへのクロック供給を続けることができ，再度データバス線によって第１データを受信する。しかしこの実現例では，ブートコンポーネントと非ブートコンポーネントとで異なるハードウェアが必要となる。いずれにしてもブート要求を受信しないときは，ブート処理が可能なＭＭＣ／ＳＤインタフェースを備える周辺デバイスでさえも，非ブートのＭＭＣ／ＳＤインタフェースを備える周辺デバイスとして用いることができる。
【００８７】
本発明の別の例示実施例においては，上記ブート要求引数を有する上記ＯＣＲは周辺デバイス制御部において動作するソフトウェアとして実現される。この実施例はファームウェア（ソフトウェア）による解決策を代表し，バス内のすべてのコンポーネントは，それらがレディになり，最後の応答だけがブート能力について有効な標示を含むまでＯＣＲに応答する。この実現例は，同一バス内に１を越えるコンポーネントがあって，ブート可能コンポーネントが非ブート可能コンポーネントより早くレディになり，ブート能力は初期化シーケンスの後段で（例えば再度別個にＯＣＲを読むことによって）再度検証されるためにより複雑である。
【００８８】
メモリカード又はメモリカード制御部は，起動検出モジュールと，メモリコアと，メモリカードインタフェースと，メモリカードインタフェース制御部と，その他のコンポーネント，のようなＭＭＣ／ＳＤインタフェース仕様書において既知の追加副要素を更に備えてもよいことに注意されたい。
以降，付属の図面を参照して本発明を詳細に説明する。
【図面の簡単な説明】
【００８９】
【図１】本発明の一態様による方法の双方の部分を示すフローチャートである。
【図２】図１の方法の代替実施例を示す図である。
【図３】本発明によるブート手続の別の実施例を示す図である。
【図４】本発明の別の実現例であって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスが完全に初期化された後でブート要求が送信される例を示す図である。
【図５】ホストデバイス及びＭＭＣ／ＳＤインタフェースを介して接続されたＭＭＣ／ＳＤインタフェースを備える周辺デバイスを示す図である。
【図６】それぞれＭＭＣ／ＳＤインタフェースを介して接続された専用ブートユニットを備えるホストデバイス及びＭＭＣ／ＳＤインタフェースを備える周辺デバイスを示す図である。
【発明を実施するための形態】
【００９０】
以降の詳細な説明において，同一コンポーネントには，本発明の別の実施例に示されているかどうかにかかわらず同一の参照記号を与えている。本発明を明確かつ簡潔に示すために，各図面は必ずしも正確な縮尺ではなく，またある特徴はいくぶん簡略化した形態で示すことがある。
【００９１】
図１並びに引き続く図２，３及び４において，フローチャートのホストデバイス部分が左側に描かれ，右側に描かれた部分はＭＭＣ／ＳＤインタフェースを備える周辺デバイスが実行する，又はその中で実行される動作又は処理を示している。
【００９２】
本発明の方法を更に示すため，電源（ＰＷＲ）と，単一のデータ信号（Ｄａｔ０，Ｄａｔ１，・・・）に分離されていることもあるデータ（ＤＡＴ）と，クロック（ＣＬＫ）信号と，コマンド（ＣＭＤ）信号と，のようないくつかの選択した信号が，通常の左から右への方法で示されている。ロウ信号レベルをより良く示すため，ロウレベル信号は，ハイからロウへの遷移で描かれている。
【００９３】
通常の信号は，（可能なときは）中断した線で示している。
【００９４】
図１は，本発明の一態様による方法の双方の部分を示すフローチャートである。このフローチャートにおいて，ホストデバイスはＭＭＣ／ＳＤインタフェースを介してＭＭＣ／ＳＤカードへ接続している周辺デバイスに接続されている。フローチャートは左上から始まり，そこでホストデバイスはＭＭＣ／ＳＤカードインタフェースの電源端子に電力を供給することによって，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスに給電する。このようにして周辺デバイスは受電する（右上）。
【００９５】
同時に（又はその後に），ホストデバイスはコマンド線（ＣＭＤ）に「ロウ」レベル信号を加える。この信号を受信するＭＭＣ／ＳＤインタフェースを備える周辺デバイスは，（現行ＭＭＣ／ＳＤインタフェース仕様書によればハイ信号レベル及びその後にＣＭＤ０を予期しているが）（現行ＭＭＣ／ＳＤインタフェース仕様書によれば）「予期しない」信号を検出する。（本発明による）ＭＭＣ／ＳＤカードはこのロウ信号レベルを認識し，それをブート要求と解釈するように構成される。ブート要求検出に続いて，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスは（例えば専用ファイル又はメモリ領域から）単にブートデータを取得して，（ＤＡＴ信号で示されるとおり）ＭＭＣ／ＳＤインタフェースを介してホストデバイスへ送信する。
【００９６】
したがって，ホストデバイスはＭＭＣ／ＳＤインタフェースのデータバスを監視してブートデータの受信を探索する。ブートデータを受信するとホストデバイスはそれを主メモリにロードしてブート要求を終了させる。
【００９７】
ＣＭＤ線の通常の信号レベル（通常初期化プロセスのＣＭＤ０，ＣＭＤ１，ＣＭＤ２等の信号が送信されるまで常にハイ）を示すため，図１に中断した線を示す。
【００９８】
図２は，図１に開示したものに加えて図１に示す方法の代替実施例を示す図である。図２は図１と同一のステップで始まる。ＣＭＤ端子に加えられるロウレベル信号に加えて，ホストデバイスは（少なくとも７４サイクル，又はすべてのブートデータが転送されるまで）ＣＬＫ端子においてクロック信号を供給する。
【００９９】
この追加信号を供給することによってＭＭＣ／ＳＤインタフェースを備える周辺デバイスは，例えばＣＭＤ端子の障害と２つの異なる信号成分からなるブート要求とを明確に区別することができる。
【０１００】
追加ステップにおいて，ホストデバイスはデータバスのＤａｔ０及びＤａｔ１の２つの端子をロウレベルに設定し，それによって引き続くデータ転送に用いるデータバス幅を標示する。（中断した線によって示すとおり，通常データバス端子は「ハイ」に設定されている。）カードにおいて「ロウレベル信号」が受信され，それに従って解釈される。そしてＤａｔ０及びＤａｔ１端子だけが最後のステップで信号を送信するように描かれており，一方Ｄａｔ２及びＤａｔ・・の端子はブートデータ転送には用いられない。
【０１０１】
この実現例によってホストデバイスは，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスと接続されたとき第１ステップにおいてブートデータのダウンロードを開始し，それによってブート処理を大幅に短縮することができる。
【０１０２】
図３は，類似するブート手続を示す図である。図２の実現例と対比すると，修正したＣＭＤ０を用いてブート要求をＭＭＣ／ＳＤインタフェースを備える周辺デバイスに標示する。従来，初期化手続は引数００Ｈを有するＣＭＤ信号を含む。図示した本発明の実現例は，引数０１Ｈを有する（通常の仕様書によれば）「予期しない」ＣＭＤ０信号を用いる。修正したＣＭＤ０信号を受信すると，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスが初期化された状態になる前でさえ，ＭＭＣ／ＳＤカードは着信するブート要求を認識することができる。
【０１０３】
修正したＣＭＤ０信号は，単独で送信してもよいし，（図２に示すように）ＣＬＫ信号に関連して送信してもよい。
【０１０４】
またほかのパラメータも，ブート要求と共にコマンド引数内で転送することができる。この種の追加パラメータは，例えば用いるデータバス幅及び用いるタイミングモードであってもよい（別個のビット又は値を割り当てる必要がある）。
【０１０５】
図４は，本発明の別の実現例を示す図であって，ブート要求はＭＭＣ／ＳＤインタフェースを備える周辺デバイスが完全に初期化された，すなわち「待機状態」になった後で送信される。待機状態において，ホストデバイスはＣＭＤ線を介してＭＭＣ／ＳＤインタフェースを備える周辺デバイスにブート要求コマンドを送信する（そしてＭＭＣ／ＳＤインタフェースのＣＬＫ端子にクロックを供給し始める）。この実現例では，対応するブート要求コマンドをＭＭＣ／ＳＤインタフェースのプロトコルに（すなわちＭＭＣ／ＳＤインタフェースを備える周辺デバイスのＯＣＲ内に）規定する必要がある。（ホストデバイスが，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスのメモリモジュールを，例えば”＊＊＊．ｂｏｔ”のようなファイル名で記されたブートデータとして認識できるあるデータ構造を自律的に探索することも考えられる）ブート要求を受信すると，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスは自動的に所望のブートデータを規定し，データ転送を開始することができる。
【０１０６】
図５は，ホストデバイスと，ＭＭＣ／ＳＤインタフェースを介して接続されたＭＭＣ／ＳＤインタフェースを備える周辺デバイスと，を示す図である。このホストデバイスは処理ユニット（ＣＰＵ）及びＭＭＣ／ＳＤインタフェース制御部を備える。図を不明りょうにしないように，ＭＭＣ／ＳＤインタフェースのＣＭＤ，ＣＬＫ及びＤＡＴ端子だけが描かれている。ＭＭＣ／ＳＤメモリカードは，ＭＭＣ／ＳＤインタフェースとメモリモジュールとの間の調停器として動作する周辺デバイス制御部を備え，ＭＭＣ／ＳＤインタフェースとメモリモジュールとの間で実行されるすべての手続を制御するように動作する。
【０１０７】
本発明の実現例においては，ホストインタフェース制御部は本発明の方法（例えば実行するために必要な信号を送信すること）を実行するように構成される。
【０１０８】
したがってホストデバイス（又はホストインタフェース制御部）は，ホストデバイス内にソフトウェアとして組み込まれた専用ブートモジュールを備える。
【０１０９】
本発明の実現例においては，ＭＭＣ／ＳＤインタフェースを備える周辺デバイスのＭＭＣ／ＳＤインタフェース制御部は，本発明の方法（例えば実行するために必要な信号を送信すること）を実行するように構成される。
【０１１０】
類似してＭＭＣ／ＳＤインタフェース制御部は，ソフトウェアとして組み込まれた専用ブートモジュールを備える。このソフトウェアブートモジュールは，ブート要求を標示する信号が受信され，ブートデータがホストデバイスに送信されることになっているかどうかを周辺デバイス制御部が判定できるようにする。
【０１１１】
図６は，それぞれ専用ブートモジュール又はブートユニットを備える図５のホストデバイス及びＭＭＣ／ＳＤインタフェースを備える周辺デバイスを示す図である。
【０１１２】
本発明の実現例においては，ホストインタフェース制御部に接続されたブートユニット又はブートモジュールは，本発明の方法（例えば実行するために必要な信号を送信すること）を実行するように構成される。ホストデバイス（又はホストインタフェース制御部）はホストデバイス内にハードウェア実装として組み込まれた専用ブートモジュールを備える。このようなブートモジュールは，ブート手続を実行するかどうかを判定できるようにＣＰＵに接続されている必要がある。またブートモジュール又はブートユニットは，ブート手続を引き起こす（すなわち実行する）ために必要なすべてのステップを踏む（すなわちすべての必要な信号を送信する）ことができるようにＭＭＣ／ＳＤインタフェース（又は制御部）にも接続されている必要がある。ブートユニットは，ＭＭＣ／ＳＤインタフェース自身とＣＰＵとの間のＭＭＣ／ＳＤインタフェース制御部と並列に接続された回路として実装してもよい。
【０１１３】
上記ブートモジュールは，起動中に上記ＭＭＣ／ＳＤインタフェースのＣＭＤ端子をロウレベルに設定し，カードが上記データバスを介してデータを送信している限り上記ホストデバイスから上記ＭＭＣ／ＳＤインタフェースの上記ＣＬＫ端子へクロック信号を送信し，データ転送に用いるデータバス幅を表示するために，データバス端子をロウレベルに設定するコンポーネントを備えてもよく，及び／又は更に初期化手続中にブート要求引数をＭＭＣ／ＳＤインタフェースへ送信し，クロック信号をＣＬＫ線へ送信するように構成したコンポーネントを備え，及び／又は更にＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化後に，ブート要求引数を上記ＭＭＣ／ＳＤインタフェースへ送信し，データバスを監視して上記ＭＭＣ／ＳＤインタフェースを介して周辺デバイスから受信するブートデータの開始ビットを探索するように構成したコンポーネントを備える。
【０１１４】
上記周辺デバイスの別の例示実施例においては，上記ブート要求引数を有する上記ＯＣＲは，周辺デバイス制御部内で動作するソフトウェアとして組み込まれる。
【０１１５】
本発明の実現例においては，ＭＭＣ／ＳＤインタフェース制御部は，専用ブートモジュール又はブートユニットによって本発明の方法を実行する（例えば実行するために必要な信号を送信する）ように構成される。
【０１１６】
類似してＭＭＣ／ＳＤ（メモリカード又は）インタフェース制御部は，ＭＭＣ／ＳＤメモリデバイス内にソフトウェア実装又はハードウェア実装として組み込まれた専用ブートモジュールを備える。このようなソフトウェアブートモジュールは，ブート要求を標示する信号が受信され，ブートデータがホストデバイスに送信されることになっているかどうかを判定できるようにするために周辺デバイス制御部と（又は少なくともＭＭＣ／ＳＤインタフェースと）接続されている必要がある。またブートモジュールは，ブート処理を簡単にするため周辺デバイスのメモリモジュール上に規定した専用ブートセクタに接続してもよい。
【０１１７】
上記ブートモジュールは，起動前又は起動中にＣＭＤ端子においてロウレベル信号を受信した後，所定の記憶領域の第１データを第１データフレームの開始ビットからデータバスを介して送信するコンポーネントを備えてもよい。
【０１１８】
また，ブートユニット又はブートモジュールは，ブート要求を標示する追加パラメータとしてクロック信号を受信する専用コンポーネントを供え，更にデータバス端子において受信したロウレベル信号によって標示されるデータバス幅を用いて上記データを送信するコンポーネントを備えることも考えられる。
【０１１９】
またブートユニットは，ＭＭＣ／ＳＤインタフェースを備える周辺デバイス内にブート要求追加引数を有する専用ＯＣＲを備えてもよい。
【０１２０】
本発明のまた別の例示実施例によれば，上記ブート要求引数を有する上記ＯＣＲは，周辺デバイス制御部内で動作するソフトウェアとして実現される。
【０１２１】
本発明を利用することによって，メモリカードインタフェースを組み込んだメモリによって更に効率的なブートが可能になり，また既存のピン又はプロトコルを用いることによって，ハードウェア又はファームウェアの変更を最小化することができる。
【０１２２】
本願は，例示の助けを借りて本発明の実現例及び実施例を説明したものである。当業者であれば，本発明は上述の実施例の詳細に制約されることなく，本発明の特徴から逸脱することなく別の形態によっても実現できることが分かるであろう。上述の実施例は例示であって制約ではないと考えるのが望ましい。したがって本発明の実現及び利用の可能性は，付属の各請求項によってだけ制約される。したがって，均等な実現物を含め，本願請求項によって規定される本発明を実現する種々の選択肢もまた，本発明の範囲に属すものである。
【図１】
2014220011.tif 000003
【図２】
2014220011.tif 000004
【図３】
2014220011.tif 000005
【図４】
2014220011.tif 000006
【図５】
2014220011.tif 000007
【図６】
2014220011.tif 000008
【手続補正書】
【提出日】平成26年8月18日(2014.8.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電源端子と、
データバス端子を備えるデータバスと、
クロック端子を備えるクロック線と，
コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースを有する周辺デバイスからホストデバイスをブートする方法であって、
初期化手続中に前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスへ、前記周辺デバイスへブート要求の引数を送信するステップであって、前記ブート要求の前記引数は、コマンド・フレームに含まれている、ステップと、
前記データバスを監視してデータ送信の開始ビットを探索するステップと、
を含む方法。
【請求項２】
前記ブート要求の前記引数は、コマンドを含む、請求項１に記載の方法。
【請求項３】
前記ブート要求の前記引数は、ＣＭＤ０段階中、又はその直後に送信される、請求項１に記載の方法。
【請求項４】
前記ブート要求の前記引数は、ＣＭＤ０段階中にリセットコマンドを含む、請求項３に記載の方法。
【請求項５】
前記ブート要求の前記引数は、ＣＭＤ０のコマンド引数を含む、請求項１に記載の方法。
【請求項６】
前記ブート要求の前記引数は、修正ＣＭＤ０のコマンド引数を含む、請求項１に記載の方法。
【請求項７】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする方法を実行させるための計算機プログラムであって、前記周辺デバイスを挿入した前記ホストデバイスに、請求項１に記載の各ステップを実行させるための計算機プログラム。
【請求項８】
ブートセクタ読み出しに用いるデータバス線の数と、
使用するクロック周波数及びタイミングモードと、のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を、前記ブート要求の引数と共に、前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースへ、送信するステップを更に含む請求項１に記載の方法。
【請求項９】
電源端子と、
データバス端子を備えるデータバスと、
クロック端子を備えるクロック線と，
コマンド端子を備えるコマンド線と、
を備えるＭＭＣ／ＳＤインタフェースを有する周辺デバイスからホストデバイスをブートする方法であって、
前記周辺デバイスの初期化手続中に前記周辺デバイスの前記ＭＭＣ／ＳＤインタフェースにおいて前記ホストデバイスからブート要求の引数を受信するステップであって、前記ブート要求の前記引数は、コマンド・フレームに含まれている、ステップと、
ブートデータが前記周辺デバイスに記憶されているとき、前記ＭＭＣ／ＳＤインタフェースを介して、データ送信の開始ビットからデータを前記ホストデバイスに送信するステップと、を含む方法。
【請求項１０】
ブート要求の前記引数は、コマンドを含む、請求項９に記載の方法。
【請求項１１】
前記ブート要求の前記引数は、ＣＭＤ０段階中、又はその直後に送信される、請求項９に記載の方法。
【請求項１２】
前記ブート要求の前記引数は、ＣＭＤ０段階中にリセットコマンドを含む、請求項１１に記載の方法。
【請求項１３】
前記ブート要求の前記引数は、ＣＭＤ０のコマンド引数を含む、請求項９に記載の方法。
【請求項１４】
前記ブート要求の前記引数は、修正ＣＭＤ０のコマンド引数を含む、請求項９に記載の方法。
【請求項１５】
ブートセクタ読み出しに用いるデータバス線の数と、使用するクロック周波数及びタイミングモードと、のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を受信するステップと、
前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースへの前記ブート要求の前記引数と共に、前記の標示パラメータを用いて、前記データバスを介して前記ホストデバイスへデータを送信するステップと、
を更に含む請求項９に記載の方法。
【請求項１６】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする方法を実行させるための計算機プログラムであって、前記周辺デバイスに、請求項９に記載の各ステップを実行させるための計算機プログラム。
【請求項１７】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートされるように構成されたブート可能なホストデバイスであって、該ホストデバイスは、プロセッサと、
前記プロセッサと接続され、
電源端子と、
データバス端子を備えるデータバスと、
クロック端子を備えるクロック線と、
コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
を備え、
前記ホストデバイスは、前記周辺デバイスの初期化処理中に、前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスへブート要求の引数を送信し、
前記データバスを監視してデータ送信の開始ビットを探索するように構成され、
前記ブート要求の前記引数は、コマンド・フレームに含まれている、
ブート可能なホストデバイス。
【請求項１８】
前記ホストデバイスは、コマンドを含むブート要求の引数を用いるように構成される、請求項１７に記載のブート可能なホストデバイス。
【請求項１９】
前記ホストデバイスは、ＣＭＤ０段階中、又はその直後に送信する前記ブート要求の引数を用いるように構成される、請求項１７に記載のブート可能なホストデバイス。
【請求項２０】
前記ホストデバイスは、ＣＭＤ０段階中にリセットコマンドを含む前記ブート要求の引数を用いるように構成される、請求項１９に記載のブート可能なホストデバイス。
【請求項２１】
前記ホストデバイスは、ＣＭＤ０コマンドの引数を含む前記ブート要求の引数を用いるように構成される、請求項１７に記載のブート可能なホストデバイス。
【請求項２２】
前記ホストデバイスは、修正ＣＭＤ０コマンドの引数を含む前記ブート要求の引数を用いるように構成される、請求項１７に記載のブート可能なホストデバイス。
【請求項２３】
前記ホストデバイスは、ブートセクタ読み出しに用いるデータバス線の数と、使用するクロック周波数及びタイミングモードと、のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を、前記ＭＭＣ／ＳＤインタフェースを介して、前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースへの前記ブート要求の前記引数と共に、送信するように構成される、請求項１７に記載のブート可能なホストデバイス。
【請求項２４】
前記ＭＭＣ／ＳＤインタフェースのデータバス端子をロウ信号レベルに設定して、
転送に用いる前記データバスの幅を標示するように更に構成される請求項１７に記載のブート可能なホストデバイス。
【請求項２５】
周辺デバイスからブートされるように構成されたブート可能なホストデバイスをブートするように構成される周辺デバイスであって、
電源端子と、
データバス端子を備えるデータバスと、
クロック端子を備えるクロック線と，
コマンド端子を備えるコマンド線と、
を備えるＭＭＣ／ＳＤインタフェースと、
前記ＭＭＣ／ＳＤインタフェースに接続された周辺デバイス制御部と、
前記周辺デバイス制御部に接続されたメモリモジュールと、を備え、
周辺デバイス制御部は、
（ａ）前記周辺デバイスに格納されたブート・データ、および、
（ｂ）前記周辺デバイスの前記ＭＭＣ／ＳＤインタフェースにおいて前記ホストデバイスからブート要求の引数を受信すること、に応答して、前記ＭＭＣ／ＳＤインタフェースを介してデータを、データ送信の開始ビットから送信するように構成され、
前記ブート要求の前記引数は、コマンド・フレームに含まれている、
周辺デバイス。
【請求項２６】
前記周辺デバイス制御部は、コマンドを含むブート要求の引数を受信するように更に構成される、請求項２５に記載の周辺デバイス。
【請求項２７】
前記周辺デバイス制御部は、ＣＭＤ０段階中、又はその直後に前記ブート要求の引数を受信するように更に構成される、請求項２５に記載の周辺デバイス。
【請求項２８】
前記周辺デバイス制御部は、ＣＭＤ０段階中にリセットコマンドを含むブート要求の引数を受信するように更に構成される、請求項２７に記載の周辺デバイス。
【請求項２９】
前記周辺デバイス制御部は、ＣＭＤ０コマンドの引数を含むブート要求の引数を受信するように更に構成される、請求項２５に記載の周辺デバイス。
【請求項３０】
前記周辺デバイス制御部は、修正ＣＭＤ０コマンドの引数を含むブート要求の引数を受信するように更に構成される、請求項２５に記載の周辺デバイス。
【請求項３１】
前記周辺デバイス制御部は、前記ＭＭＣ／ＳＤインタフェースのデータバス端子において、転送に用いる前記データバスの幅を標示するロウ信号レベルの信号を受信するように更に構成され、
前記周辺デバイス制御部は、前記転送に用いるデータ幅に関して前記の標示されたデータバスの幅を用いるように更に構成される、請求項２５に記載の周辺デバイス。
【請求項３２】
前記周辺デバイス制御部は、前記ホストデバイスからの前記ブート要求の引数と共にブートセクタ読み出しに用いるデータバス線の数と、
使用するクロック周波数及びタイミングモードと、のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を受信するように更に構成され、
前記の標示パラメータを用いて、前記データバスを介して前記ホストデバイスへ前記データを送信するように更に構成される、
請求項２５に記載の周辺デバイス。
【請求項３３】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートされるように構成されたブート可能なホストデバイスであって、
プロセッサと、
前記プロセッサと接続され、電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
を備え、
前記ホストデバイスは、前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスが待機状態になるまで周辺デバイスの標準初期化データ交換を行い、
ブート要求のために引数を送ることによって前記ホストデバイスと前記待機状態の前記周辺デバイスとの間でデータ交換を行って、データバス内のコンポーネント中に有効なブートコードを探し、少なくとも７４サイクル、又は、すべてのブートデータが転送されるまで、前記クロック端子においてクロック信号を供給する、ように構成され、
前記ブート要求の前記引数は、コマンド・フレームに含まれている、
ブート可能なホストデバイス。
【請求項３４】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートされるように構成されたブート可能なホストデバイスであって、
前記周辺デバイスはブート要求の追加引数を有する動作条件レジスタを備え、
前記ホストデバイスは、
プロセッサと、
前記プロセッサと接続され、電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
を備え、
前記ホストデバイスは、ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化後に、ブート要求｛の｝引数を前記ＭＭＣ／ＳＤインタフェースに送信し、ここで、前記ブート要求｛の前記｝引数は、コマンド・フレームに含まれており、前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスから受信するために、ブートデータを探して、前記データバスを監視するように構成される、ブート可能なホストデバイス。
【請求項３５】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートされるように構成されたブート可能なホストデバイスをブートするように構成したＭＭＣ／ＳＤインタフェースを備える周辺デバイスであって、
前記周辺デバイスは、ブート要求｛の｝追加引数を有する動作条件レジスタを備え、
前記周辺デバイスは、
電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と，コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
前記ＭＭＣ／ＳＤインタフェースに接続された動作条件レジスタを備える周辺デバイス制御部と、
前記周辺デバイス制御部に接続されたメモリモジュールと、
を備え、
前記周辺デバイスは、前記動作条件レジスタ内にブート要求の追加引数を提供され、
前記周辺デバイスは、前記周辺デバイスの初期化処理後に、前記周辺デバイスにおいてブート要求の引数を受信し、
前記メモリモジュールからブートデータを取得し、前記ＭＭＣ／ＳＤインタフェースを介して前記ホストデバイスへ、該ブートデータを送信する、ように構成され、
前記ブート要求の前記引数は、コマンド・フレームに含まれている、
周辺デバイス。
【請求項３６】
ブート要求の前記引数を有する前記動作条件レジスタは、前記周辺デバイス制御部に接続され、又は前記周辺デバイス制御部内に組み込まれたハードコードハードウェアコンポーネントとしてインプリメントされる、請求項３５に記載の周辺デバイス。
【請求項３７】
ブート要求の前記引数を有する前記動作条件レジスタは、前記周辺デバイス制御部内で動作するソフトウェアとしてインプリメントされる、請求項３５に記載の周辺デバイス。
【手続補正書】
【提出日】平成26年8月27日(2014.8.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
電源端子と、
データバス端子を備えるデータバスと、
クロック端子を備えるクロック線と，
コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースを有する周辺デバイスからホストデバイスをブートする方法であって、
初期化手続中に前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスへ、前記周辺デバイスへブート要求の引数を送信するステップであって、前記ブート要求の前記引数は、コマンド・フレームに含まれている、ステップと、
前記データバスを監視してデータ送信の開始ビットを探索するステップと、
を含む方法。
【請求項２】
前記ブート要求の前記引数は、コマンドを含む、請求項１に記載の方法。
【請求項３】
前記ブート要求の前記引数は、ＣＭＤ０段階中、又はその直後に送信される、請求項１に記載の方法。
【請求項４】
前記ブート要求の前記引数は、ＣＭＤ０段階中にリセットコマンドを含む、請求項３に記載の方法。
【請求項５】
前記ブート要求の前記引数は、ＣＭＤ０のコマンド引数を含む、請求項１に記載の方法。
【請求項６】
前記ブート要求の前記引数は、修正ＣＭＤ０のコマンド引数を含む、請求項１に記載の方法。
【請求項７】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする方法を実行させるための計算機プログラムであって、前記周辺デバイスを挿入した前記ホストデバイスに、請求項１に記載の各ステップを実行させるための計算機プログラム。
【請求項８】
ブートセクタ読み出しに用いるデータバス線の数と、
使用するクロック周波数及びタイミングモードと、のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を、前記ブート要求の引数と共に、前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースへ、送信するステップを更に含む請求項１に記載の方法。
【請求項９】
電源端子と、
データバス端子を備えるデータバスと、
クロック端子を備えるクロック線と，
コマンド端子を備えるコマンド線と、
を備えるＭＭＣ／ＳＤインタフェースを有する周辺デバイスからホストデバイスをブートする方法であって、
前記周辺デバイスの初期化手続中に前記周辺デバイスの前記ＭＭＣ／ＳＤインタフェースにおいて前記ホストデバイスからブート要求の引数を受信するステップであって、前記ブート要求の前記引数は、コマンド・フレームに含まれている、ステップと、
ブートデータが前記周辺デバイスに記憶されているとき、前記ＭＭＣ／ＳＤインタフェースを介して、データ送信の開始ビットからデータを前記ホストデバイスに送信するステップと、を含む方法。
【請求項１０】
ブート要求の前記引数は、コマンドを含む、請求項９に記載の方法。
【請求項１１】
前記ブート要求の前記引数は、ＣＭＤ０段階中、又はその直後に送信される、請求項９に記載の方法。
【請求項１２】
前記ブート要求の前記引数は、ＣＭＤ０段階中にリセットコマンドを含む、請求項１１に記載の方法。
【請求項１３】
前記ブート要求の前記引数は、ＣＭＤ０のコマンド引数を含む、請求項９に記載の方法。
【請求項１４】
前記ブート要求の前記引数は、修正ＣＭＤ０のコマンド引数を含む、請求項９に記載の方法。
【請求項１５】
ブートセクタ読み出しに用いるデータバス線の数と、使用するクロック周波数及びタイミングモードと、のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を受信するステップと、
前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースへの前記ブート要求の前記引数と共に、前記の標示パラメータを用いて、前記データバスを介して前記ホストデバイスへデータを送信するステップと、
を更に含む請求項９に記載の方法。
【請求項１６】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからホストデバイスをブートする方法を実行させるための計算機プログラムであって、前記周辺デバイスに、請求項９に記載の各ステップを実行させるための計算機プログラム。
【請求項１７】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートされるように構成されたブート可能なホストデバイスであって、該ホストデバイスは、プロセッサと、
前記プロセッサと接続され、
電源端子と、
データバス端子を備えるデータバスと、
クロック端子を備えるクロック線と、
コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
を備え、
前記ホストデバイスは、前記周辺デバイスの初期化処理中に、前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスへブート要求の引数を送信し、
前記データバスを監視してデータ送信の開始ビットを探索するように構成され、
前記ブート要求の前記引数は、コマンド・フレームに含まれている、
ブート可能なホストデバイス。
【請求項１８】
前記ホストデバイスは、コマンドを含むブート要求の引数を用いるように構成される、請求項１７に記載のブート可能なホストデバイス。
【請求項１９】
前記ホストデバイスは、ＣＭＤ０段階中、又はその直後に送信する前記ブート要求の引数を用いるように構成される、請求項１７に記載のブート可能なホストデバイス。
【請求項２０】
前記ホストデバイスは、ＣＭＤ０段階中にリセットコマンドを含む前記ブート要求の引数を用いるように構成される、請求項１９に記載のブート可能なホストデバイス。
【請求項２１】
前記ホストデバイスは、ＣＭＤ０コマンドの引数を含む前記ブート要求の引数を用いるように構成される、請求項１７に記載のブート可能なホストデバイス。
【請求項２２】
前記ホストデバイスは、修正ＣＭＤ０コマンドの引数を含む前記ブート要求の引数を用いるように構成される、請求項１７に記載のブート可能なホストデバイス。
【請求項２３】
前記ホストデバイスは、ブートセクタ読み出しに用いるデータバス線の数と、使用するクロック周波数及びタイミングモードと、のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を、前記ＭＭＣ／ＳＤインタフェースを介して、前記ホストデバイスから前記ＭＭＣ／ＳＤインタフェースへの前記ブート要求の前記引数と共に、送信するように構成される、請求項１７に記載のブート可能なホストデバイス。
【請求項２４】
前記ＭＭＣ／ＳＤインタフェースのデータバス端子をロウ信号レベルに設定して、
転送に用いる前記データバスの幅を標示するように更に構成される請求項１７に記載のブート可能なホストデバイス。
【請求項２５】
周辺デバイスからブートされるように構成されたブート可能なホストデバイスをブートするように構成される周辺デバイスであって、
電源端子と、
データバス端子を備えるデータバスと、
クロック端子を備えるクロック線と，
コマンド端子を備えるコマンド線と、
を備えるＭＭＣ／ＳＤインタフェースと、
前記ＭＭＣ／ＳＤインタフェースに接続された周辺デバイス制御部と、
前記周辺デバイス制御部に接続されたメモリモジュールと、を備え、
周辺デバイス制御部は、
（ａ）前記周辺デバイスに格納されたブート・データ、および、
（ｂ）前記周辺デバイスの前記ＭＭＣ／ＳＤインタフェースにおいて前記ホストデバイスからブート要求の引数を受信すること、に応答して、前記ＭＭＣ／ＳＤインタフェースを介してデータを、データ送信の開始ビットから送信するように構成され、
前記ブート要求の前記引数は、コマンド・フレームに含まれている、
周辺デバイス。
【請求項２６】
前記周辺デバイス制御部は、コマンドを含むブート要求の引数を受信するように更に構成される、請求項２５に記載の周辺デバイス。
【請求項２７】
前記周辺デバイス制御部は、ＣＭＤ０段階中、又はその直後に前記ブート要求の引数を受信するように更に構成される、請求項２５に記載の周辺デバイス。
【請求項２８】
前記周辺デバイス制御部は、ＣＭＤ０段階中にリセットコマンドを含むブート要求の引数を受信するように更に構成される、請求項２７に記載の周辺デバイス。
【請求項２９】
前記周辺デバイス制御部は、ＣＭＤ０コマンドの引数を含むブート要求の引数を受信するように更に構成される、請求項２５に記載の周辺デバイス。
【請求項３０】
前記周辺デバイス制御部は、修正ＣＭＤ０コマンドの引数を含むブート要求の引数を受信するように更に構成される、請求項２５に記載の周辺デバイス。
【請求項３１】
前記周辺デバイス制御部は、前記ＭＭＣ／ＳＤインタフェースのデータバス端子において、転送に用いる前記データバスの幅を標示するロウ信号レベルの信号を受信するように更に構成され、
前記周辺デバイス制御部は、前記転送に用いるデータ幅に関して前記の標示されたデータバスの幅を用いるように更に構成される、請求項２５に記載の周辺デバイス。
【請求項３２】
前記周辺デバイス制御部は、前記ホストデバイスからの前記ブート要求の引数と共にブートセクタ読み出しに用いるデータバス線の数と、
使用するクロック周波数及びタイミングモードと、のグループから選択したブートシーケンスに関連するパラメータを標示する追加引数を受信するように更に構成され、
前記の標示パラメータを用いて、前記データバスを介して前記ホストデバイスへ前記データを送信するように更に構成される、
請求項２５に記載の周辺デバイス。
【請求項３３】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートされるように構成されたブート可能なホストデバイスであって、
プロセッサと、
前記プロセッサと接続され、電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
を備え、
前記ホストデバイスは、前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスが待機状態になるまで周辺デバイスの標準初期化データ交換を行い、
ブート要求のために引数を送ることによって前記ホストデバイスと前記待機状態の前記周辺デバイスとの間でデータ交換を行って、データバス内のコンポーネント中に有効なブートコードを探し、少なくとも７４サイクル、又は、すべてのブートデータが転送されるまで、前記クロック端子においてクロック信号を供給する、ように構成され、
前記ブート要求の前記引数は、コマンド・フレームに含まれている、
ブート可能なホストデバイス。
【請求項３４】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートされるように構成されたブート可能なホストデバイスであって、
前記周辺デバイスはブート要求の追加引数を有する動作条件レジスタを備え、
前記ホストデバイスは、
プロセッサと、
前記プロセッサと接続され、電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と、コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
を備え、
前記ホストデバイスは、ＭＭＣ／ＳＤインタフェースを備える周辺デバイスの初期化後に、ブート要求の引数を前記ＭＭＣ／ＳＤインタフェースに送信し、ここで、前記ブート要求の前記引数は、コマンド・フレームに含まれており、前記ＭＭＣ／ＳＤインタフェースを介して前記周辺デバイスから受信するために、ブートデータを探して、前記データバスを監視するように構成される、ブート可能なホストデバイス。
【請求項３５】
ＭＭＣ／ＳＤインタフェースを備える周辺デバイスからブートされるように構成されたブート可能なホストデバイスをブートするように構成したＭＭＣ／ＳＤインタフェースを備える周辺デバイスであって、
前記周辺デバイスは、ブート要求の追加引数を有する動作条件レジスタを備え、
前記周辺デバイスは、
電源端子と、データバス端子を備えるデータバスと、クロック端子を備えるクロック線と，コマンド端子を備えるコマンド線と、を備えるＭＭＣ／ＳＤインタフェースと、
前記ＭＭＣ／ＳＤインタフェースに接続された動作条件レジスタを備える周辺デバイス制御部と、
前記周辺デバイス制御部に接続されたメモリモジュールと、
を備え、
前記周辺デバイスは、前記動作条件レジスタ内にブート要求の追加引数を提供され、
前記周辺デバイスは、前記周辺デバイスの初期化処理後に、前記周辺デバイスにおいてブート要求の引数を受信し、
前記メモリモジュールからブートデータを取得し、前記ＭＭＣ／ＳＤインタフェースを介して前記ホストデバイスへ、該ブートデータを送信する、ように構成され、
前記ブート要求の前記引数は、コマンド・フレームに含まれている、
周辺デバイス。
【請求項３６】
ブート要求の前記引数を有する前記動作条件レジスタは、前記周辺デバイス制御部に接続され、又は前記周辺デバイス制御部内に組み込まれたハードコードハードウェアコンポーネントとしてインプリメントされる、請求項３５に記載の周辺デバイス。
【請求項３７】
ブート要求の前記引数を有する前記動作条件レジスタは、前記周辺デバイス制御部内で動作するソフトウェアとしてインプリメントされる、請求項３５に記載の周辺デバイス。