KR20100098596A - Mesosynchronous data bus apparatus and method of data transmission - Google Patents

Mesosynchronous data bus apparatus and method of data transmission Download PDF

Info

Publication number
KR20100098596A
KR20100098596A KR1020107009902A KR20107009902A KR20100098596A KR 20100098596 A KR20100098596 A KR 20100098596A KR 1020107009902 A KR1020107009902 A KR 1020107009902A KR 20107009902 A KR20107009902 A KR 20107009902A KR 20100098596 A KR20100098596 A KR 20100098596A
Authority
KR
South Korea
Prior art keywords
data
clock
node
character
memory
Prior art date
Application number
KR1020107009902A
Other languages
Korean (ko)
Other versions
KR101132321B1 (en
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 KR20100098596A publication Critical patent/KR20100098596A/en
Application granted granted Critical
Publication of KR101132321B1 publication Critical patent/KR101132321B1/en

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

Abstract

메모리 모듈 사이의 데이터의 전송 시간은 메모리 시스템에서의 특정 포인트 사이의 전체 시간 지연이 일정하게 유지되도록 관리되는, 메모리 시스템을 설명한다. 멀티레인 버스의 각각의 레인은 개별적으로 관리될 수 있고, 중간 모듈에서 디스큐(deskew)에 대한 요구 없이, 데이터 프레임은 목적지 모듈에서 평가될 수 있다. 데이터를 라우팅하기 위해 스위치를 가질 수 있는, 모듈을 통해 데이터의 전파에서의 시간 지연은 버스 직렬 데이터 레이트의 하나 이상의 약수로 모듈을 통해 데이터 경로를 동작하고, 온도 변화 또는 노화 때문에 시간 지연에서의 변화가 수용되도록 수신된 데이터의 샘플링 포인트를 선택함으로써 감소된다. The transfer time of data between memory modules describes a memory system in which the overall time delay between specific points in the memory system is managed to remain constant. Each lane of the multilane bus can be managed individually and the data frame can be evaluated in the destination module, without the need for deskew in the intermediate module. The time delay in the propagation of data through the module, which may have a switch to route the data, operates the data path through the module at one or more divisors of the bus serial data rate, and changes in time delay due to temperature changes or aging. Is reduced by selecting a sampling point of the received data to be accepted.

Description

중간동기식 데이터 버스 장치 및 데이터 전송 방법{Mesosynchronous data bus apparatus and method of data transmission}Mesosynchronous data bus apparatus and method of data transmission

본 발명은 메모리 시스템에서 분산 클록의 관리에 관한 것이다. The present invention relates to the management of distributed clocks in a memory system.

컴퓨터 시스템에 있어, 중앙 처리 장치(central processor: CPU)는 메모리 시스템에 저장되어 있는 프로그램 정보 및 데이터에 접근한다. 설계 위상 동안 컴퓨터 시스템 설계자가 선택하는 크기, 속도, 및 성능면에서 메모리 시스템이 계층이 존재하며, 이는 예를 들어, 캐시 메모리, 주 메모리 및 보조 메모리를 포함할 수 있다. 캐시 메모리는 낮은 레이턴시, 높은 대역폭 및 비트당 높은 비용에 의해 특징지어지고, CPU로 통합될 수 있다. 캐시 메모리는 반도체 장치일 수 있으며 예를 들어 SRAM(static random access memory)일 수 있다. 또한 반도체 기술이고, 전형적으로 DRAM(dynamic random access memory)의 형태인 주 메모리는 덜 자주 액세스된 데이터 및 프로그램 데이터를 위해 사용된다. 현재, 개인 컴퓨터는 약 4GB의 DRAM 까지 가질 수 있는 반면, 하이-엔드(high-end) 서버는 약 16 GB 이상의 DRAM을 가질 수 있다. 복수의 메모리 제어기 및 컴퓨터 코어를 사용하는 것과 같은 전략은 이와 같은 메모리의 더 많은 양으로의 액세스를 제공할 수 있다; 그러나, 컴퓨터 버스 시스템의 대부분은 전파 시간, 버스 부하(loading), 전력 소도 등에 기인한 실제적 상한을 가진다. 더 많은 양의 데이터는 대용량 기억장치에 저장될 수 있다. 예를 들어, 단일 디스크는 테라바이트(TB)의 메모리를 포함할 수 있고, (때때로 고체 상태 드라이브(SSD)라 불리는) FLASH 메모리 디스크 자기 디스크, 및 디스크의 클로스터가 사용될 수 있다. 자기 디스크 상에 저장된 데이터에 대한 액세스 시간은 주 메모리에 저장된 데이터에 대한 액세스 시간보다 충분히 길다. In computer systems, a central processor (CPU) accesses program information and data stored in a memory system. There are layers of memory systems in terms of size, speed, and performance that computer system designers select during the design phase, which may include, for example, cache memory, main memory, and secondary memory. Cache memory is characterized by low latency, high bandwidth and high cost per bit, and can be integrated into the CPU. The cache memory may be a semiconductor device and may be, for example, static random access memory (SRAM). Main memory, also in semiconductor technology, typically in the form of dynamic random access memory (DRAM), is used for less frequently accessed data and program data. Currently, personal computers can have up to about 4 GB of DRAM, while high-end servers can have about 16 GB or more of DRAM. Strategies such as using multiple memory controllers and computer cores can provide access to larger amounts of such memory; However, most computer bus systems have practical upper limits due to propagation time, bus loading, power consumption, and the like. Larger amounts of data can be stored in mass storage. For example, a single disk may include terabytes (TB) of memory, and a FLASH memory disk magnetic disk (sometimes called a solid state drive (SSD)), and a copy of the disk may be used. The access time for data stored on the magnetic disk is sufficiently longer than the access time for data stored in the main memory.

많은 양의 DRAM 또는 FLASH와 같은 다른 메모리는 2006년 4월 17일에 출원된, 미국 특허 출원 제 11/405,083호에 설명되어 있는 바와 같은 메모리 응용으로 제공될 수 있다. 큰 메모리 어레이가 통상적인 주 메모리의 것에 접근하는 레이턴시를 가진다면, 이와 같은 메모리 어레이는 주 메모리와 유사한 것으로 고려될 수 있고 회전 디스크 미디어와 같은, 대용량 기억장치에 다른 방식으로 저장되는 많은 양의 데이터로의 빠른 접근을 제공할 수 있다. Large amounts of other memory, such as DRAM or FLASH, can be provided for memory applications as described in US patent application Ser. No. 11 / 405,083, filed April 17, 2006. If a large memory array has a latency approaching that of conventional main memory, such a memory array can be considered similar to main memory and a large amount of data stored in other ways in mass storage, such as rotating disk media. Can provide quick access to

데이터는 버스로 공지된 경로 상의 중앙 처리기와 다른 장치와 메모리 사이에 이동되고, 이는 예로서, 병렬, 직렬, 점대점(point-to-point), 데이지 체인식(daisy chained), 또는 멀티-스터브(multi-stub)를 포함하는, 다양한 구조를 가질 수 있다. Data is moved between the central processor and other devices and memory on a path, known as a bus, which is, for example, parallel, serial, point-to-point, daisy chained, or multi- stub. It can have various structures, including (multi-stub).

데이터 버스는 데이터의 송신 및 수신에 대한 클록 주파수가 시스템에서 모든 점에서 동일하다면 동기 방식으로 동작될 수 있고, 공지된 위상 관계는 데이터가 감지되는(예를 들어 수신되는) 각 점에서 데이터 비트들 사이에 존재한다. 그러나, 2 개의 인접한 노드 사이의 병렬 버스에서 데이터의 전송을 고려하면, 시간-지연 스큐(skew)에 따라, 다른 라인에서의 데이터 비트의 위상 관계는 변한다. 저속의 데이터 전송에서, 그리고 짧은 버스 길이에 대해, 이는 용인될 수 있지만, 그러나, 고속의 데이터 송신에서, 데이터 비트는 시스템 클록에 대한 바뀌는 위상 관계로 수신될 수 있고, 하나의 클록 간격 이상 만큼 지연될 수 있어, 오류를 가져오거나 또는 각각의 메모리 노드에서 전형적으로, 디-스큐(de-skewing) 및 위상 정렬을 필요로 한다. The data bus can be operated in a synchronous manner if the clock frequencies for the transmission and reception of data are the same at all points in the system, and a known phase relationship is the data bits at each point at which data is sensed (eg received). Exists between. However, considering the transfer of data on a parallel bus between two adjacent nodes, with time-delay skew, the phase relationship of data bits on different lines changes. In low speed data transmissions, and for short bus lengths, this may be acceptable, but in high speed data transmissions, data bits may be received in a varying phase relationship to the system clock and delayed by more than one clock interval. This can result in errors or typically require de-skewing and phase alignment at each memory node.

이 문제는 각각의 라인 상에 클록 및 데이터를 송신하고, 하나의 노드에서의 각각이 채널에 대한 클록을 복구함으로써 완화될 수 있다. 이 클록은 라인에서 라인으로의 시스템 클록에 대한 시간 지연에서 다를 수 있다. 또한, 클록이 데이터를 따라 전송되는 경우, 데이터의 전송, 또는 적어도 유휴 데이터 패턴은 각각의 라인에 대한 클록의 동기화를 유지하도록 요구될 수 있다. This problem can be mitigated by sending clock and data on each line, and each at one node recovers the clock for the channel. This clock may vary in time delay for the system clock from line to line. In addition, when a clock is transmitted along with the data, a transfer of data, or at least an idle data pattern, may be required to keep the clock synchronized for each line.

대안으로는, 데이터는 버퍼에서의 각각의 라인에 대한 데이터를 축적하고, 데이터 스큐를 보상하도록 요구된 시간 지연 조절을 결정하고, 그리고 데이터 상의 액션 전에 각각의 노드에 수신된 데이터를 재구성함으로써 각각의 노드에서 복구될 수 있다.(워드 데이터가 정보와 마찬가지로 판독 또는 기록 등과 같은 인밴드 명령(in-band command)을 포함한다고 이해되고, 이는 메모리로 기록되거나 또는 이로부터 판독되려는 명령어(instruction)를 포함할 수 있다.) 스큐-보상을 조절하기 위해, 버퍼링되어야 하는 데이터의 양은 버스를 따라 축적할 수 있는 스큐의 클록 사이클의 개수에 달할 수 있다. 버스의 하나의 단에서 다른 단으로의 데이터 전송에서의 전체 지연은 데이터 경로를 따라 노드대노드(node-to-node) 스큐 값의 각각의 최대 스큐의 합이다. 이러한 유형의 버스의 예는 JEDEC 표준의 주제인 FB-DIMM(fully-buffered DIMM)이다. Alternatively, the data accumulate data for each line in the buffer, determine the time delay adjustment required to compensate for data skew, and reconstruct the data received at each node prior to the action on the data. (Word data is understood to include in-band commands such as read or write as well as information, which includes instructions to be written to or read from memory.) To adjust skew-compensation, the amount of data that must be buffered can amount to the number of clock cycles of skew that can accumulate along the bus. The total delay in data transfer from one end of the bus to the other is the sum of each maximum skew of node-to-node skew values along the data path. An example of this type of bus is a fully-buffered DIMM (FB-DIMM), which is the subject of the JEDEC standard.

버스는 또한 데이터가 (메모리 제어기와 같은) 송신단으로부터 전송되고 타겟 메모리 모듈, 예를 들어 선현 버스를 따른 3번째의 메모리 모듈에서 수신되는 멀티-드롭(multi-drop) 버스로 동작할 수 있다. 모듈은 당해 기술에 공지된 바와 같이, DIMM(dual in line memory module)일 수 있고, 최대 전체 스큐는 가장 긴 전송 지연을 가지는 특정 버스 라인의 것과 동일할 수 있다. 전송 지연은 개별 데이터 라인에 대한 트레이스 길에서의 차로부터 발생하며, 전송 길이에서의 차는 메모리 모듈을 포함하는 회로 카드 상의 트레이스 뿐만아니라 마더 보드 상의 트레이스를 포함할 수 있다. The bus may also operate as a multi-drop bus in which data is transmitted from a transmitting end (such as a memory controller) and received at a target memory module, eg, a third memory module along the line bus. The module may be a dual in line memory module (DIMM), as known in the art, and the maximum overall skew may be the same as that of a particular bus line with the longest transmission delay. The transfer delay results from the difference in trace lengths for the individual data lines, and the difference in transfer length may include traces on the motherboard as well as traces on the circuit card containing the memory modules.

미국 출원 제 11/405,083에 설명된 바와 같이, 예를 들어, 직렬 점대점 방식, 또는 분기 방식으로 동작하는 버스의 라인 사이의 스큐의 영향은, 통신 노드들 사이의 각각이 버스 라인에서 경험된 스큐의 양에 따라, 특정 버스 라인으로 데이터 레인의 논리 할당을 적절히 교환함으로써 완화될 수 있어, 버스의 의도된 수신단에서의 노드에서, 스큐는 최소화되고, 공지되거나 또는 제어된다. 이와 같이, 데이터에 영향을 줄 수 있는 수신 노드에서 스큐 보상을 위해 요구된 보정의 양이 감소될 수 있고, 장치 복잡성 및 전력 소모에서의 감소를 수반한다. As described in US application Ser. No. 11 / 405,083, for example, the effect of skew between lines of a bus operating in a serial point-to-point, or branched fashion is that skew between each of the communication nodes is experienced on the bus line. Depending on the amount of λ, it can be mitigated by properly exchanging the logical allocation of data lanes to specific bus lines so that at the node at the intended receiving end of the bus, skew is minimized, known or controlled. As such, the amount of correction required for skew compensation at the receiving node that may affect the data may be reduced, accompanied by a reduction in device complexity and power consumption.

본 발명의 내용에 포함되어 있음.Included in the context of the present invention.

제 1 노드 및 제 1 노드와 통신하는 제 2 노드를 포함하는 상호연결 시스템이 개시되어 있다. 제 1 클록은 제 1 노드 및 제 2 노드에 제공되어 있고; 제 2 클록은 제 1 클록에 대해 제 1 정수 관계(integral relationship)를 가지며, 제 1 클록을 참고하여 발생되고, 제 1 노드의 출력과 제 2 노드의 출력 사이의 비트의 전송 시간이 실질적으로 일정하게 유지되도록 조절된 제 1 클록에 대하여 시간 지연 오프셋을 가진다. An interconnect system is disclosed that includes a first node and a second node in communication with the first node. A first clock is provided to the first node and the second node; The second clock has a first integral relationship with respect to the first clock, is generated with reference to the first clock, and the transmission time of the bit between the output of the first node and the output of the second node is substantially constant. Have a time delay offset relative to the first clock, which is adjusted to remain stable.

데이터 버스에 의해 연결가능한 적어도 2 개의 모듈을 포함하는 데이터 전송 시스템이 개시되어 있다. 모듈은 직렬 데이터를 송신하기 위한 송신기, 및 직렬 데이터를 수신하기 위한 수신기를 가진다. 모듈은 공통 클록으로부터의 신호가 공급되며, 공통 클록으로부터 유도된 각각의 모듈 상의 내부 클록을 생성하는 클록 발생기를 가진다. 클록 데이터 복구 회로는 직렬 데이터 신호의 비트와 동기화를 유지하는 수신된 데이터 클록을 생성하며, 정렬 버퍼는 직렬 데이터 비트와 내부 클록 사이의 동기화를 설정하고 유지하도록 동작가능하다. 스위치는 외부 포트 또는 내부 포트 중 하나로 수신된 직렬 데이터를 라우팅하도록 동작가능하다. 모듈은 복수의 외부 및 내부 포트를 가질 수 있다. A data transmission system is disclosed comprising at least two modules connectable by a data bus. The module has a transmitter for transmitting serial data and a receiver for receiving serial data. The module is supplied with a signal from a common clock and has a clock generator that generates an internal clock on each module derived from the common clock. The clock data recovery circuit generates a received data clock that keeps in sync with the bits of the serial data signal, and the alignment buffer is operable to establish and maintain synchronization between the serial data bits and the internal clock. The switch is operable to route the received serial data to either an external port or an internal port. The module may have a plurality of external and internal ports.

또다른 태양에서, 메모리 시스템은 링크로 연결되어 있는 복수의 모듈을 포함하고, 적어도 하나의 모듈은 데이터 메모리를 가진다. 시스템 클록은 적어도 2 개의 모듈로 분배되고, 모듈 사이에서 전송되는 데이터의 데이터 클록 레이트는 시스템 클록에 완전히 관련된다. 모듈 상의 버퍼는 수신된 데이터 문자의 비트 위치와 이전에 설정된 비트 위치 사이의 동기화를 유지하도록 동작가능하다. In another aspect, a memory system includes a plurality of modules connected by a link, wherein at least one module has a data memory. The system clock is divided into at least two modules, and the data clock rate of the data transferred between the modules is completely related to the system clock. The buffer on the module is operable to maintain synchronization between the bit position of the received data character and the previously set bit position.

또다른 태양에서, 데이터 인터페이스는 클록 데이터 복구 회로; 클록 위상 정렬 버퍼, 및 데이터 송신 회로를 포함한다. 클록 데이터 복구 회로는 데이터 송신 회로에서 사용된 클록과 동일한 주파수를 가지는 클록을 복구하고, 위상 정렬 회로는 데이터의 도달 시간(time of arrival)에서 변화를 보상한다. In another aspect, the data interface includes a clock data recovery circuit; A clock phase alignment buffer, and a data transmission circuit. The clock data recovery circuit recovers a clock having the same frequency as the clock used in the data transmission circuit, and the phase alignment circuit compensates for the change in the time of arrival of the data.

또다른 태양에서, 메모리 모듈은 데이터 수신기, 데이터 복구 회로, 라우팅 스위치, 메모리 인터페이스 및 데이터 송신기를 가진다. 클록 데이터 복구 회로는 데이터 송신 회로에 사용된 클록과 동일한 주파수를 가지는 클록을 복구하고, 위상 정렬 버퍼 회로는 데이터의 도달 시간을 보상한다. In another aspect, the memory module has a data receiver, a data recovery circuit, a routing switch, a memory interface, and a data transmitter. The clock data recovery circuit recovers a clock having the same frequency as the clock used in the data transmission circuit, and the phase alignment buffer circuit compensates for the arrival time of the data.

또다른 태양에서, 상호연결 시스템의 노드는 데이터 수신 회로; 데이터 송신 회로; 데이터 수신회로와 데이터 송신회로를 연결하는 스위치를 포함한다. 회로는 복수의 비트를 가지는 수신된 문자의 제 1 비트와 고정 관계에서 샘플링 시간을 유지하도록 동작가능하고; 입력 데이터 버퍼는 재샘플링된 비트와 또다른 모듈에 의해 송신된 대응하는 비트 사이에서 측정된 전체 시간 지연이 실질적으로 일정하게 유지되도록 제 1 비트를 재샘플링하도록 구성된다. In another aspect, a node of an interconnect system may comprise data receiving circuitry; Data transmission circuits; And a switch connecting the data receiving circuit and the data transmitting circuit. The circuitry is operable to maintain a sampling time in a fixed relationship with the first bit of the received character having a plurality of bits; The input data buffer is configured to resample the first bit such that the overall time delay measured between the resampled bit and the corresponding bit transmitted by another module remains substantially constant.

적어도 2 개의 모듈을 제공하는 단계를 포함하는, 모듈 사이의 데이터의 송신 방법이 개시되어 있고, 모듈은 수신기, 송신기, 클록 데이터 복구 회로, 위상 정렬 버퍼, 및 라우팅 스위치를 포함한다. 모듈은 라인에 의해 연결가능하다. 데이터의 프레임의 문자는 제 1 라인으로 할당된다. 송신된 문자와 문자의 수신 사이의 시간 지연이 변하는 경우 문자의 제 1 비트가 문자의 제 1 비트의 샘플링의 정렬을 유지하도록 샘플링되도록 이의 수신단에서 제 1 라인은 초기화된다.A method of transmitting data between modules is provided, the method comprising providing at least two modules, the module comprising a receiver, a transmitter, a clock data recovery circuit, a phase alignment buffer, and a routing switch. The module is connectable by line. The characters of the frame of data are assigned to the first line. The first line at its receiving end is initialized such that when the time delay between the transmitted character and the reception of the character changes, the first bit of the character is sampled to maintain the alignment of the sampling of the first bit of the character.

또다른 태양에서, 시스템이 서로 통신하는 복수의 노드를 포함하는, 상호연결 시스템의 관리 방법이 설명되어 있다. 상기 방법은 제 1 노드로부터 제 2 노드로 복수의 비트를 포함하는 데이터의 문자를 송신하는 단계; 제 2 노드에서 문자를 수신하는 단계; 수신된 데이터로부터 클록을 복구하고 문자의 제 1 비트로 샘플링 시간을 정렬하는 단계; 및 클록 주파수의 약수로 샘플링된 데이터를 재샘플링하고 송신된 데이터와 재샘플링된 데이터 사이의 전체 시간 지연이 실질적으로 일정하도록 재샘플링 클록의 위상 또는 시간 지연을 조절하는 단계를 포함한다. In another aspect, a method of managing an interconnect system is described, wherein the system comprises a plurality of nodes in communication with each other. The method includes transmitting a character of data comprising a plurality of bits from a first node to a second node; Receiving a text at a second node; Recovering a clock from the received data and aligning the sampling time with the first bit of the character; And resampling the sampled data by a divisor of the clock frequency and adjusting the phase or time delay of the resampling clock such that the overall time delay between the transmitted data and the resampled data is substantially constant.

본 발명의 내용에 포함되어 있음.Included in the context of the present invention.

도 1은 메모리 모듈을 가지는 컴퓨터 시스템에 관한 블록도이다;
도 2a, 2b는 실시예의 논리적 및 물리적 태양에 관한 명명 규칙(naming convention)을 설명한다;
도 3은 메모리 모듈의 간단한 블록도이다;
도 4는 도 3의 메모리 모듈의 더 상세한 블록도이다;
도 5는 병렬화기(deserializer) 회로의 입력 및 출력에서 데이터 비트의 논리 배열에 관한 예를 나타낸다;
도 6은 메모리 모듈의 스위치에서 기능 소자의 배열을 나타낸다;
도 7a, 7b는 중간동기식 동작과 관련한 타이밍 체계를 나타낸다.
1 is a block diagram of a computer system having a memory module;
2A, 2B illustrate a naming convention regarding the logical and physical aspects of an embodiment;
3 is a simple block diagram of a memory module;
4 is a more detailed block diagram of the memory module of FIG. 3;
5 shows an example of the logical arrangement of data bits at the input and output of the deserializer circuit;
6 shows an arrangement of functional elements in a switch of a memory module;
7A and 7B show timing schemes associated with intermediate synchronous operation.

예시적인 실시예는 도면을 참고로 하여 더 잘 이해될 수 있지만, 그러나 이들 예는 본 발명을 제한하는 성질을 가지는 것으로 의도되어 있지 않다. 동일하거나 또는 다른 도면에서 동일한 번호의 소자는 동등한 기능을 수행한다. 소자들은 두문자에 의해 표기되거나 또는 번호가 매겨질 수 있고, 둘다 가능하며, 표현에서의 선택은 단지 명료함을 위해 이루어져, 번호에 의해 표시된 소자, 및 두문자 또는 알파벳 표시자에 의해 표기된 동일한 소자는 이를 기초로 구별되지 않는다. Exemplary embodiments may be better understood with reference to the drawings, but these examples are not intended to have properties that limit the invention. Elements of the same number in the same or different figures perform equivalent functions. The elements may be marked or numbered by acronyms, both are possible, and the choices in the representation are made for clarity only, the elements indicated by numbers and the same elements indicated by acronyms or alphabetic markers. Not distinguished by basis.

도면에 설명된 방법 및 도시된 장치가 기계-실행가능 명령어, 예를 들어 소프트웨어, 또는 하드웨어, 또는 이들의 조합에서 구성되거나 또는 구현될 수 있음을 당업자는 이해할 것이다. 명령어는 설명된 동작을 수행하기 위해 명령어로 프로그램되어 있는, 디지털 프로세서 등을 야기하는데 사용될 수 있다. 대안으로는, 동작은 설명된 동작을 수행하기 위해 하드배선 논리(hardwired logic) 및 펌웨어 명령어를 포함하는 특정 하드웨어 구성요소에 의해, 또는 아날로그 회로를 포함할 수 있는, 프로그램된 컴퓨터 구성요소와 사용자지정(custom) 하드웨어 구성요소의 임의 조합에 의해 수행될 수 있다. 예로서, 마이크로프로세서, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)가 사용될 수 있다. 이와 같은 회로는 임의 필수 명령어 또는 데이터를 저장하기 위해 통합 또는 연관 메모리를 가질 수 있다. Those skilled in the art will appreciate that the methods and apparatus depicted in the figures may be configured or implemented in machine-executable instructions, for example software, or hardware, or a combination thereof. Instructions may be used to cause digital processors or the like, programmed as instructions to perform the described operations. In the alternative, the operation may be programmed by a specific hardware component that includes hardwired logic and firmware instructions, or may include analog circuitry, or user specified programming to perform the described operation. (custom) may be performed by any combination of hardware components. For example, a microprocessor, a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC) may be used. Such circuitry may have integrated or associative memory to store any necessary instructions or data.

