KR20090088556A - 데이터 송수신 시스템 - Google Patents
데이터 송수신 시스템 Download PDFInfo
- Publication number
- KR20090088556A KR20090088556A KR1020080013909A KR20080013909A KR20090088556A KR 20090088556 A KR20090088556 A KR 20090088556A KR 1020080013909 A KR1020080013909 A KR 1020080013909A KR 20080013909 A KR20080013909 A KR 20080013909A KR 20090088556 A KR20090088556 A KR 20090088556A
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- delay
- data
- code
- lock
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02B—BOARDS, SUBSTATIONS OR SWITCHING ARRANGEMENTS FOR THE SUPPLY OR DISTRIBUTION OF ELECTRIC POWER
- H02B1/00—Frameworks, boards, panels, desks, casings; Details of substations or switching arrangements
- H02B1/20—Bus-bar or other wiring layouts, e.g. in cubicles, in switchyards
- H02B1/207—Cross-bar layouts
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/18—Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1003—Interface circuits for daisy chain or ring bus memory arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R11/00—Individual connecting elements providing two or more spaced connecting locations for conductive members which are, or may be, thereby interconnected, e.g. end pieces for wires or cables supported by the wire or cable and having means for facilitating electrical connection to some other wire, terminal, or conductive member, blocks of binding posts
- H01R11/01—Individual connecting elements providing two or more spaced connecting locations for conductive members which are, or may be, thereby interconnected, e.g. end pieces for wires or cables supported by the wire or cable and having means for facilitating electrical connection to some other wire, terminal, or conductive member, blocks of binding posts characterised by the form or arrangement of the conductive interconnection between the connecting locations
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01R—ELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
- H01R11/00—Individual connecting elements providing two or more spaced connecting locations for conductive members which are, or may be, thereby interconnected, e.g. end pieces for wires or cables supported by the wire or cable and having means for facilitating electrical connection to some other wire, terminal, or conductive member, blocks of binding posts
- H01R11/11—End pieces or tapping pieces for wires, supported by the wire and for facilitating electrical connection to some other wire, terminal or conductive member
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02B—BOARDS, SUBSTATIONS OR SWITCHING ARRANGEMENTS FOR THE SUPPLY OR DISTRIBUTION OF ELECTRIC POWER
- H02B1/00—Frameworks, boards, panels, desks, casings; Details of substations or switching arrangements
- H02B1/015—Boards, panels, desks; Parts thereof or accessories therefor
- H02B1/06—Boards, panels, desks; Parts thereof or accessories therefor having associated enclosures, e.g. for preventing access to live parts
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02B—BOARDS, SUBSTATIONS OR SWITCHING ARRANGEMENTS FOR THE SUPPLY OR DISTRIBUTION OF ELECTRIC POWER
- H02B1/00—Frameworks, boards, panels, desks, casings; Details of substations or switching arrangements
- H02B1/14—Shutters or guards for preventing access to contacts
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02G—INSTALLATION OF ELECTRIC CABLES OR LINES, OR OF COMBINED OPTICAL AND ELECTRIC CABLES OR LINES
- H02G5/00—Installations of bus-bars
- H02G5/007—Butt joining of bus-bars by means of a common bolt, e.g. splice joint
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2254—Calibration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
본 발명은 데이터 송수신 시스템을 공개한다. 이 시스템은 레퍼런스 클럭 신호 및 복수개의 데이터 신호들을 출력하는 송신제어부, 복수개의 지연코드들 중 대응하는 지연코드에 응답하여 상기 복수개의 데이터 신호들 중 대응하는 데이터 신호를 소정 시간 지연시켜 지연 데이터 신호를 출력하는 복수개의 지연부들, 데이터 프레임 락 동작시 상기 복수개의 지연코드들을 입력하여 에러 발생 여부를 판단하고, 판단 결과에 따라 에러신호를 출력하는 에러판단부, 및 상기 데이터 프레임 락 동작시 상기 복수개의 지연코드들의 초기값을 설정하고, 락 신호에 응답하여 상기 복수개의 지연코드들 각각을 변화시켜 출력하고, 상기 에러신호에 응답하여 상기 복수개의 지연코드들을 재설정하는 지연제어부를 구비하는 데이터 송신 장치 및 상기 데이터 프레임 락 동작시 상기 레퍼런스 클럭 신호 및 상기 복수개의 지연 데이터 신호들을 입력하여 데이터 프레임 락 여부를 판단하고, 판단 결과에 따라 상기 락 신호를 출력하는 데이터 수신 장치를 구비하는 것을 특징으로 한다. 따라서, 데이터 프레임 락 과정에서 발생한 에러를 감지하고 이를 보정할 수 있다.
Description
본 발명은 데이터 송수신 시스템에 관한 것으로, 특히 데이터 프레임 락 과정에서 발생할 수 있는 에러를 감지하고, 이를 보정할 수 있는 데이터 송수신 시스템에 관한 것이다.
반도체 시스템에서 반도체 장치들 사이, 예를 들면, 더블 데이터 레이트(double data rate:DDR) 반도체 메모리 장치와 메모리 컨트롤러 사이의 데이터 송수신 시스템으로 병렬 데이터 인터페이스가 이용되고 있으며, 일반적으로 데이터 송수신 시스템은 각각의 데이터의 입력과 출력이 하나의 포트를 통하여 이루어지는 공통 I/O 포트(commom I/O)가 적용되고 있다. 또한, 상기 데이터 송수신 시스템을 통해 전송되는 신호들(데이터, 클럭 신호 등) 사이의 위상 관계(skew), 지연 정도는 스펙으로 정해져 있다.
그런데, 차세대 반도체 메모리 장치의 데이터 송수신 시스템의 경우, 병렬 데이터 인터페이스를 그대로 이용하면서, 고속 동작을 지원하고 채널 효율을 증가시키기 위해 입력 포트와 출력 포트를 분리하는 분리된 I/O 포트(separate I/O)가 적용된다. 또한, 실장 밀도를 높이기 위해 멀티 칩 패키지(multi chip package:MCP) 기술 등도 적용된다. 이러한 기술들이 적용되는 경우에는 종래와 같이 신호들 사이의 위상 관계, 지연 정도에 대해 스펙을 정하기 어렵다는 문제가 있다.
도 1은 분리된 I/O 포트 및 멀티 칩 패키지가 적용되는 반도체 메모리 시스템의 일반적인 구성을 간략하게 나타낸 것으로, 제어부(1) 및 메모리 장치들(2-1, 2-2)로 구성되어 있으며, Tx는 출력 포트를, Rx는 입력 포트를 각각 나타낸 것이다.
도 1에 나타낸 블록들 각각의 기능 및 동작을 설명하면 다음과 같다.
제어부(1)는 출력 포트(Tx)를 통해 메모리 장치들(2-1, 2-2)로 클럭 신호, 명령, 어드레스 및 라이트 데이터 등을 출력하고, 입력 포트(Rx)를 통해 메모리 장치들(2-1, 2-2)로부터 리드 데이터 등을 입력받는다. 이때, 제어부(1)로부터 출력되는 명령, 어드레스 및 라이트 데이터 등은 일반적으로 하나의 데이터 프레임으로 구성되어 출력된다. 즉, 하나의 데이터 프레임은 명령 및 어드레스로 구성되거나, 명령, 어드레스 및 라이트 데이터 등으로 구성될 수 있으며, 하나의 데이터 프레임 전체가 소정의 동작(예를 들면, 데이터 라이트 동작)을 수행하도록 하는 하나의 단위가 된다.
메모리 장치들(2-1, 2-2) 각각은 입력 포트(Rx)를 통해 제어부(1)로부터 데이터 및 명령 신호 등을 입력받고, 상기 명령 신호에 응답하여 입력 포트(Rx)를 통해 입력된 데이터를 저장하거나, 출력 포트(Tx)를 통해 저장된 데이터를 제어부(10)로 출력한다.
즉, 도 1에 나타낸 반도체 메모리 시스템의 경우, 제어부(1) 및 메모리 장치들(2-1, 2-2) 각각은 출력 포트(Tx)와 입력 포트(Rx)가 각각 분리되어 있다. 그런데, 도 1에 나타낸 것과 같은 분리된 I/O 포트가 적용되는 반도체 시스템의 경우, 송수신된 신호의 지연 정도, 특히 제어부(1)로부터 출력된 신호가 메모리 장치(2-2)로 입력되는 경우의 지연 정도를 알 수 없으므로 공통 I/O 포트가 적용되는 경우와 같이 신호들 간 위상 관계 등을 스펙으로 정하기가 어렵다. 따라서, 데이터 프레임/비트 락 과정이 요구된다.
도 2는 종래의 분리된 I/O 포트를 구비하는 반도체 장치의 데이터 송수신 시스템을 나타낸 것으로서, 데이터 송신 장치(100) 및 데이터 수신 장치(200)로 구성되어 있으며, 데이터 송신 장치(100)는 송신 제어부(110), 복수개의 지연부들(120-1~120-n), 지연제어부(130), 및 복수개의 출력 드라이버들(10, 12)과 입력 드라이버(20)로 구성되어 있고, 데이터 수신 장치(200)는 수신 제어부(210), 선택부(220), 락 신호 발생부(230) 및 복수개의 입력 드라이버들(20, 20-1~20-n, 22)과 출력 드라이버(10)로 구성되어 있다.
도 2에 나타낸 블록들 각각의 기능을 설명하면 다음과 같다.
출력 드라이버들(10) 각각은 데이터 송신 장치(100) 또는 데이터 수신 장치(200) 내부에서 발생한 신호를 구동하여 외부로 출력하고, 입력 드라이버들(20) 각각은 외부로부터 입력된 신호를 구동하여 데이터 송신 장치(100) 또는 데이터 수신 장치(200) 내부로 출력한다. 또한, 입력 드라이버들(20-1~20-n) 각각은 샘플링 클럭 신호(clk_s)에 응답하여 대응하는 수신 데이터 신호(Rx_D1~Rx_D2)를 구동하여 입력 데이터 신호(Rxd_D1~Rxd_Dn)를 출력한다. 또한, 일반적으로 초기화 신호(ini) 및 선택 신호(sel)는 다른 신호들보다 훨씬 낮은 주파수를 가지며, 출력 드라이버들(12) 각각은 상기 초기화 신호(ini) 및 선택 신호(sel)를 구동하여 출력하고, 입력 드라이버들(22) 각각은 외부로부터 입력된 수신 초기화 신호(Rx_ini) 및 수신 선택 신호(Rx_sel)를 구동하여 수신제어부(210)로 출력한다.
데이터 송신 장치(100)는 레퍼런스 클럭 신호(clkr), 초기화 신호(ini), 선택 신호(sel) 및 지연 데이터 신호들(D1_d~Dn_d)을 각각 대응하는 출력 드라이버(10, 12)를 통해 구동하여 데이터 수신 장치(200)로 출력하고, 입력 드라이버(20)를 통해 데이터 수신 장치(200)로부터 출력되는 락 신호(lock_sig)를 입력받는다. 송신 제어부(110)는 레퍼런스 클럭 신호(clkr), 초기화 신호(ini), 선택 신호(sel) 및 데이터 신호들(D1~Dn)을 출력한다. 즉, 송신 제어부(110)는 정상 동작 시에는 상기 데이터 신호들(D1~Dn)을 하나의 데이터 프레임으로 출력하고, 데이터 프레임 락 동작 시에는 상기 초기화 신호(ini)를 활성화시키고, 소정의 패턴을 가지는 데이터 신호들(D1~Dn)을 상기 레퍼런스 클럭 신호(clkr)에 동기시켜 출력하고, 락 신호(lock_sig)에 응답하여 선택 신호(sel)를 출력한다. 상기 데이터 신호들(D1~Dn) 각각은 복수개의 비트로 구성된 직렬 신호이고, 초기화 신호(ini)는 데이터 프레임 락 동작 등을 포함하는 초기화 동작 시에 활성화된다. 복수개의 지연부들(10-1~10-n) 각각은 대응하는 지연코드(C1~Cn)에 응답하여 입력되는 데이터 신호(D1~Dn)를 소정 시간 지연시켜 지연 데이터 신호(D1_d~Dn_d)를 출력한다. 즉, 복수개의 지연부들(10-1~10-n) 각각은 대응하는 지연코드(C1~Cn)에 의해 지연 시간이 달라진다. 지연제어부(130)는 초기화 신호(ini), 레퍼런스 클럭 신호(clkr) 및 락 신호(lock_sig)에 응답하여 상기 지연 코드들(C1~Cn) 각각을 변화시키고, 데이터 프레임 락 과정이 끝났는지를 판단하여 락 종료 신호(lock_end)를 출력한다. 도시하지 않았지만, 지연제어부(130)는 레지스터, 카운터, 및 디먹스 등으로 구성될 수 있다.
데이터 수신 장치(200)는 입력 드라이브들(20, 22)을 통해 수신 레퍼런스 클럭 신호(Rx_clkr), 수신 선택 신호(Rx_sel) 및 수신 초기화 신호(Rx_ini)를 입력받고, 입력 드라이버들(20-1~20-n)을 통해 수신 데이터 신호들(Rx_D1 ~Rx_Dn)을 입력받고, 출력 드라이버(10)를 통해 락 신호(lock_sig)를 출력한다. 수신 제어부(210)는 입력 드라이버(20)를 통해 구동된 입력 레퍼런스 클럭 신호(Rxd_clkr) 및 입력 드라이버(22)를 통해 구동된 입력 초기화 신호(Rxd_ini)에 응답하여 프레임 클럭 신호들(clk_f)을 출력한다. 선택부(220)는 입력 선택 신호(Rxd_sel)에 응답하여 입력 드라이버들(10)을 통해 구동된 입력 데이터 신호들(Rxd_D1~Rxd_Dn) 중 하나를 선택하여 선택 데이터 신호(D_sel)를 출력한다. 락 신호 발생부(230)는 상기 선택부(220)로부터 출력된 선택 데이터 신호(D_sel)를 이용하여 락 신호(lock_sig)를 출력한다. 예를 들면, 락 신호 발생부(230)는 다수 판정 회로(voter) 등으로 구성될 수 있으며, 소정 시간동안 선택 데이터 신호(D_sel)를 연속적으로 입력하여 입력된 선택 데이터 신호(D_sel)가 하이 레벨일 경우가 다수인 경우에는 하이 레벨의 락 신호(lock_sig)를 출력하고, 로우 레벨일 경우가 다수인 경우에는 로우 레벨의 락 신호(lock_sig)를 출력하도록 구성될 수 있다.
도 2에 나타낸 데이터 송수신 시스템의 데이터 송신 장치(100) 및 데이터 수신 장치(200) 각각은 반도체 장치로 구성될 수 있다. 만일, 도 2에 나타낸 데이터 송수신 시스템이 반도체 메모리 시스템에 적용될 경우, 데이터 송신 장치(100)는 메모리 컨트롤러에 해당하게 되고, 데이터 수신 장치(200)는 반도체 메모리 장치에 해당하게 된다. 이 경우, 데이터 송신 장치(100)는 어드레스 신호, 리드/라이트 신호 등 명령 신호 및 데이터 신호를 추가적으로 출력하게 되고, 데이터 수신 장치(200)는 상기 어드레스 신호 및 리드/라이트 신호에 응답하여 데이터 송신 장치(200)로부터 출력된 데이터를 저장하거나 메모리 장치(미도시)에 저장된 데이터를 데이터 송신 장치(200)로 출력하게 된다.
도 3a 및 도 3b는 도 2에 나타낸 종래의 데이터 송수신 시스템에서 프레임 락 과정을 설명하기 위한 도면으로서, 데이터 신호(D1~Dn)의 수가 3개인 경우를 예시한 것이다. 도 3a는 데이터 프레임 락 과정에서 에러가 발생하지 않은 경우를, 도 3b는 데이터 프레임 락 과정에서 에러가 발생한 경우를 각각 나타낸 것이며, 도 3a 및 도 3b에서 A는 데이터 프레임 락 과정을 거치지 않은 상태를, B는 프레임 락 과정을 거친 후의 상태를 각각 나타낸 것이다. 또한, 도 3a 및 도 3b에서 clkr은 송신 제어부(110)로부터 출력되는 레퍼런스 클럭 신호를, clk_f는 수신 제어부(210)로부터 출력되는 프레임 클럭 신호를, Rx_D1~Rx_D3 각각은 데이터 수신 장치(200)의 입력 드라이버(20-1~20-n)로 입력되는 수신 데이터 신호를 각각 나타낸다.
상술한 바와 같이, 데이터 송신 장치(100)의 송신 제어부(110)는 정상 동작 시 데이터 신호들을 하나의 데이터 프레임으로 출력하므로, 데이터 수신 장치(200)의 입력 드라이버들로 입력되는 수신 데이터 신호들(Rx_D1~Rx_D3)도 전체가 하나의 데이터 프레임을 구성하게 된다. 예를 들면, 수신 데이터 신호들(Rx_D1~Rx_D3)의 d0는 명령 신호로, d1, d2, 및 d3는 어드레스 신호로 각각 구성되거나, 또는 d0는 명령신호, d1 및 d2의 일부분은 어드레스 신호, d2의 나머지 부분 및 d3는 라이트 데이터 신호로 구성되는 등 수신 데이터 신호들(Rx_D1~Rx_D3)은 하나의 데이터 프레임으로서 다양하게 구성될 수 있다.
도 2 및 도 3을 참고하여 종래의 데이터 송수신 시스템에서의 데이터 프레임 락 과정을 설명하면 다음과 같다.
송신 제어부(110)로부터 출력된 레퍼런스 클럭 신호(clkr) 및 초기화 신호(ini) 각각은 대응하는 출력 드라이버(10) 및 입력 드라이버(20)를 통해 수신 제어부(210)로 입력된다. 또한, 송신 제어부(110)는 데이터 프레임 락 동작시 초기화 신호(ini)를 활성화시킨 후 소정의 패턴을 가지는 데이터 신호(D1~D3)를 출력한다. 예를 들면, 입력 데이터 신호들(Rx_D1~Rx_D3) 각각의 d0는 "1"의 논리값을, d1, d2, 및 d3는 "0"의 논리값을 가지도록 데이터 신호(D1~D3)를 출력한다. 또한, 송신 제어부(110)는 먼저 데이터 수신 장치(200)의 선택부(220)가 입력 데이터 신호(Rxd_D1)를 선택 데이터 신호(D_sel)로 출력하도록 선택 신호(sel)를 출력한다.
수신 제어부(210)는 입력 드라이버(20)를 통해 구동된 입력 초기화 신호(Rxd_ini)에 응답하여 입력 드라이버(20)를 통해 구동된 입력 레퍼런스 클럭 신호(Rxd_clkr)를 이용하여 소정의 주기를 가지는 프레임 클럭 신호(clk_f)를 출력한 다.
데이터 송신 장치(100)의 송신 제어부(110)로부터 출력된 데이터 신호(D1~Dn)들 각각은 대응하는 지연부(120-1~120-n)에 의해 소정 시간 지연되고, 대응하는 출력 드라이버(10)를 통해 데이터 수신 장치(200)로 출력되고, 데이터 수신 장치(200)로 입력되는 수신 데이터 신호들(Rx_D1~Rx_Dn) 각각은 대응하는 입력 드라이버(20-1~20-n)에 의해 구동된다. 이 때, 입력 드라이버들(20-1~20-n) 각각은 수신 제어부(210)로부터 출력된 프레임 클럭 신호(clk_f)의 상승 에지에서 입력하는 수신 데이터 신호(Rx_D1~Rx_Dn)를 구동하여 입력 데이터 신호(Rxd_D1_Rxd_Dn)를 출력한다.
선택부(220)는 입력 선택 신호(Rxd_sel)에 응답하여 입력 데이터 신호(Rxd_D1)를 선택하여 선택 데이터 신호(D_sel)로 출력하고, 락 신호 발생부(230)는 선택 데이터 신호(D_sel)를 입력하여 입력 데이터 신호(Rxd_D1)가 락 되었는지 판단하여 락 되었다면 락 신호(lock_sig)를 활성화시킨다. 상술한 바와 같이, 락 신호 발생부(230)는 다수 판정 회로(voter) 등으로 구성될 수 있다. 예를 들어, 상술한 바와 같이 송신 제어부(110)가 수신 데이터 신호들(Rx_D1~Rx_D3)의 d0만 "1"이고, 나머지는 "0"인 신호를 출력하였다면, 락 신호 발생부(230)는 소정 시간동안 선택 데이터 신호(D_sel)를 연속적으로 입력하여 입력된 선택 데이터 신호(D_sel)가 "0"이 다수인 경우에는 데이터 프레임 락이 되지 않았다고 보고 로우 레벨의 락 신호(lock_sig)를 출력하고, "1"이 다수인 경우에는 데이터 프레임 락이 되었다고 보고 하이 레벨의 락 신호(lock_sig)를 출력한다. 상기 락 신호(lock_sig)가 하이 레벨이 되면 송신 제어부(110)는 선택부(220)가 입력 데이터 신호(Rxd_D2)를 선택하여 출력하도록 선택 신호(sel)를 출력한다.
지연제어부(130)는 상기 락 신호(lock_sig)가 로우 레벨인 동안에는 지연 코드(C1)를 변화시켜 데이터 신호(D1)가 지연되는 정도를 변화시키고, 상기 락 신호(lock_sig)가 하이 레벨이 되면 그 시점에서의 지연 코드(C1)를 고정시키고, 다시 락 신호(lock_sig)가 하이 레벨이 될 때까지 지연 코드(C2)를 변화시킨다. 이러한 과정을 반복한 후, 지연제어부(130)는 상기 락 신호(lock_sig)가 3번 활성화되면 데이터 프레임 락 과정이 끝났다고 판단하고 락 종료 신호(lock_end)를 활성화 시킨다.
즉, 도 2에 나타낸 데이터 입출력 시스템의 경우, 초기화 신호(ini)가 활성화되면 데이터 프레임 락 과정을 시작한다. 송신 제어부(110)는 수신 데이터 신호들(Rx_D1~Rx_Dn) 각각의 d0는 "1", d1, d2, 및 d3은 "0"이 되도록 출력한다. 다음으로, 락 신호 발생부(230)는 프레임 클럭 신호(clk_f)의 상승 에지에서의 입력 데이터 신호(Rx_D1)를 판단하여 "0"이면 로우 레벨의 락 신호(lock_sig)를 출력하고, "1"이면 하이 레벨의 락 신호(lock_sig)를 출력한다. 지연제어부(130)는 락 신호(lock_sig)가 로우 레벨이면 입력 데이터 신호(Rx_D1)가 왼쪽으로 쉬프트 되도록, 즉, 수신 데이터 신호(Rx_D1)가 소정 시간 앞당겨지도록 지연 코드(C1)를 변화시킨다. (지연 제어부(130)는 데이터 프레임 락 동작시 수신 데이터 신호들이 소정 시간 지연되도록 지연 코드를 변화시킬 수도 있다.) 락 신호(lock_sig)가 하이 레벨이 되면 선택부(220)는 입력 데이터 신호(Rxd_D2)를 선택하여 출력하고, 락 신호 발생부(230) 및 지연 제어부(130)는 나머지 입력 데이터 신호들(Rx_D2~Rx_Dn)에 대해 상기 과정을 반복한다. 이러한 과정을 통해서 도 3a의 A에 나타낸 수신 데이터 신호들(Rx_D1~Rx_D3) 각각은 도 3a의 B에 나타낸 바와 같이 샘플링 클럭(clk_s)의 상승 에지에서 d0가 위치하도록 조정된다. 이후 데이터 비트 락 과정을 통해 수신 데이터 신호들(Rx_D1~Rx_D3)은 보다 세밀하게 조정된다.
그런데, 도 3b의 A에 나타낸 바와 같이, 입력 데이터 신호(Rx_D2)의 d0가 다른 입력 데이터 신호들과는 다르게 프레임 클럭 신호(clk_f)의 상승 에지보다 앞선 경우에는 상술한 데이터 프레임 락 과정을 거치게 되면 도 3b의 B에 나타낸 바와 같이 수신 데이터 신호(Rx_D2)만 한 프레임 앞서게 되는 에러가 발생하게 되며, 이 경우, 데이터 수신 장치(200)가 수신한 전체 수신 데이터 프레임(Rx_D1~Rx_D3)은 데이터 송신 장치(100)에서 출력한 데이터 프레임(D1~D3)과는 다른 값을 가지게 된다. 예를 들면, 첫 번째 데이터 프레임은 명령 및 어드레스 신호이고, 두 번째 데이터 프레임은 라이트 데이터 신호인 경우, 프레임 클럭 신호(clk_f)의 상승에지를 기준으로 보면 수신 데이터 신호들(Rx_D1, Rx_D3)을 구성하는 데이터들(d0~d3)은 명령 및 어드레스 신호이지만, 수신 데이터 신호(Rx_D2)를 구성하는 데이터들(d0~d3)은 데이터 신호가 되어 원하는 동작을 할 수 없게 된다. 즉, 데이터 프레임 락 과정에서 에러가 발생한다.
이 경우, 종래의 데이터 송수신 시스템에서는 이러한 데이터 프레임 락 과정에서 발생한 에러를 감지할 수 없었으며, 또한, 이를 보정할 수 있는 방법도 없는 문제점이 있었다.
본 발명의 목적은 데이터 프레임 락 과정에서 발생한 에러를 감지하고 이를 보정할 수 있는 데이터 송수신 시스템을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 일형태는 레퍼런스 클럭 신호 및 복수개의 데이터 신호들을 출력하는 송신 제어부, 복수개의 지연코드들 중 대응하는 지연코드에 응답하여 상기 복수개의 데이터 신호들 중 대응하는 데이터 신호를 소정 시간 지연시켜 지연 데이터 신호를 출력하는 복수개의 지연부들, 데이터 프레임 락 동작시 상기 복수개의 지연코드들을 입력하여 에러 발생 여부를 판단하고, 판단 결과에 따라 에러신호를 출력하는 에러판단부, 및 상기 데이터 프레임 락 동작시 상기 복수개의 지연코드들의 초기값을 설정하고, 락 신호에 응답하여 상기 복수개의 지연코드들 각각을 변화시켜 출력하고, 상기 에러신호에 응답하여 상기 복수개의 지연코드들을 재설정하는 지연제어부를 구비하는 데이터 송신 장치, 및 상기 데이터 프레임 락 동작시 상기 레퍼런스 클럭 신호 및 상기 복수개의 지연 데이터 신호들을 입력하여 데이터 프레임 락 여부를 판단하고, 판단 결과에 따라 상기 락 신호를 출력하는 데이터 수신 장치를 구비하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 일형태의 상기 송신 제어부는 상기 락 신호에 응답하여 선택 신호를 추가적으로 출력하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 일형태의 상기 데이터 수신 장치는 상기 데이터 프레임 락 동작시 상기 레퍼런스 클럭 신호를 입력하여 프레임 클럭 신호를 출력하는 수신제어부, 상기 프레임 클럭 신호에 응답하여 상기 복수개의 지연 데이터 신호들 중 대응하는 지연 데이터 신호를 입력하여 입력 데이터 신호를 출력하는 복수개의 입력 드라이버들, 상기 선택 신호에 응답하여 상기 복수개의 입력 데이터 신호들 중 하나를 선택하여 선택 데이터 신호를 출력하는 선택부, 및 상기 선택 데이터 신호를 입력하여 데이터 프레임 락 여부를 판단하고, 상기 락 신호를 출력하는 락 신호 발생부를 구비하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 상기 데이터 송신 장치의 상기 송신제어부는 상기 복수개의 데이터 신호들을 데이터 프레임으로 출력하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 다른 형태는 레퍼런스 클럭 신호 및 복수개의 데이터 신호들을 출력하는 데이터 송신 장치, 및 데이터 프레임 락 동작시 상기 레퍼런스 클럭 신호를 입력하여 프레임 클럭 신호를 출력하는 수신제어부, 상기 프레임 클럭 신호에 응답하여 상기 복수개의 데이터 신호들 중 대응하는 데이터 신호를 입력하여 입력 데이터 신호를 출력하는 복수개의 입력 드라이버들, 상기 선택 신호에 응답하여 상기 복수개의 입력 데이터 신호들 중 하나를 선택하여 선택 데이터 신호를 출력하는 선택부, 상기 선택 데이터 신호를 입력하여 데이터 프레임 락 여부를 판단하고, 상기 락 신호를 출력하는 락 신호 발생부, 복수개의 지연코드들 중 대응하는 지연코드에 응답하여 상기 복수개의 입력 데이터 신호들 중 대응하는 입력 데이터 신호를 소정 시간 지연시켜 지연 데이터 신호를 출력하는 복수개의 지연부들, 상기 데이터 프레임 락 동작시 상기 복수개의 지연코드들을 입력하여 에러 발생 여부를 판단하고, 판단 결과에 따라 에러신호를 출력하는 에러판단부, 및 상기 데이터 프레임 락 동작시 상기 복수개의 지연코드들의 초기값을 설정하고, 상기 락 신호에 응답하여 상기 복수개의 지연코드들 각각을 변화시켜 출력하고, 상기 에러신호에 응답하여 상기 복수개의 지연코드들을 재설정하는 지연제어부를 구비하는 데이터 수신 장치를 구비하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 다른 형태의 상기 데이터 송신 장치는 상기 복수개의 데이터 신호들을 데이터 프레임으로 출력하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 일형태 및 다른 형태의 상기 에러판단부는 상기 복수개의 지연코드들 각각의 차이값들을 계산하여 출력하는 감산부, 상기 차이값들 각각을 소정의 기준값과 비교하여 비교결과들을 출력하는 비교부, 및 상기 비교결과들을 입력하여 상기 에러신호를 출력하는 에러신호 발생부를 구비하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 일형태 및 다른 형태의 상기 지연제어부의 일 형태는 초기값을 기초로 상기 락 신호가 활성화될 때까지 코드를 변화시켜 출력하는 카운터, 상기 코드를 입력하여 상기 복수개의 지 연코드들 중 하나로 저장하고, 저장된 상기 지연코드를 출력하는 복수개의 레지스터들, 상기 선택 신호에 응답하여 상기 코드를 상기 복수개의 레지스터들 중 하나로 출력하는 레지스터 선택부, 및 상기 데이터 프레임 락 동작시 상기 락 신호에 응답하여 상기 카운터의 초기값을 설정하고, 상기 에러 신호 및 상기 락 신호에 응답하여 상기 카운터의 초기값을 재설정하는 설정부를 구비하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 일형태 및 다른 형태의 상기 지연제어부의 다른 형태는 초기값을 기초로 상기 락 신호가 활성화될 때까지 코드를 변화시켜 출력하는 카운터, 상기 코드를 입력하여 상기 복수개의 지연코드들 중 하나로 저장하고, 저장된 상기 지연코드를 출력하는 복수개의 레지스터들, 상기 락 신호에 응답하여 상기 코드를 상기 복수개의 레지스터들 중 하나로 출력하는 레지스터 선택부, 및 상기 데이터 프레임 락 동작시 상기 락 신호에 응답하여 상기 카운터의 초기값을 설정하고, 상기 에러 신호에 응답하여 상기 복수개의 레지스터들 중 가장 큰 값을 가지는 지연코드를 저장하는 레지스터에 저장된 지연코드만 소정의 값만큼 감소시키는 설정부를 구비하는 것을 특징으로 하고, 상기 설정부는 상기 에러판단부의 상기 비교부로부터 출력되는 상기 비교결과를 입력하여 가장 큰 값을 가지는 지연코드가 저장된 레지스터를 검출하거나, 상기 에러판단부의 상기 감산부로부터 출력되는 상기 차이값들을 입력하여 가장 큰 값을 가지는 지연코드가 저장된 레지스터를 검출하거나, 상기 복수개의 레지스터들에 저장된 복수개의 지연코드들을 입력하여 가장 큰 값을 가지는 지연코드가 저장된 레지스터 를 검출하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 다른 형태의 상기 지연제어부는 또다른 형태는 초기값을 기초로 상기 락 신호가 활성화될 때까지 코드를 변화시켜 출력하는 카운터, 상기 코드를 입력하여 상기 복수개의 지연코드들 중 하나로 저장하고, 저장된 상기 지연코드를 출력하는 복수개의 레지스터들, 상기 선택 신호에 응답하여 상기 코드를 상기 복수개의 레지스터들 중 하나로 출력하는 레지스터 선택부, 및 상기 데이터 프레임 락 동작시 상기 락 신호에 응답하여 상기 카운터의 초기값을 설정하는 설정부를 구비하고, 상기 송신제어부는 상기 에러신호에 응답하여 상기 프레임 클럭 신호를 소정 시간 앞당겨 출력하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템의 일형태 및 다른 형태의 상기 지연제어부는 상기 클럭 신호를 입력하여 카운트 클럭 신호를 발생하는 카운트 클럭 발생부를 더 구비하고, 상기 카운터는 상기 카운트 클럭 신호에 응답하여 상기 코드를 변화시키는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 데이터 송수신 시스템은 상기 데이터 송신 장치는 메모리 컨트롤러이고, 상기 데이터 수신 장치는 반도체 메모리 장치인 것을 특징으로 한다.
따라서, 본 발명의 데이터 송수신 시스템은 데이터 프레임 락 과정에서 발생한 에러를 감지하고, 이를 보정할 수 있다.
이하, 첨부된 도면을 참고로 하여 본 발명의 데이터 송수신 시스템을 설명하면 다음과 같다.
도 4는 본 발명의 데이터 송수신 시스템의 일실시예의 구성을 나타내는 것으로, 데이터 송신 장치(101) 및 데이터 수신 장치(200)로 구성되어 있으며, 데이터 송신 장치(101)는 송신 제어부(110), 복수개의 지연부들(120-1~120-n), 지연제어부(132), 및 에러 판단부(140)와 복수개의 출력 드라이버들(10, 12) 및 입력 드라이버(20, 22)로 구성되어 있으며, 데이터 수신 장치(200)는 수신제어부(210), 선택부(220) 및 락 신호 발생부(230)와 복수개의 입력 드라이버들(20, 20-1~20-n) 및 출력 드라이버(10)로 구성되어 있다.
도 4에 나타낸 블럭들 각각의 기능을 설명하면 다음과 같다.
송신제어부(110), 복수개의 지연부들(120-1~120-n), 수신제어부(210), 선택부(220), 락 신호 발생부(230), 및 출력 드라이버들(10, 12)과 입력 드라이버들(20, 20-1~20-n, 22)의 기능은 도 2에서 설명한 것과 동일하다.
지연제어부(132)는 데이터 프레임 락 동작시 초기화 신호(ini)에 응답하여 복수개의 지연코드들(C1~Cn)의 초기값을 설정하고, 락 신호(lock_sig)에 응답하여 상기 복수개의 지연코드들(C1~Cn) 각각을 변화시켜 출력하고, 에러판단부(140)로부터 출력되는 에러신호(err)에 응답하여 지연코드들(C1~Cn)을 재설정한다. 지연코드들(C1~Cn) 각각을 변화시킬 때, 송신 제어부(110)로부터 출력되는 레퍼런스 클럭 신호(clkr)를 이용하여 지연코드들(C1~Cn) 각각을 순차적으로 변화시키도록 구성될 수 있다.
에러판단부(140)는 상기 데이트 프레임 락 동작시 상기 지연 코드들(C1~Cn)을 입력하여 에러 여부를 판단하고, 판단 결과에 따라 에러신호(err)를 출력한다. 에러판단부(140)는 락 신호(lock_sig)에 응답하여 동작하도록 구성될 수 있다. 예를 들면, 락 신호(lock_sig)가 n번 활성화된 경우, 즉, 데이터 프레임 락 과정이 종료된 경우에만 소정의 시간 동안 에러 판단부(140)가 동작하도록 구성될 수 있다. 이 경우, 에러판단부(140)에 의해 소모되는 전력을 최소화할 수 있고, 또한 데이터 프레임 락 과정을 포함한 초기화 동작이 종료된 후에는 데이터 송신 장치(101)에 아무런 영향을 미치지 않게 된다.
도 5는 도 4에 나타낸 본 발명의 데이터 송수신 시스템의 데이터 송신 장치(101)의 에러판단부(140)의 실시예의 구성을 나타내는 것으로서, 복수개의 감산기들(141-1~141-m)을 구비하는 감산부(141), 복수개의 비교기들(142-1~142-m)을 구비하는 비교부(142), 에러신호 발생부(143) 및 인에이블 신호 발생부(144)로 구성되어 있다.
도 5에 나타낸 블록들 각각의 기능을 설명하면 다음과 같다.
감산부(141)는 복수개의 지연코드들(C1~Cn)을 입력하여 상기 복수개의 지연코드들(C1~Cn) 각각의 차이값들(D1~Dm)을 계산하여 출력한다. 즉, 복수개의 감산기들(141-1~141-m) 각각은 인에이블 신호(en)에 응답하여 입력되는 지연 코드들의 차이값을 계산하여 출력한다. 또한, 복수개의 감산기들(141-1~141-m) 각각은 필요한 경우, 입력되는 지연 코드들을 연산하여 부호를 포함하는 차이값을 출력하도록 구 성될 수도 있다.
비교부(142)는 상기 차이값들(D1~Dm)을 소정의 기준값과 비교하여 비교결과들(R1~Rm)을 출력한다. 즉, 복수개의 비교기들(142-1~142-m) 각각은 상기 인에이블 신호(en)에 응답하여 입력되는 차이값과 소정의 기준값을 비교하여 상기 차이값이 상기 기준값보다 작다면 "0"의 논리값을 가지는 비교결과를 출력하고, 상기 차이값이 상기 기준값보다 크다면 "1"의 논리값을 가지는 비교결과를 출력한다. 또한, 복수개의 비교기들(142-1~142-m) 각각도 필요한 경우 부호를 포함하는 비교결과를 출력하도록 구성될 수도 있다. 예를 들면, 감산기들(141-1~141-m) 각각이 부호를 포함하는 차이값을 출력하는 경우, 비교기들(142-1~142-m) 각각은 상기 차이값의 절대값이 기준값보다 작다면 "0"의 논리값을 가지는 비교결과를 출력하고, 상기 차이값의 절대값이 기준값보다 크고, 양의 값을 가지면 "1"의 논리값을 가지는 비교결과를 출력하고, 상기 차이값의 절대값이 기준값보다 크고, 음의 값을 가지면 "-1"의 논리값을 가지는 비교결과를 출력하도록 구성될 수도 있다.
에러신호 발생부(143)는 상기 비교결과신호에 응답하여 에러신호(err)를 출력한다. 에러신호 발생부(143)는 OR 게이트로 구성될 수 있으며, 이 경우 상기 비교결과신호들(R1~Rm) 모두가 "0"이면 로우 레벨의 에러신호(err)를 출력하고, 상기 비교결과신호들(R1~Rm) 중 하나라도 "1"이면 하이 레벨의 에러신호(err)를 출력한다.
인에이블 신호 발생부(144)는 락 신호(lock_sig)에 응답하여 인에이블 신호(en)를 발생시킨다. 예를 들면, 인에이블 신호 발생부(144)는 카운터 등으로 구 성되어 락 신호(lock_sig)가 n번 활성화 되면 인에이블 신호(en)를 발생하는 것으로 구성될 수 있다.
즉, 도 3b를 참고하면, 데이터 프레임 락 과정에서 에러가 발생한 경우에는 지연 코드(C2)와 다른 지연 코드들(C1,C3)의 차이값이 다른 지연 코드들(C1, C3) 사이의 차이값보다 크다는 것을 알 수 있다. 따라서, 도 5에 나타낸 본 발명의 데이터 송수신 시스템의 에러 판단부(140)의 실시예는 상기 지연 코드들(C1~Cn) 각각의 차이값을 계산하여 모든 차이값이 소정의 기준값보다 작으면 데이터 프레임 락 과정에서 에러가 발생하지 않은 것으로 판단하여 에러신호(err)를 비활성화시키고, 차이값들 중 일부라도 상기 소정의 기준값보다 크면 데이터 프레임 락 과정에서 에러가 발생한 것으로 판단하여 에러신호(err)를 활성화시킨다. 상기 기준값은 한 프레임 내의 데이터의 비트수에 따라 달라지며, 데이터 송수신 시스템에 따라 실험적으로 결정될 수 있다.
도 6은 도 4에 나타낸 본 발명의 데이터 송수신 시스템의 데이터 송신 장치(101)의 지연제어부(132)의 실시예의 구성을 나타낸 것으로서, 복수개의 레지스터들(133-1~133-n), 레지스터 선택부(134), 설정부(135), 카운터(136) 및 카운트 클럭 발생부(137)를 구비하여 구성되어 있다.
도 6에 나타낸 블록들 각각의 기능을 설명하면 다음과 같다.
설정부(135)는 데이터 프레임 락 동작시 락 신호(lock_sig)에 응답하여 카운터(136)의 초기값(set)을 설정하고, 에러신호(err) 및 락 신호(lock_sig)에 응답하여 상기 카운터(136)의 초기값(set)을 재설정한다. 즉, 데이터 프레임 락 동작시 초기화 신호(ini)가 활성화되면 카운터의 초기값을 소정의 값으로 설정하고, 락 신호(lock_sig)가 활성화되면 상기 소정의 값으로 카운터의 초기값을 설정한다. 에러신호(err)가 활성화되면 카운터의 초기값을 상기 소정의 값과는 다른 값으로 재설정하고, 이후에 락 신호(lock_sig)가 활성화되면 상기 재설정된 값으로 카운터의 초기값을 설정한다.
카운터(136)는 상기 초기값을 기초로 락 신호(lock_sig)에 응답하여 코드(cd)를 변화시켜 출력한다. 카운터(136)는 카운트 클럭(clk_c)에 응답하여 상기 코드(cd)를 변화시켜 출력하도록 구성될 수 있다. 예를 들면, 상기 설정 또는 재설정된 초기값(set)을 기초로 락 신호(lock_sig)가 활성화될 때까지 카운트 클럭(clk_c)에 응답하여 코드(cd)를 변화시켜 출력한다.
카운트 클럭 발생부(137)는 레퍼런스 클럭 신호(clkR)를 입력하여 카운트 클럭 신호(clk_c)을 출력한다. 카운트 클럭 신호(clk_c)의 주기는 락 신호 발생부(230)가 선택 데이터 신호(D_sel)를 연속적으로 입력하는 시간에 의해 결정된다.
레지스터 선택부(134)는 상기 선택 신호(sel)에 응답하여 카운터(136)로부터 출력되는 코드(cd)를 복수개의 레지스터들(133-1~133-n) 중 하나로 출력한다.
복수개의 레지스터들(133-1~133-n) 각각은 대응하는 코드(cd1~cdn)를 저장하고 지연 코드(C1~Cn)를 출력한다.
도시하지는 않았지만, 설정부(135)는 에러신호(err)에 응답하여 복수개의 레지스터들(133-1~133-n) 중 가장 큰 값을 가지는 지연코드를 저장하는 레지스터에 저장된 지연코드만 소정의 값만큼 감소시키도록 구성될 수도 있다.
도 6에 나타낸 본 발명의 데이터 송수신 시스템의 지연제어부의 실시예의 동작을 설명하면 다음과 같다.
데이터 프레임 락 동작시 초기화 신호(ini)가 활성화되면 설정부(135)는 카운터(136)의 초기값을 소정의 값으로 설정한다. 즉, 코드(cd)의 초기값을 설정한다. 카운터(136)는 락 신호(lock_sig)가 활성화 될 때까지 카운트 클럭 신호(clk_c)에 응답하여 코드(cd)를 설정된 초기값에서부터 증가시키거나 감소시켜 출력한다. 레지스터 선택부(134)는 송신제어부(110)로부터 출력되는 선택 신호(sel)에 응답하여 카운터(136)로부터 출력되는 코드(cd)를 레지스터(133-1)로 출력한다. 락 신호(lock_sig)가 활성화되면 그 때의 코드(cd)가 레지스터(133-1)에 저장된다.
또한, 락 신호(lock_sig)가 활성화 되면 설정부(135)는 다시 카운터(136)로부터 출력되는 코드(cd)의 초기값을 상기 소정의 값으로 설정하고, 송신제어부(110)는 카운터(136)로부터 출력되는 코드(cd)가 레지스터(133-2)로 입력되도록 선택 신호(sel)를 출력한다. 상기 과정을 반복하여 모든 레지스터들(133-1~133-n) 각각에 대응하는 지연 코드(C1~Cn)가 저장되고, 에러신호(err)가 활성화 되지 않으면 데이터 프레임 락 과정을 종료한다. 그러나, 에러신호(err)가 활성화되면 설정부(135)는 카운터(136)로부터 출력되는 코드(cd)의 초기값을 상기 소정의 값과 다른 값으로 재설정하고, 상기 과정을 반복하게 된다.
또한, 상술한 바와 같이 에러신호(err)가 활성화되면 설정부(135)는 상기 복수개의 지연코드들(C1~Cn) 중 가장 큰 값을 가지는 지연코드를 검출하여 검출된 지 연코드만 소정의 값만큼 감소시키고, 데이터 프레임 락 과정을 종료하도록 구성될 수도 있다. 이 경우, 설정부(135)는 도 5에 나타낸 에러 판단부(140)로부터 비교 결과들(R1~Rn) 또는 차이값들(D1~Dn)을 추가적으로 입력받아 이를 해석하여 가장 큰 값을 가지는 지연 코드를 검출하거나(이 경우, 상기 비교결과들(R1~Rn) 또는 차이값들(D1~Dn)은 부호를 포함하여야 한다), 레지스터들(133-1~133-n)에 저장된 지연코드들(C1~Cn)을 입력하여 가장 큰 값을 가지는 지연코드를 검출하고, 상기 지연 코드가 저장된 레지스터의 값만 수신 데이터 신호가 한 프레임 지연될 수 있도록 변경시켜 저장하도록 구성될 수 있다. 예를 들면, 도 3b에서 가장 변화가 큰 지연 코드는 C2가 되고, 이 경우 수신 데이터 신호(Rx_D2)만 한 프레임 지연되도록 레지스터(133-2)에 저장된 값을 변경하도록 구성될 수 있다.
도 7은 본 발명의 데이터 송수신 시스템의 다른 실시예의 블록도로서, 데이터 송신 장치(102) 및 데이터 수신 장치(202)로 구성되어 있으며, 데이터 송신 장치(102)는 송신 제어부(110) 및 복수개의 출력 드라이버들(10)과 입력 드라이버(20)로 구성되어 있으며, 데이터 수신 장치(202)는 수신 제어부(210), 복수개의 지연부들(120-1 ~ 120-n), 선택부(220), 락 신호 발생부(230), 지연제어부(139), 및 에러판단부(140)와 복수개의 입력 드라이버들(20, 20-1 ~ 20-n) 및 출력 드라이버(10)로 구성되어 있다.
도 7에 나타낸 블록들 각각의 기능 및 동작을 설명하면 다음과 같다.
송신 제어부(110), 수신 제어부(210), 락 신호 발생부(230), 복수개의 지연부들(120-1~120-n) 및 복수개의 출력 드라이버들(10)과 복수개의 입력 드라이버 들(20, 20-1~20-n)의 기능 및 동작은 도 2에서 설명한 것과 동일하고, 에러 판단부(140)의 기능 및 동작은 도 4 및 도 5에서 설명한 것과 동일하다.
지연 제어부(139)는 입력 초기화 신호(Rxd_ini) 및 락 신호(lock_sig)에 응답하여 지연코드들(C1~Cn)의 초기값을 설정하고, 에러판단부(140)로부터 출력되는 에러신호(err) 및 락 신호(lock_sig)에 응답하여 지연 코드들(C1~Cn)의 초기값을 재설정하고, 락 신호(lock_sig) 및 입력 클럭 신호(Rxd_clk)에 응답하여 상기 지연 코드들(C1~Cn) 각각을 변화시킨다. 지연 제어부(139)는 도 6에서 초기화 신호(ini) 및 레퍼런스 클럭 신호(clkr) 대신 입력 초기화 신호(Rxd_ini) 및 입력 레퍼런스 클럭 신호(Rxd_clkr)가 각각 입력되는 것과 동일한 구성을 가질 수 있다. 선택부(221)는 입력 선택 신호(Rxd_sel)에 응답하여 복수개의 지연부들(120-1~120-n)로부터 출력되는 지연 데이터 신호들(D1_d~Dn_d) 중 하나를 선택하여 선택 데이터 신호(D_sel)를 출력한다.
즉, 도 7에 나타낸 본 발명의 데이터 송수신 시스템의 다른 실시예는 복수개의 지연부들(120-1~120-n), 지연 제어부(139) 및 에러 판단부(140)가 데이터 수신 장치(202)에 위치한 것을 제외하면 도 4에 나타낸 본 발명의 데이터 송수신 시스템의 일실시예와 동일하다.
도시하지는 않았지만, 도 7의 경우, 에러 판단부(140)로부터 출력되는 에러신호(err)가 수신 제어부(210)로 입력되도록 하고, 데이터 프레임 락 과정에서 에러가 발생한 경우 수신 제어부(210)에서 프레임 클럭 신호(clk_f)를 소정 시간 지연시키거나 앞당기고 다시 데이터 프레임 락 과정을 수행하도록 구성될 수도 있다.
도 8a 내지 8c는 본 발명의 데이터 송수신 시스템에서 데이터 프레임 락 과정에서 에러가 발생한 경우 이를 검출하고 보정하는 방법을 설명하기 위한 도면으로서, 송신제어부(110)로부터 출력되는 데이터 신호의 수가 3개인 경우를 예시한 것이다. 도 8a 내지 도 8c에서 A는 최초 데이터 프레임 락 과정이 수행되기 전을, B는 데이터 프레임 락 과정이 수행되었으나 에러가 발생한 경우를 각각 나타낸 것으로서, 도 3b에 나타낸 것과 동일한 도면이다. 또한, 도 8a 및 도 8b에서 C는 데이터 프레임 락 과정에서 에러가 발생한 경우 초기값을 변경시킨 상태를, D는 초기값을 변경시키고 다시 데이터 프레임 락 과정을 수행함으로써 에러가 보정된 상태를 각각 나타낸 것이고, 도 8c에서 C는 데이터 프레임 락 과정에서 에러가 발생한 경우 특정 레지스터의 값만 변경시킴으로써 데이터 프레임 락 과정에서 발생한 에러가 보정된 상태를 나타낸 것이다. 도 8a 내지 도 8c에서 clkr은 송신 제어부(110)로부터 출력되는 레퍼런스 클럭 신호를, clk_f는 수신 제어부(210)로부터 출력되는 프레임 클럭 신호를, Rx_D1~Rx_Dn은 데이터 수신 장치(200)의 입력 드라이브들(20-1~20-n)로 입력되는 수신 데이터 신호를 각각 나타낸다.
도 8a 내지 8c 및 도 4 내지 7을 참고하여 본 발명의 데이터 송수신 시스템에서 데이터 프레임 락 과정에서 발생한 에러를 감지하고 이를 보정하는 방법을 설명하면 다음과 같다.(에러가 발생하였는지 여부를 판단하는 기준값은 2UI로 설정하였다고 가정한다.)
먼저 도 8a는 데이터 프레임 락 과정에서 에러가 발생한 경우에 지연 제어부(132 또는 139)에서 카운터(136)로부터 출력되는 코드(cd)의 초기값을 새로 설정 함으로써 에러를 보정하는 경우를 나타낸 것이다.
도 8a의 A 및 B를 살펴보면 도 3b에서 설명한 바와 같이 데이터 신호(Rx_D2)만 프레임 클럭 신호(clk_f)의 상승 에지보다 앞서있기 때문에 데이터 프레임 락 과정에서 에러가 발생한다. 이 경우, 데이터 프레임 락 과정을 수행하고 나면 지연코드들(C1, C2, C3) 각각은 약 0UI, 3.5UI, 0.5UI가 된다. 에러 판단부(140)의 감산부(141)는 지연 제어부(132)출력되는 지연 코드들(C1, C2, C3) 각각의 차이값들(D1, D2, D3)을 계산하게 된다. 계산 결과 차이값의 최대값은 C2-C1이 되고, 이는 약 3.5UI에 해당한다. 따라서, 비교기(142-1)에서 출력되는 비교 결과 신호(R1)는 "1"의 논리값을 가지게 되고, 결과적으로 에러신호(err)는 하이 레벨이 된다. 즉, 데이터 프레임 락 과정에서 에러가 발생하였음을 감지하게 된다.
도 8a의 C는 지연 제어부(132)의 초기값 설정부(135)에서 초기값을 새로 설정하고 데이터 프레임 락 과정을 거치기 전의 상태를 나타낸 도면이다.
하이 레벨의 에러 신호(err)가 입력되면, 지연 제어부(132)의 초기값 설정부(135)는 카운터(136)로부터 출력되는 코드(cd)의 초기값을 새로 설정한다. 즉, 상기 코드(cd)의 초기값은 지연 코드들(C1~Cn) 각각의 초기값이 되므로, 상기 코드(cd)의 초기값을 바꾸면 지연 코드들(C1~Cn)의 초기값도 변하므로 지연부들(120-1~120-n)이 지연하는 정도도 변하게 된다. 따라서, 수신 데이터 신호들(Rx_D1~Rx_Dn)이 도 8a의 A보다 소정 시간(약 1UI 정도, 또는 그 이상에 해당하는 시간) 더 지연되도록 코드(cd)의 초기값을 새로 설정하게 되면 도 8a의 C와 같은 상태가 된다.
도 8a의 D는 초기값을 새로 설정하고 다시 데이터 프레임 락 과정을 수행한 상태를 나타낸 도면이다.
도 2 및 도 3에서 설명한 것과 동일한 방법으로 데이터 프레임 락 과정을 수행하게 되면 프레임 클럭(clk_f)의 상승 에지에서 수신 데이터 신호들(Rx_D1~Rx_Dn)의 d0가 위치하도록 지연 코드들(C1', C2', C3')이 다시 설정된다.
다음으로, 다시 에러 판단부(140)는 상술한 방법과 동일한 방법으로 데이터 프레임 락 과정에서 에러가 발생하였는지 판단한다. 즉, 지연 코드들(C1', C2', C3') 각각의 차이값들을 계산한다. 도 8a의 D에서 보면, C1', C2', 및 C3'은 각각 약 0.5UI, 0UI, 1.5UI가 되고, 각각의 차이값들은 모두 기준값(2UI)보다 작게 된다. 따라서, 에러 판단부(140)의 비교부(142)로부터 출력되는 비교 결과 신호들(R1~Rn)은 모두 "0"이 되고, 에러신호 발생부(143)는 로우 레벨의 에러신호(err)를 출력한다. 즉, 데이터 프레임 락 과정에서 에러가 발생하지 않았다고 판단하고 데이터 프레임 락 과정을 종료한다. 결과적으로 데이터 프레임 락 과정에서 발생한 에러를 보정할 수 있게 된다.
도 8a에 나타낸 방법은 도 4 또는 도 7에 나타낸 바와 같이 지연부들(120-1~120-n), 지연 제어부(132) 및 에러 판단부(140)가 데이터 송신 장치에 위치하는 경우뿐만 아니라 데이터 수신 장치에 위치하는 경우에도 적용 가능하다.
다음으로, 도 8b는 데이터 프레임 락 과정에서 에러가 발생한 경우에 프레임 클럭 신호(clk_f)를 소정 시간 지연시키거나 앞당김으로써 에러를 보정하는 경우를 나타낸 것이다.
도 8b의 A 및 B는 도 8a의 A 및 B와 동일한 타이밍도로서, 데이터 프레임 락 과정에서 에러가 발생하였는지 여부를 판단하는 과정은 도 8a에서 설명한 것과 동일하다. 즉, 데이터 프레임 락 과정에서 에러가 발생하였으므로 에러 판단부(140)는 하이 레벨의 에러신호(err)를 출력한다.
도 8b의 C는 프레임 클럭 신호(clk_f)를 소정 시간 앞당긴 상태를 나타낸 것이다. 즉, 에러 판단부(140)에서 출력되는 하이 레벨의 에러신호(err)가 수신 제어부(210)로 입력되면 수신 제어부(210)는 프레임 클럭 신호(clk_f)를 소정시간 앞당겨서 출력한다.
도 8b의 D는 프레임 클럭 신호(clk_f)를 소정 시간 앞당긴 후 다시 데이터 프레임 락 과정을 수행한 상태를 나타낸 것이다.
도 8b의 D를 참고하여 보면, 프레임 클럭 신호(clk_f)를 소정 시간 앞당긴 후 데이터 프레임 락 과정을 수행하게 되면 지연 제어부(132)에서 출력되는 지연 코드들(C1', C2', C3')은 각각 약 1UI, 0.5UI, 2UI 정도가 된다. 지연 코드들(C1', C2', C3') 각각의 차이값은 모두 기준값(2UI)보다 작으므로, 에러 판단부(140)는 로우 레벨의 에러신호(err)를 출력한다. 즉, 데이터 프레임 락 과정에서 에러가 발생하지 않았다고 판단하고 데이터 프레임 락 과정을 종료한다. 따라서, 데이터 프레임 락 과정에서 발생한 에러를 보정할 수 있다.
도 8b에 나타낸 방법은 도 7에 나타낸 바와 같이 지연부들(120-1~120-n), 지연 제어부(139) 및 에러 판단부(140) 등이 데이터 수신 장치(202)에 위치하고 있는 경우에 적용 가능하다.
다음으로, 도 8c는 데이터 프레임 락 과정에서 에러가 발생한 경우에 수신 데이터 신호들 중 가장 앞선 수신 데이터 신호만 한 프레임 지연시켜 에러를 보정하는 경우를 나타낸 도면이다.
도 8c의 A 및 B는 도 8a의 A 및 B와 동일한 도면으로서, 데이터 프레임 락 과정에서 에러가 발생하였는지 여부를 판단하는 과정은 도 8a에서 설명한 것과 동일하다. 즉, 데이터 프레임 락 과정에서 에러가 발생하였으므로 에러 판단부(140)는 하이 레벨의 에러신호(err)를 출력한다.
도 8c의 C는 수신 데이터 신호들 중 가장 앞선 수신 데이터 신호만 한 프레임 지연시킨 상태를 나타낸 것이다.
수신 데이터 신호들 중 가장 앞선 수신 데이터 신호의 지연정도를 결정하는 지연코드는 다른 지연코드들보다 더 크다. 따라서, 에러 판단부(140)에서 하이 레벨의 에러신호(err)가 출력되면, 지연제어부(132 또는 139)는 상기 지연코드(C1~C3)들 중 가장 큰 값을 가지는 지연코드를 검출하여 검출된 지연코드의 값만 소정의 값만큼 감소시킨다. 도 8c를 참고하면, 가장 앞선 수신 데이터 신호는 Rx_D2이고, 수신 데이터 신호(Rx_D2)의 지연정도를 결정하는 지연코드는 C2가 가장 큰 값을 가지는 지연코드이다. 이 경우, 지연제어부(132 또는 139)는 지연코드(C2)를 저장하는 레지스터(133-2)에 저장된 값을 수신 데이터 신호(Rx_D2)가 현재보다 한 프레임 지연될 수 있도록 변경한다. 상술한 바와 같이, 지연 제어부(132 또는 139)는 에러 판단부(140)로부터 에러신호(err) 이외에 다른 신호들(R1~Rn 또는 D1~Dn)을 입력받아 이를 해석하여 가장 앞선 수신 데이터 신호가 무엇인지 판단할 수도 있고, 레지스터들(133-1~133-n)에 저장되어 있는 지연코드들(C1~Cn)을 직접 비교하여 가장 큰 값을 가지는 지연 코드(예를 들면, 도 8c에서 C2)를 검출하는 방법으로 가장 앞선 수신 데이터 신호가 무엇인지 판단할 수도 있다.
도 8c의 C에 나타낸 바와 같이, 가장 앞선 수신 데이터 신호(Rx_D2)만 한 프레임 지연시키게 되면 모든 수신 데이터 신호들(Rx_D1~Rx_Dn)의 d0가 프레임 클럭 신호(clk_f)의 상승 에지에 위치하게 된다. 따라서, 추가적인 데이터 프레임 락 과정을 수행하지 않고 바로 데이터 프레임 락 과정을 종료하게 된다.
도 8c에 나타낸 방법은 도 4 또는 도 7에 나타낸 바와 같이 지연부들(120-1~120-n), 지연 제어부(132) 및 에러 판단부(140)가 데이터 송신 장치에 위치하는 경우뿐만 아니라 데이터 수신 장치에 위치하는 경우에도 적용 가능하다.
즉, 본 발명의 데이터 송수신 시스템은 데이터 프레임 락 과정이 끝나고 나면 지연제어부(132 또는 139)로부터 복수개의 지연부들(120-1~120-n) 각각으로 출력되는 지연코드들(C1~Cn) 상호간의 차이값들을 계산하고, 상기 차이값들과 소정의 기준값을 비교함으로써 데이터 프레임 락 과정에서 에러가 발생하였는지 여부를 알 수 있다. 상술한 바와 같이 상기 기준값은 한 프레임을 구성하는 데이터의 수에 따라 달라지며, 데이터 송수신 시스템에 따라 실험적으로 결정될 수 있다.
또한, 데이터 프레임 락 과정에서 에러가 발생한 경우, 즉, 상기 차이값들 중 어느 하나라도 상기 기준값보다 큰 경우에는 상기 지연 코드들(C1~Cn)의 초기값을 새로 설정하거나, 프레임 클럭 신호(clk_f)를 소정시간 앞당기고 (또는 지연시키고) 다시 데이터 프레임 락 과정을 수행함으로써, 또는 가장 앞선 데이터 신호의 지연정도를 결정하는 지연코드만 상기 데이터 신호가 한 프레임 정도 지연되도록 변경함으로써 데이터 프레임 락 과정에서 발생한 에러를 보정할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 분리된 I/O 포트 및 멀티 칩 패키지 기술이 적용되는 반도체 메모리 시스템의 일반적인 구성을 나타내는 것이다.
도 2는 종래의 데이터 송수신 시스템의 구성을 나타내는 것이다.
도 3a 및 도 3b는 종래의 데이터 송수신 시스템에서 데이터 프레임 락 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 데이터 송수신 시스템의 일실시예의 구성을 나타내는 것이다.
도 5는 도 4에 나타낸 본 발명의 데이터 송수신 시스템의 에러판단부의 실시예의 구성을 나타내는 것이다.
도 6은 도 4에 나타낸 본 발명의 데이터 송수신 시스템의 지연제어부의 실시예의 구성을 나타내는 것이다.
도 7은 본 발명의 데이터 송수신 시스템의 다른 실시예의 구성을 나타내는 것이다.
도 8a 내지 도 8c는 본 발명의 데이터 송수신 시스템에서 데이터 프레임 락 과정에서 발생한 에러를 감지하고 이를 보정하는 과정을 설명하기 위한 도면이다.
Claims (24)
- 레퍼런스 클럭 신호 및 복수개의 데이터 신호들을 출력하는 송신제어부,복수개의 지연코드들 중 대응하는 지연코드에 응답하여 상기 복수개의 데이터 신호들 중 대응하는 데이터 신호를 소정 시간 지연시켜 지연 데이터 신호를 출력하는 복수개의 지연부들,데이터 프레임 락 동작시 상기 복수개의 지연코드들을 입력하여 에러 발생 여부를 판단하고, 판단 결과에 따라 에러신호를 출력하는 에러판단부, 및상기 데이터 프레임 락 동작시 상기 복수개의 지연코드들의 초기값을 설정하고, 락 신호에 응답하여 상기 복수개의 지연코드들 각각을 변화시켜 출력하고, 상기 에러신호에 응답하여 상기 복수개의 지연코드들을 재설정하는 지연제어부를 구비하는 데이터 송신 장치; 및상기 데이터 프레임 락 동작시 상기 레퍼런스 클럭 신호 및 상기 복수개의 지연 데이터 신호들을 입력하여 데이터 프레임 락 여부를 판단하고, 판단 결과에 따라 상기 락 신호를 출력하는 데이터 수신 장치를 구비하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제1항에 있어서, 송신제어부는상기 복수개의 데이터 신호들을 데이터 프레임으로 출력하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제1항에 있어서, 상기 에러판단부는상기 복수개의 지연코드들 각각의 차이값들을 계산하여 출력하는 감산부;상기 차이값들 각각을 소정의 기준값과 비교하여 비교결과들을 출력하는 비교부; 및상기 비교결과들을 입력하여 상기 에러신호를 출력하는 에러신호 발생부를 구비하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제3항에 있어서, 상기 송신 제어부는상기 락 신호에 응답하여 선택 신호를 추가적으로 출력하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제4항에 있어서, 상기 데이터 수신 장치는상기 데이터 프레임 락 동작시 상기 레퍼런스 클럭 신호를 입력하여 프레임 클럭 신호를 출력하는 수신 제어부;상기 프레임 클럭 신호에 응답하여 상기 복수개의 지연 데이터 신호들 중 대응하는 지연 데이터 신호를 입력하여 입력 데이터 신호를 출력하는 복수개의 입력 드라이버들;상기 선택신호에 응답하여 상기 복수개의 입력 데이터 신호들 중 하나를 선택하여 선택 데이터 신호를 출력하는 선택부; 및상기 선택 데이터 신호를 입력하여 데이터 프레임 락 여부를 판단하고, 상기 락 신호를 출력하는 락 신호 발생부를 구비하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제4항에 있어서, 상기 지연제어부는초기값을 기초로 상기 락 신호가 활성화될 때까지 코드를 변화시켜 출력하는 카운터;상기 코드를 입력하여 상기 복수개의 지연코드들 중 하나로 저장하고, 저장된 상기 지연코드를 출력하는 복수개의 레지스터들;상기 선택 신호에 응답하여 상기 코드를 상기 복수개의 레지스터들 중 하나로 출력하는 레지스터 선택부; 및상기 데이터 프레임 락 동작시 상기 락 신호에 응답하여 상기 카운터의 초기값을 설정하고, 상기 에러 신호 및 상기 락 신호에 응답하여 상기 카운터의 초기값을 재설정하는 설정부를 구비하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제6항에 있어서, 상기 지연제어부는상기 레퍼런스 클럭 신호를 입력하여 카운트 클럭 신호를 발생하는 카운트 클럭 발생부를 더 구비하고,상기 카운터는 상기 카운트 클럭 신호에 응답하여 상기 코드를 변화시키는 것을 특징으로 하는 데이터 송수신 시스템.
- 제4항에 있어서, 상기 지연제어부는초기값을 기초로 상기 락 신호가 활성화될 때까지 코드를 변화시켜 출력하는 카운터;상기 코드를 입력하여 상기 복수개의 지연코드들 중 하나로 저장하고, 저장된 상기 지연코드를 출력하는 복수개의 레지스터들;상기 선택 신호에 응답하여 상기 코드를 상기 복수개의 레지스터들 중 하나로 출력하는 레지스터 선택부; 및상기 데이터 프레임 락 동작시 상기 락 신호에 응답하여 상기 카운터의 초기값을 설정하고, 상기 에러 신호에 응답하여 상기 복수개의 레지스터들 중 가장 큰 값을 가지는 지연코드를 저장하는 레지스터에 저장된 지연코드만 소정의 값만큼 감소시키는 설정부를 구비하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제8항에 있어서, 상기 설정부는상기 에러판단부의 상기 비교부로부터 출력되는 상기 비교결과를 입력하여 가장 큰 값을 가지는 지연코드가 저장된 레지스터를 검출하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제8항에 있어서, 상기 설정부는상기 에러판단부의 상기 감산부로부터 출력되는 상기 차이값들을 입력하여 가장 큰 값을 가지는 지연코드가 저장된 레지스터를 검출하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제8항에 있어서, 상기 설정부는상기 복수개의 레지스터들에 저장된 복수개의 지연코드들을 입력하여 가장 큰 값을 가지는 지연코드가 저장된 레지스터를 검출하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제1항에 있어서, 상기 데이터 송수신 시스템은상기 데이터 송신 장치는 메모리 컨트롤러이고,상기 데이터 수신 장치는 반도체 메모리 장치인 것을 특징으로 하는 데이터송수신 시스템.
- 선택 신호, 레퍼런스 클럭 신호 및 복수개의 데이터 신호들을 출력하는 데이터 송신 장치; 및데이터 프레임 락 동작시 상기 레퍼런스 클럭 신호를 입력하여 프레임 클럭 신호를 출력하는 수신제어부,상기 프레임 클럭 신호에 응답하여 상기 복수개의 데이터 신호들 중 대응하는 데이터 신호를 입력하여 입력 데이터 신호를 출력하는 복수개의 입력 드라이버들,복수개의 지연코드들 중 대응하는 지연코드에 응답하여 상기 복수개의 입력 데이터 신호들 중 대응하는 입력 데이터 신호를 소정 시간 지연시켜 지연 데이터 신호를 출력하는 복수개의 지연부들,상기 선택신호에 응답하여 상기 복수개의 지연 데이터 신호들 중 하나를 선택하여 선택 데이터 신호를 출력하는 선택부,상기 선택 데이터 신호를 입력하여 데이터 프레임 락 여부를 판단하고, 상기 락 신호를 출력하는 락 신호 발생부,상기 데이터 프레임 락 동작시 상기 복수개의 지연코드들을 입력하여 에러 발생 여부를 판단하고, 판단 결과에 따라 에러신호를 출력하는 에러판단부, 및상기 데이터 프레임 락 동작시 상기 복수개의 지연코드들의 초기값을 설정하고, 상기 락 신호에 응답하여 상기 복수개의 지연코드들 각각을 변화시켜 출력하고, 상기 에러신호에 응답하여 상기 복수개의 지연코드들을 재설정하는 지연제어부를 구비하는 데이터 수신 장치를 구비하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제13항에 있어서, 상기 데이터 송신 장치는상기 복수개의 데이터 신호들을 데이터 프레임으로 출력하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제13항에 있어서, 상기 에러판단부는상기 복수개의 지연코드들 각각의 차이값들을 계산하여 출력하는 감산부;상기 차이값들 각각을 소정의 기준값과 비교하여 비교결과들을 출력하는 비교부; 및상기 비교결과들을 입력하여 상기 에러신호를 출력하는 에러신호 발생부를 구비하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제13항에 있어서, 상기 지연제어부는초기값을 기초로 상기 락 신호가 활성화될 때까지 코드를 변화시켜 출력하는 카운터;상기 코드를 입력하여 상기 복수개의 지연코드들 중 하나로 저장하고, 저장된 상기 지연코드를 출력하는 복수개의 레지스터들;상기 선택 신호에 응답하여 상기 코드를 상기 복수개의 레지스터들 중 하나로 출력하는 레지스터 선택부; 및상기 데이터 프레임 락 동작시 상기 락 신호에 응답하여 상기 카운터의 초기값을 설정하고, 상기 에러 신호 및 상기 락 신호에 응답하여 상기 카운터의 초기값을 재설정하는 설정부를 구비하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제16항에 있어서, 상기 지연제어부는상기 레퍼런스 클럭 신호를 입력하여 카운트 클럭 신호를 발생하는 카운트 클럭 발생부를 더 구비하고,상기 카운터는 상기 카운트 클럭 신호에 응답하여 상기 코드를 변화시키는 것을 특징으로 하는 데이터 송수신 시스템.
- 제15항에 있어서, 상기 지연제어부는초기값을 기초로 상기 락 신호가 활성화될 때까지 코드를 변화시켜 출력하는 카운터;상기 코드를 입력하여 상기 복수개의 지연코드들 중 하나로 저장하고, 저장된 상기 지연코드를 출력하는 복수개의 레지스터들;상기 선택 신호에 응답하여 상기 코드를 상기 복수개의 레지스터들 중 하나로 출력하는 레지스터 선택부; 및상기 데이터 프레임 락 동작시 상기 락 신호에 응답하여 상기 카운터의 초기값을 설정하고, 상기 에러 신호에 응답하여 상기 복수개의 레지스터들 중 가장 큰 값을 가지는 지연코드를 저장하는 레지스터에 저장된 지연코드만 소정의 값만큼 감소시키는 설정부를 구비하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제18항에 있어서, 상기 설정부는상기 에러판단부의 상기 비교부로부터 출력되는 상기 비교결과를 입력하여 가장 큰 값을 가지는 지연코드가 저장된 레지스터를 검출하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제18항에 있어서, 상기 설정부는상기 에러판단부의 상기 감산부로부터 출력되는 상기 차이값들을 입력하여 가장 큰 값을 가지는 지연코드가 저장된 레지스터를 검출하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제18항에 있어서, 상기 설정부는상기 복수개의 레지스터들에 저장된 복수개의 지연코드들을 입력하여 가장 큰 값을 가지는 지연코드가 저장된 레지스터를 검출하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제13항에 있어서, 상기 지연제어부는초기값을 기초로 상기 락 신호가 활성화될 때까지 코드를 변화시켜 출력하는 카운터;상기 코드를 입력하여 상기 복수개의 지연코드들 중 하나로 저장하고, 저장된 상기 지연코드를 출력하는 복수개의 레지스터들;상기 선택 신호에 응답하여 상기 코드를 상기 복수개의 레지스터들 중 하나로 출력하는 레지스터 선택부; 및상기 데이터 프레임 락 동작시 상기 락 신호에 응답하여 상기 카운터의 초기값을 설정하는 설정부를 구비하고,상기 송신제어부는 상기 에러신호에 응답하여 상기 프레임 클럭 신호를 소정 시간 앞당겨 출력하는 것을 특징으로 하는 데이터 송수신 시스템.
- 제22항에 있어서, 상기 지연제어부는상기 레퍼런스 클럭 신호를 입력하여 카운트 클럭 신호를 발생하는 카운트 클럭 발생부를 더 구비하고,상기 카운터는 상기 카운트 클럭 신호에 응답하여 상기 코드를 변화시키는 것을 특징으로 하는 데이터 송수신 시스템.
- 제13항에 있어서, 상기 데이터 송수신 시스템은상기 데이터 송신 장치는 메모리 컨트롤러이고,상기 데이터 수신 장치는 반도체 메모리 장치인 것을 특징으로 하는 데이터 송수신 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080013909A KR101442173B1 (ko) | 2008-02-15 | 2008-02-15 | 데이터 송수신 시스템 및 에러 교정 방법 |
US12/379,080 US8184680B2 (en) | 2008-02-15 | 2009-02-12 | Data transceiver system and associated methods |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080013909A KR101442173B1 (ko) | 2008-02-15 | 2008-02-15 | 데이터 송수신 시스템 및 에러 교정 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090088556A true KR20090088556A (ko) | 2009-08-20 |
KR101442173B1 KR101442173B1 (ko) | 2014-09-18 |
Family
ID=40955072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080013909A KR101442173B1 (ko) | 2008-02-15 | 2008-02-15 | 데이터 송수신 시스템 및 에러 교정 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8184680B2 (ko) |
KR (1) | KR101442173B1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5017348B2 (ja) * | 2009-10-26 | 2012-09-05 | ザインエレクトロニクス株式会社 | 送信装置、受信装置、送受信システムおよび画像表示システム |
JP5753656B2 (ja) * | 2009-12-21 | 2015-07-22 | ザインエレクトロニクス株式会社 | 送受信システムおよび画像表示システム |
WO2012133395A1 (ja) * | 2011-03-30 | 2012-10-04 | 日本電気株式会社 | 無線保守通信機能を有する障害監視装置及び障害監視方法 |
KR101671018B1 (ko) * | 2015-04-22 | 2016-10-31 | (주)이즈미디어 | 스큐 자동 보정 방법 및 장치 |
KR20190087893A (ko) * | 2018-01-17 | 2019-07-25 | 삼성전자주식회사 | 클럭을 공유하는 반도체 패키지 및 전자 시스템 |
KR20220006927A (ko) * | 2020-07-09 | 2022-01-18 | 삼성전자주식회사 | 메모리 컨트롤러, 및 이를 포함하는 스토리지 장치, 및 메모리 시스템 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570944B2 (en) | 2001-06-25 | 2003-05-27 | Rambus Inc. | Apparatus for data recovery in a synchronous chip-to-chip system |
JPH02177783A (ja) | 1988-12-28 | 1990-07-10 | Hitachi Ltd | 記録情報再生装置における外部同期制御用フレーム・ロック検出回路 |
US6567092B1 (en) | 1999-02-10 | 2003-05-20 | Microsoft Corporation | Method for interfacing to ultra-high resolution output devices |
US6777995B1 (en) | 1999-02-26 | 2004-08-17 | Micron Technology, Inc. | Interlaced delay-locked loops for controlling memory-circuit timing |
US7516349B2 (en) | 2005-12-29 | 2009-04-07 | Intel Corporation | Synchronized memory channels with unidirectional links |
US8504788B2 (en) * | 2006-12-20 | 2013-08-06 | Rambus Inc. | Memory controller, system and method for read signal timing calibration |
-
2008
- 2008-02-15 KR KR1020080013909A patent/KR101442173B1/ko active IP Right Grant
-
2009
- 2009-02-12 US US12/379,080 patent/US8184680B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20090207895A1 (en) | 2009-08-20 |
US8184680B2 (en) | 2012-05-22 |
KR101442173B1 (ko) | 2014-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7907693B2 (en) | Semiconductor device, a parallel interface system and methods thereof | |
US7198197B2 (en) | Method and apparatus for data acquisition | |
US7619453B2 (en) | Delay-locked loop (DLL) system for determining forward clock path delay | |
US9225316B2 (en) | Duty cycle correction circuit and operation method thereof | |
KR101442173B1 (ko) | 데이터 송수신 시스템 및 에러 교정 방법 | |
US8687457B2 (en) | Semiconductor memory device and operating method thereof | |
US20090168552A1 (en) | Semiconductor memory device and method for operating the same | |
US10972248B2 (en) | Method of calibrating clock phase and voltage offset, data recovery circuit performing the same and receiver including the same | |
US20220337228A1 (en) | Duty correction device and method, and semiconductor apparatus using the same | |
KR20150033293A (ko) | 위상 감지 장치 및 위상 감지 방법 | |
US8582376B2 (en) | Timing adjustment circuit for a memory interface and method of adjusting timing for memory interface | |
US7224638B1 (en) | Reliability clock domain crossing | |
CN105683932A (zh) | 双向通信方法以及使用该双向通信方法的双向通信设备 | |
US10715308B2 (en) | Transmitting circuit, semiconductor apparatus and semiconductor system configured to use the transmitting circuit | |
US9374096B2 (en) | Semiconductor apparatus and semiconductor system including the same, and method of operating the same | |
US20120026814A1 (en) | Circuit for transmitting and receiving data and control method thereof | |
US11901038B2 (en) | Memory system | |
US8847645B1 (en) | Semiconductor device and semiconductor system including the same | |
US6647507B1 (en) | Method for improving a timing margin in an integrated circuit by setting a relative phase of receive/transmit and distributed clock signals | |
WO2013038562A1 (ja) | 伝送システム、送信装置、受信装置および伝送方法 | |
KR20180068346A (ko) | 반도체 장치 및 그의 동작 방법 | |
JP2018006863A (ja) | 受信回路、受信装置および受信方法 | |
JPWO2013038562A1 (ja) | 伝送システム、送信装置、受信装置および伝送方法 |
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: 20180831 Year of fee payment: 5 |