KR101343646B1 - 반도체 장치 및 호스트 기기 - Google Patents

반도체 장치 및 호스트 기기 Download PDF

Info

Publication number
KR101343646B1
KR101343646B1 KR1020127006000A KR20127006000A KR101343646B1 KR 101343646 B1 KR101343646 B1 KR 101343646B1 KR 1020127006000 A KR1020127006000 A KR 1020127006000A KR 20127006000 A KR20127006000 A KR 20127006000A KR 101343646 B1 KR101343646 B1 KR 101343646B1
Authority
KR
South Korea
Prior art keywords
packet
host
devices
initial value
value
Prior art date
Application number
KR1020127006000A
Other languages
English (en)
Other versions
KR20120054051A (ko
Inventor
아끼히사 후지모또
Original Assignee
가부시끼가이샤 도시바
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 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20120054051A publication Critical patent/KR20120054051A/ko
Application granted granted Critical
Publication of KR101343646B1 publication Critical patent/KR101343646B1/ko

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
    • 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
    • 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
    • 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)

Abstract

본 발명의 반도체 장치(3)는, 수신한 패킷의 커맨드를 해석해서 패킷에 의해 지정되는 처리를 결정하는 디코더(7)와, 패킷 내의 정보에 따라 고유한 디바이스 번호를 생성하는 생성 회로(8)와, 생성된 고유한 디바이스 번호를 유지하는 레지스터(9)와, 패킷 내의 정보를 갱신해서 출력하는 갱신 회로(10)를 각각 구비하는 제1 디바이스(4-1) 및 제2 디바이스(4-2)를 구비한다. 제2 디바이스(4-2)는, 제1 디바이스(4-1)에 있어서 정보가 갱신된 패킷을 수신함과 함께, 제2 디바이스(4-2)의 생성 회로(8-1)는, 제1 디바이스(4-1)와 상이한 디바이스 번호를 생성한다.

Description