방법을 수행하기 위해 컴퓨터(또는 다른 전자 장치)를 프로그램하는데 사용될 수 있는 저장된 명령어를 가지는 기계-판독가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로서, 방법이 적어도 부분적으로 제공될 수 있다. 본 명세서를 위해, "기계-판독가능 매체"란 용어는 컴퓨팅 기계 또는 특수 목적 하드웨어에 의해 실행을 위해 데이터 또는 명령어의 시퀀스를 저장하거나 또는 인코딩할 수 있고, 기계 또는 특수 목적 하드웨어가 본 발명의 기능 또는 방법론 중 임의 하나를 수행하도록 하는 임의 매체를 포함하도록 되어 있다. "기계 판독가능 매체"란 용어는 따라서 고체 상태 메모리, 광 디스크 및 자기 디스크, 자기 메모리, 광 메모리 및 반송파 신호를 포함하지만, 이에 제한되지 않는다. 반송파 신호란 용어는 그 위에 도입된 명령어 또는 데이터를 가지는 전기 신호가 방사되거나 또는 전도되든지 간에, 이와 같은 신호를 발생하거나 또는 수신하기 위해 필요한 명령어 및 전자장치(electronics)를 포함하는 것으로 이해된다. A computer program product that can include a machine-readable medium having stored instructions that can be used to program a computer (or other electronic device) to perform a method, wherein the method can be provided at least in part. For the purpose of this specification, the term “machine-readable medium” may store or encode a sequence of data or instructions for execution by a computing machine or special purpose hardware, and the machine or special purpose hardware may be used to perform the functions of the present invention. Or any medium to perform any one of the methodologies. The term “machine readable medium” thus includes, but is not limited to, solid state memory, optical disks and magnetic disks, magnetic memory, optical memory, and carrier signals. The term carrier signal is understood to include instructions and electronics necessary to generate or receive such a signal, whether an electrical signal having instructions or data introduced thereon is radiated or conducted.

