KR20220051750A - 장치간 물리적 인터페이스의 트레이닝을 위한 장치 및 방법 - Google Patents
장치간 물리적 인터페이스의 트레이닝을 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR20220051750A KR20220051750A KR1020200135525A KR20200135525A KR20220051750A KR 20220051750 A KR20220051750 A KR 20220051750A KR 1020200135525 A KR1020200135525 A KR 1020200135525A KR 20200135525 A KR20200135525 A KR 20200135525A KR 20220051750 A KR20220051750 A KR 20220051750A
- Authority
- KR
- South Korea
- Prior art keywords
- training
- candidate group
- physical interface
- lanes
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17312—Routing techniques specific to parallel machines, e.g. wormhole, store and forward, shortest path problem congestion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Dc Digital Transmission (AREA)
Abstract
제1 장치 및 제2 장치 사이 물리적 인터페이스를 트레이닝하는 방법은, 복수의 레인들 중 제1 후보 그룹을 통해 제2 장치와 통신함으로써 물리적 인터페이스의 제1 트레이닝을 수행하는 단계, 복수의 레인들 중 제1 후보 그룹과 상이한 제2 후보 그룹을 통해 제2 장치와 통신함으로써 물리적 인터페이스의 제2 트레이닝을 수행하는 단계, 제1 트레이닝의 결과 및 제2 트레이닝의 결과에 기초하여 레인 그룹을 판정하는 단계, 및 레인 그룹이 물리적 인터페이스를 위하여 사용되도록 제2 장치를 설정하는 단계를 포함할 수 있다.
Description
본 개시의 기술적 사상은 장치간 물리적 인터페이스에 관한 것으로서, 자세하게는 장치간 물리적 인터페이스의 트레이닝을 위한 장치 및 방법에 관한 것이다.
장치들은 상호 공지된 물리적 인터페이스에 기초하여 상호 통신할 수 있다. 예를 들면, 장치들은 물리적 인터페이스에 기초하여, 도선들을 통해서 전기적 신호들을 송수신함으로써 상호 통신할 수도 있고, 도파관들을 통해서 광 신호들을 송수신함으로써 상호 통신할 수도 있다. 장치간 높은 전송량(throughput)이 요구됨에 따라, 높은 대역폭(bandwidth)을 위한 진보된 기능들이 물리적 인터페이스에 채용될 수 있고, 이에 따라 높은 대역폭을 제공하는 물리적 인터페이스에 기초한 장치간 통신은 다양한 인자들에 민감할 수 있다.
본 개시의 기술적 사상은, 최적의 장치간 통신을 제공하는 물리적 인터페이스의 트레이닝을 위한 장치 및 방법을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따라, 제1 장치 및 제2 장치 사이 물리적 인터페이스를 트레이닝하는 방법은, 복수의 레인들 중 제1 후보 그룹을 통해 제2 장치와 통신함으로써 물리적 인터페이스의 제1 트레이닝을 수행하는 단계, 복수의 레인들 중 제1 후보 그룹과 상이한 제2 후보 그룹을 통해 제2 장치와 통신함으로써 물리적 인터페이스의 제2 트레이닝을 수행하는 단계, 제1 트레이닝의 결과 및 제2 트레이닝의 결과에 기초하여 레인 그룹을 판정하는 단계, 및 레인 그룹이 물리적 인터페이스를 위하여 사용되도록 제2 장치를 설정하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따라, 물리적 인터페이스에 기초하여 제2 장치와 통신하는 제1 장치는, 물리적 인터페이스를 위하여, 복수의 핀들 중 적어도 일부를 통과하는 신호들의 경로들을 제어 신호에 기초하여 형성하는 라우팅 회로, 및 복수의 핀들 중 상이한 후보 그룹들 각각을 통해서 물리적 인터페이스를 트레이닝하도록 제어 신호를 생성하고, 트레이닝 결과들에 기초하여 물리적 인터페이스를 위하여 사용될 핀 그룹을 판정하는 컨트롤러를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 시스템은, 복수의 상호연결들(interconnections), 및 물리적 인터페이스에 기초하여 복수의 상호연결들 중 적어도 일부를 통해서 상호 통신하는 제1 장치 및 제2 장치를 포함할 수 있고, 제1 장치 및 제2 장치는, 복수의 상호연결들 중 상이한 후보 그룹들 각각을 통해서 물리적 인터페이스를 트레이닝할 수 있고, 제1 장치는, 트레이닝 결과들에 기초하여 물리적 인터페이스를 위하여 사용될 상호연결 그룹을 판정할 수 있다.
본 개시의 예시적 실시예에 따른 장치 및 방법에 의하면, 장치들 사이 복수의 레인들 중 최적의 마진을 제공하는 레인들이 검출될 수 있고, 이에 따라 장치간 통신의 신뢰도가 현저하게 향상될 수 있다.
또한, 본 개시의 예시적 실시예에 따른 장치 및 방법에 의하면, 장치들 사이 접속 상태에 대응하는 최적의 마진이 검출됨으로써 장치간 물리적 인터페이스에 기인하는 불량이 제거되거나 감소할 수 있고, 이에 따라 장치들을 포함하는 시스템의 수율(yield)이 향상될 수 있다.
본 개시의 예시적 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 예시적 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 예시적 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 예시적 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 시스템을 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다.
도 3a 및 도 3b는 본 개시의 예시적 실시예들에 따른 물리적 인터페이스의 트레이닝의 예시들을 나타내는 타이밍도들이다.
도 4a 및 도 4b는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 나타내는 블록도들이다.
도 5는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝 결과들을 나타내는 그래프이다.
도 6은 본 개시의 예시적 실시예에 따른 장치를 나타내는 블록도이다.
도 7은 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다.
도 8은 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다.
도 9a 및 도 9b는 본 개시의 예시적 실시예들에 따른 장치의 예시들을 나타내는 블록도들이다.
도 10은 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다.
도 11은 본 개시의 예시적 실시예에 따른 장치를 나타내는 블록도이다.
도 12는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다.
도 13은 본 개시의 예시적 실시예에 따른 시스템을 나타내는 도면이다.
도 14는 본 개시의 예시적 실시예에 따른 채널을 나타내는 블록도이다.
도 15는 본 개시의 예시적 실시예에 따른 시스템의 단면을 나타내는 도면이다.
도 2는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다.
도 3a 및 도 3b는 본 개시의 예시적 실시예들에 따른 물리적 인터페이스의 트레이닝의 예시들을 나타내는 타이밍도들이다.
도 4a 및 도 4b는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 나타내는 블록도들이다.
도 5는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝 결과들을 나타내는 그래프이다.
도 6은 본 개시의 예시적 실시예에 따른 장치를 나타내는 블록도이다.
도 7은 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다.
도 8은 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다.
도 9a 및 도 9b는 본 개시의 예시적 실시예들에 따른 장치의 예시들을 나타내는 블록도들이다.
도 10은 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다.
도 11은 본 개시의 예시적 실시예에 따른 장치를 나타내는 블록도이다.
도 12는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다.
도 13은 본 개시의 예시적 실시예에 따른 시스템을 나타내는 도면이다.
도 14는 본 개시의 예시적 실시예에 따른 채널을 나타내는 블록도이다.
도 15는 본 개시의 예시적 실시예에 따른 시스템의 단면을 나타내는 도면이다.
도 1은 본 개시의 예시적 실시예에 따른 시스템(10)을 나타내는 블록도이다. 도 1에 도시된 바와 같이, 시스템(10)은 복수의 상호연결들(13)을 통해서 상호 통신하는 제1 장치(11) 및 제2 장치(12)를 포함할 수 있다.
시스템(10)은 복수의 상호연결들(13)을 통해서 상호 통신하는 제1 장치(11) 및 제2 장치(12)를 포함하는 임의의 시스템을 지칭할 수 있다. 일부 실시예들에서, 제1 장치(11) 및 제2 장치(12)는 반도체 공정에 의해서 제조되는 집적 회로들일 수 있다. 예를 들면, 제1 장치(11) 및 제2 장치(12)는 동일한 다이(die)에 포함될 수 있고, 해당 다이에 형성된 복수의 상호연결들(13)을 통해서 상호 통신할 수 있다. 또한, 제1 장치(11) 및 제2 장치(12)는 상이한 다이들에 각각 포함될 수도 있고, 해당 다이들 외부에 형성된 복수의 상호연결들(13)을 통해서 상호 통신할 수도 있다. 일부 실시예들에서, 제1 장치(11) 및 제2 장치(12)는 상호 독립적으로 하우징될 수 있고, 하우징들 외부에 노출된 복수의 상호연결들(13)을 통해서 상호 통신할 수도 있다.
제1 장치(11) 및 제2 장치(12)는 상호 공지된 물리적 인터페이스에 기초하여 상호 통신할 수 있다. 물리적 인터페이스는 통신 계층들 중 물리 계층에 대응할 수 있고, 제1 장치(11) 및 제2 장치(12)는 물리적 인터페이스에 기초하여 복수의 상호연결들(13)을 통해서 신호를 송수신할 수 있다. 복수의 상호연결들(13)은 제1 장치(11) 및 제2 장치(12) 사이에 송수신되는 신호를 전달하는 임의의 매체를 지칭할 수 있다. 예를 들면, 복수의 상호연결들(13)은 전기적 신호를 전달하는 도선들(예컨대, 도 15의 TSV, MB 등)을 포함할 수도 있고, 광 신호를 전달하는 도파관들을 포함할 수도 있다. 도 1에 도시된 바와 같이, 복수의 상호연결들(13)은, 제1 장치(11)의 복수의 제1 핀들(P1) 및 제2 장치(12)의 복수의 제2 핀들(P2)에 각각 연결될 수 있다. 하나의 상호연결 및 이에 연결된 제1 핀 및 제2 핀은 신호가 이동하는 신호 경로에 포함될 수 있고, 본 명세서에서 하나의 신호 경로는 레인(lane)으로 지칭될 수 있다. 즉, 하나의 레인은 하나의 상호연결을 포함할 수 있고, 레인들의 수는 상호연결의 수와 일치할 수 있다.
제1 장치(11)는 제1 컨트롤러(11_1), 제1 라우팅 회로(11_2) 및 복수의 제1 핀들(P1)을 포함할 수 있고, 제2 장치(12)는 제2 컨트롤러(12_1), 제2 라우팅 회로(12_2) 및 복수의 제2 핀들(P2)을 포함할 수 있다. 도 1에 도시된 바와 같이, 제1 컨트롤러(11_1)는 제1 제어 신호(CTR1)를 제1 라우팅 회로(11_2)에 제공할 수 있고, 제1 라우팅 회로(11_2)는 제1 제어 신호(CTR1)에 기초하여 제1 신호(SIG1)가 통과하는 경로들을 형성할 수 있다. 유사하게, 제2 컨트롤러(12_1)는 제2 제어 신호(CTR2)를 제2 라우팅 회로(12_2)에 제공할 수 있고, 제2 라우팅 회로(12_2)는 제2 제어 신호(CTR2)에 기초하여 제2 신호(SIG2)가 통과하는 경로들을 형성할 수 있다. 제1 라우팅 회로(11_2) 및 제2 라우팅 회로(12_2)의 예시가 도 6을 참조하여 후술될 것이다.
일부 실시예들에서, 제1 장치(11) 및 제2 장치(12) 사이 형성된 레인들은, 물리적 인터페이스에 요구되는 신호 경로들의 수보다 많을 수 있고, 제1 장치(11) 및 제2 장치(12)는 복수의 레인들 중 일부를 통해서 상호 통신할 수 있다. 제1 장치(11) 및 제2 장치(12)가 상호 통신하는데 사용되는 레인들은, 제1 라우팅 회로(11_2) 및 제2 라우팅 회로(12_2)에 의해서 형성되는 경로들에 대응할 수 있고, 제1 제어 신호(CTR1) 및 제2 제어 신호(CTR2)에 의해서 판정될 수 있다. 즉, 제1 라우팅 회로(11_2)는 제1 제어 신호(CTR1)에 기초하여 복수의 제1 핀들(P1) 중 일부를 선택할 수 있고, 제2 라우팅 회로(12_2)는 제2 제어 신호(CTR2)에 기초하여 복수의 제2 핀들(P2) 중 일부를 선택할 수 있으며, 결과적으로 선택된 제1 핀들 및 제2 핀들에 대응하는 레인들이 선택될 수 있다. 하나의 레인은 하나의 상호연결 및 한 쌍의 핀들을 포함할 수 있고, 본 명세서에서 레인들의 선택 및 판정은 상호연결들 및/또는 핀들의 선택 및 판정과 동일한 의미를 가질 수 있다.
제1 컨트롤러(11_1) 및 제2 컨트롤러(12_1)는 제1 장치(11) 및 제2 장치(12) 사이 물리적 인터페이스의 트레이닝을 수행할 수 있다. 물리적 인터페이스의 트레이닝은, 송신측이 송신한 신호를 수신측이 용이하고 유효하게 식별할 수 있도록, 송신측이 송신하는 신호의 타이밍을 판정하기 위하여 송신측 및 수신측에 의해서 수행되는 동작을 지칭할 수 있다. 예를 들면, 제1 장치(11)가 복수의 상호연결들(13) 중 일부를 통해서 송신한 제1 신호(SIG1)에 포함된 정보가 제2 장치(12)에서 수신된 제2 신호(SIG2)로부터 식별된 정보와 일치하도록, 제1 라우팅 회로(11_2)에 제공되는 제1 신호(SIG1)의 타이밍이 판정될 수 있다. 또한, 제2 장치(12)가 제2 신호(SIG2)로부터 보다 용이하게 정보를 식별할 수 있도록, 제1 라우팅 회로(11_2)에 제공되는 제1 신호(SIG1)의 타이밍이 판정될 수 있다. 유사하게, 물리적 인터페이스의 트레이닝을 통해서 제2 장치(12)가 송신하는 제2 신호(SIG2)의 타이밍이 판정될 수 있다.
제1 컨트롤러(11_1) 및 제2 컨트롤러(12_1)는 복수의 레인들 중 상이한 후보 그룹들 각각을 통해서 물리적 인터페이스를 트레이닝을 수행할 수 있고, 트레이닝 결과들에 기초하여 물리적 인터페이스를 위하여 사용될 레인 그룹(또는 상호연결 그룹, 핀 그룹)을 판정할 수 있다. 이를 위하여, 제1 컨트롤러(11_1)는 복수의 레인들(또는 복수의 상호연결들(13), 복수의 제1 핀들(P1)) 중 후보 그룹을 선택할 수 있고, 선택된 후보 그룹에 기초하여 제1 제어 신호(CTR1)를 생성할 수 있다. 또한, 도 1에서 점선으로 도시된 바와 같이, 제1 컨트롤러(11_1) 및 제2 컨트롤러(12_1)는 상호 통신할 수 있고, 제1 컨트롤러(11_1)는 선택된 후보 그룹에 대한 정보를 제2 컨트롤러(12_1)에 제공할 수 있으며, 제2 컨트롤러(12_1)는 제1 컨트롤러(11_1)로부터 제공된 정보에 기초하여 제2 제어 신호(CTR2)를 생성할 수 있다. 일부 실시예들에서, 제1 컨트롤러(11_1) 및 제2 컨트롤러(12_1)는 복수의 상호연결들(13) 중 적어도 일부를 통해서 상호 통신할 수도 있고, 복수의 상호연결들(13)에 독립적인 채널(예컨대, 도 12의 WS1 내지 WSn)을 통해서 상호 통신할 수도 있다.
제1 컨트롤러(11_1)는 상이한 후보 그룹들에 각각 대응하는 트레이닝 결과들 중 가장 양호한 트레이닝 결과를 식별할 수 있고, 식별된 트레이닝 결과에 대응하는 후보 그룹을 물리적 인터페이스를 위한 레인들(또는 상호연결들, 핀들)로서 판정할 수 있다. 제1 컨트롤러(11_1)는 판정된 레인들에 기초하여 제1 제어 신호(CTR1)를 생성할 수 있고, 판정된 레인들에 대한 정보를 제2 컨트롤러(12_1)에 제공할 수 있으며, 제2 컨트롤러(12_1)는 제1 컨트롤러(11_1)로부터 제공된 정보에 기초하여 제2 제어 신호(CTR2)를 생성할 수 있다. 이에 따라, 복수의 상호연결들(13) 중 최적의 성능(예컨대 매진)을 제공하는 상호연결들이 검출될 수 있고, 결과적으로 제1 장치(11) 및 제2 장치(12) 사이 통신의 신뢰도가 현저하게 향상될 수 있다. 또한, 제1 장치(11) 및 제2 장치(12)의 접속 상태에 대응하는 최적의 마진이 검출됨으로써, 제1 장치(11) 및 제2 장치(12) 사이 물리적 인터페이스에 기인하는 불량이 제거되거나 감소할 수 있고, 이에 따라 제1 장치(11) 및 제2 장치(12)를 포함하는 시스템(10)의 수율(yield)이 향상될 수 있다. 제1 컨트롤러(11_1) 및/또는 제2 컨트롤러(12_1)는, 전술된 동작들을 수행하는 임의의 구조를 가질 수 있고, 예컨대 일련의 명령어들(instructions)을 실행하는 적어도 하나의 코어, 논리 합성(logic synthesis)을 통해서 설계된 논리 회로 및 이들의 조합 중 적어도 하나를 포함할 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다. 도 1을 참조하여 전술된 바와 같이, 도 2의 제1 장치(21) 및 제2 장치(22)는 복수의 상호연결들을 통해서 접속될 수 있고, 물리적 인터페이스의 트레이닝을 수행할 수 있다.
도 2를 참조하면, 단계 S10에서 제1 장치(21) 및 제2 장치(22)는 레인들을 검증할 수 있다. 도 1을 참조하여 전술된 바와 같이, 레인은 제1 장치(21) 및 제2 장치(22) 사이에 신호가 통과하는 하나의 신호 경로에 대응할 수 있고, 상호연결 및 이에 연결된 한 쌍의 핀들을 포함할 수 있다. 제1 장치(21)의 결함(defect), 제2 장치(22)의 결함, 제1 장치(21) 및 제2 장치(22) 사이 상호연결의 결함 등에 기인하여, 복수의 레인들 중 일부의 사용이 불가능할 수 있다. 이에 따라, 제1 장치(21) 및 제2 장치(22)는 레인들을 검증할 수 있고, 유효한(valid) 레인들을 검출할 수 있다. 무효한(invalid) 레인이 검출되는 경우, 제1 장치(21) 및 제2 장치(22)는 무효한 레인에 포함된 상호연결 및 한 쌍의 핀들을 사용하지 아니할 수 있고, 유효한 레인들에 포함된 상호연결들 및 핀들을 통해서 상호 통신할 수 있다. 이와 같이, 무효한 레인 검출하고, 무효한 레인을 유효한 레인으로 대체하는 동작은 레인 리페어(lane repair)로서 지칭될 수 있고, 레인 리페어를 위하여 제1 장치(21) 및 제2 장치(22)는 물리적 인터페이스에 요구되는 신호 경로들의 수보다 많은 수의 레인들을 통해서 상호 접속될 수 있다. 이에 따라, 레인들 중 일부의 사용이 불가능할지라도 제1 장치(21) 및 제2 장치(22)는 정상적으로 통신할 수 있다.
제1 장치(21) 및 제2 장치(22)는 임의의 방식에 기초하여 유효한(또는 무효한) 레인을 검출할 수 있다. 예를 들면, 제1 장치(21)는 미리 정의된 신호를 복수의 레인들을 통해서 제2 장치(22)에 송신할 수 있고, 제2 장치(22)는 복수의 레인들을 통해서 수신된 신호를 제1 장치(21)에 피드백할 수 있으며, 제1 장치(21)는 제2 장치(22)의 피드백에 기초하여 유효한 레인을 검출할 수 있다. 본 명세서에서, 레인의 검증은 레인에 포함된 상호연결 및/또는 한 쌍의 핀들의 검증으로 지칭될 수 있고, 검증에 성공한 레인, 상호연결 및 핀은 유효한(또는 검증된) 레인, 상호연결 및 핀으로 각각 지칭될 수 있고, 검증에 실패한 레인, 상호연결 및 핀은 무효한 레인, 상호연결 및 핀으로 각각 지칭될 수 있다.
단계 S20에서, 제1 장치(21)는 유효한 레인들 중 제1 후보 그룹을 선택할 수 있다. 제1 후보 그룹은 물리적 인터페이스에 기초하여 제2 장치(22)와 통신하는데 요구되는 수의 레인들을 포함할 수 있다. 일부 실시예들에서, 제1 장치(21) 및 제2 장치(22) 각각은, 물리적 인터페이스를 위하여 미리 할당된 핀들 및 레인 리페어를 위한 핀들(본 명세서에서 리던던시 핀들로서 지칭될 수 있다)을 포함할 수 있다. 제1 장치(21)는 최초 트레이닝, 즉 후술되는 제1 트레이닝에서 물리적 인터페이스를 위하여 미리 할당된 핀들이 사용되도록, 제1 후보 그룹을 선택할 수 있다.
단계 S30에서, 제1 장치(21) 및 제2 장치(22)는 물리적 인터페이스의 제1 트레이닝을 수행할 수 있다. 예를 들면, 제1 장치(21)(또는 라우팅 회로)는 단계 S20에서 선택된 제1 후보 그룹에 대응하는 핀들을 포함하는 내부의 경로들을 형성할 수 있고, 제1 후보 그룹에 대한 정보를 제2 장치(22)에 제공할 수 있으며, 제2 장치(22)는 제1 장치(21)로부터 제공된 정보에 기초하여 제1 후보 그룹에 대응하는 핀들을 포함하는 내부의 경로들을 형성할 수 있다. 제1 장치(21) 및 제2 장치(22)는 제1 후보 그룹을 통해서 제1 트레이닝을 수행할 수 있고, 이에 따라 제1 후보 그룹을 사용한 물리적 인터페이스에서 신호의 타이밍이 판정될 수 있다. 물리적 인터페이스의 트레이닝의 예시들이 도 3a 및 도 3b를 참조하여 후술될 것이다.
단계 S40에서, 제1 장치(21)는 유효한 레인들 중 제2 후보 그룹을 선택할 수 있다. 제2 후보 그룹은 물리적 인터페이스에 기초하여 제2 장치(22)와 통신하는데 요구되는 수의 레인들을 포함할 수 있고, 단계 S20의 제1 후보 그룹과 상이할 수 있다. 일부 실시예들에서, 제1 장치(21)는 단계 S30의 제1 트레이닝의 결과에 기초하여 제2 후보 그룹을 선택할 수 있고, 단계 S40의 예시는 도 7을 참조하여 후술될 것이다.
단계 S50에서, 제1 장치(21) 및 제2 장치(22)는 물리적 인터페이스의 제2 트레이닝을 수행할 수 있다. 예를 들면, 제1 장치(21)는 단계 S40에서 선택된 제2 후보 그룹에 대응하는 핀들을 포함하는 내부의 경로들을 형성할 수 있고, 제2 후보 그룹에 대한 정보를 제2 장치(22)에 제공할 수 있으며, 제2 장치(22)는 제1 장치(21)로부터 제공된 정보에 기초하여 제2 후보 그룹에 대응하는 핀들을 포함하는 내부의 경로들을 형성할 수 있다. 제1 장치(21) 및 제2 장치(22)는 제2 후보 그룹을 통해서 제2 트레이닝을 수행할 수 있고, 이에 따라 제2 후보 그룹을 사용한 물리적 인터페이스에서 신호의 타이밍이 판정될 수 있다.
단계 S70에서, 제1 장치(21)는 물리적 인터페이스에 사용될 레인들을 포함하는 레인 그룹을 판정할 수 있다. 예를 들면, 제1 장치(21)는 단계 S30에서 수행된 제1 트레이닝의 결과 및 단계 S50에서 수행된 제2 트레이닝의 결과에 기초하여, 레인 그룹을 판정할 수 있다. 일부 실시예들에서, 제1 장치(21) 및 제2 장치(22)는 단계 S70에 앞서 적어도 하나의 트레이닝을 추가적으로 수행할 수 있고, 제1 트레이닝 및 제2 트레이닝의 결과들뿐만 아니라 추가적으로 수행된 적어도 하나의 트레이닝의 결과에 더 기초하여 레인 그룹을 판정할 수 있다. 예를 들면, 제1 장치(21)는 단계 S50에 후속하여 유효한 레인들 중, 제1 후보 그룹 및 제2 후보 그룹과 상이한 제3 후보 그룹을 선택할 수 있고, 제1 장치(21) 및 제2 장치(22)는 제3 후보 그룹을 통해서 제3 트레이닝을 수행할 수 있다. 제1 장치(21)는 후보 그룹들 중 최적의 성능(또는 마진)을 제공하는 후보 그룹을 식별할 수 있고, 식별된 후보 그룹을 레인 그룹으로서 판정할 수 있다. 일부 실시예들에서, 제1 장치(21)는 트레이닝의 결과로서 유효 윈도우 마진(valid window margin)에 기초하여 레인 그룹을 판정할 수 있고, 단계 S70의 예시가 도 8을 참조하여 후술될 것이다.
단계 S80에서, 제1 장치(21) 및 제2 장치(22)는 레인 그룹을 형성할 수 있다. 예를 들면, 제1 장치(21)는 단계 S70에서 판정된 레인 그룹에 대응하는 핀들을 포함하는 내부의 경로들을 형성할 수 있고, 레인 그룹에 대한 정보를 제2 장치(22)에 제공할 수 있으며, 제2 장치(22)는 제1 장치(21)로부터 제공된 정보에 기초하여 레인 그룹에 대응하는 핀들을 포함하는 내부의 경로들을 형성할 수 있다. 본 명세서에서, 제1 장치(21)가 레인 그룹에 대한 정보를 제2 장치(22)에 제공하는 것은, 레인 그룹이 물리적 인터페이스를 위하여 사용되도록 제2 장치(22)를 설정하는 것으로 지칭될 수도 있다.
단계 S90에서, 제1 장치(21) 및 제2 장치(22)는 레인 그룹을 통해서 상호 통신할 수 있다. 최적의 마진을 제공하는 레인 그룹에 기인하여, 제1 장치(21) 및 제2 장치(22) 사이 통신은 다양한 인자들에 덜 민감할 수 있고, 물리적 인터페이스가 제공하는 높은 대역폭을 안정적으로 사용할 수 있다.
도 3a 및 도 3b는 본 개시의 예시적 실시예들에 따른 물리적 인터페이스의 트레이닝의 예시들을 나타내는 타이밍도들이다. 구체적으로, 도 3a 및 도 3b의 타이밍도들은 물리적 인터페이스의 예시로서 메모리 인터페이스에서 수행되는 트레이닝의 예시들을 나타낸다. 메모리 인터터페이스의 트레이닝은, 어드레스(또는 커맨드) 트레이닝 및 데이터 트레이닝을 포함할 수 있고, 도 3a의 타이밍도는 어드레스 트레이닝의 예시를 나타내고, 도 3b의 타이밍도는 데이터 트레이닝의 예시를 나타낸다. 이하 도 3a 및 도 3b에 대한 설명에서, 도 1의 제2 장치(12)는 메모리 장치이고, 제1 장치(11)는 메모리 장치 및 호스트 사이에서 메모리 장치 및 호스트와 통신하는 장치인 것으로 가정되고, 상호 중복되는 내용은 생략될 것이다. 메모리 장치는, SRAM(static random access memory), DRAM(dynamic random access memory) 등과 같은 휘발성(volatile) 메모리를 포함할 수도 있고, 플래시 메모리, RRAM(resistive random access memory) 등과 같은 비휘발성(non-volatile) 메모리를 포함할 수도 있다.
도 3a를 참조하면, 제1 장치(11)는 클락 신호(CK), 어드레스 신호(ADDR) 및 커맨드 신호(CMD)를 제2 장치(12)에 제공할 수 있다. 일부 실시예들에서, 어드레스 신호(ADDR) 및 커맨드 신호(CMD)는 제1 장치(11)로부터 동일한 레인들을 통해서 제2 장치(12)에 제공될 수 있다. 메모리 인터페이스는 어드레스 신호(ADDR) 및 커맨드 신호(CMD)가 클락 신호(CK)의 상승 에지(rising edge) 및 하강(falling) 에지 각각에서 래치되는 것을 정의할 수 있고, 이에 따라, 도 3a에 도시된 바와 같이, 어드레스 신호(ADDR) 및 커맨드 신호(CMD)는 클락 신호(CK)의 상승 에지 및 하강 에지의 전후에서 일정하게 유지되는 것이 요구될 수 있다. 도 3a에 도시된 바와 같이, 클락 신호(CK)의 에지의 전후에서 어드레스 신호(ADDR) 및 커맨드 신호(CMD)가 일정하게 유지되는 구간은 유효 윈도우 마진(VWM)으로서 지칭될 수 있고, 유효 윈도우 마진(VWM)은 클락 신호(CK)의 에지 이전의 제1 구간(VWML)(셋업 시간으로 지칭될 수도 있다) 및 클락 신호(CK)의 에지 이후의 제2 구간(VWMR)(홀드 시간으로 지칭될 수도 있다)을 포함할 수 있다. 어드레스 신호(ADDR) 및/또는 커맨드 신호(CMD)가 복수의 레인들을 통해서 멀티-비트 신호로서 병렬적으로 송신되는 경우, 어드레스 신호(ADDR) 및/또는 커맨드 신호(CMD)의 유효 윈도우 마진(VWM)은, 복수의 레인들에 대응하는 복수의 유효 윈도우 마진들 중 최소 유효 윈도우 마진(VWM)에 대응할 수 있다.
물리적 인터페이스는 문턱값 이상의 유효 윈도우 마진(VWM)(또는 최소 제1 구간(VWML) 및 최소 제2 구간(VWMR))을 요구할 수 있다. 일부 실시예들에서, 제1 장치(11) 및 제2 장치(12)는, 유효 윈도우 마진(VWM)의 중앙에 클락 신호(CK)의 에지가 위치하도록 어드레스 트레이닝을 수행할 수 있다. 유효 윈도우 마진(VWM)이 클수록, 제2 장치(12)는 보다 용이하게 어드레스 신호(ADDR) 및 커맨드 신호(CMD)를 래치할 수 있고, 어드레스 신호(ADDR) 및 커맨드 신호(CMD)의 수신시 발행할 수 있는 오류가 감소할 수 있다.
도 3b를 참조하면, 기입 동작시 제1 장치(11)는 데이터 스트로브 신호(DQS), 데이터 신호(DQ), 데이터 마스크 신호(DM) 및 데이터 버스 반전 신호(DBI)를 제2 장치(12)에 제공할 수 있다. 또한, 독출 동작시 제2 장치(12)는 데이터 스트로브 신호(DQS), 데이터 신호(DQ), 데이터 마스크 신호(DM) 및 데이터 버스 반전 신호(DBI)를 제1 장치(11)에 제공할 수 있다. 이에 따라, 데이터 트레이닝은 기입 경로를 위한 트레이닝 및 독출 경로를 위한 트레이닝을 포함할 수 있다. 일부 실시예들에서, 데이터 스트로브 신호(DQS), 데이터 신호(DQ), 데이터 마스크 신호(DM) 및 데이터 버스 반전 신호(DBI)가 통과하는 상호연결들에 연결된 제1 장치(11) 및 제2 장치(12)의 핀들은, 양방향(bidirectional) 핀들일 수 있다.
메모리 인터페이스는 데이터 신호(DQ), 데이터 마스크 신호(DM) 및 데이터 버스 반전 신호(DBI)가 데이터 스트로브 신호(DQS)의 상승 에지 및 하강 에지 각각에서 래치되는 것을 정의할 수 있다. 이에 따라, 도 3b에 도시된 바와 같이, 제1 구간(VWML) 및 제2 구간(VWMR)을 포함하는 유효 윈도우 마진(VWM) 동안 데이터 신호(DQ), 데이터 마스크 신호(DM) 및 데이터 버스 반전 신호(DBI)가 일정하게 유지되는 것이 요구될 수 있다. 물리적 인터페이스는 문턱값 이상의 유효 윈도우 마진(VWM)(또는 최소 제1 구간(VWML) 및 최소 제2 구간(VWMR))을 요구할 수 있다. 일부 실시예들에서, 제1 장치(11) 및 제2 장치(12)는, 유효 윈도우 마진(VWM)의 중앙에 데이터 스트로브 신호(DQS)의 에지가 위치하도록 데이터 트레이닝을 수행할 수 있다. 유효 윈도우 마진(VWM)이 클수록, 제1 장치(11) 및 제2 장치(12)는 보다 용이하게 데이터 신호(DQ), 데이터 마스크 신호(DM) 및 데이터 버스 반전 신호(DBI)를 래치할 수 있고, 데이터 신호(DQ), 데이터 마스크 신호(DM) 및 데이터 버스 반전 신호(DBI)의 수신시 발생할 수 있는 오류가 감소할 수 있다.
이하에서 도면들을 참조하여 후술되는 바와 같이, 물리적 인터페이스의 트레이닝을 통해서 가장 양호한 유효 윈도우 마진(VWM)을 제공하는 레인들이 판정될 수 있다. 이에 따라 높은 대역폭을 제공하면서도 다양한 인자들로부터 덜 민감한, 장치간 물리적 인터페이스가 달성될 수 있다.
도 4a 및 도 4b는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 나타내는 블록도들이다. 구체적으로, 도 4a 및 도 4b의 블록도들은 레인들의 상이한 후보 그룹들 수행되는 트레이닝들을 각각 나타낸다.
도 4a를 참조하면, 제1 장치(41a) 및 제2 장치(42a)는 제1 내지 제9 상호연결들(INT1 내지 INT9)을 통해서 접속될 수 있고, 이에 따라 제1 장치(41a) 및 제2 장치(42a) 사이에 9개의 레인들이 형성될 수 있다. 제1 장치(41a) 및 제2 장치(42a)는 8개의 레인들을 통해서 8-비트의 데이터 신호(DQ)를 상호 송수신할 수 있다. 제1 장치(41a)는 제1 라우팅 회로(41_2a) 및 9개의 제1 핀들(P11 내지 P19)을 포함할 수 있고, 제2 장치(42a)는 제2 라우팅 회로(42_2a) 및 9개의 제2 핀들(P21 내지 P29)을 포함할 수 있다. 9개의 제1 핀들(P11 내지 P19)은 제1 내지 제9 상호연결들(INT1 내지 INT9)에 각각 연결될 수 있고, 9개의 제2 핀들(P21 내지 P29)은 제1 내지 제9 상호연결들(INT1 내지 INT9)에 각각 연결될 수 있다.
9개의 레인들 중 제1 내지 제8 상호연결들(INT1 내지 INT8)에 대응하는 8개의 레인들이 후보 그룹(예컨대, 제1 후보 그룹)으로 선택될 수 있다. 이를 위하여, 제1 라우팅 회로(41_2a)는 데이터 신호(DQ)가 제1 내지 제8 상호연결들(INT1 내지 INT8)에 각각 연결된 8개의 제1 핀들(P11 내지 P18)을 통해서 송신되거나 수신되도록 내부의 경로들을 형성할 수 있다. 또한, 제2 라우팅 회로(42_2a)는 데이터 신호(DQ)가 제1 내지 제8 상호연결들(INT1 내지 INT8)에 각각 연결된 8개의 제2 핀들(P21 내지 P28)을 통해서 송신되거나 수신되도록 내부의 경로들을 형성할 수 있다.
도 4a에 도시된 바와 같이, 제1 라우팅 회로(41_2a)는 데이터 신호(DQ)의 8-비트들(DQ1 내지 DQ8)에 각각 대응하는 8개의 제1 단위 회로들(U11 내지 U18)을 포함할 수 있다. 도 4a에서 실선들로 도시된 바와 같이, 8개의 제1 단위 회로들(U11 내지 U18)은, 데이터 신호(DQ)를 8개의 제1 핀들(P11 내지 P18)에 출력하거나, 8개의 제1 핀들(P11 내지 P18)로부터 데이터 신호(DQ)를 수신할 수 있다. 유사하게, 제2 라우팅 회로(42_2a)는 데이터 신호(DQ)의 8-비트들(DQ1 내지 DQ8)에 각각 대응하는 8개의 제2 단위 회로들(U21 내지 U28)을 포함할 수 있고, 8개의 제2 단위 회로들(U21 내지 U28)은, 데이터 신호(DQ)를 8개의 제2 핀들(P21 내지 P28)에 출력하거나, 8개의 제2 핀들(P21 내지 P28)로부터 데이터 신호(DQ)를 수신할 수 있다. 이에 따라, 제9 상호연결(INT9) 및 제9 상호연결(INT9)에 연결된 제1 핀(P19)과 제2 핀(P29)은 사용되지 아니할 수 있다.
도 4b를 참조하면, 제1 장치(41b) 및 제2 장치(42b)는 제1 내지 제9 상호연결(INT1 내지 INT9)을 통해서 접속될 수 있고, 이에 따라 제1 장치(41b) 및 제2 장치(42b) 사이에 9개의 레인들이 형성될 수 있다. 제1 장치(41b) 및 제2 장치(42b)는 8개의 레인들을 통해서 8-비트의 데이터 신호(DQ)를 상호 송수신할 수 있다. 제1 장치(41b)는 제1 라우팅 회로(41_2b) 및 9개의 제1 핀들(P11 내지 P19)을 포함할 수 있고, 제2 장치(42b)는 제2 라우팅 회로(42_2b) 및 9개의 제2 핀들(P21 내지 P29)을 포함할 수 있다. 9개의 제1 핀들(P11 내지 P19)은 제1 내지 제9 상호연결들(INT1 내지 INT9)에 각각 연결될 수 있고, 9개의 제2 핀들(P21 내지 P29)은 제1 내지 제9 상호연결들(INT1 내지 INT9)에 각각 연결될 수 있다.
9개의 레인들 중 제1 내지 제4 상호연결들(INT1 내지 INT4) 및 제6 내지 제9 상호연결들(INT1 내지 INT9)에 대응하는 8개의 레인들이 후보 그룹(예컨대, 제2 후보 그룹)으로 선택될 수 있다. 이를 위하여, 제1 라우팅 회로(41_2b)는 데이터 신호(DQ)가 제1 내지 제4 상호연결들(INT1 내지 INT4) 및 제6 내지 제9 상호연결들(INT1 내지 INT9)에 각각 연결된 8개의 제1 핀들(P11 내지 P14, P16 내지 P19)을 통해서 송신되거나 수신되도록 경로들을 형성할 수 있다. 또한, 제2 라우팅 회로(42_2b)는 데이터 신호(DQ)가 제1 내지 제4 상호연결들(INT1 내지 INT4) 및 제6 내지 제9 상호연결들(INT1 내지 INT9)에 각각 연결된 8개의 제2 핀들(P21 내지 P24, P26 내지 P29)을 통해서 송신되거나 수신되도록 경로들을 형성할 수 있다.
도 4b에 도시된 바와 같이, 제1 라우팅 회로(41_2b)는 데이터 신호(DQ)의 8-비트들(DQ1 내지 DQ8)에 각각 대응하는 8개의 제1 단위 회로들(U11 내지 U18)을 포함할 수 있다. 도 4b에서 실선들로 도시된 바와 같이, 8개의 제1 단위 회로들(U11 내지 U18)은, 데이터 신호(DQ)를 8개의 제1 핀들(P11 내지 P14, P16 내지 P19)에 출력하거나, 8개의 제1 핀들(P11 내지 P14, P16 내지 P19)로부터 데이터 신호(DQ)를 수신할 수 있다. 유사하게, 제2 라우팅 회로(42_2b)는 데이터 신호(DQ)의 8-비트들(DQ1 내지 DQ8)에 각각 대응하는 8개의 제2 단위 회로들(U21 내지 U28)을 포함할 수 있고, 8개의 제2 단위 회로들(U21 내지 U28)은, 데이터 신호(DQ)를 8개의 제2 핀들(P21 내지 P24, P26 내지 P29)에 출력하거나, 8개의 제2 핀들(P21 내지 P24, P26 내지 P29)로부터 데이터 신호(DQ1 내지 DQ8)를 수신할 수 있다. 이에 따라, 제5 상호연결(INT5) 및 제5 상호연결(INT5)에 연결된 제1 핀(P15)과 제2 핀(P25)은 사용되지 아니할 수 있다.
도 5는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝 결과들을 나타내는 그래프이다. 구체적으로, 도 5의 그래프에서 점선은 도 4a의 트레이닝의 결과를 나타내고, 실선은 도 4b의 트레이닝의 결과를 나타낸다. 이하에서, 도 5는 도 4a 및 도 4b를 참조하여 설명될 것이다.
도 4a를 참조하여 전술된 바와 같이, 제1 내지 제8 상호연결들(INT1 내지 INT8)을 사용하여 트레이닝이 수행될 수 있고, 이에 따라 도 5에서 점선으로 도시된 바와 같이, 데이터 신호(DQ)의 8-비트들(DQ1 내지 DQ8)에 각각 대응하는 8개의 유효 윈도우 마진들이 획득될 수 있다. 도 5에 도시된 바와 같이, 8개의 유효 윈도우 마진들 중 제5 데이터 신호(DQ5)의 제1 유효 윈도우 마진(VWM1)이 최소 유효 윈도우 마진으로 식별될 수 있고, 제1 유효 윈도우 마진(VWM1)이 상호연결들의 제1 후보 그룹, 즉 제1 내지 제8 상호연결들(INT1 내지 INT8)을 사용한 물리적 인터페이스의 유효 윈도우 마진으로 판정될 수 있다.
일부 실시예들에서, 후속하는 트레이닝을 위하여, 최소 유효 윈도우 마진에 대응하는 상호연결을 제외한 상호연결들 중 후보 그룹이 선택될 수 있다. 예를 들면, 도 5에서 점선과 같은 트레이닝 결과가 발생한 경우, 제5 데이터 신호(DQ5)에 대응하는 상호연결, 즉 제5 상호연결(INT5)을 제외한 제1 내지 제4 상호연결들(INT1 내지 INT4) 및 제6 내지 제9 상호연결들(INT6 내지 INT9)이 제2 후보 그룹으로서 선택될 수 있다. 이에 따라, 도 4b를 참조하여 전술된 바와 같이, 제1 내지 제4 상호연결들(INT1 내지 INT4) 및 제6 내지 제9 상호연결들(INT6 내지 INT9)을 사용하여 트레이닝이 수행될 수 있고, 도 5에서 실선으로 도시된 바와 같이, 데이터 신호(DQ)의 8-비트들(DQ1 내지 DQ8)에 각각 대응하는 8개의 유효 윈도우 마진들이 획득될 수 있다. 도 5에서 화살표로 도시된 바와 같이, 제5 내지 제7 데이터 신호(DQ5 내지 DQ7)에 대응하는 유효 윈도우 마진들은, 이전 트레이닝에서 제5 내지 제8 데이터 신호(DQ6 내지 DQ8)에 대응하는 유효 윈도우 마진들에 대응할 수 있다. 도 5에 도시된 바와 같이, 8개의 유효 윈도우 마진들 중 제6 데이터 신호(DQ6)의 제2 유효 윈도우 마진(VWM2)이 최소 유효 윈도우 마진으로 식별될 수 있고, 제2 유효 윈도우 마진(VWM2)이 상호연결들의 제2 후보 그룹, 즉 제1 내지 제4 상호연결들(INT1 내지 INT4) 및 제6 내지 제9 상호연결들(INT6 내지 INT9)을 사용한 물리적 인터페이스의 유효 윈도우 마진으로 판정될 수 있다.
도 5에 도시된 바와 같이, 제2 유효 윈도우 마진(VWM2)이 제1 유효 윈도우 마진(VWM1)보다 클 수 있고, 이에 따라 제1 내지 제4 상호연결들(INT1 내지 INT4) 및 제6 내지 제9 상호연결들(INT6 내지 INT9)을 포함하는 제2 후보 그룹이 물리적 인터페이스를 위한 상호연결 그룹으로서 판정될 수 있다.
도 6은 본 개시의 예시적 실시예에 따른 장치(60)를 나타내는 블록도이다. 구체적으로, 도 6의 블록도는 장치(60)에서 제3 데이터 신호(DQ3)의 송수신을 위한 경로를 조절하기 위한 부분을 나타낸다. 도 1을 참조하여 전술된 바와 같이, 라우팅 회로(62)는 제어 신호(CTR)를 수신할 수 있고, 제어 신호(CTR)에 따라 제3 데이터 신호(DQ3)의 송수신을 위한 경로를 형성할 수 있다. 도 6에 도시된 바와 같이, 장치(60)는 라우팅 회로(62), 입출력(I/O) 버퍼들(63) 및 제3 핀(P3) 및 제4 핀(P4)을 포함할 수 있고, 제3 데이터 신호(DQ3)는 제3 데이터 출력 신호(DQ3_OUT) 및 제3 데이터 입력 신호(DQ3_IN)를 포함할 수 있다.
라우팅 회로(62)는 디코더(62_4) 및 복수의 멀티플렉서들을 포함할 수 있다. 디코더(62_4)는 제어 신호(CTR)를 수신할 수 있고, 제어 신호(CTR)를 디코딩함으로써 복수의 멀티플렉서들을 제어하기 위한 복수의 선택 신호들을 생성할 수 있다. 예를 들면, 도 6에 도시된 바와 같이, 라우팅 회로(62)는 제3 데이터 출력 신호(DQ3_OUT)를 수신하는 제1 멀티플렉서(62_1) 및 제3 멀티플렉서(62_3)를 포함할 수 있고, 제3 데이터 입력 신호(DQ3_IN)를 출력하는 제2 멀티플렉서(62_2)를 포함할 수 있다. 제1 멀티플렉서(62_1)는 디코더(62_4)로부터 제공되는 제3 선택 신호(C3)에 기초하여, 제2 데이터 출력 신호(DQ2_OUT) 및 제3 데이터 출력 신호(DQ3_OUT) 중 하나를 제1 출력 버퍼(63_1)에 제공할 수 있다. 제2 멀티플렉서(62_2)는 디코더(62_4)로부터 제3 선택 신호(C3)에 기초하여, 제1 입력 버퍼(63_2) 및 제2 입력 버퍼(63_4) 중 하나로부터 출력되는 신호를 제3 데이터 입력 신호(DQ3_IN)로서 출력할 수 있다. 이에 따라, 제3 선택 신호(C3)가 비활성화된 경우(예컨대, 로우 레벨을 가지는 경우), 제3 데이터 출력 신호(DQ3_OUT)는 제1 멀티플렉서(62_1), 제1 출력 버퍼(63_1) 및 제3 핀(P3)을 순차적으로 통과하여 출력될 수 있고, 제3 핀(P3)을 통해서 입력되는 신호가 제1 입력 버퍼(63_2) 및 제2 멀티플렉서(62_2)를 통해서 제3 데이터 입력 신호(DQ3_IN)로서 수신될 수 있다. 다른 한편으로, 제3 선택 신호(C3)가 활성화된 경우(예컨대, 하이 레벨을 가지는 경우), 제3 데이터 출력 신호(DQ3_OUT)는 제1 멀티플렉서(62_1), 제2 출력 버퍼(63_3) 및 제4 핀(P4)을 순차적으로 통과하여 출력될 수 있고, 제4 핀(P4)을 통해서 입력되는 신호가 제2 입력 버퍼(63_4) 및 제2 멀티플렉서(62_2)를 통해서 제3 데이터 입력 신호(DQ3_IN)로서 수신될 수 있다. 또한, 제3 멀티플렉서(62_3)는 디코더(62_4)로부터 제공되는 제4 선택 신호(C4)에 기초하여, 제3 데이터 출력 신호(DQ3_OUT) 및 제4 데이터 출력 신호(DQ4_OUT) 중 하나를 제2 출력 버퍼(63_3)에 제공할 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 7의 순서도는 도 2의 단계 S30 및 단계 S40의 예시들을 나타낸다. 도 2를 참조하여 전술된 바와 같이, 도 7의 단계 S30'에서 물리적 인터페이스의 제1 트레이닝이 수행될 수 있고, 도 7의 단계 S40'에서 유효한 레인들 중 제2 후보 그룹이 선택될 수 있다. 도 7에 도시된 바와 같이, 단계 S30'은 단계 S35를 포함할 수 있고, 단계 S40'은 단계 S41 및 단계 S42를 포함할 수 있다. 이하에서, 도 7은 도 2를 참조하여 설명될 것이다.
도 7을 참조하면, 단계 S35에서 복수의 제1 유효 윈도우 마진들이 검출될 수 있다. 예를 들면, 제1 장치(21)는 제1 트레이닝의 결과로서 제1 후보 그룹에 포함된 복수의 레인들에 각각 대응하는 복수의 제1 유효 윈도우 마진들을 검출할 수 있다. 도 5를 참조하여 전술된 바와 같이, 복수의 제1 유효 윈도우 마진들 중 최소 제1 유효 윈도우 마진이 제1 후보 그룹을 사용하는 물리적 인터페이스의 유효 윈도우 마진으로 판정될 수 있다.
단계 S41에서, 최소 제1 유효 윈도우 마진에 대응하는 레인이 식별될 수 있다. 예를 들면, 제1 장치(21)는 단계 S35에서 검출된 복수의 제1 유효 윈도우 마진들 중 최소 제1 유효 윈도우 마진을 식별할 수 있고, 최소 제1 유효 윈도우 마진에 대응하는 레인을 식별할 수 있다. 이에 따라, 도 4a 및 도 5를 참조하여 전술된 바와 같이, 제5 상호연결(INT5)을 포함하는 레인이 식별될 수 있다.
단계 S42에서, 식별된 레인을 제외한 레인들에서 제2 후보 그룹이 선택될 수 있다. 예를 들면, 제1 장치(21)는, 유효한 레인들 중 단계 S41에서 식별된 레인을 제외한 레인들에서 제2 후보 그룹을 선택할 수 있다. 이에 따라, 도 4b 및 도 5를 참조하여 전술된 바와 같이, 제5 상호연결(INT5)을 포함하는 레인이 제외될 수 있고, 제1 내지 제4 상호연결(INT1 내지 INT4) 및 제6 내지 제9 상호연결(INT6 내지 INT9)을 각각 포함하는 레인들을 포함하는 제2 후보 그룹이 선택될 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 8의 순서도는 도 2의 단계 S50 및 단계 S70의 예시를 나타낸다. 도 2를 참조하여 전술된 바와 같이, 도 8의 단계 S50'에서 물리적 인터페이스의 제2 트레이닝이 수행될 수 있고, 도 8의 단계 S70'에서 물리적 인터페이스에 사용될 레인들을 포함하는 레인 그룹이 판정될 수 있다. 도 8에 도시된 바와 같이, 단계 S50'은 단계 S55를 포함할 수 있고, 단계 S70'은 복수의 단계들(S71 내지 S74)을 포함할 수 있다.
단계 S55에서, 복수의 제1 유효 윈도우 마진들이 검출될 수 있다. 예를 들면, 제1 장치(21)는 제2 트레이닝의 결과로서 제2 후보 그룹에 포함된 복수의 레인들에 각각 대응하는 복수의 제2 유효 윈도우 마진들을 검출할 수 있다. 도 5를 참조하여 전술된 바와 같이, 복수의 제2 유효 윈도우 마진들 중 최소 제2 유효 윈도우 마진이 제2 후보 그룹을 사용하는 물리적 인터페이스의 유효 윈도우 마진으로 판정될 수 있다.
단계 S71에서, 최소 제2 유효 윈도우 마진에 대응하는 레인이 식별될 수 있다. 예를 들면, 제1 장치(21)는 단계 S55에서 검출된 복수의 제2 유효 윈도우 마진들 중 최소 제2 유효 윈도우 마진을 식별할 수 있고, 최소 제2 유효 윈도우 마진에 대응하는 레인을 식별할 수 있다. 이에 따라, 도 4b 및 도 5를 참조하여 전술된 바와 같이, 제6 상호연결(INT6)을 포함하는 레인이 식별될 수 있다.
단계 S72에서, 최소 제1 유효 윈도우 마진 및 최소 제2 유효 윈도우 마진이 비교될 수 있다. 도 8에 도시된 바와 같이, 최소 제1 유효 윈도우 마진이 최소 제2 유효 윈도우 마진보다 큰 경우, 단계 S73에서 제1 후보 그룹이 레인 그룹으로 판정될 수 있다. 다른 한편으로, 최소 제1 유효 윈도우 마진이 최소 제2 유효 윈도우 마진보다 크지 아니한 경우, 단계 S74에서 제2 후보 그룹이 레인 그룹으로 판정될 수 있다. 결과적으로, 단계 S70'에서 제1 장치(21)는 최소 제1 유효 윈도우 마진 및 최소 제2 유효 윈도우 마진 중 높은 유효 윈도우 마진을 식별할 수 있고, 제1 후보 그룹 및 제2 후보 그룹 중 식별된 유효 윈도우 마진에 대응하는 후보 그룹을 레인 그룹으로서 판정할 수 있다.
도 9a 및 도 9b는 본 개시의 예시적 실시예에 따른 장치의 예시들을 나타내는 블록도들이다. 도 4a 및 도 4b의 장치들과 비교할 때, 도 9a 및 도 9b의 장치들(90a, 90b)은 데이터 신호(DQ)뿐만 아니라 추가적인 신호들을 송수신할 수 있다. 일부 실시예들에서, 데이터 신호(DQ) 및 기타 신호들이 도 9a 및 도 9b에 도시된 바와 상이하게 복수의 핀들에 맵핑될 수도 있다. 도 9a 및 도 9b에서 데이터 신호(DQ)와 함께 도시된 신호들은 단지 예시들이며, 도 9a 및 도 9b에 도시된 신호들과 상이한 신호들에 대응하는 미사용 핀들이 보다 양호한 유효 윈도우 마진을 위하여 사용될 수 있다. 이하에서, 도 9a 및 도 9b에 대한 설명 중 상호 중복되는 내용은 생략될 것이다.
도 9a를 참조하면, 장치(90a)는 라우팅 회로(92a) 및 복수의 핀들(P00 내지 P10)을 포함할 수 있다. 장치(90a)는 데이터 신호(DQ)뿐만 아니라 데이터 마스크 신호(DM) 및 데이터 버스 반전 신호(DBI)를 송수신할 수 있다. 데이터 마스크 신호(DM)는 데이터 신호(DQ)의 적어도 일부에 대한 마스킹 여부를 나타낼 수 있다. 예를 들면, 활성화된 데이터 마스크 신호(DM)가 데이터 신호(DQ)와 함께 수신되는 경우, 장치(90a)는 데이터 신호(DQ)의 8-비트들(DQ1 내지 DQ8) 중 하위 4-비트들(DQ1 내지 DQ4)을 무시할 수 있다. 이와 같이, 데이터 마스크 신호(DM)를 사용하여 데이터 신호(DQ)의 적어도 일부를 마스킹하는 것은 데이터 마스킹 기능으로서 지칭될 수 있고, 물리적 인터페이스는 데이터 마스킹 기능을 지원할 수 있다.
데이터 버스 반전 신호(DBI)는 데이터 신호(DQ)의 반전 여부를 나타낼 수 있다. 예를 들면, 활성화된 데이터 버스 반전 신호(DBI)가 데이터 신호(DQ)와 함께 수신되는 경우, 장치(90a)는 데이터 신호(DQ)를 반전시킬 수 있고, 반전된 데이터 신호(DQ)로부터 정보를 추출할 수 있다. 데이터 반전 신호(DBI)에 기인하여, 상호연결들에서 신호의 천이들이 감소하거나 하이 레벨의 신호들의 수가 감소할 수 있고, 이에 따라 통신에 소비되는 전력이 감소할 수 있다. 이와 같이, 데이터 버스 반전 신호(DBI)를 사용하여 데이터 신호(DQ)를 선택적으로 반전시키는 것은 데이터 버스 반전 기능으로서 지칭될 수 있고, 물리적 인터페이스는 데이터 버스 반전 기능을 지원할 수 있다.
장치(90a)에서 데이터 마스킹 기능 및/또는 데이터 버스 반전 기능은 비활성화될 수 있다. 일부 실시예들에서, 장치(90a) 및 장치(90a)와 통신하는 다른 장치는 데이터 마스킹 기능 및/또는 데이터 버스 반전 기능을 사용하지 아니하도록 미리 설정될 수 있다. 이에 따라, 데이터 마스킹 기능 및/또는 데이터 버스 반전 기능이 사용되지 아니하는 경우, 데이터 마스크 신호(DM) 및/또는 데이터 버스 반전 신호(DBI) 역시 사용되지 아니할 수 있고, 데이터 신호(DQ)의 송수신을 위한 가용(available) 레인들의 수가 증가할 수 있다.
도 9a에 도시된 바와 같이, 라우팅 회로(92a)는, 데이터 마스크 신호(DM), 8-비트의 데이터 신호(DQ) 및 데이터 버스 반전 신호(DBI)에 각각 대응하는 10개의 단위 회로들(U01 내지 U10)을 포함할 수 있고, 11개의 핀들(P00 내지 P10)을 포함할 수 있다. 일부 실시예들에서, 데이터 마스킹 기능이 비활성화되는 경우, 11개의 핀들(P00 내지 P10) 중 10개의 팬들(P01 내지 P10)이 8-비트의 데이터 신호(DQ) 및 데이터 버스 반전 신호(DBI)를 위하여 사용될 수 있고, 이에 따라 10개의 상이한 후보 그룹들이 선택될 수 있으며, 10개의 후보 그룹들에 각각 대응하는 10회의 트레이닝들이 수행될 수 있다. 유사하게, 일부 실시예들에서, 데이터 버스 반전 기능이 비활성화되는 경우, 11개의 핀들(P00 내지 P10) 중 10개 핀들(P00 내지 P09)이 8-비트의 데이터 신호(DQ) 및 데이터 마스크 신호(DM)를 위하여 사용될 수 있고, 이에 따라 10개의 상이한 후보 그룹들이 선택될 수 있으며, 10개의 후보 그룹들에 각각 대응하는 10회의 트레이닝들이 수행될 수 있다. 또한, 일부 실시예들에서, 데이터 마스킹 기능 및 데이터 버스 반전 기능이 모두 비활성화되는 경우, 11개의 핀들(P00 내지 P11) 중 9개의 핀들(P01 내지 P09)이 8-비트 데이터 신호(DQ)를 위하여 사용될 수 있고, 이에 따라 9개의 상이한 후보 그룹들이 선택될 수 있으며, 9개의 후보 그룹들에 각각 대응하는 9회의 트레이닝들이 수행될 수 있다. 이와 같이, 비활성화된 기능에 기인하여 미사용되는 핀을 포함하는 후보 그룹이 선택될 수 있다.
도 9b를 참조하면, 장치(90b)는 라우팅 회로(92b) 및 복수의 핀들(P00 내지 P11)을 포함할 수 있다. 장치(90b)는 데이터 신호(DQ)뿐만 아니라 데이터 버스 반전 신호(DBI), SEV(severity) 신호(SEV) 및 오류 정정 코드(error correction code) 신호(ECC)를 송신하거나 수신할 수 있다. 일부 실시예들에서, 도 9b에 도시된 바와 상이하게, SEV 신호(SEV) 및 오류 정정 코드 신호(ECC)는 16-비트의 데이터 신호마다 배치될 수도 있다.
SEV 신호(SEV) 및 ECC 신호(ECC)는 데이터 신호(DQ)를 통해서 송수신되는 데이터의 오류 정정 코드(또는 on-die ECC)를 위하여 사용될 수 있다. 장치(90b)에서 데이터 버스 반전 기능뿐만 아니라 오류 정정 기능이 적어도 부분적으로 비활성화될 수 있다. 일부 실시예들에서, 장치(90b) 및 장치(90b)와 통신하는 다른 장치는 오류 정정 기능 중 적어도 일부를 사용하지 아니하도록 미리 설정될 수 있다. 이에 따라, 오류 정정 기능의 적어도 일부가 사용되지 아니하는 경우, SEV 신호(SEV) 및/또는 오류 정정 코드 신호(ECC) 역시 사용되지 아니할 수 있고, 데이터 신호(DQ)의 송수신을 위한 가용(available) 레인들의 수가 증가할 수 있다.
도 9b에 도시된 바와 같이, 라우팅 회로(90b)는, SEV 신호(SEV), 오류 정정 코드 신호(ECC), 8-비트의 데이터 신호(DQ) 및 데이터 버스 반전 신호(DBI)에 각각 대응하는 11개의 단위 회로들(U01 내지 U11)을 포함할 수 있고, 12개의 핀들(P00 내지 P11)을 포함할 수 있다. 데이터 버스 반전 신호(DBI), SEV 신호(SEV) 및/또는 오류 정정 코드 신호(ECC)에 각각 대응하는 기능들 중 적어도 하나가 비활성화되는 경우, 12개의 핀들(P00 내지 P11) 중 일부만이 요구될 수 있고, 이에 따라 상이한 후보 그룹들이 선택될 수 있고, 해당 후보 그룹들에 대응하는 트레이닝들이 수행될 수 있다. 도 9a를 참조하여 전술된 바와 같이, 비활성화된 기능에 기인하여 미사용되는 핀을 포함하는 후보 그룹이 선택될 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 10의 순서도는 도 7의 단계 S42의 예시를 나타낸다. 도 7을 참조하여 전술된 바와 같이, 제1 트레이닝이 종료된 후, 도 10의 단계 S42'에서 제2 후보 그룹이 선택될 수 있다. 도 10에 도시된 바와 같이, 단계 S42'는 단계 S42_1 및 단계 S42_2를 포함할 수 있고, 이하에서 도 10은 도 7 및 도 9a를 참조하여 설명될 것이다.
도 10을 참조하면 단계 S42_1에서, 적어도 하나의 기능의 비활성화 여부가 판정될 수 있다. 예를 들면, 도 1의 제1 장치(11) 및 제2 장치(12) 각각은 물리적 인터페이스가 지원하는 기능들의 활성화 여부를 저장하는 모드 레지스터를 포함할 수 있다. 제1 컨트롤러(11_1)는 모드 레지스터에 액세스할 수 있고, 모드 레지스터에 저장된 값에 기초하여 적어도 하나의 기능의 비활성화 여부를 판정할 수 있다. 도 10에 도시된 바와 같이, 적어도 하나의 기능이 비활성화된 경우, 단계 S42_2가 후속하여 수행될 수 있다.
단계 S42_2에서, 미사용되는 핀을 포함하는 제2 후보 그룹이 선택될 수 있다. 예를 들면, 도 1의 제1 컨트롤러(11_1)는 비활성화된 적어도 하나의 기능을 식별할 수 있고, 식별된 적어도 하나의 기능에 대응하는 적어도 하나의 핀, 즉 미사용되는 적어도 하나의 핀을 식별할 수 있다. 제1 컨트롤러(11_1)는 이전 트레이닝(즉, 제1 트레이닝)에서 사용된 후보 그룹, 즉 제1 후보 그룹에 포함된 적어도 하나의 핀 대신 미사용되는 적어도 하나의 핀을 포함하는 제2 후보 그룹을 선택할 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 장치(110)를 나타내는 블록도이다. 구체적으로, 도 11의 블록도는 레인들의 후보 그룹을 선택하고, 레인 그룹을 최종적으로 판정하는 장치(예컨대, 도 1 11)와 통신하는 장치(예컨대, 도 1의 12)의 예시를 나타낸다. 도 11에 도시된 바와 같이, 장치(110)는 컨트롤러(111), 라우팅 회로(112), 제1 레지스터(113) 및 제2 레지스터(114)를 포함할 수 있다. 이하에서, 도 11의 장치(110)는 도 1의 제1 장치(11)와 통신하는 것으로 가정된다.
도면들을 참조하여 전술된 바와 같이, 라우팅 회로(112)는 제어 신호(CTR)에 기초하여 경로들을 형성할 수 있다. 이에 따라, 라우팅 회로(112)는 제어 신호(CTR)에 기초하여 논리적 경로들(LP)을 물리적 경로들(PP)에 맵핑할 수 있다. 도 11에 도시된 바와 같이, 제어 신호(CTR)는 제2 레지스터(114)로부터 제공될 수 있다.
컨트롤러(111)는 제1 장치(11)(또는 제1 컨트롤러(11_1))로부터 명령(INS)을 수신할 수 있고, 명령(INS)에 기초하여 하드 제어 신호(CTR_H) 또는 소프트 제어 신호(CTR_S)를 생성할 수 있다. 제1 장치(11)로부터 수신되는 명령(INS)은, 논리적 경로들(LP)을 물리적 경로들(PP)에 임시적으로(temporarily) 맵핑하기 위한 소프트 맵핑 명령 및 논리적 경로들(LP)을 물리적 경로들에 영구적으로(permanently) 맵핑하기 위한 하드 맵핑 명령을 포함할 수 있다. 컨트롤러(111)는 하드 맵핑 명령에 기초하여 하드 제어 신호(CTR_H)를 제1 레지스터(113)에 제공할 수 있고, 소프트 맵핑 명령에 기초하여 소프트 제어 신호(CTR_S)를 제2 레지스터(114)에 제공할 수 있다.
제1 레지스터(113)는 컨트롤러(111)로부터 제공된 하드 제어 신호(CTR_H)를 비휘발적으로 저장할 수 있고, 저장된 하드 제어 신호(CTR_H)를 제2 레지스터(114)에 제공할 수 있다. 제2 레지스터(114)는 제1 레지스터(113)로부터 제공된 하드 제어 신호(CTR_H) 및 컨트롤러(111)로부터 제공된 소프트 제어 신호(CTR_S) 중 하나를 저장할 수 있고, 저장된 제어 신호(CTR)를 라우팅 회로(112)에 제공할 수 있다. 일부 실시예들에서, 제2 레지스터(114)는 섀도우(shadow) 레지스터로서 지칭될 수 있다. 제1 레지스터(113) 및 제2 레지스터(114)를 사용하여, 트레이닝에 사용되는 후보 그룹 및 최종적으로 판정된 레인 그룹을 설정하는 방법의 예시가 도 12를 참조하여 후술될 것이다. 일부 실시예들에서, 제1 레지스터(113) 및 제2 레지스터(114)는 레인 리페어를 위하여 사용될 수도 있다.
도 12는 본 개시의 예시적 실시예에 따른 물리적 인터페이스의 트레이닝을 위한 방법을 나타내는 순서도이다. 구체적으로, 도 12의 순서도는 도 2의 단계 S30, 단계 S50 및 단계 S80의 예시들을 나타낸다. 도 2를 참조하여 전술된 바와 같이, 도 12의 단계 S30"에서 제1 트레이닝이 수행될 수 있고, 도 12의 단계 S50"에서 제2 트레이닝이 수행될 수 있으며, 도 12의 단계 S80'에서 레인 그룹이 형성될 수 있다. 도 12에 도시된 바와 같이, 단계 S30"은 단계 S31 및 단계 S32를 포함할 수 있고, 단계 S80'은 단계 S81 및 단계 S82를 포함할 수 있다. 이하에서, 도 12는 도 11을 참조하여 설명될 것이며, 도 12의 제2 장치(122)는 도 11의 컨트롤러(111), 라우팅 회로(112), 제1 레지스터(113) 및 제2 레지스터(114)를 포함하는 것으로 가정된다.
도 12를 참조하면, 단계 S31에서 제1 장치(121)는 제1 소프트 맵핑 명령을 제2 장치(122)에 전송할 수 있다. 예를 들면, 제1 장치(121)는 제1 트레이닝을 위한 제1 후보 그룹을 선택할 수 있고, 선택된 제1 후보 그룹에 대한 정보로서 제1 소프트 맵핑 명령을 제2 장치(122)에 전송할 수 있다.
단계 S32에서, 제2 장치(122)는 제1 후보 그룹을 임시적으로 설정할 수 있다. 예를 들면, 제2 장치(122)에 포함된 컨트롤러(111)는 제1 소프트 맵핑 명령에 응답하여 제1 후보 그룹을 설정하는 소프트 제어 신호(CTR_S)를 제2 레지스터(114)에 제공할 수 있고, 제2 레지스터(114)는 소프트 제어 신호(CTR_S)에 대응하는 제어 신호(CTR)를 라우팅 회로(112)에 제공할 수 있다. 이에 따라, 제1 후보 그룹을 사용한 제1 트레이닝이 수행될 수 있다.
단계 S51에서, 제1 장치(121)는 제2 소프트 맵핑 명령을 제2 장치(122)에 전송할 수 있다. 예를 들면, 제1 장치(121)는 제2 트레이닝을 위한 제2 후보 그룹을 선택할 수 있고, 선택된 제2 후보 그룹에 대한 정보로서 제2 소프트 맵핑 명령을 제2 장치(122)에 전송할 수 있다.
단계 S52에서, 제2 장치(122)는 제2 후보 그룹을 임시적으로 설정할 수 있다. 예를 들면, 제2 장치(122)에 포함된 컨트롤러(111)는 제2 소프트 맵핑 명령에 응답하여 제2 후보 그룹을 설정하는 소프트 제어 신호(CTR_S)를 제2 레지스터(114)에 제공할 수 있고, 제2 레지스터(114)는 소프트 제어 신호(CTR_S)에 대응하는 제어 신호(CTR)를 라우팅 회로(112)에 제공할 수 있다. 이에 따라, 제2 후보 그룹을 사용한 제2 트레이닝이 수행될 수 있다.
단계 S81에서, 제1 장치(121)는 하드 맵핑 명령을 제2 장치(122)에 전송할 수 있다. 예를 들면, 제1 장치(121)는 트레이닝 결과들에 기초하여 레인 그룹을 최종적으로 판정할 수 있고, 판정된 레인 그룹에 대한 정보로서 하드 맵핑 명령을 제2 장치(122)에 전송할 수 있다.
단계 S82에서, 제2 장치(122)는 레인 그룹을 영구적으로 설정할 수 있다. 예를 들면, 제2 장치(122)에 포함된 컨트롤러(111)는 하드 맵핑 명령에 응답하여 레인 그룹을 설정하는 하드 제어 신호(CTR_H)를 제1 레지스터(113)에 제공할 수 있고, 제1 레지스터(113)는 하드 제어 신호(CTR_H)를 비휘발적으로 저장할 수 있다. 컨트롤러(111)가 제2 레지스터(114)에 소프트 제어 신호(CTR_S)를 제공하지 아니하는 경우, 제2 레지스터(114)는 제1 레지스터(113)로부터 제공되는 하드 제어 신호(CTR_H)에 대응하는 제어 신호(CTR)를 라우팅 회로(112)에 제공할 수 있다. 이에 따라, 제1 장치(121) 및 제2 장치(122)는 판정된 레인 그룹을 통해서 물리적 인터페이스에 기초하여 상호 통신할 수 있다.
도 13은 본 개시의 예시적 실시예에 따른 시스템(130)을 나타내는 도면이다. 도 13에 도시된 바와 같이, 시스템(130)은, HBM(high bandwidth memory)(132) 및 HBM(132)과 통신하는 HBM_PHY(131)를 포함할 수 있고, 메모리 시스템, 메모리 모듈 등으로서 지칭될 수도 있다. HBM_PHY(131) 및 HBM(132)은, 물리적 인터페이스로서 HBM 인터페이스에 기초하여 상호 통신할 수 있고, 도면들을 참조하여 전술된 바와 같이 HBM 인터페이스의 트레이닝을 수행할 수 있다.
도 13을 참조하면, HBM_PHY(131)는 IEEE 1500 컨트롤러(131_0) 및 제1 내지 제n 채널(131_1 내지 131_n)을 포함할 수 있다(n은 1보다 큰 정수). 제1 내지 제n 채널(131_1 내지 131_n)은 상호 독립적으로 HBM(132)과 통신할 수 있고, 이를 위하여 HBM(132) 역시 제1 내지 제n 채널(132_1 내지 132_n)을 포함할 수 있다. 도 13에 도시된 바와 같이, 제1 내지 제n 채널(131_1 내지 131_n) 각각은 APB(advanced peripheral bus)를 통해서 호스트(또는 메모리 컨트롤러)로부터 데이터를 수신하거나 호스트에 데이터를 송신할 수 있다. 또한, 제1 내지 제n 채널(131_1 내지 131_n) 각각은 커맨드 및/또는 어드레스의 전송을 위한 제1 서브 채널(AWORD) 및 데이터의 송수신을 위한 제2 서브 채널(DWORD)을 통해서 HBM(132)의 대응하는 채널과 상호 통신할 수 있다. 제1 내지 제n 채널(131_1 내지 131_n)의 예시가 도 14를 참조하여 후술될 것이다.
IEEE 1500 컨트롤러(131_0)는 호스트 및 HBM(132) 사이 직접 접속을 제공할 수 있다. 도 13에 도시된 바와 같이, IEEE 1500 컨트롤러(131_0)는 APB를 통해서 호스트로부터 데이터를 수신하거나 호스트에 데이터를 송신할 수 있으며, 제1 내지 제n 채널(131_1 내지 131_n)에 독립적인 채널(WS1 내지 WSn)을 통해서 HBM(132)과 통신할 수 있다. 일부 실시예들에서, IEEE 1500 컨트롤러(131_0)는, 제1 내지 제n 채널(131_1 내지 131_n)의 제1 서브 채널(AWORD)을 트레이닝시 HBM(132)의 설정을 위한 정보를 HBM(132)에 제공할 수 있고, 제1 내지 제n 채널(132_1 내지 132_n)에서 수신된 신호들에 대한 정보, 즉 트레이닝의 피드백을 HBM(132)로부터 수신할 수 있다. 예를 들면, 도면들을 참조하여 전술된 바와 같이, IEEE 1500 컨트롤러(131_0)는 제1 서브 채널(AWORD)에 대하여 상이한 후보 그룹들 각각을 통해서 트레이닝을 제어할 수 있고, 트레이닝 결과들에 기초하여 제1 서브 채널(AWORD)을 위한 레인 그룹을 판정할 수 있다.
HBM(132)은 적층된 복수의 메모리 다이들을 포함할 수 있고, 제1 내지 제n 채널(132_1 내지 132_n)을 통해서 복수의 메모리 다이들에 데이터가 병렬적으로 기입되거나 복수의 메모리 다이들로부터 데이터가 병렬적으로 독출될 수 있다. 일부 실시예들에서, HBM(132)은 복수의 DRAM 다이들을 포함할 수 있고, HBM DRAM으로 지칭될 수도 있다. HBM(132)의 구조의 예시가 도 15를 참조하여 후술될 것이다.
도 14는 본 개시의 예시적 실시예에 따른 채널(140)을 나타내는 블록도이다. 도 13을 참조하여 전술된 바와 같이, HBM_PHY는 복수의 채널들을 포함할 수 있고, 복수의 채널들은 상호 독립적으로 HBM와 통신할 수 있다. 도 14에 도시된 바와 같이, 채널(140)은, AWORD 컨트롤 로직(141), 컨트롤 슬라이스(142), DWORD 컨트롤 로직(143), 복수의 데이터 슬라이스들(144) 및 입출력 버퍼들(145)을 포함할 수 있다.
AWORD 컨트롤 로직(141)은 호스트와 통신할 수 있고, 컨트롤 슬라이스(142)를 제어할 수 있다. 예를 들면, AWORD 컨트롤 로직(141)은 APB 및/또는 DFI(DDR physical interface)를 통해서 호스트로부터 수신된 커맨드(예컨대 기입 커맨드, 독출 커맨드) 및/또는 어드레스에 응답하여 컨트롤 슬라이스(142)에 커맨드 및/또는 어드레스를 제공할 수 있다. 또한, AWORD 컨트롤 로직(141)은 제1 서브 채널(AWORD)의 트레이닝시 테스트 패턴을 생성할 수도 있고, 도 1의 컨트롤 슬라이스(142)에 포함된 복수의 DLL(delay locked loop)들(142_1)을 제어함으로써 제1 서브 채널(AWORD)을 통해서 출력되는 신호들의 타이밍을 조절할 수 있다.
컨트롤 슬라이스(142)는 복수의 DLL들(142_1) 및 입출력 컨트롤 블록(142_2)을 포함할 수 있다. 복수의 DLL들(142_1)은 AWORD 컨트롤 로직(141)의 제어에 따라 지연된 신호들, 예컨대 커맨드 신호 및/또는 어드레스 신호를 입출력 컨트롤 블록(142_2)에 제공할 수 있다. 입출력 컨트롤 블록(142_2)은 AWORD 컨트롤 로직(141)(또는 도 13의 131_0)의 제어에 따라 형성된 경로들을 통해서 복수의 DLL들(142_1)로부터 수신된 커맨드 신호 및/또는 어드레스 신호를 입출력 버퍼들(145)에 제공할 수 있다. 즉, 입출력 컨트롤 블록(142_2)은 도면들을 참조하여 전술된 라우팅 회로의 기능을 수행할 수 있다.
DWORD 컨트롤 로직(143)은 호스트와 통신할 수 있고, 복수의 데이터 슬라이스들(144)을 제어할 수 있다. 예를 들면, DWORD 컨트롤 로직(143)은 APB 및/또는 DFI를 통해서 호스트로부터 수신된 데이터에 응답하여 복수의 데이터 슬라이스들(144)에 데이터를 제공할 수 있다. DWORD 컨트롤 로직(143)은 제2 서브 채널(DWORD)의 기입 경로의 트레이닝시 테스트 패턴을 생성할 수도 있고, 도 14의 데이터 슬라이스들(144) 각각에 포함된 복수의 제1 DLL들(144_1)을 제어함으로써 제2 서브 채널(DWORD)을 통해서 출력되는 신호들의 타이밍을 조절할 수 있다. 또한, DWORD 컨트롤 로직(143)은 복수의 데이터 슬라이스들(144)로부터 수신된 데이터를 APB 및/또는 DFI를 통해서 호스트에 제공할 수도 있다. DWORD 컨트롤 로직(143)은 제2 서브 채널(DWORD)의 독출 경로의 트레이닝시 복수의 제2 DLL들(144_2)을 제어함으로써 제2 서브 채널(DWORD)을 통해서 수신되는 신호들의 타이밍을 조절할 수 있다.
복수의 데이터 슬라이스들(144) 각각은 복수의 제1 DLL들(144_1), 복수의 제2 DLL들(144_2) 및 입출력 컨트롤 블록(144_3)을 포함할 수 있다. 복수의 제1 DLL들(144_1)은 DWORD 컨트롤 로직(143)의 제어에 따라 지연된 신호들, 예컨대 데이터 신호를 입출력 컨트롤 블록(144_3)에 제공할 수 있다. 입출력 컨트롤 블록(142_2)은 DWORD 컨트롤 로직(143)의 제어에 따라 형성된 경로들을 통해서 복수의 제1 DLL들(144_1)로부터 수신된 데이터 신호를 입출력 컨트롤 블록(144_3)에 제공할 수 있다. 또한, 복수의 제2 DLL들(144_2)은 DWORD 컨트롤 로직(143)의 제어에 따라 지연된 신호들, 예컨대 데이터 신호를 DWORD 컨트롤 로직(143)에 제공할 수 있다. 입출력 컨트롤 블록(144_3)은 DWORD 컨트롤 로직(143)의 제어에 따라 형성된 경로들을 통해서 입출력 버퍼들(145)로부터 수신된 신호를 복수의 제2 DLL들(144_2)에 제공할 수 있다. 이에 따라, 입출력 컨트롤 블록(144_3)은 도면들을 참조하여 전술된 라우팅 회로의 기능을 수행할 수 있다.
도 15는 본 개시의 예시적 실시예에 따른 시스템(150)의 단면을 나타내는 도면이다. 도 15에 도시된 바와 같이, 시스템(150)은 HBM 장치(151), 처리 회로(152), 인터포저(interposer)(153) 및 인쇄 회로 기판(printed circuit board; PCB)(154)을 포함할 수 있다.
HBM 장치(151)는 제1 내지 제4 메모리 다이(MD1 내지 MD4) 및 베이스 다이(BD)를 포함할 수 있고, HBM 시스템으로 지칭될 수도 있다. 도 15에 도시된 바와 같이, 제1 내지 제4 메모리 다이(MD1 내지 MD4)는 베이스 다이(BD) 상에 적층될 수 있고, 제1 내지 제4 메모리 다이(MD1 내지 MD4) 및 베이스 다이(BD) 사이에 마이크로 범프들(MB)이 배치될 수 있다. 마이크로 범프들(MB)은 제1 내지 제4 메모리 다이(MD1 내지 MD4) 각각을 관통하는 관통 실리콘 비아(through silicon via; TSV)에 연결될 수 있다. 베이스 다이(BD)는 인터포저(153) 상에 배치될 수 있고, 베이스 다이(BD) 및 인터포저(153) 사이에 제1 범프들(B1)이 배치될 수 있다. 제1 내지 제4 메모리 다이(MD1 내지 MD4)에 액세스하기 위한 어드레스 신호, 커맨드 신호 및 데이터 신호가 제1 범프들(B1)을 통과할 수 있다. 일부 실시예들에서, 제1 내지 제4 메모리 다이(MD1 내지 MD4)는 HBM으로 총괄적으로 지칭될 수 있고, 도 13 및 도 14를 참조하여 전술된 HBM_PHY이 베이스 다이(BD)에 포함될 수 있다. HBM_PHY 및 제1 내지 제4 메모리 다이(MD1 내지 MD4)는 HBM 인터페이스에 기초하여, 레인들의 상이한 후보 그룹들 각각을 사용하여 트레이닝을 수행할 수 있고, 레인 그룹을 판정할 수 있다. 이에 따라, 최적의 마진을 제공하는, 복수의 관통 실리콘 비아들 중 일부 및 복수의 마이크로 범프들 중 일부가 HBM 인터페이스를 위하여 사용될 수 있다.
처리 회로(152)는 인터포저(153) 상에 배치될 수 있고, 처리 회로(152) 및 인터포저(153) 사이에 제2 범프들(B2)이 배치될 수 있다. 처리 회로(152)는 제2 범프들(B2) 중 일부, 인터포저(153)에 형성된 패턴들 및 제1 범프들(B1) 중 일부를 통해서 베이스 다이(BD)와 통신할 수 있고, HBM 장치(151)에 데이터를 기입하거나 HBM 장치(151)로부터 데이터를 독출할 수 있다. 예를 들면, 처리 회로(152)는, CPU(central processing unit), GPU(graphic processing unit), NPU(neural processing unit) 등을 포함할 수 있다.
인쇄 회로 기판(154) 상에 인터포저(153)가 배치될 수 있고, 인터포저(153) 및 인쇄 회로 기판(154) 사이에 제3 범프들(B3)이 배치될 수 있다. 일부 실시예들에서, 제3 범프들(B3)은 플립 다이 범프들일 수 있다. 인터포저(153)는 HBM 장치(151) 및 처리 회로(152)를 상호 접속시키기 위한 복수의 패턴들을 포함할 수 있다. 인쇄 회로 기판(154)의 하면 상에 제4 범프들(B4)이 배치될 수 있고, 시스템(150)은 제4 범프들(B4)을 통해서 외부와 통신할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들이 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Claims (20)
- 제1 장치 및 제2 장치 사이 물리적 인터페이스를 트레이닝하는 방법으로서,
복수의 레인들 중 제1 후보 그룹을 통해 상기 제2 장치와 통신함으로써 상기 물리적 인터페이스의 제1 트레이닝을 수행하는 단계;
상기 복수의 레인들 중 상기 제1 후보 그룹과 상이한 제2 후보 그룹을 통해 상기 제2 장치와 통신함으로써 상기 물리적 인터페이스의 제2 트레이닝을 수행하는 단계;
상기 제1 트레이닝의 결과 및 상기 제2 트레이닝의 결과에 기초하여 레인 그룹을 판정하는 단계; 및
상기 레인 그룹이 상기 물리적 인터페이스를 위하여 사용되도록 상기 제2 장치를 설정하는 단계를 포함하는 방법. - 청구항 1에 있어서,
상기 제1 트레이닝의 결과에 기초하여 상기 복수의 레인들 중 상기 제2 후보 그룹을 선택하는 단계를 더 포함하는 방법. - 청구항 2에 있어서,
상기 제1 트레이닝을 수행하는 단계는, 상기 제1 후보 그룹에 포함된 복수의 레인들에 대응하는 복수의 제1 유효 윈도우 마진들을 검출하는 단계를 포함하고,
상기 제2 후보 그룹을 선택하는 단계는,
상기 복수의 제1 유효 윈도우 마진들 중 최소 제1 유효 윈도우 마진에 대응하는 제1 레인을 식별하는 단계; 및
상기 복수의 레인들 중 상기 제1 레인을 제외한 레인들에서 상기 제2 후보 그룹을 선택하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 3에 있어서,
상기 제2 트레이닝을 수행하는 단계는, 상기 제2 후보 그룹에 포함된 복수의 레인들에 대응하는 복수의 제2 유효 윈도우 마진들을 검출하는 단계를 포함하고,
상기 레인 그룹을 판정하는 단계는,
상기 복수의 제2 유효 윈도우 미진들 중 최소 제2 유효 윈도우 마진에 대응하는 제2 레인을 식별하는 단계;
상기 최소 제1 유효 윈도우 마진 및 상기 최소 제2 유효 윈도우 마진 중 높은 유효 윈도우 마진을 식별하는 단계; 및
상기 제1 후보 그룹 및 상기 제2 후보 그룹 중, 식별된 상기 유효 윈도우 마진에 대응하는 후보 그룹을 상기 레인 그룹으로서 판정하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 2에 있어서,
상기 제2 후보 그룹을 선택하는 단계는,
상기 물리적 인터페이스의 적어도 하나의 기능의 비활성화를 식별하는 단계; 및
상기 적어도 하나의 기능이 비활성화시 미사용되는 적어도 하나의 레인을 포함하는 상기 제2 후보 그룹을 선택하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 5에 있어서,
상기 적어도 하나의 기능은, 데이터 마스킹(data masking) 기능, 데이터 버스 반전(data bus inversion) 기능 및 오류 정정(error correction) 기능 중 적어도 하나를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 복수의 레인들 중 상기 제1 후보 그룹 및 상기 제2 후보 그룹과 상이한 제3 후보 그룹을 통해 상기 제2 장치와 통신함으로써 제3 트레이닝을 수행하는 단계를 더 포함하고,
상기 레인 그룹을 판정하는 단계는, 상기 제1 트레이닝의 결과, 상기 제2 트레이닝의 결과 및 상기 제3 트레이닝의 결과에 더 기초하여 수행되는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 제1 장치 및 상기 제2 장치 사이 레인들을 검증하는 단계를 더 포함하고,
상기 제1 후보 그룹 및 상기 제2 후보 그룹은, 유효한 레인들에 포함되는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 제1 트레이닝을 수행하는 단계는, 상기 제1 후보 그룹을 임시적으로 설정하는 제1 소프트 맵핑 명령을 상기 제2 장치에 송신하는 단계를 포함하고,
상기 제2 트레이닝을 수행하는 단계는, 상기 제2 후보 그룹을 임시적으로 설정하는 제2 소프트 맵핑 명령을 상기 제2 장치에 송신하는 단계를 포함하고,
상기 제2 장치를 설정하는 단계는, 상기 레인 그룹을 영구적으로 설정하는 하드 맵핑 명령을 상기 제2 장치에 송신하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 물리적 인터페이스는, HBM(high bandwidth memory) 인터페이스이고,
상기 제2 장치는, 적층된 복수의 메모리 다이들을 포함하는 것을 특징으로 하는 방법. - 물리적 인터페이스에 기초하여 제2 장치와 통신하도록 구성된 제1 장치로서,
상기 물리적 인터페이스를 위하여, 복수의 레인들 중 일부를 제어 신호에 기초하여 선택하도록 구성된 라우팅 회로; 및
상기 복수의 레인들 중 상이한 후보 그룹들 각각을 통해서 상기 물리적 인터페이스를 트레이닝하도록 상기 제어 신호를 생성하고, 트레이닝 결과들에 기초하여 상기 물리적 인터페이스를 위하여 사용될 레인 그룹을 판정하도록 구성된 컨트롤러를 포함하는 제1 장치. - 청구항 11에 있어서,
상기 컨트롤러는, 상기 복수의 레인들 중 제1 후보 그룹을 통해서 상기 물리적 인터페이스의 제1 트레이닝을 수행하고, 상기 제1 트레이닝의 결과에 기초하여 상기 복수의 레인들 중 제2 후보 그룹을 선택하고, 상기 제2 후보 그룹을 통해서 상기 물리적 인터페이스의 제2 트레이닝을 수행하도록 구성된 것을 특징으로 하는 제1 장치. - 청구항 12에 있어서,
상기 컨트롤러는, 상기 제1 트레이닝에서 상기 제1 후보 그룹에 포함된 복수의 레인들에 대응하는 복수의 제1 유효 윈도우 마진들을 검출하고, 상기 복수의 제1 유효 윈도우 마진들 중 최소 제1 유효 윈도우 마진에 대응하는 제1 레인을 식별하고, 상기 복수의 레인들 중 상기 제1 레인을 제외한 레인들에서 상기 제2 후보 그룹을 선택하도록 구성된 것을 특징으로 하는 제1 장치. - 청구항 11에 있어서,
상기 컨트롤러는, 상기 물리적 인터페이스의 적어도 하나의 기능의 비활성화를 식별하고, 상기 적어도 하나의 기능의 비활성화시 미사용되는 적어도 하나의 레인을 포함하는 후보 그룹에서 상기 물리적 인터페이스를 트레이닝하도록 상기 제어 신호를 생성하도록 구성된 것을 특징으로 하는 제1 장치. - 청구항 11에 있어서,
상기 라우팅 회로는,
상기 제어 신호를 디코딩함으로써 복수의 선택 신호들을 생성하도록 구성된 디코더; 및
상기 복수의 선택 신호들에 기초하여 경로들을 형성하도록 구성된 복수의 멀티플렉서들을 포함하는 것을 특징으로 하는 제1 장치. - 복수의 상호연결들(interconnections); 및
물리적 인터페이스에 기초하여 상기 복수의 상호연결들 중 적어도 일부를 통해서 상호 통신하도록 구성된 제1 장치 및 제2 장치를 포함하고,
상기 제1 장치 및 상기 제2 장치는, 상기 복수의 상호연결들 중 상이한 후보 그룹들 각각을 통해서 상기 물리적 인터페이스를 트레이닝하도록 구성되고,
상기 제1 장치는, 트레이닝 결과들에 기초하여 상기 물리적 인터페이스를 위하여 사용될 상호연결 그룹을 판정하도록 구성된 것을 특징으로 하는 시스템. - 청구항 16에 있어서,
상기 제1 장치 및 상기 제2 장치는, 상기 복수의 상호연결들 중 제1 후보 그룹을 통해서 상기 물리적 인터페이스의 제1 트레이닝을 수행하고, 상기 복수의 상호연결들 중 제2 후보 그룹을 통해서 상기 물리적 인터페이스의 제2 트레이닝을 수행하도록 구성되고,
상기 제1 장치는, 상기 제1 트레이닝의 결과에 기초하여 상기 복수의 상호연결들 중 상기 제2 후보 그룹을 선택하도록 구성된 것을 특징으로 하는 시스템. - 청구항 16에 있어서,
상기 제1 장치 및 상기 제2 장치는, 상기 물리적 인터페이스의 적어도 하나의 기능이 비활성된 상태로 설정되고, 상기 적어도 하나의 기능의 비활성화시 미사용되는 적어도 하나의 상호연결을 포함하는 후보 그룹에서 상기 물리적 인터페이스를 트레이닝하도록 구성된 것을 특징으로 하는 시스템. - 청구항 16에 있어서,
상기 물리적 인터페이스는, HBM(high bandwidth memory) 인터페이스이고,
상기 제2 장치는, 적층된 복수의 메모리 다이(die)들을 포함하고,
상기 복수의 상호연결들은, 상기 복수의 메모리 다이들 중 적어도 하나를 관통하는 적어도 하나의 관통 실리콘 비아를 포함하는 것을 특징으로 하는 시스템. - 청구항 19에 있어서,
상기 제1 장치는, 베이스 다이(base die)에 포함되고,
상기 복수의 메모리 다이들은, 상기 베이스 다이 상에 적층되는 것을 특징으로 하는 시스템.
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020200135525A KR20220051750A (ko) | 2020-10-19 | 2020-10-19 | 장치간 물리적 인터페이스의 트레이닝을 위한 장치 및 방법 |
| CN202111045419.5A CN114385543A (zh) | 2020-10-19 | 2021-09-07 | 用于训练设备到设备物理接口的装置和方法 |
| US17/475,705 US12189560B2 (en) | 2020-10-19 | 2021-09-15 | Apparatus and method for training device-to-device physical interface |
| US18/965,046 US20250094375A1 (en) | 2020-10-19 | 2024-12-02 | Apparatus and method for training device-to-device physical interface |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020200135525A KR20220051750A (ko) | 2020-10-19 | 2020-10-19 | 장치간 물리적 인터페이스의 트레이닝을 위한 장치 및 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20220051750A true KR20220051750A (ko) | 2022-04-26 |
Family
ID=81185135
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020200135525A Pending KR20220051750A (ko) | 2020-10-19 | 2020-10-19 | 장치간 물리적 인터페이스의 트레이닝을 위한 장치 및 방법 |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US12189560B2 (ko) |
| KR (1) | KR20220051750A (ko) |
| CN (1) | CN114385543A (ko) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117631802B (zh) * | 2023-12-05 | 2025-07-11 | 海光信息技术股份有限公司 | 接口控制方法、装置、系统及计算机设备 |
Family Cites Families (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5974516A (en) * | 1996-10-18 | 1999-10-26 | Samsung Electronics Co., Ltd. | Byte-writable two-dimensional FIFO buffer having storage locations with fields indicating storage location availability and data ordering |
| ES2301492T3 (es) * | 1999-10-05 | 2008-07-01 | Samsung Electronics Co., Ltd. | Decodificacion turbo con decodificador viterbi de salida suave. |
| US6426903B1 (en) | 2001-08-07 | 2002-07-30 | International Business Machines Corporation | Redundancy arrangement using a focused ion beam |
| US7353316B2 (en) | 2006-03-24 | 2008-04-01 | Micron Technology, Inc. | System and method for re-routing signals between memory system components |
| US8077605B2 (en) | 2008-09-05 | 2011-12-13 | Lsi Corporation | Method for providing path failover for multiple SAS expanders operating as a single SAS expander |
| KR101554326B1 (ko) * | 2009-05-21 | 2015-09-18 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
| US9430432B2 (en) * | 2011-04-21 | 2016-08-30 | Ineda Systems Pvt. Ltd. | Optimized multi-root input output virtualization aware switch |
| WO2013095561A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Interconnection of a packaged chip to a die in a package utilizing on-package input/output interfaces |
| US9443269B2 (en) * | 2012-02-16 | 2016-09-13 | Novasparks, Inc. | FPGA matrix architecture |
| US9972082B2 (en) * | 2012-02-22 | 2018-05-15 | Veran Medical Technologies, Inc. | Steerable surgical catheter having biopsy devices and related systems and methods for four dimensional soft tissue navigation |
| KR101949382B1 (ko) * | 2012-04-04 | 2019-02-18 | 삼성전자주식회사 | 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법 |
| CN105103568B (zh) * | 2012-09-24 | 2019-03-19 | 思睿逻辑国际半导体有限公司 | 扬声器的控制和保护 |
| US20150055947A1 (en) * | 2013-08-23 | 2015-02-26 | Telefonaktiebolaget L M Ericsson (Publ) | Method for quick automatic remote wavelength discovery and configuration |
| EP3254202A1 (en) * | 2015-02-04 | 2017-12-13 | Qualcomm Incorporated | Voltage mode and current mode device enumeration |
| US9996483B2 (en) * | 2015-04-10 | 2018-06-12 | Qualcomm Incorporated | N-base numbers to physical wire states symbols translation method |
| GB2555059B (en) * | 2015-05-22 | 2021-09-01 | Cirrus Logic Int Semiconductor Ltd | Adaptive receiver |
| KR20170038977A (ko) | 2015-09-30 | 2017-04-10 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 기준전압 트레이닝 방법 |
| US20210157312A1 (en) * | 2016-05-09 | 2021-05-27 | Strong Force Iot Portfolio 2016, Llc | Intelligent vibration digital twin systems and methods for industrial environments |
| US10983514B2 (en) * | 2016-05-09 | 2021-04-20 | Strong Force Iot Portfolio 2016, Llc | Methods and systems for equipment monitoring in an Internet of Things mining environment |
| US11296935B2 (en) * | 2016-12-30 | 2022-04-05 | Intel Corporation | Service provision to IoT devices |
| CN110383292B (zh) * | 2017-04-07 | 2025-08-12 | 英特尔公司 | 用于深度神经网络的经预算和经简化的训练的方法和系统 |
| KR102523101B1 (ko) | 2018-01-10 | 2023-04-18 | 삼성전자주식회사 | 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치 |
| US11822163B2 (en) * | 2018-06-20 | 2023-11-21 | equal1.labs Inc. | Reprogrammable quantum processor architecture |
| US10873019B2 (en) * | 2018-06-20 | 2020-12-22 | equal1.labs Inc. | Topological programmable scalable quantum computing machine utilizing chord line quasi unidimensional aperature tunneling semiconductor structures |
| KR20200016681A (ko) * | 2018-08-07 | 2020-02-17 | 삼성전자주식회사 | 스택 구조의 다이들을 포함하는 반도체 장치 및 그 테스트 방법 |
| US11256644B2 (en) * | 2018-09-05 | 2022-02-22 | Fungible, Inc. | Dynamically changing configuration of data processing unit when connected to storage device or computing device |
| KR102679215B1 (ko) | 2018-10-30 | 2024-06-28 | 삼성전자주식회사 | 복수의 트레이닝들을 동시에 수행하는 시스템 온 칩, 시스템 온 칩의 동작 방법, 및 시스템 온 칩을 포함하는 전자 장치 |
| KR102693546B1 (ko) | 2018-11-07 | 2024-08-08 | 삼성전자주식회사 | 스토리지 장치 |
| US20230281527A1 (en) * | 2019-01-13 | 2023-09-07 | Strong Force Iot Portfolio 2016, Llc | User interface for industrial digital twin providing conditions of interest with display of reduced dimensionality views |
| US11604741B2 (en) * | 2019-02-15 | 2023-03-14 | Intel Corporation | Method for dynamically provisioning virtualized functions in a USB device by means of a virtual USB hub |
| US10642764B1 (en) * | 2019-03-01 | 2020-05-05 | Western Digital Technologies, Inc. | Data transfer command latency of a host device |
| US11615533B2 (en) * | 2019-07-12 | 2023-03-28 | Bruker Nano, Inc. | Methods and systems for product failure prediction based on X-ray image re-examination |
| US11689386B2 (en) * | 2019-08-01 | 2023-06-27 | Vulcan Technologies International Inc. | Intelligent controller and sensor network bus, system and method for controlling and operating an automated machine including a failover mechanism for multi-core architectures |
| US11301413B2 (en) * | 2020-02-06 | 2022-04-12 | Dell Products L.P. | Enhanced PCIe auto-bifurcation |
| US12332831B2 (en) * | 2020-06-18 | 2025-06-17 | Samsung Electronics Co., Ltd. | Systems and methods for communications within a storage chassis using in-band data and out-of-band data |
| US11776276B1 (en) * | 2022-11-14 | 2023-10-03 | Hayden Al Technologies, Inc. | System and methods for automatically validating evidence of traffic violations using automatically detected context features |
-
2020
- 2020-10-19 KR KR1020200135525A patent/KR20220051750A/ko active Pending
-
2021
- 2021-09-07 CN CN202111045419.5A patent/CN114385543A/zh active Pending
- 2021-09-15 US US17/475,705 patent/US12189560B2/en active Active
-
2024
- 2024-12-02 US US18/965,046 patent/US20250094375A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CN114385543A (zh) | 2022-04-22 |
| US20220121592A1 (en) | 2022-04-21 |
| US20250094375A1 (en) | 2025-03-20 |
| US12189560B2 (en) | 2025-01-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11574670B2 (en) | Memory device for reducing resources used for training | |
| KR102377362B1 (ko) | 보조 테스트 장치, 그것을 포함하는 테스트 보드 및 그것의 테스트 방법 | |
| US8514635B2 (en) | Memory system and control method therefor | |
| US9257200B2 (en) | Bit error testing and training in double data rate (DDR) memory system | |
| KR100825002B1 (ko) | 효과적으로 직렬로 입출력되는 데이터의 오류를 검사할 수있는 반도체 메모리 장치 및 그 구동방법 | |
| US20140320203A1 (en) | Semiconductor device | |
| CN110534500B (zh) | 半导体器件和包括半导体器件的存储模块 | |
| JP2010524089A (ja) | バッファ装置と集積回路メモリ装置を含むメモリシステムトポロジ | |
| US10491430B2 (en) | Memory decision feedback equalizer testing | |
| US20250094375A1 (en) | Apparatus and method for training device-to-device physical interface | |
| CN110770830B (zh) | 存储器装置中的分布式模式寄存器 | |
| CN114333947A (zh) | 存储芯片、存储控制器和该存储芯片的操作方法 | |
| US12372575B2 (en) | Multi-modal memory apparatuses and systems | |
| CN114446337A (zh) | 存储器封装件、存储装置以及存储装置操作方法 | |
| KR20210157749A (ko) | 메모리 장치 및 메모리 컨트롤러 사이 인터페이스를 위한 장치, 이를 포함하는 패키지 및 시스템 | |
| KR20210133832A (ko) | 트레이닝을 위해 사용되는 리소스를 감소시키기 위한 메모리 장치 | |
| US12080367B2 (en) | Memory and operation method thereof including accessing redundancy world lines by memory controller | |
| US20250103424A1 (en) | Circuit element link training in a memory device | |
| KR102818984B1 (ko) | 데이터 입력 회로 및 이를 포함하는 메모리 장치 | |
| US20250239322A1 (en) | 3d stack testing | |
| US11955160B2 (en) | Asynchronous signal to command timing calibration for testing accuracy | |
| US11803501B2 (en) | Routing assignments based on error correction capabilities | |
| KR20150001946A (ko) | 순환 중복 검사 회로를 갖는 반도체 장치 및 메모리 시스템 | |
| US20250231889A1 (en) | Hbm base die with 2.5d and 3d phy interface | |
| KR20220043817A (ko) | 이퀄라이저 회로의 동시 트레이닝을 수행하는 메모리 장치 및 이의 동작 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20201019 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20230912 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20201019 Comment text: Patent Application |