반도체 장치 및 호스트 기기{SEMICONDUCTOR DEVICE AND HOST APPARATUS}
본 발명의 실시 형태는 반도체 장치 및 호스트 기기에 관한 것이다.
NAND형 플래시 메모리를 사용한 메모리 시스템으로서, SDTM 카드가 알려져 있다. 또한, SD 카드와 호스트 기기 사이의 인터페이스로서는, SD 인터페이스가 알려져 있다.
미국 특허 제6,820,148호 명세서
본 발명은 구성의 복잡화를 억제하면서, 디바이스마다 고유 ID를 부여할 수 있는 반도체 장치 및 호스트 기기를 제공한다.
실시 형태에 따른 반도체 장치는, 수신한 패킷의 커맨드를 해석해서 상기 패킷에 의해 지정되는 처리를 결정하는 디코더와, 상기 패킷 내의 정보에 따라 고유 디바이스 번호를 생성하는 생성 회로와, 생성된 상기 고유 디바이스 번호를 유지하는 레지스터와, 상기 패킷 내의 정보를 갱신해서 출력하는 갱신 회로를 각각 구비하는 제1 디바이스 및 제2 디바이스를 구비하고, 상기 제2 디바이스는, 상기 제1 디바이스에 있어서 상기 정보가 갱신된 상기 패킷을 수신함과 함께, 상기 제2 디바이스의 상기 생성 회로는, 상기 제1 디바이스와 상이한 상기 디바이스 번호를 생성한다.
도 1은 제1 실시 형태에 따른 반도체 시스템의 블록도이다.
도 2는 제1 실시 형태에 따른 프레임 포맷의 개념도이다.
도 3은 제1 실시 형태에 따른 호스트 기기의 동작을 도시하는 흐름도이다.
도 4는 제1 실시 형태에 따른 디바이스의 동작을 도시하는 흐름도이다.
도 5는 제1 실시 형태에 따른 반도체 시스템의 블록도이다.
도 6은 제2 실시 형태에 따른 메모리 시스템의 블록도이다.
도 7은 제2 실시 형태에 따른 반도체 시스템의 블록도이다.
도 8은 제2 실시 형태에 따른 반도체 시스템의 블록도이다.
도 9는 제2 실시 형태에 따른 반도체 시스템의 블록도이다.
도 10은 제3 실시 형태에 따른 메모리 시스템의 블록도이다.
도 11은 제1 내지 제3 실시 형태에 따른 호스트 기기의 블록도이다.
도 12는 제1 내지 제3 실시 형태의 변형예에 관한 프레임 포맷의 개념도이다.
도 13은 제1 내지 제3 실시 형태의 변형예에 관한 디바이스의 동작을 나타내는 흐름도이다.
도 14는 제1 내지 제3 실시 형태의 변형예에 관한 반도체 시스템의 블록도이다.
도 15는 제1 내지 제3 실시 형태의 변형예에 관한 프레임 포맷의 개념도이다.
SD 인터페이스에서는, 디바이스를 선택하는 어드레스(relative card address: RCA)에 의해, 복수의 디바이스를 1개의 버스에 접속할 수 있다. 그러나, 이 방법으로는 1개의 호스트 기기로 보다 많은 디바이스를 제어하고자 하면, 호스트 기기의 구성과 설계가 복잡화되며, 또한, 디바이스의 어드레스가 중복될 우려가 있다는 문제가 있었다.
이하, 실시 형태의 몇가지를 도면을 참조하여 설명한다. 이 설명 시에, 전도에 걸쳐, 공통되는 부분에는 공통되는 참조 부호를 붙인다. 단, 도면은 모식적인 것이며, 도면 상호 간에 있어서도 서로의 치수 관계나 비율이 상이한 부분이 포함되어 있는 것은 당연하다.
또한, 이하에 나타내는 각 실시 형태는, 본 기술적 사상을 구체화하기 위한 장치나 방법을 예시하는 것이며, 이 기술적 사상은, 구성 부품의 재질, 형상, 구조, 배치 등을 하기의 것으로 특정하는 것이 아니다. 이 기술적 사상은 특허 청구 범위에 있어서, 다양한 변경을 가할 수 있다.
또한, 각 실시 형태에 있어서의 각 기능 블록은, 하드웨어, 컴퓨터 소프트웨어 중 어느 하나, 또는 양자의 조합으로서 실현할 수 있다. 이로 인해, 각 블록은, 이들 중 어느 하나인 점이 명확해지도록, 대체로 그것들의 기능의 관점에서 이하에 설명된다. 이러한 기능이, 하드웨어로서 실행될지 또는 소프트웨어로서 실행될지는, 구체적인 실시 형태 또는 시스템 전체에 부과되는 설계 제약에 의존한다. 당업자는, 구체적인 실시 형태마다, 여러 가지 방법으로 이러한 기능들을 실현할 수 있지만, 그러한 실현을 결정하는 것은 본 발명의 범주에 포함되는 것이다.
[제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, "예"), 연산 모듈(8)은, 제로 이외의 임의의 번호를 자신의 디바이스 ID로 결정하고, 또한, 필드(11-3)의 값(개시 디바이스 ID)을, 결정한 디바이스 ID로 갱신하도록, 패킷 갱신 회로(10)에 명령한다. 이에 의해 패킷 갱신 회로(10)는 필드(11-3)를 갱신한다. 또한, 제로 이외의 번호를 사용하는 이유는, 제로는 호스트 기기(2)의 디바이스 ID로서 할당되고 있기 때문이다.
한편, 필드(11-3)의 값이 호스트 기기(2)에 의해 설정된 소정의 값이 아니면(스텝 S22, "아니오"), 필드(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, "예"), 임의의 번호를 자신의 디바이스 ID로 결정한다. 도 5의 예에서는 "5"이다. 그리고 필드(11-3)를 "0"에서 "5"로 갱신하고(도 4의 스텝 S23), 필드(11-4)의 값을 인크리먼트해서 "0"에서 "1"로 갱신하여(도 4의 스텝 S27), 이것을 출력한다.
전자 디바이스(4-1)로부터 출력된 패킷은, 이어서 전자 디바이스(4-2)에서 수신된다. 전자 디바이스(4-2)에서는, 필드(11-3)의 값이 "0"이 아니므로(도 4의 스텝 S22, "아니오"), 미리 정해진 연산 방법에 의해, 자신의 디바이스 ID를 산출한다(도 4의 스텝 S25). 즉, 필드(11-3)의 값을 필드(11-4)의 값만 인크리먼트함으로써, 자신의 디바이스 ID를 "5"+"1"="6"으로 결정한다. 그리고 필드(11-3)의 값은 그대로(도 4의 스텝 S24), 필드(11-4)의 값을 인크리먼트해서 "1"에서 "2"로 갱신하고(도 4의 스텝 S27), 이것을 출력한다.
전자 디바이스(4-2)로부터 출력된 패킷은, 이어서 전자 디바이스(4-3)에서 수신된다. 역시 필드(11-3)의 값이 "0"이 아니므로(도 4의 스텝 S22, "아니오"), 전자 디바이스(4-3)는, 미리 정해진 연산 방법에 의해 자신의 디바이스 ID를 산출한다(도 4의 스텝 S25). 즉, 필드(11-3)의 값을 필드(11-4)의 값만 인크리먼트함으로써, 자신의 디바이스 ID를 "5"+"1"+"1"="7"로 결정한다. 그리고 필드(11-3)의 값은 그대로 하고(도 4의 스텝 S24), 필드(11-4)의 값을 인크리먼트해서 "2"에서 "3"으로 갱신하고(도 4의 스텝 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)의 블록도이다. 본 예는, 2단 허브 접속에 관한 것이다.
도시한 바와 같이 반도체 시스템(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)를 구비하고 있다.
CPU(23)는, 메모리 시스템(20)의 동작 전체를 담당하고, 도시하지 않은ROM(read only memory)에 저장되어 있는 프로그램 등을 따라서 동작한다. 시스템 메모리(24)는, CPU(23)가 각종 데이터를 일시적으로 보존해 두기 위해서 사용되고,또한 실행 가능한 프로그램을 실행하기 위해서 사용된다.
호스트 컨트롤러(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)를 통해서 CPU(23)와 통신 가능하게 구성되어 있는 모든 타입의 디바이스를 사용할 수 있고, 예를 들어, 메모리 장치, 무선 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)는, CPU(23)와, 호스트 컨트롤러(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, "예")에, 자신의 디바이스 ID를 임의의 값으로 설정할 경우를 예로 들어 설명하였다. 그러나, 임의의 디바이스 ID의 설정 방법, 바꿔 말하면, 자신이 호스트 기기(2)로부터 최초로 패킷(11)을 수신한 전자 디바이스인지 여부를 판단하는 방법에는, 다양한 방법을 사용할 수 있다.
예를 들어, 최종 디바이스 ID(또는 디바이스 수)가 "0"인지 여부에 의해 판단해도 좋다. 즉, 패킷(11)을 수신한 전자 디바이스(4)는, 도 4의 스텝 S21에 있어서, 최종 디바이스 ID(필드(11-5)) 또는 디바이스 수(필드(11-4))의 값이 제로인지 여부를 판단한다. 전술한 바와 같이, 개시 디바이스 ID의 최초의 값(패킷(11)을 최초로 수신한 전자 디바이스(4-1)가 임의로 설정하는 값)이 "1"이면, 디바이스 수와 최종 디바이스 ID는 동의하다. 최종 디바이스 ID 또는 디바이스 수가 제로이면(스텝 S22, "예"), 전자 디바이스(4)는 자신의 디바이스 ID로서 임의의 값을 세트한다. 제로가 아니면(스텝 S22, NO), 스텝 S24로 진행한다.
즉, 전자 디바이스(4)는, 스스로가 선두 디바이스, 즉, 호스트 기기(2)에 의해 발행된 패킷(11)을 최초로 수신한 전자 디바이스인지 여부의 판단은, 패킷(11) 내의 개시 디바이스 ID(필드(11-3)) 및/또는 최종 디바이스 ID(필드(11-5))의 값을 보고 판단할 수 있다. 예를 들어, 개시 디바이스 ID 또는 최종 디바이스 ID가 "0"이면, 자신이 선두 디바이스라고 판단하고, 스스로의 디바이스 ID를 생성한다. "0"이 아니면, 자신은 선두 디바이스가 아니라고 판단한다.
또한, 스텝 S24에 있어서 개시 디바이스 ID의 최초의 값을 결정하는 방법에 대해서는, 호스트 기기(2)가 번호를 지정하는 방법과, 전자 디바이스(4)가 정하는 방법 2가지를 생각할 수 있다. 우선, 수신한 패킷(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 (8)

  1. 반도체 장치로서,
    수신한 패킷의 커맨드를 해석해서 상기 패킷에 의해 지정되는 처리를 결정하는 디코더와, 상기 패킷 내의 정보에 따라 고유 디바이스 번호를 생성하는 생성 회로와, 생성된 상기 고유 디바이스 번호를 유지하는 레지스터와, 상기 패킷 내의 정보를 갱신해서 출력하는 갱신 회로를 구비하는 디바이스를 구비하고,
    호스트로부터 발행된 상기 패킷이 하나 또는 복수의 상기 디바이스를 경유해서 호스트로 복귀하는 브로드 캐스트 패킷에 있어서, 상기 패킷이 고유 디바이스 번호를 결정하는 커맨드 패킷인 경우, 상기 커맨드 패킷은 상기 디바이스 번호의 초기값과 최종값을 나타내는 파라미터를 포함하고,
    상기 디바이스는,
    상기 고유 디바이스 번호를 결정하는 상기 커맨드 패킷을 상기 호스트로부터 최초로 수취했다고 판단한 경우, 수신한 상기 커맨드 패킷의 상기 초기값에 따라 디바이스 번호를 결정하고, 결정한 상기 디바이스 번호를 상기 레지스터에 설정하고, 상기 커맨드 패킷 내의 상기 초기값 및 최종값을 상기 결정한 디바이스 번호로 갱신하고, 상기 커맨드 패킷을 다음 디바이스 또는 상기 호스트에 송신하고,
    상기 고유 디바이스 번호를 결정하는 상기 커맨드 패킷을 상기 호스트로부터 최초로 수취하지 않았다고 판단한 경우, 수신한 상기 커맨드 패킷 내의 상기 초기값을 인크리먼트(increment)함으로써, 이미 디바이스 번호가 결정된 다른 디바이스와 상이한 디바이스 번호를 산출하고, 이것을 상기 레지스터에 설정하고, 상기 커맨드 패킷 내의 상기 초기값을 갱신하지 않고, 상기 최종값을, 산출한 상기 디바이스 번호로 갱신하여, 상기 커맨드 패킷을 다음 디바이스 또는 상기 호스트에 송신하고,
    상기 커맨드 패킷을 상기 호스트로부터 최초로 수취한 상기 디바이스의 디바이스 번호는, 제1 동작 모드에서는 상기 디바이스가 임의로 결정하고, 제2 동작 모드에서는 상기 호스트에 의해 결정되고,
    상기 초기값 및 최종값의 갱신 데이터는, 상기 커맨드 패킷 내에 있어서, 갱신 전의 데이터와 동일 필드(field)에 기록되는 것을 특징으로 하는 반도체 장치.
  2. 삭제
  3. 반도체 장치로서,
    수신한 패킷의 커맨드를 해석해서 상기 패킷에 의해 지정되는 처리를 결정하는 디코더와, 상기 패킷 내의 정보에 따라 고유 디바이스 번호를 생성하는 생성 회로와, 생성된 상기 고유 디바이스 번호를 유지하는 레지스터와, 상기 패킷 내의 정보를 갱신해서 출력하는 갱신 회로를 구비하는 디바이스를 구비하고,
    호스트로부터 발행된 상기 패킷이 하나 또는 복수의 상기 디바이스를 경유해서 호스트로 복귀하는 브로드 캐스트 패킷에 있어서, 상기 패킷이 고유 디바이스 번호를 결정하는 커맨드 패킷인 경우, 상기 커맨드 패킷은 상기 디바이스 번호의 초기값과 디바이스 수를 나타내는 파라미터를 포함하고,
    상기 디바이스는,
    상기 고유 디바이스 번호를 결정하는 상기 커맨드 패킷을 상기 호스트로부터 최초로 수취했다고 판단한 경우, 수신한 상기 커맨드 패킷의 상기 초기값에 따라 디바이스 번호를 결정하고, 결정한 상기 디바이스 번호를 상기 레지스터에 설정하고, 상기 커맨드 패킷 내의 상기 초기값을 상기 결정한 디바이스 번호로 갱신함과 함께, 상기 디바이스 수를 1로 갱신하고, 상기 커맨드 패킷을 다음 디바이스 또는 상기 호스트에 송신하고,
    상기 고유 디바이스 번호를 결정하는 상기 커맨드 패킷을 상기 호스트로부터 최초로 수취하지 않았다고 판단한 경우, 수신한 상기 커맨드 패킷 내의 상기 초기값을 인크리먼트함으로써, 이미 디바이스 번호가 결정된 다른 디바이스와 상이한 디바이스 번호를 산출하고, 이것을 상기 레지스터에 설정하고, 상기 커맨드 패킷 내의 상기 초기값을 갱신하지 않고, 상기 디바이스 수를 인크리먼트한 값으로 갱신하고, 상기 커맨드 패킷을 다음 디바이스 또는 상기 호스트에 송신하고,
    상기 커맨드 패킷을 상기 호스트로부터 최초로 수취한 상기 디바이스의 디바이스 번호는, 제1 동작 모드에서는 상기 디바이스가 임의로 결정하고, 제2 동작 모드에서는 상기 호스트에 의해 결정되고,
    상기 초기값 및 디바이스 수의 갱신 데이터는, 상기 커맨드 패킷 내에 있어서, 갱신 전의 데이터와 동일 필드에 기록되는 것을 특징으로 하는 반도체 장치.
  4. 제3항에 있어서,
    상기 커맨드 패킷을 상기 호스트로부터 최초로 수취하지 않은 상기 디바이스의 디바이스 번호는, 수신한 상기 커맨드 패킷 내의 상기 초기값과 상기 디바이스 수를 가산한 값인 것을 특징으로 하는 반도체 장치.
  5. 복수의 디바이스가 접속될 수 있는 호스트 기기로서,
    상기 호스트 기기는,
    디바이스 번호의 초기값 및 최종값을 소정의 값으로 설정한 제1 패킷을 제1 디바이스에 발행함과 함께, 모든 상기 디바이스를 통하여 최종 디바이스로부터 상기 초기값 및 상기 최종값의 수정된 최종 패킷을 수신하고,
    상기 최종 패킷 내의 수정된 상기 초기값 및 상기 최종값으로부터, 접속되어 있는 상기 디바이스의 수 및 상기 디바이스에 할당된 디바이스 번호를 인식하고,
    제1 동작 모드에서는, 상기 제1 디바이스의 디바이스 번호는 상기 제1 디바이스에 의해 임의로 결정되고, 제2 동작 모드에서는 상기 호스트 기기에 의해 결정되고,
    상기 초기값 및 최종값의 수정 데이터는, 상기 제1 패킷 내에 있어서, 수정 전의 데이터와 동일 필드에 기록되는 것을 특징으로 하는 호스트 기기.
  6. 복수의 디바이스가 접속될 수 있는 호스트 기기로서,
    상기 호스트 기기는,
    디바이스 번호의 초기값 및 디바이스 수를 소정의 값으로 설정한 제1 패킷을 제1 디바이스에 발행함과 함께, 모든 상기 디바이스를 통하여 최종 디바이스로부터 상기 초기값 및 상기 디바이스 수의 수정된 최종 패킷을 수신하고,
    상기 호스트 기기는 상기 최종 패킷 내의 수정된 상기 초기값을 상기 제1 디바이스의 상기 디바이스 ID로서 인식하고,
    상기 최종 패킷 내의 수정된 상기 초기값과 상기 디바이스 수에 기초하여, 상기 복수의 디바이스의 상기 디바이스 번호를 산출하고,
    제1 동작 모드에서는, 상기 제1 디바이스의 디바이스 번호는 상기 제1 디바이스에 의해 임의로 결정되고, 제2 동작 모드에서는 상기 호스트 기기에 의해 결정되고,
    상기 초기값 및 디바이스 수의 수정 데이터는, 상기 제1 패킷 내에 있어서, 수정 전의 데이터와 동일 필드에 기록되는 것을 특징으로 하는 호스트 기기.
  7. 삭제
  8. 삭제
KR1020127006000A 2009-09-24 2010-09-24 반도체 장치 및 호스트 기기 KR101343646B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2009219691 2009-09-24
JPJP-P-2009-219691 2009-09-24
JPJP-P-2009-221468 2009-09-25
JP2009221468A JP5150591B2 (ja) 2009-09-24 2009-09-25 半導体装置及びホスト機器
PCT/JP2010/066513 WO2011037168A1 (ja) 2009-09-24 2010-09-24 半導体装置及びホスト機器

Publications (2)

Publication Number Publication Date
KR20120054051A KR20120054051A (ko) 2012-05-29
KR101343646B1 true KR101343646B1 (ko) 2013-12-20

Family

ID=43795913

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127006000A KR101343646B1 (ko) 2009-09-24 2010-09-24 반도체 장치 및 호스트 기기

Country Status (7)

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

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4546285B2 (ja) 2005-02-28 2010-09-15 株式会社セイコーアイ・インフォテック 光プリンタヘッドおよび画像形成装置
JP5150591B2 (ja) * 2009-09-24 2013-02-20 株式会社東芝 半導体装置及びホスト機器
KR101476112B1 (ko) 2009-12-17 2014-12-23 가부시끼가이샤 도시바 호스트 컨트롤러 및 반도체 디바이스
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 株式会社バッファロー 通信装置、情報処理装置、通信システム、通信装置におけるアクセス方法及びプログラム
US9552327B2 (en) * 2015-01-29 2017-01-24 Knuedge Incorporated Memory controller for a network on a chip device
US10061531B2 (en) 2015-01-29 2018-08-28 Knuedge Incorporated Uniform system wide addressing for a computing system
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 矢崎総業株式会社 情報設定装置
TWI792073B (zh) 2017-12-28 2023-02-11 慧榮科技股份有限公司 快閃記憶體控制器、安全數位卡、使用於快閃記憶體控制器的方法以及存取安全數位卡的主機
JP7423367B2 (ja) 2020-03-23 2024-01-29 キオクシア株式会社 通信システム、デバイス、及び通信方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003196230A (ja) * 2001-12-28 2003-07-11 Texas Instr Japan Ltd デバイス識別の付与を備えた通信の方法および装置

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5526492B2 (ko) * 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
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 삼성전자주식회사 데이터 입/출력포트를 갖는 반도체 메모리 장치, 이를이용한 메모리 모듈 및 메모리 시스템
KR101354376B1 (ko) * 2006-05-23 2014-01-22 모사이드 테크놀로지스 인코퍼레이티드 직렬로 상호접속된 장치에 대해 장치 식별자를 확립하는 기기 및 방법
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 株式会社東芝 半導体装置及びホスト機器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003196230A (ja) * 2001-12-28 2003-07-11 Texas Instr Japan Ltd デバイス識別の付与を備えた通信の方法および装置

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101343646B1 (ko) 반도체 장치 및 호스트 기기
CN102640075B (zh) 半导体系统、半导体装置以及电子装置初始化方法
US11294660B2 (en) Apparatus and method for configuring or updating programmable logic device
US8386764B2 (en) BIOS architecture
JP2014063523A (ja) 混合されたタイプのメモリデバイスを動作させるシステムおよび方法
CN105474319A (zh) 用于配置混合存储器模块的存储器的i/o的设备及方法
CN113076227A (zh) Mcu验证方法、系统和终端设备
CN106648758A (zh) 一种多核处理器boot启动系统及方法
CN104158709B (zh) 一种光模块识别的方法及端口扩展设备
CN210052151U (zh) 一种双芯片程序更新装置
CN112416053B (zh) 多核架构的同步信号产生电路、芯片和同步方法及装置
CN111026428A (zh) 能同时远程在线更新多个板卡中fpga固件程序的系统及方法
CN114664336B (zh) 堆叠存储器件、存储芯片及其控制方法
CN117033267B (zh) 混合存储主控制器及混合存储器
US7920433B2 (en) Method and apparatus for storage device with a logic unit and method for manufacturing same
TWI612424B (zh) 交換器系統
TWI518522B (zh) 應用於x86系統之訊號讀取之控制與切換模組
CN111371799A (zh) Mctp控制器收发数据的控制方法、装置及设备
JP2002007319A (ja) データ転送方法および装置
JP2013050822A (ja) メモリモジュール検査システム、情報処理装置及び記憶装置
TW201619838A (zh) 應用於x86系統之訊號寫入之控制與切換模組

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 6