예를 들어, 기계 판독가능 매체는 ROM(read only memory); 모든 유형의 RAM(random access memory)(예를 들어, SRAM, DRAM); PROM(programmable read only memory); EPROM(electronically alterable read only memory); 자기 랜덤 액세스 메모리; 자기 디스크 저장 미디어; 플래시 메모리 및 전기, 광, 음향 또는 다른 형태의 신호를 사용하는 전송을 포함하지만, 그러나 이에 제한되지 않는다. For example, a machine-readable medium may include read only memory (ROM); Any type of random access memory (RAM) (eg, SRAM, DRAM); Programmable read only memory (PROM); Electronically alterable read only memory (EPROM); Magnetic random access memory; Magnetic disk storage media; Transmissions using flash memory and electrical, optical, acoustical or other forms of signals.

또한, 액션을 취하거나 또는 결과를 야기함에 따라, 하나의 형태 또는 다른 형태로(예를 들어, 프로그램, 절차, 과정, 응용, 모듈, 알고리즘 또는 논리), 소프트웨어를 언급하는 것은 당해 기술에 있어 통상적이다. 이와 같은 표현은 당업자에게 공지되어 있는 바와 같이, 컴퓨터 또는 동등한 장치에 의한 소프트웨어의 실행이 컴퓨터 또는 동등한 장치의 프로세서가 액션을 수행하거나 또는 결과를 발생하도록 하는 것을 말하는 단지 통상적인 방법이다. In addition, referring to software in one form or another (eg, a program, procedure, procedure, application, module, algorithm or logic), as it takes action or causes an effect, is common in the art. to be. This representation is merely common in that the execution of software by a computer or equivalent device causes the processor of the computer or equivalent device to perform an action or produce a result, as is known to those skilled in the art.

구체적 예를 설명하는 경우, 예는 구체적 특징, 구조 또는 특성을 포함할 수 있지만, 그러나 모든 예가 반드시 구체적 특징, 구조 또는 특성을 포함하지 않을 수 있다. 이는 2 개 이상의 예의 특징, 구조 또는 특성의 일부가 조합되어서는 안되거나 또는 조합될 수 없다는 제안 또는 암시로서, 이와 같은 조합이 명시적으로 배제되어 있는 경우를 제외하고는, 취해져서는 안된다. 구체적 특징, 구조 또는 특성이 예와 관련하여 설명되는 경우, 당업자는 명시적으로 설명되던지 아니던지간에, 다른 예와 관련하여 이와 같은 특징, 구조 또는 특성을 실행할 수 있다. When describing specific examples, the examples may include specific features, structures, or properties, but not all examples necessarily include specific features, structures, or properties. This is a suggestion or suggestion that two or more examples of features, structures, or portions of a feature may or may not be combined, and should not be taken unless such combination is expressly excluded. Where specific features, structures, or features are described in connection with the examples, one of ordinary skill in the art, whether or not explicitly described, may implement such features, structures or features in connection with other examples.

명료함을 위해, 본 발명에 개시된 이행의 모든 통상적 특징 모두가 설명되어 있지 않다. 이와 같은 임의 실제 이행의 개발에 있어, 수많은 이행-특정(implementation specific) 결정이 시스템 및 비지니스 관련 제약과의 호환성과 같은, 개발자의 특정 목표를 달성하기 위해 이루어져야 하고, 이들 목표가 하아의 이행에서 또다른 이행으로 변할 것임을 물론 이해할 것이다. 또한, 이와 같은 개발 노력이 복잡하고 시간 소모적일 수 있지만, 그러나 그럼에도 불구하고 본 발명의 이점을 가지는, 당업자를 위한 엔지니어링의 통상적 업무임을 이해할 것이다. In the interest of clarity, not all conventional features of the implementations disclosed herein are described. In the development of any such practical implementation, a number of implementation specific decisions must be made to achieve the developer's specific goals, such as compatibility with system and business constraints, and these goals are another in the implementation of the HA. It will of course be understood that this will change to implementation. Furthermore, while such development efforts can be complex and time consuming, it will nevertheless be understood that this is a common task of engineering for those skilled in the art, having the advantages of the present invention.

본 발명에 설명된 바와 같이, 메모리 모듈 커넥터 인터페이스와 같은 커넥터 또는 커넥터 인터페이스는 메일(male) 커넥터 또는 인터페이스가 피메일(female) 커넥터 또는 인터페이스와 맞물리는 물리적으로 별개의 인터페이스에 제한되지 않는다. 커넥터 인터페이스는 또한 메모리 회로로부터의 연결, 솔더볼(solder ball) 또는 리드(lead)가 또다른 메모리 회로 또는 회로 보드에 전기적으로 연결되어 있는 인터페이스와 같은 물리적 인터페이스 또는 연결부의 임의 유형을 포함할 수 있다. 예를 들어, 적층형 다이 접근법에서, 다수의 집적 회로 다이(예를 들어, 메모리 장치, 또는 버퍼 장치 등)는 볼 그리드 어레이(ball grid array) 또는 다른 유형의 커넥터 인터페이스를 통해 메모리 모듈, 메모리 제어기 또는 프로세서에 베이스 및 인터페이스를 형성하는 기판을 가지고 서로 겹쳐 적층될 수 있다. 또다른 예로서, 메모리 장치 및 버퍼 장치는 물리적으로 분리가능한 소켓 유형 커넥터 인터페이스 또는 볼 그리드 어레이 유형 커넥터 인터페이스 중 하나를 통해 메모리 제어기로 인터페이스 및 가요성 테이프 상호연결을 통해 상호연결될 수 있다. 연결 유형은 기판상의, 기판들 사이에서, 인쇄 회로 보드 상의 상호연결 컨덕터, 또는 집적 회로 칩 사이의 인터페이스를 포함할 수 있다. As described herein, a connector or connector interface, such as a memory module connector interface, is not limited to a physically separate interface where a male connector or interface engages with a female connector or interface. The connector interface may also include any type of physical interface or connection, such as a connection from a memory circuit, a solder ball or lead in which the lead is electrically connected to another memory circuit or circuit board. For example, in a stacked die approach, multiple integrated circuit dies (e.g., memory devices, or buffer devices, etc.) may be connected via a ball grid array or other type of connector interface to a memory module, memory controller, or the like. The substrates forming the base and the interface in the processor may be stacked on top of each other. As another example, the memory device and buffer device may be interconnected via an interface and a flexible tape interconnect to the memory controller through either a physically detachable socket type connector interface or a ball grid array type connector interface. The connection type may include an interface between the substrates, the substrates, the interconnect conductors on the printed circuit board, or the integrated circuit chip.

비록 예들이 컴퓨터 시스템에서의 메모리 모듈과 관련하여 설명되어 있더라도, 이와 같은 국부적 시스템으로 본 출원의 범위를 제한하는 것으로 의도되어 있는 것이 아니다. 본 발명에 설명된 장치 및 기술은 모듈이 물리적으로 분리되어 있고, 무선 기술 등을 사용하는 데이터 전송 기술이 전체 또는 부분적으로 사용될 수 있는 데이터 통신 시스템에 사용될 수 있다. 마찬가지로, 복수의 메모리 모듈은 상호연결을 사이에 포함하는, 공통 기판상에서 제작되거나 또는 조립될 수 있다. 물리적 구현의 선택은 제품이 설계되는 시간에서 엔지니어링 및 경제적 고려사항에 좌우된다. Although the examples are described in the context of a memory module in a computer system, it is not intended to limit the scope of the present application to such a local system. The apparatus and techniques described herein can be used in data communication systems in which the modules are physically separated and in which data transmission techniques using wireless techniques or the like can be used, in whole or in part. Similarly, a plurality of memory modules may be fabricated or assembled on a common substrate, with interconnects therebetween. The choice of physical implementation depends on engineering and economic considerations at the time the product is designed.

도 1 및 2는 설명된 예에서 사용될 수 있는 심볼 및 용어를 식별하도록 제공되어 있다. 이는 편의성, 명료성, 일관성 및 간결성을 위해 행해지며, 당업자는 다양한 동등한 용어가 사용될 수 있음을 인지할 것이다. 그러나, 본 발명에서 제공된 설명을 위해, 설명된 용어는 구체적으로 기재되어 있는 경우를 제외하고 사용될 것이다. 이는 동등한 개념을 설명하는 장래에 사용될 수 있는 용어, 또는 동일하다고 적용된 용어를 배제하거나 또는 구별하는 것으로 의도되어 있지 않다. 1 and 2 are provided to identify symbols and terms that may be used in the described examples. This is done for convenience, clarity, consistency and brevity, and those skilled in the art will recognize that various equivalent terms may be used. However, for the purposes of the description provided herein, the terminology described will be used except where specifically noted. It is not intended to exclude or distinguish between terms that may be used in the future that describe equivalent concepts, or terms that apply to the same.

도 1은 CPU(central processing unit), MC(memory controller), 및 MM(memory module) 및 SYSC(system clock)를 포함하는 시스템에 관한 예를 나타낸다. 또한 제공될 수 있는, 외부 인터페이스, 대용량 저장장치, 디스플레이, 및 전원 등과 같은 컴퓨터의 다른 태양은 도시되어 있지 않다. 도 1에 도시되지 않은, 캐시 메모리, 디스크 저장 메모리, 테이프 메모리 및 다른 형태의 저장장치에 추가로, 시스템은 프로그램에 의해 조정되거나 또는 사용되기 위해 프로그램 명령어 및 데이터에 빠른 액세스를 위해 부착된 RAM 및 FLASH와 같은 휘발성 및 비휘발성 메모리를 가질 수 있다. 이 메모리는 메모리 제어기(MC)에 의해 CPU로 연결될 수 있고 복수의 메모리 모듈(MM)을 포함할 수 있다. 1 illustrates an example of a system including a central processing unit (CPU), a memory controller (MC), and a memory module (MM) and a system clock (SYSC). Other aspects of the computer, such as external interfaces, mass storage, displays, and power supplies, which may also be provided, are not shown. In addition to cache memory, disk storage memory, tape memory, and other forms of storage, not shown in FIG. 1, the system includes RAM attached for quick access to program instructions and data for use or adjustment by the program; It may have volatile and nonvolatile memory such as FLASH. This memory may be connected to the CPU by the memory controller MC and may include a plurality of memory modules MM.

메모리 모듈은 복수의 전기 연결, 인쇄 배선 연결, 또는 라인에 의해 메모리 제어기 및 서로 연결될 수 있고, 이는 버스, 라인 또는 채널이라 총체적으로 불린다. 이 예에서, 몇 메모리 모듈(MM)은 MM1에서 MM2와 같이, 직렬로 연결되는 것으로 도시되고, 몇 MM은 MM2에서 MM3 및 MM4와 같이, 분기 배열로 연결된다. The memory modules may be connected to the memory controller and to each other by a plurality of electrical connections, printed wiring connections, or lines, which are collectively referred to as buses, lines, or channels. In this example, several memory modules MM are shown connected in series, such as MM1 through MM2, and some MM are connected in a branched arrangement, such as MM3 and MM4 through MM2.

중간동기식 시스템에서, 시스템 클록(SYSC)은 한 그룹의 모듈의 복수의 모듈이 공통 주파수의 클록원(clock source)으로의 액세스를 가질 수 있도록 도메인에서 모듈(예를 들어, MM)에 분배된다. SYSC 클록 주파수의 곱 또는 약수일 수 있는 다양한 클록 주파수가 SYSC로부터 유도될 수 있다. 이와 같이, SYSC 클록 주파수의 특정 곱 또는 약수의 시스템에 걸친 클록은 동일 주파수를 가지지만, 그러나 서로 시간 또는 위상 오프셋에서 다를 수 있다. 이 오프셋은 위상 오프셋으로서, 또는 클록 주기(clock period)의 분수로 설명될 수 있고, 위상의 0, 90, 180, 270 도는 클록 주기의 0.0, 0.25, 0.5, 및 0.75에 대응한다. 오프셋은 온도 또는 회로 노화 때문에 시간에 대해 매우 느리게 변할 수 있다. 느리게란 의미는 보상 또는 정렬에서의 변화를 요구할 수 있는 오프셋에서의 충분한 변화가 발생하기 전에 다수의 문자(character)가 전송될 수 있음을 의미하는 것으로 이해될 것이다. In an intermediate synchronous system, the system clock SYSC is distributed to a module (e.g., MM) in the domain such that a plurality of modules of a group of modules can have access to a clock source of a common frequency. Various clock frequencies may be derived from SYSC, which may be a product of, or a divisor of, the SYSC clock frequency. As such, clocks across a system of a certain product or fraction of the SYSC clock frequency have the same frequency, but may differ in time or phase offset from each other. This offset can be described as a phase offset or as a fraction of clock periods, where 0, 90, 180, 270 degrees of phase correspond to 0.0, 0.25, 0.5, and 0.75 of the clock period. The offset can change very slowly over time due to temperature or circuit aging. Slow will be understood to mean that a number of characters may be transmitted before a sufficient change in offset occurs that may require a change in compensation or alignment.

