KR101375763B1 - 상호접속 시스템 - Google Patents

상호접속 시스템 Download PDF

Info

Publication number
KR101375763B1
KR101375763B1 KR1020137015135A KR20137015135A KR101375763B1 KR 101375763 B1 KR101375763 B1 KR 101375763B1 KR 1020137015135 A KR1020137015135 A KR 1020137015135A KR 20137015135 A KR20137015135 A KR 20137015135A KR 101375763 B1 KR101375763 B1 KR 101375763B1
Authority
KR
South Korea
Prior art keywords
module
data
node
modules
delete delete
Prior art date
Application number
KR1020137015135A
Other languages
English (en)
Other versions
KR20130072270A (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 KR20130072270A publication Critical patent/KR20130072270A/ko
Application granted granted Critical
Publication of KR101375763B1 publication Critical patent/KR101375763B1/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
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)
  • Memory System (AREA)
  • Communication Control (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명에 따라, 데이터가 배열되고 소비전력과 시스템의 데이터 스큐 속성을 제어하도록 동작되는 데이터 메모리 시스템, 컴퓨팅 시스템 또는 통신 시스템일 수 있는 네트워크내 소자들을 배열하기 위한 상호접속 시스템, 장치 및 방법이 개시되어 있다. 설정가능한 스위칭 소자는 노드에서 상호접속을 형성하는데 사용될 수 있고, 제어신호와 다른 정보가 상기 설정가능한 스위칭 소자의 다른 태양의 전원 상태를 관리하는데 사용될 수 있다. 네트워크의 노드들 간에 전송된 데이터의 시간지연 스큐는 네트워크의 하나 이상의 노드들에서 데이터의 논리적 및 물리적 할당을 교환함으로써 변경될 수 있다. 트레이스 라우팅의 복잡도를 줄이는 상호접속 마더보드를 배치하는 방법이 개시되어 있다.

Description

상호접속 시스템{Interconnection System}
본 출원은 2005년 4월 21일자로 출원된 미국 가출원번호 60/674,189와 2005년 7월 11일자로 출원된 미국 가출원번호 60/698,626의 우선권을 주장하며, 각 출원은 전체가 본 명세서에 참조로 합체되어 있다.
일반적으로, 컴퓨터와 통신 제품의 진화는 구성부품의 비중이 높아지고 이러한 구성부품의 비용은 시간에 따라 감소하는 "무어의 법칙(Moore's Law)"과 같은 원칙에 의해 지배되어 왔다. 이는 또한 전송속도와 계산속도의 증가에 의해 성취되어 왔다. 이러한 경향은 종종 소비전력 비중을 높였고 열을 분산시키거나 고온환경에서 작동하기 위한 새로운 방안을 필요로 했다. 고속회로에서, 신호전파지연과 서계와 제조 허용오차 모두가 실제로 달성된 구현가능한 속도에 한계를 드러낼 수 있다.
현대의 메모리 시스템구조는 비용, 성능 및 예컨대 시스템의 총 메모리 용량을 업그레이드하는 능력 간에 트레이드-오프(trade-off)를 나타낼 수 있다. 메모리 용량은 커넥터/소켓 인터페이스를 갖는 메모리 모듈 또는 카드를 통해 일반적으로 업그레이드된다. 종종 이들 메모리 모듈은 시스템 자원을 효율적으로 활용하기 위해 후면에 배치된 버스 또는 상호접속 와이어링에 연결된다. 업그레이드 능력 이외에, 이러한 많은 현대 메모리 시스템은 또한 그래픽과 같은 대역폭 집중 애플리케이션을 위해 고효율을 필요로 한다.
설계에 고려될 수 있는 시스템 자원들로는 예컨대 집적회로 다이영역, 패키지 핀, 신호라인 트레이스, 커넥터, 후면 보드영역 및 전원과 응답속도를 포함한다.
한가지 일반적인 메모리 모듈의 타입은 듀얼 인-라인 메모리 모듈(Dual In-Line-Memory Module, DIMM)이다. DIMM은 하나의 긴 에지를 따라 전기 접촉핀이 양측에 배열된 직사각형의 로우-프로파일 회로기판이다. 접촉핀은 DIMM이 DIMM 메모리 소켓에 삽입될 때 메인보드의 메모리 버스에 전기 연결을 형성한다.
메모리 시스템은 모듈의 사용을 통해 업그레이드 경로를 제공한다. 각 모듈이 제거되고 더 빠르거나 더 큰 커패시터를 포함하는 메모리 모듈로 대체되게 하거나 단지 고장난 메모리 모듈의 교체를 위해 소켓과 커넥터 인터페이스가 사용될 수 있다. 메모리 시스템은 차지되지 않은 소켓들로 또는 모듈의 전체 용량 보다 적게(즉, 빈 소켓/커넥터) 구성될 수 있고 나중에 메모리 확장모듈을 사용하여 용량 증가를 제공할 수 있다.
컴퓨팅 및 통신 시스템에 사용된 메모리로는 모든 타입의 램(Random Access Memory, RAM)(예컨대, S-RAM, D-RAM), 프로그램 가능 읽기용 기억 장치 (Programmable Read-Only Memory, PROM), 소거 및 프로그램 가능 읽기용 기억 장치 (Erasable and Programmable Read Only Memory, EPROM), 플래쉬 메모리, 엠램(Magnetic Random Access Memory, MRAM), 강자성 램(FRAM 또는 FeRAM) 뿐만 아니라 엔램(NRAM)(Nanotube-based/nonvolatile RAM) 및 상변화 메모리(Phase-change memory, PRAM)를 포함하는 모든 타입의 자기 메모리, 및 자기 디스크 저장매체를 포함하나 이에 국한되지 않는다. 장래에 사용하기에 적합할 수 있는 다른 메모리들은 양자장치 등을 포함한다.
마이크로프로세서 동작 주파수와 보조를 맞추기 위해 고대역을 제공하는 한편 융통성 있고 비용효과적인 업그레이드 능력을 제공하는 메모리 시스템 및 컴퓨팅 시스템 구조 또는 상호접속 토폴로지가 요구된다. 대안으로, 낮은 소비전력, 짧은 메모리 대기시간 및 동일하거나 유사한 동작 특성을 위한 유사한 특성들이 또한 요구된다.
현재, 메모리 시스템의 크기와 성능은 소비전력, 상기 전력소비 및 장치 밀도와 관련된 냉각 능력, 예컨대 데이터 스큐(data skew)로 인한 응답시간, 메모리 소자를 상호접속하는데 필요한 회로기판의 복잡도, 및 이들 고려사항들에 대한 경제적 비용에 의해 제한될 수 있다.
복수의 노드를 구비하고 각 노드는 입력링크 또는 출력링크 중 적어도 하나를 갖는 포트를 포함하는 컴퓨팅 또는 통신 시스템의 구성부품들과 함께 사용하기 위한 상호접속 시스템이 개시되어 있다. 각 링크에는 레인(lane)("라인(line)")이 있다. 제 1 노드의 제 1 레인은 제어 데이터를 전송하고, 제 2 노드는 제 2 노드의 제 1 레인에 수신된 제어 신호가 제 2 노드의 제 2 레인의 장래 상태변화를 제어하도록 구성될 수 있다. 제 1 포트의 출력 레인의 상태는 제어신호에 의해 결정된 장래시간에서 변경될 수 있다. 장래시간은 정해진 시간, 상호접속 시스템에서 노드의 위치에 따른 시간, 또는 제어신호에 포함된 시간값을 가질 수 있다.
또 다른 태양으로, 복수의 노드를 구비하고 각 노드는 입력링크 또는 출력링크 중 적어도 하나를 갖는 포트를 포함하는 상호접속 시스템이 개시되어 있다. 상호접속 시스템은 복수의 커넥터를 구비하고, 상기 복수의 커넥터 각각은 복수의 메모리 모듈 중 하나와 인터페이싱하는 마더보드(motherboard)를 더 포함한다. 메모리 모듈은 복수의 노드 중 적어도 하나와 통신할 수 있다. 각각의 신호 레인은 신호 수신기 또는 신호 송신기 중 적어도 하나를 구비한다. 제 1 노드의 제 1 레인이 제 1 신호를 전송하는 경우, 제 2 노드는 제 2 노드의 제 1 레인에 수신된 제 1 신호가 제 2 노드의 제 2 레인의 장래시간 전력상태를 제어하도록 구성된다.
각 노드는 제어 데이터가 노드에 의해 수신된 데이터의 목적지를 제어하도록 구성될 수 있다. 데이터의 목적지는 로컬 투 더 노드(local-to-the-node) 또는 포트 중 하나에서 선택될 수 있다.
또 다른 태양으로, 상호접속 시스템은 복수의 노드를 구비하고 각 노드는 입력링크 또는 출력링크 중 적어도 하나를 갖는 포트를 구비하며, 각 링크는 복수의 레인을 더 구비하고 상기 노드는 제어신호가 상기 복수의 레인들 중 선택된 레인상에 수신될 수 있도록 구성될 수 있다. 제어 데이터와 신호 데이터는 동일하거나 다른 레인들상에 수신될 수 있다. 신호 데이터는 아날로그 데이터 또는 디지털 데이터일 수 있다. 디지털 데이터는 워드로서 편성될 수 있다. 워드는 특별하게 진술한 경우를 제외하고는 워드내에 있는 비트의 개수를 제한하지 않거나, 워드가 직렬로 또는 병렬로 전송되는 지 간에 본 명세서에서 일반적 의미로 사용된다. 따라서, 워드는 예컨대 "니블(nibble)", "바이트(byte)", 전체 워드, 이중워드, 패리티가 있는 워드와 없는 워드 중 어느 하나일 수 있고, 비트의 비표준 개수를 가질 수 있다.
또 다른 태양으로, 상호접속 시스템은 복수의 노드를 구비하고, 각 노드는 입력링크 또는 출력링크 중 적어도 하나를 갖는 포트를 구비하며, 각 링크는 제 1 신호레인에 의해 수신된 신호를 기초로 제 2 레인의 장래 상태를 제어하기 위한 제 1 및 제 2 레인 수단을 더 구비한다. 전원 온, 전원 오프 또는 대기 중 하나로부터 선택된 상태들 사이에 상태변화가 발생할 수 있다. 전원 온 상태는 제어신호 또는 데이터 신호의 송신 또는 수신 중 적어도 하나를 허용할 수 있고, 대기 상태는 전원 온 상태보다 소비전력이 더 낮으며, 전원 오프 상태는 대기상태에 대해 더 낮은 소비전력 상태에 있다.
또 다른 태양으로, 상호접속 시스템은 복수의 신호 레인을 구비하고 각 레인은 데이터 워드의 비트를 포함하는 데이터 신호의 송신 또는 수신 중 적어도 하나를 수행할 수 있다. 데이터 워드는 제 1 비트와 제 2 비트를 가질 수 있으며 각각의 제 1 비트와 제 2 비트는 워드가 신호 레인들의 원단에서 수신될 때 상기 제 1 비트와 상기 제 2 비트 사이의 차등시간지연이 변경되도록 2개의 신호라인들 사이에서 논리적으로 교환될 수 있다. 비트의 교환은 신호라인의 근단 또는 원단 중 하나에서 수행될 수 있다. 연이어, 비트는 워드가 수신 노드에서 워드내에 있는 비트에 대한 데이터의 정확한 논리 할당을 갖도록 재배열될 수 있다. 대안으로, 비트는 상기 비트들이 수신노드에서 배열되도록 전송노드에서 배열될 수 있다.
또 다른 태양으로, 상호접속 시스템은 복수의 노드를 갖고, 상기 노드는 레인을 갖는 링크에 의해 연결된 네트워크를 형성한다. 제 1 노드는 데이터의 소스일 수 있고, 제 2 노드는 데이터의 목적지일 수 있으며, 상기 제 1 노드와 상기 제 2 노드 중 적어도 하나는 상기 제 2 노드에서 데이터의 도착시간에서의 차이가 변하도록 레인들에 대한 논리 할당을 교환하도록 구성될 수 있다.
데이터는 적어도 2개의 비트를 갖는 워드일 수 있고, 제 1 비트는 제 1 레인에 할당되고 제 2 비트는 제 2 레인에 할당된다. 모듈 컨트롤러는 상기 비트들이 제 2 노드에서 소정의 순서대로 수신되도록 입력시에 레인에 대한 워드를 구성하는 비트들의 논리 할당을 상기 제 1 노드에 할 수 있다. 대안으로, 논리 할당은 제 1 노드와 제 2 노드 사이에 배치된 제 3 노드에서 수행될 수 있다.
또 다른 태양으로, 상호접속 시스템은 복수의 노드를 가지며 상기 노드는 레인을 갖는 링크에 의해 연결된 네트워크를 형성한다. 제 1 노드는 신호의 소스일 수 있고, 제 2 노드는 신호의 목적지 일 수 있으며, 상기 제 1 노드와 상기 제 2 노드 사이에 있는 2이상의 노드들에 대한 신호들 간에 차등지연을 줄이기 위한 수단이 제공된다.
입력포트와 출력포트를 구비하고, 각각의 입력포트와 출력포트는 복수의 레인들을 가질 수 있는 노드가 개시되어 있다. 각각의 복수의 입력라인들이 출력라인들 중 하나에 연결되고, 상기 복수의 출력라인들에 대한 신호들 간의 시간 스큐가 상기 제 1 포트의 출력포트로부터 상기 출력라인들의 원단과 통신하는 입력라인들을 포함하는 입력포트를 갖는 제 2 노드에서 측정될 때 변경되도록 스위치가 구성될 수 있다.
읽기-쓰기 메모리 장치와 설정(변경)가능한 스위칭 소자(Configurable Switching Element, CSE)를 갖는 메모리 모듈이 개시되어 있다. CSE는 신호 송신 또는 신호 수신 중 적어도 하나를 위한 제 1 포트를 가질 수 있고, 상기 제 1 포트는 복수의 신호 레인들을 가질 수 있다; CSE는 예로서 장래시간에 복수의 신호레인들 중 한 신호레인의 상태를 변경하는 것, 상기 읽기-쓰기 메모리 장치에 수신된 신호를 라우팅하는 것, 또는 상기 수신된 신호를 제 2 포트로 라우팅하는 것을 포함할 수 있는 기능을 수행하기 위해 수신된 제어신호를 해석하기 위해 구성될 수 있다. 각각의 복수의 신호라인들의 상태는 전원 온, 전원 오프 또는 대기상태 중 하나일 수 있다.
또 다른 태양으로, 장래시간은 정해진 시간, 제어신호 또는 설정가능한 값에 의해 결정된 시간값 중 적어도 하나인 값일 수 있고, 각각의 복수의 레인들에 대해 별개로 결정될 수 있다.
또 다른 태양으로, 메모리 모듈의 CSE는 수신 신호라인들에 의해 수신된 이와 같은 논리 데이터 할당을 구성할 수 있고, 송신 신호라인들에 의해 송신된 데이터의 논리 할당이 변경될 수 있다.
메모리 모듈(CSE)은 상기 메모리 모듈의 제 1, 제 2 또는 제 3 포트 중 어느 하나의 임의의 한 신호라인에 수신된 신호가 제 1, 제 2 또는 제 3 포트 중 신호 레인의 어느 하나에 전송될 수 있도록 구성될 수 있다. 송신 및 수신 신호라인은 단방향, 양방향 또는 왕복 레인들일 수 있다.
또 다른 태양으로, 데이터 신호, 제어신호, 또는 동기신호 중 적어도 하나가 정해진 시간간격동안 CSE 또는 메모리 모듈에 연결하기 위한 각각의 링크의 라인들 또는 레인들에 전송된다. 정해진 시간간격은 데이터 에지 트래킹, 클록, 클록 위상, 또는 프레임 동기 중 적어도 하나가 유지되도록 결정될 수 있다.
메모리 모듈은 데이터를 저장하기 위한 수단, 하나 이상의 입력 또는 출력 인터페이스의 장래 상태를 제어하기 위한 수단, 및 출력 인터페이스 또는 데이터를 저장하기 위한 수단 중 적어도 하나에 데이터를 라우팅하기 위한 수단을 갖는 것으로 개시되어 있다.
또 다른 태양으로, 메모리 모듈은 제 2 메모리 모듈의 입력 인터페이스에서 측정될 때 제 1 메모리 모듈의 출력 인터페이스상에 논리 신호들 간이 차등시간지연이 변경되도록 논리적 및 물리적 인터페이스 할당을 교환하기 위한 수단을 갖는다. 또 다른 태양으로, 논리 신호들 간의 차등시간지연이 변경되도록 신호에 대한 논리적 및 물리적 인터페이스 할당을 교환하기 위한 수단은 모듈상에 전기 트레이스의 정해진 배열, 상기 모듈이 부착되는 보드(들), 칩 패키지 기판, 멀티칩 모듈 단독의 또는 다른 고정 및/또는 동적 수단과 조합의 칩들 사이의 물리적 또는 기부간의 연결을 포함할 수 있으나, 이에 국한되지 않는다.
또 다른 태양으로, 논리 신호들 간의 차등시간지연이 변경될 수 있도록 신호에 대한 논리적 및 물리적 인터페이스를 교환하기 위한 수단은 설정가능한 스위치 소자(CSE)내 뿐만 아니라 2 이상의 CSE들 간에 배치된 다른 스위칭 소자들에 의해 모두 수행되는 동적 스위칭 기능을 포함할 수 있고, 상기 CSE는 다른 동적 또는 고정수단 단독으로 또는 조합하여, 디지털 스위치, 아날로그/RF 스위치, 마이크로 전자기계 시스템(MEMS) 장치와 같은 기계적 스위치, 설정가능한 근접 통신장치 또는 다른 유사 장치를 포함할 수 있다.
제 1 신호라인이 제어신호를 수신하도록 구성될 수 있고, 제 2 신호라인이 제어가능한 상태를 가질 수 있는 적어도 2개의 신호라인을 갖는 설정가능한 스위치 소자(CSE)가 개시되어 있다. 제 2 신호라인의 상태는 예컨대 전원 온, 전원 오프, 또는 대기상태 중 하나 일 수 있다. 제 1 신호라인에 의해 수신된 제어신호는 제 2 신호라인의 상태를 제어한다. 신호라인 중 적어도 하나에 수신된 어드레스 데이터와 또 다른 신호라인에 수신된 데이터는 또 다른 신호라인 또는 메모리 인터페이스 중 적어도 하나로 라우팅될 수 있다. 메모리 인터페이스는 데이터를 저장하기 위한 수단에 연결될 수 있다.
또 다른 태양으로, 설정가능한 스위치 소자(CSE)는 신호 송신 또는 신호 수신 중 적어도 하나를 위한 제 1 인터페이스를 구비하고, 상기 인터페이스는 복수의 신호라인을 가지며, CSE는 수신된 제어 신호를 기초로 제 1 인터페이스 또는 제 2 인터페이스의 복수의 신호라인들 중 하나의 상태를 변경하거나, 메모리 인터페이스, 신호 송신 또는 신호 수신을 위한 제 2 인터페이스, 또는 제 1 인터페이스의 송신 태양일 수 있는 또 다른 인터페이스에 수신된 신호의 라우팅 중 적어도 하나를 수행하기 위해 수신된 제어신호를 해석하도록 구성될 수 있다. 각각의 복수의 신호라인들의 상태는 예로서 전원 온, 전원 오프, 또는 대기상태 중 하나이다.
또 다른 태양으로, CSE는 이와 같은 수신 신호라인들 간의 논리 데이터 교환을 구성할 수 있고, 송신 신호라인의 데이터 논리 할당이 수행된다. 제 1, 제 2 또는 제 3 인터페이스 중 어느 하나의 임의의 신호라인에 수신된 신호가 제 1, 제 2, 또는 제 3 인터페이스의 복수의 신호라인들 중 어느 하나에 전송되도록 구성될 수 있는 제 3 인터페이스가 있을 수 있다.
하나 이상의 입력 또는 출력 인터페이스의 장래 상태를 제어하기 위한 수단과 출력 인터페이스에 데이터를 라우팅하기 위한 수단 또는 데이터를 저장하기 위한 수단을 갖는 설정가능한 스위치 소자(CSE)가 개시되어 있다.
또 다른 태양으로, CSE는 제 1 출력 인터페이스와 제 2 출력 인터페이스 상의 신호들 간에 신호들 간의 차등시간지연이 제 2 CSE의 인터페이스에서 측정될 때 변경되도록 신호에 대한 논리적 및 물리적 인터페이스 할당을 교환하는 수단을 갖는다.
상단과 하단을 가지며, 제 1, 제 2, 및 제 3 링크 연결을 형성하는 복수의 신호라인들을 구비하는 연결 인터페이스와, 상기 연결 인터페이스를 결합시키는 하나 이상의 상기 제 1, 제 2, 및 제 3 링크들에 의해 형성된 네트워크를 구비하는 네트워크에서 노드를 수용하기 위한 상호접속 네트워크로서, 상기 연결 인터페이스의 (a)모두가 제 1 면상의 상기 연결 인터페이스로부터 인출되도록 배치되어 있는 제 1 내지 제 3 링크; (b)상단에 최근접한 라인을 갖는 링크가 상기 연결 인터페이스의 제 1 면으로부터 인출되고, 나머지 2 링크는 상기 연결 인터페이스의 제 2 면으로부터 인출되며, 상기 연결 인터페이스의 제 2 면으로부터 인출된 상기 링크들이 인접하게 배치되도록 두어진 제 1 내지 제 3 링크; (c)하단에 최근접한 라인을 갖는 링크가 상기 연결 인터페이스의 제 2 면으로부터 인출되고, 나머지 2 링크는 상기 연결 인터페이스의 제 1 면으로부터 인출되며, 상기 연결 인터페이스의 제 1 면으로부터 인출된 상기 링크들이 인접하게 배치되도록 두어진 제 1 내지 제 3 링크; (d)상단에 최근접한 라인을 갖는 링크와 하단에 최근접한 라인을 갖는 링크가 상기 연결 인터페이스의 제 1 면으로부터 인출되고, 상기 첫번째 두 링크들 사이의 중간에 배치된 라인을 갖는 링크가 상기 연결 인터페이스의 제 2 면으로부터 인출되도록 배치된 제 1 내지 제 3 링크; 및 상기 (a), (b), (c), 및 (d)의 구성을 가지나, 상기 커넥터에 수직한 축 주위로 상기 (a), (b), (c), 및 (d)의 패턴을 180도 회전시킴으로써 상단과 하단이 상호교환되는 (e), (f), (g), 및 (h)의 구성들 중 적어도 2개가 트레이스에 의해 결합되는 상호접속 네트워크가 개시되어 있다.
또 다른 태양으로, 링크들은 플랫 프린트 와이어링 어셈블리(flat printed wiring assembly)의 층들에 또는 기판상의 층들에 있는 금속 소자들로서 배치될 수 있다. 메모리 수단, CSE 및 다른 능동 및 수동 회로와 같은 다른 구성부품들은 동일한 기판, 배선 어셈블리상에 제작될 수 있다.
또 다른 태양으로, 적어도 3개의 커넥터 인터페이스가 서로 나란히 배열되어 있다.
연결 인터페이스들의 상단들이 서로 반대로 위치되고 상기 연결 인터페이스들의 하단들이 서로 반대로 위치되도록 복수의 연결 인터페이스들을 배치하는 단계와, 상기 복수의 연결 인터페이스들 사이의 연결 네트워크를 형성하는 단계를 포함하는 네트워크 상호접속 설계 방법으로서, 상기 연결 인터페이스의 (a)모두가 제 1 면상의 상기 연결 인터페이스로부터 인출되도록 배치되어 있는 제 1 내지 제 3 링크; (b)상단에 최근접한 라인을 갖는 링크가 상기 연결 인터페이스의 제 1 면으로부터 인출되고, 나머지 2 링크는 상기 연결 인터페이스의 제 2 면으로부터 인출되며, 상기 연결 인터페이스의 제 2 면으로부터 인출된 상기 링크들이 인접하게 배치되도록 두어진 제 1 내지 제 3 링크; (c)하단에 최근접한 라인을 갖는 링크가 상기 연결 인터페이스의 제 2 면으로부터 인출되고, 나머지 2 링크는 상기 연결 인터페이스의 제 1 면으로부터 인출되며, 상기 연결 인터페이스의 제 1 면으로부터 인출된 상기 링크들이 인접하게 배치되도록 두어진 제 1 내지 제 3 링크; (d)상단에 최근접한 라인을 갖는 링크와 하단에 최근접한 라인을 갖는 링크가 상기 연결 인터페이스의 제 1 면으로부터 인출되고, 상기 첫번째 두 링크들 사이의 중간에 배치된 라인을 갖는 링크가 상기 연결 인터페이스의 제 2 면으로부터 인출되도록 배치된 제 1 내지 제 3 링크; 및 상기 (a), (b), (c), 및 (d)의 구성을 가지나, 상기 커넥터에 수직한 축 주위로 상기 (a), (b), (c), 및 (d)의 패턴을 180도 회전시킴으로써 상단과 하단이 상호교환되는 (e), (f), (g), 및 (h)의 구성들 중 적어도 2개가 사용되는 네트워크 상호접속 설계 방법이 개시되어 있다.
컴퓨터와 통신하는 제 1 인터페이스와, 노드에 대한 링크를 가져야 하는 제 2 인터페이스와, 제 1 노드와 제 2 노드 사이에 배치된 링크의 레인상에 있는 신호들간의 차등시간지연을 결정하기 위한 수단을 구비하는 네트워크 컨트롤러가 개시되어 있다.
또 다른 태양으로, 네트워크 컨트롤러는 제 2 노드에서 수신된 논리신호들 간의 차등시간지연을 변경하기 위해 제 1 노드와 제 2 노드 간의 통신을 위해 배치된 레인들에 논리신호를 할당하기 위한 수단을 가질 수 있다.
또 다른 태양으로, 네트워크 컨트롤러는 컴퓨터 인터페이스와, 신호를 송수신할 수 있는 제 1 데이터 인터페이스와, 상기 제 1 데이터 인터페이스에 의한 전송을 위해 어드레스 값을 발생하도록 구성되는 프로세서를 구비하고, 상기 프로세서는 적어도 2개의 신호라인들의 지연 차가 수신장치에 수신될 때 변경되도록 신호라인들에 데이터 값을 논리적으로 할당하도록 더 구성될 수 있다.
본 발명의 내용 중에 포함되어 있다.
본 발명은 본 발명을 도시된 특정 실시예에 국한하는 것이 아니라 단지 설명과 이해를 돕기 위한 하기의 다수의 예시적인 실시예들에 대한 상세한 설명과 첨부도면으로부터 더욱 완전히 이해되어 진다:
도 1은 본 출원에 사용된 용어 및 기호를 소개하기 위한 네트워크의 상호접속 요소들의 도면이다.
도 2는 설정가능한 스위칭 소자(configurable switching element, CSE)에 대한 인터페이스를 도시한 도면이다.
도 3은 하나 이상의 2차 포트를 가질 수 있는 CSE의 구성을 도시한 것이다.
도 4는 하나 이상의 모듈 컨트롤러를 사용하여 네트워크에 연결된 CSE의 구성을 도시한 것이다.
도 5는 트리 구성으로 배치된 CSE를 포함하는 8개 메모리 모듈을 도시한 것이다.
도 6은 이진 트리 구성으로 연결된 8개 메모리 모듈을 도시한 것이다.
도 7은 이진 트리 구성으로 연결된 또 다른 8개 메모리 모듈을 도시한 것이다.
도 8은 삼진 트리 구성으로 연결된 9개 메모리 모듈을 도시한 것이다.
도 9는 이진 트리 구성으로 연결된 또 다른 8개 메모리 모듈의 예를 도시한 것이다(M0의 자식모듈들이 M0와 MC에 모두 연결되어 있다).
도 10은 이진 트리 구성으로 연결된 8개 메모리 모듈과 그래픽 프로세서와 같은 추가 장치를 도시한 것이다.
도 11a~f는 인텔(INTEL)사가 개발하고 FB-DIMM으로 알려진 메모리 시스템과 유사한 것으로 여겨지는 메모리 시스템의 태양을 도시한 것이다.
도 12a-f는 CSE를 포함하는 메모리 모듈의 배열을 도시한 것이다.
도 13a-f는 모듈들 간의 별개의 명령 및 데이터 라인들을 갖는 메모리 모듈의 배열을 도시한 것이다.
도 14a-f는 모듈들 간의 별개의 명령 및 데이터 라인들을 갖는 또 다른 메모리 모듈의 배열을 도시한 것이다.
도 15a-g는 메모리 컨트롤러(MC)에서 모듈(Mi)까지 읽기명령의 전송을 도시한 것이다.
도 16은 점 대 점 링크를 갖는 트리내에 배열된 모듈 컨트롤러와 모듈들을 도시한 것이다.
도 17a-d는 명령을 위해 사용된 별개의 신호 링크들을 사용하여 도 16의 구성과 유사한 구성을 도시한 것이다.
도 18은 어드레스 지시기를 사용하여 라우팅을 달성하는데 사용될 수 있는 명령의 예들을 도시한 것이다.
도 19는 no-op(NOP)가 하나 이상의 출력포트로부터 전송되는 스위치(S)의 동작을 도시한 것이다.
도 20은 링크가 채널화되는 모듈의 트리를 도시한 것이다.
도 21은 링크가 채널화되는 모듈의 또 다른 트리를 도시한 것이다.
도 22는 데이터 전달의 양식화된 도면을 도시한 것이다.
도 23a-d는 많은 링크들이 저전력 상태에 있는 구성을 도시한 것이다.
도 24a-d는 링크들이 저전력 상태에 위치될 수 있는 도 23과 유사한 구성을 도시한 것이다.
도 25는 로컬 명령의 확장 테이블을 갖는 구성을 도시한 것이다.
도 26a-b는 S1의 입력에서 트리의 리브(leaf)들까지의 제어 수행을 도시한 것이다.
도 27a-b는 셀프라우팅(self-routing)의 다른 구성을 도시한 것이다.
도 28a-b는 선행 비트(leading bit)를 제거하는데 적합할 수 있는 메세지 포맷을 도시한 것이다.
도 29a-b는 모듈 컨트롤러와 같은 장치로부터 또 다른 장치로 데이터를 전송하는 간단한 예를 도시한 것이다.
도 30은 스큐(skew)를 극복하기 위한 방법 및 장치를 도시한 것이다.
도 31은 디스큐(de-skew)후에 삽입된 디멀티플렉서를 도시한 것이다.
도 32는 인텔의 고급 메모리 버퍼(Advanced Memory Buffer, AMB)에서 데이터 스큐의 한가지 소스를 도시한 것이다.
도 33a-b는 데이터 스큐(data skew)를 완화시키기 위한 신호 라우팅을 도시한 것이다.
도 34는 5개 모듈을 통한 전송으로 인해 발생한 데이터 스큐를 도시한 것이다.
도 35는 레인들 간의 차등시간지연을 줄이기 위한 장치 및 방법을 도시한 것이다.
도 36a-b는 모듈 쌍들 간의 시간 지연이 실질적으로 동일하지 않는 예를 도시한 것이다.
도 37은 레인(3 및 4)이 시그널 채널로서 사용되는 예를 도시한 것이다.
도 38a-e는 레인들 간의 데이터 요소들을 교환하는 패턴을 도시한 것이다.
도 39는 배치 네트워크(Batche network)의 예를 도시한 것이다.
도 40은 배치 네트워크(a-c)와 클로스(Clos) 네트워크(d)의 또 다른 예를 도시한 것이다.
도 41a-b는 베네스(Benes) 네트워크와 8 레인 구성의 예를 도시한 것이다.
도 42는 전체 스왑(full swap)이 몇몇 레인들에 대해 이루어지는 레인 교환의 예를 도시한 것이다.
도 43은 모듈에서 2개 데이터 경로의 병합을 도시한 것이다.
도 44는 위상 정렬을 갖는 클록 데이터 복원(CDR)을 도시한 것이다.
도 45는 각각의 2개 데이터 경로에서 디스큐(de-skew)를 사용한 도 44의 예를 도시한 것이다.
도 46a-b는 더 정교한 네트워크에서 도 45의 정렬을 도시한 것이다.
도 47은 중요하지 않은 데이터 경로를 갖는 네트워크의 태양을 도시한 것이다.
도 48은 트리에 연결된 8개 모듈의 네트워크에서 논리 비트 0을 전달하는 레인들을 도시한 것이다.
도 49는 도 48의 트리에 연결된 8개 모듈의 네트워크에서 논리 비트 N을 전달하는 레인들을 도시한 것이다.
도 50은 도 49에 도시된 배열에서 중요한 경로와 중요하지 않은 경로를 식별한 도면이다.
도 51은 도 49의 지연을 예시한 것이다.
도 52는 다양한 지연의 추가를 도시한 것이다.
도 53은 링크내 지연의 추가를 도시한 것이다.
도 54a-b는 네트워크내 지연을 추가하는 등가의 방식을 도시한 것이다.
도 55는 도 46 및 도 49에 도시된 트리에서 지연을 도시한 시간 라인이다.
도 56은 네트워크에 도입된 지연의 또 다른 태양을 도시한 것이다.
도 57은 명령을 보내고 트리를 통해 응답을 수신하기 위한 전체 시간들을 도시한 것이다.
도 58a-c는 동일한 모듈이 메모리 컨트롤러를 오가며 전송하기 위한 다른 라우팅을 가질 수 있는 상황을 도시한 것이다.
도 59는 아웃바운드 경로(outbound path) 및 복귀경로를 포함한 도 48의 트리를 도시한 것이다.
도 60a-b는 신호경로가 데이터 경로로부터 해제될 수 있는 다수의 신호경로를 갖는 배열을 도시한 것이다.
도 61a-c는 모듈에서 모듈 컨트롤러로 전송되는 데이터의 타임라인을 도시한 것이다.
도 62a-c는 고정된 타임슬롯을 사용하여 모듈에서 모듈 컨트롤러로 전송되는 데이터용 타임라인을 도시한 것이다.
도 63은 다수의 명령들이 실행되는 타임라인의 또 다른 예를 도시한 것이다.
도 64는 도 62에 따른 가변 지연 스케쥴링의 예를 도시한 것이다.
도 65는 도 63에 따른 가변 지연 스케쥴링의 예를 도시한 것이다.
도 66a-c는 슬롯 전송시간에 대한 데이터 제한이 제거된 스케쥴링의 예를 도시한 것이다.
도 67a-c는 슬롯 전송시간에 대한 데이터 제한이 제거된 스케쥴링의 또 다른 예를 도시한 것이다.
도 68은 신호지연이 도시된 논슬롯 예를 위한 타이밍을 도시한 것이다.
도 69는 신호지연이 도시된 또 다른 논슬롯 예를 위한 타이밍을 도시한 것이다.
도 70a-c는 다른 명령 시간을 갖는 도 68의 예를 도시한 것이다.
도 71은 다수의 명령을 갖는 또 다른 타이밍 도표를 도시한 것이다.
도 72는 선형방식으로 배치된 도 5의 트리와 유사한 트리를 도시한 것이다.
도 73은 모듈이 "전면"과 "후면"을 갖게 지정된 도 72의 배열을 도시한 것이다.
도 74a-d는 모듈의 또 다른 배열을 도시한 것이다.
도 75a-b는 모듈들 간의 연결이 마더보드와는 다르게 올려질 수 있는 태양을 도시한 것이다.
도 76은 대안적인 모듈 연결을 갖는 도 72의 구성의 일부를 도시한 것이다.
도 77은 또 다른 대안적인 모듈 연결을 갖는 도 72의 구성의 일부를 도시한 것이다.
도 78은 도 77의 구성을 위한 모듈 상호접속의 또 다른 예를 도시한 것이다.
도 79는 사이에 링크 폭이 다른 모듈들의 구성을 도시한 것이다.
도 80은 그리드 형태의 모듈 그룹을 도시한 것이다.
도 81a-b는 육각형 형태의 모듈 그룹을 도시한 것이다.
도 82는 육각형 구조로 구성된 그리드를 도시한 것이다.
도 83은 프로세서에 연결된 그리드 구성의 모듈을 도시한 것이다.
도 84는 프로세서가 2개 루트 트리에 연결되는 구성을 도시한 것이다.
도 85a-b는 다수의 프로세서에 연결된 모듈의 추가적인 예를 도시한 것이다.
도 86a-b는 프로세서에 연결된 모듈의 또 다른 예를 도시한 것이다.
도 87은 공유 메모리 영역으로의 제어 및 데이터 버스의 확장을 도시한 것이다.
도 88은 4 프로세서의 구성 및 입/출력 장치로서 구성된 모듈의 그리드를 도시한 것이다.
도 89는 I/O 모듈들이 다른 컴퓨팅 시스템 요소들에 의해 대체되는 도 88의 구성을 도시한 것이다.
도 90은 선형 및/또는 트리 토폴로지 모두를 지원할 수 있는 모듈 및 링크의 구성을 도시한 것이다.
도 91은 선형 토폴로지로 사용된 도 90의 구성을 도시한 것이다.
도 92는 트리 토폴로지로 사용된 도 90의 구성을 도시한 것이다.
도 93a-b는 RAM이 달린 모듈에 배치된 CSE를 도시한 것이다.
도 94는 각각의 데이터 및 제어라인들을 갖는 RAM 칩을 갖는 CSE를 도시한 것이다.
도 95는 트리의 나머지에 대해 리프 모듈(leaf module)의 물리적 구성을 도시한 것이다.
도 96은 리프 모듈의 다른 물리적 구성을 도시한 것이다.
도 97은 양방향 링크를 갖는 모듈의 구성을 도시한 것이다.
도 98은 캐쉬 메모리를 갖는 메모리를 도시한 것이다.
도 99는 CSE 브릿징 상호접속 시스템을 도시한 것이다.
도 100은 선형 물리적 장치에 배치된 모듈의 이진 트리를 도시한 것이다.
도 101은 도 100의 트리에 대한 다른 연결 구성을 도시한 것이다.
도 102는 멀티루트 트리 구성을 도시한 것이다.
도 103a-b는 평면도 및 입면도로 모듈들 간의 연결을 도시한 것이다.
도 104는 중복된 멀티루트 구성을 도시한 것이다.
도 105는 중복된 멀티루트 트리의 또 다른 예를 도시한 것이다.
도 106은 모듈이 고장난 경우 도 105의 트리의 재구성을 도시한 것이다.
도 107은 16개 모듈의 4개 그룹을 갖는 구성을 도시한 것이다.
도 108은 그사이에 펜스가 있는 한 그룹의 모듈들에 대한 기류 구성을 도시한 것이다.
도 109는 온도변화가 제어될 수 있도록 배열된 모듈 그룹들에 대한 기류 구성을 도시한 것이다.
도 110은 열소산 소자들의 추가 구성을 도시한 것이다.
도 111은 노드들이 레인들로 구성된 링크를 갖는 듀얼루트 트리 구성을 도시한 것이다.
도 112는 기존 설계의 커넥터화된 마더보드에서 트레이스의 배치를 도시한 것이다.
도 113은 커넥터들이 30도씩 회전된 마더보드에 트레이스들의 배치를 도시한 것이다.
도 114는 하나 이상의 라인 세트가 도 113의 커넥터 구성을 위해 최소한의 벤딩으로 배치될 수 있는 것을 도시한 것이다.
도 115는 도 113의 커넥터 방향에 따른 더 큰 스케일의 마더보드의 배치를 도시한 것이다.
도 116은 RAID 오류정정을 갖는 64개 메모리 모듈과 2개 스페어 모듈로 구성된 82개 모듈의 논리 구성을 도시한 것이다.
도 117은 도 116의 구성을 위한 물리적 보드 배치를 도시한 것이다.
도 118은 2개 루트를 갖는 82개 모듈 트리를 도시한 것이다.
도 119는 도 118의 트리의 일부에 대응하는 물리적 보드 배치를 도시한 것이다.
도 120a-d은 도 119의 레인들과 다층 회로보드의 층들 간의 관계를 도시한 것이다.
도 121은 82개 모듈장치에 대한 또 다른 트리 논리도표를 도시한 것이다.
도 122는 도 121의 논리 트리에 따른 물리적 배치를 도시한 것이다.
도 123은 82개 모듈장치의 또 다른 논리 배치를 도시한 것이다.
도 124는 도 123의 논리 트리에 따른 물리적 배치를 도시한 것이다.
도 125는 물리적 보드 장치들을 배치하는데 사용될 수 있는 개개의 모듈 커넥터 라우팅의 물리적 속성을 도시한 것이다.
예시적인 실시예들은 도면을 참조로 더 잘 이해될 수 있으나, 이들 실시예들은 제한적인 성향이 있는 것으로 의도되어 있지 않다. 같은 도면이나 다른 도면에서 동일한 번호의 요소들은 같은 기능을 수행한다. 요소들은 번호 또는 두문자 중 어느 하나로 표시되거나, 모두 표시되고, 표현의 선택은 단지 명확히 하기 위한 것이므로, 번호로 표시된 요소와 두문자 또는 문자숫자 지시자에 의해 표시된 상기 동일한 요소는 기본적으로 구별되지 않도록 한다.
기술된 방법과 도면에 도시된 장치는 기계실행가능한 명령어, 예컨대, 소프트웨어 또는 하드웨어 또는 그 조합으로 구성되거나 구현될 수 있음이 이해된다. 명령어는 상기 명령어를 사용하여 프로그램된 일반용도의 컴퓨터, DSP 또는 어레이 프로세서 등과 같은 특수용도의 프로세서가 기술된 동작을 수행하게 하는데 사용될 수 있다. 대안으로, 동작은 기술된 동작을 수행하기 위한 하드 와어어 로직(Hardwired Logic) 또는 펌웨어 명령을 포함하는 특정한 하드웨어 구성부품에 의해, 또는 아날로그 회로를 포함할 수 있는 프로그램된 컴퓨터 구성부품 및 주문자 하드웨어 구성부품의 임의의 조합에 의해 수행될 수 있다.
본 발명의 방법은 적어도 부분적으로 상기 방법을 수행하기 위한 컴퓨터(또는 다른 전자장치)를 프로그램하는데 사용될 수 있는 명령을 저장한 기계가독 매체(machine-readable medium)를 포함할 수 있는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 이 사양을 위해, "기계가독 매체"라는 용어는 컴퓨터 기계 또는 특수용도의 하드웨어에 의한 실행을 위해 일련의 명령어 또는 데이터를 저장하거나 부호화할 수 있고 상기 기계 또는 특수용도의 하드웨어가 본 발명의 방법 또는 기능 중 어느 하나를 수행하게 하는 임의의 매체를 포함하는 것으로 해석되어야 한다. 따라서 "기계가독 매체"라는 용어는 고체상태의 메모리, 광디스크 및 자기 디스크, 자기 메모리, 광메모리 및 반송파 신호를 포함하하나 이에 국한되지 않는 것으로 해석되어야 한다. 컴퓨터에 의해 수행되는 방법의 설명은 사람에 의해 수행되는 동일한 방법을 배제하지 않아야 한다.
예컨대, 기계가독 매체는 롬(ROM), 모든 타입의 램(RAM)(예컨대, S-RAM, D-RAM); 프로그램 가능 읽기용 기억 장치(Programmable Read-Only Memory, PROM); 소거 및 프로그램 가능 읽기용 기억 장치(Erasable and Programmable Read Only Memory, EPROM), 자기 램, 자기 디스크 저장매체, 플래쉬 메모리, 전파된 신호의 전기,광학, 음향 또는 다른 형태(예컨대, 반송파, 적외선 신호 또는 디지털 신호)를 포함할 수 있다.
더욱이, 소프트웨어로 말하자면, 동작을 하거나 결과를 발생하는 것과 같은 한가지 형태 또는 다른 형태(예컨대, 프로그램, 절차, 처리, 애플리케이션, 모듈, 알고리즘 또는 로직)가 해당기술분야에 통상적이다. 이러한 표현은, 단지 당업자에게 잘 알려진 바와 같이, 컴퓨터 또는 등가장치에 의한 소프트웨어의 실행으로 컴퓨터 또는 등가장치의 프로세서가 동작을 하거나 결과를 발생하게 하는 종래의 방식이다.
특정예를 설명하자면, 그 예로는 특별한 특징, 구조 또는 특성을 포함하나 모든 예들이 반드시 특별한 특징, 구조 또는 특성을 포함할 필요는 없다. 이는 이러한 조합이 명백히 배제되는 경우를 제외하고는 2 이상의 예의 특징, 구조 또는 특성이 조합되지 않아야 하거나 조합될 수 없는 것을 제시 또는 의미하는 것으로 해석되지 않아야 한다. 특별한 특징, 구조 또는 특성이 예와 연계하여 기술되는 경우, 당업자는 명백하게 기술되었는 여부에 따라 다른 예와 연계하여 이러한 특징, 구조 또는 특성에 영향을 줄 수 있다.
메모리 모듈 커넥터 인터페이스와 같이 본 명세서에 기술된 바와 같이 커넥터 또는 커넥터 인터페이스는 수 커넥터(male connector) 또는 수 인터페이스가 암 커넥터(female connector) 또는 암 인터페이스와 결합하는 물리적으로 분리할 수 있는 인터페이스들에 국한되지 않는다. 커넥터 인터페이스는 또한 납, 솔더볼 또는 메모리 모듈로부터의 연결이 회로 기판에 솔더되는 인터페이스와 같은 임의의 타입의 물리적 인터페이스 또는 연결을 포함한다. 예컨대, 적층 다이 접근법(stacked die approach)에서, 많은 집적회로 다이(예컨대, 메모리 장치 및 버퍼 장치)가 커넥터 인터페이스의 볼 그리드 어레이 타입(ball grid array)을 통해 메모리 컨트롤러 또는 프로세서에 베이스 및 인터페이스를 형성하는 기판과 함께 서로의 상단에 적층될 수 있다. 또 다른 예로서, 메모리 장치 및 버퍼장치는 가요성 테이프 상호접속 및 인터페이스를 통해 볼 그리드 어레이 타입의 커넥터 인터페이스 또는 물리적으로 분리가능한 소켓 타입의 커넥터 인터페이스 중 하나를 통해 메모리 컨트롤러에 상호접속될 수 있다. 연결 타입은 집적회로 칩들 간의 인터페이스, 기판상에 또는 기판들 사이에 또는 인쇄회로 기판 등에 상호접속 인터페이스를 포함할 수 있다.
메모리 모듈은 메모리를 포함할 수 있고 또한 메모리용 컨트롤러, 설정가능한 스위치 소자(CSE) 및 신호를 처리, 전송 또는 수신하기 위한 다른 회로를 포함할 수 있다. 그러나, 메모리 모듈은 메모리만을 포함할 수 있고 하나 이상의 다른 소자들이 별도로 장착될 수 있다. 특별히 언급되는 것을 제외하고, 실제 물리적 태양과 계산 태양이 다양한 등가의 방식으로 구성될 수 있음이 당업자에게 명백한 바와 같이, 특정 모듈에 기능의 할당은 논의의 편의상 의도한 것이다.
"버스" 또는 "링크"는 하나의 선 또는 각각이 "송수신"을 위한 하나 이상의 연결지점(즉, 송신, 수신 또는 모두)을 갖는 복수의 신호라인들 또는 "레인들(lanes)"을 의미한다. 각 연결점은 트랜시버(즉, 송신기-수신기) 또는 하나의 송신기 회로 또는 수신기 회로 중 하나에 연결 또는 결합될 수 있다. 연결 또는 결합은 양자 뒤얽힘(quantum entanglement) 또는 그 등가에 의해 전기적, 광학적, 자기적으로 이루어질 수 있다. 동일하거나 유사한 수단들에 의해 다른 전기 연결은 전원, 접지, 보조 신호 및 제어 등과 같이 이러한 추가 시스템 요건의 충족을 위해 제공되어야 한다. 이러한 추가적 연결은 이따금 설명을 명확히 하기 위해 기술되어 지나, 이러한 추가적 연결은 당업자에게 잘 알려져 있으며 임의의 예에서 이러한 연결에 대한 설명 부족은 그 포함을 배제한 것으로 해석되지 않아야 한다.
링크는 신호라인 또는 신호 레인상에 신호를 전달한다. 신호는 일반적으로 클록 및 제어신호, 어드레스 신호, 명령신호, 및 데이터 신호를 포함하는 임의의 다수의 카테고리에 있다. 데이터 신호는 메모리 장치 또는 인터페이스에 저장되거나 이로부터 검색될 수 있는 데이터를 전달한다. 어드레스 신호는 데이터가 읽어지거나 작성되는 메모리 장치 또는 시스템내에 위치 또는 위치의 범위를 특정하고, 또한 하나 또는 복수의 메모리 장치 또는 인터페이스 중 어떤 것이 접속되어야 하는 지를 선택할 수 있다. 명령신호는 어떤 타입의 동작, 예컨대, 읽기, 쓰기, 새로고침이 수행되어야 하는 지에 대해, 그리고 가능하게는 (버스트 또는 방송모드와 같이) 다수의 접속모드 중 어떤 것이 데이터 전송에 사용되어야 하는 지에 대해 메모리 장치 또는 인터페이스에 명령한다. 클록 및 제어신호는 컨트롤러와 메모리 장치 사이에 지나는 다른 신호를 동기화 시킨다. 링크가 각 신호에 대해 별도의 신호라인(예컨대, 한 클록 싸이클에서 32 비트 폭의 어드레스를 전달하는 32개 어드레스 라인과 한 클록 싸이클에서 32 비트 폭의 데이터 워드를 전달하는 32개 데이터 라인)을 사용할 수 있으나, 다양한 방식들도 또한 메모리 취급의 다른 클록 싸이클 동안 공통 신호, 제어 신호, 어드레스 신호 및 데이터 신호에 대해 하나 이상의 신호라인들을 재사용하도록 되어 있다.
레인 또는 라인들이 인터페이스 또는 포트에 연결되는 것으로 거론되어 있는 경우, 레인 또는 라인들을 활성인 것으로 전원 온 또는 대기모드에 있는 등으로 전원 오프되는 것을 기술하는 것이 편함을 이해해야 한다. 이는 노드에서 포트가 달린 인터페이스에서의 연결 상태를 말하는 것으로 해석되어야 함을 의미한다. 레인 또는 라인들 자체는 단지 노드들 간의 연결을 형성하도록 역할하는 회로기판 등의 금속 트레이스(metallic traces)일 수 있다.
"너비우선(breadth-first)" 관행은 종종 트리에서 노드들을 넘버링(numbering)하는데 사용된다; 즉, 트리의 루트에서 시작하여 다음 레벨로 이동하기 전에 주어진 레벨에서 모든 소자들에 걸쳐 작동한다. 이러한 넘버링은 단지 편의를 위한 것이다. 실행을 위해, 동시에 2 이상의 넘버링 방식을 포함한 다른 많은 넘버링 방식들이 사용될 수 있다. 신호를 보내기 위해, "포트 0, 포트 1, 등"의 관행은 절대 포트라기보다는 상태 포트를 나타낼 수 있다. 관행상, "사우스바운드(southbound)", "다운스트림(downstream)", 또는 "2차(secondary)"는 모듈 컨트롤러 또는 루트로부터 멀리 나아가는 방향을 말하는 반면에, "노스바운드(northbound)", "업스트림(upstream)" 또는 "1차(primary)"는 모듈 컨트롤러나 루트를 향하는 방향을 말한다. 하나 이상의 루트 또는 모듈 컨트롤러가 있을 수 있고, 각각이 동시에 동작할 수 있다.
도 1은 기술된 예들에서 사용될 수 있는 기호 및 용어 중 일부를 식별하기 위해 도시되어 있다. 이는 편의성, 명확성 및 인식을 위해 행해진 것이며, 당업자에게는 다양한 등가의 용어가 사용될 수 있음을 인식하게 된다. 그러나, 본 명세서에 제공된 설명을 위해, 특별히 진술된 경우를 제외하고는 여기서 나타내어진 용어들이 사용될 것이다. 이는 같은 것으로 인정되는 용어 또는 같은 개념을 기술하는 장래에 사용하게 될 수 있는 용어로부터 배제되거나 구별하기 위한 것은 아니다.
기능이 한 구성부품에 있을 수 있거나 하나 이상의 장치에 걸쳐 있을 수 있는 (자립형 모듈 컨트롤러 또는 메모리 컨트롤러일 수 있거나, 중앙처리장치(CPU)와 같은 몇몇 다른 장치, 디지털 신호 프로세서(DSP), 마이크로프로세서, 그래픽 코프로세서, 브릿지칩(bridge chip), 또는 도면에 도시되지는 않았으나 상호접속 시스템과 연결되는데 필요할 수 있는 임의의 장치내 인터페이스 또는 회로일 수 있는) 모듈 컨트롤러 MC(10)가 점 대 점 링크에 의해 모듈M#(20)(또는 인터페이스, 또 다른 프로세서, 메모리 등과 같은 다른 컴퓨터 시스템 구성부품) 그룹에 연결된다. 명세서에서 "모듈" 또는 "메모리 모듈"이란 용어는 또한 인터페이스 및 프로세서를 포함한 다른 컴퓨터 시스템 부품을 나타내는데 사용될 수 있다.
제어 및 신호라인들 위한 하나 이상의 멀티 드롭 버스들이 또한 있을 수 있다. 또한 하나 이상의 글로벌 클록(global clocks)이 있을 수 있고 신호라인과 데이터 라인 모두가 단방향 또는 양방향일 수 있다. 모듈 컨트롤러 MC(10)와 모듈(M0,M1,M2,M3) 사이 그리고 한 모듈에서 다음 모듈로의 링크는 데이터 라인 및 제어/신호라인 모두를 포함할 수 있다. 링크는 다른 많은 방식으로 구성될 수 있고 몇가지 가능한 구성들이 도 1에 도시되어 있다.
도시된 선 또는 레인의 그룹으로
L0는 별개의 데이터 라인(30) 및 제어 라인(40)을 나타내며, 각각의 라인 세트는 폭이 동일한 별개의 노스바운드와 사우스바운드 단방향 라인들을 갖는다.
L1은 폭이 다른 별개의 노스바운드와 사우스바운드 단방향 데이터라인(30a,30b), M1에서 M0까지의 노스바운드 제어 라인(40a), MC에서 M1까지의 사우스바운드 제어 라인(40b), 및 M1에서 MC까지의 노스바운드 제어 라인(30c)을 나타낸다.
L2는 M1 및 M2 사이의 노스바운드 및 사우스바운드 양방향 데이터 라인(30d)과 제어 라인(40c) 뿐만 아니라 M1 및 M2 사이의 별개의 양방향 제어 라인(40d)과 또한 M1에서 M3 까지의 사우스바운드 단방향 제어 라인(40e)을 나타낸다.
L3는 M3에서 M2까지의 노스바운드 단방향 데이터(30e)와 제어 라인(40f), MC 및 M3 사이의 양방향 사우스바운드 제어 라인(40g), 및 M2에서 M3까지의 단방향 사우스바운드 라인(30f) 및 노스바운드 라인(30g)을 나타낸다.
MC에서 M1(40b), M1에서 M3(40e)까지의 제어 라인과 같이 인접한 모듈을 뛰어넘는 제어 라인이 M1에서 MC(30c)까지와 같은 데이터 라인과 유사하게 각 호프(hop)를 통해 전송되는 경우보다 더 짧은 대기시간을 가지며 제어 신호를 전송하는데 사용될 수 있다. "데이터" 또는 "제어"이라고 라벨 붙어진 라인들은 단지 "대부분" 데이터 또는 제어 라인들일 수 있고, 이들은 또한 다른 타입의 신호를 전송하는데 사용될 수 있다. 즉, 제어 신호가 데이터 라인상에 전송될 수 있고, 데이터 신호가 제어 라인상에 전송될 수 있다. 이와 같이, 데이터 라인과 제어 라인은 내용에 따라 논리적 또는 물리적일 수 있다.
클록신호는 2 이상의 모듈간에 연결된 신호종료 클록라인 또는 차등클록을 이용하여 클록발생회로로부터 직접적으로 다양한 구성부품 및 모듈에 분배될 수 있다. 고속 클록이 또한 데이터 신호 또는 제어신호와 결합될 수 있다.
도 2는 하나 이상의 2차 또는 다운스트림 포트를 가질 수 있는 설정가능한 스위칭 소자 CSE(15)의 예를 도시한 것이다. CSE는 메모리 또는 다른 장치와 통신하는데 사용될 수 있다; 메모리 또는 다른 장치는 CSE와 동일한 물리적 모듈에 위치될 수 있거나 마더보드 상에 또는 다른 위치에서 CSE와는 별개의 모듈에 위치될 수 있다. 링크와 관련된 2개의 화살표는 양방향 데이터 경로를 나타내며, 상기 양방향 데이터 경로는 별개의 단방향 링크들 또는 양방향 링크들일 수 있거나 환형 모양으로 단방향 링크를 실행함으로써 이루어진 논리적 양방향 연결일 수 있다. 링크는 직렬 또는 병렬 구성을 가질 수 있거나 직렬 및 병렬 구성의 조합일 수 있거나 단일 신호방식 또는 차등적일 수 있다.
CSE는 제한없이 임의의 입력포트를 임의의 출력포트에 연결시키는 능력을 가질 수 있다. 논리적 설명의 편의를 위해, 포트들에는 본 명세서에서의 노스바운드 또는 사우스바운드가 고려될 수 있으나, 이러한 설명은 서로 통신하기 위해 CSE의 포트 능력을 제한하도록 하지는 않는다. 예컨대, 노스바운드 포트는 CSE내 사우스바운드 포트와 통신할 수 있거나, 사우스바운드 포트는 멀티루트 트리 연결에서 노스바운드 포트로서 동작할 수 있다. 물론, 이러한 가능성 모두가 특정 배열로 구성되지 않을 수 있다.
도 3은 하나 이상의 2차 또는 다운스트림 포트를 가질 수 있고, 또한 하나 이상의 업스트림 또는 1차 포트를 가질 수 있는 CSE(15)의 또 다른 구성을 도시한 것이다. 또한, CSE는 외부 메모리 이외에 또는 외부 메모리 대신에 하나 이상의 내부 메모리를 가질 수 있고 외부 연결이 I/O 장치, 코프로세서 등과 같이 메모리 모듈 또는 시스템과는 다른 장치와 있을 수 있다. CSE는 도시된 바와 같이 다수의 2차 포트를 가질 수 있어, 상기 CSE가 신호를 하나 이상의 경로에 분할하기 위해 사용될 수 있다. 한 세트의 노스바운드 및 사우스바운드 포트가 형성되어 있는 경우, CSE는 리피터(repeater)로서 작동할 수 있다. 메모리를 의미하는 것으로 사용되는 경우 "내부" 및 "외부"라는 용어는 서술하기에 편한 것이지 한정하는 것이 아님을 알아야 한다. 메모리 회로는 점점 더 마이크로프로세서 또는 특수용도의 하드웨어에 합체되고 있고, 이러한 내부 및 외부와 같은 사용은 특정 예를 이해하는데 있어 읽는 사람에 도움이 되게 사용될 수 있다. 당업자는 동일한 패키지 또는 동일한 기판상에 집적되는 등과 같은 다른 물리적 구성부품들로의 회로들 및 능력들의 조합 또는 분리가 관련 기술의 상태 및 특정 애플리케이션에 의해 결정되는 것을 안다.
도 4는 시스템에서 하나 이상의 모듈 컨트롤러와 연결될 수 있고, 데이터 또는 제어 흐름의 "업스트림" 또는 "다운스트림" 방향을 가질 수 없는 설정가능한 스위치 소자(CSE)의 또 다른 예를 도시한 것이다. CSE는 마이크로프레서, 직접메모리 접속(Direct-memory Access, DMA) 엔진과 같은 다양한 내부처리 기능할 수 있고(또는 다양한 처리기능을 갖는 장치와 결부하여 내부에 합체되거나 동작할 수 있고), CSE 자체는 다른 CSE를 제어하기 위한 모듈 컨트롤러이며, CSE는 입출력(I/O) 장치, 마이크로프로세서, 그래픽 프로세서, 코프로세서, 다른 CSE 등과 같이 메모리 시스템과는 다른 장치에 외부 연결될 수 있다. 따라서, "1차" 및 "2차"라는 용어의 사용은 설명의 편의를 위해 사용된 것으로 나타나 있다. CSE가 마이크로프로세서를 포함하는(또는 마이크로프로세서내에 포함되거나 결합되는)상황에서, CSE는 처리유닛 뿐만 아니라 스위치로서 동작할 수 있다.
도 5는 루트에 메모리 컨트롤러(MC)와 함께 트리 구성에 배치되어 있는 연결된 메모리를 갖는 CES를 포함하는 6개 메모리 모듈을 도시한 것이다. 편의를 위해, CES는 도시하지 않았으며 메모리 모듈(M#)에 포함된 CES는 CES#으로 기술될 수 있다. 메모리 모듈은 메모리와 CES 모두를 포함할 수 있다; 그러나, 일부 메모리 모듈은 CSE만을 포함할 수 있다. 본 구성에서, 메모리 모듈(M0)은 메모리 모듈(M1 및 M2)에 연결되어 있고, 예컨대, 메모리 모듈(M1)은 M3 및 연이어 M7에 연결되어 있다. 이러한 구성에서, 가장 먼 모듈까의 호프의 개수는 8개의 메모리 모듈이 선형 또는 직렬연결방식으로 배열되어 있는 경우 8개의 호프(hops)인 것에 비하면 4개(M0→M1→M3→M7)이다. 호프는 네트워크에서 2개의 연속한 노드들을 연결하는 링크 또는 레인인 것으로 간주된다. 호프는 네트워크의 노드들 간의 신호 전파의 시간지연 또는 시간지연의 차가 거론되는 경우 디스크립터(descriptor)로서 사용될 수 있다.
도 6은 모듈의 물리적 선형 배열로 PC 보드상에 배치될 수 있는 이진 트리구성으로 연결된 8개 메모리 모듈을 도시한 것이다. M0와 M1 및 M2와 M6 사이와 같이 링크 중 몇몇은 반드시 연결할 필요없는 개입 모듈 M4 및 M5을 지나가는 것에 유의하라. 이러한 태양은 모듈을 우회하는 링크에 음영을 넣음으로써 도시되어 있다. 도 6의 구성은 메모리 또는 다른 모듈과 같이 많은 트리 소자들이 회로기판상에 배치될 수 있거나 플러그인 모듈로서 선형의 물리적 배열로 체계적인 형태로 마더보드에 배치될 수 있음을 도시한 것이다. 이러한 배열은 마더보드의 배치 또는 모듈냉각을 용이하게 할 수 있다. 보드가 장착되는 랙 또는 장비의 치수와 같이 다른 이유로 인해 치수가 제한되는 보드 또는 마더보드에 모듈을 효과적으로 배치하는데 선형 및 비선형 배열의 조합이 또한 사용될 수 있다.
마더보드는 고장난 메모리 모듈을 교체함으로써 메모리 시스템의 수리를 용이하게 하는데 사용될 수 있다. 마더보드가 필요한지 여부는 다른 요인들 중에서 고장율과 보수평균시간(Mean-Time-To-Repair, MTTR) 분석 및 복원할 수 없는 데이터 손실의 가능성에 따른다.
대부분의 예들은 트리가 되는 것으로서 소자들의 배열을 거론하고 있으나, 이는 연결의 토폴로지를 제한하려는 것은 아니다. 하나 이상의 엔트리 지점 또는 "루트"가 있고 명령과 데이터가 원형 모양과 같이 논-"트리" 경로를 따라 흐를 수 있는 예들이 도시되어 있다. 트리 예는 종종 상황의 명확한 설명을 하게 하며 리버스 경로(reverse path) 스케쥴링과 같은 태양에 대한 설명을 간략히 할 수 있다. 그러나, 이는 예로서 경합 해결(contention resolution), 큐(queuing), 저장 및 전송기술의 이용을 배제하는 것을 의미하지는 않는다. 즉, 상기 배열은 다른 네트워크 구성에 일반화될 수 있다. 또한, 하나 이상의 개개의 메모리 컨트롤러가 사용될 수 있거나 컨트롤러들이 협동하는 식으로 동작할 수 있다.
특정 개수의 메모리 모듈들이 도면에 도시되어 있고 특정 개수의 모듈들이 거론되어 있으나, 이는 이러한 방식으로 연결될 수 있는 메모리 모듈 또는 다른 장치의 개수를 제한하려는 것이 아니며, 단지 편의상 도시된 도면에 있는 예들에 대한 설명을 쉽게하기 위한 것임을 알아야 한다.
도 7은 비선형 배열로 PC 보드상에 배치될 수 있는 이진 트리 구성으로 연결된 6개의 메모리 모듈을 도시한 것이다. 이러한 배열은 특정 디자인의 물리적 요건을 기초로 사용하기가 쉬울 수 있다.
도 8은 비선형 배열로 PC 보드상에 배치될 수 있는 삼진 트리 구성으로 연결된 7개의 메모리 모듈을 도시한 것이다. 이는 삼진 구조를 갖는 시스템을 구성하기 위해 2 이상의 2차 포트를 갖는 CSE의 사용을 도시한 것일 뿐만 아니라 트리의 가능한 노드 모두가 장치에 있는 것은 아니다.
간략히 하기 위해, 본 발명의 예들은 일반적으로 이진 트리 구조에 제한되나 도 8의 배열은 삼진, 사진 및 고차 트리가 구성될 수 있음을 예시하고 있다. "트리"라는 용어는 임의의 차수의 트리를 포함하는 것을 말한다. 트리라는 용어가 제한없이 사용되는 경우에 모듈의 일부 또는 모두의 선형 또는 직렬연결 배열이 배제되지 않으며, 이진 트리라는 용어의 사용은 이진 또는 고차 트리를 의미한다. 상술한 바와 같이, 예로서 트리의 사용은 예들에 대한 장치 또는 방법의 사용을 국한하는 것이 아니라 이러한 장치 및 방법이 일반적으로 네트워크에도 적용될 수 있는 것을 말한다.
도 9는 메모리 컨트롤러(MC)가 또한 트리(M1 및 M2)의 2차 레벨에서 모듈에 연결되는 비선형 배열로 PC 보드상에 배치될 수 있는 기본적으로 이진 트리 구성으로 연결된 8개 메모리 모듈을 도시한 것이다. 이 구성은 MC와 메모리 모듈 간의 통신 대기시간을 줄이고 뿐만 아니라 M0 통과로부터 몇몇 신호들을 방향전환시킴으로써 M0의 전력소비를 줄이는데 사용될 수 있다. 이러한 구성은 또한 명령을 발송하고 응답을 수신할 뿐만 아니라 MC에서 트리의 2차 레벨(M1 및 M2)까지의 연결 링크 또는 레인들 위로 그리고 상기 연결을 통해 제 1 레벨(M0)로 데이터를 송수신함으로써 스루풋(throughput)을 높이는데 용이하게 역할을 할 수 있다.
도 10은 M4에 연결된 그래픽 프로세서(GPU) 장치와 M5에 연결된 네트워크 I/O 장치와 같은 다른 장치들 또는 모듈들과 비선형 물리적 배열로 PC 보드상에 배치될 수 있는 이진 트리 구성으로 연결된 8개 메모리 모듈을 도시한 것이다. 각각의 다른 장치들 또는 모듈들은 직접 접속될 수 있고 MC가 또한 각각의 이와 같은 모듈에 CSE를 통해 접속할 수 있는 연결된 내부 또는 외부 메모리, GM 및 NM을 각각 가질 수 있다. GPU로부터 메모리 모듈(GM)로 직접적인 접속을 제공함으로써 다수의 접속 동작들이 충돌없이 발생하게 함으로써 전반적인 스루풋을 더 향상시킬 수 있다.
비교를 위해, 풀리 버퍼 딤(Fully-Buffered DIMM, FB-DIMM)으로서 알려진 인텔사가 개발한 메모리 시스템과 유사한 것으로 여겨지는 메모리 시스템의 태양을 나타내기 위해 의도된 베이스라인(baseline) 구성이 도 11a-11f에 도시되어 있다. 본 명세서에서 설명은 인텔사에 의해 공개적으로 이용될 수 있는 참조문헌들의 해석에 기초한 것이다. 그러나, 상세한 설명과 명세서들이 전반적으로 이용된 것으로 보이지 않기 때문에, 어떠한 표현도 인텔사가 제조한 바와 같은 도11에 도시된 장치가 실제로 인텔사가 구성한 메모리 시스템에서 본 명세서에 기술된 바와 같이 동작하는 것으로 되어있지 않다. 오히려, 베이스라인 구조와의 비교가 편리한 경우에, 도 11에 기술된 배열이 의미있다. 인텔 어드밴스드 메모리 버퍼(Advanced Memory Buffer, AMB)용으로 인텔사가 개시한 인터페이스 특성을 갖는 장치가 각 메모리 모듈 m(200)에 포함된다.
본 명세서에 사용된 읽기명령 및 응답을 위한 신호 협정은 기능적 설명을 간략히 하기 위해 인텔사가 사용한 것으로 나타난 협정과 다르다. 예컨대, 인텔 AMB에서, "읽기" 명령은 본 명세서에서 논의를 위해 한 메세지로 압축된 다수의 메세지들을 취한다. 추가로, AMB는 하나 이상의 AMB에 대한 명령을 포함하는 단일 "프레임"을 전송하는 능력을 갖는 것으로 나타나며, 예컨대, 몇몇 명령들에 대해 "프레임"은 메모리 컨트롤러 mc(300)와 각각이 진보된 메모리 버퍼(AMB)를 갖는 메모리 모듈 mk 사이의 다양한 통과 단계에서 특정 모듈에 의해 수신되는 것을 의미하는 것으로 단언할 수 없다.
도 11a에서, 읽기명령이 어드레스(Ai) 및 읽기명령(R)과 같이 메모리 컨트롤러(300)에 의해 발송되고, "패킷"과 같이 다운스트림 경로를 통해 전송된다. 주어진 예에서, 데이터 어드레스 위치는 메모리 모듈(mi)에 있다. 도 11b는 메모리 모듈 mi(200i)에 도착한 패킷을 도시한 것이다. 그러나, FB-DIMM 시스템에서, 패킷은 선형 체인 아래로 한 모듈에서 다음 모듈로 신속히 반복된다. 따라서, 읽기 명령이 도 11c에 도시된 바와 같이 메모리 모듈(mi)에 어드레스되었더라도, 패킷이 메모리 모듈(mk)(200k)로 또한 전송된다. 따라서, 읽기 명령을 포함한 각각의 패킷이 일련의 메모리 모듈(200)의 전장(全長)을 가로지른다. 메모리 모듈(mi)(200)로부터의 응답은 어드레스(Ai)로부터 데이터 읽기를 나타내고 데이터 비트 또는 데이터 패킷을 포함하며, 이 예에서는 업스트림 경로를 지나가는 d0-d3가 도 11에 도시되어 있다. 도시된 데이터 비트의 수는 표현상 편의를 위해 제한되며 더 많거나 또는 더 적을 수 있거나, 가변적일 수 있다. 도 11e 및 도 11f는 메모리 모듈(m0)을 지나가는 데이터와 메모리 컨트롤러(mc)에 의해 수신된 데이터를 도시한 것이다. 읽어진 데이터 패킷은 디스큐, 역직렬화(deserialized) 또는 복호화없이 반복 처리에 의해 모든 모듈들에 의해 전송된다.
예로, 도 12a-12f는 도11에 도시된 베이스라인과 비교하기 위해 선형 형태로 편성된 일련의 메모리 모듈(M#)을 도시한 것이다. 그러나, 도 12의 메모리 모듈은 패킷이 특정한 CSE 또는 연결된 메모리용으로 의도하지 않은 경우에도 명령 패킷에 포함된 어드레스를 "스누프(snoop)"하거나 읽는 CSE를 포함한다. 각각의 CSE는 상류 경로가 점선으로 도시된 "감소된" 전력셋팅에 있는 상태에 있을 수 있다. 감소된 전력은 I/O 드라이버의 디파워링(depowering), I/O 로직의 클록 게이팅(gating)(및 중단될 수 있는 임의의 다른 연결된 로직), I/O 로직의 클록율 감소, I/O 로직의 전압 감소, I/O 로직의 누설전류를 감소하도록 설계된 I/O 로직에 기설정된 입력 로딩, 또는 반환된 데이터의 처리를 가능하게 할 정도로 충분히 빠르게 실행되지 않을 수 있는 칩의 임의의 부분에 의해 소비된 전력을 감소시키기 위한 임의의 다른 방법을 포함하나 이에 국한되지 않을 수 있다. 도 12d-12f에 도시된 예에서, 업스트림 링크는 반환 데이터에 앞서 전력 증강되고 그런 후 데이터 통과후에 전력 감소상태로 복귀한다.
이 예에서, 제어 신호는 다운스트림 경로가 전력 증강되는 데이터 라인을 통해 패킷으로서 이동된다. 패킷들이 "프레임" 또는 "슬롯" 타이밍 시스템에 전송되는 일 태양에서, 다운스트림 경로는 각각의 "프레임" 또는 "슬롯" 타임의 초기에 전력 증강될 수 있고 전송되는 패킷이 있는 경우 전송측이 여전히 전력증강된 채 로 패킷이 전송될 수 있다; 다른 경우로, 전송측은 다음 슬롯타임의 시작까지 전력감소될 수 있고, 수신측은 패킷이 수신되는지 여부에 대해 판단이 이루어질 때까지 전력 증강되어 진다; 어떠한 패킷도 없는 경우, 수신측은 다음 슬롯시간의 시작까지 전력 감소될 수 있다.
특히, 도 12a는 MC(10)가 어드레스(Ak)에 대한 읽기명령(R)을 보내는 상황을 도시한 것이다. 도 12b에서, 읽기명령(R) 데이터 패킷이 의도하지 않은 메모리 모듈(Mi)(Mi)에 도달하고, 메모리 모듈(Mk)로 전해진다(도 12c). 데이터 읽기명령( R)의 결과, 데이터(D0-D3) 패킷은 업스트림으로 전송되는데(도 12d), 메모리 모듈(Mi)(도 12e)을 지나 메모리 컨트롤러(MC)(도 12f)에 의해 수신되어 진다. 일련의 도 12c-f에서, 링크를 통해 읽기 데이터를 전송하기 전에 각각의 연속한 업스트림 링크의 전력 증강이 도시되어 있을 뿐만 아니라 읽기 데이터(D0-D3)의 통과후 각 링크의 전력 감소가 도시되어 있다. 본 배열에서, 다운스트림 링크는 제어 신호 뿐만 아니라 데이터가 상기 다운스트림 경로의 데이터 라인에 전송되기 때문에 모두 전력 증강되어 있다.
데이터 읽기명령(R) 패킷이 M0에서 Mi 및 Mk까지 다운스트림 경로를 따라 지나가기 때문에, 각각의 메모리 모듈(M)은 데이터 읽기 패킷을 관찰하거나 "스누프"하고 목적지 모듈과 명령의 특정 성질 모두를 탐지해 낸다: 이 예에서, Mk내 어드레스로부터 데이터를 읽어낸다. 이러한 읽기 데이터 트래픽은 Mk에서 Mc로 업스트림을 흐르게 하는 것으로 예상된다. 따라서, 데이터가 읽어지는 모듈과 MC 사이의 업스트림 경로에서 각각의 링크는 (점선에서 실선으로 전송으로서 도시된) 적절한 장래 시간에 전원이 켜져 읽기 데이터를 전송할 수 있고 읽기 데이터가 링크를 통해 전송된 경우 저전력 상태 또는 꺼짐 상태로 복귀할 수 있다. 또한, 읽기 데이터 명령(R)이 체인에 있는 마지막 메모리 모듈과는 다른 메모리 모듈로 어드레스되는 경우, 어드레스된 메모리 모듈(예컨대, Mi)과 MC 사이의 경로에 대한 업스트림 링크만이 적절한 장래 시간에 전원이 켜질 필요가 있어 전력소비가 감소된다.
도 13a-13f는 모듈들 간의 별개의 명령 및 데이터 라인을 갖는 CSE를 이용한 메모리 모듈(M)의 구성을 도시한 것이다. 신호 및 명령 라인들은 도시된 바와 같이 전용 신호라인이라기 보다는 단지 데이터 라인의 서브세트일 수 있다. 도시된 구성에서, 다운스트림 링크의 일부와 이들의 연결된 로직이 전력감소상태에 두어질 수 있다. 명령 제어 신호가 각 모듈을 지나갈 때, 신호가 복호화되고 적절하다면 다른 다운스트림 링크들도 데이터 패킷에 따르는 데이터 또는 명령을 전송하기 위해 전력 증강될 수 있다. 도시된 태양에서, 읽기명령(R)은 메모리 모듈(Mi)에서 어드레스(Ai)에 대해 발송되고, 읽기명령(R)과 어드레스 데이터(Ai)는 별도의 라인상에 전송된다. 어드레스 데이터(Ai)는 소정의 어드레스 또는 어드레스 범위가 메모리 모듈(Mi)에 있는 것을 나타낸다. 어드레스 데이터 패킷(Ai)이 읽기명령(R)보다 일찍 전송되기 때문에, 도 13a-b에서 알 수 있는 바와 같이, 읽기명령(R)보다 일찍 각각의 메모리 모듈(M#)에서 어드레스 데이터 패킷(Ai)과 어드레스 데이터가 예상된 명령의 전송 및 처리를 수용하기 위해 수신 모듈(Mi+1)과 전송모듈(Mi) 사이의 링크를 전력 증강시키는데 사용될 수 있다. 도 12에 대해 기술된 상황와 유사하게, 다운스트림 명령 경로는 명령이 수신된 후 다시 전력 감소될 수 있고, 업스트림 링크는 명령의 결과로서 읽어진 데이터의 전송을 위해 적시에 활성화될 수 있다.
따라서, 한 라인 또는 레인의 전력 상태가 제어 신호 또는 명령 신호를 기초로 장래 시간에 변경가능하다고 말할 수 있고, 어드레스 신호 또는 데이터 신호는 CSE에 의해 수신된다. 장래 상태변경의 시간 값은 수신된 명령의 특성, 목적지 어드레스, 네트워크에서 수신 CSE 의 대응부분 또는 비슷하거나 도출된 정보에 의해 결정될 수 있거나, CSE의 일부 또는 모든 라인 또는 레인에 대해 즉각적으로 발생하도록 의도될 수 있다.
또 다른 태양으로, 도 13b 및 도 13c의 비교에 의해 도시된 바와 같이, 명령신호는 no 명령이 다음 "프레임", "싸이클", 또는 명령들 간의 간격으로 사용될 수 있는 무엇이든지 시간주기내에 전송할 수 있는 다른 다운스트림되는 모듈에 나타나게 다운스트림 라인상에 no 연산("no op") 명령이 전송될 수 있도록 상기 명령의 타켓인 모듈(이 예에서 Mi)에 의해 변경될 수 있다. 예로서, 읽기명령이 도 13c에 없으나, 어드레스 데이터(Ai)는 어드레스 모듈보다 더 체인 아래에 있는 Mk에 의해 수신된다. 이는 Mi와 Mk 사이의 다운스트림 명령링크를 활성화시키지 않게 할 수 있다. 도 13d-f에 도시된 데이터 반환 시퀀스는 도 12d-f의 시퀀스를 따르며 자세하게 설명하지 않을 것이다.
각각의 어드레스 데이터 패킷은 메모리 모듈(실제로 메모리 모듈(20)의 CSE(15))을 통해 전달될 때 복호화될 수 있는 반면에, 명령 패킷은 단지 함께 전해질 수 있고, 어드레스 데이터 패킷에서의 추가 지연으로 신호들이 또한 다운스트림으로 진행함에 따라 어드레스 데이터 패킷과 명령 패킷의 도착 사이의 시간 간격이 감소하게 된다. 어드레스 패킷과 명령 패킷이 동일한 데이터 라인상에 순차적으로 전송되는 태양에서, 제 1 패킷에 의해 마주친 추가 처리지연을 수용하기 위해 제 1 패킷의 종단(trailing end)과 제 2 패킷의 선단(leading end) 사이에 시간간격이 두어진다. 이는 몇몇 상황에서 바람직할 수 있으나, 예시된 예에 대해 대역폭 손실을 나타낸다.
또 다른 태양으로, 어드레스 데이터가 메모리 모듈에서 동시에 복호화될 수 있고 또한 다운스트림 전송될 수 있어, 복호화 대기시간이 체험될 수 없다. 몇몇 예에서, 이는 명령이 실제로 필요한 것보다 한 링크에 전송되어 지나, 구성에 따라, 여분의 링크 끝단에서 명령을 수신하는 것과 관련한 CSE의 태양은 활성화될 수 없다.
또 다른 태양에서, 도 14a-f는 도 12 및 도 13의 배열과 유사한 배열을 도시한 것이다. 그러나, 앞선 예에서, 어드레스되는 모듈이 본 발명의 모듈의 업스트림인지 다운스트림인지 여부를 결정하기 위해 각 모듈에 대해 수행능력(capability)이 제공되었다. 이 결정은 대량의 모듈 어드레스에 대하여 수신된 어드레스의 비교및 사용된 로직의 복잡도에 따라 완료하기 위해 다수의 클록 싸이클을 필요로 할 수 있다. 이러한 처리시간으로 어드레스의 전송 및 MC에 의한 명령 사이의 시간에서 필요로 하는 구분이 커질 수 있다. 이러한 추가 구분은 어드레스 데이터를 다음 다운스트림 모듈(Mk)로 전송하기 전에, 목적지 모듈(Mi)에 의해 수신된 어드레스(Ai)를 변경함으로써 완화될 수 있으며, 새로운 어드레스(AX)는 적절한 모듈(M)에 의해 어드레스와 명령이 이미 해석된 것을 나타내는 플래그(flag)이다. AX는 역 어드레스(reversed address) 또는 일부 유사한 표시일 수 있다.
그 결과, 각각의 모듈은 단지 시스템내 모든 모듈 어드레스에 대해서라기 보다는 모듈(Mi) 자체의 어드레스 또는 어드레스 범위, 또는 역 어드레스에 대하여 수신된 어드레스(Ai)를 비교하기 위한 것일 수 있다. 다른 태양에서, 도 14의 예는 도 12 및 도 13의 예와 유사하며, 상세한 설명의 반복은 생략한다.
고속 데이터 링크는 동기화를 유지하기 위해 클록복원 메카니즘을 이용할 수 있다. 단위 시간당 충분히 많은 비트 전송이 수신되지 않으면, 링크의 클록시간 동기가 상실될 수 있고, 동기의 복원이 시간 걸릴 수 있어 효율이 감소될 수 있거나, 데이터 손실이 야기되어 재전송이 발생될 수 있다. 동기를 유지하기 위해, FB-DIMM과 같은 시스템이 이러한 전송을 포함하고 모든 모듈에 전송되는 동기("sync") 프레임을 주기적으로 전송할 수 있다.
그러나, 많은 메모리 모듈을 갖는 구성에서, 이러한 동기화 프레임이 각 모듈에 전송될 수 있고 이에 따라 시스템내 모든 링크를 지나거나 다수의 동기화 프레임이 트리의 다양한 리브(leaves)들에 전송될 수 있다. 모듈의 트리가 충분히 큰 경우, 시간 동기화를 유지하기 위한 이런 처리는 시스템의 대역폭의 상당한 부분을 소비할 수 있고, 클록의 동기 필요성은 클록들이 새로고침되지 않는 한 시스템 구성의 크기와 복잡도를 제한하게 하는 경향이 있을 수 있거나, 클록 동기는 다른 수단에 의해 유지된다.
다른 접근은 타이머가 달린 각각의 모듈을 제공하고, 충분히 많은 전이가 있었기 때문에 경과된 시간 간격을 추적하며, 로컬 베이시스(lacal basis)상에 클록 재동기화를 개시하는 것이다. 이러한 예가 카운터 또는 감시 타이머(watch-dog timer)이다.
도 15는 MC에서 M0까지 읽기명령의 전송을 도시한 것이다. 읽기명령(R)이 모든 모듈에 전송되어, 명령 레인들이 디파워(de-powered)되지 않는다. 소정의 시간간격이 경과되고, 레인이 전송 데이터에 사용되지 않는 조건하에서, 모듈은 데이터의 전송을 개시하고, 상기 데이터는 링크의 동기를 계속 유지하기 위해 "no op" 데이터 패킷이될 수 있다. 도 15d는 모듈 M0가 어떠한 패킷도 프레임내 M0>Mi 링크를 사용하지 않을 것이라 판단하고 모듈 Mi에서 수신기 동기화를 유지하기 위한 목적으로 링크의 레인상에 전이 신호를 전송할 기회를 이용하는 것을 도시한 것이다. 마찬자기로, Mk는 Mk>Mi 링크가 상기 프레임내에 사용되지 않을 것이라 판단하고 Mi로 전이 신호를 전송한다.
또한, 잉크가 반이중 통신방식(half-duplex), 또는 완전 이중통식방식(full duplex)인 경우, 이에 따라 전송이 높은 트래픽 밀도를 갖지 않는 모듈들 사이의 경로에 있도록 링크 또는 레인 또는 라인이 방향변경될 수 있다. 이러한 접근은 모듈이 어떠한 데이터도 다른 방향으로부터 예상되지 않는 것으로 판단할 수 있도록 명령 정보의 수신에 따를 수 있고 반이중 통신방식의 모두 또는 일부분의 방형변경이 수행될 수 있다. 이는 도 15e-f에 도시되어 있으며, 모듈(Mi 및 Mk)이 도 15e에서 Mk > Mi 링크를 바꾸고 그런 후 도 15f에서 Mi가 Mk에서 수신기 동기화를 유지하기 위해 전이 신호를 보낸다. 화살표 헤드라인이 링크를 나타내는 것은 반복할 만하며, 화살표 헤드는 데이터 흐름의 현재 방향을 가리키고, 링크는 데이터, 명령 및 어드레스 데이터에 대해 하나 이상의 신호라인(레인)일 수 있으며, 링크의 방향은 특별한 도면에 도시된 방향과 거꾸로 될 수 있으며, 이는 Mi 및 Mk 사이의 링크가 도 15g의 상황과는 도 15f에서 거꾸로 되어 있는 상황이다. 이 논의에서, 전송 방향에 반대되는 능력이 가능한 것으로 추정되나 반드시 그러할 필요는 없는데, 이는 실제 실행은 애플리케이션에 따르기 때문이다.
도 16은 점 대 점 링크를 갖는 트리 구조로 배열된 모듈 컨트롤러(MC)와 모듈(M0,...,M6)를 도시한 것이다. 이러한 트리는 어드레스를 포함하는 데이터 패킷들이 전송되고 (CSE와 같은) 각각의 스위치 또는 (메모리 모듈 또는 CSE를 포함하는 다른 모듈과 같은) 모듈이 어드레스를 복호화하는 곳에 동작될 수 있고 대응하는 데이터 또는 명령이 지향되어야 하는 곳을 결정한다. 그러나, 이러한 처리는 데이터를 수신하고, 상기 데이터를 목적지 어드레스와 비교하여, 취해지는 동작을 결정하기 위해 각 단계에서 시간이 걸린다. 어드레스가 명령 또는 데이터에 시간상으로 앞서 전송되고 직렬 링크가 사용되는 경우, 어드레스와 다음 데이터 간의 시간간격은 어드레스 평가에 필요로 하는 데이터 처리로 인해 각 호프에서 줄어들게 된다. 이러한 동작은 처리없이 단지 데이터만을 전송하는 것보다 시간이 더 걸린다. 병렬로 데이터 처리 기능을 수행하는 것은 데이터를 바람직하지 못한 링크로 전송하는 것을 포함하여 추가적인 복잡도를 필요로 할 수 있다. 병렬처리가 수행되는지 여부는 필요로 하는 전체 네트워크 대역폭에 따른다.
추가적 고려는 각 데이터 패킷내 데이터 비트의 시간 분산이다. 많은 링크에서, 데이터의 비트는 병렬 신호라인 또는 레인상에 전송될 수 있다. 이는 데이터가 예에서와 같이 직렬형태로 각 라인상에 전송된 1이상의 비트를 가지며 병렬라인을 통해 전송될 수 있기 때문에 상황을 간략히 한 것으로 이해되어야 한다. 라인상에 데이터의 차등지연, 즉, 다른 요인들 중에서 라인 길이와 임피던스와 연관된 차등지연으로 인해, 데이터 비트는 즉각적인 처리를 위해 충분한 동시성(simultaneity)을 가지며 도달할 수 없고, 모든 비트들이 복호화 또는 다른 데이터 처리와 함께 처리하도록 모듈에 의해 수신될 때까지 하나 이상의 클록 싸이클을 대기할 필요가 있을 수 있다. 이러한 지연은 어드레스 또는 다른 정보가 작동될 수 있기 전에 각 노드에서 필요한 시간을 더 증가시킨다. 이러한 상황에서, 그리고 데이터 전송을 필요로 할 때에만 링크의 레인 또는 라인을 온시키는 것이 바람직한 경우에, 어드레스 정보는 명령 또는 데이터에 앞서 상당한 시간주기가 전송되어야 할 수 있다. 이는 시스템 전송 능력 또는 대역폭을 감소시키는 효과가 있다.
도 16은 도 12와 유사하나, 모듈이 트리에 배열되어 있고 관련된 경로만이 도시되어 있다. MC는 모듈(M5)(도 16a)에서 어드레스에 대해 읽기명령(R)을 발송한다. M0에서, 어드레스와 데이터는 M2로 발송되는 한편, M1과 이와 연결된 모듈에 대한 경로들은 이용되지 않는다(그러나, "no op" 명령이 후술되는 바와 같이 발송될 수 있다)(도 16b). M2에서, 로컬 CSE와 어드레스(A5)에 의해 또 다른 결정이 이루어지고, 읽기명령(R)이 M5로 전송된다(도 16c). 도 16a-c에 도시된 바와 같이, 어드레스 패킷(A5)과 읽기명령(R) 사이의 간격의 비교는 정성적인 방식으로 2개 패킷들 간의 시간 간격에서 점진적인 감소를 보이므로, 어드레스와 명령 데이터 패킷이 M5에서 수신되는 도 16c에서 이들 사이의 시간 간격이 최소화될 수 있다. 이는 실질적으로 모든 간격이 개입한 모듈들에서 복호화 지연에 의해 침식되도록 MC에서 2개 패킷들의 발행들 간의 간격이 설정된 상황에 해당할 수 있다. 읽기명령(R)에 대한 모듈(M5)의 응답(도 16d)은 앞서 설명된 것을 따르므로 여기서는 상세히 설명하지 않고 있다.
도 17a-d는 도 16에 도시된 구성과 유사한 구성을 도시한 것이나, 상술한 어드레스 또는 데이터 레인 이외에 별도의 신호 레인들이 명령을 위해 사용된다. 명령 및 어드레스 또는 데이터용의 별도의 레인들이 있기 때문에, 어드레스와 데이터 링크의 대역폭을 더 효율적으로 이용할 수 있다. 어드레스의 전파 지연은 이 예에서 설명을 간략히 하기 위해 각각의 모듈들 간에 동일한 것으로 가정할 수 있어, 읽기명령의 전송은 목적지 모듈(이 예에서 M5)에서 어드레스와 데이터 도착 시간 사이의 소정 간격이 발생하도록 조정될 수 있다. 이는 일련의 읽기명령(R)이 연이어 발송되는 경우 이점적일 수 있다.
이전 예에서와 같이, 어드레스 링크와 명령 링크는 사용하기에 앞서 적절한 장래 시간에 전력 증강될 수 있고, 정보 패킷들이 링크를 지나간 후에 전력 감소될 수 있다. 몇몇 효율은 정보의 밀접하게 배치된 패킷들을 수용하기 위해 사용 후 각각의 링크들이 시간 주기동안 전력증강된 채 있게 할 수 있는 것이 당업자에게 이해된다. 이러한 시간 주기는 다수의 클록 싸이클 면에서 특징적일 수 있다.
도 18은 어드레스 표시자를 이용하여 라우팅에 영향을 끼치는데 사용될 수 있는 명령의 일 예를 도시한 것이다. 이 도면의 토폴로지는 도 18의 토폴로지와 동일하나, 명확히 하기 위해, 명령 라인만이 도시되어 있고, 필요에 따라 링크들이 온오프되는 가능성이 억제되었다. 이 예에서, 어드레스 명령은 목적지 어드레스라기 보다는 자체 라우팅 패킷으로서 구성되고, 3개의 2 비트어 뒤에 목적지 모듈에서 실행되는 로컬 명령을 포함한다. 어드레스 워드는 획이 가는 6각형으로 둘러싸여 있는 것으로 도시되어 있고 로컬 명령은 굵은 6각형으로 둘러싸여 있는 것으로 도시되어 있다. 또한, 각각의 워드는 설명을 쉽게 하기 위해 최하위비트(Least Significant Bit, LSB)와 최상위비트(Most Significant Bit, MSB)를 갖는 것으로 특징될 수 있다. S0로 전송된 4개의 2비트어는 2개의 평행선상에 전송되는 것처럼 도시되어 있다. 대안으로, 정보가 비트 시리얼(bit serial) 순서로 신호라인을 통해 경로로 전송될 수 있다.
각각의 비트어에서 비트의 해석이 도 18과 함께 표에 도시되어 있다. 일반화를 위해, 각각의 모듈은 각각의 노드가 단지 스위치일 수 있거나 이외에 상기 스위치 위치에 어드레스되는 다른 전자장치들일 수 있음을 가정하여 S0-Sn로 도시되어 있는 것에 유의하라. 스위치는 명령에 대한 해석 및 응답을 할 수 있는 CSE 또는 다른 장치일 수 있다.
이 예에서, 각각의 스위치 모듈(Sn)은 하나의 입력포트와 2개의 출력포트를 가지며 상기 출력포트는 "0"과 "1"로 표시된다. 어드레스 명령은 목적지 선택 테이블에 따라 해석되며, 상기 테이블에서 2비트어의 값이 사용되는 출력포트를 결정한다. 단지 2개의 출력포트만이 도시되어 있으나, 이는 스위치 소자의 출력포트의 개수를 제한하거나 각 어드레스 명령어내 비트의 수를 제한하려는 것은 아니다. 또한, 각각의 입력포트와 출력포트 및 업스트림 방향과 다운스트림 방향은 논의의 편의상 사용되었으며 임의의 논리적 또는 물리적 입력포트와 임의의 출력포트 사이의 연결을 배제하지 않았다.
어드레스 패킷에서 최종 워드는 로컬 명령, 즉, 목적지 스위치에서 실행되는 동작을 포함한다. 명령의 예들이 로컬 명령 테이블에 주어져 있다. 예컨대, 1(이진수 01) 값이 CSE를 선택하고, 2(이진수 10) 값이 로컬 메모리를 선택하며, 3(이진수 11) 값은 동작없음(no operation) 명령(NOP 또는 "no op")이다. 도 18a은 S5를 위해 의도된 명령에 대한 것으로 S0로의 입력시 어드레스 명령 패킷을 도시한 것이다. 선두 비트쌍(이진수 10; MSB, LSB)이 S0의 출력포트(1)를 선택한다. 도 18b는 S0의 출력시 데이터를 도시한 것으로, S0에서 이미 작동된 바와 같이, 선두 비트어(1)(이진수 10)가 어드레스 명령으로부터 떼어져 나간 것에 유의하라. 이런 식으로, 각 스위치(S)는 수신될 때 패킷내에 선두 비트어를 기초로 동작의 과정을 결정할 수 있다. 그러나, 각 스위치(S)에 의해 해석되는 비트어의 패킷내의 위치는 선두 비트어와는 다를 수 있다. 과정을 간단히 하기 위해, 이러한 포맷으로 어드레스 명령을 해석하는 시간은 각각의 모듈(Sn)에서 같으므로, 이러한 동작을 수행하기 위한 지연증분(incremental delay)은 어드레스 명령이 보내지는 트리내 목적지의 깊이에 무관하다.
선두 2비트어가 1(이진수 01)인 것으로 스위치(S2)를 통과하고, 포트(0)로 전송된 후, 상기 선두 비트어가 다시 떼어져 나간다. 도 18c는 S5가 수신하게 될 어드레스 명령을 도시한 것이다. 선두 비트어는 이제 로컬적으로 3(이진수 11)이며, 데이터 흐름이 로컬 모듈에 대해 의도된 것을 나타낸다. 다음 뒤이은 비트어는 로컬적으로 실행되는 명령으로서 이 경우 3(이진수 11)인 NOP로서 해석된다. 어드레스 모듈로부터의 임의의 응답이 다시 업스트림으로 전송된다.
또 다른 예에서, 도 19에 도시된 바와 같이, 스위치(S)의 동작으로 인해 NOP가 어드레스 명령에 의해 선택되지 않은 하나 이상의 출력포트로부터 전송될 수 있다. 이는 동기화를 유지하기 위해 효율적인 방식으로 트리 전체로 클록 펄스의 전파를 용이하게 할 수 있다. S0의 입력에서 어드레스 명령은 로컬 메모리 명령(2)(이진수 01)을 갖는 S5에 대해 의도되어 있다. 도 19b에 도시된 바와 같이, 도 19a에 도시된 본래 명령에 비하면, 어드레스 명령이 떼어져 나간 선두 비트어로 S0의 포트(1)에서 나타난다. 이와 같이, 포트 0이 선택되지 않았고 따라서 로컬 어드레스에 잇따라 NOP를 구성하는 포트 0(즉, S1에 연결된 S0의 포트)에 연결된 다음 스위치로 패킷을 발송할 수 있다. 도 19c는 NOP의 수신에 응답한 S1의 동작을 도시한 것이다. S1의 포트들 중 어느 것도 데이터 입력용으로 선택되지 않았기 때문에, S1의 동작은 로컬 어드레스 다음에 S3 및 S4로 전파되는 NOP를 구성하며 포트 0 및 포트 1 모두에서 패킷을 발송하게 될 수 있다. S2의 동작은 다를 수 있고, 도 19c에 도시된 바와 같이 입력 어드레스 명령은 포트 0(이진수 01)으로 상기 어드레스 명령을 발송하고 선두 비트어에서 떼어져 나가며 S5로 상기 명령 패킷의 나머지를 전송하게 된다. 그러나, S2의 포트 1은 이러한 상황에 어드레스되지 않았고, S6로의 로컬 어드레스와 NOP를 포함한 패킷이 출력될 수 있다. 트리의 끝("리브들" 또는 "리브")에서 각각의 모듈(이 예에서 S3,S4,S5,S6)은 또한 각각의 출력포트에서 로컬 명령과 NOP를 발송할 수 있으나, 더 이상 다른 경로가 연결되지 않는다면, 처리는 종료된다. 모듈들은 또한 트리 리브들로서 동작하도록 구성될 수 있고 다운스트림 출력포트는 비활성화되거나 생략될 수 있다.
모듈의 트리는 링크가 도 3에 도시된 타입의 CSE(15)를 사용하며, 세분화 정도에 따라 2 이상의 명령의 동기 또는 동시 실행을 허용하는 도 20에 도시된 바와 같이 채널화될 수 있도록 구성될 수 있다. 이 예에서, 2개의 별개의 데이터 패킷들이 도시되어 있다. 읽기명령(R)을 실행할 수 있는 제 1 패킷이 모듈 M4에서 M1 및 M2를 통해 MC로의 복귀가 도시되어 있다. 동시에 읽기명령(R)을 실행할 수 있는 제 2 패킷이 모듈 M6에서 M2 및 MO를 통해 MC로의 복귀가 도시되어 있다. 복귀 패킷은 라인의 많은 레인들을 사용할 수 있고, 레인들의 개수는 모듈들 간의 링크에 있는 레인들의 총 개수보다 적을 수 있다. 링크내 "채널"간의 레인들의 분할이 같을 필요는 없다.
트리의 또 다른 채널화가 도 21에 도시되어 있다. 여기서, 동시에 읽기명령(R)이 각각의 모듈(M3 및 M6)로부터 처리되기 때문에, 직접 메모리 액세스(Direct Memory Access, DMA) 전달이 M0 및 M2를 통해 모듈 M4와 M5 사이에서 수행될 수 있다. 모듈 M4에서 M5로 데이터의 전송은 모듈 M3와 M6로부터의 진행시 전송과 같은 속도로 어떠한 방해없이 발생할 수 있다. 이러한 구성으로 DMA 전송은 액세스되지 않은 임의의 모듈로부터 또는 모듈로 수행되거나, 한번에 하나 이상의 데이터 경로를 처리할 수 있는 임의의 모듈로부터 수행될 수 있다. 이러한 방식으로, 기본적으로 동시에 발생하는 다른 액세스 수행에 영향을 끼치지 않고도 그 배경에서 직접 메모리 액세스가 수행될 수 있다. 모듈내 조정과 함께, 또는 모듈이 멀티포트 메모리를 포함할 수 있는 경우와 같이 모듈이 한번에 하나 이상 동작/접속을 지원할 수 있는 경우, 또는 CSE가 충돌 동작의 일부 또는 모두를 완충시킬 수 있는 경우에, 모듈 컨트롤러로부터 DMA와 같은 트리내에서 동시에 동작을 수행하는 모듈들로 전송된 동작들을 수행할 수 있다. DMA 동작은 또한 데이터 전송을 달성하기 위해 CSE내 논리적 또는 물리적 포트 중 하나에 대한 연결 가능성의 예로서 다운스트림 포트에서 업스트림 포트로의 연결의 예이다.
도 22는 예컨대 트리 구조에서 동기식으로 또는 동시에 발생하는 데이터 전송으로, 이 예에서, 모듈(M8)로부터 모듈 M4, M1 및 M0을 지나는 읽기 동작(모듈 M8과 모듈 MC 사이에 긴 점선으로 도시됨)과 모듈 MC에서 모듈 M0, M2 및 M5를 지나 모듈 M9로의 쓰기 동작(모듈 MC와 모듈 M9 사이에 실선으로 도시됨)의 양식화된 도면이다. 읽기명령(R)에 해당하는 데이터가 모듈 M5에서 모듈 M2, M0 및 M1을 지나 모듈 M4로(짧은 점선으로 도시됨) 전송된다. 따라서, 메모리 전송이 모듈의 트리내에서 발생하는 한편 특정 소스 및 목적지 어드레스에 따라 액세스가 MC로부터 비동기적으로 수행될 수 있다.
도 23은 많은 링크들이 저전력상태(점선으로 도시됨)에 있는 구성을 도시한 것이다. 데이터가 다운스트림 방향을 따르는 것을 어드레스 명령, 이 경우 읽기 명령(R)의 수신이 나타내는 경우, 상기 읽기명령(R)이 이동되는 다운스트림 경로들은 상기 읽기명령(R)이 전송될 수 있도록 전력증강된다. 이는 도 23b에서 MC에서 M0 링크의 실선 변화로 도시되어 있다. 도 23c는 MC에서 M0 링크의 전력감소와 M0에서 M2 및 M2에서 M5 링크의 전력증강을 도시한 것이다. 도 23d는 읽기명령(R)에 응답하여 복귀되는 데이터를 전송하기 위해 적절한 시기에 M5에서 M2로 그리고 M2에서 M0로의 연이은 전력증강을 도시한 것이다.
도 24는 업스트림 경로가 저전력상태에 위치될 수 있는 것을 제외하고는 도 23의 구성과 유사한 구성을 도시한 것이다. 일반적으로 한 경로에 대한 정상동작으로의 복귀는 경로회로가 매우 낮은 소비전력 상태에 있는 경우 더 길어진다. 업스트림 데이터 경로가 이와 같은 상태에 있는 경우 점선으로 도시되어 있다(예컨대, 전원 온 상태, 대기상태 및 전원 오프 상태 등의 사이에 식별이 이루어질 수 있다. 이러한 식별을 하는데 있어, 전체 소비전력에서의 차와 완전한 성능 상태로의 전이 시간에서의 차가 내포되어 있으나, 시간량 또는 전력량이 특별한 디자인에 대해 특정되어 진다). 상술한 바와 같이, MC와 목적지 모듈(이 경우 M5) 간의 경로상에 각각의 모듈들은 특정한 명령타입이 각 모듈(이 경우 M0 및 M2)을 통과한 것과 상기 명령이 어드레스된 트리내 깊이를 ("스누핑"에 의해) 알게 된다. 따라서, 데이터가 링크를 통해 전송될 때 동작(전력증가) 상태에 있을 수 있도록 장래 시간에 각각의 업스트림 링크의 재구동을 계획할 수 있다. 도 24a-c는 또한 어드레스 경로상에 없는 트리의 브랜치들에 NOP 명령(N)의 전송을 도시한 것이다.
명령이 전송될 수 있는 경우에 대해 명령이 제한될 수 있는 시스템에서, 예컨대, 슬롯 전송시간을 갖는 시스템에서, 또는 명령들 간에 최소 간격 또는 소정 명령들이 전송될 때 제한이 있을 수 있는 경우에, 전력절감이 더 달성될 수 있다. 도 24a-d는 예컨대 (일점쇄선으로 도시된 바와 같이) 슬롯 명령 타이밍을 갖는 시스템에서 어드레스 명령을 전달하는 링크가 어떻게 슬롯의 초기에 적시에 구동될 수 있는 지를 도시한 것이다. 전송할 어떠한 명령도 없다면, 링크는 다음 슬롯타임의 시작 때까지 전력감소될 수 있다. 전송할 명령이 있다면, 링크는 명령이 전송될 수 있도록 전력증강된 채로 있다. 도 24b-d는 또한 어떻게 정해진 명령시작 시간없이 시스템내에서 NOP 명령(N)이 또 다른 명령이 수신될 필요가 있을 수 있어 다시 전력증강되는 시기일 때까지 사용되지 않은 링크들이 연결된 명령 링크를 전력감소시킬 수 있게 상기 명령에 의해 택해지지 않은 링크들로 전송될 수 있는지를 도시한 것이다.
소정의 물리적 레인 전송기술들에 대해, 레인의 전력증강 또는 감소로 레인의 송신기 및 수신기 일단 모두가 동작할 필요가 있다.
어드레스 명령의 또 다른 예로서, 명령의 확장은 명령의 방송 또는 멀티캐스트 분포를 용이하게 할 수 있다. 도 25는 0 값(이진수 00)을 갖는 방송명령과 확장 명령 테이블을 포함한 로컬 명령의 확장 테이블이다. 확장명령과 연계된 비트어가 점선으로 형성된 육각형내에 도시되어 있다. 어드레스 패킷내 마지막 비트어로서 도시되어 있으나, 확장명령의 위치는 다를 수 있다. 확장명령은 1 값(이진수(01)을 갖는 읽기, 2 값(이진수 10)을 갖는 쓰기, 3 값(이진수 11)을 갖는 방송시작(Broadcast-start), 및 0 값(이진수 00)을 갖는 방송전송(Broadcast-forward)을 포함한다. 확장명령은 전송된 시퀀스에서 로컬 명령어에 잇따를 수 있다. 이 예에서, 어드레스 명령은 어드레스에서 첫번째 비트어가 S1에 연결된 포트 0을 선택함에 따라 S1으로 보내진다. NOP가 선택되지 않은 포트인 S0의 포트 1로부터 전송되고, 결국 도 25b-c에 도시된 바와 같이 S5 및 S6으로 전파된다. S1으로 전송된 패킷에 대해(도 25b), 제 1 비트어는 S1이 명령의 목적지이고, 상기 로컬 명령은 방송명령에 따라 0 값(이진수 00)인 것을 나타낸다. 스위치 S1은 상기 방송명령에 응답하여 새로운 메세지를 생성할 수 있다. 방송명령은 스위치 S1의 각각의 포트 0 및 포트 1로부터 발송될 수 있고, 상기 스위치 S1은 각각 포트 0 및 포트 1에 각각 연결된 트리에서 다음 스위치인 S3 및 S4로 어드레스된다. 방송명령은 확장명령으로서 0 값(이진수 00)을 갖는 방송전송의 확장명령을 갖는다. 이와 같이 S3 및 S4는 트리 아래로 전파되는 유사한 명령들을 만들 수 있다.
도 26a,b는 S1의 입력에서 트리의 리브까지 제어의 흐름에 대한 상세도를 도시한 것이다. 이러한 구성은 많은 모듈들로/모듈들로부터 동시에 작은 개개의 상태/제어 메세지를 송신 및/또는 수신하는데 사용될 수 있다.
도 27a는 셀프 라우팅(self-routing) 메세지의 몇가지 다른 구성을 도시한 것이다. 매우 높은 속도가 필요한 태양에서, 레인 대 레인으로부터의 스큐로 인해 하나의 레인상으로 전송된 메세지만이 두번째 레인 또는 더 큰 레인들을 통해 전송되었던 메세지의 다른 부분들에 대해 대기를 겪을 수 있는 상당한 지연없이 해석될 수 있다. 본 명세서에는, 유용할 수 있는 다양한 속성들을 나타내는 많은 비트-시리얼 포맷(bit-serial format)이 기술되어 있다.
제 1 스위치가 최소 시간지연으로 메제지를 전송하는 것이 바람직할 수 있다. 예로서, 트리의 루트에서 제 1 모듈에 대해 예정된 메세지의 특수한 경우가 있다. 여기서, 메세지에서 (좌에서 우로 읽어) 첫번째 2비트는 이진수(01)이고 (읽기R, 쓰기W, 또는 다른 명령일 수 있는) 명령 CMD가 뒤따른다. 메세지가 최하위 레벨N(예컨대 리브)으로 보내진 예에서, 첫번째 2비트는 이진수 11 값을 갖는다. 이는 목적지로의 경로내 각각의 연이은 가지 또는 노드의 출력에 사용되는 포트에 따라 비트 패턴이 예컨대 0 또는 1인 N비트의 경로 정보일 수 있는 경로표시[PATH]가 뒤따른다. 이 경로표시 다음에 특정 모듈에 어드레스되는 명령 CMD가 온다. 바닥레벨로부터 처음으로 예정된 메세지는 리딩 비트 011과 그런 후 N-1의 경로 표시자를 갖는다. 그 다음 높은 레벨은 리딩 비트 패턴 001과 N-2의 경로 표시자를 갖는다. N-3 레벨에 대해, 리딩비트는 010이며, 메세지의 깊이에 대한 또 다른 정보가 잇따른 것을 의미한다. 그리고 나서, 패턴 이진수 11이 경로 표시자의 시작을 표시한다. 이런 식으로, 리딩 비트 패턴의 길이가 트리에 있는 도달 레벨에 대해 약 1비트씩 증가하나 경로 표시자[PATH]는 모든 레벨에 대해 길이가 1비트씩 감소하므로, 서문과 경로 표시자에 있는 비트의 총 수는 명목상 1비트내로 일정해질 수 있다. 이와 같이, 메세지 길이는 어드레스되는 모듈의 깊이와 연관된 길이에 있어 거의 변화가 없다. 도 27b는 도 26에 도시된 모듈 배열의 S9,S4,S1, 및 S0로 전송되는 메제지에 대한 서문을 도시한 것이다.
*명령이 실행되고/되거나 데이터가 복귀할 때에 대한 정보를 포함하는 추가 명령(CMD-TIME 및 CMD-EX)이 또한 도 27a에 도시되어 있다. 시간은 명령의 수신으로부터 절대시간 또는 상대시간일 수 있거나, 명령 자체의 성질을 기초로 한 해석을 가질 수 있다.
도 28a는 각 노드에서 리딩 비트를 떼어내는데 적합할 수 있는 메세지 포맷을 도시한 것이다. 모듈 0으로의 어드레스를 위한 포맷은 선도(leading) 0과 명령이 잇따르는지를 나타내는 비트 또는 NOP일 수 있다. 레벨 1에 어드레스되는 메세지는 리딩 1 다음에 포트 0 또는 포트 1을 가리키는 포트 선택기 비트(P)이다. 패턴 ON은 다시 모듈에 대한 명령이 (1)을 따르거나 NOP(0)가 필요한지(0)를 나타낸다. 경로 아래로 모듈들의 어드레스를 위해, 추가된 깊이를 나타내고 경로상으로 전송되는 한 쌍의 비트가 각 레벨에 추가된다. 각 레벨에서, 메세지의 첫번째 2비트는 메세지가 로컬 스위치에 어드레스되었거나 전송되어야 하는지를 결정하기 위해 해석될 수 있다. 메세지가 트리내 또 다른 다운스트림을 위한 것인 경우, 상기 메세지의 첫번째 2비트가 떼어내지고 상기 메세지는 적절한 포트를 통해 전송된다. 도면의 우측에 있는 직사각형 박스내 숫자들은 트리내 깊이 또는 순위를 나타낸다.
도 28b는 트리 아래로 다양한 단계들에서 S9로 전송된 메세지의 진행을 도시한 것으로, 선도 비트 쌍들은 메세지를 전송하는 기능을 제공한 후 떼어내어 진다.
버스(링크) 속도가 증가함에 따라, 동기 버스 구조에서 데이터를 클록 또는 명령과의 동기화와 관련된 문제들이 많아질 수 있다. 문제들 중 하나는 링크, 레인 또는 라인의 별개의 종점들이 다른 클록을 가질 수 있다는 것이다. 또한, 병렬 데이터 전송기술이 사용되는 경우, 링크에서 개개의 라인들의 유효한 물리적 길이가 일반적으로 다를 수 있고, 다른 전송 레인 또는 라인상에 전송된 비트의 도착에서 시간차가 있을 수 있다. 이를 데이터 "스큐(skew)"라 할 수 있다. 데이터 스큐 문제를 해결할 한가지 방법은 다음 호프상에 전송되는 패킷의 헤더가 해석될 수 있도록 각 호프에서 디스큐를 수행하는 것이다. 그러나, 이는 디스큐 처리가 적어도 각 노드 사이의 라인들 간의 최장 차등지연 만큼이나 많은 시간을 필요로 하므로 재전송에 상당한 대기시간이 추가될 수 있다. 다른 접근은 트리내 각 노드에서 디스큐를 수행하지 않고, 경로를 따라 스큐를 증가시키면서 어드레스된 모듈 또는 노드의 수신기에서 디스큐를 수행함으로써 이러한 추가 지연을 방지하기 위해 시도한 것이다. 그러나, 데이터 패킷의 일부가 상당히 더 일찍이 도달될 수 있더라도, 소스(예컨대 메모리 컨트롤러)로부터 목적지 노드로 누적된 차등지연이 수용되어야만 하므로, 누적 지연도 또한 총 지연을 상당히 추가할 수 있다.
인텔사가 개발한 FB-DIMM 기술에서, 장치들은 호프당 6개 UI까지 스큐에 대해 교정할 수 있는 것이 필요하다고 생각된다. 신호 전이간 평균 시간간격인 "UI" 또는 "단위 간격(Unit Interval)"이란 용어는 클록주기가 완전히 안정적이 않거나 지터가 있을 수 있기 때문에 클록주기 대신에 높은 클록속도로 사용될 수 있다. 호프당 스큐의 6개 UI가 예상되고, 메모리 시스템이 8개 호프를 갖는 경우, 총 스큐는 48UI이다.
4Gbps의 데이터 속도로 공칭상 2GHz의 클록속도로 운영되는 링크의 경우에, 1UI=250ps이므로, 48UI의 지연 스큐는 스큐의 12 나노세컨드(ns)와 등가이다. 즉, 한 레인상에 첫번째 도착비트와 다른 레인들 중 하나에 마지막 도착 비트 간에 12ns가 필요한 것으로 가정된다. 나중에 도착한 비트들이 도달하는 그 시간까지 첫번째 도착비트가 메모리, 래치 또는 쉬프트 레지스터에 저장될 필요가 있으며, 그런 후 상기 비트들은 데이터를 디스큐하고 읽기 위한 장치로 전해진다.
일 태양에서, 본 명세서에 기술된 상호접속 시스템은 지연 등화, 지연 스케쥴링, 버퍼링 등에 대한 필요성을 완화하기 위한 이러한 방식으로 링크를 따른 장치 대 장치로부터의 지연이 고정되지 않은 경우에도 이러한 스큐 환경에서 동작하는 방법 및 장치를 제공할 수 있다. 도 29a는 모듈 컨트롤러(MC)와 같은 장치로부터 스위치(S), 메모리 모듈(M), 인터페이스, 또 다른 프로세서 등일 수 있는 또 다른 장치로 데이터를 전송하는 간단한 예를 도시한 것이다. 이 예에서, 예컨대 16비트의 넓은 워드는 시리얼라이저(serializer, SER)(40)에 의해 4개의 4비트 워드로 변환된다. 즉, 16비트 워드(310)는 4개의 각각의 레인을 가로질러 확산되고 4개의 연속적인 고속 클록시간으로 전송된다. 데이터는 링크의 타단에 수신되고 디시리얼라이저(deserializer, DES)(320)에 의해 비직렬화되며 본래의 입력 워드로 재포맷된다.
도 29b는 동일한 동작이나, 비트들이 동일한 속도로 링크를 따라 모두 이동하지 않고 서로 단계를 벗어나 한 클록 싸이클 이상이 도달하는 상황을 도시한 것이다. 이러한 차등지연의 원인은 예컨대 모듈들 간의 라인 길이들이 다르기 때문일 수 있다. 도시된 바와 같이, 비트 1,3,5 및 7은 시간지연 스큐가 고려되지 않는 한 나머지 비트보다 일직 도착하고, 비트는 진행하는 전송된 워드의 일부인 것으로 해석될 수 있다. 나머지 비트는 다음 워드에 있는 것으로 해석되며 그 데이터는 쓰지 못하게 된다.
일태양에서, 도 30은 스큐를 극복하기 위한 방법 및 장치를 도시한 것이다. 클록데이터 복원(CDR)이 달린 스위칭 소자가 스큐 데이터를 수신한다. 대안으로, CDR이 사용되지 않을 수 있다. 디스큐는 모든 레인들에서의 지연이 등화되도록 시간만큼 각 레인을 지연시키게 구성된다. 그리고 나서 디스큐 데이터가 디시리얼라이저(DES)에 인가되고 원래의 전송된 워드가 복구되며 CSE 또는 다른 로컬 기능으로 사용된다. 각각의 기능들이 별도로 도시되어 있으나, 기술된 기능 중 일부 또는 모두는 동일한 전자장치에서 수행될 수 있거나 모듈내 통합될 수 있다. 디스큐와 CDR이 동일한 회로에서 수행될 필요는 없다. 또한, 도 31에 도시된 바와 같이, 디멀티플럭스(330)가 CDR과 디스큐(340)의 출력 사이에 그리고 데이터 입력이 DES(320)와 송신기(TX)(350)로 전송될 수 있도록 DES와 송신기(TX)(350) 사이에 삽입될 수 있다. 이러한 구성은 데이터가 회로 모두에 의해 처리되기 보다는 적절하게 DES 또는 TX로 전송될 수 있도록 메세지가 전송되어야 하는 것에 대한 결정을 하게 한다.
도 32에 도시된 상황은 스큐의 원인들 중 하나로, 인텔 어드밴스드 메모리 버퍼(AMB) 등이 커넥터에 삽입될 수 있는 확장 보더상에 배치되는 모듈내에 있다. 이러한 구성은 FB-DIMM, 레지스터 DIMM 등에 사용된다. 업스트림 경로상에 메세지는 레인 0이 좌측에 있고 레인 4가 중간에 있는 등 많은 레인들을 갖는 다운스트림 모듈에서 나온 것으로 도시되어 있다. 업스트림 경로는 커넥터의 전면과 인터페이스하고 AMB를 통과한 후, 커넥터의 후면상에 유사한 레인 배열들에 연결된다. AMB가 보드에서 플러그의 전면과 후면에 도시되어 있으나, 각각의 AMB 소자들이 이러한 기능을 수행할 필요가 없는 것에 유의하라. 추가로 레인들이 단지 AMB의 에지에 도시되어 있으나, AMB가 볼 그리드 격자(BGA) 패키지 또는 그 에지에서만이 아니라 연결을 가능하게 하는 다른 패키지인 경우에, 레인들은 AMB 아래에 연결될 수 있다. 보드의 후면에 AMB에서 커넥터로 레인이 나타나 있다. 보드의 후면에 있는 레인은 또한 레인 0이 좌측에 레인 4가 중앙에 등등 있도록 배치되어 있다. 도시된 라인 또는 레인은 AMB와 보드 인터페이스 커넥터(미도시) 사이의 연결을 위해 보드에 있는 트레이스를 나타내기 위해 고안될 수 있다. 레인은 하나 이상의 모듈이 교차 트레이스를 필요로 하지 않고도 메이팅 모듈 인터페이스 커넥터를 연결하는 트레이슬과 함께 마더보드에 의해 연결될 수 있도록 도시된 바와 같이 배치되어 있다. 이 태양에서, 마더보드상에 연이은 커넥터의 핀들 사이에 전파되는 신호 시간은 각 레인에 대해 거의 동일할 수 있다. 그러나, 이는 모듈 보드상의 상황이 아니다. 레인 4는 커넥터에서 AMB로 지나가는 짧은 거리인 반면에, 예컨대, 레인 0은 거리가 더 멀다.
예시를 위해, 표준크기의 DIMM 모듈이 기준으로서 사용된다. 이러한 모듈은 폭이 약 140㎜이고, 이에 따라 스위치가 위치된 중심에서 레인 9까지의 거리는 약 70㎜이다. 20㎜의 길이는 AMB와 커넥터상의 해당 핀 사이의 레인 4의 길이로 인한 것으므로, 최단 트레이스와 최장 트레이스 사이의 최대 길이 차는 약 250-350ps의 전파시간에서의 대략적인 차에 해당하는 약 50㎜이다. 이는 기존의 DIMM을 사용하여 측정된 상황을 나타낸다. 데이터 속도는 공칭적으로 4GB/s인 경우, 이는 단지 이 영향으로부터 스큐가 1 또는 2 클록 주기가 될 수 있다.
다수의 표준화 DIMM 또는 메모리 모듈이 있지만, 본 명세서에서 사용된 DIMM 또는 메모리 모듈이라는 용어는 다른 모듈회로 등에 연결을 위해 커넥터 인터페이스를 갖는 회로보드에 장착될 때 사용될 수 있는 임의의 메모리 타입을 말하는 것으로 이해되어야 한다. 핀 또는 트레이스의 개수, 회로기판의 치수, 및 이러한 핀카운트(pin counts)에 국한되지 않는 DIMM 또는 메모라레(memorare)상에 메모리 용량과 메모리 타입이 지금 사용되는 바와 같은 카운트, 치수, 타입 및 용량을 상호접속시킨다.
도 33a,b는 신호 전송에 대한 다른 접근이 어떻게 차등 전파시간 문제를 완화시키는데 사용될 수 있는지를 도시한 것이다. 도 33a는 트레이스들이 CSE에서 커넥터로 직접 부채꼴로 전개되는 상황을 도시한 것이다. 도 33b는 더 긴 트레이스들을 갖는 신호라인들이 보드의 상단에서 라우팅되고 그런 후 또 다른 세트의 신호라인이 중간에서 라우팅되는 상황을 도시한 것이다. 이러한 상황에서, 몇몇 트레이스에 대한 전파 거리는 도33a에서 보다 더 크나, 0,1,2, 및 3 사이 또는 4,5,6, 및 7 사이와 같이 신호 그룹들 간에 트레이스 길이 차가 줄어들 수 있다. 트레이스 그룹들 간의 길이 사이의 차이가 여전히 있을 수 있으나, 도 33b의 예에서 N개 신호에 대한 N개 차등 지연에서 2개의 차등 지연까지 지연변화를 줄임으로써 지연관리 및 신호 디스큐의 처리가 간단해질 수 있다.
도 34는 레인 0-4의 5개 모듈을 통해 도면의 좌측에 도시된 모듈 컨트롤러(MC)로부터 전송의 예를 도시한 것이다. MC로부터 전송된 데이터는 레인에 대응하는 A,B,C,D, 및 E로 표시하였다. 각각의 다운스트림 모듈에서 테이블은 입력의 논리명"I", 레인상에서 데이터가 겪는 지연 "D", MC에서 데이터 전송경로를 따라 현 위치로의 총 지연 "T", 및 출력 데이터의 논리명"O"을 도시한 것이다. 테이블의 행은 레인의 크기에 해당한다: 따라서, 상단 행은 레인 0을 나타내고 하단 행은 레인 4를 나타낸다. 이 예에서, 지연은 각 레인과 관련있고, 상기 지연은 각 레인에 대해 다를 수 있다. 지연은 이전 모듈 또는 MC상의 송신기로부터 수신모듈상의 수신기까지의 지연이나 어떠한 초과지연도 없는 개념적인 레인에 대한 차등지연으로 해석될 수 있다.
이 예를 위해, 모듈들 간의 지연이 예시를 위해 1-6(임의의 유닛)에 이른다고 가정하고, 각 모듈로부터의 입출력 레인들은 입력에 도달한 데이터와 주어진 레인 번호의 출력에 할당된 데이터가 같은 경우, 각 모듈에 연결된 출력 데이터 패턴은 입력 데이터 패턴, 즉, 레인 0-4에 대해 각각 A,B,C,D,및 E와 같다. 다운스트림 방향으로 모듈 대 모듈의 테이블 진행을 따름으로써, 각 레인에 대한 총 지연은 테이블과 연관된 모듈과 MC 사이의 레인에 대한 지연의 합이다. 예컨대, MC와 5번째 모듈(M4) 사이에서 겪게 된 총 지연은 레인 0에 대해 30유닛이나 레인 4에 대해서는 단지 5유닛이다. 이 예에서 다른 레인들은 중간 정도의 시간지연을 겪는다. 지연유닛이 클록 싸이클과 연관있다면, 레인 0상의 데이터는 레인 4의 클록 싸이클을 너머 25 클록 싸이클에 도착하게 된다. 지연은 정수값으로 주어지며, 상기 정수값이 각각의 모듈들 사이에 주어진 레인에서 동일한 것은 단지 예를 들기 위한 것이다. 지연이 정수값이거나 주이진 레인에 대해 모듈들 사이의 각 호프에서 동일할 필요는 없다. 이 예에서, 전송된 명령, 또는 패킷 또는 프레임의 총 길이가 예컨대 10 클록 싸이클인 경우, 약 2.5 명령이 모듈(M4)에 의해 언제든지 수신되는 과정에 있게 된다. 따라서, 첫번째 명령의 모든 비트들이 완전한 그룹으로서 수신되는 길이를 취할려면, 마지막 모듈은 처음 명령을 처리하기 전에 언제든지 2이상의 완전한 명령을 완충시킬 필요가 있다. 이 예에서, 제 2 명령과 제 3 명령의 일부가 제 1 명령의 모든 비트들이 수신되기 전에 모듈 M4에서 수신되기 시작하게 된다.
도 35는 시스템내 스큐의 축적이 완화될 수 있고, 각 노드 또는 호프에서 동시에 처리되어야 할 필요가 있는 명령의 개수가 줄어들 수 있는 레인들 간의 차등 지연을 줄이는 장치 및 방법을 도시한 것이다. 이 장치에서, 각 모듈로의 입력 데이터는 플러그 인 모듈 또는 회로보드 또는 기판상의 배치에 대해 입력 데이터 라인으로부터 다른 데이터 라인으로 출력될 수 있다. 레인의 실제 물리적 배열은 도 35의 예를 위해 도 34에서와 동일하다. 그러나, AMB 또는 CSE를 사용함으로써 링크와 신호라인의 개수와 타입이 다를 수 있음이 이해되어야 한다. 예는 상술한 바와 같이 데이터 스큐 장면에서 기존의 AMB와 본 출원의 방법 및 장치의 성능 간의 차이를 나타내기 위한 것이다. 몇몇 경우, 입력 및 출력 데이터 라인은 상술한 바와 동일한 논리적 배열을 가지므로, 데이터의 단지 일부만이 다른 레인상에 있을 수 있다.
예컨대, 제 1 모듈(M0)에서, 레인 0에 들어온 데이터 A는 레인 4에 출력된다; 레인 1에 들어온 데이터 B는 레인 3에 출력된다; 레인 3에 들어온 데이터 D는 레인 1에 출력된다; 레인 4에 들어온 데이터 E는 레인 0에 출력된다; 그리고 레인 2에 들어온 데이터 C는 레인 2에 출력된다. 모듈 M1의 출력에서, 차등지연 상황은 도 34에서 모듈 M1에 대해 도시된 상황과 동일하다. 그러나, 모듈 M2에 대한 테이블을 고려하면, 상황이 바뀌어 진다. 예로서, 모듈 M1 및 M2 사이의 전이에 대해 현재 레인 4에 있는 데이터 A는 1 유닛인 레인 4와 관련된 지연만을 축적한다. 그리고, 현재 레인 0에 있는 데이터 E는 레인 0과 관련된 지연을 축적한다. 제 2 모듈 M2에서, 데이터 E에 대한 지연은 7유닛이고 데이터 A에 대한 지연도 또한 7유닛인 것이 도시되어 있다. 다른 데이터 B,C,D에 대한 지연은 정확히 같지는 않으나, 근사값이며, 논리적 물리적 데이터 라인들의 재배열이 지연에서의 확산을 감소시킨다.
각 모듈에서 레인 0-4로의 데이터 A-E의 재배열 또는 교환에 잇따라, 다양한 논리 데이터 배열 A-E 간에 지연 차는 이전 예에서와 같이 단조적으로 축적되는 것으로 보여진다. 데이터는 각 모듈에서 계속 교환될 수 있다. 마지막 모듈(이 예에서 M4)에서, 관련 테이블은 다양한 논리 데이터 소자들에 대한 지연의 범위가 총 3의 지연 확산에 대해 15유닛에서 18유닛에 이르는 것을 나타낸다. 이는 지연 확산이 25였던 도 34의 예와 비교될 수 있다. 따라서, 논리 데이터 배열과 물리적 레인들 간의 통신 상호교환은 송신기에서 주어진 클록주기동안 모든 데이터가 약 8의 인수만큼 모듈에 수신되기 전에 완충될 필요가 있는 데이터 량을 감소킬 수 있다. 이 예에서, 비트는 전송된 바와 동일한 논리 순서로 모듈 M4에 재정렬된다.
이 예에서 사용된 비트 배열 전략은 최고 지연을 겪은 데이터를 선택하고 최저 지연을 갖는 레인에 출력으로서 상기 데이터를 할당하는 것이다. 마찬가지로, 최저 지연을 갖는 데이터가 최고 축적된 지연을 갖는 레인에 할당된다.
설명에서, 지연은 표현을 간단히 하기 위해 정수값으로 주어진다. 그러나, 비정수값도 또한 지연이 클록속도의 소정 인수배를 보이는 임의의 유닛으로 될 수 있을 때 가능하다. 대안으로, 지연 및 차등지연이 정수와 분수 클록 지속시간으로 표현될 수 있다.
도 36은 모듈 쌍들 간의 지연이 실질적으로 같지 않은 예를 도시한 것이다. 단지 2개의 레인만이 도시되어 있으나, 이러한 배열은 임의의 개수의 레인들로 일반화될 수 있다. 도시된 2개 레인들은 명령이 전송되는 레인을 나타낼 수 있다. 도 36a는 지연 차가 경로를 따른 모든 호프에서 최소화되도록 레인이 바꾸어지는 도 35에 도시된 상황과 유사한 상황을 나타낸다. 교환(swap)은 제 1 및 제 3 모듈에서 이루어지며, 제 2 및 제 4 모듈에서는 어떠한 교환도 이루어지지 않는다. 필요하다면, 레인들은 제 5 모듈에서 재정렬된다. 그러나, 제 4 및 제 5 사이의 레인 0에서의 지연은 10 유닛인 반면에, 레인 1에서의 지연은 1유닛이다. 차등지연이 경로를 따라 최소화되었기 때문에, 마지막 호프에서 지연의 큰 차는 제 5 모듈에서 총 창동지연으로 명백해진다. 여기서, 레인 0에 대해 총 지연이 18 유닛이고 레인 1에 대해 총 지연은 9 유닛이며, 그 사이의 차는 9유닛이다. 도 36b는 차등지연이 마지막 하나의 모듈일 때까지 경로를 따라 축적되는 것이 허용되고 그런 후 레인들이 마지막 모듈에서 바뀌어지는 상호교환되는 다른 상황을 도시한 것이다. 마지막 모듈에서, 차등지연은 0이다; 그러나, 제 4 및 제 5 모듈 사이의 차등지연이 상당하기 때문에, 상호교환이 수행된 후 차등지연이 감소되도록 상호교환이 수행되는 모듈전에 상당한 차등지연이 증가되게 허용된 것에 주의해야 한다.
지연은 레인 스와핑(lane swapping) 스위치의 설정을 기초로 앞서 결정된 것처럼 도시되어 있다. 이러한 결정은 시스템 설계 또는 원형(prototyping)시, 제조시, 시스템에 모듈의 조립시, 시스템 시작시, 각 시스템 시작시, 또는 시스템의 동작간에 이루어진 측정에 의해 이루어질 수 있다. 이 결정을 수행하기 위한 시간 또는 시간들의 선택은 시스템의 소정의 성능과 복잡도와 관련될 수 있고, 제조 가변성 및 온도 영향 뿐만 아니라 능동 또는 수동 부품의 고장 또는 열화를 고려할 수 있다.
상호교환 바꿈 또는 "스와핑" 레인의 기능은 스위치에 의해 수행될 수 있으나, "스위치"라는 용어의 사용은 별개의 장치에 대한 기능의 특정 실행을 제한하는 것으로 사용되지 않는다. 레인의 상호교환, 교환, 재배열 또는 스와핑을 달성하는 임의의 장치들이 사용될 수 있다. 편의상 본 시스템 또는 방법의 태양에 적용시 "스위치"라는 용어는 상기 기능을 수행할 수 있는 기술의 범위를 포함하는 것을 말한다. 이러한 기술은 메모리 저장위치, 상태기계 또는 저장된 프로그램 컴퓨터의 동작, 전용 전자논리회로 등을 단독으로나 조합으로 사용할 수 있다. 이러한 스위칭은 특정 제품의 설계 요건에 따라 정적 또는 동적 기반으로 수행될 수 있다.
도 37은 레인 3 및 4가 신호채널로서 사용되고 최저 전체 지연을 갖는 레인들로서 선택된 반면에, 레인 0-2가 데이터 신호에 할당되는 예를 도시한 것이다. 신호채널은 동시에 또는 데이터보다 더 일찍 명령이 도달하도록 진행지연이 데이터 채널의 진행지연보다 더 짧아지게 상호교환함으로써 디스큐된다. 데이터 채널은 상술한 방법들 중 어느 하나에 의해 디스큐된다. 이 예는 레인 3 및 4로 신호 레인을 제한하는 반면에, 신호 레인들은 명령이 데이터로서 동시에 목적기 모듈에 도달하도록 레인들 중 어느 한 레인으로 교환될 수 있다. 더욱이, 데이터 중 일부는 전체 차등 전송시간으로 인해 데이터와 명령신호가 적시에 수신되는 한 특정한 호프에 신호로 사용되는 것보다 더 짧은 지연을 갖는 레인들을 통해 라우팅될 수 있다. 이렇게 함으로써 데이터 신호에 대한 전체 지연시간을 최소화할 수 있다.
도 38a는 임의의 모듈에서 차등 데이터 지연을 최소화하기 위해 레인들 간에 데이터 소자들을 교환하는 패턴을 도시한 것이다. 지연 테이블들이 도시되어 있지 않으나 도시된 스와핑 패턴을 초래한 것으로 추정된다. M4에서, 예상순서는 A,B,C,D,E이나 데어터는 스와핑된 순서 C,D,E,A,B대로 도착하며 이 순서는 상기 데이터가 예상순서대로 시스템의 나머지에 표현되도록 모듈 M4 내에 적절하게 데이터를 스와핑함으로써 저장된다. 도 38b는 MC의 출력에서 M4의 입력 및 M4내에 까지 도시된 스와핑의 전반적인 영향을 요약한 것이다. 즉, 중간 호프와 각 호프에서 발생한 스와핑이 MC에서 M4까지 레인들의 단일 스와핑과 M4내 레인들의 스와핑에 의해 논리적으로 대체될 수 있다. 이는 획득한 종단간 변환을 나타낸다. 각 모듈에서 스위치의 구성은 도 38a에 도시된 바와 같으나, MC에서 데이터의 순서로 인해 동일한 결과가 M4로의 입력에서 달성된다. 도 38c에 도시된 또 다른 태양에서, 스위치 배열은 불변인 채로 있으나 레인으로의 데이터의 정렬의 순서가 예상된 순서로 M4에 수신되고 어떠한 재정렬도 M4에서 필요하지 않도록 전송전에 MC에서 사전치환(prepermute)된다. 이러한 접근은 각 모듈에서 처리 지연을 최소화할 수 있고, 처리가 MC에서 수행되는 경우, 명령 및 데이터가 여전히 출력 큐에 있고 동작을 수행하기 위한 시간이 다른 시스템 프로세스에 포함될 수 있는 한편 사전치환이 행해질 수 있다. 이러한 사전치환은 들어오는 데이터가 다음 모듈로의 전송을 위해 치횐되거나 로컬 CSE에 의한 사용을 위해 치환없이 읽어지게 함으로써 CSE내 데이터 경로를 간단하게 할 수 있다. CSE가 트리와 같은 가지 구성으로 배열된 경우, 시스템내 CSE의 대부분은 리브에 있을 수 있고 리브로부터 어떠한 다른 CSE 다운스트림도 없다. 이 사전치환은 정적 또는 동적 방식으로 이루어질 수 있다.
예시된 상황들이 모듈 전이를 위해 MC에 대한 것이나, 모듈들 간의 DMA 전이와 같은 다른 경로와 트리의 다른 채널 또는 분기용으로 유효하게 사용될 수 있다. 논의는 MC로부터 예컨대 모듈로의 경로를 표현하였지만, 이들 동작은 반대방향으로도 동등하게 수행될 수 있다.
도 39-42는 레인에 논리 데이터를 할당할 수 있는 스위치 및 스위치 방법의 다양한 예를 도시한 것이다. 도 39a에는, 입력에서 1-4로 번호 붙여진 레인들을 출력에 있는 레인 1-4를 연결하는 4개의 스위치 소자들을 갖는 배처 네트워크(Batcher network) 구성이 도시되어 있다. 도 39b는 이와 같은 네트워크에서 2×2 스위치 구성이 도시되어 있고, 여기서 스위치 구성은 2개의 위치로 될 수 있다: 위치들 중 하나로는, 입력 레인과 출력 레인이 동일한 레인 번호에 연결되도록 레인이 통과된다; 다른 위치로는, 스위치가 입력과 출력 사이에 있는 레인을 상호교환한다. 도 39c는 도 39b에 도시된 기능 이외에 또한 복제 기능을 포함하는 스위치를 도시한 것으로, 레인 1의 입력이 출력 레인에 복제될 수 있거나, 레인 2의 입력이 출력 레인에 복제될 수 있다. 도 39c 및 도 39d는 회로소자가 2 대 1 멀티플렉서인 전자장치 설계도에서 스위치들을 도시한 것이다. 도 39d에서는 도 39b의 구성이 구현되고 도 39e에서는 도 39c의 구성이 구현된다. 2개 회로들 간의 차이는 복제기능없는 2×2 스위치의 경우에, 멀티플렉서 선택 레인들이 NOT 입력(420)을 갖는 멀티플렉서들 중 하나와 공통으로 활성화된다. 복제기능을 갖는 2×2 스위치에서, 각각의 스위치들이 별개로 제어된다.
도 40a는 1,2,3,4로 표시된 입력 레인들을 스와핑시켜 순서가 3,2,1,4이도록 사용되는 배처 네트워크를 도시한 것이다(출력이 출력 레인의 번호로 먼저 도시되어 있고, 괄호안에 있는 번호는 입력레인이 출력 레인을 통해 전송되는 것을 나타낸다). 그러나, 1,3,4,2의 출력 할당을 하려는 시도가 필요한 경우, 도 40b는 경로가 차단될 수 있음이 도시되어 있다.
도 40c는 논블로킹 크로스바 스위치(non-blocking crossbar switch) 매트릭스를 도시한 것이다. 이러한 타입의 스위치는 어떤 필요한 스와핑을 수행하는데 사용될 수 있다. 또 다른 타입의 스위치는 엄밀히 논블로킹으로 알려진 타입인 도 40d에 도시된 클로스 네트워크(Clos network)로서, 할당이 실제로 변경된 레인들만을 바꾸면서 입력레인과 출력레인 사이의 순서를 바꿀 수 있다.
배처 네트워크 스위치의 능력은 도 41a에 도시된 또 다른 단계를 추가함으로써 확장될 수 있고, 이는 때로 베네스 네트워크(Benes network)라고 한다. 도 40b에 요구된 스와핑이 가능해 진다. 그러나, 스위칭의 추가 단계는 추가지연을 초래할 수 있다. 그럼에도 불구하고, 이는 재설정가능한 논블로킹 스위치이다. 도 41b는 8개 레인 구성으로의 이러한 스위치의 확장을 도시한 것이다. 스위치의 폭은 제한되지 않는다.
몇몇 배열에서, 레인 상호교환의 하나 이상의 패턴들이 종종 마주치는 것을 발견할 수 있다. 도 42는 풀 스왑(full swap)이 시스템의 일부 레인들에 대해 공통적인 요건이며 예컨대 입력레인 1과 출력레인 8로 출력되는 멀티플렉서 사이를 연결하는 회로소자가 장치와 함께 도시되어 있는 상황을 도시한 것이다. 다른 입력과 출력도 마찬가지로 연결되어 있다. 다른 배열도 또한 구성될 수 있도록 입력과 출력 멀티플렉서의 입력을 연결하는 2개의 베네스 네트워크가 또한 도시되어 있다. 그런 후 필요로 하는 치환이 고정 네트워크와 가변 구성 스위치와 조합하여 출력 멀티플렉서에 의해 선택된다. 하나의 고정 네트워크만이 도시되어 있으나, 하나 이상의 고정 네트워크가 3 대 1 멀티플렉서와 같은 더 큰 입력 수용능력을 갖는 멀티플렉서와 함께 사용될 수 있다. 기술된 대부분의 회로들에 대해 사용될 수 있기 때문에, 사용되지 않은 회로들은 전력이 감소되거나 전원이 꺼지거나, 있다면, 게이트된 클록을 가지거나, 소비전력을 최소화하기 위해 바람직하게 취해질 수 있는 임의의 다른 조치들을 가질 수 있다.
시스템은 경로상에 또는 회로내에 타이밍에 있어 지연이 변할 수 있다. 타이밍 지연은 열팽창 또는 파라미터 변화 또는 다른 결정적 또는 비결정적 영향들로 인해 발생될 수 있다. 시스템내에 가변 지연이 있을 때마다, 트리의 루트로부터 모듈로의 신호전파 시간이 소정 값으로 고정되지 않는다. 클로킹으로 인해 위상변화에 대한 정정이 필요없을 수 있고 데이터는 스큐되지 않게 클록속도가 충분히 느린 글로벌 클록(global clock)으로 인해 고정될 수 있더라도, 작은 크기의 위상변화가 발생한다; 그러나, 그럼에도 불구하고, 장치에서 장치로 또는 임의의 장치에서 헤드엔드(루트)로 전파거리가 달라진다. 이러한 고려는 글로벌 클록에서 데이터 또는 지터의 스큐가 있거나, 글로벌 클록에 대해 위상차가 있고 링크가 자기동기(self-timed)되는 경우에, 클로킹이 완벽하지 못하게 동기되기 때문에 여전히 적용된다.
도 43은 예컨대 트리의 2개의 별도의 분기(링크)로부터 모듈에 도달할 수 있는 2개 데이터 경로의 병합을 도시한 것이다. 이 때, 각 트리의 차등지연 특성들로 인해 차등지연이 이 노드에 있는 분기들 사이에 그리고 각 분기내의 레인들 사이에 있게 된다. 기술된 기능들은 CSE내에 또는 관련된 회로내에 수행될 수 있고, 기능들 중 어느 하나의 표현은 물리적 할당을 예시하는 것이 아니라 각 소자에서 수행되는 기능을 예시하는 것으로 의도되어 있다.
단지 논의를 간략히 하기 위해, 데이터 경로(I)의 4개 라인상의 데이터는 숫자로 도시되어 있고, 데이터 경로(Ⅱ)의 4개 라인상의 데이터는 문자로 도시되어 있다. 데이터 경로(I)에 대해, 데이터는 채널들 간에 시간적으로 잘 배열되어 있는 것으로 도시되어 있다. 데이터는 클록 데이터 복원유닛(CDR)에 들어간다. 각각의 CDR은 각 레인 또는 레인들의 그룹에 사용될 수 있다. 데이터 경로(Ⅱ)는 레인들 간의 시간 스큐를 갖는 것으로 도시되어 있다. 각각의 CDR의 출력이 멀티플렉서(500)에 입력되고, 상기 멀티플렉서는 입력 데이터의 2 그룹 중 하나를 선택하고 상기 데이터를 송신기(TX)(510) 또는 다른 회로로 출력하도록 구성된다. 멀티플렉서의 영향이 경로들 중 하나만을 선택하나, 멀티플렉서와 TX 사이를 연결하는 4개 라인들은 경로(I)과 경로(Ⅱ) 모두를 나타낸다. 타이밍 차가 쉽게 평가될 수 있도록 멀티플렉서 다음에 2개의 레인들이 도시되어 있다. 그러나, 경로들 중 단 하나만이 선택되고 실제로 특정한 멀티플렉서 선택을 위해 멀티플렉서와 송신기(TX) 사이의 위치에 있게 된다. 별개의 클록이 각 데이터 라인에 대해 사용되더라도, 데이터 표현 도면의 비교는 클록에 대해 경로(I)과 경로(Ⅱ)의 데이터들 간에 오정렬이 있을 수 있다. 논의를 명확히 하기 위해, 별개의 클록이 각 경로의 각 레인에 사용될 수 있더라도, 하나의 클록이 2개의 데이터 경로 각각에 대해 추정된다.
경로(I) 또는 경로(Ⅱ) 중 어느 하나의 데이터가 선택되고 전송된 경우, CSE의 스트링에서 다음 CSE상의 영향 또는 임의의 데이터 수신기가 고려될 필요가 있다. 논의를 위해, 스트링에서 다음 CSE를 업스트림 CSE라 한다. 도 43에 도시된 CSE와 동일하게 구성될 수 있는 업스트림 CSE에서, 수신된 데이터가 신호 데이터경로를 나타내게 되며, 상기 데이터 경로상에 숫자 또는 문자 데이터 중 하나가 멀티플렉서에 의해 배치되고 송신기(TX)에 의해 전송될 수 있다. 이는 업스트림 CSE으로의 경로(I) 입력일 수 있는 반면에, 트리의 또 다른 가지는 경로(Ⅱ) 입력일 수 있다. 다음 설명이 경로(I) 또는 경로(Ⅱ) 입력 중 하나에 적용되나 데이터가 도 43에 도시된 CSE에서 나온 경로(I)입력에 대해 설명된다.
CDR은 데이터가 경로(I)(숫자) 데이터의 클록과 복원된 클록을 정렬시킬 수 있다. 멀티플렉서가 경로(Ⅱ)(문자)로 스위치되는 경우, 이 데이터와 연계된 클록속도가 다를 수 있어, 업스트림 CSE에서 상기 클록속도에 의한 데이터의 샘플링에 오류가 발생할 수 있다.
도 44는 적어도 부분적으로 상황을 완화시킬 수 있는 회로를 도시한 것이다. CDR은 데이터 경로(I)과 데이터 경로(Ⅱ)로부터의 데이터가 클록 에지와 정렬되도록 데이터의 시간 지연을 조절하는 위상정렬회로를 갖는다. 이는 송신기(TX)의 출력에서 멀티플렉스 데이터의 입력과 경로(I)과 경로(Ⅱ)상의 입력 데이터의 비교에 의해 알 수 있다. 2개 경로 중 하나만이 실제로 언제든지 송신기(TX)의 출력에 나타나지만, 데이터 중 2개 세트는 공통 클록에 대한 2개 데이터 세트의 관계를 나타내기 위해 도시되어 있음을 상기하라. 이 정렬은 병합 경로들 간의 일부 차등지연을 극복할 수 있으나, 라인(2)상의 데이터는 이 예에서 2개 경로의 데이터가 완전한 클록 주기에 의해 오프세트되는 것을 나타낸다. 실제로, 이 오프세트는 1이상의 클록 주기일 수 있고, 스큐가 여전히 남아 있다.
도 45는 각각의 경로(I)과 경로(Ⅱ)에서 디스큐 공정이 추가된 도 44의 상황을 도시한 것이다. 디스큐는 경로(Ⅱ)의 데이터 레인(2)에서 한 클록 싸이클 지연의 등가를 추가함으로써 달성될 수 있고, 그 결과는 레인(2)에 대한 데이터 경로(I)과 경로(Ⅱ)가 업스트림 CSE에 의해 수시된 데이터의 명백한 스큐에서의 변화없이 선택될 수 있다는 것이다.
도 46a는 구조내 고차 레벨상에서 도 45의 개념을 도시한 것이다. 메모리 컨트롤러(MC)와 모듈(M0-M7)이 트리에 연결되어 있다. 각 데이터 경로의 시간 지연이 라인 연결모듈(Mi)의 길이로 나타내지고, 각 모듈내 시간지연이 각 모듈의 길이로 표현된다. 도 46a로부터, 경로(MC-M7)가 최장 경로인 것을 알 수 있다. 각 회로소자간의 레인들 중 하나만이 K개 가능한 레인들로 도시되어 있으나 설명은 다른 라인들 또는 레인들에도 동일하게 적용될 수 있다. 도 46b에서, 트리는 수평축이 각 회로소자에서의 지연을 포함한 각각의 회로 소자를 연결하는 레인에 대한 시간지연을 나타내도록 다시 도시되어 있다. 각 데이터 비트에 대해, 사용된 회로소자들간의 레인은 다른 물리적 레인일 수 있으나, 논리 데이터 비트는 데이터 또는 명령이 해석되는 회로소자에서 정정된다. 즉, 결국 MC에서 레인 0을 초래하는 도시된 라인들의 세트는, 예컨대, 도 39-42에 도시된 교환과 같은 레인의 결과로서, 물리적 레인들이 트리의 다른 부분들 간에 다른 레인 번호이더라도, 레인 0에 도달하는 데이터를 전달하는 레인들이다.
도 47a는 네트워크의 서브 트리, 즉, M0, M2, M6 및 M0, M1, M3, M7의 서브트리 중 2개를 식별한다. 도시된 바와 같이, 경로(M7-MC)는 최장 경로이다. 각 회로소자에서, 2개의 입력경로와 하나의 출력경로가 도시되어 있다. 입력경로 중 하나는 비결정적 경로(non-critical path)가 다른 경로보다 원점과 목적지 간에 전반적인 지연이 더 짧아진 점에서 비결정적이다. 예컨대, 모듈(M1)에서, 모듈(M4)로부터의 경로는 M7-M3-M1을 지나는 경로에 대해 비결정적이다. 이 상황에서, 추가 지연이 전반적인 추가지연을 도입함이 없이 M7-M3-M1의 경로에 대해 M4-M1-M0에 도입될 수 있다. 추가 지연이 도입되는 경우, 모듈이 데이터 경로에 연결되는 모듈로부터 뻗어나온 탬(550)을 도시함으로서 상징적으로 도시되어 있다.
도 47에 도입된 상징을 이용하여, 도 48은 논리비트 0 경로에 대해 마이크로 컨트롤러(MC)에 트리로 연결된 8개 모듈(Mi)의 네트워크를 도시한 것이다. 비트 0에 대해 모듈(Mi)에서 모듈(MC)로의 비트의 전이에 대한 시간지연은 dM_i_N으로 표현되며, 여기서 i는 모듈번호이고, N은 논리 비트수이다. 지연은 모듈(Mi)의 출력에서 모듈(MC)의 입력까지 측정된다. 즉, 기점모듈(Mi)과 수신회로(MC)에서의 지연이 간략히 도시되어 있지 않다. 모듈에서 그리고 모듈상에 탭으로 도시되어 있는 추가 지연이 모듈내 임의의 곳에서 발생할 수 있는 것이 다시 언급되어야 한다. 네트워크에서의 타이밍을 고려하면, 시간(tM_i_N)은 MC로부터 전송된 논리 비트 0에 대한 명령 또는 데이터가 모듈(i)에 수신되는 시간을 나타낸다. 도 48은 모듈(5)와 비트 0에 대한 상황을 도시한 것으로, 수신시간(tM_5_0)=t+dM_5_0이고, 여기서 t=0는 데이터가 메모리 컨트롤러(MC)에 전송되었을 때의 시간이다.
유사한 분석이 임의의 비트 N에 대해 수행될 수 있고, 도 49a,b는 지연이 또 다른 비트, 비트 N에 대해 책정된 것을 제외하고는 도 46a,b와 동일한 모듈 배열을 도시한 것이다. 도시된 바와 같이, 도 50a,b에서, 비트 N에 대해 최대경로시간을 갖는 서브트리의 다른 그룹핑이 있을 수 있고 따라서 각 모듈 조합경로에서 비결정 경로를 갖는 다른 서브트리 세트가 있을 수 있다. 여기서, 최대 시간지연을 갖는 서브-트리는 M5,M2,M0 및 M7,M3,M1,M0,MC이다. 제 1 서브트리는 상술한 비트 0상황에 비하면 다르나, 제 2 서브트리는 불변이다. 따라서, 비트 N에 대해, 지연이 M2 및 M6를 상호접속하는 포트에 추가될 수 있는 한편, 비트 0의 경우에, 추가 지연은 (도 47에 도시된 바와 같이) M2 및 M5를 연결하는 포트에 추가될 수 있다
도 51은 앞서 도입된 기호로 표시된 최종 발생한 지연을 도시한 것이다. 열과 다른 느린 시간변화 영향들이 위상을 유지하기 위해 지연의 조정을 필요로 할 수 있고, 데이터의 비트 동기화가 모듈에 있는 멀티플렉서에 의해 선택되고 공통 클록에 의해 샘플화된다. 도 52에서 모듈(M0, M1, 및 M2)에 도시된 지연의 사다리꼴 연장부(560)는 이러한 다양한 추가 지연들을 나타내며, 연장부의 총 길이(565)는 최대 총 추가 지연을 나타내고 점선 횡단선(570)은 최소 추가 지연을 나타낸다. 또 다른 태양으로, 모듈의 내부 제한을 포함할 수 있는 인수의 개수, 처리 지연 등으로 인해, 모듈내 지연은 각 레인에 대해 동일하지 않을 수 있다. 다른 레인들이 모듈들 간의 논리 비트 전송을 위해 선택되는 경우, 따라서 모듈 지연은 선택된 레인에 따를 수 있다. 이는 도 53에 도시된 바와 같이 넓은 탭(575)이 있는 박스로 표시되어 있다. 다시 이는 상징적인 표현이며 지연이 모듈의 입력 또는 출력에 반드시 도입되는 것을 의미한다.
*선택된 시간 지연제어방법에 따라, 디스큐가 필요로 하는 모듈에 우선하여 한 모듈에서 스큐정정을 위해 지연을 도입할 수 있다. 도 54a,b는 지연을 도입하는 2가지 수단의 예를 도시한 것이다. 앞서 도시된 바와 같이, 도 54에서 지연은 M6로의 연결에서 M2에 추가되어 있는 것이 도시되어 있고, M5에서 M2로의 경로는 비결정적이다. 대안으로, 지연이 M5에 추가될 수 있고, 지연이 도 54b에 도시된 바와 같이 M2 및 M0 모두에서 제거될 수 있다. 이는 M5 및 MC 사이의 지연을 악화시키지 않고 M6 및 M2와 MC 사이의 전반적인 지연을 줄이는 것으로 보여질 수 있다.
도 55a는 도 46 및 도 49에 기술된 트리에 대한 지연을 도시한 것으로, 각각의 지연이 0과 N으로 표시된 비트들에 대해 도시되어 있다. 도 55b는 모듈 M7이 삭제된 것을 제외하고는 동일한 트리를 도시한 것이다. 도 55b에 나타낸 바와 같이, 어떠한 "최장 지연모듈"도 없는 것을 나타내기 위해 긴 지연이 구성에서 제거되었다. 비트 0에 대한 최장 지연은 모듈 M6로의 경로상에 발생한 것으로 도시된 반면에, 비트 N에 대한 최장 지연은 M4로의 경로상에 발생한 것으로 도시되어 있다.
도 46-55는 예컨대 모듈(M)과 모듈 컨트롤러(MC) 사이의 복귀경로에 대한 시간지연의 예를 도시한 것이다. MC와 모듈(M) 사이의 명령과 데이터 전송 및 접수통보 또는 데이터의 복귀도 또한 시간지연을 포함한다; 그러나, 상황은 복귀경로가 하나 이상의 경로로부터 데이터의 멀티플렉싱을 필요로 하는 반면에, MC로부터의 명령 또는 데이터의 전송은 데이터가 분기에 의해 트리에서 다운스트림으로 부채꼴로 퍼지는 식으로 수행될 수 있는 태양에서의 복귀경로와는 다를 수 있다. 위상정정이 동기화에 필요로 할 수 있는 한편, 시간지연의 추가에 의한 스큐정정이 필요로하지 않을 수 있다. 그래서, 동일한 비트이더라도 MC에서 모듈(M)까지 경로에 대한 시간지연과 모듈(M)상의 복귀경로에 대한 시간지연이 동일하지 않을 수 있다. 도 56에서, 모듈에 도입된 지연이 있을 수 있으나, 표현을 간단히 하기 위해, 위상동기지연의 임의의 스큐를 포함하는 모듈들 간의 모든 지연은 모듈을 수집하는 라인의 길이의 일부로 도시되어 있다. 도 56a는 명령이 MC로부터 전송된 트리를 도시한 것으로, 모듈간 전송의 총 지연은 점선으로 도시되어 있다. 경로관리에 대한 논의에 따라, 방송명령이 아닌 경우 명령이 실제로 모듈들 간의 각각의 연결을 가로지는 것이 아니라 목적지 어드레스에 따른 링크의 서브세트만을 가로질 수 있다. 그러나, 특정한 경로를 가로지르는 정도까지, 그렇게 함에 있어 지연이 도시되어 있다.
도 56b는 이전에 도 48에 도시된 바와 같은 트리를 도시한 것이다. 모듈들 간의 라인들은 도 48에 도시된 라인들과 도 56a의 라인들의 합이다. 점선(580)은 MC에서 각각의 모듈까지 비트 0 전송에 의해 조우된 시간지연을 나타내고, 실선과 탭은 비트 0에 대해 모듈에서 MC로의 복귀신호에 있어 지연을 나타낸다. 표현을 위해, MC로부터의 신호를 준비하고 전송하기 위한 시간, 어드레스된 모듈에서 신호를 복호화하고 작동시켜 응답신호를 전달하는 시간, 및 MC에서 신호를 복호화하고 작동시키는 시간이 생략된다.
따라서, 도 56b는 모듈(Mi)들 중 임의의 하나 이상으로 전송된 비트 0에 대한 MC로부터의 명령의 총 전이시간과 MC에 의해 수신된 명령에 대한 Mi의 응답을 도시한 것이다.
도 57은 트리에 대한 명령과 응답의 전반적인 전이시간을 나타내기 위한 표기를 도입한 도 56b의 상황을 더 상세히 도시한 것이다. sdM_i_N은 모듈(Mi)에서 MC의 입력까지 레인(N)상의 제 1 비트의 복귀를 위해 MC에서 Mi로의 명령(또는 데이터)의 전이 간의 지연을 나타낸다. stM_i_N(t)는 비트 N이 전송될 때의 시간에서부터 응답이 전송회로에서 수신되는 시간까지의 시간이다. 이는 명령이 비트 0으로서 MC로부터 모듈(M5)로 전송되고 응답이 MC에 수신된 상황에 대해 stM_5_0(t) = t+sdM_5_0인 모듈(M5)에 대해 도시되어 있다.
이전 예들은 외부경로 및 복귀경로에 대한 트리의 토폴로지가 동일한 구성을 갖는 상황을 도시하였다. 그러나 이러한 구성은 필요하지 않다. 도 58a,b는 동일한 모듈이 MC로부터의 그리고 MC로의 전송을 위한 다른 라우팅을 갖는 상황을 도시한 것이다. 이는 복귀경로 구성인 도 58a와, 외부경로가 도시되어 있는 도 58b를 비교함으로서 알 수 있다. 전체 왕복시간은 도 58c에 도시되어 있고, 상기 도 58c에서 점선 및 실선의 적절한 길이가 이전 예에서와 같이 방향을 나타내는데 사용된다. 도시된 구성에서, 몇몇 경로는 한 곳 이상에 도시되어 있고 이들 지연표시의 배치는 지연의 소스를 나타내는 라인과 상기 라인을 둘러싼 타원으로 표시되어 있다. 도 59는 복귀경로만 도시되어 있는 도 49와 같으나, 도 59는 외부경로의 특정 트리를 포함한다.
도 60의 a 및 b는 신호경로가 데이터 경로로부터 떨어져 있을 수 있는 다중 신호경로를 도시한 것이다. 도 60의 a에서, 모듈(M4)은 M0에서 M2에서 M5로 그런 후 M4로의 경로에 의해 도달될 수 있다. 이 경로는 앞서 논의된 경로 M0에서 M1에서 M4로와는 식별하기 위해 화살표로 끝맺어져 있다. 마찬가지로, 모듈(M7)은 M3로부터 2개의 다른 경로에 의해 도달될 수 있다. M3에서 M7로의 2가지 다른 경로들이 있는 상황은 예컨대 링크의 채널화가 있고 각 채널은 관련된 신호성분을 갖는 태양을 나타낼 수 있다. 이런 식으로 신호경로를 표현함으로써 다른 채널들이 예컨대 다른 지연을 갖는 다른 레인들을 이용할 수 있기 때문에 다른 신호지연을 갖는 상황이 고려될 수 있다. M4로의 추가 경로는 통신용도로 있는 추가 연결을 나타낼 수 있다. 이러한 사용은 모듈이 격자그물망으로 연결되는 경우 예로서 도시되어 진다. 하나 이상의 모듈 컨트롤러가 경로 길이가 다른 모듈과 통신하는 태양에서, 하나 이상의 라우트가 제어신호를 전송하는데 사용될 수 있기 때문에 신호충돌을 피하기 위해 대안적인 경로가 사용될 수 있다.
도 60의 b는 모두가 모듈 컨트롤러(MC)와 각각의 모듈(Mi) 사이의 경로와 관련된 타이밍을 묘사적으로 도시한 것으로, 신호경로는 점선으로 복귀데이터는 실선으로 도시되어 있다. 모듈(M4)로부터의 지연의 추가 지연성분이 2번 도시되어 있고, 타원기호는 특정 순간을 나타낸다. 경로 중 하나는 신호가 M0에서 M1에서 M4로 이어지는 경로와 M1에서 M2에서 M5에서 M4로 이어지는 다른 경로상에 있다.
명령에 응답하여 모듈로부터 복귀되는 데이터 또는 명령의 상세한 스케쥴에 대한 다음 논의에서, 간략히 하기 위해 명령이 MC에서 모든 모듈로 어떠한 시간지연 없이 전달되고, 어드레스 모듈이 어떠한 시간지연 없이 명령에 작동하고 응답하는 것을 가정한다. 이는 사용되는 표기를 나타내는데 도움이 된다. 또한, 슬롯 타임모델이 먼저 논의되고, 나중에 나타낸 이러한 제약은 제거되어 진다. 도 61-71의 타이밍 예들은 어떻게 데이터가 MC에 도달하는 지를 나타낸 것이다.
타임슬롯들이 시간라인상에 도시되어 있으며, 오른쪽은 모듈 컨트롤러(MC)로의 도달시간을 나타내고, 왼쪽으로 이어지는 시간은 나중에 MC에 도달하게 되는 명령 또는 데이터를 나타낸다. 기호(tCi)는 패킷(Ci)의 제 1 비트가 MC에 도달하는 시간을 나타낸다. 이러한 논의는 예컨대 레인 0에 관한 것이므로, 동일한 타입의 스케쥴링이 각각의 개개 레인에 대해 수행될 수 있음이 이해되어야 한다. 또한, 지연(dMi)을 나타내는 시간지연이 선형으로 도시되어 있으나, 지연은 트리에서 발생하며 또한 가변 지연 지터 버퍼를 포함할 수 있다. 따라서, 모듈이 비트를 링크의 레인에 삽입하는 실제시간이 전송 지연시간이다. 지터/열 버퍼로 인한 시간의 변화영향들은 도면을 과도히 복잡하게 할 수 있기 때문에 도시하지 않는다. 이러한 간략화의 결과로, 비트의 타이밍이 구성의 하위 레벨에서 고려된 경우, 비트는 시간라인상에 정확한 위치에서 벗어날 수 있도록 서로에 대해 쉬프트된 것으로 나타날 수 있다. 그러나, 지터/열 버퍼의 정정의 결과로서 MC에 수신될 경우 타이밍이 정정되어 진다.
타임슬롯의 전체 길이는 큰 육각형 블록(900)으로 도시되어 있고, 비트의 시간주기는 작은 육각형 박스(910)로 도시되어 있다. 이 예에서, 타임슬롯 시스템이 사용되고 모듈은 적절한 슬롯시간이 도달될 때까지 데이터가 전송할 준비를 하는 때로부터 대기하도록 제한될 수 있다. 예컨대, 읽기 명령이 t1에서 M7로 전송되는 경우, 응답은 슬롯 tC_(i+4)이 모듈(M7)에서 이미 시작되었기 때문에 슬롯 tC_(i+5) 이전에 있을 수 없다. 도 61b는 풀 슬롯타임이 경과된 후 상황을 도시한 것이다. 이 시간에서 모든 슬롯들이 한 슬롯타임씩 시간적으로 이동되었고 슬롯 iC_(i+1)이 MC에 도달하기 위해 시작된다. 모듈(M7)은 5개 비트가 슬롯 iC_(i+5)에 삽입되도록 데이터를 삽입하여 시작된다. 도 61c는 iC_(i+2)이 MC에서 도달하기 시작한 경우의 상황을 도시한 것으로, M7로부터의 모든 비트들이 이제 타임슬롯(920)에 삽입되는 것을 알 수 있다. 장래 시간이 경과한 후, 이 타임슬롯이 MC에 수신된다. 이는 데이터가 슬롯에 삽입되도록 비트가 각 클록 펄스에 순차적으로 삽입되는 경우에 발생한다.
일 태양으로, 메모리 컨트롤러(MC)와 같이 한 모듈에서 트리 루트로 복귀된 데이터 또는 명령이 소정 순서대로 도달하도록 도 62a-c에 도시된 바와 같이 고정된 타임슬롯이 각 모듈에 할당될 수 있다. 여기서, 다수의 명령들이 MC에 의해 전송된다. 다시, 간단히 하기 위해, 명령 및 데이터는 고정된 지연 시스템에 전송되는 것으로 간주된다. 이 예에서, 명령은 가장 먼 모듈의 지연을 갖는 것처럼 작동하는 것으로 고려된다. 예컨대, 더 짧은 지연을 모듈이더라도, 복귀는 기설정된 슬롯에 맞게 지연된다.
도 62a는 슬롯 tC(i+6)이 M7에서 5 클록 싸이클 더 일찍 도착했고 데이터의 5 비트가 이미 슬롯에 삽입되어 있는 상황을 도시한 것이다. 추가로, 읽기명령이 M0와 M2로 전송되었고 이들 명령에 대한 응답슬롯이 tC(i+6)와 tC(i+7)에 각각 할당된다. 도 62b는 8 클록 싸이클이 늦은 상황을 도시한 것으로, 여기서 M7은 할당된 슬롯을 채우고 추가로 읽기명령이 M3 및 M6에 보내지고 할당된 슬롯 tC(i+9)과 tC(i+10)에 각각 응답한다. 8개 추가 클록 싸이클 후에, 슬롯들은 전체 슬롯 주기에 의해 이동된다. 그러나, 다음 슬롯들 중 어느 것도 지연시간(dMi)과 슬롯의 위치를 비교함으로써 도시된 바와 같이 응답을 전달하도록 할당된 장치에 도달하지 않고, 이러한 다른 어떠한 모듈도 삽입된 비트를 갖지 않는다는 것에 주목하게 된다.
도 63a에서, 8개 추가 클록들이 발생했고 모듈(M0,M2,M6)로부터의 응답에 할당된 슬롯들이 시간상 앞으로 진행하나, 각각의 모듈들이 레인상의 스트림에 비트를 삽입할 수 있는 시간에 도달하지 못했다. 8 이상의 클록들이 도63b에서 발생할 수 있고, 모듈지연(dMi)과 비교하는 경우에 도시된 바와 같이, 모듈(M0, M2, M6)에 대한 슬롯들이 적절한 모듈에 도달된다; 이때, 상기 레인상에 모듈(M0)이 1비트를 삽입하고, 모듈(M2)이 5비트를 삽입하며, 모듈(M3)이 3비트를 삽입한다. MC에 도달한 슬롯내 표시는 도시된 순서의 시작 이후로 경과된 클록주기의 총 개수를 도시한 것에 주목하라.
tMC_0 = t1 + 45에서, 모듈(M6)은 7비트를 삽입했고 이전 슬롯들은 이미 차있다. 4이상의 슬롯 시간에서, 슬롯 tC_(i+10)의 끝에서, 모든 비트들이 MC에 도달하게 된다.
예상된 시퀀스를 수행하기 위한 총 시간은 가장 먼 모듈, 즉, 이 레인에 대해 M7인 모듈까지의 시간지연이다. 또 다른 레인에 대해, 또 다른 모듈은 가장 큰 지연을 가질 수 있다. 이러한 상황하에서, 지연은 최대 지연까지 증가될 수 있다. 또 다른 태양에서, 도 64는 가변 지연 스케쥴링의 예를 도시한 것이다. 슬롯 시스템이 여전히 사용될 수 있으나, 모듈로 전송된 명령은 아직 할당되지 않고 상기 모듈에 대한 지연에 도달하지 못한 제 1 복귀 시간슬롯에 할당될 수 있다. 비교를 위해, 도 64 및 도 65는 도 62 및 도 63과 동일한 시간시퀀스를 나타낸다. 그러나, 여기서, M0 및 M2로의 명령을 발송한 경우, 응답 슬롯은 슬롯 tC_(i+7)과 슬롯 tC_(i+8)보다는 슬롯 tC_(i+4)과 슬롯 tC_(i+5)에 각각 연결되어 있다. 도 64b에 도시된 바와 같이, 8 클록 싸이클이 경과한 후, 명령이 모듈(M3 및 M6)로 발송되고, 슬롯 tC_(i+9)와 슬롯 tC_(i+10)으로서 응답슬롯을 지정하는 대신에, 응답슬롯은 슬롯 tC_(i+7)과 슬롯 tC_(i+8)에 각각 할당된다. 도 64a 내지 도 65c는 할당된 복귀슬롯의 시간 진행과 적절한 클록 간격으로 데이터를 삽입을 도시한 것이다. 모듈(M6)에 전송된 명령에 대한 응답의 마지막 비트가 tMC_0 = t + 55에서 MC에 도달하는 반면에, 고정된 지연 스케쥴링을 사용하고 도 62 및 도 63에 도시된 종전 예에서, M6로부터의 응답의 마지막 비트는 tMC_0 = t + 71일 때까지 MC에 도달하지 못했다. 따라서, 임의의 모듈로부터의 응답 지연은 가변 지연 스케쥴링을 사용하여 줄어들 수 있다.
도 66 및 도 67은 슬롯 전송시간에 대한 데이터의 제한이 제거된 상황을 도시한 것이다. 도 66a에서, 읽기 명령(R)이 t=1에서 M7로 전송되고(전송을 위한 지연시간과 명령을 처리하는 것이 이 논의에서 무시된 것을 상기하라), 상기 상황은 4클록 싸이클 나중에 도시되어 있으며, 데이터의 4비트가 이미 레인에 두어져 있다. 명령이 M0 및 M2로 전송된 경우, 이들 모듈은 데이터를 또한 삽입할 수 있다. 도 66b는 M7 응답에 대한 모든 비트들이 삽입되어 있고, M0 및 M2 응답에 대해 각각 4비트가 삽입되어 있는 4 클록 싸이클 나중의 상황을 도시한 것이다. 이 때, 명령이 M3 및 M6로 전송된다. 도 66c는 모듈 M0 및 M2가 또한 응답 비트 삽입을 완료했으나, 모듈 M3 및 M6이 비트 삽입을 개시하지 않은 경우의 4 클록 싸이클 나중의 상황을 도시한 것이다. 모듈 M0 및 M2에 대한 슬롯들에서와 같이, 모듈 M7에 대한 응답슬롯과 중첩될 수 있기 때문에 모듈 M3 및 M6에 대한 응답슬롯들이 즉시 할당될 수 없으므로, 다음 가능한 클록 싸이클에 위치될 수 있다. 도 67a-c는 시퀀스의 다른 시간진행을 도시한 것이다. 이 상황은 슬롯들 간의 몇몇 공간을 남겨둘 수 있다. 그러나, 가변폭 데이터 또는 명령을 위해 또는 다른 모듈로부터 응답을 인터리빙함으로써 상기 공간들을 사용할 수 있다.
도 68 및 도 69는 신호 지연이 도시되어 있는 논슬롯 응답에 대한 상황을 도시한 것이다. 응답시간의 할당은 모듈에 도달하는 명령에 대한 시간이 고려되는 신호지연에 의해 지배되며, 레인상의 비트의 배치가 지연된다. 이는 명령이 모듈에 수신되었을 때 상기 모듈을 이미 지나가게 될 레인에 비트를 두기 위한 시간을 모듈이 할당하지 않을 수 있는 상황을 나타낼 수 있다. 따라서, 시스템은 슬롯 타임을 반드시 가질 필요가 없다.
모듈 컨트롤러(MC)는 상기 모듈 컨트롤러(MC)보다 더 느린 클록속도로 가동되는 시스템 또는 버스에 부착될 수 있다. MC가 고속 데이터를 수신하거나, 상기 데이터를 역직렬화(de-serializing)하거나, 데이터를 래칭(latching)하거나, 상기 데이터를 또 다른 인터페이스로 전송하거나 상기 모듈 컨트롤러(MC)내에 있는 데이터를 사용하게 될 일부 시간주기가 있을 수 있다. 저속 클록을 위해 래치되는데 시간이 충분치 않게 모듈 컨트롤러(MC)에 도달한 데이터는 저속 클록의 속도 클록 싸이클에 유용해 진다.
비트가 시간적으로 다음 저속 클록 싸이클에 사용되게 도착하지 않는 전송은 비트가 다음 저속 클록 싸이클에 사용될 수 있는 마지막 가능한 순간에 도달하는 전송보다 이점적이지 않을 수 있고, 시스템 성능에 대한 향상 뿐만 아니라 논리 복잡도의 감소가 발생할 수 있다.
도 70a는 도 68a에서의 시스템과 같은 동일한 신호지연을 갖는 시스템을 도시한 것이다. M3가 M6(sdM6)보다 신호지연(sdM3)이 더 낮은 반면에, 시간(t1)에서 전송된 명령에 대한 응답은 tL_(t1)+48에서 양 모듈에 대해 같은 시간에 복귀하게 된다. 그 결과, M3의 신호지연이 도 70b에 도시된 바와 같은 조절된 신호지연(asdM3)으로 대체되는 경우, M3의 응답 대기시간은 동일한 채로 있다. 이 경우, 모듈 컨트롤러(MC)내 명령 복귀 스케쥴러는 고속 클록시간이지만 더 느린 슬롯시간을 기초로 스케쥴링 결정을 함이 없이 동작될 수 있다. 명령 스케쥴러는 또한 sdM6, asdM5, asdM4, asdM3가 70b에서 한 도시된 경우와 같이 신호지연이 동일한 슬롯시간내에 있는 모듈에 대해 스케쥴링 업무를 수행할 수 있다.
이러한 지연조절이 모듈 컨트롤러(MC)의 실행 또는 동작에 유익한 경우, 모듈 신호지연의 이러한 조절은 단지 "가상의" 조절이 되게 할 수 있다. 즉, 신호가 asdMi보다는 여전히 sdMi에서 모듈 Mi에 도달하나, 모듈 컨트롤러는 신호가 asdMi 에 도달한 것처럼 동작한다.
또 다른 신호지연을 감소시키기 위한 식으로 한 모듈의 신호지연을 증가시키기 위해 도 35-38에 도시된 교환의 타입을 수행함으로써 지연이 증가될 수 있는 것이 가능하다. 전체 신호지연은 전후지연 모두의 조합이다. 예컨대, 도 70에서, sdM2를 소량 증가시킴으로써, sdM3 ≤ dM6이도록 sdM3를 감소시킬 수 있는 경우, M3의 명령 대기시간은 M2의 명령 대기시간을 증가시키지 않고도 향상될 수 있다.
한 경로내 전체 지연의 향상은 하나 이상의 다른 모듈의 지연을 조절하여 발생할 수 있다. 지연에서의 향상은 또한 또 다른 모듈의 명령 지연을 증가시키는 것을 포함할 수 있다. 예컨대, 도 70에서, sdM1=sdM2이도록 sdM1을 증가시킴으로써 sdM7=sdM6이도록 sdM7을 줄일 수 있다. 이 예에서, M1의 명령 대기시간은 한 슬롯 타임만큼 증가할 수 있고 M7의 명령 대기시간은 한 슬롯타임 만큼 감소될 수 있으 나, sdM1은 여전히 sdM7보다 더 작을 수 있다.
명령지연이 줄어든 모듈이 실제로 지연이 증가된 모듈보다 더 작게 되는 지연의 조절이 사용될 수 있다.
도 70c는 모듈 컨트롤러(MC)가 명령을 전송할 수 있는 타이밍이, 있다면, 슬롯타임 및/또는 저속 클록에 대해 고정될 수 없는 도 70a의 구성예를 도시한 것이다. 도 70c는 슬롯이 모듈의 명령 지연에 영향을 끼치지 않고 사용될 수 있는 조절된 신호 지연값의 다른 세트가 되는 모듈 컨트롤러(MC)에 더 가깝게 4비트 이동한 도 70a에서 예 다음에 t1+4에서의 상황 또는 4 고속클록을 도시한 것이다.
도 71a는 이전 예에서 각각의 모듈이 3개의 다른 명령 CMD#1, CMD#2, 및CMD#3을 수행하는데 걸리는 시간 뿐만 아니라 이전 명령이 CMD#2인 경우에, CMD#3_(2)로 도시된 CMD#3을 실행하는데 걸리는 시간과 같이 모듈(M0 및 M2)에 대한 데이터 지연 및 신호 지연을 도시한 것이다. 이 표기는 또한 하나 이상의 이전 명령이나 모듈 또는 시스템의 다른 상태를 고려할 수 있다. 이 예에서, 각 명령에 대한 지연은 양 모듈에 대해 동일하다; 그러나, 주어진 명령에 대한 지연이 각 모듈에 대해 반드시 같을 필요는 없다.
도 71b는 최종발생한 명령 신호지연을 도시한 것이다.
표기 "sd[3]M2"는 모듈 M2에 대한 명령 CMD#3에 대한 신호지연이며 sd[3_(2)]M2는 모듈 M2에 대한 명령 CMD#3_(2)에 대한 신호지연이다.
모듈에 대한 하나 이상의 가능한 조절된 신호지연이 있을 수 있다. 예컨대, 모듈 컨트롤러는 모듈로부터 복귀된 데이터를 하나 이상의 목적지로 보내거나 교차되는 하나 이상의 가능한 클록 경계(clock boundary)가 있도록 상기 복귀된 데이터와의 하나 이상의 동작 타입을 수행할 수 있다. 클록 "경계"는 또한 고속 클록으로장치, 기능, 처리 등으로 이끄는 직렬화 처리에서 슬롯의 시작시간일 수 있다. 클록이 고정된 위상 또는 주파수 관계를 갖는 어떠한 요건도 없다.
진행 예로, "고속 클록"이 고속 링크상의 "비트 시간"을 뜻하기 위해 개념상 사용되나, 고속 클록은 예컨대 데이터가 양 클록 에지들상에 전송되거나, 다중값의 신호가 사용되거나, 차등 클록, 다중위상 클록 및/또는 하나 이상의 클록이 사용되는 경우에 비트 시간과는 다를 수 있다. 단지 간결히 하기 위해, 예들은 클록 시간과 비트 시간이 동이란 것으로 주어져 있음을 알아야 한다.
또한, 명확히 하기 위해, 데이터가 "다음 저속 클록"에 의해 도착되는 것을 말하나, 이는 바로 뒤이은 클록 시간이 아닐 수 있는 데이터가 사용될 수 있는 다음 기회를 나타내는 것으로 또한 이해되어야 한다.
물리적 및 논리적 배치의 예가 주어져 있다. 다른 배치들도 가능하며 당업자에게는 명백해진다. 예컨대, 도 72는 앞서 도 5에 도시된 트리와 유사한 트리가 모듈 M0에서 M7이 직선으로 서로 평행하게 배치되도록 마더보드 또는 기판에 배치될 수 있는 것을 도시한 것이다. 이와 같은 배열은 공기냉각의 흐름을 용이하게 또는 마더보드 또는 메인보드의 전기 배치를 최적화하게 할 수 있다. 도 72 및 다음에서, 모듈들 간의 라인들이 화살표로 끝나고, 모듈들 간의 연결을 나타내기 위해 모듈의 경계에서 시작하도록 라인들이 나타나 있다. 이들 연결의 일부가 어떠한 기능적 연결없이 모듈을 인터리빙함으로써 통과하고, 이러한 배열은 점선 또는 음영으로 하여 도시되어 있다; 그러나, 모듈에서 발생하여 화살표로 끝나지 않는 또 다른 모듈을 지나는 라인들은 모듈을 물리적으로 효과적을 우회한 것으로 간주된다. 기능적 상호작용없이 모듈을 지나는 라인의 물리적 태양은 상세한 설계에 따를 수 있으나, 일 태양에서 점선 또는 우회선은 인쇄회로기판의 후면 또는 인쇄회로기판 또는 기판의 층내를 지나는 선을 나타낼 수 있다.
도 73a는 도 72에서와 동일한 배열을 도시한 것이나, 각 모듈이 전면과 후면을 갖는 것으로 표시되어 있고, 전면의 방향이 넓은 화살표로 도시되어 있다. 각 모듈은 전면에 하나의 포트와 후면에 2개의 포트를 가지며, 포트는 라인들의 2개의 일방향 그룹으로 도시되어 있다. 또 다른 태양으로 각 포트는 양방향 라인들로 구성될 수 있다. M0 및 M1과 같은 2개 모듈들 간의 인터페이스는 도 73b에 표시된 바와 같이 서로 마주보는 전면이 된다. 전반적으로, 도 72의 구성을 형성하기 위해 모듈의 방향이 도 73a에 도시되어 있다.
도 74a-d는 모듈의 다른 배열의 예를 도시한 것이다. 도 74a에서, 모듈 M0 및 M1이 평면도로 도시되어 있으며, 이들 사이의 라인들은 단방향이다. 대안으로, 각각의 라인은 양방향거나 라인의 그룹들로 구성될 수 있고, 심볼 R과 T는 연결을 송수신 연결이라기 보다는 기준 표시자(standard designator)로서 고려될 수 있다. 이 예에서, R 연결은 좌측에 도시되어 있고 T 연결은 각 모듈의 우측에 있다. 모듈(M1)의 T연결을 예컨대 M0의 R연결에 연결시킬 때, 연결은 각각의 모듈 아래를 지나는 반면에, M0의 T연결을 M1의 R연결로의 연결은 모듈 아래로 지나지 않는다.
도 74b는 도 74a의 배열을 종단도로 도시한 것으로, 라인들 중 일부가 보드(970a)의 한 층에 라우트되고 일부는 보드의 또 다른 층(970b)으로 라우트된다. 각각의 모듈은 다양한 회로 구성부품들이 배치되어 있는 회로기판에 있을 수 있다; 구성부품들은 메모리 칩, CSE, 다른 인터페이스, 계산소자 등을 포함할 수 있다. 도 74c는 또 다른 배열을 평면도로 도시한 것이며, 도 74d는 이에 따른 종단도이다. 도 74c,d에서, 모듈은 스위치를 나타낼 수 있는 Si로 표시되어 있다. 스위치(S)는 회로기판상에 배치된 CSE 또는 다른 장치일 수 있다. 그러나, 다른 경우 특별히 제한하지 않은 경우, S, M, T, R로 이러한 표시자의 사용은 기능을 스위치, 모듈, 송신기능 또는 수신기능으로 제한하기 보다는 일반적인 기준 표시자로서 의도되어 있다. 레인들은 단방향 또는 양방향일 수 있고 기술된 특징들의 조합을 갖는 라인들이 그룹으로 구성될 수 있다.
도 75는 모듈들 간의 상호접속이 마더보드 또는 기판이 아닐 수 있는 태양을 도시한 것이다. 도 75a의 평면도에서, M2와 (도시하지 않았으나, 모듈(M2)의 우측에 배치되어 있는)다른 모듈 사이의 연결에서와 같이, M0와 M1 사이의 연결이 마더보드상에 있는 것으로 도시되어 있다. 그러나, M0와 M2 사이의 연결은 연결될 수 있는 모듈(M0와 M2)의 상단 사이에 연결된 보드(980)에 의한 것과 같이 도시되어 있다. 대안으로, 이 연결은 케이블과 커넥터 또는 다른 수단에 의해 될 수 있다. 이 배열이 도 75b 종단도로 도시되어 있다.
일 태양으로, 도 76은 도 72의 배열의 일부를 도시한 것으로, 모듈로의 연결은 포트에 대한 모듈의 일측상에 T와 R 연결의 교대로 도시되어 있다. 도시된 바와 같이, 한번의 변경이 있고, 수신연결(R)은 우측에 그리고 송신연결(T)은 좌측에 있으며, 그런 후 상기 송신연결(T)은 좌측에 있고 상기 수신연결(R)은 우측에 있다. 3개의 포트가 각각의 모듈에 도시되어 있는 것을 알 수 있다. 임의의 회수의 이러한 연결의 변경이 있을 수 있고 각 변경과 관련된 라인의 개수는 0 이상일 수 있다. 각 그룹에서 라인의 개수는 같지 않을 수 있다. 이러한 연결의 배치는, 예컨대, 모듈을 반대로 회전시켜 마주보는 부분들로 지향하게 하지 않고도 도 73에서 도시된 바와 같이 모듈들이 연결될 수 있는 것을 알 수 있듯이, 모듈의 전면과 후면을 지정할 필요를 없앨 수 있다. 따라서, 대칭적인 플러그 인 카드가 몇몇 애플리케이션용으로 생산될 수 있다.
또 다른 태양으로, 도 77은 T와 R 연결이 변경되지 않은 카드의 동일한 배열을 도시한 것이다. 여기서, R 연결은 보드의 좌측면에 있고 T 연결은 보드의 우측면에 있다. 이는 연결의 변경이 카드와 연결의 소정 배열을 위해 필요하지 않는 것을 나타낸다.
도 78은 도 77의 보드연결구성이 사용되는 태양을 도시한 것이다. 전송라인의 상단 2개 세트에 전달되는 대신에 M1에서 M3로의 연결은 상단으로부터 두번째 그룹을 포함하다. 모듈 M0와 M3 사이의 레인이 도 77에 도시된 바와 같이 M1의 상단을 가로지르고 M3를 너머 M0의 상단에서 M0의 중심에 있는 스위치(미도시)로 라우트된다. 따라서, 최장 신호경로는 스위치까지 닿고 그런 후 M1을 가로질러 모듈(M1)의 상단까지에 이르는 M0의 길이의 반이다. 그러나, 도 78에 도시된 바와 같이 레인을 배열함으로써, M3에서 MC(미도시), M0의 출력까지의 거리가 줄어든다. 이 태양에서, 모듈상의 경로의 길이만이 고려되었다. 모듈 사이의 거리도 또한 라우팅의 고려의 한 부부인다. 어떤 상황에서, 모듈로 이동한 거리는 모듈들간의 거리보다 더 길다. 모듈상의 경로 변경은 레인을 논리적으로 이동하는 데이터의 루트를 교환하는 것과 동일한 방식으로 상기 트리의 더 아래의 모듈들에 대한 전체 지연을 줄이는 것을 알 수 있다.
도 79는 사이의 링크 폭이 다른 모듈의 배열을 도시한 것이다. 모듈(M0)은 모듈 컨트롤러(미도시)로의 트래픽의 2개 풀 포트를 갖는 2개 풀 레인들을 갖는다. 그러나, M0는 각 모듈(M1, M2, M3, 및 M4)로의 레인들 개수의 절반이다. 각 모듈이 M0에 연결하는 레인들을 차지하므로, 2개 모듈들이 동시에 전속력으로 소통될 수 있다. M1으로의 연결을 갖는 M5, M6, M7 및 M8로의 연결의 예에서, 모든 모듈들이 완전한 속도로 동시에 어드레스될 수 있다. 이러한 배열을 "패트(fat)" 트리라 할 수 있다. 이러한 트리에서, 데이터 경로의 폭은 다수의 모듈들이 혼잡없이 접속될 수 있도록 루트로 진행시에 증가된다.
도 80은 그리드 형태의 모듈들의 그룹핑을 도시한 것이다. 도 80a에서, 4개의 모듈들이 기본 사각형으로 연결되어 있고, 상기 4개의 모듈은 모듈 쌍들이 서로 나란하며 상기 모듈 쌍들이 서로 동일선에 있도록 장착된다. 이 구성은 커넥터에 의해 보드에 장착되고 상기 보드로부터 수직으로 올라온 모듈들에도 적용되는 경우, 서로 평행한 카드의 정렬이 냉각공기의 순환을 용이하게 할 수 있다. 따라서, 물리적 배열이 논리적 상호접속 배열에 상관없이 더 규칙적이 될 수 있다. 도시된 태양에서, 모듈들은 교번하는 송수신 연결을 갖는다. U의 외부 주위로 가장 긴 라우트를 취하는 레인이 모듈의 중심 부근에 있는 층이며 중심에 위치된 스위치 또는 CSE에 더 가까울 수 있기 때문에, M0 및 M2를 연결하는 라인들의 U형태의 구성으로 인해 스큐 감소를 초래할 수 있다.
도 80b는 도 80a에서 회로의 논리도를 도시한 것으로, 각 박스는 모듈 등을 나타내고, 신호라인은 링크라인 및 레인과 같은 모듈들 간의 모든 상호접속을 나타낸다. 이러한 빌딩블록으로부터, 도 80c는 4 모듈의 기본적인 구성이 어떻게 모듈의 격자로 확장될 수 있는지를 도시한 것이다. 격자는 임의의 치수로 완전히 규칙적일 필요는 없으며, 그 내부에 갭을 가질 수 있다.
도 81a에 도시된 6개 그룹과 같이 다양한 기하학적 구성이 형성될 수 있다.(모듈들이 도면에 도시된 다른 물리적 크기로 되어야 할 필요조건이 없음에 주의하라; 다른 크기의 블록들의 사용은 도면의 편의를 위한 것이다). 4의 배열과 유사한 6 모듈의 논리 배열이 도 81b에 도시되어 있고, 육각형 형태이다. 도 82는 육각형 구조로 된 격자를 나타낸다. 연결도(connectivity) 면에서, M0로부터 이끄는 경로가 위로 곧장 가서 M2의 바닥으로 이끄는 경로에 연결되고, 기판의 상단에 있는 전송라인이 M2의 기판의 상단에 있는 라인들을 수신하게 이끄는 도 80과는 대조적으로, 도 81a에서, M0는 M3에 연결된 것으로 나타나고, T라인이 연결된 것으로 나타난다. 그러나, M0는 실제로 M5와 소통하고, M3는 M2와 소통한며, 도 82c에 도시된 바와 같이 서로 오프세트되어 있는 6 모듈 그룹으로 인해 적절한 단자들이 연결되어 있다.
또 다른 태양으로, 격자 구성이며 모듈에 인터페이스하도록 구성된 프로세서 유닛(CPU), 메모리 컨트롤러, 또는 모듈 컨트롤러 또는 다른 장치에 연결된 모듈 배열이 도 83에 도시되어 있다. 이 예에서, 메모리가 4개의 중앙처리유닛(CPU 1,...,4)과 공유될 수 있다.
도 84는 2개의 CPU장치를 2루트 트리(two-rooted tree)라고도 하며 2트리라고 할 수 있는 것에 연결되어 있는 또 다른 구성을 도시한 것이다. 일 태양에서, CPU C0는 모듈 M0, M2, M4, 및 M6에 연결된 트리의 루트로서 동작할 수 있고, CPU C1은 모듈 M1, M3, M5, 및 M7의 루트이다. 연결된 루트 CPU에 의한 각각의 트리로의 접속은 다른 트리의 동작에 상관없이 수행될 수 있다. 그러나, 다른 트리로의 접속이 필요한 경우, 있을 수 있는 충돌을 조절하기 위한 프로토콜이 트리 시스템이나 CPU 사이에 제공될 수 있다. 이러한 듀얼-포트 메모리들은 공통모듈로의 접속경로가 있다면 2 이상의 CPU가 동일한 모듈내에 메세지를 저장함으로써 소통하게 허용할 수 있다. 특히, 모듈 M0에서 모듈 M1으로의 연결은 CPU가 서로 메세지를 전송하거 다른 경우 통신하도록, 예컨대, 라인의 절반이 한 CPU의 제어하에 있을 수고, 라인의 절반이 다른 CPU의 제어하에 있을 수 있도록 채널화될 수 있다.
도 85a,b는 논리 트리가 각각의 모듈을 CPU에 연결하는 CPU에 연결된 모듈들의 2가지 다른 배열을 도시한 것이다. 이러한 상황에서, 논리 경로상에 있지 않는 링크는 파워업되지 않을 수 있다; 그러나, 링크에 전원공급을 배제할 어떠한 것도 없다. 다른 논리 트리가 제어 및 복귀경로용으로 사용되는 것이 또한 가능하다. 이러한 트리 배열에서, 데이터 및 제어흐름은 각각의 모듈의 사용에 기초한 부하를 분배하도록 할당될 수 있거나, 연결이 I/O 장치에 접속을 허용하도록 논리적으로 재배열될 수 있다.
도 86a는 각각의 육각형이 각각의 CPU(CPU 1,...,4)를 갖는 육각형 모듈의 어레이를 도시한 것으로, 제어경로는 굵은 연결선으로 도시되어 있다. 도 86b는 각각의 CPU를 갖는 정사각형 모듈의 격자 배열을 도시한 것으로, 명확히 하기 위해 각 CPU로부터의 논리 제어경로가 각각의 기호(다양한 실선, 대쉬(dash) 및 점선)으로 도시되어 있다. 이 도면에서, CPU는 또 다른 컴퓨터와의 접속을 공유하는 것이 아니라 단지 메모리 소자의 연결된 그룹에 접속하고 있는 것으로 도시어있다. 그러나, 도 87b는 공유 메모리 영역으로 뻗어있도록 제어 및 복귀버스의 확장을 도시한 것이다. 공유 메모리의 메모리 접속의 조정은 트리에서, 또는 각각의 통신경로상에 있는 CPU 사이의 통신에 의해 또는 몇몇 다른 수단에 의해 수행될 수 있다. CPU C1 및 C2의 경우, 레인의 일부가 앞서 도시되고 거론된 바와 같이 상술된 폭의 절반으로 도시되어 있으며, 이러한 구성은 2개의 프로세서에 의해 동시에 접속될 수 있다. 프로세서는 또한 공유 메모리에 번갈아 접속하도록 구성될 수 있다.
도 88은 4개의 CPU의 구성과, 메모리 모듈 뿐만 아니라 입출력(I/O)장치(I/O#0 내지 I/O#4)로 구성된 4개 모듈일 수 있는 모듈의 격자를 도시한 것이다. 이 경우, 각각의 CPU는 조정할 필요없이 I/O 모듈 중 어느 하나에 동시 접속할 수 있다.
도 89는 I/O 모듈이 PCI 버스, PCI Express와 같은 점 대 점 버스, 멀티-드롭 메모리 버스에 대해 인터페이싱하는 메모리 허브(MH#0) 및 점 대 점 메모리 버스에 연결하는 메모리 허브(MH#1)일 수 있는 멀티-드롭 버스(multi-drop bus)로의 연결을 위한 버스 브릿지(Bus Bridges, BB)와 같은 컴퓨팅 시스템 소자에 의해 대체되는 구성을 도시한 것이다. 라인의 폭은 모든 경로가 동일한 폭일 필요가 없거나 경로가 대칭일 필요가 없음을 개략적으로 나타내기 위해 다른 폭으로 도시되어 있다.
도 90은 트레이스의 세트가 사용되는데 따라 선형 및/또는 트리 토폴로지 모두를 지원할 수 있는 모듈과 링크의 배열을 도시한 것이다.
도 91은 센터 트레이스를 사용하여 선형 토폴로지에 사용된 도 90의 구성을 도시한 것이다.
도 92는 외부 트레이스를 사용한 트리 토폴로지 뿐만 아니라 센터 트레이스의 일부에 사용된 도 90의 구성을 도시한 것이다.
도 93a는 모듈 컨트롤러로부터 램(RAM) 칩으로의 연결을 형성하기 위해 모듈의 양측면에 위치될 수 있는 많은 램 칩을 갖는 모듈(M)에 배치된 CSE를 도시한 것이다. 램은 메모리 타입의 예로서 사용되며, 사용될 수 있는 메모리 기술의 타입을 제한하는 것으로 해석되지 않아야 한다.
도 93b는 '비트 슬라이스' 방식으로 도 93의 기능을 제공하는 3CSE를 도시한 것이다.
도 94a는 실선으로 도시된 램으로의 데이터 라인과 긴 점선으로 표시된 어드레스/명령 라인과 함께 도 93a에서와 같이 많은 램칩들을 갖는 모듈 상의 CSE를 도시한 것이다. 기판상의 모듈의 크기와 위치는 많은 애플리케이션에서 중요하지 않을 수 있다.
도 94b는 RAM으로부터 데이터 라인이 많은 더 작은 CSE를 가로질러 비트 슬라이스된 모듈상의 다수의 CSE를 도시한 것이다. 상기 비트 슬라이스 CSE는 또한 어드레스/명령 라인들을 제어하지만 모듈상의 최우측의 CSE는 RAM으로의 RAM으로의 어드레스/명령 라인들을 제어하고, 상기 최우측 CSE는 또한 몇몇 RAM 칩으로부터 데이터를 전달할 수 있다.
도 95는 트리의 바닥에서 리프 모듈(M6 및 M7)의 모듈상에 단일 링크의 상대적인 물리적 위치가 동일한 구성을 도시한 것으로, 이는 한 세트의 링크를 연결시키기 위한 트레이스만을 가질 수 있는 한 세트의 링크 및/또는 커넥터에 대한 핀들만을 가질 수 있는 CSE 뿐만 아니라 감소된 능력을 갖는 모듈을 가짐으로 인해 유도될 수 있는 이점을 갖는 리브 모듈을 형성하는 것과 같이 수행되도록 다양한 최적화를 허용할 수 있다.
도 96의 좌측은 도 95에 도시된 모듈 그룹의 좌측 절반을 반복하며 평행한 모듈들의 선형 정렬에 대해 다른 모듈로부터 모듈(M6)의 오프세트를 나타내고 있다. 도 96의 우측은 모듈(M6)의 오프세트의 크기를 줄이기 위해 트레이스의 배열이 변경된 동일한 모듈을 도시한 것이다.
도 97은 양방향 링크를 사용한 모듈의 배열을 도시한 것이다.
모듈이라는 용어는 '모듈'이 플러그가능한 커넥터를 통해 모듈 컨트롤러 및/또는 다른 모듈에 연결되어야 하기보다는 또 다른 '모듈'과 동일한 기판상에 있을 수 있더라도 CSE와 관련된 기능 및/또는 구성부품을 포함하기 위해 사용된다. CSE사이의 연결은 넓은 트레이스로서 도시되었으나, 이는 와이어, 케이블, 광연결, 기판 트레이스 패턴 등을 통한 상호접속을 배제하는 것으로 이해되지 않아야 한다.
도 98은 캐쉬 메모리가 추가 된 상술한 바와 같은 모듈을 도시한 것으로, 상기 캐쉬 메모리는 RAM 또는 다른 메모리 기술일 수 있다. 캐쉬는 CSE 또는 전체 모듈의 일부일 수 있거나 모듈 컨트롤러 또는 임의의 다른 모듈로 오가는 길에 있는 모듈을 통과하는 데이터를 저장하거나 완충하는 역할을 한다. 캐쉬의 사용은 데이터 흐름의 타이밍에서 융통성을 용이하게 할 수 있고, 적절한 데이터가 저장되는 경우, 데이터의 재구성은 예컨대 모듈 장애를 처리하기 위해 흐른다.
도 99는 다수의 있을 수 있는 다른 상호접속 시스템들 간의 CSE 브릿징을 도시한 것이다. 도 99a는 모듈의 상단 에지에 연결될 수 있는 인터커넥트에 연결한 CSE를 도시한 것이다. 도 99b는 모듈의 바닥 에지에 연결될 수 있는 2개 인터커넥트에 연결한 CSE를 도시한 것이다.
또 다른 태양으로, 통신, 계산 및 메모리 시스템의 신뢰도가 관심이 될 수 있다. 데이터 또는 기능이 하나 이상의 부품들의 장애로 인해 상실되는 정도까지, 개개 장치와 부품들의 신뢰도 및 시스템의 구조 모두가 관련있는 것으로 생각될 수 있다. 컴퓨터 프로세서, 메모리 컨트롤러, 노드, 메모리 모듈 등과 같은 한 지점의 장애는 바람직하지 않는 것으로 생각될 수 있다. 체크섬(check-sum), CRC, 오류정정부호 및 레이드(RAID)와 같은 중복기술을 사용하여 데이터 오류의 정정과 손상된 데이터의 복원을 제공하기 위한 구성이 제공된다. "레이드(RAID)" 라는 용어는 글자그대로 Redundant Array of Inexpensive Disks의 두문자이나, 해당기술분야에서는 많은 데이터 저장장치를 통해 데이터 및 체크 비트들의 떼어냄(stripping)을 포함한 어떤 중복구성으로서 의미를 갖는다. 특히, 전체 시스템이 상당히 손상되기 전에 하나 이상의 장애를 겪을 수 있게 데이터 정정기술 및 중복 링크의 사용을 위해 모두 제공되도록, 상술한 바와 같은 통신, 컴퓨터 또는 메모리 구조가 구성될 수 있다. 이러한 장애가 검출될 수 있고 구성부품 또는 장치가 식별되어 예컨대 데이터 상실 전에 교체될 수 있다. 일 태양으로, 장치의 구성으로 인해 전원이 유지된 채로 있고 장치가 수리를 통해 기능을 유지한 채로 장치, 구성부품 또는 모듈이 교체될 수 있다. 이러한 수리는 해당기술분야에서 "핫 스와핑(hot swapping)"으로 알려져 있다.
도 100은 모듈들이 직선 형태로 배치되어 있는 모듈의 이진 트리를 도시한 것이다. 모듈들 간의 통신 레인 또는 링크 또는 버스가 각각의 한쪽 일단이 화살표로 끝나는 직선들로 개략적으로 도시되어 있다. 버스가 모듈 아래로 지나지만 연결하지 않는 경우, 버스는 회색으로 도시될 수 있으나, 버스상에 화살표 또는 링크가 모듈과 접촉하는 것 외에는, 임의의 버스에 의해 임의의 모듈로의 어떠한 연결도 되어 있지 않다. 이 예에서, 각각의 포트는 2개의 채널로 구분되고 상기 채널은 모듈의 제 1 측에 있는 한 버스와 상기 모듈의 제 2 측에 있는 2개의 버스로 도시되어 있다.
모듈의 트리 배열을 설명함에 있어, 숫자 표시로 트리내에 그리고 각 모듈의 "레벨" 모두에 대해 말하는 것이 편리하다. 도 100의 하부에서, 5 레벨을 갖는 이진 트리에서 모듈들 간을 연결하는 논리 링크가 도시되어 있다. 트리의 루트는 모듈 0(M0)로 표시된 레벨 0에서 단일 모듈이다. 루트 모듈은 한 포트를 통해 메모리 컨트롤러(MC)(미도시)에 그리고 다른 두 포트를 통해 레벨 1, M1, M2에서 2개의 다른 모듈에 연결할 수 있다. 이진 트리에 사용하기 위해 의도된 모듈은 3 이상의 포트를 가질 수 있고, 상술한 바와 같이, 포트는 하나 이상의 채널로 나누어질 수 있다. 이 예에서, 포트는 2개의 채널로 나누어진 것으로 도시되어 있다. 하드웨어 및 소프트웨어가 포트 할당에 무관하게 임의의 두 채널들 간의 통신을 지원하도록 구성되는 경우, 마더보드 신호라인 연결이 각각의 모듈 커넥터상의 다른 위치에 형성될 수 있는 것에 또한 유의해야 한다. 이 예에서, 2개 채널은 서로 직접 연결한 모듈들 간에 통신하는데 사용된다.
도 100의 상단에서 직선 배열로 있는 각각의 모듈 아래에, 첫번째 일련의 번호(M#)는 모듈의 숫자 명칭을 나타내며, 두번째 일련의 번호(L)는 트리내 모듈의 레벨을 나타낸다. 이 구성에서, 레벨 0에서 루트 모듈 0이 모듈의 그룹의 중심에 배치되어 있고 도면의 상단에 있는 버스는 예컨대 메모리 컨트롤러(MC) 또는 CPU 또는 유사한 장치에 연결된다. 모듈(10 및 12)은 레벨 3에서 모듈 0의 어느 일측에 있다. 레벨 1의 모듈은 루트 모듈과 모듈의 선형 물리적 배열의 양단 사이에서 대략 등거리로 배치되어 있다. 도시된 상황에서, 같은 계층의 모듈이 서로 반대로 배치되어 있지 않은 경우, 핫 스팟(hot spots)이 최소화될 수 있기 때문에 메모리 어레의 냉각이 향상될 수 있다.
본 예의 트리 구성에서, 모든 데이터가 결국 모듈 0을 통해 흐르는데 이는 모듈 0이 MC에 직접 연결된 유일한 모듈이기 때문이다. 이는 레인들이 임의의 다른 모듈보다 더 많이 전원이 가해지고 모듈 0이 최대 소비전력을 갖는 것을 의미한다. 소비전력의 논의를 편하게 하기 위해, 모든 모듈들이 있고, 읽기와 쓰기가 고르게 각각의 모듈에 할당된 것으로 가정하자. 따라서, 레벨 1에서의 모듈은 루트 모듈에 의해 처리된 데이터의 절반을 송수신 할 수 있다. 레인이 루트 모듈처럼 종종 평균적으로 절반이 전력 공급되어, 각각의 모듈에서 소비전력이 낮아지는, 간단하게는, 루트 모듈의 소비전력의 절반인 것을 의미한다. 마찬가지로, 레벨 2 모듈은 루트 모듈의 전력의 1/4을 각각 소비하고, 레벨 3 모듈은 전력의 1/8을 각각 소비한다. 따라서, 대부분의 전력을 소비하는 루트 모듈을 제외하고, 다른 모듈들은 상당히 적은 전력을 각각 소비하며, 도 100의 배열에 있어, 루트 모듈은 상기 루트 모듈의 전력의 1/8만을 각각 소비하는 레벨 3의 모듈에 의해 어느 일측상에 마주보고 있다. 특수한 배열이 루트 모듈을 냉각시키기 위해 형성될 수 있고 다른 모듈들은 거의 또는 어떠한 핫 스팟이 나타나지 않아 냉각하는데 어려움이 없게 된다. 나중에, 멀티-루트 트리를 사용한 스루풋 부하(throughput load)를 분배하는 수단이 거론되며, 각 루트의 전력분배가 2 인수 만큼 줄어드는 것이 당업자에게 명백해진다.
도 101은 3개의 포트가 있고 각각의 포트가 2개의 채널로 양분되는 이진 트리로 추구될 수 있는 많은 대안적인 연결 전략들이 있는 것을 도시한 것이다. 도 101a에서, 모듈의 선형배열의 길이를 따라 그려진 중심선에 대해 대칭적으로 배치되도록 채널 쌍들이 구성된다. 대안으로, 도 101b에 도시된 바와 같이, 또 다른 모듈로 가는 적어도 하나의 채널이 인터리브되게 2개 모듈을 연결하는 2개 채널들이 서로 이격되어 있도록 동일한 개수의 채널과 포트들이 구성될 수 있다.
트리는 멀티루트일 수 있고, 따라서 레벨 0에서 고려될 수 있는 하나 이상의 모듈들을 가질 수 있다. 이 상황에서, 각각의 모듈은 각 트리에서 다른 모듈 개수를 갖는다. 도 102는 모듈 번호 M#가 도면의 상단에 있는 제 1 루트와 모듈 번호 M#가 도면의 하단에 있는 제 2 루트를 도시한 것이다. 예로서, 모듈은 상기 모듈이 루트로서 작동하거나 트리내 노드로서 작동하는지에 따라 번호 0 또는 11일 수 있다.
모듈들 간의 레인 또는 버스의 연결은 종종 핀 밀도, 트레이스, 라인 또는 레인 밀도, 누화(cross-talk) 등에 의해 제한된다. 송수신 기능들 사이와 레인들 간의 더 큰 분리가 이 문제를 완화하는데 유용하다. 도 103a는 레인을 사용한 연결의 예를 도시한 앞서 사용된 평면도에서 중앙모듈에 대해 대칭으로 배치된 복수의 모듈을 도시한 것이다. 인쇄회로기판 PCB상에 버스들의 가능한 라우팅이 기판이 3개의 층과 4개의 면을 가진 도 103b에 입면도로 도시되어 있다. 버스들은 라인 교차, 다수의 공도(vias), 블라인드 공도(blind vias) 등이 최소화되거나 없어질 수 있도록 편리하게 라우트될 수 있다.
연결된 마더보드 설계에서, 커넥터상의 핀들은 PCB를 관통하고 각 층의 트레이스와 연결되게 이용되므로, 각각의 버스의 수직부가 실제로 커넥터 핀이다. 커넥터의 핀은 대개 물리적 길이가 모두 동일하며 층들의 일부에 필요로 하는 어떤한 연결도 없더라도 회로기판의 멀티층들을 관통해 뻗어있다. 이러한 핀들은 클록 및 신호 데이터 속도와 연계된 고주파수에서 스퓨리어스 신호에 대한 방사 지점들로서 작용할 수 있다.
다중층 PCB가 사용되나, 단일층에 모든 또는 실질적으로 모든 버스 상호접속의 라우팅을 배제할 어떠한 것도 없다. 더욱이, 본 명세서에 기술된 배열은 다른 많은 구성으로 분할될 수 있다. 예컨대, CSE와 메모리를 포함한 일부 또는 모든 구성부품과 상호접속은 기판상의 반도체 회로에 합체될 수 있고, 다이들은 상호접속 기판 또는 기판들 등에 장착될 수 있다. 즉, 제품의 구성 및 포장이 본 명세서에 제공된 특정 예로부터 상당히 다를 수 있다.
도 104에서와 같은 다중루트 배열은 몇몇 추가연결 트레이스의 제공과, 각 모듈에서 라우팅을 재구성하기 위한 소프트웨어 및 하드웨어의 능력에 의해 루트 모듈 장애의 경우에 일부 중복을 달성하는데 사용될 수 있다. 기본 트리 배열이 도 104a에서 버스를 나타내는 실선으로 연결된 것으로 도시되어 있고 논리연결이 도 104b에 도시되어 있다. 트리에서 메모리 모듈을 나타내는 각 블록은 도 104a에서 해당하는 메모리 모듈 아래에 배치되어 있다. 이 상황에서, 모듈(M0)은 루트이고, 메모리 컨트롤러에 연결되어 있다.
추가 상호접속은 도 104a에 짙은 대시선으로 도시된 바와 같이 형성되어 있으며, 장애 태양의 경우에 사용될 수 있다. 루트 모듈(M0)을 MC에 연결하는 포트가 장애인 상황에서, 트리는 도 104c에 도시된 바와 같이 재구성될 수 있다. 이 상황에서, 앞서 사용된 (즉, M0와 M2 사이의 레인들과 같은) 어떤 레인들이 사용될 수 없고 이전에 활동하지 않은 (짙은 대시선으로 도시된 M4와 M5 사이의 레인들과 같은) 어떤 레인들이 서비스에 놓여질 수 있다. 부수적으로, 트리에 있는 개개의 모듈의 레벨이 변할 수 있다. 예컨대, 모듈(M0)은 레벨 0이 었으나, 이제 레벨 3에 있고, 레벨 1에 있었던 모듈(M4)은 이제 레벨 0에 있다. 몇몇 중복을 제공하는 한편, 도 104의 배열은 임의의 한 노드 또는 링크가 장애가 있는 경우에 중복을 위해 형성되지 않는다.
도 105는 기껏해야 고장난 소자와는 다른 곳으로부터 데이터의 손실없이 트리내 임의의 곳에 단독 고장을 수용할 수 있는 트리와 연결을 도시한 것이다. 모든 모듈과 모든 동작가능한 링크로의 연결이 유지된다. 도 105b는 실선 링크 라인들은 모든 레인들과 노드들이 동작가능한 트리의 베이스라인 상태를 나타내며, 트리내 모듈의 논리 배열을 도시한 것이다. 대시선으로 도시된 연결은 활동중지될 수 있는 링크들이나, 루트 모듈(0)의 장애의 경우에 활동될 수 있다. 이 상황에서, 트리내 레벨 3에서 10으로 표시된 모듈은 동작 루트로서 재지정된다. 이는 모듈의 도면으로부터 수직하방으로 뻗어있는 대시라인으로 도 105b에 도시되어 있다.
도 105a는 도 105b의 논리 트리와 관련된 마더보드 레인 및 모듈의 평면도이다. 실선으로 도시된 링크들은 트리가 어떠한 장애도 없이 완전하게 작동하는 경우에 활성화된다. 대시선들로 도시된 링크들은 트리가 장애의 경우에 계속 동작하게 재구성될 수 있도록 형성된다. 도시된 특정 장애는 가장 심각한 장애일 수 있는 루트 모듈에 대한 것이며, 루트 모듈과 같이 통계적으로 더 가능하게 발생될 수 있는 모듈이 대부분의 전력을 소비하는 모듈이다. 다른 모든 요인들은 동일하다면, 반도체 회로의 특정 타입의 고장율은 온도에 따라 증가한다. 트리가 재구성되는 경우, 이전에 동작하는 링크들 중 모두가 계속 사용되지는 않는다.
트리의 재구성으로 데이터와 제어경로와 트리내 모듈 중 몇몇의 레벨에 변화가 발생한다. 도 106에 관련하여 이 정보를 시각화하는데 유용할 수 있다. 도 106a는 어떠한 장애가 없는 베이스라인 구성이며, 보조 링크들은 동작하지 않는 것으로 (옅은 대시선들로) 도시되어 있다. 장애가 모듈(0)에서 발생한 경우 도 106b를 고려하며, 상기 도 106b에서, 트리는 모듈(0)이 바닥에 있고 모듈(15)이 상단에 있도록 뒤집혀져 있다. 도 106c에서, 동작하는 보조링크들은 짙은 대시선들로 도시되어 있고, 동작하지 않는 링크들은 옅은 선들로 도시되어 있다.
도 107은 16개 모듈의 4개 그룹이 장착되어 있는 대용량의 마더보드의 개략적인 도면이다. 이는 중복동작을 유지하면서 마더보드의 용량을 더 증가시키기 위한 접근법을 나타낸 것이다. "세트"로서 지정될 수 있는 모듈의 각각의 그룹은 도 105 및 도 106의 모듈 어레이의 속성을 갖는다. 4개 세트의 연결이 회로소자(C)에 의해 수행되며, 상기 회로소자(C)는 CSE 장치 또는 유사장치일 수 있어, 장치 C 또는 CSE1 및 CSE2 중 어느 하나, 또는 세트들 중 어느 하나에서 모듈중 어느 하나의 단독 장애로 인해 데이터가 손실되지 않게 된다. 이러한 속성은 또한 고장난 모듈이 사용되고 있지 않는 유닛을 취하지 않고도 대체될 수 있도록 모듈의 핫 스와핑을 허용한다.
상술한 바와 같이, 레벨이 또한 많은 상황에서 평균 데이터 처리율과 관련있기 때문에 모듈의 소비전력은 상기 모듈이 처해 있는 트리의 레벨에 따른다. 그런 후, 각 모듈 위치에서 소비전력이 평가됨에 따라, 자원을 냉각시키는 더 효과적인 사용이 이루어져 핫 스팟이 줄어들 수 있다. 예로서, 도 108은 모듈상에 CSE의 위치가 도시되어 있는 이전의 예에서와 유사한 15개 모듈의 그룹으로 된 평면도를 도시한 것이다. 기류의 방향은 넓은 화살표로 도시되어 있고, 금속 펜스(1100)가 모듈에 냉각공기를 보내도록 마더보드에 부착되어 있다. 펜스는 마더보드에서 대략적으로 상기 마더보드의 커넥터에 삽입된 모듈의 높이까지 뻗어 있다. 최고 소비전력을 갖는 레벨 0에서 모듈 0의 경우, 펜스(1100)는 더 큰 개구면적이 입력기류에 내놓아지도록 배치되고 모두 레벨 3에 있는 모듈(11 및 10)에 비해 더 많은 량의 기류가 모듈(0)을 통해 흐르게 된다. 트리내 레벨 3에 있는 인접한 모듈(8,9,12,13)로의 기류보다 모듈(1 및 2)로 더 많은 기류가 주어지는, 나머지 기류 펜스(1100)의 적절한 배치를 제외하고는 동일한 할당이 이루어 질 수 있다.
하나 이상의 모듈 그룹이 냉각되고 상기 냉각공기가 마더보드의 영역으로부터 소진되기 전에 제 2 세트의 모듈을 통해 라우팅될 수 있는 경우, 공기의 온도분산을 고르게 하기 위해 동일한 접근이 사용될 수 있다. 도 109는 제 1 트리에서 더 상위 레벨에 있는 모듈들이 더 하위 레벨에 있는 모듈들 다음에 배치되어 있도록 열된 16개 모듈의 2개 그룹이 도시되어 있으며, 그 결과 동일한 모듈 구성이 양 모듈 그룹에 사용되는 상황으로 인해 2개 레벨의 합이 줄어들게 된다. 모듈 트리 레벨 개수의 합이 더 낮을 수록, 그룹으로 취해진 2개 모듈의 소비전력이 더 커진다. 예로서, 공기 입력에 가장 가까운 모듈 그룹내 레벨 0에서 모듈(0)이 모듈의 다른 그룹의 레벨 3에 있는 모듈(11)의 앞에 있는 경우, 소비전력의 합은 각 모듈 그룹의 구성이 동일하고, 예컨대, 2개 레벨(0) 모듈이 기류방향과 일치하는 경우에 얻을 수 있는 소비전력의 단지 약 60%일 수 있다.
또 다른 태양으로, 마더보드상에서 모듈의 물리적 위치는 트리내 모듈의 레벨과 관련있기 때문에, 트리에서 하위 랭크에 있는 모듈들(예컨대 루트 또는 루트들)이 인접한 모듈들로부터 멀리 이격되어 있고 모듈들이 트리내 상위 랭크(예컨대, 리브)에 있는 경우에서보다 더 많이 전력을 소비할 것으로 예상되도록 모듈들 간의 간격이 변할 수 있다. 하나 이상의 모듈이 루트일 수 있는 경우, 동작상황이거나 중복상황 중 어느 하나로, 각 구성에서의 소비전력이 보드 배치 계획에 고려될 수 있다.
도 110은 어떻게 CSE 및/또는 상기 CSE에 장착된 열 싱크 및/또는 모듈의 다른 배치와 방향이 기류 및/또는 모듈 간격에 향상을 제공할 수 있는 지를 도시한 것이다.
도 111은 노드가 12 레인들로부터 구성될 수 있는 링크들을 갖는 듀얼-루트 트리 구성을 도시한 것이다. 루트 노드는 MC(미도시)에 4개 레인, 각각의 자식에 3개 레인 및 다른 루트에 2개 레인을 갖는다. 루트의 자식은 상기 루트와 각각의 그들 자식에 3개 레인 뿐만 아니라 다른 루트의 해당 자식인 노드에 3개 레인을 갖는다.
큰 메모리 어레이의 물리적 배치는 기판층에 트레이스를 구성하는 도체내 매우 많은 PCB 층들, 공도(vias) 및 벤드들 또는 기판상의 등가물들을 필요로 하는 것을 포함해 많은 문제를 나타낸다. 커넥터 핀들의 길이로부터 전자기 복사와 지면 및 전력면 무결성의 효과가 당업자에게 알려져 있다. 도 112a는 4개의 커넥터와 보드 인터페이스 커넥터 또는 기존의 메모리에 연결한 PCB의 단일층에 대한 마스크를 도시한 것이다. 트레이스의 밀도와, 신호 커플링 및 전파시간 변화와 관련될 수 있는 상기 트레이스간의 거리 변화, 및 고주파수 신호에 대해 임피던스가 변하고 신호 파형왜곡이 발생할 수 있는 직선 트레이스로부터의 편차가 또한 알려져 있다.도 112b는 도 112a에서 층의 배치의 상세한 예이다. 원은 커넥터의 핀을 나타내며, 여기서 짙은 원은 도시된 보드층상에 있는 트레이스들로의 연결에 대한 것이며, 밝은 원은 층을 통과하고 또 다른 층상의 트레이스에 연결하는 핀이다. 핀으로부터 멀리 있는 트레이스들은 인접한 트레이스들 간의 거리변화에 따라 배치되어 있고 상기 트레이스들 중 일부는 함께 가까이 있어, 커플링을 증가시킨다. 핀 근처에, 트레이스의 그룹이 핀들 사이에서 라우트되어, 트레이스 사이 및 트레이스와 핀 사이의 거리를 줄인다. 또한 이 영역에서, 많은 트레이스들에서 다수의 벤드들이 있어, 임피던스 왜곡이 발생한다. 도 112c는 2개의 커넥터 A와 D의 연결에 의해 취해질 수 있는 경로를 도시한 것으로 트레이스들이 중개 커넥터 B와 C의 핀들 사이를 지나가야 한다. 도시된 트레이스 쌍들은 차등신호가 사용되는 배치를 나타낼 수 있다. 신호가 인접한 층의 신호 트레이스에 가까운 한 층에 있는 신호 트레이스의 일부를 가져오는 경로를 따라 이동할 수 있는 제 2 층이 또한 도시되어 있다. 이는 기판 설계에서 무제를 일으킬 수 있다.
도 113은 기판설계 제약을 완화시키는 방법을 도시한 것이다. 이 예에서, 각 커넥터(1200)는 상기 커넥터가 많은 메모리 보드 또는 유사장치에 있는 커넥터의 병렬 배열에 대해 약 30도 각도로 지향되도록 상기 기판상에 회전되어 있다. 커넥터가 도시된 바와 같이 기울어지게 배열되는 경우, 트레이스(1300)는 커넥터 핀(1400)을 피하기 위한 거의 또는 어떠한 벤딩없이 비연속적 커넥터들 사이에서 라우트될 수 있다. 경사각도는 열들의 간격 및 개수에 따른다. 하나 이상의 벤딩 경로가 배열에 있고 도 114는 240핀 커넥터의 그룹에 대해 최소 벤딩을 갖는 2개 경로가 있을 수 있는 구성을 도시한 것이다. 인접한 기판들 사이의 간격 또는 핀의 간격에서의 약간의 변화로 필요로 하는 벤딩을 더 최소화할 수 있다.
도 115는 기울어지게 배치된 84DIMM 보드를 수용하기 위한 마더보드상의 커넥터의 배열을 도시한 것이다. 매우 많은 커넥터들이 배치되는 경우 최소 기판영역만이 비워지게 두어질 수 있고, 이와 같은 비워진 영역들은 보드 인터페이스, 메모리 컨트롤러, 보조 서비스, 필터링 등 용도로 편리하게 사용될 수 있다. 이러한 커넥터의 기울어짐은 본 명세서에 기술된 커넥터 및 모듈 배열 중 어느 하나와 함께 사용될 수 있다. 표현을 간략히 하기 위해, 다른 예에서 커넥터는 나란하게 지향되어 있다.
본 명세서에 기술된 장치 및 방법을 사용하여 큰 메모리 기판들이 설계될 수 있고, 도 116은 2개의 여유 DIMM 모듈을 갖는 4+1 구성의 RAID 5 오류정정능력을 갖는 64 DIMM 메모리 모듈로 구성된 82 DIMM 모듈의 배열을 나타낸다. 메모리 보드는 리브에 연결된 2개의 트리를 지원한다. 임의의 두개의 모듈의 손실로도, 다른 모듈들 모두가 나머지 데이터와 제어경로의 적절한 재구성에 의해 접속될 수 있다. 따라서, 데이터가 회복불가능하게 상실되기 전에 메모리 보드의 유지가 수행될 수 있고, 새로운 모듈에 대한 고장 모듈의 핫 스와핑에 의해 수행될 수 있다. 단 하나의 DIMM이 고장났을 때 상기 핫 스와핑이 수행되는 경우, 상기 구성은 유지보수 기술자가 교체하기 위해 고장난 모듈을 제거하는 경우에 데이터 손실을 방지한다. 이 예에서, 논리 배열은 도 116에 도시되어 있고, 대응하는 보드배치가 도 117에 도시되어 있다.
도 117에서, 실선은 베이스라인 트리 구성을 나타내고 대시선들은 상기 베이스라인구성에 사용될 필요없는 라인드이나, 모듈 장애가 발생하고 트리의 재구성이 루트와 나머지 모듈들 간의 연결을 유지하기 위해 필요한 경우에 사용될 수 있다. 대시선은 실선의 스루풋의 반으로 동작될 수 있는 링크를 나타낸다. 실선 연결과 함께 도시된 트리의 레벨 0에서, 각각의 트리는 루트를 가지며 이는 메모리 컨트롤러(미도시)로의 연결로서 도시되어 있다. 또 다른 태양에서, 배열은 4개 서브트리로서 간주될 수 있고, 상기 서브트리의 쌍들은 각 트리를 형성하기 위해 조합된다. 상위 트리에서 각각의 서브트리는 다른 트리의 미러 대칭형태이며, 대칭 라인이 상기 서브트리를 조합하기 위해 루트 노드로서 동작하는 노드를 지나간다. 하부 트리는 연결된 루트 노드에 대해 동일한 거울대칭을 갖는다. 중복을 제공하는 각 트리에서의 보조연결 이외에, 2개 트리의 리브들은 중복 트리의 루트로서 중복 MC일 수 있는 MC로의 연결을 갖는 모듈의 지정을 포함하여 보조 연결로 상호접속된다.
도 118은 2개 루트를 갖는 또 다른 82개 모듈 트리를 도시한 것이다. 이 트리는 큰 상호접속 시스템에 적합한 마더보드 배치기술의 예를 나타내기 위해 이용된다. 이러한 기술은 상호접속 기판에 그리고 반도체 회로 내에 또는 다이에 또한사용될 수 있다. "마더보드"라는 용어는 편의상 사용된다.
각각의 2개 트리는 5의 깊이를 가지며 제 1 구성은 루트 R1 및 R2를 사용하여 메모리 컨트롤러(MC)에 연결한다. 중복구성은 어떠한 데이터 손실없이 계속 동작하도록 장애발생 루트 대신에 R1' 및 R2' 중 하나를 사용하여 형성될 수 있다. 실선으로 도시된 링크는 제 1 구성을 나타내고 대시선으로 도시된 링크는 2 이하의 모듈들에 장애가 발생한 경우에 다른 구성이 사용될 수 있도록 제공된다. 마더보드 배치는 2개의 유사한 상호접속된 트리로서 고려될 수 있다. 상위 트리는 실선으로 R1에 연결된 모듈인 것으로 간주될 수 있고, 하위 트리는 실선을 R2에 연결된 모듈인 것을 간주될 수 있다.
도 119는 상부 트리 커넥터와 상기 트리의 논리 다이어그램의 해당 부분의 물리적 배치의 개략적인 도면을 도시한 것이다. 모듈(R1)은 트리의 레벨 0에 있고, 이 예에서 커넥터의 행의 중심에 위치되어 있으며, 메모리 컨트롤러(MC)에 하나의 링크를 갖는다. MC는 도시되지 않았고 편리할 때마다 마더보드의 온 또는 오프 중 하나에 위치될 수 있다. 이진수 트리의 모듈들 간의 링크는 음영(shading)으로 부호화되어 있고 3개 레벨의 음영이 있다. 편의상, 레벨은 청색(가장 짙은색), 녹색(중간색), 및 적색(가장 옅은색)의 색깔로 연계되어 있다. 각각의 음영 보드선들은 라인들의 단부에 연결되어 있는 2개 모듈들 간의 링크를 나타낸다. 모듈에서 종료되지 않는 선들은 연결없이 중개 모듈 아래를 지난다. 링크는 상술한 링크의 성질들을 가지며, 넓은 라인은 모듈과 커넥터 사이의 연결을 하기 위한 양방향 레인, 단방향 레인의 그룹, 채널화된 레인 등을 나타낼 수 있다.
대부분의 링크는 직선으로 표시될 수 있고 링크들 중 소수 또는 어느 것도 서로 교차할 필요가 없다. 이는 보드 배치를 간략히 하고, 감소된 신호 커플링을 가능하게 하며, 보드를 구성하는데 필요로 하는 PCB층의 개수를 줄일 수 있다. 루트모듈을 트리내 제 1 레벨에 연결하는 지정된 a 및 b와 같은 링크들은 녹색(중간색)으로 도시되어 있다. 보드의 횡단면 태양이 논의된 후, 당업자는 링크 a 및 b는 길이가 더 짧고 트레이스 벤드가 더 적은 PCD의 적색(옅은색) 레벨상에 라우트될 수 있음을 이해한다. 따라서, 도시된 보드 배치는 최적화에 더 영향을 받기 쉬울 수 있고 매우 많은 연결된 메모리들 또는 회로기판에 기판상에 또는 패키지내에 장착되거나 집적회로에 포함된 메모리들의 배열 및 상호접속을 간략히 하는 능력의 예이다.
I-I 사이에 위치된 모듈을 포함하는 마더보드의 횡단면이 도 120에 도시되어 있다. 모듈에 연결한 링크들인 트레이스의 3개 그룹을 나타내는 3개의 관련된 횡단면 A-C이 있다. 넓은 선들은 링크내 라인들의 개략도이고 회로카드상에 균일하거나 불균일하게 분포될 수 있는 커넥터의 핀에 연결될 수 있는 것이 이해되어야 한다. 또한, 다른 색깔의 링크는 서로 위쪽에 직접 놓일 수 있고, 설명을 용이하기 하기 위해 도면에서 분리되어 있다. 도 120a는 기술된 횡단면을 식별하기 위해 마더보드의 평면도를 도시한 것이다. 편의상 각각의 회로카드는 0-7의 번호가 할당되어 있고, 해당 번호는 도 120 모두에 사용된다. 도 120b에서, 도 120a의 횡단면 A가 도시되어 있다; 횡단면 B는 도 120c에 도시되어 있다; 그리고, 횡단면 C는 도 120d에 도시되어 있다. 횡단면 A에서, 청색, 녹색 및 적색 링크가 도시되어 있다. 인쇄회로기판은 2개의 그룹면층과 VCC(전원) 층을 갖는 것으로 도시되어 있고, 이 예에서는 PCB 기술을 이용하여 트레이스들이 배치되어 있어, 각 링크에 대해 트레이스(라인)의 일부가 지면 또는 VCC 층의 맞은편 면에 배치되어 있다. 이는 송신 트레이스와 수신 트레이스 사이에 분리를 증가시킬 수 있다. 따라서, 수평 음영 선들은 링크가 서로 교차하지 않게 도시된 커넥터들 간의 링크의 가능한 배치를 나타내며 일반적으로 직선방향으로 배치될 수 있다. 도시된 바와 같이, 연결된 모듈들에 대한 커넥터에 대해 핀의 그룹을 나타내는 각각의 링크가 핀내에서 종료되며, 수직 음영선들은 상기 커넥터 핀과 연결되어 있다.
도 120c와 도 120d에서, 횡단면 B와 C에 대한 라우팅도 동일한 성질을 갖도록 도시되어 있다.
핀이 달린 커넥터가 예로 사용되었으나 표면실장기술(Surface Mount Technology, SMT) 커넥터가 또한 사용될 수 있다. SMT 커넥터용으로, 수평 트레이스는 핀 대신에 관통된 판의 공도를 사용한 커넥터에 까지 올라간다. 그러나, 각각의 공도는 소정의 트레이스에 도달하기 위해 보드의 전체 두께에 확장될 필요는 없으며, 공도는 연결된 트레이스보다 커넥터로부터 더 멀리 보드층에 있는 도금을 제거하기 위해 후면천공될 수 있다. 이는 수직 도전성 소자의 길이를 최소화하며, "블라인드(blind)" 공도를 방지하는 한편 트레이스들 간의 방사와 커플링을 줄일 수 있다. 또한, 상호접속에 수반된 층들의 개수가 적을 수록, 허용오차가 정렬에 이용될 수 있고, 이는 지면과 VCC 면에 형성된 양각(relief)을 최소화하는데 사용될 수 있어, 실드가 증가된다. 이 예는 3가지 색으로 배치된 링크들에 대한 트레이스를 도시하는 반면에, 트레이스의 일부 벤딩이 발생할 수 있지만 단 2가지 색으로 기판을 배치할 수 있다.
많은 다른 마더보드 설계가 가능하며, 2개의 추가 설계가 예로서 도시되어 있다. 도 121에서, 트리가 커넥터의 3개 행에 설계되도록 의도되어 있는 또 다른 82 DIMM 논리배열이 도시되어 있다. 이 트리는 또한 다른 중복특성을 갖는 것으로 보여질 수 있다.
도 122는 도 119에서와 동일한 기호를 사용하여 도 121의 논리 트리에 따른 설계를 도시한 것이다. 인접한 커넥터들 간의 간격이 조정될 수 있다. 예컨대, 루트모듈 또는 중복 루트모듈로 지정된 모듈들 간의 간격은 루트로서 동작하는 경우 모듈의 추가 전력분배를 수용하기 위해 증가될 수 있다. 또한, 중심 행에 있는 모듈이 예컨대 모듈 컨트롤러, CPU 등을 위해 공간을 형성하도록 더 가까이 그룹화될 수 있다. 일 태양으로, 루트모듈은 저장 메모리없이 CSE로 또는 루트로서 동작하는 모듈의 소비전력을 줄이기 위해 소형 메모리로 대체될 수 있다.
82 DIMM 마더보드가 DIMM으로 완전히 채워지고 RAID(5)가 달린 62 메모리 모듈로서 구성되며, 사용된 각각의 DIMM이 에컨대 2Gbytes 메모리를 갖는 경우, 마더보드의 용량은 164Gbyte가 된다. 이러한 마더보드는 약 1.54×21.4 인치의 치수를 가질 수 있다. 물론 다른 DIMM 메모리 용량과 다른 메모리 타입이 동일한 방식으로 사용될 수 있다. 주어진 예는 단지 예시용이다. 해당기술분야에 알려진 바와 같이 다양한 중복방법이 각각의 DIMM 모듈에 사용될 수 있고, 복수의 DIMM 모듈은 또한 상술한 바와 같이 상호접속되거나 동작되는 경우 중복동작을 달성하는데 사용될 수 있다.
도 123에서, 트리가 3개의 커너텍 줄에 설계되고 도 109와 연계하여 기술된 바와 같이 전후 냉각배열을 이용하도록 의도되어 있는 또 다른 82 DIMM 논리배열이 도시되어 있다. 도 124는 해당 마더보드 설계를 도시한 것이다.
마더보드 링크 설계가 작은 개수의 유닛셀들로 형성될 수 있고, 각각은 도 125에 도시된 바와 같이 모듈과 연결되어 있다. A에서 H로 표시된 셀들은 트리 설계에 사용될 수 있는 이진 모듈타입을 나타낸다. 셀들은 커넥터를 나타내는 수직선과 3개의 짧은 수평선으로 개략적으로 도시되어 있으며, 각각의 짧은 수평선은 링크 또는 상술한 타입의 중 어느 하나를 나타낸다 링크내 선들은 함께 그룹화되거나, 채널로 분리되거나, 개별로 라우트될 수 있고, 셀 타입은 커넥터에 대해 링크가 취하는 방향을 단지 나타낸다. 더욱이, 셀 지정은 트레이스들이 메모리 모듈에 연결되는 커넥터의 면을 제한하지 않는다. 16 커넥터 설계의 예가 도시되어 있으며, 셀 타입 모두가 아니라 대부분이 설계에 사용된다. 특정 커넥터에 대한 셀 타입이 나타나 있다. 3개 미만의 링크가 커넥터를 트리에 연결하는데 사용하는 경우 셀 타입이 도시되어 있지 않은데, 이는 한 링크가 제거된 다수의 셀 타입이 도시된 배열을 허용하기 때문이다.
트리로서 배치된 메모리에서, 클록은 로컬, 영역 또는 시스템 클록, RAMBUS 클록 등 일 수 있고, 클록킹 기술의 조합일 수 있다. 예컨대, 각각의 DIMM 모듈은 메모리를 관리하고 로컬 처리 기능을 수행하기 위해 로컬 클록을 가질 수 있다. 중간 동기식(meso-synchronous) 클록이 중앙 클록을 복수의 메모리 모듈에 분배함으로써 형성될 수 있고, 개개의 메모리 모듈(CSE)에서 클록의 위상은 알려져 있지 않으나 위상은 천천히 변하는 것으로 추정된다. 이러한 상황에서, 링크가 활성화될 때 위상만이 재동기화될 필요가 있고 시작시간이 짧아질 수 있다. 위상이 링크의 각 라인에 복구될 필요가 있으나, 라인들의 그룹이 유사한 위상 변화를 나타낼 수 있고 그룹으로서 조절될 수 있다. 또 다른 태양으로, 클록은 어드레스 라인상에 분배될 수 있고, 상기 라인중 하나가 전시간에 모든 링크들 사이에서 활성화된다. 대안으로, 링크들 중 하나는 데이터, 명령 또는 어드레스 데이터 사이의 간격이 소정의 주기시간동안 인접한 모듈을 오가며 전송되지 않은 경우에, NOP 명령과 같은 신호를 전송하는데 사용될 수 있다.
또 다른 태양으로, 메모리 컨트롤러(MC)는 한편으로는 하나 이상의 루트 모듈에 대해 그리고 직간접적으로 다른 한편으로는 또 다른 통신버스 또는 컴퓨터 소자에 대해 인터페이스하는데 사용될 수 있다. MC와 루트 모듈 사이의 인터페이스는 루트모듈이 트리에서 다른 모듈과 통신하는데 사용될 수 있는 타입의 링크에 의해 형성될 수 있다. 다른 하나 이상의 CSE가 MC와 트리의 모듈 사이에 제공될 수 있고, 여기서 CSE들 중 하나는 루트 모듈 또는 노드의 기능을 수행하여 CSE가 가장 큰 스루풋을 갖는 경우, 저소비전력의 모듈이 트리내 한 지점에서 달성될 수 있고, MC가 예컨대 디스큐잉, 어드레싱, 프레임 관리, 데이터의 버퍼링 및 업스트림방향과 다운스트림 방향에서의 명령, 스큐 해결, 모듈 통합 및 다른 턴온 테스트를 포함하고 모듈이 고장난 경우 트리를 재구성하는 초기화의 기능을 수행할 수 있다. MC는 또한 턴 온동안 소비전력을 관리할 수 있어, 부착된 메모리에 의해 필요로 하는 피크 전력이 연결된 전원의 능력과 일치하게 된다.
본 발명은 상술한 예에 의해 설명되었으나, 본 발명은 상기 예들에 국한되지 않으며 다양한 변경 또는 변형들이 본 발명의 기술사상으로부터 벗어남이 없이 가능한 것이 당업자에게 이해된다.

Claims (44)

  1. 레인을 갖는 링크들에 의해 연결된 네트워크를 형성하는 복수의 노드들과;
    복수의 메모리 모듈과 인터페이스하는 복수의 커넥터를 갖는 마더보드와;
    모듈 컨트롤러를 구비하고,
    제 1 노드는 데이터의 소스이고, 제 2 노드는 데이터의 목적지이며, 상기 제 1 노드 또는 상기 제 2 노드 중 적어도 하나는 상기 제 2 노드에서 상기 레인들 상에 데이터의 도착시간의 차가 변경되도록 레인들에 대해 데이터의 논리 할당을 교환하도록 구성되며,
    상기 제 1 노드의 입력에 있는 레인에 대한 데이터의 논리 할당으로 인해 데이터가 상기 제 2 노드에서 소정의 논리 순서대로 수신되고,
    상기 제 2 노드에 수신된 데이터가 모듈 컨트롤러 또는 상기 제 1 노드 중 하나의 입력에서와 동일한 논리 순서를 갖도록 상기 모듈 컨트롤러, 상기 제 1 노드 또는 상기 제 2 노드 중 적어도 하나가 구성되는 상호접속 시스템.
  2. 레인을 갖는 링크들에 의해 연결된 네트워크를 형성하는 복수의 노드들과;
    복수의 메모리 모듈과 인터페이스하는 복수의 커넥터를 갖는 마더보드를 구비하고,
    제 1 노드는 데이터의 소스이고, 제 2 노드는 데이터의 목적지이며, 상기 제 1 노드 또는 상기 제 2 노드 중 적어도 하나는 상기 제 2 노드에서 상기 레인들 상에 데이터의 도착시간의 차가 변경되도록 레인들에 대해 데이터의 논리 할당을 교환하도록 구성되며,
    상기 논리 할당은 상기 링크의 송신단에서 수행되는 상호접속 시스템.
  3. 레인을 갖는 링크들에 의해 연결된 네트워크를 형성하는 복수의 노드들과;
    복수의 메모리 모듈과 인터페이스하는 복수의 커넥터를 갖는 마더보드를 구비하고,
    제 1 노드는 데이터의 소스이고, 제 2 노드는 데이터의 목적지이며, 상기 제 1 노드 또는 상기 제 2 노드 중 적어도 하나는 상기 제 2 노드에서 상기 레인들 상에 데이터의 도착시간의 차가 변경되도록 레인들에 대해 데이터의 논리 할당을 교환하도록 구성되며,
    상기 논리 할당은 상기 링크의 수신단에서 수행되는 상호접속 시스템.
  4. 레인을 갖는 링크들에 의해 연결된 네트워크를 형성하는 복수의 노드들과;
    복수의 메모리 모듈과 인터페이스하는 복수의 커넥터를 갖는 마더보드를 구비하고,
    제 1 노드는 데이터의 소스이고, 제 2 노드는 데이터의 목적지이며, 상기 제 1 노드 또는 상기 제 2 노드 중 적어도 하나는 상기 제 2 노드에서 상기 레인들 상에 데이터의 도착시간의 차가 변경되도록 레인들에 대해 데이터의 논리 할당을 교환하도록 구성되며,
    상기 논리 할당은 상기 제 1 노드와 상기 제 2 노드 사이에 배치된 제 3 노드에서 수행되는 상호접속 시스템.
  5. 각각이 복수의 라인들을 갖는 입력포트와 출력포트; 및
    상기 각각의 복수의 입력라인들이 복수의 출력라인들 중 하나에 연결될 수 있도록 구성되어, 상기 복수의 출력라인들에 신호들 사이의 타임 스큐(time skew)가 제 1 노드의 출력포트로부터 출력라인들의 원단과 통신하는 입력라인들을 갖는 입력포트를 포함하는 제 2 노드에서 측정될 때 변경되는 스위치를 구비하는 노드.
  6. 컴퓨터와 통신하는 제 1 인터페이스와,
    노드와 통신하기 위한 링크를 갖는 제 2 인터페이스와,
    제 1 노드와 제 2 노드 사이에 배치된 링크의 레인상에 있는 신호들간의 차등시간지연을 결정하기 위한 수단과,
    상기 제 2 노드에 수신된 논리 신호들 간의 상기 차등시간지연을 변경하기 위해 상기 제 1 및 제 2 노드 사이에 통신하는 레인에 논리 신호를 할당하기 위한 수단을 구비하는 네트워크 컨트롤러.
  7. 각각이 복수의 라인들을 갖는 입력포트와 출력포트; 및
    상기 출력포트로부터 라인들의 원단과 통신하는 입력 포트를 갖는 제 2 노드에서 측정될 때 상기 복수의 출력라인들 상의 신호들 간의 스큐(skew)가 변경되도록, 복수의 입력라인들 각각이 복수의 출력라인들 중 하나에 선택적으로 연결되도록 구성되는 스위치를 구비하는 노드.
  8. 제 7 항에 있어서,
    제 1 및 제 2 출력포트를 더 구비하고, 상기 제 1 출력포트는 메모리에 연결되도록 구성되는 노드.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
KR1020137015135A 2005-04-21 2006-04-17 상호접속 시스템 KR101375763B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US67418905P 2005-04-21 2005-04-21
US60/674,189 2005-04-21
US69862605P 2005-07-11 2005-07-11
US60/698,626 2005-07-11
PCT/US2006/014527 WO2006115896A2 (en) 2005-04-21 2006-04-17 Interconnection system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020127028602A Division KR101331569B1 (ko) 2005-04-21 2006-04-17 상호접속 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020137023247A Division KR101427867B1 (ko) 2005-04-21 2006-04-17 상호접속 시스템

Publications (2)

Publication Number Publication Date
KR20130072270A KR20130072270A (ko) 2013-07-01
KR101375763B1 true KR101375763B1 (ko) 2014-03-19

Family

ID=37215237

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020127028602A KR101331569B1 (ko) 2005-04-21 2006-04-17 상호접속 시스템
KR1020077025635A KR101271245B1 (ko) 2005-04-21 2006-04-17 상호접속 시스템
KR1020137015135A KR101375763B1 (ko) 2005-04-21 2006-04-17 상호접속 시스템
KR1020137023247A KR101427867B1 (ko) 2005-04-21 2006-04-17 상호접속 시스템

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020127028602A KR101331569B1 (ko) 2005-04-21 2006-04-17 상호접속 시스템
KR1020077025635A KR101271245B1 (ko) 2005-04-21 2006-04-17 상호접속 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020137023247A KR101427867B1 (ko) 2005-04-21 2006-04-17 상호접속 시스템

Country Status (7)

Country Link
US (2) US8726064B2 (ko)
EP (8) EP2378432A1 (ko)
JP (5) JP2008537265A (ko)
KR (4) KR101331569B1 (ko)
CN (4) CN101727429B (ko)
CA (1) CA2597692A1 (ko)
WO (1) WO2006115896A2 (ko)

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US8112655B2 (en) * 2005-04-21 2012-02-07 Violin Memory, Inc. Mesosynchronous data bus apparatus and method of data transmission
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
US20070239906A1 (en) * 2006-03-13 2007-10-11 Vakil Kersi H Input/output agent having multiple secondary ports
KR20090042951A (ko) * 2006-08-08 2009-05-04 지멘스 에너지 앤드 오토메이션 인코포레이티드 Plc에 관한 장치들, 시스템들, 및 방법들
US8028186B2 (en) * 2006-10-23 2011-09-27 Violin Memory, Inc. Skew management in an interconnection system
US11244727B2 (en) * 2006-11-29 2022-02-08 Rambus Inc. Dynamic memory rank configuration
US7958433B1 (en) * 2006-11-30 2011-06-07 Marvell International Ltd. Methods and systems for storing data in memory using zoning
KR101494065B1 (ko) * 2007-02-16 2015-02-23 컨버전트 인텔렉츄얼 프로퍼티 매니지먼트 인코포레이티드 반도체 장치 및 상호접속된 장치들을 갖는 시스템에서의 전력 소비를 감소시키는 방법
US20080235422A1 (en) * 2007-03-23 2008-09-25 Dhinesh Sasidaran Downstream cycle-aware dynamic interconnect isolation
US9632870B2 (en) * 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
US11010076B2 (en) 2007-03-29 2021-05-18 Violin Systems Llc Memory system with multiple striping of raid groups and method for performing the same
US20090020608A1 (en) * 2007-04-05 2009-01-22 Bennett Jon C R Universal memory socket and card and system for using the same
US7818512B2 (en) * 2007-06-27 2010-10-19 International Business Machines Corporation High capacity memory subsystem architecture employing hierarchical tree configuration of memory modules
US7921264B2 (en) * 2007-06-27 2011-04-05 International Business Machines Corporation Dual-mode memory chip for high capacity memory subsystem
US8037272B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for memory chip for high capacity memory subsystem supporting multiple speed bus
US8037258B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for dual-mode memory chip for high capacity memory subsystem
US7822936B2 (en) * 2007-06-27 2010-10-26 International Business Machines Corporation Memory chip for high capacity memory subsystem supporting replication of command data
US7809913B2 (en) * 2007-06-27 2010-10-05 International Business Machines Corporation Memory chip for high capacity memory subsystem supporting multiple speed bus
US7996641B2 (en) * 2007-06-27 2011-08-09 International Business Machines Corporation Structure for hub for supporting high capacity memory subsystem
US20090006774A1 (en) * 2007-06-27 2009-01-01 Gerald Keith Bartley High Capacity Memory Subsystem Architecture Employing Multiple-Speed Bus
US8019949B2 (en) * 2007-06-27 2011-09-13 International Business Machines Corporation High capacity memory subsystem architecture storing interleaved data for reduced bus speed
US7921271B2 (en) * 2007-06-27 2011-04-05 International Business Machines Corporation Hub for supporting high capacity memory subsystem
US8037270B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for memory chip for high capacity memory subsystem supporting replication of command data
US7764568B2 (en) * 2007-07-03 2010-07-27 Seth Lloyd Bucket brigade address decoding architecture for classical and quantum random access memories
US20090019195A1 (en) * 2007-07-13 2009-01-15 Srdjan Djordjevic Integrated circuit, memory module and system
WO2009046300A2 (en) * 2007-10-05 2009-04-09 Violin Memory, Inc. Mesosynchronous data bus apparatus and method of data transmission
JP5495108B2 (ja) * 2007-10-25 2014-05-21 富士電機株式会社 スピンバルブ素子及びその製造方法
CN101855622A (zh) * 2007-11-09 2010-10-06 多数有限公司 用于紧密耦合多处理器的共享存储器系统
WO2009107110A2 (en) * 2008-02-28 2009-09-03 Nxp B.V. Systems and methods for multi-lane communication busses
US8171181B2 (en) 2008-05-05 2012-05-01 Micron Technology, Inc. Memory module with configurable input/output ports
US8090967B2 (en) * 2008-05-23 2012-01-03 Intel Corporation Power state transition initiation control of memory interconnect based on early warning signal, memory response time, and wakeup delay
US8190699B2 (en) * 2008-07-28 2012-05-29 Crossfield Technology LLC System and method of multi-path data communications
US8656082B2 (en) 2008-08-05 2014-02-18 Micron Technology, Inc. Flexible and expandable memory architectures
JP5280135B2 (ja) * 2008-09-01 2013-09-04 株式会社日立製作所 データ転送装置
US8265070B2 (en) * 2008-12-15 2012-09-11 Oracle America, Inc. System and method for implementing a multistage network using a two-dimensional array of tiles
US8503211B2 (en) * 2009-05-22 2013-08-06 Mosaid Technologies Incorporated Configurable module and memory subsystem
US8880772B2 (en) * 2009-05-29 2014-11-04 Dell Products L.P. System and method for serial interface topologies
WO2010144587A2 (en) 2009-06-12 2010-12-16 Violin Memory, Inc. Memory system having persistent garbage collection
WO2011043398A1 (ja) * 2009-10-09 2011-04-14 三菱電機株式会社 差動符号光送受信装置
US9465756B2 (en) * 2009-12-23 2016-10-11 Violin Memory Inc. Configurable interconnection system
US8504961B2 (en) * 2010-06-01 2013-08-06 Arm Limited Integrated circuit with timing adjustment mechanism
US8543944B2 (en) * 2010-06-14 2013-09-24 Microsoft Corporation Fast edge routing for interactive diagramming
US8472808B2 (en) 2010-10-06 2013-06-25 Hewlett-Packard Development Company, L.P. Optical data path systems
TWI433617B (zh) * 2010-11-08 2014-04-01 Delta Electronics Inc 電路板
JP5238791B2 (ja) 2010-11-10 2013-07-17 株式会社東芝 転送機能を有するメモリノードを相互に接続したストレージ装置及びデータ処理方法
US8661881B2 (en) * 2010-12-23 2014-03-04 General Electric Company Hub unit for a high temperature electronic monitoring system
US8668381B2 (en) * 2010-12-23 2014-03-11 General Electric Company High temperature electronic monitoring system
US9390049B2 (en) * 2011-06-03 2016-07-12 Micron Technology, Inc. Logical unit address assignment
US9335939B2 (en) 2011-07-12 2016-05-10 Violin Memory Inc. RAIDed memory system
US9417823B2 (en) 2011-07-12 2016-08-16 Violin Memory Inc. Memory system management
US20130019053A1 (en) * 2011-07-14 2013-01-17 Vinay Ashok Somanache Flash controller hardware architecture for flash devices
JP5653856B2 (ja) 2011-07-21 2015-01-14 ルネサスエレクトロニクス株式会社 半導体装置
US8493745B2 (en) 2011-10-07 2013-07-23 Kingston Technology Corp. Low-profile motherboard with side-mounted memory modules using a dual-opening edge connector
US9503222B2 (en) 2011-12-08 2016-11-22 Qualcomm Technologies, Inc. Differential formatting between normal and retry data transmission
US8680888B2 (en) 2011-12-15 2014-03-25 Micron Technologies, Inc. Methods and systems for routing in a state machine
US9411724B2 (en) * 2011-12-21 2016-08-09 Intel Corporation Method and apparatus for a partial-address select-signal generator with address shift
US9304714B2 (en) 2012-04-20 2016-04-05 Violin Memory Inc LUN management with distributed RAID controllers
US9104639B2 (en) 2012-05-01 2015-08-11 SEAKR Engineering, Inc. Distributed mesh-based memory and computing architecture
US20130318268A1 (en) 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
US9495308B2 (en) 2012-05-22 2016-11-15 Xockets, Inc. Offloading of computation for rack level servers and corresponding methods and systems
JP5910383B2 (ja) * 2012-07-19 2016-04-27 株式会社ソシオネクスト スキュー低減回路
US8994425B2 (en) * 2012-08-03 2015-03-31 Altera Corporation Techniques for aligning and reducing skew in serial data signals
US9292464B2 (en) * 2012-12-13 2016-03-22 Coherent Logix, Incorporated Multiprocessor system with improved secondary interconnection network
JP5985403B2 (ja) 2013-01-10 2016-09-06 株式会社東芝 ストレージ装置
US9378161B1 (en) 2013-01-17 2016-06-28 Xockets, Inc. Full bandwidth packet handling with server systems including offload processors
US9250954B2 (en) 2013-01-17 2016-02-02 Xockets, Inc. Offload processor modules for connection to system memory, and corresponding methods and systems
JP6005533B2 (ja) 2013-01-17 2016-10-12 株式会社東芝 記憶装置および記憶方法
JP5404947B2 (ja) * 2013-03-26 2014-02-05 株式会社東芝 ストレージ装置
CN105339905B (zh) * 2013-04-09 2018-11-06 伊姆西公司 具有对大容量固态存储器资源的独立直接访问的多处理器系统
US9702305B2 (en) * 2013-04-17 2017-07-11 Micron Technology, Inc. Multiple engine sequencer
US10741226B2 (en) 2013-05-28 2020-08-11 Fg Src Llc Multi-processor computer architecture incorporating distributed multi-ported common memory modules
US9728526B2 (en) * 2013-05-29 2017-08-08 Sandisk Technologies Llc Packaging of high performance system topology for NAND memory systems
US9324389B2 (en) * 2013-05-29 2016-04-26 Sandisk Technologies Inc. High performance system topology for NAND memory systems
WO2014193592A2 (en) * 2013-05-29 2014-12-04 Sandisk Technologies Inc. High performance system topology for nand memory systems
JP5931816B2 (ja) 2013-08-22 2016-06-08 株式会社東芝 ストレージ装置
JP5902137B2 (ja) 2013-09-24 2016-04-13 株式会社東芝 ストレージシステム
US9703702B2 (en) * 2013-12-23 2017-07-11 Sandisk Technologies Llc Addressing auto address assignment and auto-routing in NAND memory network
US9619155B2 (en) 2014-02-07 2017-04-11 Coho Data Inc. Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices
CN103927135A (zh) * 2014-04-15 2014-07-16 华为技术有限公司 一种数据存储方法及装置
JP2015015049A (ja) * 2014-09-19 2015-01-22 株式会社東芝 ストレージ装置
US9583438B2 (en) 2014-12-26 2017-02-28 Taiwan Semiconductor Manufacturing Company Ltd. Interconnect structure with misaligned metal lines coupled using different interconnect layer
CN104503921B (zh) * 2014-12-31 2017-06-30 中国科学院重庆绿色智能技术研究院 一种嵌入式高性能rtk算法内存空间定量优化分配方法
JP6313237B2 (ja) 2015-02-04 2018-04-18 東芝メモリ株式会社 ストレージシステム
CN106662710B (zh) * 2015-06-12 2019-08-13 华为技术有限公司 一种片上光互连结构及网络
US11170294B2 (en) 2016-01-07 2021-11-09 Intel Corporation Hardware accelerated machine learning
US9548858B1 (en) * 2016-01-18 2017-01-17 Inphi Corporation Skew management for PAM communication systems
US10339072B2 (en) * 2016-04-01 2019-07-02 Intel Corporation Read delivery for memory subsystem with narrow bandwidth repeater channel
US20170285992A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Memory subsystem with narrow bandwidth repeater channel
US20170289850A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Write delivery for memory subsystem with narrow bandwidth repeater channel
US11120329B2 (en) 2016-05-07 2021-09-14 Intel Corporation Multicast network and memory transfer optimizations for neural network hardware acceleration
US10817802B2 (en) 2016-05-07 2020-10-27 Intel Corporation Apparatus for hardware accelerated machine learning
JP6978670B2 (ja) * 2017-12-07 2021-12-08 富士通株式会社 演算処理装置および演算処理装置の制御方法
US11709623B2 (en) 2018-08-03 2023-07-25 Sk Hynix Nand Product Solutions Corp. NAND-based storage device with partitioned nonvolatile write buffer
CN114064527A (zh) * 2020-07-30 2022-02-18 苏州库瀚信息科技有限公司 无单一失败点的存储装置
US11467995B2 (en) * 2020-12-01 2022-10-11 Micron Technology, Inc. Pin mapping for memory devices
FR3137835A1 (fr) 2022-07-15 2024-01-19 L'oreal Composition pour la coloration des fibres kératineuses
DE102022003661B3 (de) 2022-10-05 2023-12-07 Mercedes-Benz Group AG Rechenvorrichtung, Verfahren zur Lastverteilung für eine solche Rechenvorrichtung und Computersystem
CN116386711B (zh) * 2023-06-07 2023-09-05 合肥康芯威存储技术有限公司 一种存储器件数据传输的测试装置及测试方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071693A1 (en) 2003-09-26 2005-03-31 Chun Christopher K. Y. Method and circuitry for controlling supply voltage in a data processing system

Family Cites Families (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3728679A (en) 1971-10-21 1973-04-17 Weston Instruments Inc Skew device
FR2269158B1 (ko) 1974-04-26 1976-10-15 Ibm France
US4128882A (en) 1976-08-19 1978-12-05 Massachusetts Institute Of Technology Packet memory system with hierarchical structure
US4240143A (en) 1978-12-22 1980-12-16 Burroughs Corporation Hierarchical multi-processor network for memory sharing
US4263651A (en) 1979-05-21 1981-04-21 International Business Machines Corporation Method for determining the characteristics of a logic block graph diagram to provide an indication of path delays between the blocks
US4323849A (en) 1980-01-11 1982-04-06 Hybricon, Inc. Coulometer
NL183214C (nl) 1980-01-31 1988-08-16 Philips Nv Inrichting voor het synchroniseren van de fase van een lokaal opgewekt kloksignaal met de fase van een ingangssignaal.
US4322849C1 (en) 1980-04-14 2002-03-05 Frank A Calabrese Data relay system
US4383314A (en) 1981-01-12 1983-05-10 Burroughs Corporation Circular access linkage loop configuration for system communication
US4445171A (en) 1981-04-01 1984-04-24 Teradata Corporation Data processing systems and methods
DE3275801D1 (en) 1982-09-28 1987-04-23 Ibm Data transmission system
US4703451A (en) 1983-05-02 1987-10-27 Calabrese Frank A Data relay system
JPS60219853A (ja) * 1984-04-17 1985-11-02 Brother Ind Ltd デ−タ送受信装置
US4805195A (en) 1984-06-08 1989-02-14 Amdahl Corporation Selectable timing delay circuit
US4698799A (en) * 1985-08-02 1987-10-06 Gte Laboratories Incorporated Link switch for a burst-switching communications system
US4701756A (en) 1985-09-10 1987-10-20 Burr William E Fault-tolerant hierarchical network
EP0245765B1 (en) 1986-05-14 1993-09-22 Mitsubishi Denki Kabushiki Kaisha Data transfer control system
US4860201A (en) 1986-09-02 1989-08-22 The Trustees Of Columbia University In The City Of New York Binary tree parallel processor
FR2605768B1 (fr) 1986-10-23 1989-05-05 Bull Sa Dispositif de commande de bus constitue par plusieurs segments isolables
US4756011A (en) 1986-12-24 1988-07-05 Bell Communications Research, Inc. Digital phase aligner
US4910669A (en) * 1987-04-03 1990-03-20 At&T Bell Laboratories Binary tree multiprocessor
US6112287A (en) 1993-03-01 2000-08-29 Busless Computers Sarl Shared memory multiprocessor system using a set of serial links as processors-memory switch
US4881165A (en) 1988-04-01 1989-11-14 Digital Equipment Corporation Method and apparatus for high speed data transmission between two systems operating under the same clock with unknown and non constant skew in the clock between the two systems
US5053942A (en) 1988-11-01 1991-10-01 The Regents Of The University Of California Bit-sliced cross-connect chip having a tree topology of arbitration cells for connecting memory modules to processors in a multiprocessor system
US5041964A (en) 1989-06-12 1991-08-20 Grid Systems Corporation Low-power, standby mode computer
US5258660A (en) * 1990-01-16 1993-11-02 Cray Research, Inc. Skew-compensated clock distribution system
US5283877A (en) 1990-07-17 1994-02-01 Sun Microsystems, Inc. Single in-line DRAM memory module including a memory controller and cross bar switches
JP2666533B2 (ja) 1990-08-06 1997-10-22 日本電気株式会社 スイツチモジユール
JPH06500655A (ja) 1990-10-03 1994-01-20 スィンキング マシンズ コーポレーション 並列コンピュータ・システム
US5144166A (en) 1990-11-02 1992-09-01 Concurrent Logic, Inc. Programmable logic cell and array
US5367643A (en) * 1991-02-06 1994-11-22 International Business Machines Corporation Generic high bandwidth adapter having data packet memory configured in three level hierarchy for temporary storage of variable length data packets
US5920704A (en) 1991-03-29 1999-07-06 International Business Machines Corporation Dynamic routing switch apparatus with clocked signal regeneration
US5832286A (en) * 1991-12-04 1998-11-03 Sharp Kabushiki Kaisha Power control apparatus for digital electronic device
US5285441A (en) 1992-03-17 1994-02-08 At&T Bell Laboratories Errorless line protection switching in asynchronous transer mode (ATM) communications systems
US5313501A (en) 1992-06-15 1994-05-17 Digital Equipment Corporation Method and apparatus for deskewing digital data
AU4798793A (en) 1992-08-10 1994-03-03 Monolithic System Technology, Inc. Fault-tolerant, high-speed bus system and bus interface for wafer-scale integration
US5283977A (en) * 1992-10-21 1994-02-08 Castlegate, Inc. Reversible door frame threshold
JPH07154381A (ja) 1993-11-30 1995-06-16 Hitachi Ltd データ転送装置
US5507029A (en) 1995-01-11 1996-04-09 International Business Machines Corporation Method for minimizing the time skew of electrical signals in very large scale integrated circuits
US6358915B1 (en) * 1995-03-07 2002-03-19 George Washington University Methods for inhibiting metastasis
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5652530A (en) 1995-09-29 1997-07-29 Intel Corporation Method and apparatus for reducing clock-data skew by clock shifting
US5960034A (en) 1995-12-01 1999-09-28 Advanced Micro Devices, Inc. Expandable repeater with built-in tree structure arbitration logic
JP3546582B2 (ja) * 1996-03-08 2004-07-28 株式会社ルネサステクノロジ 半導体装置
JPH09265357A (ja) 1996-03-27 1997-10-07 Ekushingu:Kk ディスクアレイ装置
JP2924773B2 (ja) 1996-03-28 1999-07-26 日本電気株式会社 位相同期システム
US5872959A (en) * 1996-09-10 1999-02-16 Lsi Logic Corporation Method and apparatus for parallel high speed data transfer
US6058443A (en) 1997-02-18 2000-05-02 Advanced Micro Devices, Inc. System for partitioning PC chipset functions into logic and port integrated circuits
JPH10254587A (ja) 1997-03-14 1998-09-25 Toshiba Corp コンピュータシステム
US6202110B1 (en) * 1997-03-31 2001-03-13 International Business Machines Corporation Memory cards with symmetrical pinout for back-to-back mounting in computer system
US6015144A (en) 1997-04-18 2000-01-18 Fuji Xerox Co., Ltd. Sheet feeder and image forming apparatus
US5974503A (en) 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US5923830A (en) 1997-05-07 1999-07-13 General Dynamics Information Systems, Inc. Non-interrupting power control for fault tolerant computer systems
KR100211123B1 (ko) 1997-05-23 1999-07-15 윤종용 고속 패킷 스위칭을 위한 다단 상호 연결 망
US6031847A (en) 1997-07-01 2000-02-29 Silicon Graphics, Inc Method and system for deskewing parallel bus channels
US5974487A (en) 1997-07-14 1999-10-26 Advanced Micro Devices, Inc. Data transfer network on a chip utilizing a mesh of rings topology
US6370200B1 (en) 1997-08-04 2002-04-09 Matsushita Electric Industrial Co., Ltd. Delay adjusting device and method for plural transmission lines
US6442644B1 (en) 1997-08-11 2002-08-27 Advanced Memory International, Inc. Memory system having synchronous-link DRAM (SLDRAM) devices and controller
JP3164541B2 (ja) * 1997-09-08 2001-05-08 大宏電機株式会社 プリント基板用雌コネクタ
EP1016233A4 (en) 1997-09-19 2000-12-06 Fujitsu Network Communications CONSTANT PHASE CROSS BAR SWITCH
US6157229A (en) 1997-09-29 2000-12-05 Matsushita Electric Industrial Co., Ltd. Skew compensation device
US6378018B1 (en) 1997-10-10 2002-04-23 Intel Corporation Memory device and system including a low power interface
ATE232317T1 (de) 1997-10-10 2003-02-15 Rambus Inc Verfahren und vorrichtung zur ausfallsicheren resynchronisation mit minimaler latenzzeit
CN1219014A (zh) * 1997-12-02 1999-06-09 世界先进积体电路股份有限公司 漏电截止装置
WO1999030240A1 (en) 1997-12-05 1999-06-17 Intel Corporation Memory system including a memory module having a memory module controller
US6005776A (en) * 1998-01-05 1999-12-21 Intel Corporation Vertical connector based packaging solution for integrated circuits
US7024518B2 (en) 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
US6968419B1 (en) 1998-02-13 2005-11-22 Intel Corporation Memory module having a memory module controller controlling memory transactions for a plurality of memory devices
US6336192B1 (en) 1998-02-16 2002-01-01 Nippon Telegraph And Telephone Corporation Parallel redundancy encoding apparatus
US6353895B1 (en) 1998-02-19 2002-03-05 Adaptec, Inc. RAID architecture with two-drive fault tolerance
US6105144A (en) 1998-03-02 2000-08-15 International Business Machines Corporation System and method for alleviating skew in a bus
AU6310098A (en) 1998-03-12 1999-09-27 Hitachi Limited Data transmitter
US6233650B1 (en) * 1998-04-01 2001-05-15 Intel Corporation Using FET switches for large memory arrays
US6295568B1 (en) 1998-04-06 2001-09-25 International Business Machines Corporation Method and system for supporting multiple local buses operating at different frequencies
JP3715429B2 (ja) 1998-04-16 2005-11-09 富士通株式会社 パラレル光送信/光受信モジュール
US6636932B1 (en) 1998-05-27 2003-10-21 Micron Technology, Inc. Crossbar switch and control for data networks switching
US6356610B1 (en) 1998-06-23 2002-03-12 Vlsi Technology, Inc. System to avoid unstable data transfer between digital systems
US6185654B1 (en) 1998-07-17 2001-02-06 Compaq Computer Corporation Phantom resource memory address mapping system
JP4085478B2 (ja) 1998-07-28 2008-05-14 ソニー株式会社 記憶媒体及び電子機器システム
US6445719B1 (en) 1998-08-28 2002-09-03 Adtran Inc. Method, system and apparatus for reducing synchronization and resynchronization times for systems with pulse stuffing
US6422644B1 (en) 1998-09-02 2002-07-23 Lear Donnelly Overhead Systems, L.L.C. Crash box component holder
US6611518B1 (en) 1998-09-18 2003-08-26 Samsung Electronics Co., Ltd. Methods and apparatus for flexible device interface port assignment in a data communications switching system
US6138185A (en) 1998-10-29 2000-10-24 Mcdata Corporation High performance crossbar switch
US6301244B1 (en) 1998-12-11 2001-10-09 Nortel Networks Limited QoS-oriented one-to-all route selection method for communication networks
US6297684B1 (en) 1998-12-14 2001-10-02 Seiko Epson Corporation Circuit and method for switching between digital signals that have different signal rates
US20030001880A1 (en) 2001-04-18 2003-01-02 Parkervision, Inc. Method, system, and computer program product for producing and distributing enhanced media
US6473827B2 (en) 1998-12-22 2002-10-29 Ncr Corporation Distributed multi-fabric interconnect
US6205571B1 (en) 1998-12-29 2001-03-20 International Business Machines Corporation X-Y grid tree tuning method
KR100313896B1 (ko) * 1999-01-29 2001-11-15 구자홍 버스 시스템에서의 루프 형성 제거장치 및 방법
US6636993B1 (en) 1999-02-12 2003-10-21 Fujitsu Limited System and method for automatic deskew across a high speed, parallel interconnection
US6321345B1 (en) 1999-03-01 2001-11-20 Seachange Systems, Inc. Slow response in redundant arrays of inexpensive disks
US6437660B1 (en) * 1999-10-27 2002-08-20 Hybricon Corporation Method of increasing bus performance to reduce signal propagation delay and achieve incident wave switching
US6425052B1 (en) 1999-10-28 2002-07-23 Sun Microsystems, Inc. Load balancing configuration for storage arrays employing mirroring and striping
US6647027B1 (en) 1999-11-10 2003-11-11 Lsi Logic Corporation Method and apparatus for multi-channel data delay equalization
JP2001159970A (ja) 1999-12-03 2001-06-12 Sony Corp 装置間結合装置
US6417713B1 (en) 1999-12-30 2002-07-09 Silicon Graphics, Inc. Programmable differential delay circuit with fine delay adjustment
US7031420B1 (en) 1999-12-30 2006-04-18 Silicon Graphics, Inc. System and method for adaptively deskewing parallel data signals relative to a clock
US7266634B2 (en) 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US6502161B1 (en) 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
US20050010737A1 (en) 2000-01-05 2005-01-13 Fred Ware Configurable width buffered module having splitter elements
US7356639B2 (en) 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
CN2407393Y (zh) * 2000-01-07 2000-11-22 神基科技股份有限公司 个人电脑中系统存储装置的供电电路
US6425114B1 (en) 2000-01-31 2002-07-23 Lsi Logic Corporation Systematic skew reduction through buffer resizing
FR2804790B1 (fr) 2000-02-09 2002-04-12 Saint Louis Inst Procede de polarisation d'un materiau ferroelectrique sous forme de cylindre
KR20000049745A (ko) 2000-04-27 2000-08-05 우상엽 반도체 메모리 테스트 장치
US6545875B1 (en) * 2000-05-10 2003-04-08 Rambus, Inc. Multiple channel modules and bus systems using same
US7012811B1 (en) 2000-05-10 2006-03-14 Micron Technology, Inc. Method of tuning a multi-path circuit
US6591285B1 (en) 2000-06-16 2003-07-08 Shuo-Yen Robert Li Running-sum adder networks determined by recursive construction of multi-stage networks
US6961347B1 (en) 2000-06-20 2005-11-01 Hewlett-Packard Development Company, L.P. High-speed interconnection link having automated lane reordering
US6681338B1 (en) * 2000-06-21 2004-01-20 Rambus, Inc. Method and system for reducing signal skew by switching between multiple signal routing layers
JP2002007201A (ja) * 2000-06-21 2002-01-11 Nec Corp メモリシステム、メモリインターフェース及びメモリチップ
US6446174B1 (en) 2000-07-11 2002-09-03 Intel Corporation Computer system with dram bus
US6684314B1 (en) 2000-07-14 2004-01-27 Agilent Technologies, Inc. Memory controller with programmable address configuration
US6238220B1 (en) * 2000-07-20 2001-05-29 Ching Feng Blinds Ind. Co., Ltd. Communication main layout rack structure
JP3758953B2 (ja) 2000-07-21 2006-03-22 富士通株式会社 スキュー補正装置
US6462956B1 (en) * 2000-08-09 2002-10-08 Advanced Micro Devices, Inc. Arrangement for reducing non-uniformity in current flow through various power pins within a printed wiring board connector for a removable module
KR100389916B1 (ko) * 2000-08-28 2003-07-04 삼성전자주식회사 메모리 모듈 및 메모리 컨트롤러
US6738830B2 (en) * 2000-08-31 2004-05-18 Michael Ross Massie Universal controller expansion module system, method and apparatus
US6928571B1 (en) 2000-09-15 2005-08-09 Intel Corporation Digital system of adjusting delays on circuit boards
US6317352B1 (en) 2000-09-18 2001-11-13 Intel Corporation Apparatus for implementing a buffered daisy chain connection between a memory controller and memory modules
US6553450B1 (en) 2000-09-18 2003-04-22 Intel Corporation Buffer to multiply memory interface
US6625687B1 (en) 2000-09-18 2003-09-23 Intel Corporation Memory module employing a junction circuit for point-to-point connection isolation, voltage translation, data synchronization, and multiplexing/demultiplexing
US6369605B1 (en) 2000-09-18 2002-04-09 Intel Corporation Self-terminated driver to prevent signal reflections of transmissions between electronic devices
US6618791B1 (en) 2000-09-29 2003-09-09 Intel Corporation System and method for controlling power states of a memory device via detection of a chip select signal
US6658509B1 (en) 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
JP2002117000A (ja) 2000-10-05 2002-04-19 Hitachi Ltd メモリシステムおよび接続部材
JP2002135234A (ja) 2000-10-20 2002-05-10 Mitsubishi Electric Corp スキュー調整回路
KR20020032136A (ko) 2000-10-25 2002-05-03 박성훈 메모리를 이용한 대용량 보조기억장치
EP1204027A2 (en) 2000-11-02 2002-05-08 Matsushita Electric Industrial Co., Ltd. On-line reconstruction processing method and on-line reconstruction processing apparatus
US6813688B2 (en) 2000-12-04 2004-11-02 Sun Microsystems, Inc. System and method for efficient data mirroring in a pair of storage devices
JP2002184948A (ja) 2000-12-12 2002-06-28 Hitachi Ltd 半導体集積回路装置の製造方法
US6934785B2 (en) 2000-12-22 2005-08-23 Micron Technology, Inc. High speed interface with looped bus
US6493250B2 (en) 2000-12-28 2002-12-10 Intel Corporation Multi-tier point-to-point buffered memory interface
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US7013361B2 (en) 2001-01-24 2006-03-14 Grass Valley Group Inc. Routing switcher with variable input/output architecture
US7123660B2 (en) 2001-02-27 2006-10-17 Jazio, Inc. Method and system for deskewing parallel bus channels to increase data transfer rates
US6882082B2 (en) 2001-03-13 2005-04-19 Micron Technology, Inc. Memory repeater
US6735397B2 (en) 2001-03-14 2004-05-11 Blaze Network Products, Inc. Skew discovery and compensation for WDM fiber communications systems using 8b10b encoding
US6697974B2 (en) 2001-03-14 2004-02-24 International Business Machines Corporation Method and apparatus for adaptively compensating skews during data transmission on a bus
AU2002248002B2 (en) 2001-04-11 2004-11-11 Nippon Steel Corporation Threaded joint for steel pipe
US20020178314A1 (en) * 2001-05-25 2002-11-28 Cho Daniel Y. Expansion module and backplane
US6874097B1 (en) 2001-06-01 2005-03-29 Maxtor Corporation Timing skew compensation technique for parallel data channels
JP4542286B2 (ja) 2001-06-06 2010-09-08 富士通株式会社 並列信号自動位相調整回路
US6504848B1 (en) 2001-06-13 2003-01-07 Interdigital Communications Corporation Binary-tree method and system for multiplexing scheduling
US7609695B2 (en) 2001-06-15 2009-10-27 Industrial Technology Research Institute Optimizing switching element for minimal latency
JP2003041305A (ja) 2001-07-27 2003-02-13 Fuji Photo Film Co Ltd 超微粒子、並びに、その製造方法及び製造装置
US20030085021A1 (en) * 2001-08-17 2003-05-08 Dykes Ronald M. Energy optimizer
JP2003076498A (ja) 2001-09-05 2003-03-14 Hitachi Ltd ディスク記憶装置
TW591838B (en) 2001-09-24 2004-06-11 Micro Star Int Co Ltd Power-off instantaneous voltage protector
US7085950B2 (en) 2001-09-28 2006-08-01 Koninklijke Philips Electronics N.V. Parallel data communication realignment of data sent in multiple groups
US7065101B2 (en) 2001-11-15 2006-06-20 International Business Machines Corporation Modification of bus protocol packet for serial data synchronization
US7130317B2 (en) * 2001-11-19 2006-10-31 Annadurai Andy P Method and circuit for de-skewing data in a communication system
US6845461B1 (en) * 2001-11-20 2005-01-18 Silicon Image, Inc. High-speed bus with embedded clock signals
US6785771B2 (en) 2001-12-04 2004-08-31 International Business Machines Corporation Method, system, and program for destaging data in cache
JP3967121B2 (ja) 2001-12-11 2007-08-29 株式会社ルネサステクノロジ ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム
DK1456963T3 (da) 2001-12-20 2007-01-22 Bhavik Amin Skew delay kompensator
US6690191B2 (en) 2001-12-21 2004-02-10 Sun Microsystems, Inc. Bi-directional output buffer
US7640484B2 (en) 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US6799235B2 (en) 2002-01-02 2004-09-28 Intel Corporation Daisy chain latency reduction
US7000065B2 (en) 2002-01-02 2006-02-14 Intel Corporation Method and apparatus for reducing power consumption in a memory bus interface by selectively disabling and enabling sense amplifiers
US20030135676A1 (en) * 2002-01-17 2003-07-17 Koninklijke Philips Electronics N.V. Low-power bus interface
US6871257B2 (en) 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
US7043585B2 (en) * 2002-03-13 2006-05-09 Sun Microsystems, Inc. Flexible system architecture with common interface for multiple system functions
US7110400B2 (en) 2002-04-10 2006-09-19 Integrated Device Technology, Inc. Random access memory architecture and serial interface with continuous packet handling capability
US6996738B2 (en) 2002-04-15 2006-02-07 Broadcom Corporation Robust and scalable de-skew method for data path skew control
US6894691B2 (en) 2002-05-01 2005-05-17 Dell Products L.P. Dynamic switching of parallel termination for power management with DDR memory
US20030208511A1 (en) 2002-05-02 2003-11-06 Earl Leroy D. Database replication system
US20050089037A1 (en) 2002-05-14 2005-04-28 Fujitsu Limited Communication speed control circuit, communication speed control board and information processing device
US7734867B1 (en) 2002-05-17 2010-06-08 Hewlett-Packard Development Company, L.P. Data storage using disk drives in accordance with a schedule of operations
US6983354B2 (en) 2002-05-24 2006-01-03 Micron Technology, Inc. Memory device sequencer and method supporting multiple memory device clock speeds
US7134056B2 (en) 2002-06-04 2006-11-07 Lucent Technologies Inc. High-speed chip-to-chip communication interface with signal trace routing and phase offset detection
KR100463202B1 (ko) 2002-07-02 2004-12-23 삼성전자주식회사 반도체 메모리 장치의 패드 및 주변 회로 레이아웃
US6834023B2 (en) 2002-08-01 2004-12-21 Micron Technology, Inc. Method and apparatus for saving current in a memory device
US6930949B2 (en) 2002-08-26 2005-08-16 Micron Technology, Inc. Power savings in active standby mode
US7551640B1 (en) 2002-09-20 2009-06-23 Cisco Technology, Inc. Method and apparatus for errorless frame timing adjustment
US6987707B2 (en) * 2002-11-12 2006-01-17 General Dynamics Advanced Information Systems, Inc. Method and system for in-air ultrasonic acoustical detection and characterization
JP3838968B2 (ja) 2002-11-29 2006-10-25 Necインフロンティア株式会社 複数の通信インターフェースを搭載した通信機器、及び無線lanアクセスポイント
JP4062078B2 (ja) * 2002-12-10 2008-03-19 株式会社日立製作所 スキュー調整装置
US7093076B2 (en) 2002-12-12 2006-08-15 Samsung Electronics, Co., Ltd. Memory system having two-way ring topology and memory device and memory module for ring-topology memory system
US6996686B2 (en) 2002-12-23 2006-02-07 Sun Microsystems, Inc. Memory subsystem including memory modules having multiple banks
US20040153902A1 (en) 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
JP4528491B2 (ja) 2003-03-07 2010-08-18 株式会社東芝 情報処理装置
US7275173B2 (en) 2003-03-26 2007-09-25 Infineon Technologies Ag Method for measuring and compensating for skews of data transmission lines by compensating for skew by delay elements switched in response to the calculated reative skew
DE112004000821B4 (de) 2003-05-13 2016-12-01 Advanced Micro Devices, Inc. System mit einem Hauptrechner, der mit mehreren Speichermodulen über eine serielle Speicherverbindung verbunden ist
US20040243769A1 (en) * 2003-05-30 2004-12-02 Frame David W. Tree based memory structure
US7194581B2 (en) * 2003-06-03 2007-03-20 Intel Corporation Memory channel with hot add/remove
US7386768B2 (en) * 2003-06-05 2008-06-10 Intel Corporation Memory channel with bit lane fail-over
US20050010726A1 (en) * 2003-07-10 2005-01-13 Rai Barinder Singh Low overhead read buffer
US7206888B2 (en) * 2003-07-24 2007-04-17 Lucent Technologies Inc. Backplane configuration with shortest-path-relative-shift routing
US6952813B1 (en) 2003-07-30 2005-10-04 Xilinx, Inc. Method and apparatus for selecting programmable interconnects to reduce clock skew
JP3984206B2 (ja) * 2003-09-02 2007-10-03 株式会社東芝 マイクロプロセッサー及び映像音声システム
US7149950B2 (en) 2003-09-12 2006-12-12 Hewlett-Packard Development Company, L.P. Assisted memory device for reading and writing single and multiple units of data
US7668271B2 (en) 2003-09-30 2010-02-23 Rambus Inc. Clock-data recovery (“CDR”) circuit, apparatus and method for variable frequency data
US7345891B2 (en) * 2003-10-07 2008-03-18 Hewlett-Packard Development Company, L.P. Circuit board assembly
US7320080B2 (en) 2003-10-15 2008-01-15 Intel Corporation Power management over switching fabrics
JP3808863B2 (ja) 2003-11-21 2006-08-16 株式会社東芝 複数のデータ伝送路を持つシリアルデータ通信方式
US7158422B2 (en) 2004-02-27 2007-01-02 Micron Technology, Inc. System and method for communicating information to a memory device using a reconfigured device pin
US20050246362A1 (en) 2004-05-03 2005-11-03 Borland Devin P System and method for dynamci log compression in a file system
US7516029B2 (en) 2004-06-09 2009-04-07 Rambus, Inc. Communication channel calibration using feedback
US7205803B2 (en) 2004-06-29 2007-04-17 Lsi Logic Corporation High speed fully scaleable, programmable and linear digital delay circuit
US7164615B2 (en) 2004-07-21 2007-01-16 Samsung Electronics Co., Ltd. Semiconductor memory device performing auto refresh in the self refresh mode
US7827424B2 (en) 2004-07-29 2010-11-02 Ati Technologies Ulc Dynamic clock control circuit and method
CN100407166C (zh) 2004-07-29 2008-07-30 普安科技股份有限公司 改善数据读取效率的方法及其储存系统
US7539800B2 (en) 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US7400862B2 (en) 2004-10-25 2008-07-15 Skyworks Solutions, Inc. Transmit-receive switch architecture providing pre-transmit isolation
US7668272B1 (en) 2004-10-26 2010-02-23 National Semiconductor Corporation Method and apparatus for data transfer between mesochronous clock domains
TW200627241A (en) * 2005-01-20 2006-08-01 Avermedia Tech Inc Computer interface card
US7457978B2 (en) 2005-05-09 2008-11-25 Micron Technology, Inc. Adjustable byte lane offset for memory module to reduce skew
KR100663361B1 (ko) 2005-05-17 2007-01-02 삼성전자주식회사 지연 회로 및 이를 구비한 반도체 장치
US7836204B2 (en) 2005-06-01 2010-11-16 International Business Machines Corporation Apparatus, system, and method for accessing a preferred path through a storage controller
US9047344B2 (en) 2005-10-17 2015-06-02 International Business Machines Corporation Guaranteeing data and metadata referential integrity in content management archival solutions
US7653776B2 (en) 2005-12-14 2010-01-26 Apple Inc. Method and apparatus for selectively switching IC ports to card slots through the use of three switches per switch group
US20070162516A1 (en) 2005-12-30 2007-07-12 Microsoft Corporation Computing asynchronous transaction log replication progress based on file change notifications
US7490189B2 (en) 2006-06-14 2009-02-10 Sun Microsystems, Inc. Multi-chip switch based on proximity communication
US7525356B2 (en) 2006-09-14 2009-04-28 Lsi Corporation Low-power, programmable multi-stage delay cell
US8660020B2 (en) 2007-01-19 2014-02-25 Infinera Corporation Communication network with skew compensation
US7751713B2 (en) 2007-01-19 2010-07-06 Infinera Corporation Communication network with skew path monitoring and adjustment
US7688638B2 (en) 2007-12-07 2010-03-30 Sandisk Corporation Faster programming of multi-level non-volatile storage through reduced verify operations
US8175113B2 (en) 2008-06-30 2012-05-08 Infinera Corporation Communication network with node bypassed co-routed multi-channel traffic

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071693A1 (en) 2003-09-26 2005-03-31 Chun Christopher K. Y. Method and circuitry for controlling supply voltage in a data processing system

Also Published As

Publication number Publication date
JP2013191217A (ja) 2013-09-26
WO2006115896A2 (en) 2006-11-02
KR20130112953A (ko) 2013-10-14
JP2008537265A (ja) 2008-09-11
EP1872192B1 (en) 2012-09-12
KR101271245B1 (ko) 2013-06-07
EP1872192A2 (en) 2008-01-02
JP2009238234A (ja) 2009-10-15
KR20120136412A (ko) 2012-12-18
EP2383656A1 (en) 2011-11-02
JP2013168164A (ja) 2013-08-29
EP2383661A1 (en) 2011-11-02
JP5258997B2 (ja) 2013-08-07
CA2597692A1 (en) 2006-11-02
CN101727429A (zh) 2010-06-09
EP2378432A1 (en) 2011-10-19
EP2383660A1 (en) 2011-11-02
JP5654630B2 (ja) 2015-01-14
WO2006115896A3 (en) 2007-05-31
KR20080000636A (ko) 2008-01-02
US20070124532A1 (en) 2007-05-31
US8726064B2 (en) 2014-05-13
US10417159B2 (en) 2019-09-17
US20090216924A1 (en) 2009-08-27
EP2383656B1 (en) 2013-06-19
KR20130072270A (ko) 2013-07-01
JP2012185851A (ja) 2012-09-27
EP2383660B1 (en) 2013-06-26
EP2383657A1 (en) 2011-11-02
KR101427867B1 (ko) 2014-08-11
EP2378433A1 (en) 2011-10-19
CN101180596A (zh) 2008-05-14
CN101872333A (zh) 2010-10-27
KR101331569B1 (ko) 2013-11-21
CN101180596B (zh) 2010-05-19
EP2378391A1 (en) 2011-10-19
CN101727429B (zh) 2012-11-14
CN103116565A (zh) 2013-05-22

Similar Documents

Publication Publication Date Title
KR101375763B1 (ko) 상호접속 시스템
US9582449B2 (en) Interconnection system
KR101245096B1 (ko) 상호연결 시스템에서의 스큐 관리
US7907624B2 (en) Switch matrix
KR100814904B1 (ko) 칩 내부 회로 간의 데이터 전송을 위한 통신 시스템
US20070245044A1 (en) System of interconnections for external functional blocks on a chip provided with a single configurable communication protocol
US10222992B2 (en) Synchronization method and apparatus for an interconnection network using parallel-headerless TDMA routing

Legal Events

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

Payment date: 20161229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190312

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200313

Year of fee payment: 7