JP2014059883A - 半導体装置及びホストコントローラ - Google Patents

半導体装置及びホストコントローラ Download PDF

Info

Publication number
JP2014059883A
JP2014059883A JP2013212335A JP2013212335A JP2014059883A JP 2014059883 A JP2014059883 A JP 2014059883A JP 2013212335 A JP2013212335 A JP 2013212335A JP 2013212335 A JP2013212335 A JP 2013212335A JP 2014059883 A JP2014059883 A JP 2014059883A
Authority
JP
Japan
Prior art keywords
electronic device
packet
initialization
host controller
electronic devices
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.)
Granted
Application number
JP2013212335A
Other languages
English (en)
Other versions
JP5717819B2 (ja
Inventor
Teruhisa Fujimoto
曜久 藤本
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013212335A priority Critical patent/JP5717819B2/ja
Publication of JP2014059883A publication Critical patent/JP2014059883A/ja
Application granted granted Critical
Publication of JP5717819B2 publication Critical patent/JP5717819B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/4405Initialisation of multiprocessor systems
    • 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
    • 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/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)
  • Power Sources (AREA)
  • Communication Control (AREA)
  • Stored Programmes (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】利便性を向上出来るデバイス及びホスト装置を提供する。
【解決手段】ホストコントローラは、電子デバイスの初期化のため、第1グループ番号、初期化に使用可能な第1パワーユニット数、及び初期値にセットされた初期化完了フラグを含むパケットを送信し、パケットは、初期化を完了しておらず、且つ初期化中でない電子デバイスにより、初期化完了フラグが初期化未完了である旨の情報に更新されて、複数の電子デバイス間を順次転送される。ホストコントローラは、電子デバイス間を転送されたパケットを受信し、初期化完了フラグが初期化完了を示すパケットが返された際には、全ての電子デバイスの初期化が完了したと判断し、初期化完了フラグが前記初期化未完了を示すパケットが返された際には、少なくともいずれかの電子デバイスの初期化が未完了と判断することにより、複数の電子デバイスをグループ単位で同時に初期化し得る。
【選択図】図1

Description

関連出願
本願は、参照によってその全てが本明細書に組み込まれる2009年12月17日に出願された日本国特許出願番号2009−286791及び2010年2月2日に出願された日本国特許出願番号2010−021569を基礎とし、そしてその優先権を主張する。
本明細書で述べられる実施形態は概して、半導体システム、半導体装置、及び電子デバイスの初期化方法に関する。例えば実施形態は、複数の電子デバイスを含む半導体システムに関する。
NAND型フラッシュメモリを用いたメモリシステムとして、SDTMカードが知られている。また、SDカードとホスト機器との間のインターフェースとしては、SDインターフェースが知られている。SDインターフェースでは、複数のデバイスを1つのバスに接続出来る。このような構成は、例えば米国特許第6,820,148号に開示がある。
しかしながら、上記従来の方法であると、1つのホスト機器でより多くのデバイスを制御しようとすると、デバイスの初期化に時間がかかる。
米国特許第6,820,148号明細書
利便性を向上出来る半導体装置及びホストコントローラを提供する。
実施形態に係るホストコントローラは、複数の電子デバイスをグループ単位で同時に初期化するホストコントローラである。ホストコントローラは、電子デバイスの初期化のため、第1グループ番号、初期化に使用可能な第1パワーユニット数、及び初期値にセットされた初期化完了フラグを含むパケットをブロードキャストで送信する。パケットは、初期化を完了しておらず、且つ初期化中でない電子デバイスにより、初期化完了フラグが、初期化未完了である旨の情報に更新されて、前記複数の電子デバイス間を順次転送される。ホストコントローラは、電子デバイス間を順次転送された前記パケットを受信する。初期化完了フラグが初期化完了を示すパケットが返された際には、ホストコントローラは、全ての電子デバイスの初期化が完了したと判断する。初期化完了フラグが初期化未完了を示すパケットが返された際には、ホストコントローラは、少なくともいずれかの電子デバイスの初期化が未完了と判断する。
図1は、第1実施形態に係る半導体システムのブロック図。 図2は、第1実施形態に係る半導体システムの動作を示すフローチャート。 図3は、第1実施形態に係るシンボル及び信号のタイミングチャート。 図4は、第1実施形態に係るシンボル及び信号のタイミングチャート。 図5は、第1実施形態に係る半導体システムのブロック図。 図6は、第1実施形態に係る電子デバイスのブロック図。 図7は、第1実施形態に係るフレームフォーマットの概念図。 図8は、第1実施形態に係るフレームフォーマットの概念図。 図9は、第1実施形態に係るホスト機器の動作を示すフローチャート。 図10は、第1実施形態に係る電子デバイスの動作を示すフローチャート。 図11は、第1実施形態に係る半導体システムのブロック図。 図12は、第1実施形態に係るフレームフォーマットの概念図。 図13は、第1実施形態に係る電子デバイスの動作を示すフローチャート。 図14は、第1実施形態に係る電子デバイスの動作を示すフローチャート。 図15は、第1実施形態に係る半導体システムのブロック図。 図16は、第1実施形態に係る半導体システムのブロック図。 図17は、第1実施形態に係る半導体システムのブロック図。 図18は、第1実施形態に係る半導体システムのブロック図。 図19は、第1実施形態に係る電子デバイスのcapabilityを示すダイアグラム。 図20は、第1実施形態に係るフレームフォーマットの概念図。 図21は、第2実施形態に係るフレームフォーマットの概念図。 図22は、第2実施形態に係る電子デバイスの動作を示すフローチャート。 図23は、第2実施形態に係るホスト機器の動作を示すフローチャート。 図24は、第2実施形態に係る半導体システムのブロック図。 図25は、第2実施形態に係る半導体システムのブロック図。 図26は、第2実施形態に係る半導体システムのブロック図。 図27は、第2実施形態に係る半導体システムのブロック図。 図28は、第2実施形態に係る半導体システムのブロック図。 図29は、第2実施形態に係る半導体システムのブロック図。 図30は、第2実施形態に係る半導体システムのブロック図。 図31は、第2実施形態に係るフレームフォーマットの概念図。 図32は、第3実施形態に係る半導体システムのブロック図。 図33は、第3実施形態に係るフラグとホスト機器の動作を示すダイアグラム。 図34は、第4実施形態に係る半導体システムのブロック図。 図35は、第4実施形態に係る半導体システムのブロック図。 図36は、第5実施形態に係る半導体システムのブロック図。 図37は、第6実施形態に係る半導体システムのブロック図。 図38は、第6実施形態に係る電子デバイスの信号ピンへの信号の割り当てを示すダイアグラム。
概して、一実施形態によれば、半導体システムは、複数の電子デバイスとホスト機器を含む。ホスト機器は、複数の電子デバイスをグループ単位で初期化する。
[第1実施形態]
第1実施形態に係る半導体システム、及び電子デバイスの初期化方法について説明する。図1は、第1実施形態に係る半導体システムの一例を示すブロック図である。
<半導体システムの構成について>
図示するように半導体システム1は、ホスト機器2と半導体装置3とを備えている。
ホスト機器2は、少なくともひとつの入力ポートと出力ポートを備え、このポートを介してホスト機器2は、半導体装置3の動作を制御して、半導体システム1の動作を司る。例えば各ポートは、LVDS(low voltage differential Signaling)方式などによる作動ペアとして構成される。以下では、ホスト機器2の出力ポートから出力される信号を信号D0と呼び、その差動信号をD0+、D0−と呼ぶ。またホスト機器2の出力ポートに入力される信号を信号D1と呼び、その差動信号をD1+、D1−と呼ぶ。そしてホスト機器2は、コマンドやデータを含むパケットを組み立てて、これを半導体装置3へ送信して、半導体装置3の動作を制御する。また、半導体装置3から送信されたパケットを受信して、受信したパケットに応じて動作を行う。
半導体装置3は、N個(Nは2以上の自然数)の電子デバイス4を備えている。以下では、N個の電子デバイス4を区別して呼ぶ際には、それぞれ電子デバイス4−i(iは1〜N)と呼ぶ。
本例では、電子デバイス4の各々は入力信号ピン5、出力信号ピン6、パケットデコーダ7、処理ユニット8、レジスタ9、及びパケット更新回路10を備えている。これらについても電子デバイス4−i毎に区別して呼ぶ際には、それぞれ入力信号ピン5−i、出力信号ピン6−i、パケットデコーダ7−i、処理ユニット8−i、レジスタ9−i、及びパケット更新回路10−iと呼ぶ。
複数の信号を含む入力信号ピン5は、少なくとも1つの入力ポートとして機能し、外部から与えられるパケットを受信する。そして受信したパケットをパケットデコーダ7へ転送する。
パケットデコーダ7は、入力信号ピン5から転送されたパケットを解析可能に構成されている。パケットデコーダ7は、パケットヘッダ内のコマンド識別子により、パケットの種類を識別する。そしてパケットデコーダ7は、パケットの種類に応じて必要な演算を行うよう、処理ユニット8に命令する。また必要であれば、受信したパケットを更新するよう、パケット更新回路10に命令する。
処理ユニット8は、パケットデコーダ7の命令に応じて必要な処理を実行可能に構成されている。処理内容の一例は、デバイスの初期化やデバイスIDの算出等である。そしてデバイスIDを算出した際には、これをレジスタ9に保持させる。デバイスIDとは、各電子デバイス4固有の番号であり、デバイスIDによってホスト機器2は各電子デバイス4を識別可能となる。またパケットデコーダ7は、受信したパケットがブロードキャストでない場合(例えばユニキャストまたはマルチキャスト)、パケット内に宛先情報として含まれるデバイスIDと、レジスタ9内のデバイスIDとを比較することで、このパケットが自身宛てであるか否かを判断出来る。
パケット更新回路10は、受信したパケットのペイロードの内容を更新して、複数の信号を含み且つ少なくとも1つの出力ポートとして機能する出力信号ピン6から、外部にパケットを出力する。例えば処理ユニット8における演算結果に応じてペイロードの内容を更新する。出力信号ピン6から出力するタイミングには2種類あり、受信したパケットに対するデバイスの処理状況によらず、パケット受信後できるだけ早く送信する場合と、受信したパケットに対するデバイスの処理が完了した後に送信する場合がある。何れかは、パケットのコマンド識別子とデバイスの状態によって決定される。
上記構成を有するN個の電子デバイス4−1〜4−Nは、図1に示すようにホスト機器2に対してリング接続(またはチェーン接続とも呼ぶ)されている。すなわち、ホスト機器2から送信されたパケットは、電子デバイス4−1で受信され、電子デバイス4−1から電子デバイス4−2に転送され、更に電子デバイス4−2から電子デバイス4−3に転送され、以下同様である。そして電子デバイス4−Nの出力信号ピン6−Nから出力されるパケットがホスト機器2に返される。図1の半導体装置3は、後述する電子デバイス4−1〜4−N及びハブを含む構成も含む(第4実施形態参照)。上記接続を用いて行われる通信の大多数はホストと電子デバイス間の通信であるが、電子デバイス間通信にも使われる。例えば、電子デバイス4−1から電子デバイス4−2にデータが送られた場合であって、電子デバイス4−2がノイズなどによりデータを正しく受け取れなかった場合、電子デバイス4−2は再送要求を出すことができる。この場合、電子デバイス4−2が発行した再送要求は、電子デバイス4−3〜4−N及びホスト機器2を経由して、電子デバイス4−1に通知され、電子デバイス4−1は、データを再送可能となる。
<半導体システム1の動作について>
次に、上記構成の半導体システム1において、ホスト機器2に半導体装置3が接続された際の動作について図2を用いて説明する。図2は、半導体システムの動作を示すフローチャートである。まず、全体の流れを大まかに説明する。
図示するように、まずインターフェース選択(interface selection)が実行される(ステップS10)。ステップS10では、半導体装置3が接続されるインターフェースが使用可能か否か、換言すれば半導体装置3が接続されているか否かをホスト機器2が判断する。インターフェースが使用可能であれば、言い換えれば半導体装置3が接続されていると判断されれば(ステップS11、YES)、電子デバイス4のいずれかがブートコード(boot code)をホスト機器2へ送信する(ステップS12)。ブートコードを受信したホスト機器2はブートコードを実行し、また電子デバイス4への番号付け(enumeration)を行う(ステップS13)。すなわち、上記説明したデバイスIDを、各電子デバイス4に割り当てる。
デバイスIDの割り当ての後、ホスト機器2の命令に従って、各電子デバイス4の初期化が実行される(ステップS14)。この初期化によって、各電子デバイス4はレディ状態となる。初期化にかかる時間を短縮するために初期化は、複数の電子デバイス4毎に行われる。ただしホスト機器2が電子デバイス4に供給可能な電源電流に制約がある場合は、同時に初期化できるデバイス数が制限され、分割して初期化が行われる。
その後、ホスト機器2は各電子デバイス4の情報を得る(ステップS15)。ステップS15の後、ホスト機器2の性能(capability)および電子デバイス4のcapabilityに基づき、ホスト機器2は電子デバイス4に共通の動作条件を決定し、これをホスト機器2および各電子デバイス4にまとめてセットする(ステップS16)。ここでセットされるcapabilityは、システム全体で共通な項目である。その後ホスト機器2は、電子デバイス4の個々の動作条件を決定し、これを各電子デバイス4に個別にセットする(ステップS17)。
UHS-IIカードは階層構造を有している。そのため、半導体装置3がUHS-IIカードの場合には、ステップS14で実行される初期化は、物理レイヤーに対する初期化である。例えばステップS16やステップS17Bにおいて、物理レイヤーよりも上位レイヤーに対する初期化が実行される。
次に、上記各ステップの詳細について、順次説明する。
<ステップS10について>
まずステップS10について、図3及び図4を用いて説明する。図3は、半導体装置3をホスト機器2に接続した直後における、ホスト機器2から半導体装置3へ送信されるクロック及びシンボル、並びに半導体装置3からホスト機器2へ送信されるレベルおよびシンボル(シンボルにおいて、ある状態がクロックに同期して通信され、シンボルは複数ビットから構成されると共に、8b/10bコーディングによりエンコードされている)を示すタイミングチャートである。また図4は、半導体装置3をホスト機器2に接続した直後における信号D0、D1のタイミングチャートである。
図3及び図4に示すように、時刻t1以前では、半導体システム1はパワーダウン状態にある。パワーダウン状態においてホスト機器2はクロックを生成せず、また何らのシンボルも半導体装置3に送信しない。半導体装置3も、シンボルを半導体装置3に送信しない。従って、時刻t1以前では、D0+=D0−=D1+=D1−=“H”または、D0+=D0−=D1+=D1−=“L”のいずれかのレベルを取ることができる。図4では、D0+=D0−=D1+=D1−=“L”である場合について示している。
その後、ホスト機器2はインターフェースの使用可能性を判断するため、時刻t1において、半導体装置3に対して差動信号の“H”レベルまたは“L”レベルのどちらかを用いてSTBを送信する。ここでは、“H”レベルをSTBとして説明する。これによりデータリンク状態はウェイクアップ(wakeup)状態に移行する。ホスト機器2は、クロックRCLKを半導体装置3へ出力する。クロックRCLKは、電子デバイス4−0〜4−nにそれぞれ供給される。電子デバイス4は以後、クロックRCLKに同期して動作を行う。レベルSTBは、電子デバイス4−0から順に電子デバイス4−Nまで転送される。またレベルSTBを受信した電子デバイス4は、時刻t2において、ホスト機器2に対してレベルSTBを返す。レベルSTBは、ホスト機器2及び電子デバイス4が、互いの同期を取る前のスタンバイ状態であることを示す信号である。
ホスト機器2がレベルSTBを送信することで、D0−は“L”レベルから“H”レベルとなり、信号D0は差動レベルに変化する。また半導体装置3がレベルSTBを送信することで、D1−は“L”レベルから“H”レベルとなり、信号D0も差動レベルに変化する。このように信号D0、D1が差動レベルに変化することを検出することにより、ホスト機器2はインターフェースが使用可能であることを認識する。
その後、ホスト機器2と半導体装置3との間で、同期を取るための処理が行われる。すなわち、ホスト機器2は半導体装置3に対してシンボルSYNを送信し、また半導体装置3はPLLがロックされるとシンボルSYNを返す。すべての半導体装置3のPLLのロックが完了すると、ホスト機器2はシンボルSYNを受け取る。ホスト機器2の受信クロックは、送信クロックRCLKと位相が異なるので、受信のための別なPLLのロックが必要となる。シンボルSYNは同期を取るためのシンボルであり、シンボルSYNを複数回受信する間にPLLをロックすることで、ホスト機器2と半導体装置3の間の同期通信が可能となる。
図5は、ホスト機器2と、いずれか1つの電子デバイス4のブロック図であり、特にデータリンクに関する構成を示したものである。図示するようにホスト機器2は、信号D0+、D0−を送信する送信I/O20−1、20−2、差動信号D1+、D1−を受信する受信I/O21−1、21−2、及び電圧レベル検出回路22を備えている。電圧レベル検出回路22は、差動信号D1+およびD1−のレベル変化を検出する。電圧レベル検出回路22において信号レベルの変化が検出されれば、電子デバイス4との間のインターフェースが使用可能であると判断出来る。
電子デバイス4は、差動信号D1+、D1−を送信する送信I/O23−1、23−2、差動信号D0+、D0−を受信する受信I/O24−1、24−2、及び電圧レベル検出回路25を備えている。電圧レベル検出回路25は、差動信号D0+およびD0−のレベル変化を検出する。例えば電子デバイス4からホスト機器2を起動する場合には、電圧レベル検出回路25において信号レベルの変化を検出することで、ホストを起こすことができる。
<ステップS12について>
次に図2におけるステップS12について説明する。半導体装置3において、いずれかの電子デバイス4はメモリデバイスであり、ブートコードを保持する。以下では一例として、電子デバイス4−Nがブートコードを保持するメモリデバイスであると仮定する。ブートコードとは、ホスト機器2においてシステムを立ち上げるために必要なプログラムコードであり、ホスト機器2のシステムメモリに転送され、ホスト機器2において実行される。ブートコードに含まれるブートローダーによって、デバイスドライバやOS(operating system)がシステムメモリ上にロードされる。
電子デバイス4−Nは、ホスト機器2からシンボルSTBを受信し、そしてホスト機器2にシンボルSTBを返す。そして電子デバイス4−Nは、ホスト機器2からの命令を受信することなく、自発的にブートコードを読み出し、これをホスト機器2に送信する。
図6は電子デバイス4−Nのブロック図であり、その構成を図1よりも詳細に示すものである。図示するように電子デバイス4−Nは、メモリコントローラ30とNAND型フラッシュメモリ31とを備えている。メモリコントローラ30は、パケットデコーダ7−N、処理ユニット8−N、レジスタ9−N、及びパケット更新回路10−Nを含む。NAND型フラッシュメモリ31はブートコード32を保持する。処理ユニット8−Nは、レベルSTBをホスト機器2に送信した後、NAND型フラッシュメモリ31からブートコード32を読み出す。そしてこれをパケットとして組み立てて、出力信号ピン6からホスト機器2へ送信する。
図7はこのパケットの構成を示す模式図である。図示するようにパケット33は、パケットヘッダ34とペイロード35とを含む。ペイロード35には、NAND型フラッシュメモリ31から読み出されたブートコード32が含まれる。パケットヘッダ34には、当該パケットの宛先が含まれる。この宛先はIDとして示され、ホスト機器2が宛先となる際にはID=“0”が格納される。番号付け(enumeration)の前にブートコードを送る場合は、ブートデバイスのデバイスIDがまだ決定されていないが、例えば暫定的に送信元のデバイスID=1を割り当てておく。ブートコードの大きさは、ホストとブートデバイスにプリセット値として設定しておくか、パケットヘッダまたは、ブートコードの特定部分にブートコードの大きさを示す領域を確保する方法を取ることができる。
ブートコードを有する電子デバイスは、電子デバイス4−N以外であっても良い。例えば電子デバイス4−(N−1)であっても良い。この場合、電子デバイス4−(N−1)が送信するパケット33は、まず電子デバイス4−Nに送信される。電子デバイス4−Nでは、このパケット33の宛先がホスト機器2であるので、パケット33をそのままホスト機器2に送信する。
<ステップS13について>
図2におけるステップS13について、以下に説明する。ステップS13においてホスト機器2は、半導体装置3に含まれる電子デバイス4−0〜4−Nに対して、デバイスIDを付与する。ステップS13は、例えば日本国特許出願番号2009−221468号に記載の方法を用いることが出来る。図8は、ステップS13を実行する際にホスト機器2が発行するパケットの模式図である。
図示するように、パケット40のパケットヘッダは少なくともフィールド41−1、41−2を含む。フィールド41−1には、当該パケットの宛先となるデバイスIDが格納される。またフィールド41−2には、デバイスIDを付与するためのコマンドに相当するコマンド識別子が格納される。ペイロードは、少なくともフィールド42−1、42−2を含む。フィールド42−1は、開始デバイスID(start device number)を示し、この値はホスト機器2からパケット40を最初に受信した電子デバイス4−1が決定する。フィールド42−2は、デバイスIDの設定が完了した電子デバイス4の数を格納する。パケットが各電子デバイス4を転々とする過程で、フィールド42−2の値がインクリメントされることで、ホスト機器2は電子デバイス4の総数を認識出来る。ホスト機器2は、フィールド42−1、42−2の値から、各電子デバイス4のデバイスIDを特定出来る。フィールド42−2は、デバイスIDの設定が完了した電子デバイス4の数の代わりに、最終デバイスID(final device number)を表示しても良い。なぜなら、最終デバイス番号と最初のデバイス番号が分かれば、デバイス数は引き算で計算できるからである。
図9は、デバイスID付与時におけるホスト機器2の動作を示すフローチャートである。図示するようにホスト機器2は、まずデバイスIDを特定するためのパケットを組み立てる(ステップS20)。すなわち、デバイスIDを特定するためのコマンド(以下、これをID付与コマンドと呼ぶ)に対応するコマンド識別子(フィールド41−2)をパケットヘッダにセットし、ペイロードの開始デバイスID(フィールド42−1)とデバイス数(フィールド42−2)の値として初期値(本実施形態ではゼロ)をセットする。
そしてホスト機器2は、ステップS20で組み立てたパケットを半導体装置3へ送信する(ステップS21)。パケットがブロードキャスト(マルチキャスト)で送信されるか、またはユニキャストで送信されるかは、コマンド毎に予め決められている。ID付与コマンドは、ブロードキャストコマンドである。従って、パケットヘッダのフィールド41−1における宛先は無視され、図1の接続関係の場合には、パケットはリング接続の最初の電子デバイス4−1に送信される。
その後ホスト機器2は、リング接続の最後の電子デバイス4−Nからパケットを受信する(ステップS22)。するとホスト機器2は、受信したパケット内の最初のデバイスID(フィールド42−1)とデバイス数(フィールド42−2)を読み取る(ステップS23)。フィールド42−1の値は、リング接続の最初の電子デバイス4−1のデバイスIDであり、フィールド42−2の値は、リング接続された電子デバイス4−1〜4−Nの総数Nである。
ホスト機器2は、フィールド42−1、42−2の値を用いて、予め定められた演算を行って、各電子デバイス4−2〜4−NのデバイスIDと全デバイス数を把握する(ステップS24)。識別可能なデバイス数は、デバイスIDフィールドのビット数で決定される。予め定められた演算とは、電子デバイス4−2〜4−Nが開始デバイスIDに対して自身のIDを算出するルールであり、例えばデバイス数だけインクリメントすることである。従って、例えば、電子デバイス4−Nから受信したパケットにおける開始デバイスIDの値が“n(nは自然数)”であれば、電子デバイス4−1のデバイスIDは“n”、電子デバイス4−2のデバイスIDは“n+1”、電子デバイス4−NのデバイスIDは“n+N”であることが分かる。
そしてホスト機器2は、ステップS24で得られたデバイスIDを用いて、電子デバイス4−1〜4−3を管理する。
電子デバイス4の動作について、図10を用いて以下に説明する。図10は、ID付与コマンドを含むパケットを受信した際の電子デバイス4の動作を示すフローチャートであり、電子デバイス4−1〜4−Nに共通する。
図示するように電子デバイス4は、入力信号ピン5でパケットを受信する(ステップS30)。そしてパケットデコーダ7は、受信したパケットのフィールド41−2のコマンド番号からこのパケットがID付与コマンドを含むことを認識すると、処理ユニット8に対して自身のデバイスIDの算出を命令する。
命令に応答して処理ユニット8は、受信したパケットのフィールド42−1の値(開始デバイスID)が、ホスト機器2によって設定された所定の値(本実施形態ではゼロ)であるか否かを確認する(ステップS31)。もしゼロであれば(ステップS32、YES)、処理ユニット8は、ゼロ以外の任意の番号を自身のデバイスIDに決定すると共に、フィールド42−1の値(開始デバイスID)を、決定したデバイスIDに更新するよう、パケット更新回路10に命令する。これによりパケット更新回路10は、フィールド42−1を更新する。なお、ゼロ以外の番号を使用する理由は、ゼロはホスト機器2のデバイスIDとして割り当てられているからである。
他方、フィールド42−1の値がホスト機器2によって設定された所定の値でなければ(ステップS32、NO)、フィールド42−1の値はそのままとする(ステップS34)。すなわち、処理ユニット8はパケット更新回路10に対してフィールド42−1の値の更新を命令しない。処理ユニット8は、フィールド42−1を用いて予め定められた演算を行って、自身のデバイスIDを算出する(ステップS35)。本ステップS35における演算は、図9のステップS24の演算と同じであり、例えばフィールド42−1(開始デバイスID)を、フィールド42−2(デバイス数)に応じた回数だけインクリメントすることである。
その後処理ユニット8は、ステップS33またはS35で決定された自身のデバイスIDを、レジスタ9に格納する(ステップS36)。
パケットデコーダ7または処理ユニット8の命令に応答して、パケット更新回路10は、受信したパケットのフィールド42−2の値を更新(インクリメント)する。そしてパケット更新回路10は、フィールド42−2、またはフィールド42−1と42−2の両方が更新されたパケットを出力する。
上記説明したステップS13の具体例について、図11を用いて説明する。図11は半導体システム1のブロック図であり、一例として半導体装置3内の電子デバイス4の数が15個(N=15)である場合について示している。図中において、各機器間の矢印の横に付記した四角印はパケットのペイロードの内容を示し、左側がフィールド42−1(開始デバイスID)であり、右側がフィールド42−2(デバイス数)である。
図示するように、まずホスト機器2から、ID付与コマンドを含むパケットがブロードキャストされる。この際、パケットのフィールド42−1、42−2の値は、ホスト機器2によって設定された所定の値(ゼロ)である(図9のステップS20、S21)。このパケットは、まず電子デバイス4−1で受信される。
電子デバイス4−1では、フィールド42−1の値が“0”であるので(図10のステップS32、YES)、任意の番号を自身のデバイスIDに決定する。図11の例では“1”である。そしてフィールド42−1を“0”から“1”に更新し(同図ステップS33)、フィールド42−2の値をインクリメントして“0”から“1”に更新して(同図ステップS37)、これを出力する。
電子デバイス4−1から出力されたパケットは、電子デバイス4−2で受信される。電子デバイス4−2では、フィールド42−1の値が“0”でないので(図10のステップS32、NO)、予め定められた演算方法により、自身のデバイスIDを算出する(同図ステップS35)。すなわち、フィールド42−1の値をフィールド42−2の値だけインクリメントすることで、自身のデバイスIDを“1”+“1”=“2”に決定する。そしてフィールド42−1の値はそのままに(同図ステップS34)、フィールド42−2の値をインクリメントして“1”から“2”に更新して(同図ステップS37)、これをデバイス4−2に出力する。
以下、同様にして電子デバイス4にデバイスIDが割り当てられる。すなわち、電子デバイス4−3〜4−15には、デバイスIDとして“3”〜“15”が割り当てられる。
電子デバイス4−15から出力されたパケットは、ホスト機器2で受信される。このパケットは、フィールド42−1の値が“1”、フィールド42−2の値が“15”である。従ってホスト機器は、電子デバイス4−1のデバイスIDが“1”であり、電子デバイス4の総数が“15”であることを把握出来る(図9のステップS23)。これによりホスト機器2は、電子デバイス4−1〜4−15のデバイスIDがそれぞれ“1”〜“15”であることを把握する。
<ステップS14について>
図2におけるステップS14について以下説明する。ステップS14においてホスト機器2は、半導体装置3に含まれる電子デバイス4−0〜4−Nの初期化を行う。図12は、初期化を行う際にホスト機器2が発行するパケットの模式図である。
図示するように、パケット50のパケットヘッダ51には初期化コマンドを示すコマンド識別子が含まれ、ペイロード52には、ホスト機器2が一度に初期化可能な最大電子デバイス数Mが含まれる。また初期化コマンドは、ブロードキャストコマンドとして発行される。なお、ブロードキャストコマンドであるか否かは、コマンド識別子で決める方法もあるが、送信の送信元ID=送信先ID=“0”とすることによりブロードキャストコマンドを定義しても良い。これは、ホスト機器2がパケットを送信して、最後にホスト機器2自身がこのパケットを受信する、ということを意味する。
図13は、初期化コマンドを含むパケットを受信した際の電子デバイス4の動作を示すフローチャートであり、電子デバイス4−1〜4−Nに共通するフローチャートである。
図示するように電子デバイス4は、入力信号ピン5でパケットを受信する(ステップS40)。そしてパケットデコーダ7は、受信したパケットのパケットヘッダ51のコマンド識別子からこのパケットが初期化コマンドを含むことを認識すると、その旨と、ペイロード52内の電子デバイス数Mとを処理ユニット8に通知する。処理ユニット8は、自身が現在初期化中であるか否かを判断し、初期化中であれば(ステップS41、YES)、初期化完了まで待つ(ステップS42)。そして初期化完了の後、再度の初期化を行うことなく(ステップS43)、パケット更新回路10に対して、受信したパケットを変更せずに次の電子デバイス4に(電子デバイス4−Nの場合にはホスト機器2へ)送信させる(ステップS44)。
初期化中で無ければ、処理ユニット8は、自身が既に初期化済みか否かを判断し、初期化済みであれば(ステップS45、YES)、初期化を行わない(ステップS43)。そしてパケット更新回路10に対して、受信したパケットを変更することなく、次の電子デバイス4に(電子デバイス4−Nの場合にはホスト機器2へ)送信させる(ステップS44)。
他方、ステップS45において初期化されていなければ(ステップS45、NO)、処理ユニット8は、ペイロード52内の電子デバイス数Mが“0”であるか否かを確認する(ステップS46)。“0”であれば(ステップS46、YES)、処理ユニット8はステップS43に進み、初期化を行わず、ステップS44に進む。
電子デバイス数Mが“0”でなければ(ステップS46、NO)、処理ユニット8は初期化を実行する(ステップS47)。処理ユニット8は、パケット更新回路10に対して、ペイロード52内の電子デバイス数をデクリメントするよう命令する(ステップS48)。つまり、電子デバイス数Mは、M=M−1に更新される。パケット更新回路10は、ペイロード52の電子デバイス数Mが更新されたパケットを出力する(ステップS44)。この際、パケット更新回路10は、自身の初期化の完了を待つことなく、ステップS47における初期化の開始に応答して、ステップS44の処理を実行する。
ホスト機器2は、電子デバイス数Mが“0”でないパケット50を受信するまで、繰り返し初期化パケット50を発行する。初期化パケット50を発行するときは、同時に初期化可能なデバイス数を再設定する。言い換えれば、M≠“0”とされたパケット50を受信することで、ホスト機器2は、全ての電子デバイス4−1〜4−Nの初期化が完了したことを認識出来る。
全電子デバイス4の初期化が完了したか否かは、初期化完了確認コマンドを送信することによって行うこともできる。初期化完了確認コマンドを受信した際の電子デバイス4の動作について、図14を用いて説明する。図14は、初期化完了確認コマンドを含むパケットを受信した際の電子デバイス4の動作を示すフローチャートであり、電子デバイス4−1〜4−Nに共通するフローチャートである。
図示するように電子デバイス4は、入力信号ピン5でパケットを受信する(ステップS50)。そしてパケットデコーダ7は、受信したパケットのパケットヘッダのコマンド識別子からこのパケットが初期化完了確認コマンドを含むことを認識すると、その旨を処理ユニット8に通知する。処理ユニット8は、自身(当該電子デバイス4)が現在初期化中であるか否かを判断し、初期化中であれば(ステップS51、YES)、初期化完了まで待つ(ステップS52)。そして初期化完了の後、パケット更新回路10に対して、受信したパケットを変更せずに次の電子デバイス4に(電子デバイス4−Nの場合にはホスト機器2へ)送信させる(ステップS54)。
初期化中で無ければ、処理ユニット8は、自身(当該電子デバイス4)が既に初期化済みか否かを判断し、初期化済みであれば(ステップS53、YES)、受信したパケットをそのまま次の電子デバイス4に(電子デバイス4−Nの場合にはホスト機器2に)送信するよう、パケット更新回路10に命令する(ステップS54)。これによりこのパケットは、次の電子デバイス4に転送される。他方、初期化が済んでいなければ(ステップS53、NO)、処理ユニット8は次の電子デバイス4に当該パケットを送信しない。つまりこのパケットは、本電子デバイス4内に留まることになる。
以上のように、初期化はM個の電子デバイス毎に行われる。言い換えれば、N個の電子デバイスは、L=(N/M)個のグループに分けられ、各グループに属する電子デバイス毎に、まとめて初期化が実行される(図2のステップS14−1〜S14−L)。
上記説明したステップS14の具体例について、図15乃至図18を用いて説明する。図15乃至図18は半導体システム1のブロック図であり、図11と同様に電子デバイス4の数が15個(N=15)である場合について示している。図中において、各機器間の矢印の横に付記した四角印はパケット50のペイロード、つまり電子デバイス数Mを示している。また、各電子デバイス4には、図11の通りにデバイスIDが付与されているものとする。
図15は、電子デバイス4の全てが未だ初期化されていない状態で初期化コマンドが発行された際の様子を示している。図示するように、ホスト機器2は電子デバイス数M=“4”としてパケットを発行したと仮定する。すなわち、ホスト機器2が一度に初期化可能な最大電子デバイス数は4個である。
図示するように、初期化コマンドを含むパケット(M=“4”)は、まず電子デバイス4−1で受信される。電子デバイス4−1はまだ初期化されておらず(ステップS45、NO)、またM=“4”であるから(ステップS46、NO)、処理ユニット8は初期化を実行する(ステップS47)と共に、電子デバイス数MをM=M−1=“3”に更新して(ステップS48)、次の電子デバイス4−2に送信する。なお図中において電子デバイス4中に記した“−1”は、電子デバイス数Mをデクリメントしていることを示す。
初期化コマンドを含むパケット(M=“3”)を受信した電子デバイス4−2は、電子デバイス4−1と同様に、初期化を行うと共に電子デバイス数Mをデクリメントして“3”から“2”に更新して、パケットを電子デバイス4−3に送信する。電子デバイス4−3、4−4も同様の動作を実行する。
電子デバイス4−4で電子デバイス数Mをデクリメントした結果、電子デバイス数Mは“0”となる。従って、電子デバイス4−5〜4−15は、初期化を行うことなく、それぞれ次の電子デバイス4−6〜4−16にパケットを転送する。そして、リング接続の最後の電子デバイス4−16から、M=“0”とされたパケットがホスト機器2に送信される。
ホスト機器2は、M=“0”以外の値を受信するまで、繰り返し初期化コマンドを発行する。または、特定の回数、初期化コマンドを発行した後、任意のタイミングで初期化完了確認コマンドを発行し、このコマンドを含むパケットを半導体装置3に送信する。図16は、図15の後に初期化完了確認コマンドが発行された場合の様子を示している。
初期化完了確認コマンドを含むパケットは、電子デバイス4−1で受信される(ステップS50)。電子デバイス4−1は既に初期化されている(ステップS53、YES)ので、電子デバイス4−1はこのパケットを次の電子デバイス4−2に転送する(ステップS54)。この時点で、電子デバイス4−1〜4−4の初期化が完了しているので、パケットは電子デバイス4−5まで到達する。しかし電子デバイス4−5はまだ初期化が完了していないので、パケットは電子デバイス4−5に留まり、ホスト機器2には返ってこない。これによりホスト機器2は、初期化が完了していない電子デバイス4の存在を認識出来る。
従ってホスト機器2は、初期化コマンドを含むパケットを再度発行して、半導体装置3へ送信する。この様子を示しているのが図17である。図示するように、電子デバイス4−1〜4−4は初期化が完了しているので(ステップS41、YES)、このパケットはそのまま電子デバイス4−5まで達する。そして図15と同様にして、電子デバイス4−5〜4−8が初期化される。また初期化完了確認コマンドを含むパケットは、電子デバイス4−9まで到達する。
その後、ホスト機器2は、初期化コマンドを含むパケットを2回、発行することで、電子デバイス4の全てが初期化される。この様子を図18に示す。また電子デバイス4の全てが初期化されたことで、初期化完了確認コマンドを含むパケットが電子デバイス4−16からホスト機器2に送信される(図18における太線矢印が、初期化完了確認コマンドを含むパケットの流れである)。従ってホスト機器2は、全ての電子デバイス4−1〜4−16の初期化が完了したことを認識する。勿論、初期化完了確認コマンドを発行しない場合であっても、図18の時点でホスト機器2は、電子デバイス4−15からM=“1”(M≠“0”)のパケット50を受信することで、全電子デバイス4の初期化が完了したことを認識出来る。
上記の初期化手法は、複数の電子デバイスが存在する場合の初期化時間を短縮し、かつホストがサポート可能な電源電流以内で初期化をするために分割して初期化をする手法を提供するが、各電子デバイスに必要な初期化電流の上限値を規定することにより実装が可能となる。しかし、電子デバイスによって初期化に必要な電流値が異なる場合も考えられる。例えば、初期化に必要な電流を倍にすれば、半分の時間で初期化が可能な場合も考えられる。エンベディドなシステム環境においては、電子デバイス毎に最適な初期化グループを事前に指定することでさらに初期化時間の短縮が可能となる場合がある。これを実現するには、各デバイスに何回目の初期化コマンドで初期化を開始するかを示すグループ番号を設定しておく。グループ番号が設定されている場合、前記初期化コマンド中の初期化可能なデバイス数は無視して、各デバイスは受信した初期化コマンドの数を数えて、グループ番号と一致した場合初期化を開始するようにする。初期化中の場合は、初期化完了まで待ってから、初期化コマンドを出力する。デバイスの特徴に応じてホストシステムは最適な初期化手順を選択できる。この点については、第2実施形態で詳細に説明する。
<ステップS15について>
次に図2におけるステップS15について説明する。すべての電子デバイスが動作可能な条件を設定するために、ホスト機器2は、ブロードキャストによる設定値読み出しコマンドを発行する。コマンドの引数には、最大クロック周波数レンジ、タイムアウト値や各種シンボル長などのパラメータが示され、各電子デバイスは、対応可能なパラメータの場合はそのままにしておき、対応できないパラメータ値の場合は、対応可能なパラメータ値に更新する。ホスト機器2が受信したパラメータは、すべてのデバイスが動作可能な条件を含む。
<ステップS16について>
次に図2におけるステップS16について説明する。ステップS15においてホスト機器2は、電子デバイス4に共通の動作条件を決定したので、ブロードキャストによる設定値書き込みコマンドにより、すべての電子デバイス4に同じ値を設定する(各電子デバイス4のレジスタ9にセットする)。
この点につき具体例を挙げて説明する。図19は、ステップS15で読み出した情報を示す表であり、一例として電子デバイス数が15個の場合の、最大動作周波数及び動作タイミングを示している。
図示するように、電子デバイス4−1〜4−15のそれぞれの最大動作周波数がf0〜f15であり、ホスト機器2の最大動作周波数がf0であったとする。そしてこの中で最も低い周波数が、電子デバイス4−3の最大動作周波数f3であったとする。図19のこの情報からホスト機器2は、電子デバイス4−1〜4−15の全てとホスト機器2自身が、周波数f3で動作可能であることを認識出来る。
また電子デバイス4−1〜4−15のそれぞれの動作タイミングがT1〜T15であり、ホスト機器2の動作タイミングがT0であったとする。そしてこの中で最も悪いタイミングが、電子デバイス4−1の動作タイミングT1であったとする。図19のこの情報からホスト機器2は、電子デバイス4−1〜4−15の全てとホスト機器2自身が、動作タイミングT1で動作可能であることを認識出来る。
以上のcapabilityを参照した結果、ホスト機器2は、電子デバイス4−1〜4−15の動作周波数をf3に決定し、また動作タイミングをT1に決定する。そしてホスト機器2は、各電子デバイス4のレジスタ9に、動作条件として動作周波数f3及び動作タイミングT1を書き込む。この際にホスト機器2が発行するパケット60を図20に示す。
図示するようにパケット60は、パケットヘッダ61に、レジスタ書き込みコマンドに相当するコマンド識別子が格納され、ペイロード62には動作周波数f3及び動作タイミングT1が格納される。このパケットを送信することで、電子デバイス4のレジスタには順次、動作周波数f3及び動作タイミングT1が書き込まれる(ステップS16−1〜S16−N)。このパケット60は、ブロードキャストで送信されても良いし、ユニキャストまたはマルチキャストで送信されても良い。
なお、本ステップで設定されるコンフィギュレーション(configuration)には、上記最大動作周波数及び動作タイミングに加えて、ある特定のシンボルの長さ、サポートするパケットの種類、パワー制御モード、及びリトライ(retry)回数などが含まれてもよい。
<ステップS17について>
次に図2におけるステップS17について説明する。ステップS15およびステップS16は、すべての電子デバイス4共通の動作条件を決定するシーケンスであるが、転送ブロックサイズなどは、個々のI/Oデバイスによって異なる場合がある。したがってホスト機器2は、電子デバイス4毎に個々に設定すべきパラメータがあるものについては、ユニキャストコマンドを使って、デバイスのCapabilityを読み出し(図2のステップS17A−1、S17A−1、…S17A−N)、ホスト機器2のCapabilityとの両方を満たす最適な値を決定し、ユニキャストコマンドを使って最適な値を電子デバイス4に設定する(図2のステップS17B−1、S17B−1、…S17B−N)。
このパラメータの例としては、データ転送に用いるバッファサイズやデータ転送タイミングが含まれても良い。
<効果>
以上のように、第1実施形態に係る半導体装置であると、初期化動作を高速化出来る。本効果につき、以下説明する。
(1)本実施形態に係る構成であると、ホスト機器2は、電子デバイス4と接続可能なバスインターフェースが使用可能かどうかの判定を、電圧レベルの検出によって行っている(図2のステップS10)。すなわち、ホスト機器2においては、電子デバイス4に対してレベルSTBを送信し、これに応答して電子デバイス4からレベルSTBが返信されると、バスインターフェースは使用可能と判断する。言い換えれば、信号D0が同相レベルから差動レベルに変化し、その後信号D1が同相レベルから差動レベルに変化したことを検出すると、バスインターフェースが使用可能と判断する。
電子デバイス4も同様であり、ホスト機器2からレベルSTBが送信されることにより信号D0が同相レベルから差動レベルに変化したことを検出して、バスインターフェースが使用可能と判断する。
このように、信号D0、D1の電圧レベルを検出することで、バスインターフェースの使用可能性を高速に判断することが出来る。バスインターフェースが使用可能な場合、ホスト機器2からシンボルSYNを送出することにより、各電子デバイス4は入力されたシンボルSYNを用いて内部クロックの同期を行う。電子デバイス4は、内部PLLによるクロック同期中は、レベルSTBを出力し続けるが、クロック同期が完了すると、そのクロックに同期してシンボルSYNを出力する。ホスト機器2がシンボルSYNを受信すると、ホスト機器2は、すべての電子デバイス4の同期が完了したことがわかる。
ホスト機器2はシンボルSYNの受信後、シンボルIDLEを送信する(図3における時刻t4)。これはホスト機器2がアイドル状態であることを示すシンボルである。
(2)更に本実施形態に係る構成であると、ブートコードを保持する電子デバイス4は、ホスト機器2によるコマンドを待つことなく、シンボルIDLEを受信すると自発的にブートコードをホスト機器2に送信する(図2のステップS12)。
ホスト機器2がコマンドを発行する際には、複数のコマンド手順が必要になるため、ブートコードの読み出しには比較的時間がかかる。ブートデバイスを持たないシステムでは、システムを起動するためのプログラムをメモリデバイスから読み出すための専用のブートROMの実装が必要である。
しかし、本実施形態であれば、ブートデバイスからのブートコードをホストコントローラが直接システムメモリにコードをロードすることにより、ホスト機器2によるコマンド発生の必要は無く、またブートROMも不要となりコストダウンすることができる。従って、ホスト機器2においてはシステムが速やかに起動され、電子デバイス4の初期化も高速化出来る。
(3)本実施形態に係る構成であると、デバイスIDの割付の際、ホスト機器2は各電子デバイス4のデバイスIDを要求するパケットをブロードキャストする(図2のステップS13)。このパケットは、各電子デバイス4においてそれぞれのデバイスIDが発行されつつ、接続順に順次、電子デバイス4間を転送される。そして、パケット内のデバイスIDは、電子デバイス4を通過するたびに更新され、この更新された値が各電子デバイス4のデバイスIDとなる。従って、デバイスIDが重複することが無い。よってホスト機器2は、デバイスIDの重複の有無を確認する必要が無く、初期化動作を簡略化出来る。
(4)本実施形態に係る構成であると、デバイスIDの割付と同様に、ブロードキャストコマンドを用いて初期化を行っている(ステップS14)。従って、初期化を高速化出来る。
通常、初期化時間は最大で1秒程度かかる。従って、電子デバイスが複数含まれるシステムにおいて電子デバイス毎にコマンドを発行する方法では、ユーザには長い待ち時間が生じる可能性がある。
しかし、ブロードキャストコマンドを用いることで、ホスト機器2が発行するコマンド数を削減出来、初期化シーケンスを簡素化出来る。そして1つのコマンドで複数の電子デバイスを同時に初期化することで、初期化時間を短縮出来る。
同時に初期化する電子デバイス4の数は、ホスト機器2によって定められる。通常、1つの電子デバイス4を初期化するには最大で100mAの電流が必要である。しかしホスト機器には電流供給能力に制限がある。そこで、ホスト機器2は、初期化コマンドを含むパケット内に、初期化可能な電子デバイス数を格納し、その数だけ、同時に初期化する。そして、この数単位で電子デバイス4を順次初期化することで、ホスト機器2の電流供給能力の範囲内において、短時間で初期化出来る。
また、より初期化を高速化するため、グループ番号を用いる方法を利用することができる。上記方法例では初期化電流が最大で100mAという制限があるが、もっと大きな電流を流せば初期化時間を短くできる場合がある。この場合は、初期化するデバイスをホストが電流供給可能なグループに分け、グループ番号を事前にデバイスに書き込んでおき、初期化コマンドの発行数をカウントして、カウント値がグループ番号と一致した場合にデバイスが初期化を開始するようにする。ホストシステムによって初期化をより効率的にカスタマイズすることができる。
(5)更に本実施形態に係る構成であると、ホスト機器2と電子デバイス4のcapabilityに基づき、両者において満足できる条件にて共通の動作条件を決定している(図2のステップS15、S16)。
例えば、従来のシステムにおいては、バスの仕様によって最大動作周波数が決定される。しかし、バスの周波数が非常に高くなると、電子デバイス側やホスト機器側で、この周波数をサポートすることが困難となる。またメモリデバイスの場合には、バスが速いだけでは意味が無く、メモリの書き込みや読み出し性能に合わせてデータの転送速度は決定されるべきである。例えば、メモリデバイスの性能はメモリ性能で制限されるため、バスの動作周波数を高くしてバスインターフェース速度があまり高すぎても、消費電力が大きくなってしまうデメリットが発生する。
この点、本実施形態では、ホスト機器2と電子デバイス4のcapabilityを参照して、両者の間で満足できる共通の動作条件を決定することで、動作性能の少なくとも一部につき、最適な動作条件を設定することが出来、半導体システム1の動作性能を向上出来る。また、電子デバイス4につき個々に動作条件を決める場合に比べて、ブロードキャストコマンドを用いて複数の電子デバイス4に対して動作条件を送信することで、初期化を高速化出来る。
(6)更に本実施形態に係る構成であると、電子デバイス4の動作条件を個別に決定している(図2のステップS17)。従って、電子デバイス4の動作性能を十分に発揮させることが出来る。すなわち、動作条件を共通にすべき点については、ステップS15、S16によって決定されるが、共通にする必要がない点については、ステップS17で決定される。そして個別に動作条件を決定することで、他の電子デバイス4の性能に左右されることなく、電子デバイス4毎の優れた動作特性を活かすことが出来る。
[第2実施形態]
次に、第2実施形態に係る半導体システム、及び電子デバイスの初期化方法について説明する。本実施形態は、上記第1実施形態で説明したステップS14を、別の方法で実行するものである。その他は第1実施形態と同様であるので、説明は省略する。
<第1の例について>
まずステップS14の別の方法として、第1の例について説明する。第1の例においては、ホスト機器2は、予め電子デバイス4−1〜4−Nをグループ分けする。そして各グループに対してグループ番号を付与して、これを電子デバイス4のレジスタ9に書き込む。この動作は、例えばステップS14内で行われても良いし、ステップS13で行われても良いし、または予め製造時に行われても良い。
また、一度に初期化可能な最大電子デバイス数Mの代わりに、電子デバイス4の初期化のためにホスト機器2が利用可能なパワーユニット数Mを使用する。パワーユニット数Mは、初期化のために使用可能なパワー(電力)をある単位で示した値であり、各電子デバイス4を初期化する際にホスト機器2は、ある所定のパワーユニット数を消費する。
更に、上記グループ及びパワーユニット数Mに加えて、初期化完了フラグCF(Completion Flag)を用いる。これは、全ての電子デバイス4の初期化が完了していれば例えば“1”とされ、そうでなければ“1”以外の値(例えば“0”)とされるフラグである。
(初期化コマンドを含むパケットについて)
ステップS14においてホスト機器2は、図21に示すパケット70を生成して、半導体装置3へ送信する。図示するように、パケット70のパケットヘッダ71には初期化コマンドを示すコマンド識別子が含まれ、ペイロードには引数としてグループ番号CC、パワーユニット数M、及び初期化完了フラグCFが含まれる。そしてこのパケット70は、ブロードキャストコマンドとして発行される。
(電子デバイス4の動作について)
図22は、パケット70を受信した際の電子デバイス4の動作を示すフローチャートであり、電子デバイス4−1〜4−Nに共通するフローチャートである。図示するように電子デバイス4は、入力信号ピン5でパケット70を受信する(ステップS50)。そしてパケットデコーダ7は、受信したパケット70のパケットヘッダ71のコマンド識別子からこのパケットが初期化コマンドを含むことを認識すると、その旨と、ペイロード内のグループ番号CC、パワーユニット数M、及び初期化完了フラグCFを処理ユニット8に通知する。処理ユニット8は、自身が初期化中であるか否かを判断し(ステップS51)、初期化中であれば(ステップS51、YES)、初期化の完了まで待ち(ステップS52)、初期化を行うことなく(ステップS53)、このパケット70を次の電子デバイス4(電子デバイス4−Nの場合にはホスト機器2)に送信する(ステップS60)。この場合、パケット更新回路10は、パケット70におけるパワーユニット数M及び初期化完了フラグCFを更新しない。
初期化中でなく(ステップS51、NO)、且つ自身が既に初期化済みであれば(ステップS54、YES)、この場合もステップS53、S60に進む。この場合も、パケット70におけるパワーユニット数M及び初期化完了フラグCFに変更は無い。
初期化中でなく(ステップS51、NO)、且つ自身がまた初期化済みでなければ(ステップS54、NO)、処理ユニット8はパケット更新回路10に対して、ペイロード内の初期化完了フラグCFを“0”にクリアするように命令する(ステップS55)。初期化完了フラグCFが“0”にクリアされることで、ホスト機器2は引き続き初期化コマンドの発行が必要であることを認識する(この点は後述する)。更に処理ユニット8は、このペイロード内のグループ番号CCを確認する(ステップS56)。そして処理ユニット8は、レジスタ9に格納され、自身が属するグループ番号GNと一致するか否かを判断する。
一致すれば(ステップS56、YES)、処理ユニット8は、ペイロード内のパワーユニット数Mと、当該電子デバイス4を初期化する際に消費するパワーユニット数Pとを比較する(ステップS57)。各電子デバイス4についてのパワーユニット数Pは、例えば各電子デバイス4のレジスタ9に書き込まれていても良い。この場合、処理ユニット8は、レジスタ9内のパワーユニット数Pと、受信したパケットのペイロード内のパワーユニット数Mとを比較する。そしてパワーユニット数Pのレジスタ9への書き込みは、例えばステップS14内で行われても良いし、ステップS13で行われても良いし、または予め製造時に行われても良い。
処理ユニット8は、(M−P)≧0であるか否か、すなわちM≧Pであるか否かを判断する。そして(M−P)≧0であれば、すなわちM≧Pであれば(ステップS57、YES)、処理ユニット8はパケット更新回路10に対して、ペイロード内のパワーユニット数Mを(M−P)に更新するよう命令する(ステップS58)。なお、この(M−P)なる値は、ホスト機器2が供給可能な電力から当該電子デバイス4が消費する電力を差し引いた余りを示し、他のデバイスが同時に初期化を行うのに必要なパワーユニット数を示している。そして処理ユニット8は、初期化を開始する(ステップS59)。初期化の開始後、処理ユニット8は、初期化の完了を待つことなく、パケット更新回路10に対して、パワーユニット数M及び完了フラグを更新したパケット70を、次の電子デバイス4に(電子デバイス4−Nの場合にはホスト機器2に)送信させる(ステップS60)。
グループ番号CCとGNとが一致しなければ(ステップS56、NO)、処理ユニット8は初期化を実行することなく(ステップS53)、ステップS60に進む。すなわち、パワーユニット数Mが更新されることなく、パケット70が送信される。ステップS57において(M−P)<0、すなわちM<Pであった場合も(ステップS57、NO)、同様である。
また、電子デバイス4は、複数のパワーユニット数Pを実装することができる。例えば、実装可能な複数のパワーユニット数Pが予めレジスタ9に書き込まれ、このパワーユニット数Pを用いてステップS57〜S58の処理及び初期化を行うことが出来る。また別の方法では、初期化コマンド中に示されるパワーユニットMに対して、電子デバイス4自身が最適なパワーユニット数Pを選択することもできる。
(ホスト機器2の動作について)
次に、ステップS14実行時におけるホスト機器2の動作について図23を用いて説明する。図23は、ホスト機器2の動作を示すフローチャートである。
図示するようにホスト機器2は、まずグループ番号初期値CC=0、初期化完了フラグCF=1とする(ステップS70)。そしてグループ番号CC、初期化完了フラグCF、及びパワーユニット数Mを引数にセットして、パケット70を組み立てて、これをブロードキャストコマンドで送信する(ステップS71)。
その後ホスト機器2は、全電子デバイス4を経たパケット70を受信する(ステップS72)。そしてホスト機器2は、受信したパケット70における初期化完了フラグCFが1であるか否かを確認し(ステップS73)、CF=1であれば(ステップS73,YES)、全電子デバイス4の初期化が完了したものと判断し、初期化を終了する。
他方、CF≠1であれば(ステップS73、NO)、パワーユニット数Mが変化したか否かを確認する(ステップS74)。すなわち、受信したパケット70に含まれるパワーユニット数Mが、当該パケット70の送信時の値と異なっているか否かを判断する。
パワーユニット数Mが変化していなければ(ステップS74、NO)、ホスト機器2は、当該グループ番号CCに属する電子デバイス4の全てが、既に初期化を開始した、または初期化を完了したと判断し、グループ番号CCをインクリメントし(ステップS75)、また初期化完了フラグCFを1として、ステップS71に進み、再度初期化コマンドを発行する。
ステップS74においてパワーユニット数Mが変化していれば(ステップS74、YES)、ホスト機器2は、当該グループ番号に属する電子デバイス4のうち、まだ初期化を開始していないものが残っている可能性があると判断し、グループ番号CCはそのままに、初期化完了フラグCFを1として(ステップS76)、ステップS71に進み、再度初期化コマンドを発行する。
以上のようにホスト機器2は、受信したパケット70の初期化完了フラグCFをチェックすることで、電子デバイス4の全ての初期化が完了したか否かを確認できる。言い換えれば、本例では、電子デバイス4を初期化するための初期化コマンドと、全ての電子デバイス4が初期化を完了したかを確認する初期化完了確認コマンドとが、ひとつに統合されている、と言うことが出来る。
しかし、第1実施形態と同様に、例えば電子デバイス4の初期化完了を確認するためのコマンドを、別途発行しても良い。例えば、図21のパケットにおいて、グループ番号CCを予め定められた所定の値とすることで、これを初期化完了確認コマンドとしても良い。この場合、当該コマンドを電子デバイスが受信すると、初期化中でないデバイスは即座にコマンドを出力するが、初期化中のデバイスは、初期化完了を待ってからコマンドを出力する。ホスト機器2は、当該コマンドを受け取ると、あるひとつのグループの初期化が完了したことがわかる。そしてホスト機器2は、全電子デバイス4が初期化されるまで、グループ番号CCを変更しつつ、初期化コマンドを含むパケット70の送信を繰り返す。
なお、初期化コマンドは、電子デバイス4にデバイスIDが割り振られる前に発行することも出来る。
(具体例その1)
本例に係るステップS14の具体例について、図24及び図25を用いて説明する。図24及び図25は半導体システム1のブロック図であり、図11と同様に電子デバイス4の数が15個(N=15)である場合について示している。図中において、各機器間の矢印の横に付記した四角印はパケット70のペイロード72、つまり左から順にグループ番号CC、パワーユニット数M、及び初期化完了フラグCFを示している。更に図23において各電子デバイス4内部に記したGN=i(i=0〜3)は、各電子デバイス4に割り当てられたグループ番号GNを示す。
図示するように、電子デバイス4−1〜4−4は第0のグループ(GN=0)に割り当てられ、電子デバイス4−5〜4−8は第1のグループ(GN=1)に割り当てられ、電子デバイス4−9〜4−12は第2のグループ(GN=2)に割り当てられ、電子デバイス4−13〜4−15は第3のグループ(GN=3)に割り当てられている。また、各電子デバイスの初期化に必要なパワーユニット数Pは、全て1であると仮定する。
図24に示すようにホスト機器2は、電子デバイス4の全てが未だ初期化されていない状態でパケット70を送信する。図示するように、ホスト機器2はグループ番号CC=0、CF=1としてパケット70を発行する。またパワーユニット数Mは4であると仮定する。
このパケット70は、まず電子デバイス4−1で受信される。すると、電子デバイス4−1に割り当てられたグループ番号GN(=0)と、パケット70のペイロード内のグループ番号CC(=0)とが一致する(ステップS56、YES)。従って、電子デバイス4−1の処理ユニット8は初期化を実行する(ステップS59)。そしてパケット70を次の電子デバイス4−2に送信する。この際、電子デバイス4−1のパケット更新回路10は、パワーユニット数Mを(M−P)=(4−3)=3に更新し、また初期化完了フラグCFを0に更新する。
パケット70を受信した電子デバイス4−2は第0のグループ(GN=0)に割り当てられているので、電子デバイス4−1と同様に初期化を行い、パケット70を電子デバイス4−3に送信する。パワーユニット数Mは(M−P)=(3−1)=2に更新される。電子デバイス4−3、4−4も同様の動作を実行する。
電子デバイス4−5は、電子デバイス4−4からパケット70を受信する。電子デバイス4−5は第1のグループ(GN=1)に割り当てられている(ステップS56、NO)。従って電子デバイス4−5は初期化を行うことなく(ステップS53)、パケット70を次の電子デバイス4−6に送信する。電子デバイス4−6〜4−15も同様であり、初期化を行わない。そしてパケット70は電子デバイス4−15からホスト機器2に返される。
電子デバイス4−15からパケット70を受信したホスト機器2は、受信したパケット70のパワーユニット数Mが、送信時の4から0に変化したことを認識して(ステップS74、YES)、再度、CC=0、CF=1のパケット70を送信する(ステップS71)。電子デバイス4−1は、初期化が完了した後、このパケット70を、引数を更新することなく次の電子デバイス4−2に送信する。電子デバイス4−2〜4−4も同様である。
電子デバイス4−4からパケット70を受信した電子デバイス4−5は、初期化完了フラグCFを0に更新するが(ステップS55)、CC≠GNであるので(ステップS56、NO)、初期化を行わず(ステップS53)、またパワーユニット数Mを更新することなく、次の電子デバイス4−6に送信する。電子デバイス4−6〜4−15も同様である。そしてパケット70は、電子デバイス4−15からホスト機器2に返される。
電子デバイス4−15からパケット70を受信したホスト機器2は、受信したパケット70のパワーユニット数Mが、送信時の4から変化していないことを認識して(ステップS74、NO)、CC=CC+1=1(ステップS75)、CF=1のパケット70を送信する(ステップS71)。この際の様子を図25に示す。
図示するように、電子デバイス4−1〜4−4は、初期化が完了済みであるので、初期化完了フラグCF及びパワーユニット数Mを更新することなく、パケット70を転送する。従って、電子デバイス4−5は、CC=1、M=4、CF=1のパケット70を受信する。よって電子デバイス4−5は初期化を開始し、またCFを0に更新し、パワーユニット数Mを4から3に更新して、パケット70を転送する。同様にして、電子デバイス4−6〜4−8も初期化を開始する。
その後は、ホスト機器2はCC=1のパケット70を再度送信する。するとホスト機器2は、電子デバイス4−5〜4−8の初期化の完了の後、送信時と同じMの値を有するパケット70を受信するので、CC=2に更新したパケット70を送信する。以後、同様にして、電子デバイス4−9〜4−12、及び電子デバイス4−13〜4−15の初期化が行われる。
電子デバイス4−15の初期化が完了すると、ホスト機器2はCF=1のパケット70を受信するので、電子デバイス4−1〜4−15の全ての初期化が完了したことを認識し、初期化動作を完了する。
(具体例その2)
別の具体例について、図26乃至図30を用いて説明する。図26乃至図30は半導体システム1のブロック図であり、電子デバイス4の数が4個(N=4)である場合について示している。図中において、各機器間の矢印に付記した四角印はパケット70のペイロード、つまり左から順にグループ番号CC、パワーユニット数M、及び初期化完了フラグCFを示している。また、各電子デバイス4のパワーユニット数P及びグループ番号GNは、図26中に記載したとおりである。
図26に示すようにホスト機器2は、電子デバイス4の全てが未だ初期化されていない状態でパケット70を送信する。図示するように、ホスト機器2はグループ番号CC=0、CF=1としてパケット70を発行する。またパワーユニット数Mは3であると仮定する。
最初にパケットを受信した電子デバイス4−1は、パケット70のCFを1から0に更新する(ステップS55)。また、CC≠GNであるので(ステップS56、NO)、Mの値を更新することなく、パケット70を電子デバイス4−2に送信する。電子デバイス4−2も同様である。電子デバイス4−3では、CC=GNとなる(ステップS56、YES)。従って、電子デバイス4−3は初期化を開始すると共に、Mの値を(M−P)=(3−2)=1に更新して、パケット70を送信する。電子デバイス4−4では、やはりCC≠GNであるので(ステップS56、NO)、初期化を行うことなく、パケット70をホスト機器2に返す。
次に図27に示すように、図26でホスト機器2が受信したパケットのMの値は、送信時の3から1に変化していたので(ステップS74、YES)、ホスト機器2は再度、CC=0のパケット70を送信する。
最初にパケットを受信した電子デバイス4−1は、パケット70のCFを1から0に更新する(ステップS55)。また、CC≠GNであるので(ステップS56、NO)、Mの値を更新することなく、パケット70を電子デバイス4−2に送信する。電子デバイス4−2も同様である。電子デバイス4−3は、初期化の終了後(ステップS52)、Mの値を更新することなく、パケット70を送信する。電子デバイス4−4では、やはりCC≠GNであるので(ステップS56、NO)、初期化を行うことなく、パケット70をホスト機器2に返す。
次に図28に示すように、図27でホスト機器2が受信したパケットのMの値は、送信時の3から変化しなかったので(ステップS74、NO)、ホスト機器2は、CC=CC+1=(0+1)=1のパケット70を送信する。
最初にパケットを受信した電子デバイス4−1は、パケット70のCFを1から0に更新する(ステップS55)。また、CC=GNであるので(ステップS56、YES)、電子デバイス4−1は初期化を開始すると共に、Mの値を(M−P)=(3−3)=0に更新して、パケット70を送信する。電子デバイス4−2においては、CC=GNであるが(ステップS56、YES)、M<Pであるので(ステップS57、NO)、初期化を行うことなく、パケット70を転送する。電子デバイス4−3、4−4でも初期化は行われない。
次に図29に示すように、図28でホスト機器2が受信したパケットのMの値は、送信時の3から0に変化していたので(ステップS74、YES)、ホスト機器2は再度、CC=1のパケット70を送信する。
最初にパケットを受信した電子デバイス4−1は、初期化の完了後(ステップS52)、M及びCFの値を更新することなく、パケット70を電子デバイス4−2へ転送する。電子デバイス4−2では、CC=GNであるので(ステップS56、YES)、初期化を開始すると共に、CFを0に更新し、またMの値を(M−P)=(3−1)=2に更新して、パケット70を送信する。電子デバイス4−3は、受信したパケット70をそのまま電子デバイス4−4に転送する。電子デバイス4−4においては、CC=GNであるので(ステップS56、YES)、初期化を開始すると共に、Mの値を(M−P)=(2−1)=1に更新して、パケット70を転送する。
次に図30に示すように、図29でホスト機器2が受信したパケットのMの値は、送信時の3から1に変化していたので(ステップS74、YES)、ホスト機器2は再度、CC=1のパケット70を送信する。
最初にパケットを受信した電子デバイス4−1は、パケット70をそのまま電子デバイス4−2へ転送する(ステップS54、YES)。電子デバイス4−2は、初期化を完了すると(ステップS52)、パケット70をそのまま電子デバイス4−3へ転送する。電子デバイス4−3も、パケット70をそのまま電子デバイス4−4へ転送する(ステップS54、YES)。電子デバイス4−4は、初期化を完了すると(ステップS52)、パケット70をそのままホスト機器2へ転送する。
その結果、ホスト機器2は電子デバイス4−4からCF=1であるパケット70を受信する。従って、初期化動作を完了する。
<第2の例について>
次に第2の例について説明する。第2の例は、上記第1の例において、パケット70からグループ番号CCを排したものである。すなわち、第1実施形態と同様に、ホスト機器2に近い電子デバイス4から順に初期化を行っても良い。この際の電子デバイス4の動作は、図22においてステップS56を排したものであり、ホスト機器2の動作は図23においてCCに関わる動作を排したものである。
例えば図26においては、まず電子デバイス4−1において、M=Pであるので、初期化が開始される。また電子デバイス4−1はCFを0に更新し、Mを(M−P)=0に更新する。M=0とされたため、電子デバイス4−2〜4−4では初期化は開始されない。
ホスト機器2は、CF=0のパケット70を電子デバイス4−4から受信するので、再度パケット70を発行する。すると、電子デバイス4−2においてM>Pであるので、初期化が開始される。また電子デバイス4−2はCFを0に更新し、Mを(M−P)=2に更新する。更新されたパケットを受信した電子デバイス4−3においても、M>Pであるので、初期化が開始される。そして電子デバイス4−3はMを(M−P)=0に更新する。電子デバイス4−4では、M<Pであるので、初期化は行われない。
次にホスト機器2がパケット70を発行すると、電子デバイス4−4においてM>Pであるので、初期化が開始される。また電子デバイス4−4はCFを0に更新し、Mを(M−P)=2に更新する。
次にホスト機器2がパケット70を発行すると、全ての電子デバイス4における初期化が完了した後に、送信時と同じ値のMを有し、CF=1であるパケット70がホスト機器2で受信される。従ってホスト機器2は初期化動作を完了する。
このように、電子デバイス4−1〜4−4を順番に初期化する例においても、パケット70には初期化完了フラグCFが含まれているので、ホスト機器2は、初期化が完了したか否かをパケット70によって認識出来る。勿論、初期化コマンドとは別に初期化完了確認コマンドを別途用いても良い。
<第3の例について>
次に第3の例について説明する。第3の例は、上記第1の例において、図31に示すパケット90を用いるものである。本例においてホスト機器2は、初期化を行う際と、初期化の完了を確認する際の両方において、図31に示すパケット90を用いる。
パケット90は、コマンド識別子91、S/C識別子92、及びグループ番号93を含む。コマンド識別子91は、初期化コマンドと初期化完了確認コマンドとで共通とされている。S/C識別子92は“0”または“1”の値を取り、“0”の場合には初期化を示し、“1”の場合には初期化完了確認を示す。つまりパケット90を受信した電子デバイス4は、S/C識別子92の値によって、パケット90が初期化コマンドであるか初期化完了確認コマンドであるかを判断出来る。
なお、本パケット90は第2の例にも適用可能である。この場合、グループ番号CCは不要である。
<第4の例について>
次に第4の例について説明する。第4の例は、各電子デバイス4にグループ番号GNを割り当てる代わりに、初期化コマンドを含むパケットを受信した回数によって電子デバイス4をグループ分けするものである。
例えば図23において、電子デバイス4−1〜4−4は1回目の受信時に初期化を行い、電子デバイス4−5〜4−8は2回目の受信時に初期化を行い、電子デバイス4−9〜4−12は3回目の受信時に初期化を行い、電子デバイス4−13〜4−16は4回目の受信時に初期化を行うように定められる。この情報は、例えばレジスタ9に格納される。またそのタイミングは、例えばステップS14内であっても良いし、ステップS13内であっても良いし、または製造時であっても良い。
初期化コマンドを含むパケットを受信した電子デバイス4は、受信回数をインクリメントしてレジスタ9に保持する。そしてその受信回数が、レジスタ9に格納された受信回数と一致するか否かを、処理ユニット8が判断する。そして両者が一致すれば、処理ユニット8は初期化を行い、当該パケットを次の電子デバイス4へ送信する。一致しなければ、処理ユニット8は初期化を行うことなく次の電子デバイス4へ当該パケットを送信する。
ホスト機器2の動作は、図23においてCCに関わる動作を排したものとなる。
例えば図24及び図25の例であると、初期化コマンドを含むパケットをホスト機器2が最初に送信した際には、電子デバイス4−1〜4−4が初期化される。2回目に送信された際には、電子デバイス4−5〜4−8が初期化される。3回目に送信された際には、電子デバイス4−9〜4−12が初期化される。そして4回目に送信された際には、電子デバイス4−13〜4−15が初期化される。この場合も、初期化完了確認コマンドは不要である。但し、初期化完了確認コマンドを用いても良く、この場合の電子デバイス4の動作は、図14と同様である。
本方法であると、初期化コマンド及び初期化完了確認コマンドを含むパケットにグループ番号を含める必要は無い。
また図26〜図29の例であると、初期化コマンドを含むパケットをホスト機器2が最初に送信した際には、電子デバイス4−3が初期化される。2回目に送信された際には、電子デバイス4−1が初期化される。3回目に送信された際には、電子デバイス4−2、4−4が初期化される(電子デバイス4−2、4−4は、受信回数(言い換えればGN)=2のグループに割り当てられる)。
第4の例については、各電子デバイス4における受信回数は、初期化コマンドを受信する度にインクリメントされる。従ってホストシステムは、各グループに含まれる電子デバイス4の全てが、ひとつの初期化コマンドで初期化が開始できるように、グループを割り当てる必要がある。すなわち、各電子デバイス4を初期化するのに必要なパワーユニット数Pを勘案してグルーピングする必要がある。より具体的には、ある1つのグループ(受信回数)に属する電子デバイス4の数は、当該グループに属する全ての電子デバイス4を初期化するために必要な総パワーユニット数ΣPが、ホスト機器2が利用可能なパワーユニット数Mを超えないようにする。
<効果>
第1実施形態で説明したステップS14は、上記のような方法によって実行することが出来る。そして第1実施形態と同様の効果が得られる。
[第3実施形態]
次に、第3実施形態に係る半導体システム、及び電子デバイスの初期化方法について説明する。本実施形態は、上記第1、第2実施形態において、再初期化を行う際の動作に関するものである。その他の構成及び動作は第1、第2実施形態と同様であるので、説明は省略する。
図32は、ホスト機器2と、いずれか1つの電子デバイス4のブロック図であり、特に電源供給線に関する構成を示したものである。図示するようにホスト機器2は、電圧発生回路26−1、26−2を備えている。電圧発生回路26−1は電圧VDD1を発生し、電圧発生回路26−2は電圧VDD2を発生する。但しVDD1>VDD2である(またはVDD1とVDD2は同等のレベルであっても良いし、VDD1=VDD2でも良い)。そしてこれらの電圧VDD1、VDD2が、電子デバイス4に対して電源電圧として供給される。
電子デバイス4は、電圧VDD1、VDD2に基づいて動作する。電子デバイス4は、おおまかにはコントローラ27、デバイス部28、及びレギュレータ29を含む。デバイス部28は、電子デバイス4の主たる機能(例えばメモリ機能、無線LAN機能等)を実行するためのユニットである。またコントローラ27は、ホスト機器2とのインターフェース処理を実行すると共に、デバイス部28を制御する機能を有する。一例として、コントローラ27は、第1実施形態で説明した図6におけるコントローラ30に相当し、デバイス部28はNAND型フラッシュメモリ31に相当する。レギュレータ29は、電圧VDD1及び/またはVDD2をレギュレートして、VDD1及びVDD2より小さいVDD3(例えば1.2V)を生成する。
そしてデバイス部4は、電圧VDD1を電源電圧に用いて動作する。またコントローラ27は、レギュレータ29で生成された電圧VDD3を電源電圧に用いて動作する。特にコントローラ27においてホスト機器2とのインターフェース処理を行う回路ブロックは、電圧VDD3を電源電圧に用いて動作し、レジスタ9に対しても電圧VDD3が電源電圧として与えられている。
レジスタ9は、初期化フラグを備えている。初期化フラグは、フラグVDD2ON及びフラグDIDAを含む。初期化フラグの詳細について図33を用いて説明する。図33は、初期化フラグと、初期化フラグに応じたホスト機器2の動作を示している。
フラグVDD2ONは、電圧VDD2の状態を示すフラグである。フラグVDD2ON=“0”は、電圧VDD2が投入された直後であり、電子デバイス4の初期化が完了していない状態であることを示す。フラグVDD2ON=“1”は、電圧VDD2が投入され、且つ電子デバイス4の初期化が完了された後も電圧VDD2が維持されている状態であることを示す。言い換えればフラグVDD2ONは、当該電子デバイス4につき、過去における直近の初期化の後に、電圧VDD2の供給停止があったか否かを示す情報である。
フラグDIDAは、デバイスIDの割り当てが必要な状態であるか否かを示す。フラグDIDA=“0”は、デバイスIDの割り当てが必要であることを示す。例えば図2におけるステップS10〜S12の状態や、または新たな電子デバイス4が追加された場合がこれに相当する。フラグDIDA=“1”は、デバイスIDの割り当てが不要であることを示す。これは、例えば図2におけるステップS13以降で、新たな電子デバイス4の追加等が無い状態に相当する。
前述の通り、レジスタ9の電源電圧は、電圧VDD2をレギュレートして得られる電圧VDD3である。従って、レジスタ9内の情報は、電圧VDD1の供給が停止されても、電圧VDD2が供給されている限り、消去されない。特に各電子デバイス4内のデバイスID、capability情報、図2のステップS16、S17で設定された動作条件、及び初期化フラグは、電圧VDD2の供給が停止されない限り、維持される。
再初期化には2種類あり、第1の再初期化は、パワーダウンモードからの復帰、第2の再初期化はひとつのデバイスのみの初期化である。以下、第1の初期化及び第2の初期化の詳細について、図2を参照しつつ説明する。
<第1の再初期化について>
パワーダウンモード(dormant(休止)状態)から復帰する場合も初期化と同様な手順が行われるが、フラグVDD2ONをチェックして、VDD2ON=“1”であれば、図2でステップS10のみ実行される。他のステップS12〜S17は実行されなくてよい。
<第2の再初期化について>
本実施形態に係る半導体システム1では、あるひとつのデバイスのみ再初期化する手順をサポートする。この場合、ブロードキャストコマンドではなく、ユニキャストコマンドが用いられる。リセットコマンドにより特定デバイスをリセットすると、デバイスは、ステップS13のデバイスID割り当てが完了した状態に戻る(図2のステップS18)。ユニキャスト初期化コマンドにより、特定の電子デバイス4のみが初期化される。VDD2ON=“0”の場合、ステップS14〜S17が必要となるが、VDD2ON=“1”の場合、レジスタ設定値は保持されているため、ステップS14〜S17の実行は省略することができる。
<効果>
本実施形態に係る構成であっても、第1実施形態と同様の効果が得られる。更に本実施形態では、再初期化動作の高速化を図ることが可能となる。
本実施形態では、ホスト機器2は2種類の電源電圧VDD1、VDD2を電子デバイス4に供給する。低電圧電源VDD2を供給する理由は、動作の高速化に対応するためである。そして高電圧電源VDD1は、特に電子デバイス4におけるデバイス部28で用いられ、低電圧電源VDD2(をレギュレートした電源VDD3)は、コントローラ27とホスト機器2との間の通信に用いられる。そして、レジスタ9内の情報は、低電圧電源VDD2さえ供給されていれば、消去されない。従って、電子デバイス4を使用していない期間には、高電圧電源VDD1の供給を停止することが出来、消費電力を削減出来る。
再初期化にあたっては、低電圧電源VDD2の供給が停止されていなければ、レジスタ9内の情報をそのまま使うことが出来る。従って、図2で説明したステップS12〜S17の処理を省略することが出来る。つまり、再初期化シーケンスを実行する必要無く、電子デバイス4を使用可能な状態に戻すことが出来る。従って、電子デバイス4を高速にパワーダウンからの復帰ができる。
<本実施形態の変形例>
上記第3実施形態では、ホスト機器2がフラグDIDA及びフラグVDD2ONを参照する場合を例に挙げて説明した。しかしながら、フラグDIDA及びフラグVDD2ONは必ずしも必要ではない。
なぜなら、直近の初期化の後に第2電源電圧VDD2がshut downされたか否かは、ホスト機器2にとっては既知の情報だからである。よってホスト機器2は、初期化の後に第2電源電圧VDD2をshut downしていれば、再度、図2の初期化シーケンスを実行し、shut downしていなければ、図2の初期化シーケンスを省略する。
また別の方法としては、ホスト機器2は、第1電源電圧VDD1を復帰させた後に最初のコマンドを発行し、レスポンスタイムアウトを検出してもよい。レスポンスがタイムアウトした、ということは、電子デバイス4がまだ使用可能な状態ではない、ということであり、つまり過去に第2電源電圧VDD2がshut downされた、と判断することができる。この場合、ホスト機器2はpower cycleを実行して、再初期化を行う。
また、上記説明した電源供給条件とは別に、リセットコマンドに関係した再初期化処理がある。リセットコマンドは大まかには2種類に分かれる。
まず、SDインターフェースに準拠するコマンド(CMD0)である。これは、SDコマンドを処理する上位層のみをリセットする。例えばUHS-IIカードの場合、レイヤーは大きく分けると、物理レイヤー(Physical layer)。リンクレイヤー(Link layer)、及びトランザクションレイヤー(Transaction layer)を含む。物理レイヤーは、LVDS技術をベースとしたI/Oセル部である。そして物理レイヤーは、LVDS信号をシリアル−パラレル(serial-parallel)変換して、LSI内部で動作可能な周波数とする。この際、たとえば8B10B codingが用いられる。リンクレイヤーは、シンボル単位(1シンボルは例えば2バイト)の処理を実行する。すなわちリンクレイヤーは、例えばシンボルのエンコードやデコード、シンボル同期(symbol synchronization)に関与する。トランザクションレイヤーは、パケットベースの伝送を行い、パケット内に記述されたコマンド−レスポンスによる通信やパケット化されたデータの転送、並びにプロトコルベース管理(protocol-base management)に関与する。なお、SOP(Start of Packet)とEOP(End of packet)との間の区間がパケットとなる。
CMD0が発行された場合、トランザクションレイヤーのみが初期化され、それよりも下位の物理レイヤー及びリンクレイヤーは初期化されない。
もう一つのコマンドは、フルリセット(Full_Reset)である。このコマンドによれば、全てのレイヤーが初期化され、電子デバイス4はパワーオン直後の状態とされるため、この場合、初期化シーケンスが必要である。この初期化の最中には、コマンドCMD0も発行される。
CMD0のみが発行された場合には、レジスタのセット(図2のステップS16、S17B)は必要無い(レジスタ内の情報は失われていない)。これに対してFull_Reset(CMD0を含む)が発行された場合には、レジスタの再設定が必要となる。
[第4実施形態]
次に、第4実施形態に係る半導体システム、及び電子デバイスの初期化方法について説明する。本実施形態は、上記第1乃至第3実施形態において、電子デバイス4の種々の接続方法に関するものである。以下では、第1乃至第3実施形態と同じ点についての説明は省略する。
<第1の接続例>
上記第1実施形態では、図1に示すように電子デバイス4がリング接続されている場合を例に説明した。しかし、本実施形態の第1の接続例として示すように、ハブを用いても良い。図34は、本実施形態の第1の接続例に係る半導体システム1の一例を示すブロック図である。
図34に示すように半導体システム1は、ホスト機器2、電子デバイス4−1〜4−3、及びハブ100を備えている。例えば、ハブ100は4つのポートP1〜P4を備え、ポートP1〜P4の順にパケットを転送する。ハブ100のポートP1にホスト機器2が接続され、ポートP2〜P4に電子デバイス4−1〜4−3がそれぞれ接続されている。ホスト機器2及び電子デバイス4の構成及び動作は、第1乃至第4実施形態で説明した通りである。図34の四角印は、第1実施形態の図11と同様に、ペイロードのフィールド42−1(開始デバイスID)とフィールド42−2(デバイス数)であり、パケットの流れの参考のために記載したものである。勿論、ステップS14実行時におけるパケット50の流れも図34と同様である。
ホスト機器2によって送信されたパケットの流れは次の通りである。パケットはまずハブ100に送信され、ハブ100はパケットを電子デバイス4−1に転送する。電子デバイス4−1は必要な処理の後、パケットをハブ100へ返す。次にハブ100は、電子デバイス4−1から受信したパケットを電子デバイス4−2へ転送する。電子デバイス4−2は必要な処理の後、パケットをハブ100へ返す。次にハブ100は、電子デバイス4−2から受信したパケットを電子デバイス4−3へ転送する。電子デバイス4−3は必要な処理の後、パケットをハブ100に返す。最後にハブ100は、電子デバイス4−3から受信したパケットを、ホスト機器2へ返す。
<第2の接続例>
次に、第2の接続例について図35を用いて説明する。図35は、第4実施形態の第2の接続例に係る半導体システム1のブロック図である。本例は、二段ハブ接続に関するものである。
図示するように半導体システム1は、ホスト機器2、電子デバイス4−1〜4−5、及びハブ100−1、100−2を備えている。例えば、ハブ100−1、100−2はそれぞれ、4つのポートP1〜P4を備え、ポートP1〜P4の順にパケットを転送する。ハブ100−1のポートP1にはホスト機器2が接続され、ポートP2、P4に電子デバイス4−1、4−5が接続され、ポートP3にハブ100−2のポートP1が接続されている。またハブ100−2のポートP2〜P4には、それぞれ電子デバイス4−2〜4−4が接続されている。ホスト機器2及び電子デバイス4の構成及び動作は、第1乃至第3実施形態で説明した通りである。図35の四角印は、第1実施形態の図11と同様に、ペイロードのフィールド42−1(デバイスIDの初期値)とフィールド42−2(デバイス数)であり、パケットの流れの参考のために記載したものである。ステップS14実行時におけるパケット50の流れも同様である。
ホスト機器2によって送信されたパケットの流れは次の通りである。ホスト機器2からパケットを受信したハブ100−1は、パケットをまず電子デバイス4−1に転送する。電子デバイス4−1は、パケットをハブ100−1に返す。ハブ100−1は、電子デバイス4−1から受信したパケットをハブ100−2に送信する。ハブ100−2は、ハブ100−1から受信したパケットを電子デバイス4−2へ送信する。電子デバイス4−2は、パケットをハブ100−2に返す。ハブ100−2は、電子デバイス4−2から受信したパケットを、電子デバイス4−3へ送信する。電子デバイス4−3は、パケットをハブ100−2に返す。引き続きハブ100−2は、電子デバイス4−3から受信したパケットを、電子デバイス4−4へ送信する。電子デバイス4−4は、パケットをハブ100−2に返す。電子デバイス4−4からパケットを受信したハブ100−2は、これをハブ100−1に返す。するとハブ100−1は、ハブ100−2から受信したパケットを、電子デバイス4−5に送信し、電子デバイス4−5はパケットをハブ100−1に返す。最後にハブ100−1は、電子デバイス4−5から受信したパケットを、ホスト機器2へ返す。
<効果>
以上のように、上記第1乃至第3実施形態で説明した構成は、リング接続だけでなく、ハブ接続の場合にも適用可能であり、第1乃至第3実施形態と同様の効果が得られる。なお、パケットがホスト機器2からブロードキャストされた際に、これを電子デバイス4に転送する機能は、ハブ100がもともと有する機能である。従ってホスト機器2は、複数の電子デバイス4の接続関係を把握している必要は無い。
[第5実施形態]
次に、第5実施形態に係る半導体システム、及び電子デバイスの初期化方法について説明する。本実施形態は、上記第1乃至第4実施形態の具体例に係るものである。以下では、第1乃至第4実施形態と同様の点についての説明は省略する。
図36は、本実施形態に係るメモリシステムの一例を示すブロック図である。図36に示すようにメモリシステム110は、ホストコントローラ111、カードスロット112、CPU(central processing unit)113、システムメモリ114、電子デバイス4−1〜4−4、及びハブ100を備えている。
CPU113は、メモリシステム110の動作全体を司り、図示せぬROM(read only memory)に格納されているプログラム等に従って動作する。システムメモリ114は、CPU113が各種のデータを一時的に保存しておくために用いられ、また実行可能なプログラムを実行するために用いられる。
ホストコントローラ111は、上記第1乃至第4実施形態で説明したホスト機器2に相当する。ホストコントローラ111は、このホストコントローラ111に接続され得るデバイス(要素)と通信するのに必要な様々なハードウェア、ソフトウェア、取り決め等を含んでいる。具体的には、ホストコントローラ111は、電子デバイス4と複数の信号線を介した通信が可能になるように構成されている。信号線には例えば、パケットを転送する信号線、クロックを転送する信号線、及び電源線(前述のVDD1、VDD2)等が含まれる。ホストコントローラ111の一部の機能は、これらの信号線上の信号を、予め設定された規定に従って、出力したり、取り込んだりする。より具体的には、信号線を介して供給される信号を解析し、この信号から予め設定されたビットパターンを認識し、この信号の中からコマンドを取り込む。また、同様に、所定のビットパターンを認識して、信号の中からデータを取り込む。ホストコントローラ111において定義されているコマンドには、様々なものが用意されている。ホストコントローラ111は、このような機能を実現できるように、例えばソフトウェアによる制御により実行されるCPUの機能の一部や、半導体チップとして実現することができる。
ホストコントローラ111は、より具体的には、パケットを転送する信号線D0、D1及びクロックRCLKを転送する信号線をサポートしている。すなわちホストコントローラ111は、これらを用いて、データの転送を行えるように構成されている。さらに具体的には、ホストコントローラ111は、例えばSDインターフェースを制御できるように構成されている。
電子デバイス4−1〜4−4は、メモリシステム110に内蔵されたデバイスである。電子デバイス4−1〜4−4として、ホストコントローラ111を介してCPU113と通信可能に構成されているあらゆるタイプのデバイスを用いることができ、例えば、メモリデバイス、無線LAN(local area network)デバイス等が該当する。電子デバイス4−1〜4−4として用いることが可能なデバイスの主たる部分は、各電子デバイス4−1〜4−4の機能に応じて公知の技術によって実現できる。電子デバイス4−1〜4−4は、SDカード等のポータブルデバイスにおいて封止される半導体チップを利用して実現することができる。
電子デバイス4−1〜4−4は、それぞれ電子デバイス4−1〜4−4の主たる機能(例えばメモリ機能、無線LAN機能等)を実行するためのデバイス部28−1〜28−4を有する。更に電子デバイス4−1〜4−4は、それぞれコントローラ(デバイスコントローラ)27−1〜27−4を備えている。各コントローラ27−1〜27−4は、CPU113と、ホストコントローラ111を介して、インターフェースを用いて通信可能に構成されている。すなわち、このようなインターフェースをサポートするためのハードウェアおよびソフトウェア構成を含んでいる。
ホストコントローラ111がSDインターフェースをサポートしている場合、コントローラ27−1〜27−4もSDインターフェースをサポートするように構成されている。コントローラ27−1〜27−4は、デバイス部28−1〜28−4から独立したCPU及び/または半導体チップとして実現してもよい。または、コントローラ27−1〜27−4とデバイス部28−1〜28−4とがそれぞれ一体となった半導体チップとして実現してもよい。
各コントローラ27−1〜27−4はそれぞれ、第1乃至第4実施形態で説明した入力信号ピン5、出力信号ピン6、パケットデコーダ7、処理ユニット8、レジスタ9、及びパケット更新回路10を備えている。
電子デバイス4−1、4−2は、メモリデバイスである。この電子デバイス4−1、4−2は、デバイス部28−1、28−2としてNAND型フラッシュメモリを含んでいる。NAND型フラッシュメモリは、記憶領域として、複数のページから構成される。各ページは、直列接続された複数のメモリセルトランジスタを含んでいる。各メモリセルトランジスタは、いわゆるスタックゲート構造型のMOSトランジスタからなる。スタックゲート構造のMOSトランジスタは、トンネル絶縁膜、電荷蓄積層(例えば浮遊ゲート電極)、電極間絶縁膜、及び制御ゲート電極が順次積層されたゲート電極と、ソース/ドレイン拡散層とを含む。各メモリセルトランジスタは、電荷蓄積層に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。そして、メモリのセンスアンプ、電位発生回路等を含む制御回路は、メモリセルトランジスタに多ビットのデータを書き込み、多ビットのデータを読み出すことが可能な構成を有している。データの書き込みおよび読み出しは、ページ単位で行なわれる。また、データの消去は複数のページを含むブロック単位で行なわれる。
また電子デバイス4−3、4−4は、例えばSD IOデバイスであり、デバイス部28−3、28−4として、例えば無線LAN機能等を有する。
カードスロット112は、このカードスロット112がサポートするメモリシステムおよびその他デバイスを含む、リムーバブルなカード型の電子デバイス4−5(以下、カードデバイス4−5と呼ぶ)が抜き差しできるように構成されている。
カードスロット112は、これらカードデバイス4−5と接続される端子を有しており、インターフェース中の各ラインと、これらに対応する端子とが接続される。ホストコントローラ21がSDインターフェースをサポートしている場合、SDインターフェースに必要な端子がカードスロット112に設けられる。
カードデバイス4−5には、SDメモリカード及びSD IOカード等、SDインターフェースを介してホストコントローラ111と通信可能なあらゆるカードデバイスが含まれる。図36の例では、カードデバイス4−5はSDメモリカードである。カードデバイス4−5は、電子デバイス4−1〜4−4と同様にコントローラ27−5及びデバイス部28−5を備えている。
コントローラ27−5は、第1乃至第4実施形態で説明した入力信号ピン5、出力信号ピン6、パケットデコーダ7、処理ユニット8、レジスタ9、及びパケット更新回路10を備えている。またデバイス部28−5は、NAND型フラッシュメモリを含んでいる。デバイス部28−5の構成は、デバイス部28−1、28−2と同様である。
上記構成の半導体システム110において、ホストコントローラ111から送信されたパケットは、まず電子デバイス4−1で受信され、その後電子デバイス4−1から電子デバイス4−2に転送され、更に電子デバイス4−2から電子デバイス4−3に転送され、更に電子デバイス4−3から電子デバイス4−4に転送され、そして電子デバイス4−4からハブ100に転送される。
ハブ100は、電子デバイス4−4から転送されたパケットを、必要に応じてカードスロット112に転送し、これによりパケットが、カードスロット112に挿入されたカードデバイス4−5に与えられる。そして、カードデバイス4−5の出力信号ピン6から出力されるパケット、及び/または電子デバイス4−4の出力信号ピン6から出力されるパケットは、ハブ100を介してホストコントローラ111に返される。
上記第1乃至第4実施形態は、上記のような構成にも適用可能である。
[第6実施形態]
次に、第6実施形態に係る半導体システム、及び電子デバイスの初期化方法について説明する。本実施形態は、上記第1乃至第5実施形態を、単一の電子デバイスを含む半導体システムに適用したものである。
図37は、本実施形態に係る半導体システム1のブロック図である。図示するように半導体システム1は、1つの電子デバイス4を含む。電子デバイス4はSDメモリカードである。
メモリカード4は、バスインターフェース120を介してホスト機器2と情報の授受を行う。メモリカード4は、NAND型フラッシュメモリチップ(単にNAND型フラッシュメモリ、またはフラッシュメモリと呼ぶことがある)28、NAND型フラッシュメモリチップ28を制御するメモリコントローラ27、および複数の信号ピン(第1ピン乃至第17ピン)29を備えている。
複数の信号ピン29は、メモリコントローラ27と電気的に接続されている。複数の信号ピン29における第1ピン乃至第17ピンに対する信号の割り当ては、例えば図38に示すようになっている。図38は、第1ピン乃至第17ピンと、それらに割り当てられた信号とを示す表である。
第7ピン、第8ピン、第9ピン、及び第1ピンには、データ0〜データ3がそれぞれ割り当てられている。第1ピンはまた、カード検出信号に対しても割り当てられている。更に第2ピンはコマンドCMDに割り当てられ、第3ピンおよび第6ピンは接地電位GNDに、第4ピンは前述の電源電圧VDD1に、第5ピンは前述のクロック信号RCLKに割り当てられている。
更に、第10ピン、第13ピン、第14ピン、及び第17ピンは、前述の電源電位VDD2または接地電位GNDに割り当てられている。また第11ピン、第12ピン、第15ピン、及び第16ピンにはそれぞれ、前述の差動信号のペアとなるデータ(D1+)とデータ(D1−)、およびデータ(D0−)とデータ(D0+)が割り当てられている。先に説明したとおり、D0+とD0−の信号ペアは、ホスト機器2から電子デバイス4への信号伝送に用いられる。またD1+とD1−の信号ペアは、電子デバイス4からホスト機器2への信号伝送に用いられる。
メモリカード4は、ホスト機器2に設けられたスロットに対して挿抜可能なように形成されている。ホスト機器2に設けられたホストコントローラ(図示せず)は、これらの第1ピン乃至第17ピンを介してメモリカード4内のメモリコントローラ27と各種信号およびデータを通信する。例えばメモリカード4にデータが書き込まれる際には、ホストコントローラは、書き込みコマンドを、第11、12ピンを介してメモリコントローラ27にシリアルな信号として送出する。このときメモリコントローラ27は、第7、8ピンに供給されているクロックRCLKに応答して、第11、12ピンに与えられる書き込みコマンドを取り込む。
書き込みコマンドは、第11、12ピンのみを利用してメモリコントローラ27にシリアルに入力される。コマンドの入力に割り当てられている第11、12ピンは、図38に示すように配置され、複数の信号ピン29とそれに対するバスインターフェース120は、ホスト機器2内のホストコントローラとメモリカード4とが通信するのに使用される。
これに対し、NAND型フラッシュメモリ28とメモリコントローラ27との間の通信は、NAND型フラッシュメモリ用のインターフェースによって行われる。したがって、ここでは図示しないが、NAND型フラッシュメモリ11とメモリコントローラ12とは例えば8ビットの入出力(I/O)線により接続されている。
上記の構成において、メモリコントローラ27が上記第1乃至第5実施形態で説明したコントローラ27、30に相当し、NAND型フラッシュメモリ28がデバイス部28、31に相当する。そして、第6実施形態において、第1乃至第3実施形態で説明した動作を実行出来る。なお本実施形態は、図2においてL=1、N=1である場合に相当する。
<変形例など>
上記のように、第1乃至第6実施形態に係る半導体システム1、及び電子デバイス4の初期化方法によれば、複数の電子デバイス4と、電子デバイス4をグループ単位で同時に初期化するホスト機器2とを具備する。これにより、電子デバイス4の初期化を高速化出来る。なお、ここで使用される「同時」とは、必ずしも時間的に同時である必要は無く、例えば、ホスト機器によって発行された1つのパケットにより複数の電子デバイス4が初期化されること、を意味する。例えば図15においては、1回のパケット52の発行により、電子デバイス4−1〜4−4が一括して初期化されている。しかしながら、時間的に同時である場合を当然含んでよい。
すなわち、電子デバイス4は、パケットの受信をトリガーとして初期化を開始する。この際、パケットを受信して初期化を開始した電子デバイス4は、初期化の完了を待たずにパケットを次の電子デバイス4へ送信する。
従って、初期化開始のタイミングは、個々の電子デバイス4の間で遅れが生じるが、パケットの伝達時間よりも初期化に要する時間の方が長い場合には、複数の電子デバイス4が同時に初期化を行っている期間が存在する。
なお、上記説明の通り、電子デバイス4は、初期化中にパケットを受信した場合、初期化が完了するまで待ち、完了した後にパケットを次の電子デバイスに送信する。従って、このパケットがホスト機器に帰ってくるまで、ホスト機器は一定の時間、待たなければならない。しかし、それよりも前のパケットにより初期化は開始されており、また複数の電子デバイス4が同時に初期化を行い、更に各電子デバイス4の初期化に要する時間には制約(最大時間)がある。そのため、例え電子デバイス4の数が増えたとしても、ホスト機器が長時間待たされることはない。そしてホスト機器がパケットを受信した際には、電子デバイス4の全てにつき、初期化は完了していることになる。
また半導体システム1は、複数の電子デバイス4と、電子デバイス4に対して第1電源電圧VDD1、及び第1電源電圧VDD1より低電圧の第2電源電圧VDD2を供給すると共に、電子デバイス4を初期化可能なホスト機器2とを具備する。電子デバイス4の各々は、第1電源電圧VDD1を用いて動作するデバイス部28と、第2電源電圧VDD2を用いて動作し、ホスト機器2とのインターフェース処理を実行するコントローラ部27とを備える。そしてコントローラ部27は、ホスト機器2との間の動作条件情報を保持するレジスタ9を含み、レジスタ9内の動作条件情報は、第1電源電圧VDD1の供給が停止された場合においても、第2電源電圧VDD2が供給されている期間は保持される。
なお、上記第1実施形態では、半導体システム1がDormant状態にある際、D0+、D0−の両方が“L”レベルである場合を例に説明した。しかし、“H”レベルであっても良い。この場合であっても、シンボルSTBの送信により、D0+ またはD0−が“L”レベルとなることで信号D0が差動レベルに変化したことを検出すれば良い。信号D1についても同様である。
上記実施形態は、SDメモリカードの他、高速でデータ転送を行うUHS(ultra high speed)−IIカードなどのデバイスに適用出来る。また電子デバイス4がメモリデバイスである場合、そのメモリ構造はNAND型フラッシュメモリに限らず、NOR型フラッシュメモリや、フラッシュメモリ以外の半導体メモリであっても良い。
更に、上記実施形態では、種々のフローチャートを用いて動作を説明した。しかし、各フローチャートは一例に過ぎず、可能な限り、ステップの入れ替えが可能であり、また複数のステップは同時に実行可能であり、また場合によっては幾つかのステップを省略しても良い。
例えば図2において、ブートコードの転送(ステップS12)とデバイスIDの割付(ステップS13)を入れ替えることも出来る。例えば、ホスト機器2が半導体装置3に対して電源を投入した直後にブートコードの転送を行う場合には、図2のようにステップS12をステップS13の前に実行出来る。別の方法として、電子デバイス4がリードコマンドの発行をホスト機器2に要求するようにしても良い。つまり、例えばブートコードを保持する電子デバイス4が、電源投入直後にブートコードの読み出しをホスト機器2に要求する。この要求に応答してホスト機器2が電子デバイス4からブートコードを読み出す。このように、電子デバイス4側からリードコマンドを発行する場合には、ステップS13はステップS12の前に行う。
また、上記のフローチャートは、ハードウェア、ソフトウェア、またはこれらの組み合わせで実行可能である。ソフトウェアで実行する際には、上記フローチャートに相当するプログラムがROM内に格納され、例えばCPU等のプロセッサがこのプログラムを実行することで、上記フローチャートに記載した動作が行われる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。

Claims (19)

  1. 複数の電子デバイスをグループ単位で同時に初期化するホストコントローラであって、
    前記ホストコントローラは、前記電子デバイスの初期化のため、第1グループ番号、前記初期化に使用可能な第1パワーユニット数、及び初期値にセットされた初期化完了フラグを含むパケットをブロードキャストで送信し、
    前記パケットは、初期化を完了しておらず、且つ初期化中でない前記電子デバイスにより、前記初期化完了フラグが初期化未完了である旨の情報に更新されて、前記複数の電子デバイス間を順次転送され、
    前記ホストコントローラは、前記電子デバイス間を順次転送された前記パケットを受信し、
    前記初期化完了フラグが前記初期化完了を示す前記パケットが返された際には、前記ホストコントローラは、全ての電子デバイスの初期化が完了したと判断し、
    前記初期化完了フラグが前記初期化未完了を示す前記パケットが返された際には、前記ホストコントローラは、少なくともいずれかの電子デバイスの初期化が未完了と判断する、ホストコントローラ。
  2. 前記初期化完了フラグが前記初期化の未完了を示す場合において、
    前記ホストコントローラは、送信時と異なる前記第1パワーユニット数の前記パケットを前記電子デバイスから受信した際には、前記第1グループ番号を更新することなく前記送信時と同じパケットを再送信し、
    送信時と同じ前記第1パワーユニット数の前記パケットを前記電子デバイスから受信した際には、前記第1グループ番号を更新して前記パケットを再送信する、請求項1のホストコントローラ。
  3. 単独に、または複数の電子デバイスを順次接続して使用可能な電子デバイスを備えた半導体装置であって、
    ホストコントローラから送信され、電子デバイスを初期化するブロードキャストパケットは、第1グループ番号、前記初期化に使用可能な第1パワーユニット数、及び初期化完了フラグを引数に含み、前記単独または複数の電子デバイスを介して順次転送され、再び前記ホストコントローラに戻され、
    前記ホストコントローラから最初に前記パケットを受信した前記電子デバイスは、初期化完了フラグが初期化完了である旨の情報を示すように設定された前記パケットを受信し、
    初期化を完了しておらず、且つ初期化中でない前記電子デバイスは、前記初期化完了フラグを、初期化未完了である旨の情報に更新し、前記パケットを出力する半導体装置。
  4. 第2グループ番号が、前記電子デバイスにあらかじめ設定され、
    前記電子デバイスの初期化には、第2パワーユニット数が必要とされ、
    初期化していない前記電子デバイスは、前記第1グループ番号が前記第2グループ番号と一致した場合であって、且つ前記第1パワーユニット数が、前記第2パワーユニット数以上であった場合に、初期化を実行すると共に、前記第1パワーユニット数を、前記第1パワーユニット数から前記第2パワーユニット数を減算して得られる差の値に更新して該パケットを送信し、
    受信したパケットにより初期化を実行しない電子デバイスは、前記第1パワーユニット数を更新することなく、前記パケットを送信する、請求項3の半導体装置。
  5. 初期化中の前記電子デバイスが、前記電子デバイスを初期化するための前記パケットを受信した場合、該電子デバイスは、初期化完了を待ってから、前記パケットを更新することなく、前記パケットを送信する、請求項4の半導体装置。
  6. 単独に、または複数の電子デバイスを順次接続して使用可能な半導体装置であって、
    ホストコントローラから送信され、前記電子デバイスの動作性能を読み出すブロードキャストパケットは、複数の動作性能情報を引数に含み、前記単独の、または複数の電子デバイスを介して順次転送され、再びホストコントローラに戻され、
    前記パケットを受信した前記電子デバイスは、前記引数に示される動作性能をサポートできる場合、前記動作性能についての引数を変更せず、前記パケットを送信し、
    前記電子デバイスは、前記引数に示される前記動作性能をサポートできない場合、前記動作性能についての引数を、該電子デバイスがサポートする値に変更して、該パケットを送信し、
    前記ホストコントローラから送信され、前記電子デバイスの動作性能を設定するブロードキャストパケットは、前記電子デバイスから前記ホストコントローラに戻された動作性能を読み出すブロードキャストパケットから算出された引数を含み、前記単独の、または複数の電子デバイスを介して順次転送され、共通の動作性能が設定される、半導体装置。
  7. 前記共通の動作性能は、前記ホストコントローラ及び前記電子デバイスの動作周波数、データブロックの長さ、サポートするパケットの種類、パワー制御モード、及びリトライ回数の少なくともいずれかに関する、請求項6の半導体装置。
  8. 前記ホストコントローラは、読み出した前記動作性能のうちの第2動作性能につき、前記電子デバイスに対して個別に決定し、
    前記個別に決定された動作性能は、前記ホストコントローラによってコマンド−レスポンス形式のパケットを用いて個別に前記電子デバイスに設定される、請求項7の半導体装置。
  9. 前記第2動作性能は、データ転送に用いるバッファサイズ及びデータ転送タイミングの少なくともいずれかに関する、請求項8の半導体装置。
  10. 前記第2動作性能は、前記電子デバイスと前記ホストコントローラとの間で使用可能な最適値に設定される、請求項8の半導体装置。
  11. 複数の電子デバイスをグループ単位で同時に初期化するホストコントローラであって、
    前記ホストコントローラは、前記電子デバイスの動作性能情報に初期値を設定した、前記電子デバイスの動作性能を読み出すブロードキャストパケットを送信し、該ブロードキャストパケットは前記複数の電子デバイス間を順次転送され、再び前記ホストコントローラに戻され、
    前記ホストコントローラは、読み出した前記動作性能のうちの第1動作性能につき、前記ホストコントローラ及び前記電子デバイス間で満足可能な共通の動作性能を、前記動作性能を設定するブロードキャストパケットに基づいて決定し、該共通の動作性能をブロードキャストパケットにより前記電子デバイスに設定する、ホストコントローラ。
  12. 前記第1動作性能は、前記ホストコントローラ及び前記電子デバイスの動作周波数、データブロックの長さ、サポートするパケットの種類、パワー制御モード、及びリトライ回数の少なくともいずれかに関する、請求項11のホストコントローラ。
  13. 前記ホストコントローラは、読み出した前記動作性能のうちの第2動作性能につき、前記複数の電子デバイスに対して個別に決定し、
    前記ホストコントローラは、コマンド−レスポンス形式のパケットを用いて該動作性能を個別に前記複数の電子デバイスに設定する、請求項11のホストコントローラ。
  14. 前記第2動作性能は、データ転送に用いるバッファサイズ及びデータ転送タイミングの少なくともいずれかに関する、請求項13のホストコントローラ。
  15. 前記第2動作性能は、前記電子デバイスと前記ホストコントローラとの間で使用可能な最適値に設定される、請求項13のホストコントローラ。
  16. 1つまたは複数の電子デバイスを具備する半導体装置であって、
    前記電子デバイスは、前記電子デバイスを初期化可能なホストコントローラによって、第1電源電圧、及び前記第1電源電圧と同じまたは低電圧の第2電源電圧を供給され、
    前記電子デバイスは、前記第1電源電圧を用いて動作するデバイス部と、前記第2電源電圧を用いて動作し、前記ホストコントローラとのインターフェース処理を実行するコントローラ部とを備え、
    前記コントローラ部は、前記ホストコントローラと前記電子デバイスとの間の動作条件情報を保持し、
    前記電子デバイスが低消費電力状態にあり、前記第1電源電圧が停止された場合、前記動作条件情報は、前記第2電源電圧が供給されている期間は保持される、半導体装置。
  17. 前記電子デバイスは、前記第2電源電圧が停止状態から供給状態となった場合、初期化が必要な状態となり、更に前記第1電源電圧が供給されている場合に初期化可能となり、
    初期化完了状態で、前記第2電源電圧が供給された状態において前記第1電源電圧が供給状態から停止状態となり、再び前記第1電源電圧が停止状態から供給状態となった場合には、再初期化無しで使用可能な状態に移行出来る、請求項16の半導体装置。
  18. 電子デバイスに対して第1電源電圧、及び前記第1電源電圧と同じまたは低電圧の第2電源電圧を供給可能なホストコントローラであって、
    前記第1電源電圧及び前記第2電源電圧を供給して、電子デバイスの初期化を行い、
    前記電子デバイスを低消費電力状態にした後に、前記第1電源電圧を停止して、前記第1電源電圧を再び供給した後に、前記電子デバイスを再初期化無しで使用可能な状態に戻す、ホストコントローラ。
  19. 前記第1電源電圧の停止中に、前記第2電源電圧を停止した後、再び前記電子デバイスを使用する場合、前記第1電源電圧及び前記第2電源電圧を供給して、前記電子デバイスの初期化を行う、請求項18のホストコントローラ。
JP2013212335A 2009-12-17 2013-10-09 半導体装置及びホストコントローラ Active JP5717819B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013212335A JP5717819B2 (ja) 2009-12-17 2013-10-09 半導体装置及びホストコントローラ

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2009286791 2009-12-17
JP2009286791 2009-12-17
JP2010021569 2010-02-02
JP2010021569 2010-02-02
JP2013212335A JP5717819B2 (ja) 2009-12-17 2013-10-09 半導体装置及びホストコントローラ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012527940A Division JP5390709B2 (ja) 2009-12-17 2010-12-17 半導体システム、半導体装置、及び電子デバイスの初期化方法

Publications (2)

Publication Number Publication Date
JP2014059883A true JP2014059883A (ja) 2014-04-03
JP5717819B2 JP5717819B2 (ja) 2015-05-13

Family

ID=44167454

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012527940A Active JP5390709B2 (ja) 2009-12-17 2010-12-17 半導体システム、半導体装置、及び電子デバイスの初期化方法
JP2013212335A Active JP5717819B2 (ja) 2009-12-17 2013-10-09 半導体装置及びホストコントローラ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012527940A Active JP5390709B2 (ja) 2009-12-17 2010-12-17 半導体システム、半導体装置、及び電子デバイスの初期化方法

Country Status (7)

Country Link
US (4) USRE47598E1 (ja)
EP (2) EP3285141B1 (ja)
JP (2) JP5390709B2 (ja)
KR (2) KR101442934B1 (ja)
CN (2) CN104657132B (ja)
TW (4) TWI510904B (ja)
WO (1) WO2011074708A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9761282B2 (en) 2015-06-09 2017-09-12 SK Hynix Inc. Memory system and operating method thereof

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8680900B2 (en) * 2012-08-10 2014-03-25 Arm Limited Self-initializing on-chip data processing apparatus and method of self-initializing an on-chip data processing apparatus
JP5920169B2 (ja) * 2012-10-22 2016-05-18 富士通株式会社 不正コネクション検出方法、ネットワーク監視装置及びプログラム
TWI520751B (zh) * 2013-02-22 2016-02-11 吳羽股份有限公司 經口投予用吸附劑及腎疾病治療劑及肝疾病治療劑
KR101996822B1 (ko) * 2013-03-15 2019-07-08 삼성전자 주식회사 링 토폴로지 저장 네트워크의 멀티캐스트 명령 패킷 처리 방법 및 시스템
JP5815661B2 (ja) 2013-12-25 2015-11-17 ファナック株式会社 複数のcpuと通信するioユニットを用いた安全通信システム
JP2016029556A (ja) 2014-07-15 2016-03-03 株式会社東芝 ホスト機器および拡張性デバイス
JP2017097825A (ja) 2015-11-16 2017-06-01 株式会社東芝 ホスト機器および拡張デバイス
TWI567561B (zh) * 2015-11-26 2017-01-21 新唐科技股份有限公司 匯流排系統
JP6640696B2 (ja) 2016-10-20 2020-02-05 キオクシア株式会社 インターフェースシステム
KR20180101760A (ko) 2017-03-06 2018-09-14 에스케이하이닉스 주식회사 저장 장치, 데이터 처리 시스템 및 이의 동작 방법
JP7018067B2 (ja) * 2017-10-31 2022-02-09 三菱重工機械システム株式会社 情報処理システム、情報処理方法及びプログラム
CN111758227A (zh) * 2018-02-26 2020-10-09 三菱电机株式会社 信号检测电路、光接收器、主站装置及信号检测方法
JP7423367B2 (ja) * 2020-03-23 2024-01-29 キオクシア株式会社 通信システム、デバイス、及び通信方法
US11200001B2 (en) * 2020-05-15 2021-12-14 Micron Technology, Inc. Management of power during memory device reset and initialization
JP2022049599A (ja) * 2020-09-16 2022-03-29 キオクシア株式会社 通信システム、デバイス及び通信方法
TWI736434B (zh) * 2020-09-29 2021-08-11 瑞昱半導體股份有限公司 資料傳輸系統的前晶片
CN113157211B (zh) * 2021-04-20 2022-11-18 武汉卓目科技有限公司 一种嵌入式系统信息记录的存储方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000078561A (ja) * 1998-08-28 2000-03-14 Sanyo Electric Co Ltd 映像記録システム
JP2003158526A (ja) * 2001-11-22 2003-05-30 Hitachi Ltd プロトコル制御装置ならびにディスクアレイシステム
JP2007148828A (ja) * 2005-11-28 2007-06-14 Canon Inc 情報処理装置及びその制御方法
JP2007200220A (ja) * 2006-01-30 2007-08-09 Toshiba Corp インターフェース制御装置およびインターフェース設定方法
JP2009026296A (ja) * 2007-06-21 2009-02-05 Toshiba Corp 電子デバイス、メモリデバイス、ホスト装置
JP2009070301A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 電力制御システム
JP2009123141A (ja) * 2007-11-19 2009-06-04 Panasonic Corp I/oデバイス、ホストコントローラおよびコンピュータシステム

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5135281B2 (ja) * 1972-06-15 1976-10-01
US4792269A (en) * 1985-09-16 1988-12-20 General Signal Corporation Container securing device
JPH10500238A (ja) 1994-05-18 1998-01-06 インテル・コーポレーション コンピュータシステム中の複数のエージェントをコンフィギュレーションする方法及びそのための装置
JPH0863408A (ja) 1994-08-24 1996-03-08 Fujitsu Ltd 計算機システム
JP3402953B2 (ja) * 1996-09-13 2003-05-06 株式会社東芝 通信方法、通信システムおよび通信装置
JPH10333783A (ja) 1997-05-29 1998-12-18 Nec Miyagi Ltd 汎用lsiの制御方式および制御方法
US6226729B1 (en) 1998-11-03 2001-05-01 Intel Corporation Method and apparatus for configuring and initializing a memory device and a memory channel
US6233625B1 (en) * 1998-11-18 2001-05-15 Compaq Computer Corporation System and method for applying initialization power to SCSI devices
WO2001038983A2 (en) 1999-11-22 2001-05-31 Utstarcom, Inc. Distributed cache synchronization protocol
US6820148B1 (en) 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
US7080134B2 (en) 2001-06-29 2006-07-18 Intel Corporation Systems and methods for software distribution and management
CA2363411A1 (en) 2001-11-21 2003-05-21 Platespin Canada Inc. System and method for provisioning software
TW541452B (en) 2002-02-26 2003-07-11 Via Tech Inc Remote boot-up system and method for multiple terminal equipments
US7089459B2 (en) 2002-09-30 2006-08-08 Intel Corporation Limit interface for performance management
CN1331365C (zh) 2002-12-31 2007-08-08 北京信威通信技术股份有限公司 无线通信系统终端软件自动升级的方法及系统
JP3761544B2 (ja) 2003-06-25 2006-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 設定装置、情報処理装置、設定方法、プログラム、及び記録媒体
CN1301632C (zh) 2003-07-08 2007-02-21 精红实业股份有限公司 同步控制电路
JP2005157883A (ja) 2003-11-27 2005-06-16 Oki Electric Ind Co Ltd リセット回路
JP4317065B2 (ja) 2004-03-29 2009-08-19 株式会社山武 設備管理システム、設定情報管理装置、コントローラ、およびプログラム
JP2005316594A (ja) 2004-04-27 2005-11-10 Denso Corp マイクロコンピュータ,マイクロコンピュータシステム及び半導体装置
JP4543780B2 (ja) * 2004-06-25 2010-09-15 日本電気株式会社 電力管理システム、電力管理方法及びプログラム
WO2006057049A1 (ja) 2004-11-26 2006-06-01 Kabushiki Kaisha Toshiba カードおよびホスト機器
JP4817836B2 (ja) 2004-12-27 2011-11-16 株式会社東芝 カードおよびホスト機器
EP1703347B1 (en) * 2005-03-15 2018-10-17 Omron Corporation Programmable logic controller device and programmable logic controller system
US7376823B2 (en) * 2005-04-28 2008-05-20 International Business Machines Corporation Method and system for automatic detection, inventory, and operating system deployment on network boot capable computers
JP4764696B2 (ja) 2005-10-07 2011-09-07 ルネサスエレクトロニクス株式会社 半導体集積回路装置
JP2009518759A (ja) 2005-12-08 2009-05-07 サンディスク コーポレーション コマンドパススルー機構を備えたメディアカード
JP2007299227A (ja) 2006-04-28 2007-11-15 Toshiba Corp 情報処理装置及び情報処理装置のブート方法
EP2487794A3 (en) * 2006-08-22 2013-02-13 Mosaid Technologies Incorporated Modular command structure for memory and memory system
TWI457944B (zh) 2006-12-06 2014-10-21 Mosaid Technologies Inc 與串聯互連之半導體裝置通訊的設備、方法與系統
CN101617371B (zh) 2007-02-16 2014-03-26 莫塞德技术公司 具有多个外部电源的非易失性半导体存储器
US7818592B2 (en) 2007-04-18 2010-10-19 Globalfoundries Inc. Token based power control mechanism
US7755121B2 (en) 2007-08-23 2010-07-13 Aptina Imaging Corp. Imagers, apparatuses and systems utilizing pixels with improved optical resolution and methods of operating the same
JP2009059122A (ja) 2007-08-31 2009-03-19 Renesas Technology Corp データ処理システム
US8594110B2 (en) * 2008-01-11 2013-11-26 Mosaid Technologies Incorporated Ring-of-clusters network topologies
US8131913B2 (en) * 2008-02-04 2012-03-06 Mosaid Technologies Incorporated Selective broadcasting of data in series connected devices
DE112009000392T5 (de) 2008-02-20 2010-12-30 Sumitomo Chemical Co., Ltd. Ethylenhomopolymer
JP5150591B2 (ja) 2009-09-24 2013-02-20 株式会社東芝 半導体装置及びホスト機器
WO2011149481A1 (en) 2010-05-28 2011-12-01 Hewlett-Packard Development Company, L.P. Initializing a memory subsystem of a management controller

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000078561A (ja) * 1998-08-28 2000-03-14 Sanyo Electric Co Ltd 映像記録システム
JP2003158526A (ja) * 2001-11-22 2003-05-30 Hitachi Ltd プロトコル制御装置ならびにディスクアレイシステム
JP2007148828A (ja) * 2005-11-28 2007-06-14 Canon Inc 情報処理装置及びその制御方法
JP2007200220A (ja) * 2006-01-30 2007-08-09 Toshiba Corp インターフェース制御装置およびインターフェース設定方法
JP2009026296A (ja) * 2007-06-21 2009-02-05 Toshiba Corp 電子デバイス、メモリデバイス、ホスト装置
JP2009070301A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 電力制御システム
JP2009123141A (ja) * 2007-11-19 2009-06-04 Panasonic Corp I/oデバイス、ホストコントローラおよびコンピュータシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9761282B2 (en) 2015-06-09 2017-09-12 SK Hynix Inc. Memory system and operating method thereof

Also Published As

Publication number Publication date
TW201719327A (zh) 2017-06-01
TWI464566B (zh) 2014-12-11
CN102640075B (zh) 2015-03-11
EP2513743A4 (en) 2016-07-20
JP2013513836A (ja) 2013-04-22
KR20140025602A (ko) 2014-03-04
TW201614411A (en) 2016-04-16
TWI625619B (zh) 2018-06-01
WO2011074708A1 (en) 2011-06-23
USRE47598E1 (en) 2019-09-10
EP3285141A1 (en) 2018-02-21
EP3285141B1 (en) 2019-11-20
TWI582572B (zh) 2017-05-11
US9141398B2 (en) 2015-09-22
EP2513743B1 (en) 2017-11-15
CN102640075A (zh) 2012-08-15
JP5390709B2 (ja) 2014-01-15
EP2513743A1 (en) 2012-10-24
CN104657132B (zh) 2018-08-03
USRE48495E1 (en) 2021-03-30
US20120254600A1 (en) 2012-10-04
CN104657132A (zh) 2015-05-27
KR101476112B1 (ko) 2014-12-23
KR20120085864A (ko) 2012-08-01
TWI510904B (zh) 2015-12-01
TW201514670A (zh) 2015-04-16
USRE49682E1 (en) 2023-10-03
JP5717819B2 (ja) 2015-05-13
TW201142580A (en) 2011-12-01
KR101442934B1 (ko) 2014-09-22

Similar Documents

Publication Publication Date Title
JP5717819B2 (ja) 半導体装置及びホストコントローラ
US10713209B2 (en) Recalibration of PHY circuitry for the PCI Express (PIPE) interface based on using a message bus interface
KR101832797B1 (ko) Usb 디바이스와의 mctp 통신을 수행하기 위한 방법, 장치 및 시스템
USRE47290E1 (en) Semiconductor device
EP2778937B1 (en) Method, apparatus, and system for improving inter-chip and single-wire communication for a serial interface
US8464020B2 (en) Non-volatile storage device, host device, storage system, data communication method and program
CN104063290A (zh) 处理超时的系统、方法和装置
EP3699768A1 (en) Extended mode (xm) bus mode change, configuration register acesses and broadcast / multi-cast transactions to devices on a xm bus
US7689819B2 (en) Method and system for a self-booting Ethernet controller
CN107092335B (zh) 优化的链路训练及管理机制
CN117997658A (zh) 通信方法、装置及电子设备
CN117807003A (zh) 一种电子设备、处理器、数据传输方法及装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141008

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: 20150217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150317

R151 Written notification of patent or utility model registration

Ref document number: 5717819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350