데이터의 전체 클록 레이트가 복수의 모듈 상에서, 동일하거나, 또는 동일한 클록과 관련되기 때문에, 패딩 문자는 다른 모듈 상에서의 클록들 사이의 차를 보상할 필요가 없다. 마찬가지로 프레임 단위(frame-by-frame) 기초로 동기식 문자의 사용을 피할 수 있다. 또다른 태양에서, 클록 레이트가 복수의 모듈에서 동일하기 때문에, 프리앰블(preamble) 또는 데이터 전송에서의 갭을 피할 수 있다. Because the total clock rate of data is on the same module, or on the same clock, the padding character need not compensate for the difference between the clocks on the other modules. Similarly, the use of synchronous characters on a frame-by-frame basis can be avoided. In another aspect, because clock rates are the same in multiple modules, gaps in preamble or data transmission can be avoided.

데이터는 조정될 수 있고 계산은 동작의 타이밍에 대한 다양한 클록을 사용하여 수행될 수 있으며, 동작이 예를 들어, 클록 신호의 상승 에지에서 수행될 수 있거나 또는 클록 신호의 상승 및 하강 에지 모두 상에서 수행될 수 있음이 공지되어 있다. 동작의 후자의 유형은 보통 이중 데이터 레이트(DDR) 클록킹이라 불린다. 표현의 간단함을 위해, 상승-에지 클록 동작의 면에서 논의되었고, 당업자는 이중 데이터 레이트 클록킹 등이 수행되는 시스템에 대한 응용을 이해할 것이다. 다른 클록킹 방식이 공지되어 있고 사용될 수 있다. The data may be adjusted and the calculation may be performed using various clocks for the timing of the operation, the operation may be performed, for example, on the rising edge of the clock signal or on both the rising and falling edges of the clock signal. It is known that it can. The latter type of operation is commonly referred to as dual data rate (DDR) clocking. For the sake of simplicity, discussion has been made in terms of rise-edge clock operation, and those skilled in the art will understand the application for a system in which dual data rate clocking or the like is performed. Other clocking schemes are known and can be used.

도 2는 예를 들어, 2 개의 메모리 모듈(MM)일 수 있는, 2 개의 장치 사이의, 연결 또는 버스의 설명에 사용된 규약을 정의한다. 데이터는 업스트림(upstream) 또는 다운스트림(downstream) 방향으로 흐른다고 할 수 있으며, 업스트림은 메모리 제어기(MC) 또는 CPU 와 같은, 관리 인터페이스를 가지는 채널의 끝을 향하는 것으로 통상적으로 정의되고, 다운스트림은 반대 방향이다. 버스는 업스티림의 방향이 다운스트림의 방향이 되도록 재구성될 수 있다. 북향(northbound) 및 남향(southbound)과 같은 다른 용어가 사용될 수 있다. 2 defines a convention used to describe a connection or bus between two devices, which may be, for example, two memory modules (MM). Data can be said to flow in an upstream or downstream direction, where upstream is typically defined as towards the end of a channel having a management interface, such as a memory controller (MC) or a CPU, where downstream is In the opposite direction. The bus may be reconfigured such that the direction of upstream is downstream. Other terms such as northbound and southbound may be used.

버스, 링크 또는 채널은 고속 데이터, 어드레스 및 명령 전송을 위해 2 개의 장치를 연결한다. 채널의 다양한 구성이 존재하는 반면, 전형적으로 채널은 단극성, 양극성, 또는 다른 시그널링 기술을 사용할 수 있는, 라인의 하나의 그룹을 가질 수 있다. 라인은 단방향 또는 양방향일 수 있다. 이 예에서, 차동 라인(differential line)이 사용되고, 이는 당해 기술에 공지된 바와 같이, 차동 시그널링 전자 회로의 메모리 모듈에서 끝나는, 마더보드 상의 한 쌍의 트레이스를 포함할 수 있다. (전기적 차동 라인은 도면들에서 단일 라인으로 도시되어 있다.) 현재, 이러한 유형의 연결은 현재 제품 설계에서 고속의 인터페이스를 위해 사용되지만, 그러나 광 또는 무선 기술 등을 포함하는, 임의 유형의 연결이 사용될 수 있다.  A bus, link or channel connects two devices for high speed data, address and command transfers. While there are various configurations of channels, typically channels can have one group of lines, which can use unipolar, bipolar, or other signaling techniques. The line can be unidirectional or bidirectional. In this example, a differential line is used, which may include a pair of traces on the motherboard, ending in the memory module of the differential signaling electronic circuit, as known in the art. (Electrical differential lines are shown as single lines in the figures.) Currently, this type of connection is used for high speed interfaces in current product designs, but any type of connection, including optical or wireless technologies, may be used. Can be used.

일 태양에서, 채널은 라인의 단방향 그룹을 가질 수 있다. 예에서, 9 개의 라인이 언제라도 사용될 수 있는 10 개의 단방향 라인이 제공되어 있고, 10 번째 라인은 여분일 수 있다. 다른 개수의 라인 및 여분이 사용될 수 있다. 여분의 라인이 필수는 아니다. 데이터는 클록 사이클에서 고정 길이를 가질 수 있는 문자(character)의 형태로 채널 상에서 전송될 수 있고, 문자의 데이터 비트는 클록 사이클과 관련될 수 있다. 이 예에서, 20 클록 사이클과 관련한, 20 비트 문자 길이를 사용한다. 복수의 라인 상의 문자는 논리 클러스터(logical cluster)로 그룹화될 수 있고 프레임이라 불린다. 즉, 도 2a에 도시된 바와 같이, 각각의 활성 라인 상의 문자는 다른 문자(들)과 동시발생적으로 전송되는 또다른 라인 상의 문자와 관련될 수 있다. 그러나, 개별 라인 상의 문자는 제 시간에 서로 비트-동기화될 필요는 없고, 하나 이상의 비트 주기 만큼 시간에서 서로로부터 오프셋될 수 있고, 클록 오프셋은 분수식(franctional) 비트 주기를 포함할 수 있다. In one aspect, the channel may have a unidirectional group of lines. In an example, ten unidirectional lines are provided in which nine lines can be used at any time, and the tenth line may be redundant. Other numbers of lines and spares may be used. Extra lines are not required. Data may be transmitted on a channel in the form of a character that may have a fixed length in clock cycles, and the data bits of the character may be associated with a clock cycle. In this example, we use a 20 bit character length, relative to 20 clock cycles. Characters on a plurality of lines can be grouped into logical clusters and called frames. That is, as shown in FIG. 2A, a character on each active line may be associated with a character on another line that is transmitted concurrently with other character (s). However, the characters on the individual lines need not be bit-synchronized with each other in time, can be offset from each other in time by one or more bit periods, and the clock offset can include fractional bit periods.

제 1 모듈과 제 2 모듈 사이의 데이터의 전송은 전송 모듈에서 제어될 수 있고 수신 모듈은 중간동기식 클록 데이터 레이트로 데이터를 받아들일 수 있다. The transfer of data between the first module and the second module can be controlled at the transmitting module and the receiving module can accept the data at an intermediate synchronous clock data rate.

유사한 채널은 역 방향으로 존재할 수 있다. 이 논의에서, 신호 전파의 방향은 다운스트림 방향으로 설명될 것이다; 그러나, 업스트림 방향에서의 신호 전파가 유사한 특성을 가질 것을 이해할 수 있다. Similar channels may exist in the reverse direction. In this discussion, the direction of signal propagation will be described in the downstream direction; However, it can be understood that signal propagation in the upstream direction will have similar characteristics.

MC 또는 MM과 같은, 업스트림 장치로부터 MM과 같은 다운스트림 장치로의 문자의 흐름은 홉(hop)이라 일컬어 질 수 있다. 이 논의에서, 명료함을 위해, 데이터의 전송은 일반성을 잃지 않고, 2 개의 메모리 모듈(MM) 사이에 있다. 라인 또는 라인들이란 용어는 홉에서의 2 개의 모듈 사이에서 연결의 물리적 성질을 설명하는 경우 보통 사용되고 이들 라인은 예를 들어, 인쇄 회로 보드 상의 트레이스, 커넥터와 같은 보조 소자, 및 송수신단 인터페이스 전자장치들과 관련될 수 있다. 레인(lane)이란 용어는 프레임에서의 문자의 데이터의 논리 할당을 나타내는데 보통 사용된다. 각각의 레인은 MC, 또는 MM 등의 동작에 의해 라인에 할당될 수 있고(바인딩될 수 있고), 이 바인딩(binding)은 홉에서 홉으로 변할 수 있고, 시간에 따라 변할 수 있다. 이 논의에서, 바인딩은 시스템이 일단 구성되면 정적이라고 고려되지만, 각각의 모듈에서 다를 수 있다. 즉, 각각의 홉에서의 라인과 레인의 연관은 시스템 구성의 이전 시간에서 설정되고, 동작 동안 또는 재구성을 수행할 때까지 할당된 상태에 남아 있다. 레인은 목적지 모듈에서의 프레임의 문자들의 도착 시간 사이의 스큐(skew)를 관리하고, 아마도 감소하거나 또는 최소화시키도록 다른 홉에서 다른 라인에 바인딩될 수 있다. The flow of characters from an upstream device, such as an MC or an MM, to a downstream device, such as an MM, may be referred to as a hop. In this discussion, for the sake of clarity, the transfer of data is between two memory modules MM without losing generality. The term line or lines is commonly used when describing the physical properties of a connection between two modules in a hop, and these lines are used, for example, on a printed circuit board, auxiliary elements such as connectors, and transceiver interface electronics. May be associated with the The term lane is commonly used to refer to the logical assignment of data in characters in a frame. Each lane may be assigned (bound) to a line by an operation such as MC, or MM, and this binding may change from hop to hop, and may change over time. In this discussion, the binding is considered static once the system is configured, but may be different in each module. That is, the association of lines and lanes at each hop is established at a previous time of system configuration and remains assigned during operation or until reconfiguration is performed. Lanes can be bound to other lines on different hops to manage and possibly reduce or minimize skew between the arrival times of the characters of the frame in the destination module.

2 개의 모듈 사이의 채널 또는 링크는 모듈이 초기화되고, 학습되는(trained) 경우, 그리고 레인이 라인에 바인딩되고 프레임 정렬의 과정이 완료된 경우 존재한다고 고려될 수 있다. 이 과정을 구성이라 부를 수 있다.A channel or link between two modules may be considered to exist when the module is initialized, trained, and when the lanes are bound to the line and the process of frame alignment is complete. This process can be called construction.

홉에 의해 또다른 모듈과 연결되는 다운스트림 방향에서의 모듈로부터 존재하는 라인의 그룹은 출력 서브-포트라 불리고 이와 같은 라인의 또다른 모듈로의 진입은 입력 서브-포트를 통한다. 서브-포트들로서 구성된, 라인의 또다른 유사한 그룹은 업스트림 방향에 존재할 수 있고, 2 개의 모듈 사이의 홉과 연관된 출력 및 입력 서브-포트의 조합은 포트로 불릴 수 있다. The group of lines that exist from the module in the downstream direction, which is connected by hops to another module, is called an output sub-port and entry into another module of such a line is through the input sub-port. Another similar group of lines, configured as sub-ports, may exist in the upstream direction, and a combination of output and input sub-ports associated with a hop between two modules may be called a port.

데이터 프레임에서의 문자는 조정 데이터(steering data)를 포함할 수 있으며, 이는 일반적으로 프레임에서의 데이터를 라우팅하는데 필요한 어드레싱 정보를 의미하며, 이는 목적지 모듈로, 현재 라인 상의 다음 프레임 또는 또다른 라인 상의 또다른 프레임 또는 현재 프레임일 수 있다. 이는 미국 11/405,083에 설명된 바와 같은 조정 데이터일 수 있다. 데이터의 어드레싱 또는 라우팅을 제공하는 다른 수단은 당업자에 의해 공지되어 있으며 사용될 수 있다. 조정 레인을 포함하지 않을 수 있는, 동일한 레인 또는 복수의 레인은 명령, 어드레스, 또는 데이터에 대한 문자를 포함할 수 있다. Characters in a data frame may include steering data, which generally refers to the addressing information needed to route the data in the frame, which is the destination module, on the next frame or on another line on the current line. It may be another frame or the current frame. This may be adjustment data as described in US 11 / 405,083. Other means of providing addressing or routing of data are known to the person skilled in the art and can be used. The same lane or multiple lanes, which may not include a steering lane, may include characters for commands, addresses, or data.

