JP5150591B2 - 半導体装置及びホスト機器 - Google Patents

半導体装置及びホスト機器 Download PDF

Info

Publication number
JP5150591B2
JP5150591B2 JP2009221468A JP2009221468A JP5150591B2 JP 5150591 B2 JP5150591 B2 JP 5150591B2 JP 2009221468 A JP2009221468 A JP 2009221468A JP 2009221468 A JP2009221468 A JP 2009221468A JP 5150591 B2 JP5150591 B2 JP 5150591B2
Authority
JP
Japan
Prior art keywords
packet
host
devices
initial value
determined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009221468A
Other languages
English (en)
Other versions
JP2011090349A (ja
JP2011090349A5 (ja
Inventor
曜久 藤本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Priority to JP2009221468A priority Critical patent/JP5150591B2/ja
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to CN2010800397266A priority patent/CN102483723A/zh
Priority to KR1020127006000A priority patent/KR101343646B1/ko
Priority to EP10818840.0A priority patent/EP2482195B1/en
Priority to CN201611121220.5A priority patent/CN107092572B/zh
Priority to PCT/JP2010/066513 priority patent/WO2011037168A1/ja
Priority to TW104100358A priority patent/TWI542996B/zh
Priority to TW99132498A priority patent/TWI474168B/zh
Publication of JP2011090349A publication Critical patent/JP2011090349A/ja
Publication of JP2011090349A5 publication Critical patent/JP2011090349A5/ja
Priority to US13/424,482 priority patent/US9146866B2/en
Application granted granted Critical
Publication of JP5150591B2 publication Critical patent/JP5150591B2/ja
Priority to US15/466,117 priority patent/USRE47290E1/en
Priority to US16/234,925 priority patent/USRE48514E1/en
Priority to US17/199,945 priority patent/USRE49424E1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • G06F12/0661Configuration or reconfiguration with centralised address assignment and decentralised selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0052Assignment of addresses or identifiers to the modules of a bus system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Description

この発明は半導体装置及びホスト機器に関する。
NAND型フラッシュメモリを用いたメモリシステムとして、SDTMカードが知られている。また、SDカードとホスト機器との間のインターフェースとしては、SDインターフェースが知られている。SDインターフェースでは、デバイスを選択するアドレス(relative card address:RCA)によって、複数のデバイスを1つのバスに接続出来る(例えば特許文献1参照)。
しかしながら、上記従来の方法であると、1つのホスト機器でより多くのデバイスを制御しようとすると、ホスト機器の構成、設計が複雑化すると共に、デバイスのアドレスが重複するおそれがある、という問題があった。
米国特許第6,820,148号明細書
この発明は、構成の複雑化を抑制しつつ、デバイス毎に固有のIDを付与可能な半導体装置及びホスト機器を提供する。
一態様に係る半導体装置は、受信したパケットのコマンドを解析して前記パケットによって指定される処理を決定するデコーダと、前記パケット内の情報に応じて固有のデバイス番号を生成する生成回路と、生成された前記固有のデバイス番号を保持するレジスタと、前記パケット内の情報を更新して出力する更新回路を具備するデバイスを備え、ホストから発行された前記パケットがひとつ、または複数の前記デバイスを経由してホストに戻るブロードキャストパケットにおいて、前記パケットが固有デバイス番号を決定するコマンドパケットである場合、前記コマンドパケットは、前記デバイス番号の初期値と最終値とを示すパラメータを含み、前記デバイスは、前記固有デバイス番号を決定する前記コマンドパケットを前記ホストから最初に受け取ったと判断した場合、受信した前記コマンドパケットの前記初期値に応じてデバイス番号を決定して、前記決定したデバイス番号を前記レジスタに設定し、前記コマンドパケット内の前記初期値及び最終値を前記決定したデバイス番号に更新して、該コマンドパケットを次のデバイスまたは前記ホストへ送信し、前記固有デバイス番号を決定する前記コマンドパケットを前記ホストから最初に受け取らなかったと判断した場合、受信した前記コマンドパケット内の前記初期値をインクリメントすることにより、既にデバイス番号が決定された他のデバイスと異なるデバイス番号を算出して、これを前記レジスタに設定し、前記コマンドパケット内の前記初期値を更新することなく、前記最終値を、前記算出した前記デバイス番号に更新して、該コマンドパケットを次のデバイスまたは前記ホストへ送信し、前記コマンドパケットを前記ホストから最初に受け取った前記デバイスのデバイス番号は、第1動作モードでは前記デバイスが任意に決定し、第2動作モードでは前記ホストによって決定され、前記初期値及び最終値の更新データは、前記コマンドパケット内において、更新前のデータと同一フィールドに記録される。
この発明によれば、構成の複雑化を抑制しつつ、デバイス毎に固有のIDを付与可能な半導体装置及びホスト機器を提供できる。
この発明の第1実施形態に係る半導体システムのブロック図。 第1実施形態に係るフレームフォーマットの概念図。 第1実施形態に係るホスト機器の動作を示すフローチャート。 第1実施形態に係るデバイスの動作を示すフローチャート。 第1の実施形態に係る半導体システムのブロック図。 この発明の第2実施形態に係るメモリシステムのブロック図。 第2実施形態に係る半導体システムのブロック図。 第2実施形態に係る半導体システムのブロック図。 第2実施形態に係る半導体システムのブロック図。 この発明の第3実施形態に係るメモリシステムのブロック図。 第1乃至第3実施形態に係るホスト機器のブロック図。 第1乃至第3実施形態の変形例に係るフレームフォーマットの概念図。 第1乃至第3実施形態の変形例に係るデバイスの動作を示すフローチャート。 第1乃至第3実施形態の変形例に係る半導体システムのブロック図。 第1乃至第3実施形態の変形例に係るフレームフォーマットの概念図。
以下、この発明の実施形態のいくつかを、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。ただし、図面は模式的なものであり、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることはもちろんである。
また、以下に示す各実施形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
また、本発明の各実施形態における各機能ブロックは、ハードウェア、コンピュータソフトウェア、のいずれかまたは両者の組み合わせとして実現することができる。このため、各ブロックは、これらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明される。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、様々な方法でこれらの機能を実現し得るが、そのような実現を決定することは本発明の範疇に含まれるものである。
[第1の実施形態]
この発明の第1の実施形態に係る半導体装置及びホスト機器について説明する。図1は、本実施形態に係る半導体装置及びホスト機器を備えた半導体システムの一例を示すブロック図である。
<半導体システムの構成について>
図示するように半導体システム1は、ホスト機器2と半導体装置3とを備えている。
ホスト機器1および各電子デバイスは、ホスト機器1は、少なくともひとつの入力ポートと、出力ポートで構成され、このポートを介してホスト機器1は、半導体装置3の動作を制御して、半導体システム1の動作を司る。例えば、各ポートは、LVDS(low voltage differential Signaling)方式などによる作動ペアで構成される。
ホスト機器2は、コマンドやデータを含むパケットを組み立てて、これを半導体装置3へ送信して、半導体装置3の動作を制御する。また、半導体装置3から送信されたパケットを受信して、受信したパケットに応じて動作を行う。
半導体装置3は、複数の電子デバイス4を備えている。図1では一例として、3つの電子デバイス4を含む場合を例示している。以下では、3つの電子デバイス4を区別して呼ぶ際には、それぞれ電子デバイス4−1〜4−3と呼ぶ。
本例では、電子デバイス4の各々は入力信号ピン5、出力信号ピン6、パケットデコーダ7、演算モジュール8、レジスタ9、及びパケット更新回路10を備えている。これらについても電子デバイス4−1〜4−3毎に区別して呼ぶ際には、それぞれ入力信号ピン5−1〜5−3、出力信号ピン6−1〜6−3、パケットデコーダ7−1〜7−3、演算モジュール8−1〜8−3、レジスタ9−1〜9−3、及びパケット更新回路10−1〜10−3と呼ぶ。
複数の信号で構成される入力信号ピン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においてデバイスIDが算出される場合には、その算出結果に応じてペイロードの内容を更新する。
上記構成を有する3つの電子デバイス4−1〜4−3は、図1に示すようにホスト機器2に対してリング接続(またはチェーン接続とも呼ぶ)されている。すなわち、ホスト機器2から送信されたパケットは、まず電子デバイス4−1で受信され、その後電子デバイス4−1から電子デバイス4−2に転送され、更に電子デバイス4−2から電子デバイス4−3に転送され、電子デバイス4−3の出力信号ピン6−3から出力されるパケットがホスト機器2に返される。なお、図1の半導体装置3は、後述する図6のような電子デバイス4−1〜4−3及びハブ12で構成される場合も含まれる。
<パケットの構成について>
次に、上記パケットの構成について説明する。図2はパケットの概念図であり、一例として、各電子デバイス4のデバイスIDを特定する際に発行されるパケットを示している。
図示するように、パケット11は大まかにはパケットヘッダとペイロードとを含んでいる。パケットのうちペイロードは、送信すべき内容となる正味のデータ部分であり、パケットヘッダはその付加情報である。
パケットヘッダは、少なくともフィールド11−1、11−2を含む。フィールド11−1には、当該パケットの宛先となるデバイスIDが格納される。またフィールド11−2にはコマンド番号が格納され、当該パケットに対して行うべき動作がこのコマンド番号によって指定される。図2では図示を省略しているが、パケットヘッダにはこれらのフィールドの他、パケットの送信元となるデバイスID(またはホスト機器2のID)や、パケットのサイズ等の情報を格納するフィールドがあっても良い。
ペイロードは、送信すべき内容によって種々のデータを格納する。デバイスIDを特定する際に発行されるパケットでは、少なくともフィールド11−3、11−4を含む。フィールド11−3は、開始デバイスID(start device number)を示すフィールドであり、この値はホスト機器2からパケットを最初に受信した電子デバイス4が決定する。フィールド11−4は、電子デバイス4の数を格納する。パケットが各電子デバイス4を転々とする過程で、フィールド11−4の値がインクリメントされることで、ホスト機器2は電子デバイス4の総数を認識出来る。また、ホスト機器2は、フィールド11−3、11−4の値から、各電子デバイス4のデバイスIDを特定出来る。本動作については以下で詳述する。
また、フィールド11−4は、電子デバイス4の数以外にも、最終デバイス番号(last device number)を表示しても良い。最終デバイス番号と最初のデバイス番号が分かれば、デバイス数は引き算で計算できるので、本実施形態と同様に扱うことができる。最終デバイス番号情報がパケットに含まれる場合については、本実施形態とは別に、後に説明する。
<ホスト機器2の動作について>
次に、電子デバイス4のデバイスIDの特定時における、上記構成のホスト機器2の動作について、図3を用いて説明する。図3は、デバイスID特定時におけるホスト機器2の動作を示すフローチャートである。
図示するように、ホスト機器2はまず、デバイスIDを特定するためのパケットを組み立てる(ステップS10)。すなわち、パケットヘッダのコマンド番号(フィールド11−2)にデバイスIDを特定するためのコマンド(以下、これを初期化コマンドと呼ぶ)をセットし、ペイロードの開始デバイスID(フィールド11−3)とデバイス数(フィールド11−4)の値として初期値(本実施形態ではゼロ)をセットする。
そしてホスト機器2は、ステップS10で組み立てたパケットを電子デバイス4へ送信する(ステップS11)。パケットがブロードキャストで送信されるか、またはユニキャスト(またはマルチキャスト)で送信されるかは、コマンド毎に予め決められている。初期化コマンドは、ブロードキャストコマンドである。従って、パケットヘッダのフィールド11−1における宛先は無視され、図1の接続関係の場合には、パケットはリング接続の最初の電子デバイス4−1に送信される。なおブロードキャストの場合には、パケットの宛先を示すフィールド11−1は無視される。
その後ホスト機器2は、リング接続の最後の電子デバイス4−3からパケットを受信する(ステップS12)。するとホスト機器2は、受信したパケット内の最初のデバイスID(フィールド11−3)とデバイス数(フィールド11−4)を読み取る(ステップS13)。フィールド11−3の値は、リング接続の最初の電子デバイス4−1のデバイスIDであり、フィールド11−4の値は、リング接続された電子デバイス4−1〜4−3の総数(本例では3個)である。
次にホスト機器2は、フィールド11−3、11−4の値を用いて、予め定められた演算を行って、各電子デバイス4−2、4−3のデバイスIDと全デバイス数を把握する(ステップS14)。識別可能なデバイス数は、デバイスIDフィールドのビット数で決定される。予め定められた演算とは、電子デバイス4−2、4−3が開始デバイスIDに対して自身のIDを算出するルールであり、例えばデバイス数だけインクリメントすることである。従って、例えば、電子デバイス4−3から受信したパケットにおける開始デバイスIDの値が“n(nは自然数)”であれば、電子デバイス4−1のデバイスIDは“n”、電子デバイス4−2のデバイスIDは“n+1”、電子デバイス4−3のデバイスIDは“n+2”であることが分かる。
そしてホスト機器2は、ステップS14で得られたデバイスIDを用いて、以降、電子デバイス4−1〜4−3の各々を管理する。その後、このデバイスIDを用いて各電子デバイス4−1〜4−3と通信し、電子デバイス4−1〜4−3の種類(例えばメモリであるかI/O機器であるか、またはカードデバイスであるか等)を把握して、初期化を完了する。
<電子デバイス4の動作について>
次に、電子デバイス4の動作について、図4を用いて説明する。図4は、初期化コマンドを含むパケットを受信した際の電子デバイス4の動作を示すフローチャートであり、電子デバイス4−1〜4−3に共通するフローチャートである。
図示するように電子デバイス4は、入力信号ピン5でパケットを受信する(ステップS20)。そしてパケットデコーダ7は、受信したパケットのフィールド11−2のコマンド番号からこのパケットが初期化コマンドを含むことを認識すると、演算モジュール8に対して自身のデバイスIDの算出を命令する。
命令を受けた演算モジュール8は、受信したパケットのフィールド11−3の値(開始デバイスID)が、ホスト機器2によって設定された所定の値(本実施形態ではゼロ)であるか否かを確認する(ステップS21)。もしゼロであれば(ステップS22、YES)、演算モジュール8は、ゼロ以外の任意の番号を自身のデバイスIDに決定すると共に、フィールド11−3の値(開始デバイスID)を、決定したデバイスIDに更新するよう、パケット更新回路10に命令する。これによりパケット更新回路10は、フィールド11−3を更新する。なお、ゼロ以外の番号を使用する理由は、ゼロはホスト機器2のデバイスIDとして割り当てられているからである。
他方、フィールド11−3の値がホスト機器2によって設定された所定の値でなければ(ステップS22、NO)、フィールド11−3の値はそのままとする(ステップS24)。すなわち、演算モジュール8はパケット更新回路10に対してフィールド11−3の値の更新を命令しない。そして、フィールド11−3を用いて予め定められた演算を行って、自身のデバイスIDを算出する(ステップS25)。本ステップS25における演算は、図3のステップS14で行われた演算と同じであり、例えばフィールド11−3(開始デバイスID)を、フィールド11−4(デバイス数)に応じた回数だけインクリメントすることである。
その後演算モジュール8は、ステップS23またはS25で決定された自身のデバイスIDを、レジスタ9に格納する(ステップS26)。
更に、パケットデコーダ7または演算モジュール8の命令に従い、パケット更新回路10は、受信したパケットのフィールド11−4の値を更新(インクリメント)する。そしてパケット更新回路10は、フィールド11−4、またはフィールド11−3と11−4の両方が更新されたパケットを出力する。
<半導体システム1の動作について>
次に、電子デバイス4のデバイスIDの特定時における、半導体システム1全体の動作について、図5を用いて説明する。図5は、半導体システム1のブロック図である。図中において、各機器間の矢印の横に付記した四角印はパケットのペイロードの内容を示し、左側がフィールド11−3(開始デバイスID)であり、右側がフィールド11−4(デバイス数)である。
図示するように、まずホスト機器2から、初期化コマンドを含むパケットがブロードキャストされる。この際、パケットのフィールド11−3、11−4の値は、ホスト機器2によって設定された所定の値(ゼロ)である(図3のステップS10、S11)。このパケットは、まず電子デバイス4−1で受信される。
電子デバイス4−1では、フィールド11−3の値が“0”であるので(図4のステップS22、YES)、任意の番号を自身のデバイスIDに決定する。図5の例では“5”である。そしてフィールド11−3を“0”から“5”に更新し(同図ステップS23)、フィールド11−4の値をインクリメントして“0”から“1”に更新して(同図ステップS27)、これを出力する。
電子デバイス4−1から出力されたパケットは、次に電子デバイス4−2で受信される。電子デバイス4−2では、フィールド11−3の値が“0”でないので(図4のステップS22、NO)、予め定められた演算方法により、自身のデバイスIDを算出する(同図ステップS25)。すなわち、フィールド11−3の値をフィールド11−4の値だけインクリメントすることで、自身のデバイスIDを“5”+“1”=“6”に決定する。そしてフィールド11−3の値はそのままに(同図ステップS24)、フィールド11−4の値をインクリメントして“1”から“2”に更新して(同図ステップS27)、これを出力する。
電子デバイス4−2から出力されたパケットは、次に電子デバイス4−3で受信される。やはりフィールド11−3の値が“0”でないので(図4のステップS22、NO)、電子デバイス4−3は、予め定められた演算方法により自身のデバイスIDを算出する(同図ステップS25)。すなわち、フィールド11−3の値をフィールド11−4の値だけインクリメントすることで、自身のデバイスIDを“5”+“1”+“1”=“7”に決定する。そしてフィールド11−3の値はそのままに(同図ステップS24)、フィールド11−4の値をインクリメントして“2”から“3”に更新して(同図ステップS27)、これを出力する。
電子デバイス4−3から出力されたパケットは、ホスト機器2で受信される。このパケットは、フィールド11−3の値が“5”、フィールド11−4の値が“3”である。従ってホスト機器は、電子デバイス4−1のデバイスIDが“5”であり、電子デバイス4の総数が“3”であることを把握出来る(図3のステップS13)。そしてホスト機器2は、リング接続の2番目の電子デバイス4−2のデバイスIDが、電子デバイス4−1のデバイスID“5”を“1”だけインクリメントした“6”であることを把握し、リング接続の3番目の電子デバイス4−3のデバイスIDが、電子デバイス4−1のデバイスID“5”を“2”だけインクリメントした“7”であることを把握する(ステップS14)。
その後は、ホスト機器2は、電子デバイス4−1〜4−3をそれぞれ“5”〜“7”のデバイスIDにより管理する。すなわち、例えば電子デバイス4−2に対してデータを送信する場合には、パケットの宛先としてフィールド11−1にデバイスID=“6”をセットする。すると、電子デバイス4−2では、受信したパケットのフィールド11−1の値とレジスタ9の値とが一致するので、これが自身宛のパケットであると判断出来る。他方、電子デバイス4−1、4−2では、受信したパケットのフィールド11−1の値とレジスタ9内の値とが一致しないので、これが自身宛のパケットでは無いことが分かる。なお、電子デバイス4が送信元となってホスト機器2へパケットを送信する際には、その宛先として、フィールド11−1にはデバイスID=“0”がセットされる。
また、電子デバイス4間でのパケットの送受信も可能である。例えばホスト機器2が電子デバイス4−1に対して、電子デバイス4−3へのデータの転送を命令する場合、パケットのフィールド11−1にはデバイスID=“5”がセットされる。またペイロードとして、転送すべきデータと、その宛先となるデバイスID=“7”がセットされる。これを受信した電子デバイス4−3は、フィールド11−1にデバイスID=“7”をセットし、ペイロードに転送すべきデータをセットしたパケットを送信する。すると、このパケットは電子デバイス4−3において受信されることが出来る。
<効果>
以上のように、この発明の第1の実施形態に係る半導体装置及びホスト機器であると、構成の複雑化を抑制しつつ、デバイス毎に固有のIDを付与出来る。本効果につき、以下説明する。
従来、複数の電子デバイスを同一のバスに接続する方法は種々、知られている。しかしながらホストが制御して固有番号を設定する従来の方法であると、各電子デバイスを識別するためには、電子デバイス毎に異なる信号線を用意し、各信号線を用いて電子デバイスとホスト機器とを接続するか、または識別用のIDを生成するための追加信号が必要となり、構成が複雑化するという問題があった。そして近年では、より多くの内蔵デバイスを1つのホスト機器に接続したいという要求が高まっている。従って、例えば内蔵デバイス毎に信号線を用意する方法では、構成がより複雑化すると共に、非効率的であるという問題がある。
また背景技術で述べた通り、SDインターフェースでは、RCAを用いることによって、1つのバスに複数のデバイスを接続することが可能である。RCAを要求するコマンドは、SDインターフェースではコマンドCMD3として用意されている。CMD3が発行されると、電子デバイスはRCAを生成して、これをホスト機器に送信する。しかしながら、各電子デバイスは、他の電子デバイスのRCAを考慮することなく、ランダムにRCAを生成する。RCAは例えば16ビットの値であり、接続される電子デバイス数が多くなければ、電子デバイス間でRCAが重複する可能性は小さい。しかしその可能性はゼロでは無いので、ホスト機器は、各電子デバイスが発行したRCAが電子デバイス間で重複していないか否かを確認する必要がある。そして重複していれば再度、RCAを生成し直すよう、電子デバイスに命令する必要がある。
この点、本実施形態に係る構成であると、上記従来の問題を解消出来る。まず、ホスト機器2は各電子デバイス4のデバイスIDを要求するパケットをブロードキャストする。このパケットは、各電子デバイス4においてそれぞれのデバイスIDが発行されつつ、接続順に順次、電子デバイス4間を転送される。従って、電子デバイス毎に信号線を用意する必要は無く、ホスト機器は少なくとも1つの出力ポートと1つの入力ポートとを有していれば良い。よって、構成を簡略化出来る。
また、電子デバイス4毎に異なるデバイスIDを設定可能である。これは、電子デバイス4を通過する度に、パケット内におけるデバイスIDに関する情報が更新されるからである。具体的には、パケットをホスト機器2から最初に受信した電子デバイス4−1は、自身のデバイスIDを任意で決定する。そして、自身のデバイスIDに関する情報(デバイスIDとデバイス数)をパケット内に格納して、次の電子デバイス4−2に転送する。次にパケットを受信する電子デバイス4−2は、受信したパケットから、電子デバイス4−1のデバイスIDを知ることが出来る。従って電子デバイス4−2は、電子デバイス4−1のデバイスIDにつき所定の演算を行うことで、電子デバイス4−1とは異なるデバイスIDを、自身のデバイスIDとして設定出来る。
このことは、それ以降の電子デバイス4−3でも同様である。すなわち電子デバイス4−3が受信するパケットには、電子デバイス4−1のデバイスIDと、電子デバイス4−3に至る間に通過した電子デバイス数とが格納されている。従って電子デバイス4−3は、電子デバイス4−1、4−2のデバイスIDを把握出来る。よって電子デバイス4−3は、電子デバイス4−1、4−2と異なるデバイスIDを、自身のデバイスIDとして設定出来る。
その結果、各電子デバイス4は、互いに異なるデバイスIDを設定出来る。よって、ホスト機器2は、デバイスIDの重複の有無を確認する必要が無く、初期化動作を簡略化出来る。
また、ホスト機器2は、初期化コマンドを含むパケットに対する応答は、最後の電子デバイス4−3から受信するのみであり、その他の電子デバイス4−1、4−2からは何らの応答を受信する必要が無い。これは、デバイスIDの重複を防止出来るため、初期化動作にあたって各電子デバイス4−1〜4−3との個々の通信を必要としないからである。つまり、ホスト機器2の処理を簡略化出来る。その結果、ホスト機器2における図3の処理は、ハードウェアによって実現することが容易となる。従って、初期化処理を高速化出来る。
これは次のような理由による。ソフトウェアで処理を行う場合には、例えば半導体システム1に対する電源投入時において、OS(operating system)等の起動を待つ必要がある。OSの起動完了後、初期化処理のプログラムを読み出して、図3の処理が行われる。しかし、ハードウェアで図3の処理を行う場合には、OS等の起動を待つ必要が無い。よってホスト機器2は、高速に各電子デバイス4のデバイスIDを把握出来る。
[第2の実施形態]
次に、この発明の第2の実施形態に係る半導体装置及びホスト機器について説明する。本実施形態は、上記第1の実施形態において、電子デバイス4の種々の接続方法に関するものである。以下では、第1の実施形態と同じ点についての説明は省略する。
<第1の接続例>
上記第1の実施形態では、図1に示すように電子デバイス4がリング接続されている場合を例に説明した。しかし、本実施形態の第1の接続例として示すように、ハブを用いても良い。図6は、本実施形態の第1の接続例に係る半導体システム1の一例を示すブロック図である。
図示するように半導体システム1は、ホスト機器2、電子デバイス4−1〜4−3、及びハブ12を備えている。例えば、ハブ12は4つのポートP1〜P4を備え、ポートP1〜P4の順にパケットを転送する。ハブ12のポートP1にホスト機器2が接続され、ポートP2〜P4に電子デバイス4−1〜4−3がそれぞれ接続されている。ホスト機器2及び電子デバイス4の構成及び動作は、第1の実施形態で説明した通りである。図6の四角印は、第1の実施形態の図5と同様に、ペイロードのフィールド11−3(開始デバイスID)とフィールド11−4(デバイス数)を示す。
図6の構成における初期化動作時のパケットの流れについて、引き続き図6を参照しつつ説明する。ホスト機器2は、フィールド11−2に初期化コマンドをセットし、フィールド11−3、11−4にそれぞれ初期値(ゼロ)をセットしたパケットをブロードキャストする。ハブ12は、ホスト機器2から受信したパケットを電子デバイス4−1に転送する。
電子デバイス4−1は、自身のデバイスIDを“5”に設定し、フィールド11−3、11−4の値をそれぞれ“5”、“1”に更新したパケットをハブ12へ返す。
次にハブ12は、電子デバイス4−1から受信したパケットを、電子デバイス4−2へ転送する。電子デバイス4−2は、自身のデバイスIDを“5”からインクリメントした“6”に設定する。そしてフィールド11−4の値を“2”に更新したパケットをハブ12へ返す。
次にハブ12は、電子デバイス4−2から受信したパケットを、電子デバイス4−3へ転送する。電子デバイス4−3は、自身のデバイスIDを“5”から“2”だけインクリメントした“7”に設定する。そしてフィールド11−4の値を“3”に更新したパケットをハブ12に返す。
最後にハブ12は、電子デバイス4−3から受信したパケットを、ホスト機器2へ返す。このとき、パケットのフィールド11−3、11−4の値はそれぞれ“5”、“3”である。
<第2の接続例>
次に、第2の接続例について図7を用いて説明する。図7は、第2の接続例に係る半導体システム1のブロック図である。本例は、二段ハブ接続に関するものである。
図示するように半導体システム1は、ホスト機器2、電子デバイス4−1〜4−5、及びハブ12−1、12−2を備えている。例えば、ハブ12−1、12−2はそれぞれ、4つのポートP1〜P4を備え、ポートP1〜P4の順にパケットを転送する。ハブ12−1のポートP1にはホスト機器2が接続され、ポートP2、P4に電子デバイス4−1、4−5が接続され、ポートP3にハブ12−2のポートP1が接続されている。またハブ12−2のポートP2〜P4には、それぞれ電子デバイス4−2〜4−4が接続されている。ホスト機器2及び電子デバイス4の構成及び動作は、第1の実施形態で説明した通りである。図6の四角印は、第1の実施形態の図5と同様に、ペイロードのフィールド11−3(デバイスIDの初期値)とフィールド11−4(デバイス数)を示す。
図7の構成における初期化動作時のパケットの流れについて、引き続き図7を参照しつつ説明する。ホスト機器2は、フィールド11−2に初期化コマンドをセットし、フィールド11−3、11−4にそれぞれ初期値(ゼロ)をセットしたパケットをブロードキャストする。ハブ12−1は、ホスト機器2から受信したパケットを電子デバイス4−1に転送する。
電子デバイス4−1は、自身のデバイスIDを“5”に設定し、フィールド11−3、11−4の値をそれぞれ“5”、“1”に更新したパケットをハブ12へ返す。
次にハブ12−1は、電子デバイス4−1から受信したパケットを、ハブ12−2に転送する。引き続きハブ12−2は、ハブ12−1から受信したパケットを電子デバイス4−2へ転送する。電子デバイス4−2は、自身のデバイスIDを“5”からインクリメントした“6”に設定する。そしてフィールド11−4の値を“2”に更新したパケットをハブ12−2へ返す。
次にハブ12−2は、電子デバイス4−2から受信したパケットを、電子デバイス4−3へ転送する。電子デバイス4−3は、自身のデバイスIDを“5”から“2”だけインクリメントした“7”に設定する。そしてフィールド11−4の値を“3”に更新したパケットをハブ12−2に返す。
引き続きハブ12−2は、電子デバイス4−3から受信したパケットを、電子デバイス4−4へ転送する。電子デバイス4−4は、自身のデバイスIDを“5”から“3”だけインクリメントした“8”に設定する。そしてフィールド11−4の値を“4”に更新したパケットをハブ12−2に返す。
電子デバイス4−4からパケットを受信したハブ12−2は、これをハブ12−1に返す。するとハブ12−1は、ハブ12−2から受信したパケットを、電子デバイス4−5に転送する。電子デバイス4−5は、自身のデバイスIDを“5”から“4”だけインクリメントした“9”に設定する。そしてフィールド11−4の値を“5”に更新したパケットをハブ12−1に返す。
最後にハブ12−1は、電子デバイス4−5から受信したパケットを、ホスト機器2へ返す。このとき、パケットのフィールド11−3、11−4の値はそれぞれ“5”、“5”である。
<第3の接続例>
次に第3の接続例について説明する。図8は、第3の接続例に係る半導体システム1のブロック図である。本例は、第1の接続例として説明した図6の構成において、電子デバイス4−2が無い場合に関する。
図示するように、電子デバイス4−1が自身のデバイスIDとして“8”を設定したとすると、ハブ12が電子デバイス4−1から受信するパケットのフィールド11−3、11−4の値はそれぞれ“8”、“1”である。
ハブ12は、電子デバイス4−1から受信したパケットをポートP3から送信するが、ポートP3に電子デバイスは接続されていない。従って、送信したパケットがそのままポートP3に返される。従ってハブ12は、返されたパケットを次に電子デバイス4−3に転送する。
その後の動作は第1の接続例と同じである。
リング接続では、電子デバイス4−1から電子デバイス4−3は取り外せないので、エンベディドシステム(embedded system)向けであるが、その構成でリムーバブルデバイス(removable device)をサポートするために、ハブ12を持つことで、電子デバイス4−4をリムーバブルカードとして構成することが可能となる。ハブ12は、電子デバイス4−4が接続されていない場合、入力ポートからのパケットをそのまま出力ポートに出力する。
<第4の接続例>
次に第4の接続例について説明する。図9は、第4の接続例に係る半導体システム1のブロック図である。本例は、第1の実施形態で説明した図1の接続例に、更にハブ12を組み合わせたものである。
図示するように、ハブは電子デバイス4−3とホスト機器2との間に接続され、いずれかのポートに電子デバイス4−4が接続されている。
ハブ12が電子デバイス4−3から受信するパケットのフィールド11−3、11−4の値は、それぞれ“5”、“3”である。するとハブ12は、このパケットを電子デバイス4−4へ転送する。そしてハブ12は、電子デバイス4−4から、フィールド11−4の値が“4”に更新されたパケットを受信し、これをホスト機器2へ返す。
<効果>
以上のように、上記第1の実施形態で説明した構成は、リング接続だけでなく、ハブ接続の場合にも適用可能であり、第1の実施形態で説明した効果が得られる。なお、パケットがホスト機器2からブロードキャストされた際に、これを電子デバイス4に転送する機能は、ハブ12がもともと有する機能である。従ってホスト機器2は、複数の電子デバイス4の接続関係を把握している必要は無い。
[第3の実施形態]
次に、この発明の第3の実施形態に係る半導体装置及びホスト機器について説明する。本実施形態は、上記第1、第2の実施形態の具体例に係るものである。以下では、第1の実施形態と同様の点についての説明は省略する。
図10は、本実施形態に係るメモリシステムの一例を示すブロック図である。図示するようにメモリシステム20は、ホストコントローラ21、カードスロット22、CPU(central processing unit)23、システムメモリ24、電子デバイス4−1〜4−4、及びハブ12を備えている。
CPU23は、メモリシステム20の動作全体を司り、図示せぬROM(read only memory)に格納されているプログラム等に従って動作する。システムメモリ24は、CPU23が各種のデータを一時的に保存しておくために用いられ、また実行可能なプログラムを実行するために用いられる。
ホストコントローラ21は、上記第1、第2の実施形態で説明したホスト機器2に相当する。ホストコントローラ21は、このホストコントローラ21に接続され得るデバイス(要素)と通信するのに必要な様々なハードウェア、ソフトウェア、取り決め等を含んでいる。具体的には、ホストコントローラ21は、電子デバイス4と複数の信号線を介した通信が可能になるように構成されている。信号線には例えば、パケットを転送する信号線、クロックを転送する信号線、及び電源線等が含まれる。ホストコントローラ21の一部の機能は、これらの信号線を予め設定された規定に従って、出力したり、取り込んだりする。より具体的には、信号線を介して供給される信号を解析し、この信号から予め設定されたビットパターンを認識し、この信号の中からコマンドを取り込む。また、同様に、所定のビットパターンを認識して、信号の中からデータを取り込む。ホストコントローラ21において定義されているコマンドには、様々なものが用意されている。ホストコントローラ21は、このような機能を実現できるように、例えばソフトウェアによる制御により実行されるCPUの機能の一部や、半導体チップとして実現することができる。
ホストコントローラ21は、より具体的には、パケットを転送する信号線及びクロックを転送する信号線をサポートしている。すなわちホストコントローラ21は、これらを用いて、データの転送を行えるように構成されている。さらに具体的には、ホストコントローラ21は、例えばSDインターフェースを制御できるように構成されている。
電子デバイス4−1〜4−4は、メモリシステム20に内蔵されたデバイスである。電子デバイス4−1〜4−4として、ホストコントローラ21を介してCPU23と通信可能に構成されているあらゆるタイプのデバイスを用いることができ、例えば、メモリデバイス、無線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機能等)を実行するためのデバイス部26−1〜26−4を有する。更に電子デバイス4−1〜4−4は、それぞれコントローラ(デバイスコントローラ)25−1〜25−4を備えている。各コントローラ25−1〜25−4は、CPU23と、ホストコントローラ21を介して、インターフェースを用いて通信可能に構成されている。すなわち、このようなインターフェースをサポートするためのハードウェアおよびソフトウェア構成を含んでいる。
ホストコントローラ21がSDインターフェースをサポートしている場合、コントローラ25−1〜25−4もSDインターフェースをサポートするように構成されている。コントローラ25−1〜25−4は、デバイス部26−1〜26−4から独立したCPU及び/または半導体チップとして実現してもよい。または、コントローラ25−1〜25−4とデバイス部26−1〜26−4とがそれぞれ一体となった半導体チップとして実現してもよい。
各コントローラ25−1〜25−4はそれぞれ、第1の実施形態で説明した入力信号ピン5、出力信号ピン6、パケットデコーダ7、演算モジュール8、レジスタ9、及びパケット更新回路10を備えている。以下では、コントローラ25−1〜25−4の各々が備える入力信号ピン5、出力信号ピン6、パケットデコーダ7、演算モジュール8、レジスタ9、及びパケット更新回路10を、互いに区別する場合には、入力信号ピン5−1〜5−4、出力信号ピン6−1〜6−4、パケットデコーダ7−1〜7−4、演算モジュール8−1〜8−4、レジスタ9−1〜9−4、及びパケット更新回路10−1〜10−4と呼ぶ。なお図10では、これらの構成要素のうちレジスタ9−1〜9−4のみ図示している。
電子デバイス4−1、4−2は、メモリデバイスである。この電子デバイス4−1、4−2は、デバイス部26−1としてNAND型フラッシュメモリを含んでいる。NAND型フラッシュメモリは、記憶領域として、複数のページから構成される。各ページは、直列接続された複数のメモリセルトランジスタを含んでいる。各メモリセルトランジスタは、いわゆるスタックゲート構造型のMOSトランジスタからなる。スタックゲート構造のMOSトランジスタは、トンネル絶縁膜、電荷蓄積層(例えば浮遊ゲート電極)、電極間絶縁膜、及び制御ゲート電極が順次積層されたゲート電極と、ソース/ドレイン拡散層とを含む。各メモリセルトランジスタは、電荷蓄積層に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。そして、メモリのセンスアンプ、電位発生回路等を含む制御回路は、メモリセルトランジスタに多ビットのデータを書き込み、多ビットのデータを読み出すことが可能な構成を有している。データの書き込みおよび読み出しは、ページ単位で行なわれる。また、データの消去は複数のページからなるブロック単位で行なわれる。
また電子デバイス4−3、4−4は、例えばSD IOデバイスであり、デバイス部26−3、26−4として、例えば無線LAN機能等を有する。
カードスロット22は、このカードスロット22がサポートするメモリシステムおよびその他デバイスを含む、リムーバブルなカード型の電子デバイス4−5(以下、カードデバイス4−5と呼ぶ)が抜き差しできるように構成されている。
カードスロット22は、これらカードデバイス4−5と接続される端子を有しており、インターフェース中の各ラインと、これらに対応する端子とが接続される。ホストコントローラ21がSDインターフェースをサポートしている場合、SDインターフェースに必要な端子がカードスロット22に設けられる。
カードデバイス4−5には、SDメモリカード及びSD IOカード等、SDインターフェースを介してホストコントローラ21と通信可能なあらゆるカードデバイスが含まれる。図10の例では、カードデバイス4−5はSDメモリカードである。カードデバイス4−5は、電子デバイス4−1〜4−4と同様にコントローラ25−5及びデバイス部26−5を備えている。
コントローラ25−5は、第1の実施形態で説明した入力信号ピン5、出力信号ピン6、パケットデコーダ7、演算モジュール8、レジスタ9、及びパケット更新回路10を備えている。以下では、コントローラ25−5が備える入力信号ピン5、出力信号ピン6、パケットデコーダ7、演算モジュール8、レジスタ9、及びパケット更新回路10を、電子デバイス4−1〜4−4のコントローラ25−1〜25−4と区別する場合には、入力信号ピン5−5、出力信号ピン6−5、パケットデコーダ7−5、演算モジュール8−5、レジスタ9−5、及びパケット更新回路10−5と呼ぶ。また図10では、これらの要素のうちレジスタ9−5のみ図示している。
またデバイス部26−5は、NAND型フラッシュメモリを含んでいる。デバイス部26−5の構成は、デバイス部26−1、26−2と同様である。
上記ホストコントローラ21、電子デバイス4−1〜4−4、ハブ12、及びスロット22の接続関係は、第2の実施形態で説明した図9とほぼ同様である。すなわち、ホスト機器2から送信されたパケットは、まず電子デバイス4−1で受信され、その後電子デバイス4−1から電子デバイス4−2に転送され、更に電子デバイス4−2から電子デバイス4−3に転送され、更に電子デバイス4−3から電子デバイス4−4に転送され、電子デバイス4−4の出力信号ピン6−4から出力されるパケットがハブ12に与えられる。
ハブ12は、電子デバイス4−4から転送されたパケットを、必要に応じてカードスロット22に転送し、これによりパケットが、カードスロット22に挿入されたカードデバイス4−5に与えられる。そして、カードデバイス4−5の出力信号ピン6−5から出力されるパケット、及び/または電子デバイス4−4の出力信号ピン6−4から出力されるパケットは、ハブ12を介してホストコントローラ21に返される。
電子デバイス4−1〜4−5のデバイスID特定時には、パケットはコントローラ21から電子デバイス4−1、4−2、4−3、4−4、ハブ12、カードデバイス4−5、ハブ12、及びホストコントローラ21の順に、順次転送される。図10において、各機器間の矢印の横に付記した四角印は、デバイスID特定時におけるパケットのペイロードの内容を示し、左側がフィールド11−3(開始デバイスID)であり、右側がフィールド11−4(デバイス数)である。また、レジスタ9−1〜9−5に記載されている数字が、各電子デバイスのデバイスIDである。
すなわち、電子デバイス4−1が自身のデバイスIDを“5”に設定したとすると、電子デバイス4−1から出力されるパケットのフィールド11−3、11−4はそれぞれ“5”、“1”である。従って、電子デバイス4−2のデバイスIDは“6”となり、電子デバイス4−2から出力されるパケットのフィールド11−3、11−4はそれぞれ“5”、“2”である。すると、電子デバイス4−3のデバイスIDは“7”となり、電子デバイス4−3から出力されるパケットのフィールド11−3、11−4はそれぞれ“5”、“3”である。次に、電子デバイス4−4のデバイスIDは“8”となり、電子デバイス4−4から出力されるパケットのフィールド11−3、11−4はそれぞれ“5”、“4”である。電子デバイス4−4から出力されるパケットは、ハブ12及びカードスロット22を介してカードデバイス4−5に与えられる。そしてカードデバイス4−5のデバイスIDは“9”となり、カードデバイス4−5から出力されるパケットのフィールド11−3、11−4はそれぞれ“5”、“5”である。このパケットが、カードスロット22及びハブ12を介してホストコントローラ21に返される。
以上の動作が、ホストコントローラ21から各電子デバイス4−1〜4−5に与えられるクロックに同期して実行される。
以上のように、この発明の第1乃至第3の実施形態に係る半導体装置3であると、受信したパケットのコマンドを解析してこのパケットによって指定される処理を決定するデコーダ7と、このパケット内の情報に応じて固有のデバイス番号を生成する生成回路8と、生成された固有のデバイス番号を保持するレジスタ9と、パケット内の情報を更新して出力する更新回路10と、を各々が備える第1デバイス4−1及び第2デバイス4−2を具備する。そして第2デバイス4−2は、第1デバイス4−1において情報が更新されたパケットを受信すると共に、第2デバイス4−2の生成回路8−2は、第1デバイス4−1と異なる前記デバイス番号を生成する。
また、この発明の第1乃至第3の実施形態に係るホスト機器2(及びホストコントローラ21)であると、複数のデバイス4に接続され得るホスト機器2であって、ホスト機器2は、デバイス番号の初期値(開始デバイスID:フィールド11−3)及びデバイス数(フィールド11−4)をゼロに設定した第1パケットを第1デバイス4−1に発行すると共に、該第1パケットに対する応答を第1デバイス4−1から受信することなく、初期値(フィールド11−3)及びデバイス数(フィールド11−4)の修正された第2パケットを第2デバイス(図1の例では電子デバイス4−3)から受信し、第2パケット内の修正された初期値(フィールド11−3)及びデバイス数(フィールド11−4)から、接続されているデバイス4の数及びデバイス4に割り付けられたデバイス番号を認識する。
すなわち、デバイス4のデバイスIDを決定する際、ホスト機器2で発行されたパケットは、複数のデバイス4間を順次転々とする。この際、パケットを受け取ったデバイス4は、パケット内の情報に基づいて自身のデバイスIDを決定すると共に、パケット内の情報を自身のデバイスIDに関連した情報に更新しつつ、且つこのパケットに対する応答をホスト機器2に返すことなく、次のデバイス4へと転送する。そして最後のデバイス4が、パケットをホスト機器2へ返す。
言い換えれば、ホスト機器2が発行したパケットは、デバイス4を順次通過して、最終的にホスト機器2に返ってくる。しかし、この際、返ってきたパケットにおけるペイロードは、最初にデバイスIDの決定のために発行したパケットとは異なる内容の値を有している。
以上の構成によりホスト機器2は、より簡便な構成にて、デバイス4毎に固有のIDを付与することが可能となる。上記構成は、例えば高速シリアル伝送を行うメモリデバイスに適用することで、大きな効果が得られる。
なお、上記説明した第1乃至第3の実施形態は、本発明を実施するための構成例に過ぎず、種々の変形が可能である。例えば、図4のステップS25において用いる演算方法として、上記実施形態では1ずつインクリメントする場合を例に説明した。しかし、演算方法はこれに限られるものでは無く、2ずつインクリメントする場合や、演算モジュール8その他の関数を保持し、この関数を用いてデバイスIDを算出する場合であっても良い。すなわち、ホスト機器2と電子デバイス4とで共通の演算ルールであれば、限定されるものでは無い。
また、図4のステップS23において、デバイスIDの任意の番号が、“0”以外である場合を例に説明した。例えばデバイスIDが4ビットであり、且つデバイスIDの演算方法がインクリメントであった場合には、デバイスIDの値は“0”〜“15”まで表現可能である。このうち、“0”はホスト機器2のIDとして割り当てられるので、最大で15個の電子デバイス4を接続することが出来る。そして、ある電子デバイス4のデバイスIDが“15”であった場合には、これをインクリメントすると“0”に戻るが、これはホスト機器2のIDであるので、次の電子デバイス4のデバイスIDは“0”ではなく、更にインクリメントして“1”となる。
なお、実装によってはホスト機器2のIDは“0”には限られず、他の値であっても良い。電子デバイス4に割り当てられるデバイスIDは、ホスト機器2のIDと同一でなければ良い。
また上記実施形態では、図4のステップS23において、最初の電子デバイス4−1は、自身のデバイスIDを任意に選択する場合を例に説明した。しかし、ホスト機器2が指定する場合であっても良い。すなわち、ホスト機器2は、ペイロードに電子デバイス4−1のデバイスIDを格納してパケット11を組み立てて、これをブロードキャストする。そしてこのパケット11を受信した電子デバイス4−1は、ペイロード内のデバイスIDを読み出して、これを自身のデバイスIDに設定する。このような方法を採用しても良い。
但し、従来のSDメモリカードで使用されているRCAは、ランダムに生成される。従って、従来のSDインターフェースとの親和性という観点では、ステップS23におけるデバイスIDもランダムに生成されることが好ましい。また、上記実施形態で説明したデバイスIDの設定方法はRCAの使用を排除するものでは無く、同時にRCAを使用しても良い。
また、上記実施形態で説明した図3乃至図4の動作は、半導体システム1やメモリシステム20に対する電源投入時に行うことが出来る。そのほかに、電子デバイス4のいずれかがホスト機器2から取り外された場合や、逆に追加された場合も、デバイスIDを設定しなおす必要があるので、図3乃至図4の動作を行うことが出来る。
更に、電子デバイス4はSDメモリカード、UHS(ultra high speed)−IIカード、及びSD IOデバイスなどのSDインターフェースを有するデバイスであっても良いし、その他のデバイスであっても良い。また電子デバイス4がメモリデバイスである場合、そのメモリ構造はNAND型フラッシュメモリに限らず、NOR型フラッシュメモリや、フラッシュメモリ以外の半導体メモリであっても良い。
またホスト機器2(及びホストコントローラ21)の動作は、ハードウェアやソフトウェアによって実行可能である。図11は、ホスト機器2のハードウェア構成の一例を示すブロック図である。図示するようにホスト機器2は、入力信号ピン30、出力信号ピン31、入出力信号ピン32、パケットデコーダ33、演算モジュール34、メモリ35、及びパケット更新回路パケット生成部36を備えている。
入力信号ピン30は、少なくとも1つの入力ポートとして機能し、電子デバイス4から与えられるパケットを受信する。そして受信したパケットをパケットデコーダ33へ転送する。
パケットデコーダ33は、入力信号ピン30から転送されたパケットを解析可能に構成されている。パケットデコーダ33は、パケットヘッダ内コマンド番号により、電子デバイス4が求める処理を識別する。そしてパケットデコーダ33は、要求された処理に応じて必要な演算を行うよう、演算モジュール34に命令する。
演算モジュール34は、パケットデコーダ33の命令に応じて、必要な演算を実行可能に構成されている。演算内容の一例はデバイスIDの算出であり、電子デバイス4と同様の演算ルールを保持する。そして、電子デバイス4から受信したパケットのペイロードの情報から、ホスト機器2に接続された全電子デバイス4のデバイスIDを得る。得られたデバイスIDは、メモリ35に保持される。
入出力信号ピン32は、上位レイヤへ信号を送信し、または上位レイヤから信号を受信する。
パケット生成部36は、上位レイヤからの要求に応じて、コマンドやデータを含むパケットを組み立てる。その際、パケットの宛先となる電子デバイス4のデバイスIDをメモリ35から読み出す。そして組み立てたパケットを、出力信号ピン31から電子デバイス4へ送信する。電源投入時などに各電子デバイス4のデバイスIDを特定するためのパケット11も、パケット生成部36において生成される。メモリ35は、各コマンドがブロードキャストであるか否かの情報等を有していても良い。
ホスト機器2は、以上のようなハードウェア構成を有していても良い。勿論、パケットデコーダ33、演算モジュール34、及びパケット生成部36は、CPU等のプロセッサであっても良い。そして、例えばメモリ35に保持されたプログラムを実行することで、プロセッサがパケットデコーダ33、演算モジュール34、及びパケット生成部36として機能し、図3に示すステップを実行する場合であっても良い。
このことは電子デバイス4においても同様であり、パケットデコーダ7、演算モジュール8、及びパケット更新回路10の機能をCPU等のプロセッサが担っても良い。この場合も同様に、電子デバイス4に保持されるプログラムを実行することで、プロセッサが、パケットデコーダ7、演算モジュール8、及びパケット更新回路10として機能し、図4(または後述する図13)のステップが実行されて良い。
また、上記説明において、パケット11は、デバイス数(フィールド11−4)の代わりに、最終デバイス番号(last device No.:フィールド11−5)を含んでいても良い。図12は、この場合のパケット11の構造を示す模式図である。最終デバイス番号は、当該パケットが最後に通過した電子デバイス4のデバイスIDの値である。
図12のパケットを用いる場合であっても、ホスト機器2及び電子デバイス4の動作は、ほぼ第1の実施形態と同様である。図13は、電子デバイス4の動作を示すフローチャートである。電子デバイス4の動作において、第1の実施形態で説明した図4と異なる点は、ステップS26の後、最終デバイス番号(フィールド11−5)に、自身のデバイスIDをセットする点である(ステップS30)。その他は第1の実施形態と同様である。
ホスト機器2の動作は図3とほぼ同様であるが、ステップS13では、開始デバイス番号と最終デバイス番号とを読み取る。そして、これらの少なくともいずれかに基づいて、電子デバイス4の総数と、各電子デバイス4のデバイスIDを算出する。
図14は、図12のパケットを用いた場合の半導体システム1のブロック図である。図5と同様に、図中において各機器間の矢印の横に付記した四角印はパケットのペイロードの内容を示し、左側がフィールド11−3(開始デバイスID)であり、右側がフィールド11−5(最終デバイスID)である。
図示するように、まずホスト機器2から発行されたパケットのフィールド11−3、11−5の値は、ホスト機器2によって設定された所定の値(ゼロ)である。このパケットが電子デバイス4−1で受信されると、電子デバイス4−1は自身のデバイスIDを“5”に決定する。そしてこの値をフィールド11−3、11−5の両方にセットする。
電子デバイス4−1から出力されたパケットは、次に電子デバイス4−2で受信される。電子デバイス4−2では、フィールド11−3(及び/またはフィールド11−5)の値に基づき、予め定められた演算方法により、自身のデバイスIDを“6”に決定する。そしてフィールド11−3の値はそのままに、フィールド11−5の値を自身のデバイスIDである“6”に更新して、これを出力する。電子デバイス4−3も同様に、自身のデバイスIDをフィールド11−5にセットする。
以上の結果、ホスト機器2が電子デバイス4−3から受信するパケットは、フィールド11−3の値が“5”、フィールド11−5の値が“7”である。従ってホスト機器は、電子デバイス4−1、4−3のデバイスIDが“5”、“7”であることを把握する。また、デバイスIDの演算方法(例えばインクリメント)から、電子デバイス4の総数が3個(=最終デバイスID−開始デバイスID+1)であることと、各電子デバイス4のデバイスIDとを把握出来る。
以上のような方法を用いても良い。なお、この場合でも、各電子デバイス4のデバイスIDとしては、ホスト機器2に割り当てられた値(例えば“0”)を除く値である。なお、開始デバイスIDの最初の値(パケット11を最初に受信した電子デバイス4−1が任意に設定する値)が“1”であれば、デバイス数(フィールド11−4)は最終デバイスIDであると見なすことが出来る。また図15の模式図に示すように、パケット11のペイロードは、開始デバイスID(フィールド11−3)、デバイス数(フィールド11−4)、及び最終デバイスID(フィールド11−5)を含んでいても良い。図15の例では、パケット11のペイロードは、開始デバイスID、最終デバイスID、及びデバイス数の順に、情報を保持する。この場合、各電子デバイス4の動作は図4及び図13との組み合わせであり、フィールド11−4、11−5と、必要であればフィールド11−3を更新する。またホスト機器2は、フィールド11−3〜11−5の少なくともいずれかに基づいて、電子デバイス4の総数と、各デバイスIDとを把握する。
また上記実施形態では、図4のステップS21において、電子デバイス4がパケット11のペイロードの開始デバイスID(フィールド11−3)の値を確認し、それがゼロであった場合(ステップS22、YES)に、自身のデバイスIDを任意の値に設定する場合を例に説明した。しかし、任意のデバイスIDの設定方法、言い換えれば、自身がホスト機器2から最初にパケット11を受信した電子デバイスであるか否かを判断する方法には、種々の方法を用いることが出来る。
例えば、最終デバイスID(またはデバイス数)が“0”であるか否かによって判断しても良い。すなわち、パケット11を受信した電子デバイス4は、図4のステップS21において、最終デバイスID(フィールド11−5)またはデバイス数(フィールド11−4)の値がゼロであるか否かを判断する。前述の通り、開始デバイスIDの最初の値(パケット11を最初に受信した電子デバイス4−1が任意に設定する値)が“1”であれば、デバイス数と最終デバイスIDとは同義である。最終デバイスIDまたはデバイス数がゼロであれば(ステップS22、YES)、電子デバイス4は自身のデバイスIDとして任意の値をセットする。ゼロでなければ(ステップS22、NO)、ステップS24に進む。
つまり、電子デバイス4は、自らが先頭デバイス、すなわち、ホスト機器2により発行されたパケット11を最初に受信した電子デバイスであるか否かの判断は、パケット11内の開始デバイスID(フィールド11−3)及び/または最終デバイスID(フィールド11−5)の値を見て判断出来る。例えば、開始デバイスIDまたは最終デバイスIDが“0”であれば、自身が先頭デバイスであると判断し、自らのデバイスIDを生成する。“0”で無ければ、自身は先頭デバイスではないと判断する。
また、ステップS24において開始デバイスIDの最初の値を決定する方法については、ホスト機器2が番号を指定する方法と、電子デバイス4が決める方法の二通りが考えられる。まず、受信したパケット11のフィールド11−3(開始デバイスID)の値が特定の値の場合、電子デバイス4が任意の値を生成して、これを自身(電子デバイス4−1)のデバイスIDとする。他方、フィールド11−3の値が特定の値で無い場合には、電子デバイス4は、所定の関数を実行して自身のデバイスIDを設定する。この関数がインクリメントである場合は、フィールド11−3の値に“1”が加算された値が、自身のデバイスIDとなる。すなわち、言い換えれば電子デバイス4は、パケット11内の開始デバイスIDと最終デバイスIDとの少なくともいずれか一方の値に基づいて、自らがパケット11を最初に受け取ったデバイスであるかを判断し、最初に受け取ったと判断した場合に、自身のデバイス番号を任意に、または開始デバイスIDに応じて決定することが出来る。
更に、上記実施形態では、種々のフローチャートを用いて動作を説明した。しかし、各フローチャートは一例に過ぎず、可能な限り、ステップの入れ替えが可能であり、また複数のステップは同時に実行可能であり、また場合によっては幾つかのステップを省略しても良い。
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
1…半導体システム、2…ホスト機器、3…半導体装置、4−1〜4−5…電子デバイス、5−1〜5−3、30…入力信号ピン、6−1〜6−3、31…出力信号ピン、7−1〜7−3、33…パケットデコーダ、8−1〜8−3、34…演算モジュール、9−1〜9−5…レジスタ、10−1〜10−3…パケット更新回路、11…パケット、11−1〜11−5…フィールド、12、12−1、12−2…ハブ、20…メモリシステム、21…コントローラ、22…カードスロット、23…CPU、24…システムメモリ、25−1〜25−5…コントローラ、26−1〜26−5…デバイス部、30…パケット生成部、32…入出力ピン、35…メモリ

Claims (5)

  1. 受信したパケットのコマンドを解析して前記パケットによって指定される処理を決定するデコーダと、前記パケット内の情報に応じて固有のデバイス番号を生成する生成回路と、生成された前記固有のデバイス番号を保持するレジスタと、前記パケット内の情報を更新して出力する更新回路を具備するデバイスを備え、
    ホストから発行された前記パケットがひとつ、または複数の前記デバイスを経由してホストに戻るブロードキャストパケットにおいて、前記パケットが固有デバイス番号を決定するコマンドパケットである場合、前記コマンドパケットは、前記デバイス番号の初期値と最終値とを示すパラメータを含み、
    前記デバイスは、
    前記固有デバイス番号を決定する前記コマンドパケットを前記ホストから最初に受け取ったと判断した場合、受信した前記コマンドパケットの前記初期値に応じてデバイス番号を決定して、前記決定したデバイス番号を前記レジスタに設定し、前記コマンドパケット内の前記初期値及び最終値を前記決定したデバイス番号に更新して、該コマンドパケットを次のデバイスまたは前記ホストへ送信し、
    前記固有デバイス番号を決定する前記コマンドパケットを前記ホストから最初に受け取らなかったと判断した場合、受信した前記コマンドパケット内の前記初期値をインクリメントすることにより、既にデバイス番号が決定された他のデバイスと異なるデバイス番号を算出して、これを前記レジスタに設定し、前記コマンドパケット内の前記初期値を更新することなく、前記最終値を、前記算出した前記デバイス番号に更新して、該コマンドパケットを次のデバイスまたは前記ホストへ送信し、
    前記コマンドパケットを前記ホストから最初に受け取った前記デバイスのデバイス番号は、第1動作モードでは前記デバイスが任意に決定し、第2動作モードでは前記ホストによって決定され、
    前記初期値及び最終値の更新データは、前記コマンドパケット内において、更新前のデータと同一フィールドに記録され
    ことを特徴とする半導体装置。
  2. 受信したパケットのコマンドを解析して前記パケットによって指定される処理を決定するデコーダと、前記パケット内の情報に応じて固有のデバイス番号を生成する生成回路と、生成された前記固有のデバイス番号を保持するレジスタと、前記パケット内の情報を更新して出力する更新回路を具備するデバイスを備え、
    ホストから発行された前記パケットがひとつ、または複数の前記デバイスを経由してホストに戻るブロードキャストパケットにおいて、前記パケットが固有デバイス番号を決定するコマンドパケットである場合、前記コマンドパケットは、前記デバイス番号の初期値とデバイス数を示すパラメータを含み、
    前記デバイスは、
    前記固有デバイス番号を決定する前記コマンドパケットを前記ホストから最初に受け取ったと判断した場合、受信した前記コマンドパケットの前記初期値に応じてデバイス番号を決定して、前記決定したデバイス番号を前記レジスタに設定し、前記コマンドパケット内の前記初期値を前記決定した前記デバイス番号に更新すると共に、前記デバイス数を、1に更新して、該コマンドパケットを次のデバイスまたは前記ホストへ送信し、
    前記固有デバイス番号を決定する前記コマンドパケットを前記ホストから最初に受け取らなかったと判断した場合、受信した前記コマンドパケット内の前記初期値をインクリメントすることにより、既にデバイス番号が決定された他のデバイスと異なるデバイス番号を算出して、これを前記レジスタに設定し、前記コマンドパケット内の前記初期値を更新することなく、前記デバイス数を、インクリメントした値に更新して、該コマンドパケットを次のデバイスまたは前記ホストへ送信し、
    前記コマンドパケットを前記ホストから最初に受け取った前記デバイスのデバイス番号は、第1動作モードでは前記デバイスが任意に決定し、第2動作モードでは前記ホストによって決定され、
    前記初期値及びデバイス数の更新データは、前記コマンドパケット内において、更新前のデータと同一フィールドに記録され
    ことを特徴とする半導体装置。
  3. 前記コマンドパケットを前記ホストから最初に受け取らなかった前記デバイスのデバイス番号は、受信した前記コマンドパケット内の前記初期値と前記デバイス数とを加算した値である
    ことを特徴とする請求項記載の半導体装置。
  4. 複数のデバイスが接続され得るホスト機器であって、前記ホスト機器は、
    デバイス番号の初期値及び最終値を所定の値に設定した第1パケットを第1デバイスに発行すると共に、全ての前記デバイスを介して、最終デバイスから、前記初期値及び前記最終値の修正された最終パケットを受信し、
    前記最終パケット内の修正された前記初期値及び前記最終値から、接続されている前記デバイスの数及び前記デバイスに割り付けられたデバイス番号を認識し、
    第1動作モードでは、前記第1デバイスのデバイス番号は該第1デバイスにより任意に決定され、第2動作モードでは前記ホスト機器によって決定され、
    前記初期値及び最終値の修正データは、前記第1パケット内において、修正前のデータと同一フィールドに記録され
    ことを特徴とするホスト機器。
  5. 複数のデバイスが接続され得るホスト機器であって、前記ホスト機器は、
    デバイス番号の初期値及びデバイス数を所定の値に設定した第1パケットを第1デバイスに発行すると共に、全ての前記デバイスを介して、最終デバイスから、前記初期値及び前記デバイス数の修正された最終パケットを受信し、
    前記ホスト機器は、前記最終パケット内の修正された前記初期値を前記第1デバイスの前記デバイスIDとして認識し、
    前記最終パケット内の修正された前記初期値と前記デバイス数とに基づいて、前記複数デバイスの前記デバイス番号を算出し、
    第1動作モードでは、前記第1デバイスのデバイス番号は該第1デバイスにより任意に決定され、第2動作モードでは前記ホスト機器によって決定され、
    前記初期値及びデバイス数の修正データは、前記第1パケット内において、修正前のデータと同一フィールドに記録され
    ことを特徴とするホスト機器。
JP2009221468A 2009-09-24 2009-09-25 半導体装置及びホスト機器 Active JP5150591B2 (ja)

Priority Applications (12)

Application Number Priority Date Filing Date Title
JP2009221468A JP5150591B2 (ja) 2009-09-24 2009-09-25 半導体装置及びホスト機器
TW104100358A TWI542996B (zh) 2009-09-24 2010-09-24 Semiconductor devices and host machines
KR1020127006000A KR101343646B1 (ko) 2009-09-24 2010-09-24 반도체 장치 및 호스트 기기
EP10818840.0A EP2482195B1 (en) 2009-09-24 2010-09-24 Semiconductor device and host apparatus
CN201611121220.5A CN107092572B (zh) 2009-09-24 2010-09-24 半导体装置及主机设备
PCT/JP2010/066513 WO2011037168A1 (ja) 2009-09-24 2010-09-24 半導体装置及びホスト機器
CN2010800397266A CN102483723A (zh) 2009-09-24 2010-09-24 半导体装置及主机设备
TW99132498A TWI474168B (zh) 2009-09-24 2010-09-24 Semiconductor device and host
US13/424,482 US9146866B2 (en) 2009-09-24 2012-03-20 Semiconductor device
US15/466,117 USRE47290E1 (en) 2009-09-24 2017-03-22 Semiconductor device
US16/234,925 USRE48514E1 (en) 2009-09-24 2018-12-28 Semiconductor device
US17/199,945 USRE49424E1 (en) 2009-09-24 2021-03-12 Semiconductor device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009219691 2009-09-24
JP2009219691 2009-09-24
JP2009221468A JP5150591B2 (ja) 2009-09-24 2009-09-25 半導体装置及びホスト機器

Publications (3)

Publication Number Publication Date
JP2011090349A JP2011090349A (ja) 2011-05-06
JP2011090349A5 JP2011090349A5 (ja) 2012-03-15
JP5150591B2 true JP5150591B2 (ja) 2013-02-20

Family

ID=43795913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009221468A Active JP5150591B2 (ja) 2009-09-24 2009-09-25 半導体装置及びホスト機器

Country Status (7)

Country Link
US (4) US9146866B2 (ja)
EP (1) EP2482195B1 (ja)
JP (1) JP5150591B2 (ja)
KR (1) KR101343646B1 (ja)
CN (2) CN107092572B (ja)
TW (2) TWI474168B (ja)
WO (1) WO2011037168A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8816357B2 (en) 2005-02-28 2014-08-26 Seiko I Infotech Inc. Optical printer head and image forming apparatus

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5150591B2 (ja) * 2009-09-24 2013-02-20 株式会社東芝 半導体装置及びホスト機器
TWI510904B (zh) 2009-12-17 2015-12-01 Toshiba Kk 主機控制器及半導體裝置
KR101996822B1 (ko) 2013-03-15 2019-07-08 삼성전자 주식회사 링 토폴로지 저장 네트워크의 멀티캐스트 명령 패킷 처리 방법 및 시스템
JP6087742B2 (ja) * 2013-06-14 2017-03-01 キヤノン株式会社 半導体装置、および、チップ識別子の設定方法
JP6067541B2 (ja) * 2013-11-08 2017-01-25 株式会社東芝 メモリシステムおよびメモリシステムのアセンブリ方法
JP6439343B2 (ja) * 2014-09-22 2018-12-19 株式会社バッファロー 通信装置、情報処理装置、通信システム、通信装置におけるアクセス方法及びプログラム
US10061531B2 (en) 2015-01-29 2018-08-28 Knuedge Incorporated Uniform system wide addressing for a computing system
US9552327B2 (en) * 2015-01-29 2017-01-24 Knuedge Incorporated Memory controller for a network on a chip device
US20170116154A1 (en) * 2015-10-23 2017-04-27 The Intellisis Corporation Register communication in a network-on-a-chip architecture
US20170141878A1 (en) * 2015-11-16 2017-05-18 Western Digital Technologies, Inc. Systems and methods for sending data from non-volatile solid state devices before error correction
US9959066B2 (en) * 2016-02-12 2018-05-01 Knuedge Incorporated Memory-attached computing resource in network on a chip architecture to perform calculations on data stored on memory external to the chip
US10027583B2 (en) 2016-03-22 2018-07-17 Knuedge Incorporated Chained packet sequences in a network on a chip architecture
US10346049B2 (en) 2016-04-29 2019-07-09 Friday Harbor Llc Distributed contiguous reads in a network on a chip architecture
JP6927766B2 (ja) * 2017-06-29 2021-09-01 矢崎総業株式会社 情報設定装置
TWI692689B (zh) 2017-12-28 2020-05-01 慧榮科技股份有限公司 記憶卡控制器、記憶卡、使用於記憶卡控制器的方法以及連接至記憶卡的電子裝置
JP7423367B2 (ja) 2020-03-23 2024-01-29 キオクシア株式会社 通信システム、デバイス、及び通信方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5526492B2 (ja) * 1974-12-23 1980-07-14
JPS5830254A (ja) * 1981-08-17 1983-02-22 Fujitsu Ltd ノ−ドアドレス設定方式
JPH0258944A (ja) * 1988-08-24 1990-02-28 Fujitsu Ltd 装置番号割り付け方法
JPH03251945A (ja) * 1990-03-01 1991-11-11 Fujitsu Ltd インタフェースレジスタアドレス自動設定方式
US5404460A (en) * 1994-01-28 1995-04-04 Vlsi Technology, Inc. Method for configuring multiple identical serial I/O devices to unique addresses through a serial bus
JP3209634B2 (ja) * 1994-03-28 2001-09-17 株式会社日立製作所 計算機システム
JP3359496B2 (ja) * 1996-06-14 2002-12-24 沖電気工業株式会社 伝送装置識別番号付与方法、伝送装置及び伝送システム管理装置
SG74611A1 (en) * 1997-02-14 2000-08-22 Canon Kk Data communication apparatus and method
JPH11177495A (ja) * 1997-12-15 1999-07-02 Fujitsu Ltd 監視制御方式
US6230274B1 (en) * 1998-11-03 2001-05-08 Intel Corporation Method and apparatus for restoring a memory device channel when exiting a low power state
US7788553B2 (en) * 2000-01-06 2010-08-31 Super Talent Electronics, Inc. Mass production testing of USB flash cards with various flash memory cells
US6820148B1 (en) 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
JP4204226B2 (ja) * 2001-12-28 2009-01-07 日本テキサス・インスツルメンツ株式会社 デバイス識別方法、データ伝送方法、デバイス識別子付与装置、並びにデバイス
JP3916953B2 (ja) * 2001-12-28 2007-05-23 日本テキサス・インスツルメンツ株式会社 可変時分割多重伝送システム
KR100440969B1 (ko) * 2002-05-23 2004-07-21 삼성전자주식회사 네트워킹 방법 및 그 장치
TWI261788B (en) * 2002-08-09 2006-09-11 Carry Computer Eng Co Ltd Small-form-factor memory card interface (II) having multi-functional communication interface, formatter and format converter
DE10261174B3 (de) * 2002-12-20 2004-06-17 Daimlerchrysler Ag Automatische Adressierung auf Bussystemen
CN1308855C (zh) * 2004-03-18 2007-04-04 联想(北京)有限公司 在嵌入式系统中分配硬件地址的装置和方法
JP2005277978A (ja) * 2004-03-26 2005-10-06 Matsushita Electric Ind Co Ltd 識別番号自動設定方法及び識別番号自動設定装置
US7492763B1 (en) * 2004-07-16 2009-02-17 Applied Micro Circuits Corporation User-specified key creation from attributes independent of encapsulation type
US20070076502A1 (en) * 2005-09-30 2007-04-05 Pyeon Hong B Daisy chain cascading devices
US8364861B2 (en) * 2006-03-28 2013-01-29 Mosaid Technologies Incorporated Asynchronous ID generation
KR100843707B1 (ko) * 2006-05-11 2008-07-04 삼성전자주식회사 데이터 입/출력포트를 갖는 반도체 메모리 장치, 이를이용한 메모리 모듈 및 메모리 시스템
KR101392609B1 (ko) * 2006-05-23 2014-05-08 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드 직렬로 상호접속된 장치에 대해 장치 식별자를 확립하는 기기 및 방법
US8700818B2 (en) * 2006-09-29 2014-04-15 Mosaid Technologies Incorporated Packet based ID generation for serially interconnected devices
US7925854B2 (en) * 2006-12-06 2011-04-12 Mosaid Technologies Incorporated System and method of operating memory devices of mixed type
US8984249B2 (en) * 2006-12-20 2015-03-17 Novachips Canada Inc. ID generation apparatus and method for serially interconnected devices
US8010710B2 (en) * 2007-02-13 2011-08-30 Mosaid Technologies Incorporated Apparatus and method for identifying device type of serially interconnected devices
JP2009026296A (ja) 2007-06-21 2009-02-05 Toshiba Corp 電子デバイス、メモリデバイス、ホスト装置
WO2009027802A1 (en) * 2007-08-28 2009-03-05 Nokia Corporation Method for bus testing and addressing in mass memory components
JP4692599B2 (ja) 2008-09-19 2011-06-01 日本テキサス・インスツルメンツ株式会社 可変時分割多重伝送システム
US20100169535A1 (en) * 2008-12-30 2010-07-01 Celio Technology Corporation Data stream management
US8392614B2 (en) * 2009-07-27 2013-03-05 Sandisk Il Ltd. Device identifier selection
JP5150591B2 (ja) * 2009-09-24 2013-02-20 株式会社東芝 半導体装置及びホスト機器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8816357B2 (en) 2005-02-28 2014-08-26 Seiko I Infotech Inc. Optical printer head and image forming apparatus

Also Published As

Publication number Publication date
US9146866B2 (en) 2015-09-29
TWI542996B (zh) 2016-07-21
CN107092572A (zh) 2017-08-25
CN102483723A (zh) 2012-05-30
TW201124841A (en) 2011-07-16
US20120177050A1 (en) 2012-07-12
JP2011090349A (ja) 2011-05-06
USRE47290E1 (en) 2019-03-12
KR20120054051A (ko) 2012-05-29
USRE48514E1 (en) 2021-04-13
WO2011037168A1 (ja) 2011-03-31
TWI474168B (zh) 2015-02-21
EP2482195B1 (en) 2017-10-25
EP2482195A1 (en) 2012-08-01
CN107092572B (zh) 2020-12-29
EP2482195A4 (en) 2014-04-23
KR101343646B1 (ko) 2013-12-20
TW201514698A (zh) 2015-04-16
USRE49424E1 (en) 2023-02-21

Similar Documents

Publication Publication Date Title
JP5150591B2 (ja) 半導体装置及びホスト機器
TWI582572B (zh) 半導體系統、半導體裝置及電子裝置初始化方法
US8819377B2 (en) System and method of operating memory devices of mixed type
JP5695724B2 (ja) 混合されたタイプのメモリデバイスを動作させるシステムおよび方法
CN104158709B (zh) 一种光模块识别的方法及端口扩展设备
JP2001084172A (ja) 半導体記憶装置
US20090175100A1 (en) Method and apparatus for storage device with a logic unit and method for manufacturing same
JP2002007319A (ja) データ転送方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120511

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121203

R151 Written notification of patent or utility model registration

Ref document number: 5150591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

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