도 2b는 메모리 모듈(MM)일 수 있는 2 개의 모듈 사이의 물리적 인터페이스에 관한 예이다. 마더보드 상의 트레이스 쌍은 마더 보드 상의 커넥터 사이에 연결할 수 있다. MM이 마더보드로 플러그(plug)되고 인쇄 회로 배선에 연결할 수 있도록 단일 또는 다중 커넥터가 사용될 수 있다. 예를 들어, 전력, 전력 관리, 클록 및 검사와 같은 다른 연결이 또한 존재할 수 있지만, 도시되어 있지 않다. 2B is an example of a physical interface between two modules, which may be memory modules (MM). Trace pairs on the motherboard may connect between connectors on the motherboard. Single or multiple connectors can be used to allow the MM to be plugged into the motherboard and connected to printed circuit wiring. For example, other connections such as power, power management, clock and check may also exist, but are not shown.

도 3은 다운스트림 경로만을 나타내는 메모리 모듈의 단순한 블록도를 나타낸다. 입력 포트 P0는 n 개의 데이터 라인을 가지며, 이 예에서는 10개이다. 이진 트리에서 결합을 위한 모듈의 경우에, 각각 또한 10 개의 데이터 라인을 가지는 2 개의 출력 포트(P1 및 P2)가 존재할 수 있다. 조정 데이터에 제공된 정보에 따라 또는 다른 라우팅 방법에 의해, 포트 P0에서 입력 데이터는 MM에서의 메모리의 하나 또는 포트 P1 또는 포트 P2로 라우팅된다. 3 shows a simple block diagram of a memory module showing only a downstream path. Input port P 0 has n data lines, in this example 10. In the case of a module for combining in a binary tree, there may be two output ports P 1 and P 2 , each also having 10 data lines. Depending on the information provided in the coordination data or by another routing method, the input data at port P 0 is routed to one of the memories at the MM or to port P 1 or port P 2 .

MM과 통합될 수 있거나, 또는 MM과 통신하며, 전술되어 있는 데이터 메모리의 임의 유형일 수 있는 메모리는 MM과 연관될 수 있다. 메모리는 다른 컴퓨터 또는 통신 장비로의 인터페이스, 또는 다른 외부 장치에 의해 교체되거나 또는 보충될 수 있어, 메모리 어드레스는 예를 들어 MM으로부터 디스플레이, 또는 네트워크 인터페이스 등으로 데이터의 입력 또는 출력을 가져올 수 있다. A memory that may be integrated with the MM or that is in communication with the MM and may be any type of data memory described above may be associated with the MM. The memory may be replaced or supplemented by an interface to another computer or communication equipment, or other external device, such that the memory address may bring in or output data, for example, from the MM to a display, a network interface, or the like.

라우팅 및 다른 관련 기능을 수행하는 장치는 구성가능한 스위칭 소자(configurable switching element: CSE)라 불릴 수 있다. 도 4는 CSE의 일부를 나타낸다. 이 예에서, MM 회로는 몇 개의 다른 클록 레이트로 동작할 수 있다. 다수의 클록 레이트는 시스템의 전자적 이행을 용이하게 할 수 있다; 그러나, 충분히 빠른 전자 소자를 획득할 수 있다면, CSE의 모든 동작은 공통 클록 속도로 수행될 수 있으며, 클록 속도는 버스 데이터 레이트의 속도일 수 있다. 시스템 클록(SYSC)은 시스템 클록(SYSC)이 사용되는 모듈의 각각으로 공통 클록(SYSC)으로부터 분배될 수 있다. 시스템 클록(SYSC) 레이트는 홉의 라인 상에서 직렬 비트 데이터의 비트 클록 레이트와 다를 수 있고, 공지된 바와 같이, 국부 클록을 유도하도록, 클록-레이트 곱셈기 또는 나눗셈기가 모듈에 또는 다른 곳에서 사용될 수 있다. 직렬 비트 레이트 클록은 시스템 클록(SYSC)의 배수, m 또는 약수일 수 있고, MM의 일부는 또다른 클록 레이트, 예를 들어; 스위치 클록 레이트(SWC)로 동작할 수 있다. 이 예에서, 데이터 레이트 클록 레이트(DC)는 SYSC의 16배이고, 스위치 클록 레이트(SWC)는 SYSC의 4배 이다. 다른 클록 주파수가 또한 모듈에서 사용될 수 있다. 사용된 클록 중 몇몇은 SYSC에 통합적으로 관련되지 않을 수 있다. Devices that perform routing and other related functions may be referred to as configurable switching elements (CSEs). 4 shows a portion of the CSE. In this example, the MM circuit can operate at several different clock rates. Multiple clock rates can facilitate electronic implementation of the system; However, if a sufficiently fast electronic device can be obtained, all of the operations of the CSE can be performed at a common clock speed, which can be at the speed of the bus data rate. The system clock SYSC may be distributed from the common clock SYSC to each of the modules in which the system clock SYSC is used. The system clock (SYSC) rate may differ from the bit clock rate of the serial bit data on the line of hops, and as is known, a clock-rate multiplier or divider may be used in the module or elsewhere to derive a local clock. . The serial bit rate clock may be a multiple, m, or a divisor of the system clock SYSC, and part of the MM may be at another clock rate, for example; It can operate at a switch clock rate (SWC). In this example, the data rate clock rate DC is 16 times SYSC and the switch clock rate SWC is 4 times SYSC. Other clock frequencies may also be used in the module. Some of the clocks used may not be integrally related to SYSC.

모듈(MM)을 연결하는 라인 중 하나는 다른 라인 상에 사용된 과정을 나타내는 것으로 설명된다. 포트 P0에서의 입력 라인은 임피던스 정합을 제공할 수 있는 아날로그 회로에 의해 수용될 수 있거나 또는 이로 인터페이스 될 수 있고, 이는 명시적(explicit) 또는 내재적(intrinsic) 대역폭 필터링을 포함할 수 있고, 이는 또다른 데이터 처리 또는 조작에 적절한 전기 신호로 라인 상의 차동 신호를 변환할 수 있다. 언급한 바와 같이, 이 논의는 모듈이 클록 위상 오프셋의 결정 또는 클록의 정렬을 포함하는, 시스템의 남은 부분과 관련하여 이전에 구성되었음을 추정하며; 이와 같이, 구성 과정, 오류 검출, 및 오류 복구 등은 상세히 논의되어 있지 않다. One of the lines connecting the module MM is described as representing the process used on the other line. The input line at port P 0 may be accommodated by or interfaced with an analog circuit that may provide impedance matching, which may include explicit or intrinsic bandwidth filtering, which The differential signal on the line can be converted into an electrical signal suitable for further data processing or manipulation. As mentioned, this discussion assumes that the module has been previously configured with respect to the remainder of the system, including determination of clock phase offsets or alignment of clocks; As such, the configuration process, error detection, error recovery, and the like are not discussed in detail.

도 4에 도시된 바와 같이, 수신기 회로(RX)로부터의 출력 신호는 클록 데이터 복구(CDR) 회로에 의해 처리된다. 스위치 회로소자(SW)에 사용될 수 있는 바와 같이, 병렬화기(deserializer)(DES)는 데이터가 낮은 클록 레이트(SWC)로 동시에 처리될 수 있도록 직렬 포맷에서 복수의 데이터 스트림으로 데이터를 변환하는데 사용될 수 있다. CDR 회로는 수신되는 데이터에서의 비트 위치에 대하여 고정 관계를 가지는 복구 데이터 클록(RDC)을 설정하도록, DLL(지연 고정 루프(delay locked loop)), 또는 PLL(위상 고정 루프) 등으로 공지된 다수의 회로 유형 중 하나일 수 있다. 복구 데이터 클록(RDC)은 데이터 신호가 유효한 수신된 비트의 시간의 지점에서 라인 상의 신호를 샘플링하는데 사용될 수 있다. 즉, 수신된 데이터 신호의 샘플링 시간은 데이터 샘플이 비트 사이의 경계에서 취해지지 않도록 정렬되고, 홉상의 전송에서 일어날 수 있는 왜곡의 효과가 최소이다. RDC는 또한 초기화 시간에서 문자 경계와 정렬될 수 있다. As shown in FIG. 4, the output signal from the receiver circuit RX is processed by a clock data recovery (CDR) circuit. As can be used for switch circuitry (SW), a deserializer (DES) can be used to convert data from a serial format into multiple data streams so that data can be processed simultaneously at a low clock rate (SWC). have. CDR circuits are known as DLLs (delay locked loops), PLLs (phase locked loops), etc., to establish a recovery data clock (RDC) having a fixed relationship to bit positions in the received data. May be one of the circuit types. The recovery data clock RDC can be used to sample the signal on the line at the point in time of the received bit for which the data signal is valid. That is, the sampling time of the received data signal is aligned so that data samples are not taken at the boundary between bits, and the effect of distortion that can occur in the transmission on the hop is minimal. The RDC can also be aligned with character boundaries at initialization time.

복구 데이터-레이트-클록(RDC)은 공통 시스템 클록으로부터 다른 모듈로 클록 신호(SYSC)에 의해 취해진 다른 전파 경로 때문에, 모듈에서의 차동 지연 시간인 위상 오프셋(또는 적어도 분수 비트 시간)에 의해, 그리고 인접한 모듈 사이의 다른 라인에 대한 다른 신호 전파 지연에 의해 국부적으로 발생된 데이터 클록(DC)으로부터 오프셋될 수 있다. The recovery data-rate-clock RDC is due to the phase offset (or at least fractional bit time) which is the differential delay time in the module because of the different propagation path taken by the clock signal SYSC from the common system clock to another module, and It may be offset from the locally generated data clock DC by other signal propagation delays for different lines between adjacent modules.

모듈 사이의 전파 지연 시간에서의 차는 스큐라 불릴 수 있고, 스큐는 고정 및 가변 성분을 가질 수 있다. 모듈 상의 각각의 경로에 의해 다뤄진 추가 전파 시간 차동 지연이 또한 관련 있으며, 스큐가 설명되는 경우, 구체적으로 달리 특징지어 지지 않는 한, 전체 차동 시간 지연을 의미한다. 예를 들어, 모듈 사이의 전파 시간은 빛의 속도의 약 1/2보다 더 큰 속도일 수 있는, 마더 보드 상의 트레이스를 따른 신호의 전파 시간, 이전 모듈의 송신기(TX) 및 현재 모듈에서의 송신기(RX)에서의 필터, 또는 다른 버퍼 등에서 전파 지연 등을 포함할 수 있다. 실제 아날로그 전자 회로는 유한 대역폭을 가지며, 대역폭 한계 가까이에서 동작하는 이와 같은 회로는 처리중인 신호에서 추가 전파 지연을 가져올 수 있다. The difference in propagation delay time between modules may be called skew, and the skew may have fixed and variable components. Additional propagation time differential delays handled by each path on the module are also relevant and, when skew is described, means the total differential time delay, unless specifically specified otherwise. For example, the propagation time between modules may be a speed greater than about 1/2 of the speed of light, the propagation time of the signal along the trace on the motherboard, the transmitter of the previous module (TX) and the transmitter of the current module. Propagation delay in a filter at (RX), other buffers, and the like. Real analog electronic circuits have finite bandwidth, and such circuits operating near bandwidth limits can introduce additional propagation delays in the signal being processed.

전파 지연은 위상 지연 또는 시간 지연 중 하나로서 간주될 수 있다. 아날로그 회로는 클록 주기의 차수(order)의 시간 지연을 가질 수 있고, 지연은 성분 값의 함수일 수 있으며, 이는 온도에 좌우할 수 있다. 약간의 노후가 발생할 수 있지만, 그러나 이는 일반적으로 긴 시간 범위(time scale) 상에 있다. 그러므로, 문자의 유입 제 1 비트와 대응하는 모듈 클록 에지 사이의 위상 또는 시간 관계는 선험적으로 공지되어 있지 않을 수 있다. 고정 회로 구성에서 스큐 또는 전파의 변화에 대한 시간 범위가 설명되는 경우, 긴 시간은 변화의 시간 범위가 클록 레이트에서의 문자 기간(duratuin)의 낮은 배수보다 큰 것을 의미한다고 이해된다.Propagation delay can be considered as either phase delay or time delay. The analog circuit may have a time delay of an order of clock period, and the delay may be a function of component value, which may depend on temperature. Some obsolescence may occur, but this is generally on a long time scale. Therefore, the phase or time relationship between the incoming first bit of the character and the corresponding module clock edge may not be known a priori. When a time range for a change in skew or propagation is described in a fixed circuit configuration, it is understood that long time means that the time range of change is greater than the lower multiple of the duratuin at the clock rate.

클록 및 데이터는 구성 프로세스 동안 정렬될 수 있고, 각각의 라인에 대해, 문자 또는 프레임 경계, 신호 유효 윈도우, 및 RDC 사이의 관계를 설정하기 위해 학습 문자를 사용할 수 있다. 일단 설정되면, 관계는 DLL 또는 PLL에 의해 유지되고, RDC는 또한 병렬화기(DES)를 클록킹하는데 사용될 수 있다. 예를 들어, 환경 요인(일반적으로 온도) 때문에, 홉의 전파 시간 지연이 변하더라도, DLL 또는 PLL은 샘플링 포인트가 유효 데이터 윈도우와 유지되도록 CDR 회로에 의해 업데이트될 수 있다. 즉, 라인에 대한 모듈에서 복구 데이터 클록(RDC)에서의 특정 클록 비트와 문자의 0 번째 비트 사이의 연관은 홉 상에서의 시간 지연이 변하는 경우에 조차 변하지 않는다. 이 변화가 프레임 또는 문자 레이트와 비교하여 느리고, DDL 또는 PLL은 연속적으로 업데이트되지 않을 수 있다. 시스템 설계에 좌우되어, 데이터가 홉의 라인상에서 연속하여 전송되지 않는다면, 주기적 동기식 전송은 연관을 유지하기 위해 RDC를 조절하기 위해 초기화될 수 있다. The clock and data can be aligned during the configuration process, and for each line, the learning character can be used to establish the relationship between the character or frame boundary, the signal valid window, and the RDC. Once established, the relationship is maintained by the DLL or PLL, and the RDC can also be used to clock the parallelizer (DES). For example, due to environmental factors (typically temperature), even if the propagation time delay of the hop changes, the DLL or PLL can be updated by the CDR circuitry so that the sampling point remains with the valid data window. That is, the association between a particular clock bit in the recovery data clock RDC and the 0 th bit of the character in the module for the line does not change even if the time delay on the hop changes. This change is slow compared to the frame or character rate, and the DDL or PLL may not be updated continuously. Depending on the system design, if data is not transmitted continuously on the line of hops, periodic synchronous transmission may be initiated to adjust the RDC to maintain association.

낮은 데이터 레이트로 국부적으로 처리될 수 있는, 복수의 병렬 데이터 스트림으로 라인 상의 문자의 비트를 나타낼 수 있는, 직렬 데이터 스트림의 변환의 예가 도 5에 도시되어 있다. 문자(이 예에서 20 비트)는 복구 클록 레이트(RDC)에서 병렬변환기(DES)에 의해 처리되고 라인 데이터 레이트의 1/2 및 1/4의 클록 레이트로 모듈 내에서 라우팅된다. 각각의 플레인이 스위치 클록 레이트(SWC)에서 동작하는, 스위치 로직의 플레인(plane)과 개별 데이트 비트 위치의 논리적 연관이 도시되어 있다. 처리의 낮은 클록-레이트 부분으로의 데이터의 다른 논리적 정렬이 동일하게 가능하다. 이 예에서, 문자의 데이터는 완전히 병렬화되지 않는다. 즉, 4 개의 내부 데이터 경로(플레인 A-D)가 사용되고, 데이터는 병렬 데이터 문자로 완전히 전송되지 않는다. 동일하게, 로직이 충분히 빠르다면, 문자는 직렬화 또는 병렬화하지 않고, 완전히 직렬 데이터 문자로서 처리될 수 있다. An example of the conversion of a serial data stream, which can represent bits of characters on a line into a plurality of parallel data streams that can be processed locally at low data rates, is shown in FIG. 5. A character (20 bits in this example) is processed by the deserializer DES at the recovery clock rate RDC and routed within the module at clock rates of 1/2 and 1/4 of the line data rate. The logical association of the plane of the switch logic with the individual data bit locations is shown, with each plane operating at a switch clock rate (SWC). Other logical alignments of data into the lower clock-rate portion of the process are equally possible. In this example, the character's data is not fully parallelized. That is, four internal data paths (plane A-D) are used, and the data is not transmitted completely in parallel data characters. Equally, if the logic is fast enough, the characters can be treated as fully serial data characters, without serializing or parallelizing.

논리 표현보다는 차라리, 비트의 시간 기간이 도시되었다면, 절반 레이트 영역에서 데이터의 연속적 비트 사이의 간격 또는 시간 기간은 유입 데이터의 간격 또는 시간 기간의 2배이고, 1/4-레이트 도메인에서의 데이터 비트의 기간은 유입 데이터의 기간의 4 배임을 이해할 수 있다. 이 예에서, 데이터는 유입 문자의 짝수 및 홀수 비트로서 도시되고, 그러나 이 표기는 단지 설명에서의 편의를 위한 것이며 모듈 내에서 데이터 비트가 라우팅되는 방식을 제한하는 것으로 의도되어 있지 않다. Rather than a logical representation, if a time period of bits is shown, the interval or time period between successive bits of data in the half rate region is twice the interval or time period of the incoming data, and It can be understood that the duration is four times the duration of the incoming data. In this example, the data is shown as even and odd bits of incoming characters, but this notation is for convenience only in the description and is not intended to limit the way data bits are routed within the module.

위상 정렬 버퍼(PAB)는 내부 스위치 클록(SWC)과 병렬화기(DES)의 출력을 정렬하는 데 사용된다. 스위치 레이트 클록은, 스위치의 입력 및 출력에서 PAB를 위해 사용된 SWC가 SWC의 것과 동일한 주파수인 클록 레이트를 가지는 것을 의미하도록 SWC1 및 SWC11로서 스위치(SW)로부터 분배되는 것으로 도시되어 있지만, 그러나 스위치(SW) 자체에 사용된 SWC로부터 다르지만 실질적으로 고정 위상 또는 시간 오프셋을 가질 수 있다. The phase alignment buffer PAB is used to align the output of the internal switch clock SWC and the parallelizer DES. The switch rate clock is shown to be distributed from the switch SW as SWC 1 and SWC 11 to mean that the SWC used for the PAB at the input and output of the switch has a clock rate that is the same frequency as that of the SWC, but It may differ from the SWC used in the switch SW itself but may have a substantially fixed phase or time offset.

일 태양에서, PAB의 비트 길이는 문자보다 길지 않을 수 있고, US 11/405,083에서 설명된 라우팅 방식이 사용되는 경우, 완전한 문자가 수신 모듈에 의해 수신되기 전에 라우팅 정보를 얻을 수 있다. PAB 길이는 18 비트보다 길지 않을 수 있고 길이가 5비트일 수 있다. In one aspect, the bit length of the PAB may not be longer than characters, and when the routing scheme described in US 11 / 405,083 is used, routing information may be obtained before the complete character is received by the receiving module. The PAB length may not be longer than 18 bits and may be 5 bits in length.

이 예에서, 문자는 5 개의 데이터 비트의 4 패킷으로 병렬화되고, 클록 레이트(SWC)는 DC의 1/4이다. PAB는 입력 문자의 0번째 비트가 SWC의 상승 에지와 정렬되도록 행동할 수 있다. 문자의 병렬화 데이터의 다음 비트(1번째, 2번째, 3번째)는 각각, SWC의 상대적 위상(90, 180 및 270°)으로 정렬될 수 있다. 시간에서 다음에 오는 문자의 다음 비트는 마찬가지로 처리될 수 있다. In this example, the character is parallelized into four packets of five data bits, and the clock rate (SWC) is one quarter of DC. The PAB may act to align the zeroth bit of the input character with the rising edge of the SWC. The next bits (first, second, third) of the character's parallelism data may be aligned with the relative phases 90, 180 and 270 ° of the SWC, respectively. The next bit of the character following in time can be processed as well.

패킷은 메모리, 또는 출력 포트 P1, P2 중 하나로 패킷을 라우팅하도록 스위치(SW)에 의해 처리될 수 있다. 이 라우팅은 수신된 스티어링 데이터 문자에 기초하여, 동적일 수 있다. 추가로, 스위치(SW)는 예를 들어, P1 상의 출력 라인(3)으로, P0의 라인(1) 상의 입력 문자를 전송하는 것에 의해 레인 교환을 수행할 수 있다. 물리적 라인 연관으로 논리적 레인은 본질상 정적일 수 있고, 프로세스는 "바인딩"이라 불릴 수 있다. 이 방식으로, 입력 문자는 메모리 위치, 또다른 모듈로의 경로를 따라 라우팅될 수 있고, 라인으로의 레인의 정렬은 예를 들어, 목적지 모듈에서 프레임의 문자들 사이의 차동 스큐를 관리하기 위해 사용될 수 있다. 여분 라인이란 용어는 레인에 현재 바인딩되지 않은 2 개의 포트를 연결하는 임의 라인을 지시하는데 사용된다.The packet can be processed by the switch SW to route the packet to memory or to one of the output ports P 1 , P 2 . This routing may be dynamic, based on the received steering data characters. In addition, the switch SW can perform lane exchange, for example, by sending an input character on the line 1 of P 0 to an output line 3 on P 1 . With physical line associations, logical lanes can be static in nature, and a process can be called "binding". In this way, input characters can be routed along memory locations, paths to another module, and the alignment of lanes to lines can be used to manage differential skew between the characters of a frame, for example, at the destination module. Can be. The term redundant line is used to indicate any line connecting two ports that are not currently bound to a lane.

스위치(SW) 사이의 인터페이스 및 온-모듈(on-module) 메모리는 모듈 간(module-to-module) 인터페이스와 유사할 수 있고, 국부 메모리로부터 또는 국부 메모리로 의도되어 있는 패킷에서의 문자의 수신을 준비한다. 이 수신은 프레임 내의 문자를 디스큐(deskew)하고 메모리로 프레임을 전송하는 것을 포함할 수 있다. 이와 같은 국부 데이터 복수는 특허 출원 미국 제 11/405,083호에 설명되어 있다.The interface between the switches SW and the on-module memory may be similar to the module-to-module interface and receive characters from packets intended to or from local memory. Prepare. This reception may include deskewing the characters in the frame and sending the frame to memory. Multiple such local data are described in patent application US 11 / 405,083.

데이터가 출력 포트(예를 들어, P1 또는 P2)로 라우팅되어 있는, 스위치(SW)에서의 처리 후, 문자의 패킷은 출력 위상 정렬 버퍼(PAB)로의 입력으로서 출력된다. 출력 PAB은 구성 프로세스 동안 설정되어 있는 출력 직렬화기(SER)에서 데이터 클록(DC)의 클록 에지와 문자의 0번째 비트의 정렬을 유지하는데 이용한다. 스위치(SW)에서의 처리가 일반적으로 동기식 프로세스이기 때문에, 스위치 클록(SWC)와 데이터 클록(DC) 사이의 스큐는 일단 설정되면, 상대적으로 정적으로 남아있기 쉽다. 즉, 스위치를 통한 비트의 전파 지연 시간은 실질적으로 일정하다. 그러나, 스위치(SW)로의 데이터 입력의 위상 또는 상대적 시간은 데이터 클록(DC)과 관련하여, 각 라인에 대해 다를 수 있다. 출력 PAB은 라인에 대한 데이터 클록(DC)의 적절한 클록 사이클로 라인 상의 문자의 비트를 정렬하는데 사용될 수 있다. 이 정렬은 라인 단위(line by line)에 기초하여 수행되고, 프레임의 문자는 개별적으로 처리됨에 따라 각각의 홉에서 재동기화될 필요가 없다. After processing at the switch SW, where data is routed to an output port (e.g., P 1 or P 2 ), a packet of characters is output as input to the output phase alignment buffer PAB. The output PAB is used to maintain the alignment of the zeroth bit of the character with the clock edge of the data clock DC in the output serializer SER set during the configuration process. Since the processing at the switch SW is generally a synchronous process, the skew between the switch clock SWC and the data clock DC, once established, tends to remain relatively static. In other words, the propagation delay time of the bits through the switch is substantially constant. However, the phase or relative time of the data input to the switch SW may be different for each line with respect to the data clock DC. The output PAB can be used to align the bits of the character on the line with the appropriate clock cycle of the data clock DC for the line. This alignment is performed on a line by line basis, and the characters of the frame do not need to be resynchronized on each hop as they are processed individually.

직렬화기는 라인 상의 이전에 전송된 문자로서 동일한 타이밍을 가지는 문자로 문자의 패킷의 비트를 합친다. 즉, 이전 문자의 0번째 비트로부터 20n 클록 사이클 만큼 지연된 데이터 클록(DC)의 클록 에지와의 n 번째의 다음 분자의 비트 0의 연관은 전송되는 어떠한 실제 문자가 없는 경우에 조차 유지된다. 직렬화기(SER)의 출력은 다음 홉상의 전송을 위해 TX 회로에서 차동 아날로그 데이터 신호로 변환될 수 있다. The serializer combines the bits of a packet of characters into characters that have the same timing as previously transmitted characters on the line. That is, the association of bit 0 of the n th next molecule with the clock edge of the data clock DC delayed by 20 n clock cycles from the 0 th bit of the previous character is maintained even if no actual character is transmitted. The output of the serializer (SER) can be converted into a differential analog data signal in the TX circuit for transmission on the next hop.

프레임에서 다른 라인 상의 다른 문자가 마찬가지로 처리된다. 그러나, 라인의 각각은 개별 CDR 회로를 가지고, 각각의 라인에 대한 RDC는 SWC에 대하여 그리고 서로에 대하여 다른 위상을 가질 수 있다. 각각의 라인 상의 변화는 또한 라인 길이, 또는 증폭기 또는 필터의 특성 등과 같은, 회로 세부사항에 대응하는, 시간 또는 온도에 다른 의존성을 가질 수 있다. Other characters on other lines in the frame are similarly processed. However, each of the lines has a separate CDR circuit, and the RDC for each line may have a different phase with respect to the SWC and with respect to each other. Changes on each line may also have other dependencies on time or temperature, corresponding to circuit details, such as line length, or the characteristics of an amplifier or filter.

도 6은 스위치(SW)의 단순한 기능 블록도를 도시한다. 스위치는 2 개의 스위치, 레인-교환 그리드(LEG: lane-exchange grid) 및 포트-교환 그리드(PEG)로 형성될 수 있다. 도시된 바와 같이, 하나의 LEG 만이 존재하나, 특정 설계에 따라, 하나 이상의 LEG 소자가 또한 스위치 출력에서 제공될 수 있고, 또는 입력 또는 출력에서 LEG가 생략될 수 있다. 여기서, 입력 라인(0-9)은 예를 들어, 레인(A)이 입력에서 라인(0)과 연관되어 있는 레인들(예를 들어, A-J)과 연관된다. 입력 라인으로부터 출력 라인 및 포트로의 문자의 바인딩, 스위칭, 또는 라우팅은 LEG, PEG에 의해 수행될 수 있다. 출력 라인(1-9)으로의 남아 있는 라인(B-J)의 바인딩은 시스템이 구성되어 있는 경우 결정될 수 있어, 입력 프레임에서의 각각의 레인은 출력에서 특정 물리적 라인에 라우팅된다. 레인(A)은 입력에서 라인(0)과 연관된다. 라우팅은 예를 들어, 레인(A)가 출력에서 라인(3)과 연관될 수 있는, 출력 포트 P1으로 있을 수 있다. 입력 라인으로부터 출력 라인 및 포트로의 문자의 바인딩, 스위칭, 또는 라우팅은 LEG 및 PEG에 의해 각각 수행될 수 있다. 출력 라인(1-9)으로의 남아있는 라인(B-J)의 바인딩은 시스템이 구성되는 경우 결정될 수 있어, 입력 프레임에서의 각각의 레인은 출력에서 특정 물리적 라인으로 라우팅된다. 레인(A)은 마찬가지로 또다른 라인에 바인딩될 수 있다. 바인딩은 하나의 모듈 상의 포트 사이에서 다를 수 있고, 하나의 모듈과 또다른 모듈 사이에서 다를 수 있다. 6 shows a simple functional block diagram of the switch SW. The switch may be formed of two switches, a lane-exchange grid (LEG) and a port-exchange grid (PEG). As shown, there is only one LEG, but depending on the particular design, one or more LEG elements may also be provided at the switch output, or the LEG may be omitted at the input or output. Here, input lines 0-9 are associated with lanes (eg AJ), for example, where lane A is associated with line 0 at the input. Binding, switching, or routing of characters from input lines to output lines and ports can be performed by LEG, PEG. The binding of the remaining line BJ to the output lines 1-9 can be determined if the system is configured so that each lane in the input frame is routed to a particular physical line at the output. Lane A is associated with line 0 at the input. Routing can be at output port P 1 , for example, where lane A can be associated with line 3 at the output. The binding, switching, or routing of characters from input lines to output lines and ports can be performed by LEG and PEG, respectively. The binding of the remaining line BJ to the output lines 1-9 can be determined when the system is configured, so that each lane in the input frame is routed to a specific physical line at the output. Lane A can likewise be bound to another line. The binding can be different between ports on one module, and can be different between one module and another module.

홉에서의 데이터의 전송의 시간 지연이 시간에 따라 변하는 경우에 조차, 이 프로세스의 결과는 데이터 클록(DC)의 동일한 클록 에지로 메모리 제어기(MC)에 의해 전송된 문자의 비트(예를 들어 0 번째 비트)의 연관을 유지할 수 있고, 데이터 클록은 모듈 중 임의 모듈에서 데이터 클록(DC)이다. Even if the time delay of the transfer of data on the hop changes over time, the result of this process is that the bit of the character (eg 0) transmitted by the memory controller MC to the same clock edge of the data clock DC. Second bit), and the data clock is the data clock DC in any of the modules.

이러한 개념은 도 7a-7b에 도시되어 있다. 도 7a에서, 전파 지연 시간(D1)은 모듈(MM2)의 출력과 모듈(MM1)의 출력 사이의 전파 지연 시간을 나타낸다. 이 시간을 데이터의 각각의 레인에 대해 일정하게 유지하는 구성 프로세스의 완료시에 존재하는 것과 동일하게 유지되는 DC의 클록 에지와 라인 상에 전송된 문자의 제 1 비트 사이의 설정된 대응성을 가져온다. 지연 D1은 지연 D2와 D3의 합으로 고려도리 수 있고, D2는 스위치(SW)와 연관되지 않은 지연일 수 있고 D3는 스위치(SW)와 연관된 지연이다. 지연 D2 및 D3의 각각은 시간에 걸쳐 환경 요인에 따라 변할 수 있지만, 그러나 전체 전송 시간 지연이 실질적으로 일정하도록 지연에서의 변화의 효과는 위상 정렬 버퍼(PAB)에 의해 보상된다. 이는 도 7b에 더 상세히 도시되어 있다. 실질적으로 일정함은 동기화 후, 문자의 제 1 비트의 전체 전송 시간이 재동기화 없이, 비트 기간 이상으로 변하지 않도록 회로가 조절되는 것을 의미한다고 이해된다. This concept is illustrated in FIGS. 7A-7B. In FIG. 7A, the propagation delay time D 1 represents the propagation delay time between the output of the module MM2 and the output of the module MM1. This results in a set correspondence between the clock edge of the DC that remains the same as it exists at the completion of the configuration process that keeps this time constant for each lane of data and the first bit of the character transmitted on the line. Delay D1 may be considered as the sum of delays D2 and D3, D2 may be a delay not associated with switch SW and D3 is a delay associated with switch SW. Each of the delays D2 and D3 may vary depending on environmental factors over time, but the effect of the change in delay is compensated by the phase alignment buffer PAB so that the overall transmission time delay is substantially constant. This is shown in more detail in Figure 7b. Substantially constant is understood to mean that after synchronization the circuit is adjusted so that the entire transmission time of the first bit of the character does not change beyond the bit period, without resynchronization.

이전 논의에서, 하나의 모듈 상에 있지 않을 수 있는, SYSC 클록원에서 클록 에지에 대하여 모듈에서의 시스템 클록(SYSC)의 시간 지연은 일정하다고 암묵적으로 가정되어 있다. 이 시간 지연은 환경 요인 또는 노화에 따라 변할 수 있지만, 그러나, 각각의 모듈 상의 위상 정렬 버퍼들(PAB)이 DC와 SWC와 RDC 사이의 상대적 시간 지연을 보상하기 때문에, SYSC 클록 지연의 변화가 보상될 수 있다. In the previous discussion, it is implicitly assumed that the time delay of the system clock SYSC in the module is constant relative to the clock edge in the SYSC clock source, which may not be on one module. This time delay may vary depending on environmental factors or aging, however, because the phase alignment buffers (PAB) on each module compensate for the relative time delay between DC and SWC and RDC, the change in the SYSC clock delay compensates. Can be.

설명된 배열의 결과는 전체 문자 또는 그 이상이 하나의 홉의 지연에서의 변화에 대해 조절하기 위해 MM의 입력 PAB에서 버퍼링될 필요가 없다는 것이다. PAB의 깊이는 예를 들어, 홉의 라인 모두에서 스큐의 전체 변화보다는 차라리, 홉에서의 라인에 대한 작동 온도 범위에 걸쳐 대략 스큐의 변화일 수 있다. 구성하는 시점에서, 데이터 비트 위치가 전송 주기 동안 버퍼에서 유지되도록 데이터는 클록 속도 도메인 사이의 전송을 위한 버퍼에서의 적절한 포인트에 위치될 수 있다. The result of the described arrangement is that the entire character or more need not be buffered at the input PAB of the MM to adjust for changes in the delay of one hop. The depth of the PAB may be, for example, a change in skew over the operating temperature range for the line in the hop, rather than the overall change in skew in both lines of the hop. At the time of construction, the data may be located at appropriate points in the buffer for transmission between clock rate domains such that the data bit position is maintained in the buffer for the transmission period.

위상 정렬 버퍼의 결과는 메모리 모듈을 통한 전체 시간 지연이 환경 요인 때문에 스큐에서의 변화를 고려하여, 최적화될 수 있다는 것이다. 데이터가 멀티 홉을 가지는 경로 상으로 전파되는 경우, MC와 목적지 모듈 사이의 전체 시간 지연은, 중간 모듈에서 프레임의 데이터를 복구하고 데이터 경로를 따른 지연을 추가함으로써 디스큐를 수행하는 접근법과 비교하여, 감소될 수 있다. 지연은 남아 있는 스큐를 다루기 위해 목적지 모듈 또는 소스에서의 하나 이상의 라인에 추가될 수 있거나, 또는 전체 스큐를 최적화하도록 구성 동안 추가될 수 있다. The result of the phase alignment buffer is that the total time delay through the memory module can be optimized, taking into account changes in skew due to environmental factors. When data propagates over a multi-hop path, the overall time delay between the MC and the destination module is compared to the approach to perform deskew by restoring the data in the frame at the intermediate module and adding a delay along the data path. , Can be reduced. The delay may be added to one or more lines in the destination module or source to handle the remaining skew, or may be added during configuration to optimize the overall skew.

임의 라인의 데이터와 데이터 클록(DC)의, 동기화라 불릴 수 있는, 연관이 연관이 설정된 이후 유지되고, 모듈 쌍에서 국부적으로 유지되기 때문에, 각각의 라인 상의 데이터 전송은 레이턴시 성능 이유 및 시스템 대역폭을 요구하는 경우를 제외하고는 연속할 필요는 없다. 라인을 필요로 하지 않는 경우, 전력은 CDR 및 다른 회로소자의 일부로부터 뿐만 아니라 송신기 및 수신기 소자로부터 제거될 수 있다. 데이터가 입력 포트로부터 2 개의 출력 포트 중 하나 또는 국부 메모리로 전형적으로 라우팅되는 경우, 출력 포트 중 적어도 하나는 필요하지 않는 경우 중단될 수 있다. Since the association of data of any line with the data clock (DC), which may be called synchronization, is maintained after the association is established, and maintained locally in the module pair, the data transmission on each line is responsible for latency performance reasons and system bandwidth. Unless required, it does not have to be continuous. If no lines are required, power can be removed from the transmitter and receiver elements as well as from the CDRs and other parts of the circuitry. If data is typically routed from an input port to one of two output ports or local memory, at least one of the output ports may be suspended if not needed.

서브-포트의 라인들의 하나의 그룹에서 라인들 중 하나는 이전 불활성 링크에서 데이터 프레임, 또는 리프레시 목적을 위해 전송되는 데이터로 남아 있는 라인을 알리는(alert) 것과 같은, 시그널링의 목적을 위해 활성 상태로 유지될 수 있다. 그러나, 라인 상의 데이터 상의 존재가 수신기 및 연관 회로소자를 활성화하도록, 신호 존재 표시기가 또한 사용될 수 있다. 따라서, 정상 상태 동작에서, 라인은 활성 또는 불활성 중 하나 일 수 있고, 데이터 라인이 활성인 경우, 데이터가 조정 데이터일 수 있는 데이터, (어드레싱을 포함하는) 명령, 저장되거나 또는 판독되는 데이터, 또는 클록 유지 전송은 전송된다. One of the lines in one group of lines of sub-ports is active for signaling purposes, such as alerting the remaining data as data frames, or data transmitted for refresh purposes, in the previous inactive link. Can be maintained. However, signal presence indicators may also be used such that the presence on data on the line activates the receiver and associated circuitry. Thus, in steady state operation, the line may be either active or inactive, and if the data line is active, data may be coordination data, instructions (including addressing), data stored or read, or The clock hold transmission is sent.

본 발명의 몇 개의 예시적 실시예만이 위에서 상세히 설명되어 있더라도, 당업자는 다수의 변경이 본 발명의 이점 및 새로운 기술로부터 실질적으로 벗어나지않고 예시적 실시예에서 가능함을 쉽게 이해할 것이다. 따라서, 모든 이와 같은 변경은 본 발명이 범위 내에 포함되도록 의도된다. Although only a few exemplary embodiments of the invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without substantially departing from the advantages and novel techniques of the invention. Accordingly, all such modifications are intended to be included within the scope of this invention.

본 발명의 내용에 포함되어 있음.Included in the context of the present invention.

Claims (22)

제 1 노드;
제 1 노드와 통신하는 제 2 노드;
제 1 노드 및 제 2 노드에 제공되는 제 1 클록; 및
제 1 노드의 출력과 제 2 노드의 출력 사이의 비트의 전송 시간이 실질적으로 일정하게 유지되도록 제 1 클록에 대한 제 1 정수 관계(integral relationship)를 가지고 제 1 클록에 관하여 시간 지연을 가지는 제 2 클록을 포함하는 상호연결 시스템.
A first node;
A second node in communication with the first node;
A first clock provided to the first node and the second node; And
A second having a first integral relationship to the first clock and having a time delay with respect to the first clock such that the transmission time of the bit between the output of the first node and the output of the second node remains substantially constant Interconnection system including a clock.
제 1 항에 있어서,
제 1 노드는 버스를 거쳐 제 2 노드와 통신하는 상호연결 시스템.
The method of claim 1,
An interconnect system in which a first node communicates with a second node via a bus.
제 2 항에 있어서,
비트로 구성된 문자는 제 1 클록에 대해 제 2 정수 관계를 가지는 클록 레이트로 직렬로 제 1 노드와 제 2 노드 사이에서 전송되는 상호연결 시스템.
The method of claim 2,
And a character consisting of bits is transmitted between the first node and the second node in series at a clock rate having a second integer relationship to the first clock.
제 3 항에 있어서,
제 1 및 제 2 정수 관계는 동일한 정수 관계인 상호연결 시스템.
The method of claim 3, wherein
The first and second integer relationships are the same integer relationship.
제 3 항에 있어서,
수신된 문자는 제 2 클록의 속도보다 낮은 클록 속도로 직렬 데이터 포맷에서 복수의 직렬 데이터 패킷으로 변환되는 상호연결 시스템.
The method of claim 3, wherein
And wherein the received characters are converted into a plurality of serial data packets in a serial data format at a clock rate lower than that of the second clock.
제 5 항에 있어서,
제 2 클록의 시간 지연은 다음 문자의 동일 비트가 직렬 데이터 패킷의 동일 비트로 변환되도록 조절되는 상호연결 시스템.
The method of claim 5, wherein
The time delay of the second clock is adjusted so that the same bit of the next character is converted to the same bit of the serial data packet.
제 5 항에 있어서,
각각의 복수의 직렬 데이터 패킷은 메모리 또는 또다른 노드 중 하나로 라우팅되는 상호연결 시스템.
The method of claim 5, wherein
Wherein each plurality of serial data packets is routed to memory or to another node.
제 7 항에 있어서,
라우팅은 수신된 문자에 의해 결정되는 상호연결 시스템.
The method of claim 7, wherein
An interconnect system in which routing is determined by received characters.
제 7 항에 있어서,
문자가 또다른 노드로 라우팅되는 경우, 데이터는 제 2 클록을 사용하여 재-직렬화되는(re-serialized) 상호연결 시스템.
The method of claim 7, wherein
If a character is routed to another node, the data is re-serialized using a second clock.
제 9 항에 있어서,
재직렬화된 데이터는 2 개의 노드를 연결하는 복수의 라인 중 하나의 라인 상에 전송되는 상호연결 시스템.
The method of claim 9,
The reserialized data is transmitted on one of the plurality of lines connecting the two nodes.
제 10 항에 있어서,
재직렬화된 데이터는 복수의 라인 중 선택된 하나의 라인에 바인딩되는 상호연결 시스템.
The method of claim 10,
Wherein the reserialized data is bound to a selected one of the plurality of lines.
제 1 항에 있어서,
레인의 시간 지연은 제 1 노드의 출력과 제 2 노드의 출력 사이에서 측정되는 경우, 레인의 전체 시간 지연이 실질적으로 일정하도록 조절되는 상호연결 시스템.
The method of claim 1,
Wherein the time delay of the lane is measured between the output of the first node and the output of the second node, such that the total time delay of the lane is substantially constant.
제 12 항에 있어서,
복수의 라인 중 하나의 라인 상의 수신된 문자는 복수의 라인 중 또다른 라인 상의 수신된 문자와 상관없이 직렬 데이터 포맷으로부터 복수의 직렬 데이터 패킷으로 변환되는 상호연결 시스템.
The method of claim 12,
And a character received on one line of the plurality of lines is converted from a serial data format to a plurality of serial data packets irrespective of the received character on another line of the plurality of lines.
제 13 항에 있어서,
직렬 데이터 패킷의 개수는 문자에서 비트의 개수와 동일한 상호연결 시스템.
The method of claim 13,
An interconnect system in which the number of serial data packets is equal to the number of bits in the character.
데이터 수신 회로;
데이터 송신 회로;
데이터 수신 회로 및 데이터 송신 회로를 연결하는 스위치;
복수의 비트를 가지는 수신된 문자의 제 1 비트에 대해 고정 관계에서 샘플링 시간을 유지하도록 동작할 수 있는 회로; 및
재샘플링된 비트와 또다른 노드에서의 대응하는 재샘플링된 비트 사이에서 측정된 전체 시간 지연이 실질적으로 일정하게 유지되도록 제 1 비트를 재샘플링하도록 구성된 입력 데이터 버퍼를 포함하는 상호연결 시스템의 노드.
Data receiving circuit;
Data transmission circuits;
A switch connecting the data receiving circuit and the data transmitting circuit;
Circuitry operable to maintain a sampling time in a fixed relationship to a first bit of a received character having a plurality of bits; And
And an input data buffer configured to resample the first bit such that the overall time delay measured between the resampled bit and the corresponding resampled bit at another node remains substantially constant.
제 15 항에 있어서,
회로는 데이터 클록 복구 회로인 상호연결 시스템의 노드.
The method of claim 15,
The circuit is a node of an interconnect system that is a data clock recovery circuit.
제 15 항에 있어서,
입력 데이터 버퍼는 데이터 클록 레이트의 정약수(integral submultiple)인 클록 주파수로 동작하는 상호연결 시스템의 노드.
The method of claim 15,
An input data buffer is a node in an interconnect system that operates at a clock frequency that is an integral submultiple of the data clock rate.
제 15 항에 있어서,
스위치는 메모리 또는 또다른 노드 중 적어도 하나로 수신된 문자를 라우팅하도록 동작할 수 있는 상호연결 시스템의 노드.
The method of claim 15,
A switch in an interconnect system that is operable to route received characters to at least one of a memory or another node.
제 15 항에 있어서,
스위치 출력은 데이터 클록 레이트로 전송되는 상호연결 시스템의 노드.
The method of claim 15,
A switch output is a node in an interconnect system that is transmitted at a data clock rate.
제 15 항에 있어서,
입력 데이터 버퍼는 복수의 데이터 패킷으로 수신된 문자를 병렬화하도록 동작할 수 있고, 출력 데이터 버퍼는 문자로 스위치 출력 데이터를 재직렬화하도록 동작할 수 있는 상호연결 시스템의 노드.
The method of claim 15,
An input data buffer may be operable to parallelize characters received into a plurality of data packets, and the output data buffer may be operable to reserialize switch output data into characters.
제 15 항에 있어서,
문자는 제 1 포트의 복수의 라인 중 제 1 라인 상에 수신되고, 문자는 제 2 포트의 복수의 라인 중 선택가능한 하나의 라인 상의 또다른 노드로 전송되는 상호연결 시스템의 노드.
The method of claim 15,
And a character is received on a first line of the plurality of lines of the first port and the character is sent to another node on a selectable one of the plurality of lines of the second port.
제 1 노드로부터 제 2 노드로 복수의 비트를 포함하는 데이터의 문자를 송신하는 단계;
제 2 노드에서 상기 문자를 수신하는 단계;
수신된 데이터로부터 클록을 복구하고 문자의 샘플링 시간을 정렬하는 단계; 및
클록 주파수의 약수에서 샘플링된 데이터를 재-샘플링하고, 제 1 노드로부터 송신된 문자와 제 1 노드에 의해 송신된 동일한 레인 상의 문자 사이의 전체 시간 지연이 실질적으로 일정하도록 재-샘플링 클록의 위상 또는 시간 지연을 조절하는 단계를 포함하며,
서로 통신하는 복수의 노드를 포함하는 상호연결 시스템의 관리 방법.
Transmitting a character of data comprising a plurality of bits from a first node to a second node;
Receiving the text at a second node;
Recovering the clock from the received data and aligning the sampling time of the characters; And
Re-sample the sampled data at a divisor of the clock frequency, and phase of the re-sampling clock such that the total time delay between the character transmitted from the first node and the character on the same lane transmitted by the first node is substantially constant; Adjusting the time delay;
A method of managing an interconnect system comprising a plurality of nodes in communication with each other.
KR1020107009902A 2007-10-05 2008-10-03 Mesosynchronous data bus apparatus and method of data transmission KR101132321B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US99789907P 2007-10-05 2007-10-05
US60/997,899 2007-10-05
PCT/US2008/078752 WO2009046300A2 (en) 2007-10-05 2008-10-03 Mesosynchronous data bus apparatus and method of data transmission

Publications (2)

Publication Number Publication Date
KR20100098596A true KR20100098596A (en) 2010-09-08
KR101132321B1 KR101132321B1 (en) 2012-04-05

Family

ID=40526961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107009902A KR101132321B1 (en) 2007-10-05 2008-10-03 Mesosynchronous data bus apparatus and method of data transmission

Country Status (5)

Country Link
EP (1) EP2201463A4 (en)
JP (1) JP2011502293A (en)
KR (1) KR101132321B1 (en)
CN (1) CN101836193B (en)
WO (1) WO2009046300A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150111688A (en) 2014-03-26 2015-10-06 한국원자력의학원 Radiosensitizer containing podophyllotoxin acetate as the active ingredient
KR20190119830A (en) 2018-04-13 2019-10-23 한국원자력의학원 Anti-cancer drug and radiosensitizer containing β-Apopicropodophyllin as an active ingredient

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101990089B (en) * 2009-08-07 2013-01-02 宏碁股份有限公司 Streaming audiovisual data transmission control method and equipment thereof
CN103051441B (en) * 2013-01-23 2015-03-18 和记奥普泰通信技术有限公司 FPGA (field programmable gata array)-based clock data recovery processing method
CN106033231B (en) * 2015-03-16 2020-03-24 联想(北京)有限公司 Information processing method, clock frequency division device and information processing system
CN108259134B (en) * 2018-01-10 2021-04-13 上海灵动微电子股份有限公司 Data transmission method based on AFP protocol
WO2021031153A1 (en) * 2019-08-21 2021-02-25 华为技术有限公司 Data processing device and system
CN112463671A (en) * 2020-12-04 2021-03-09 上海君协光电科技发展有限公司 Data delay system, method and device, computer equipment and storage medium
CN113360130B (en) * 2021-08-11 2021-10-29 新华三技术有限公司 Data transmission method, device and system
CN114495998B (en) * 2021-12-15 2023-11-10 西安紫光国芯半导体有限公司 Data memory and electronic device
CN117574819A (en) * 2023-11-14 2024-02-20 上海奎芯集成电路设计有限公司 Received data deviation adjusting circuit and received data deviation adjusting method

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2269158B1 (en) * 1974-04-26 1976-10-15 Ibm France
EP0104294B1 (en) * 1982-09-28 1987-03-18 International Business Machines Corporation Data transmission system
JPS62266943A (en) * 1986-05-14 1987-11-19 Mitsubishi Electric Corp Data transfer control system
EP0245765B1 (en) * 1986-05-14 1993-09-22 Mitsubishi Denki Kabushiki Kaisha Data transfer control system
US5872959A (en) * 1996-09-10 1999-02-16 Lsi Logic Corporation Method and apparatus for parallel high speed data transfer
US6356610B1 (en) * 1998-06-23 2002-03-12 Vlsi Technology, Inc. System to avoid unstable data transfer between digital systems
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
US6889336B2 (en) * 2001-01-05 2005-05-03 Micron Technology, Inc. Apparatus for improving output skew for synchronous integrate circuits has delay circuit for generating unique clock signal by applying programmable delay to delayed clock signal
CN1161901C (en) * 2001-05-14 2004-08-11 华为技术有限公司 Up high-speed data synchronous receiving method and circuit in optical communication system
US7065101B2 (en) * 2001-11-15 2006-06-20 International Business Machines Corporation Modification of bus protocol packet for serial data synchronization
US7016213B2 (en) * 2003-05-13 2006-03-21 Advanced Micro Devices, Inc. Method for initializing a system including a host and plurality of memory modules connected via a serial memory interconnect
US7143207B2 (en) * 2003-11-14 2006-11-28 Intel Corporation Data accumulation between data path having redrive circuit and memory device
US20050259692A1 (en) * 2004-05-19 2005-11-24 Zerbe Jared L Crosstalk minimization in serial link systems
JP2006065697A (en) * 2004-08-27 2006-03-09 Hitachi Ltd Storage device control apparatus
JP2006072968A (en) * 2004-08-31 2006-03-16 Samsung Electronics Co Ltd Memory module, memory unit, and hub with non-periodic clock, and method using the same
US7400862B2 (en) * 2004-10-25 2008-07-15 Skyworks Solutions, Inc. Transmit-receive switch architecture providing pre-transmit isolation
US7434192B2 (en) * 2004-12-13 2008-10-07 Altera Corporation Techniques for optimizing design of a hard intellectual property block for data transmission
CN101872333A (en) * 2005-04-21 2010-10-27 提琴存储器公司 Interconnection system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150111688A (en) 2014-03-26 2015-10-06 한국원자력의학원 Radiosensitizer containing podophyllotoxin acetate as the active ingredient
KR20190119830A (en) 2018-04-13 2019-10-23 한국원자력의학원 Anti-cancer drug and radiosensitizer containing β-Apopicropodophyllin as an active ingredient

Also Published As

Publication number Publication date
CN101836193B (en) 2012-10-03
KR101132321B1 (en) 2012-04-05
EP2201463A2 (en) 2010-06-30
WO2009046300A3 (en) 2009-05-22
JP2011502293A (en) 2011-01-20
WO2009046300A2 (en) 2009-04-09
CN101836193A (en) 2010-09-15
EP2201463A4 (en) 2010-10-13

Similar Documents

Publication Publication Date Title
KR101132321B1 (en) Mesosynchronous data bus apparatus and method of data transmission
US20210027825A1 (en) Memory controller
US8391039B2 (en) Memory module with termination component
US8112655B2 (en) Mesosynchronous data bus apparatus and method of data transmission

Legal Events

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

Payment date: 20150227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee