KR100879560B1 - 에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템 - Google Patents

에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템 Download PDF

Info

Publication number
KR100879560B1
KR100879560B1 KR1020060121798A KR20060121798A KR100879560B1 KR 100879560 B1 KR100879560 B1 KR 100879560B1 KR 1020060121798 A KR1020060121798 A KR 1020060121798A KR 20060121798 A KR20060121798 A KR 20060121798A KR 100879560 B1 KR100879560 B1 KR 100879560B1
Authority
KR
South Korea
Prior art keywords
data
data pattern
error detection
detection code
memory device
Prior art date
Application number
KR1020060121798A
Other languages
English (en)
Other versions
KR20080050908A (ko
Inventor
배승준
장성진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060121798A priority Critical patent/KR100879560B1/ko
Priority to US11/987,611 priority patent/US8161331B2/en
Publication of KR20080050908A publication Critical patent/KR20080050908A/ko
Application granted granted Critical
Publication of KR100879560B1 publication Critical patent/KR100879560B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

데이터 트레이닝 방법 및 이에 적합한 시스템이 개시된다. 본 발명의 일 실시예에 따른 데이터 트레이닝 방법은, (a)소정의 데이터 패턴으로부터 제1 에러 검출 코드를 생성하는 단계; (b)상기 데이터 패턴을 상기 메모리 장치로 전송하는 단계; (c)상기 전송된 데이터 패턴으로부터 제2 에러 검출 코드를 생성하는 단계; (d)상기 제1 에러 검출 코드와 상기 제2 에러 검출 코드를 비교하는 단계; (e)상기 데이터 패턴을 소정 시간 동안 지연시킨 후, 상기 (a) 내지 (d) 단계를 반복하는 단계; (f)상기 비교 결과에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하는 단계를 구비한다.
이로 인해, 본 발명에 따른 데이터 트레이닝 방법 및 이에 적합한 시스템은 메모리 셀의 모든 영역에 데이터가 저장된 경우에도 별도의 데이터 트레이닝을 위한 레지스터를 구비하지 않고 데이터 트레이닝을 수행할 수 있으며, 데이터 판독 동작이 불필요하므로 데이터 트레이닝을 위한 소요시간을 단축할 수 있는 효과가 있다.
데이터 트레이닝, 에러 검출 코드, CRC, 메모리 장치, 메모리 컨트롤러

Description

에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에 적합한 시스템{Method for data training using error detection code and system adapted to the same}
도 1은 종래의 데이터 트레이닝 방법을 나타내는 플로우챠트이다.
도 2는 본 발명의 일 실시예에 따른 데이터 트레이닝 방법을 나타내는 플로우챠트이다.
도 3은 본 발명의 다른 실시예에 따른 데이터 트레이닝 방법을 나타내는 플로우챠트이다.
도 4는 본 발명의 또 다른 실시예에 따른 데이터 트레이닝 방법을 나타내는 플로우챠트이다.
도 5는 본 발명의 일 실시예에 따른 복수의 데이터 핀에 인가되는 데이터 패턴을 나타내는 도면이다.
도 6a는 복수의 데이터 핀에 대한 데이터 트레이닝을 나타내는 타이밍도이고, 도 6b는 각각의 데이터 핀에 대한 데이터 트레이닝을 나타내는 타이밍도이다.
도 7은 본 발명의 일 실시예에 따른 메모리 컨트롤러를 나타내는 블럭도이다.
도 8은 본 발명의 다른 실시예에 따른 메모리 컨트롤러를 나타내는 블럭도이 다.
도 9는 도 8에 도시된 멀티플렉싱부(230)와 지연부(220)를 보다 구체적으로 나타내는 도면이다.
도 10은 본 발명의 또 다른 실시예에 따른 메모리 컨트롤러를 나타내는 블럭도이다.
도 11은 본 발명의 일 실시예에 따른 시스템을 나타내는 블럭도이다.
도 12는 본 발명의 다른 실시예에 따른 시스템을 나타내는 블럭도이다.
본 발명은 반도체 메모리 장치에 관한 것으로서, 보다 구체적으로는 에러 검출 코드(EDC:Error Detection Code)를 이용하여 데이터 트레이닝을 수행하는 데이터 트레이닝 방법 및 이에 적합한 시스템에 관한 것이다.
메모리 장치(예를 들면, DRAM)로부터 데이터를 읽거나 메모리 장치에 데이터를 기록할 때 발생하는 스큐(Skew)를 조절하기 위하여, 데이터 트레이닝( Data training)이 필요하다. 상기 데이터 트레이닝은 메모리 컨트롤러와 메모리 장치 사이에 소정의 데이터 패턴을 인가하여 테스트하고, 상기 테스트 결과를 바탕으로 각각의 데이터 핀에 대한 스큐를 조절하는 기술이다.
도 1은 종래의 데이터 트레이닝 방법을 나타내는 플로우챠트이다.
데이터 트레이닝을 수행할 데이터 핀을 선택한다(S1000). 기록 데이터 패턴 의 지연 시간(i)을 최소로 설정한다(S1010). 소정의 데이터 패턴을 메모리 셀에 기록한 후, 기록된 데이터 패턴을 메모리 셀로부터 판독한다(S1020).
상기 기록 데이터 패턴과 판독 데이터 패턴이 일치하는지 판단한다(S1030).
일치하면, 상기 지연 시간(i)을 1 스텝만큼 증가시킨다(S1040). 그 후 상기 단계들(S1020, S1030)을 반복한다. 일반적으로, 상기 1 스텝은 클록 신호 주기의 1/N에 해당하는 시간이다.
일치하지 않으면, 그때의 지연 시간(t_err)을 저장한다(S1050). 그 후 지연 시간(i)이 미리 정해진 설정 시간(t_max)에 도달했는지를 판단한다(S1060). 일반적으로, 상기 설정 시간은 클록 신호의 주기에 해당하는 시간이다.
상기 설정 시간(t_max)에 도달하지 않은 경우, 상기 지연 시간(i)을 다시 1 스텝만큼 증가시켜(i=i+1) 기록 데이터와 판독 데이터의 일치 여부를 판단한다. 이는, 상기 지연 시간(i)이 상기 설정 시간(t_max)에 도달할 때까지 반복된다.
설정 시간(t_max)에 도달한 경우, 기록 데이터 패턴과 판독 데이터 패턴이 일치하지 않을 때의 지연 시간(t_err)에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정한다(S1070).
하나의 데이터 핀에 대한 최적화된 지연 시간을 결정한 후, 다른 데이터 핀을 선택하여 상기 과정을 반복한다(S1090). 모든 데이터 핀에 대한 데이터 트레이닝이 완료되면 종료한다(S1080).
상기와 같은 종래의 데이터 트레이닝 방법을 이용하면, 각각의 데이터 핀에 대한 스큐의 차이를 알 수 있다. 따라서 컨트롤러가 각각의 데이터 핀에 대해 스큐 를 최소화시킬 수 있는 지연 시간을 설정함으로써, 데이터와 클록 신호의 시간 마진을 최대로 할 수 있다. 따라서 에러 발생 확률도 감소시킬 수 있다.
그러나, 종래의 데이터 트레이닝 방법은, 첫째 메모리 셀의 모든 영역에 데이터가 저장된 경우에는 적용될 수 없고, 둘째 데이터 판독 동작이 필요하므로 시간이 많이 소요되며, 셋째 컨트롤러의 역할이 증대되므로 복잡도가 증가하고, 넷째 메모리 장치가 직접 데이터에 에러가 있는지를 판단할 수 없고, 다섯째 별도의 데이터 트레이닝을 위한 레지스터를 구비하는 경우 면적이 증가하는 문제점이 존재한다.
본 발명이 이루고자 하는 기술적 과제는, 차세대 DRAM에서 사용되는 에러 검출 코드를 이용하여 데이터 트레이닝을 수행함으로써, 기록 동작만으로 데이터 핀에 대한 스큐량을 검출하여 최적화된 데이터 지연 시간을 결정할 수 있는 데이터 트레이닝 방법 및 이에 적합한 시스템을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 차세대 DRAM에서 사용되는 에러 검출 코드를 이용하여 에러 발생 빈도를 계산하고, 이를 통해 데이터 트레이닝 실행 주기를 조절할 수 있는 데이터 트레이닝 방법 및 이에 적합한 시스템을 제공하는 데 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 데이터 트레이닝 방법은, (a)소정의 데이터 패턴으로부터 제1 에러 검출 코드를 생성하는 단 계, (b)상기 데이터 패턴을 상기 메모리 장치로 전송하는 단계, (c)상기 전송된 데이터 패턴으로부터 제2 에러 검출 코드를 생성하는 단계, (d)상기 제1 에러 검출 코드와 상기 제2 에러 검출 코드를 비교하는 단계, (e)상기 데이터 패턴을 소정 시간 동안 지연시킨 후, 상기 (a) 내지 (d) 단계를 반복하는 단계, 및 (f)상기 비교 결과에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하는 단계를 구비하는 것을 특징으로 한다.
바람직하게는, 상기 (b) 단계는, (b1)AC(Alternating Current) 데이터 패턴을 하나의 데이터 전송 라인을 통해 전송하는 단계; 및 (b2)DC(Direct Current) 데이터 패턴을 나머지 데이터 전송 라인을 통해 전송하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 제1 에러 검출 코드 및 상기 제2 에러 검출 코드는, CRC(Cyclic Redundancy Check) 코드인 것을 특징으로 한다.
바람직하게는, (g)상기 비교 결과에 근거하여 에러 발생 빈도를 계산하는 단계; 및 (h)상기 계산된 에러 발생 빈도에 상응하게 상기 데이터 트레이닝의 실행 주기를 조절하는 단계가 부가되는 것을 특징으로 한다.
바람직하게는, 상기 메모리 장치로 전송된 데이터 패턴은, 상기 메모리 장치의 내부에 구비된 메모리 셀에 저장되지 않는 것을 특징으로 한다.
바람직하게는, 상기 (e) 단계는 상기 데이터 패턴을 상기 메모리 장치의 내부 클록 신호 주기의 1/N 단위로 순차적으로 지연시키는 것을 특징으로 한다.
본 발명의 다른 실시예에 따른 데이터 트레이닝 방법은, (a)에러 검출 코드 가 포함된 소정의 데이터 패턴을 메모리 컨트롤러로부터 상기 메모리 장치로 전송하는 단계, (b)상기 메모리 장치 내에서 상기 전송된 데이터 패턴의 에러 발생 여부를 검출하는 단계, (c)상기 에러 발생 여부를 나타내는 에러 검출 비트를 상기 메모리 컨트롤러로 전송하는 단계, (d)상기 에러 검출 코드가 포함된 소정의 데이터 패턴을 소정 시간 동안 지연시킨 후, 상기 (a) 내지 (c) 단계를 반복하는 단계, 및 (e)상기 오류 검출 비트에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 일 실시예에 따른 시스템은, 소정의 데이터 패턴으로부터 제1 에러 검출 코드를 검출하고, 상기 데이터 패턴을 메모리 장치로 전송하는 메모리 컨트롤러, 및 상기 전송된 데이터 패턴으로부터 제2 에러 검출 코드를 검출하고, 상기 제2 에러 검출 코드를 상기 메모리 컨트롤러로 전송하는 메모리 장치를 구비하며, 상기 메모리 컨트롤러는, 상기 데이터 패턴을 소정 시간 동안 지연시켜 상기 메모리 장치로 전송하며, 상기 제1 에러 검출 코드 및 상기 제2 에러 검출 코드의 비교 결과에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하는 것을 특징으로 한다.
바람직하게는, 상기 메모리 컨트롤러는, 상기 메모리 컨트롤러는, 상기 데이터 패턴의 지연 시간을 제어하기 위한 제어 신호를 생성하고, 상기 제1 에러 검출 코드 및 상기 제2 에러 검출 코드의 일치 여부를 비교하며, 그 비교 결과에 근거하여 상기 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하는 데이터 트레이닝 컨트롤러, 상기 제어 신호에 응답하여 클록 신호를 소정 시간 동안 지연시켜 지연 된 클록 신호를 생성하는 타이밍 컨트롤러, 상기 데이터 패턴을 상기 지연된 클록 신호에 동기시켜 출력함으로써, 지연된 데이터 패턴을 생성하는 데이터 지연부, 및 상기 지연된 데이터 패턴으로부터 상기 제1 에러 검출 코드를 생성하는 제1 에러 검출 코드 생성부를 구비하는 것을 특징으로 한다.
바람직하게는, 상기 메모리 컨트롤러는, 상기 메모리 컨트롤러는, 상기 비교 결과에 근거하여 에러 발생 빈도를 계산하는 에러 발생 빈도 계산부를 더 구비하며, 상기 데이터 트레이닝 컨트롤러는, 상기 계산된 에러 발생 빈도에 상응하게 상기 데이터 트레이닝의 실행 주기를 조절하는 것을 특징으로 한다.
본 발명의 다른 실시예에 따른 시스템은, 에러 검출 코드가 포함된 소정의 데이터 패턴을 출력하는 메모리 컨트롤러, 및 상기 데이터 패턴을 입력받아 에러 발생 여부를 검출하고, 상기 에러 발생 여부를 나타내는 에러 검출 비트를 상기 메모리 컨트롤러로 전송하는 메모리 장치를 구비하며, 상기 메모리 컨트롤러는, 상기 데이터 패턴을 소정 시간 동안 지연시켜 상기 메모리 장치로 전송하며, 상기 에러 검출 비트에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는, 본 발명의 바람직한 실시예를 나타내는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지의 구성 또는 기능에 대한 구체적인 설 명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 2는 본 발명의 일 실시예에 따른 데이터 트레이닝 방법을 나타내는 플로우챠트이다.
데이터 트레이닝을 수행할 하나의 데이터 핀을 선택한다. 그 후 데이터 지연 시간(j)을 최소로 설정한다(S1100). 바람직한 최소 지연 시간(t_min)은 0이다. 상기 데이터 지연 시간(j)은 제어 신호에 의해 제어되는 버퍼를 통해 조절할 수 있다. 그 후 소정의 데이터 패턴으로부터 제1 EDC(Error Detection Code)를 생성한다(S1110). 상기 데이터 패턴은 메모리 장치로 전송되기 전의 데이터 패턴이다.
상기 제1 EDC는 CRC(Cyclic Redundancy Check) 방식에서 사용되는 CRC 코드인 것이 바람직하다. 상기 CRC 방식은 신뢰도가 높고 에러 검출을 위한 오버헤드가 적으며, 랜덤 에러나 버스트 에러를 포함한 에러의 검출에 매우 좋은 성능을 가지므로 통신 분야에서 널리 사용된다. CRC 코드의 생성 방법에 대해서는 후술한다.
그 후, 상기 데이터 패턴을 상기 선택된 데이터 핀을 통해 상기 메모리 장치로 전송한다(S1120). 상기 메모리 장치는 상기 전송된 데이터 패턴으로부터 제2 EDC를 생성한다(S1130). 마찬가지로, 상기 제2 EDC는 CRC 코드인 것이 바람직하다. 여기서, 상기 전송된 데이터 패턴은 상기 메모리 장치의 내부에 구비된 메모리 셀에 저장되지 않도록 제어된다.
그 후, 상기 제1 EDC와 제2 EDC를 비교하여 일치 여부를 판단한다(S1140,S1150). 상기 단계들은 하나의 사이클(Cycle)을 구성한다.
일치하는 경우, 상기 데이터 지연 시간(j)을 한 단계 증가시킨 후(S1160), 다음 사이클을 진행한다. 일치하지 않는 경우, 그때의 지연 시간(t_err)을 저장한다(S1170). 상기 저장된 지연 시간(t_err)은 상기 데이터 패턴의 전송 과정에서 스큐로 인한 에러가 발생했을 때의 지연 시간을 나타낸다.
그 후, 상기 지연 시간(j)이 최대에 도달했는지를 판단한다(S1180). 다시 말해, 상기 사이클이 미리 정해진 횟수에 도달했는지를 판단한다. 상기 최대 지연 시간(t_max)은 사용자에 의해 설정되며, 최소 지연 시간(t_min)과 최대 지연 시간(t_max)의 차이가 클록 신호 주기와 동일한 것이 바람직하다.
최대 지연 시간(t_max)에 도달하지 않은 경우, 도달할 때까지 상기 단계들을 반복한다. 최대 지연 시간(t_max)에 도달한 경우, 상기 저장된 지연 시간(t_err)에 근거하여 스큐를 최소화시킬 수 있는 최적화된 지연 시간(t_opt)을 결정한다(S1190). 그 후 최적화된 지연 시간(t_opt)을 선택된 데이터 핀에 대한 기본 세팅 값으로 설정한다. 여기서, 최적화된 지연 시간(t_opt)은 각각의 데이터와 클록 신호 사이의 시간 마진이 최대가 되는 시간을 의미한다.
도 3은 본 발명의 다른 실시예에 따른 데이터 트레이닝 방법을 나타내는 플로우챠트이다.
데이터 트레이닝을 수행할 하나의 데이터 핀을 선택한다. 그 후 소정의 데이터 패턴으로부터 에러 검출 코드(EDC:Error Detection Code)를 생성한다. 그 후 상기 데이터 패턴에 에러 검출 코드를 부가한다(S1200). 상기 에러 검출 코드는 CRC(Cyclic Redundancy Check) 코드인 것이 바람직하다. 상기 CRC 코드를 생성하는 방법을 설명하면 다음과 같다.
생성 다항식(Generator polynomial) G(x)를 선택한다. 상기 생성 다항식 G(x)은 CRC 표준안인 CRC-16, CRC-CCITT, CRC-32 중에서 선택될 수 있다. 상기 데이터 패턴에 상기 CRC 코드 비트 수만큼 차수를 곱하여 다항식 M(x)를 생성한다. 상기 생성된 다항식 M(x)를 상기 선택된 생성 다항식 G(x)로 나누어 나머지를 구한다. 여기서, 나머지가 CRC 코드가 된다.
그 후, 데이터 지연 시간(j)을 최소로 설정한다(S1210). 바람직한 최소 지연 시간(t_min)은 0이다. 상기 데이터 지연 시간(j)은 제어 신호에 의해 제어되는 버퍼를 통해 조절할 수 있다.
그 후, 상기 에러 검출 코드가 포함된 데이터 패턴(이하, 코드워드)을 상기 선택된 데이터 핀을 통해 상기 메모리 장치로 전송한다(S1220). 상기 메모리 장치는 상기 전송된 코드워드로부터 신드롬(Syndrome)을 생성한다. 상기 신드롬은 상기 코드워드를 상기 생성 다항식 G(x)로 나눈 나머지 값을 의미한다.
상기 신드롬이 0이면 에러가 발생하지 않는 것으로 판단한다. 반면, 상기 신드롬이 0이 아니면 에러가 발생한 것으로 판단한다. 상기 신드롬에 근거하여 에러 발생 유무를 나타내는 에러 검출 비트를 생성한다(S1230). 상기 에러 검출 비트는 1비트인 것이 바람직하다.
그 후, 생성된 에러 검출 비트를 메모리 컨트롤러로 전송한다(S1240). 상기 메모리 컨트롤러는 상기 전송된 에러 검출 비트를 통해 에러 발생 유무를 판단한다(S1250). 상기 단계들은 하나의 사이클(Cycle)을 구성한다.
에러가 발생하지 않은 경우, 상기 데이터 지연 시간(j)을 한 단계 증가시킨 후(S1260), 다음 사이클을 진행한다. 에러가 발생한 경우, 그때의 지연 시간(t_err)을 저장한다. 상기 저장된 지연 시간(t_error)은 상기 코드워드의 전송 과정에서 스큐로 인한 에러가 발생했을 때의 지연 시간을 나타낸다.
그 후, 상기 지연 시간(j)이 최대에 도달했는지를 판단한다(S1280). 다시 말해, 상기 사이클이 미리 정해진 횟수에 도달했는지를 판단한다. 상기 최대 지연 시간(t_max)은 사용자에 의해 설정되며, 최소 지연 시간(t_min)과 최대 지연 시간(t_max)의 차이가 클록 신호 주기와 동일한 것이 바람직하다.
최대 지연 시간(t_max)에 도달하지 않은 경우, 도달할 때까지 상기 단계들을 반복한다. 최대 지연 시간(t_max)에 도달한 경우, 상기 저장된 지연 시간(t_err)에 근거하여 스큐를 최소화시킬 수 있는 최적화된 지연 시간(t_opt)을 결정한다(S1290). 그 후 최적화된 지연 시간(t_opt)을 선택된 데이터 핀에 대한 기본 세팅 값으로 설정한다. 여기서, 최적화된 지연 시간(t_opt)은 각각의 데이터와 클록 신호 사이의 시간 마진이 최대가 되는 시간을 나타낸다.
도 4는 본 발명의 또 다른 실시예에 따른 데이터 트레이닝 방법을 나타내는 플로우챠트이다.
데이터 트레이닝을 수행할 하나의 데이터 핀을 선택한다(S1300). 선택된 데이터 핀에 AC(Alternating Current) 데이터 패턴을 인가한다(S1310). 상기 AC 데이터 패턴은 토글링(Toggling)이 존재하는 데이터 패턴이다. 또한 전송 과정에서 왜곡 또는 지연이 발생할 수 있는 데이터 패턴이다.
그 후 나머지 데이터 핀에 DC(Direct Current) 데이터 패턴을 인가한다(S1320). 상기 DC 데이터 패턴은 토글링이 존재하지 않는 데이터 패턴이다. 또한 전송 과정에서 왜곡 또는 지연이 발생할 수 없는 데이터 패턴이다. 예를 들면, 상기 DC 데이터 패턴은 논리 "H"의 데이터가 연속적으로 배열되거나, 논리 "L"인 데이터가 연속적으로 배열된 데이터 패턴이다.
상술한 방법으로 에러 발생 유무를 판단한다. 즉, 메모리 컨트롤러 및 메모리 장치에서 각각 에러 검출 코드를 생성하여 서로 비교하는 방식을 이용하거나, 메모리 장치에서 에러 검출 비트를 생성한 후 메모리 컨트롤러로 전송하는 방식을 이용하여 에러 발생 유무를 판단한다.
한편, 상술한 바와 같이 DC 데이터 패턴은 전송 과정에서 에러가 발생하지 않는다. 그러므로, 에러가 발생한 경우 AC 데이터 패턴에 에러가 발생한 것으로 판단할 수 있다. 따라서, 에러 발생 시점을 기준으로 선택된 데이터 핀에 대한 데이터 지연 시간을 조절하면 상기 선택된 데이터 핀에 대한 데이터 트레이닝을 할 수 있다. 이와 같은 방식을 이용하면, 병렬 데이터에 대해서만 에러 발생 유무를 판단할 수 있는 종래의 EDC 회로를 통해 직렬 데이터에 대한 데이터 트레이닝을 할 수 있다.
도 5는 본 발명의 일 실시예에 따른 복수의 데이터 핀에 인가되는 데이터 패턴을 나타내는 도면이다.
데이터 트레이닝을 수행할 하나의 데이터 핀으로 제1 데이터 핀(DQ0)을 선택 한다. 그 후 상기 제1 데이터 핀(DQ0)에 AC 데이터 패턴을 인가한다. 상기 AC 데이터 패턴은 사용자에 의해 설정되는 랜덤 데이터 패턴이다. 그리고 나머지 데이터 핀(DQ2 ~ DQn)에는 DC 데이터 패턴을 인가한다. 상기 DC 데이터 패턴은 논리 "H"로만 이루어진 데이터 패턴일 수 있다.
상기 제1 데이터 핀(DQ0)에 대한 데이터 트레이닝이 완료되면, 제2 데이터 핀(DQ0)에 AC 데이터 패턴을 인가한다. 그리고 나머지 데이터 핀(DQ0, DQ2 ~ DQn)에는 DC 데이터 패턴을 인가한다. 이와 같은 방식으로 전체 데이터 핀(DQ0 ~ DQn)에 대한 데이터 트레이닝을 수행한다.
도 6a는 복수의 데이터 핀에 대한 데이터 트레이닝을 나타내는 타이밍도이고, 도 6b는 각각의 데이터 핀에 대한 데이터 트레이닝을 나타내는 타이밍도이다.
데이터가 데이터 버스 등을 통해 전송될 때 스큐가 발생할 수 있다. 또한, 상기 스큐의 양은 데이터가 전송되는 전송 라인의 환경에 따라 달라질 수 있다. 따라서 메모리 컨트롤러에서 복수 개의 데이터 핀을 통해 데이터를 동시에 출력할지라도, 메모리 장치의 데이터 핀에 입력되는 시간은 서로 달라질 수 있다.
도 6a의 왼쪽 도면을 참조하면, 스큐로 인해 클록 신호의 라이징 에지에서 유효 데이터가 입력되지 않은 경우, 메모리 장치는 상기 데이터를 정상적으로 판독할 수 없음을 알 수 있다. 이는 셋업 타임(tS)과 홀드 타임(tH)의 마진이 매우 작은 경우에도 마찬가지다.
도 6b의 오른쪽 도면을 참조하면, 전체 데이터 핀에 대한 동일한 지연 시간을 설정함으로써 전체 데이터가 유효하게 판독될 수 있음을 알 수 있다. 그러나 이와 같은 방식을 이용하면, 셋업 타임(tS)과 홀드 타임(tH)의 마진이 줄어들기 때문에 에러가 발생할 가능성은 여전히 남아있게 된다.
도 6b를 오른쪽 도면을 참조하면, 각각의 데이터 핀에 대해 서로 다른 지연 시간을 설정한 경우, 모든 입력 데이터가 클록 신호의 라이징 에지에 정렬됨을 알 수 있다. 이 경우 셋업 타임(tS)과 홀드 타임(tH)의 마진은 최대로 된다. 따라서, 각각의 데이터 핀에 대해 최적화된 지연 시간을 설정하면, 에러가 발생할 가능성이 확연히 줄일 수 있음을 알 수 있다.
도 7은 본 발명의 일 실시예에 따른 메모리 컨트롤러(1)를 나타내는 블럭도이다.
본 발명의 일 실시예에 따른 메모리 컨트롤러(1)는 데이터 트레이닝 컨트롤러(100), 타이밍 컨트롤러(110), 데이터 지연부(120), 클록 발생부(130), 데이터 패턴 생성부(140) 및 제1 CRC 회로(150)를 포함한다.
데이터 트레이닝 컨트롤러(100)는 소정의 제어 신호(CRL)를 생성하여 타이밍 컨트롤러(110)로 출력한다. 타이밍 컨트롤러(110)는 상기 제어 신호(CRL) 및 클록 신호(CLK)를 입력받고, 상기 제어 신호(CRL)에 응답하여 지연된 클록 신호(DCLK)를 생성한다.
데이터 지연부(120)는 소정의 데이터 패턴(DP) 및 지연된 클록 신호(DCLK)를 입력받고, 상기 데이터 패턴(DP)을 상기 지연된 클록 신호(DCLK)에 동기하여 출력 함으로써, 지연된 데이터 패턴(DDP)을 생성한다. 상기 지연된 데이터 패턴(DDP)의 지연 시간은 데이터 트레이닝 컨트롤러(100)에 의해서 제어되며, 디폴트는 0으로 설정된다.
제1 CRC 회로(150)는 상기 지연된 데이터 패턴(DDP)을 입력받고, 상기 지연된 데이터 패턴(DDP)으로부터 제1 CRC(Cyclic Redundancy Check) 코드를 생성한다. 상기 제1 CRC 코드를 생성하는 방법은 상술한 바와 같다. 데이터 지연부(120)는 상기 지연된 데이터 패턴(DDP)을 데이터 핀(미도시)을 통해 메모리 장치(미도시)로 전송한다.
메모리 장치(미도시)는 메모리 컨트롤러(1)로부터 전송된 데이터 패턴(DDP)을 입력받고, 상기 전송된 데이터 패턴(DDP)으로부터 제2 CRC 코드를 생성한다. 그 후 상기 메모리 장치(미도시)는 상기 제2 CRC 코드를 메모리 컨트롤러(1)로 전송한다.
메모리 컨트롤러(100)는 상기 메모리 장치로 전송된 데이터 패턴이 상기 메모리 장치의 내부에 구비된 메모리 셀에 저장되지 않도록 제어 신호(미도시)를 출력한다. 이로 인해, 본 발명에 따르면, 데이터 기록 동작만으로 데이터 트레이닝을 수행할 수 있게 된다..
데이터 트레이닝 컨트롤러(100)는 상기 제1 CRC 코드 및 상기 제2 CRC 코드를 입력받아 비교한다. 이를 위해, 데이터 트레이닝 컨트롤러(100)는 비교기를 구비한다. 상기 데이터 트레이닝 컨트롤러(100)는, 제1 CRC 코드와 상기 제2 CRC 코드가 일치하는 경우 그때의 지연 시간을 저장한다.
데이터 트레이닝 컨트롤러(100)는 소정의 설정 시간(t_set)에 도달할 때까지 상기 지연된 데이터 패턴(DDP)의 지연량을 단계적으로 증가시키며, 각각의 단계마다 상기 제1 CRC 코드 및 상기 제2 CRC 코드의 일치 여부를 비교한다.
데이터 트레이닝 컨트롤러(100)는 지연 시간이 상기 설정 시간(t_set)에 도달하면 상기 제어 신호의 생성을 중지하고, 상기 저장된 지연 시간(t_err)을 바탕으로 최적화된 지연 시간(t_opt)을 결정한다.
도 8은 본 발명의 다른 실시예에 따른 메모리 컨트롤러(2)를 나타내는 블럭도이다.
본 발명의 다른 실시예에 따른 메모리 컨트롤러(2)는 데이터 트레이닝 컨트롤러(200), 타이밍 컨트롤러(210), 데이터 지연부(220), 멀티플렉싱부(230), 제1 CRC 회로(240) 및 에러 발생 빈도 검출부(250)를 구비한다.
멀티플렉싱부(230)는 기록 데이터(WD), AC 데이터 패턴(PRBS) 및 DC 데이터 패턴(VDDQ)을 입력받고, 데이터 트레이닝 컨트롤러(200)로부터 출력되는 선택 신호(SEL)에 응답하여 기록 데이터(WD), AC 데이터 패턴(PRBS) 또는 DC 데이터 패턴(VDDQ) 중 하나를 출력한다.
노말 모드에서, 데이터 트레이닝 컨트롤러(200)는 기록 데이터(WD)를 선택하기 위한 선택 신호(SEL)를 출력한다. 데이터 트레이닝 모드에서, 데이터 트레이닝 컨트롤러(200)는 AC 데이터 패턴(PRBS) 또는 DC 데이터 패턴(VDDQ) 중 하나를 선택하기 위한 선택 신호(SEL)를 출력한다.
데이터 트레이닝 모드에서, 데이터 지연부(220)는 타이밍 컨트롤러(210)로부 터 출력되는 지연된 클록 신호(DCLK)에 응답하여 AC 데이터 패턴(PRBS) 또는 DC 데이터 패턴(VDDQ) 중 하나를 소정 시간 동안 지연시킨 후 출력한다.
에러 발생 빈도 검출부(250)는 메모리 컨트롤러(2)의 내부에 위치하는 제1 CRC 회로(240)로부터 제1 CRC 코드를 입력받고, 메모리 장치(미도시)의 내부에 위치하는 제2 CRC 회로(미도시)로부터 제2 CRC 코드를 입력받는다.
에러 발생 빈도 검출부(250)는 상기 제1 CRC 코드 및 상기 제2 CRC 코드의 일치 여부를 판단하고, 이를 바탕으로 에러 발생 빈도를 검출한다. 이를 위해 에러 발생 빈도 검출부(250)는 비교기(미도시)를 구비한다.
에러 발생 빈도 검출부(250)는 에러 발생 빈도가 소정 값 이상인 경우 데이터 트레이닝의 실행 주기를 증가시키고, 에러 발생 빈도가 소정 값 미만인 경우 데이터 트레이닝의 실행 주기를 감소시킨다. 이를 위해, 에러 발생 빈도 검출부(250)는 데이터 트레이닝 실행 주기와 관련된 레지스터(미도시)의 설정 값을 변경시키기 위한 제어 신호(EPC)를 출력한다.
도 9는 도 8에 도시된 멀티플렉싱부(230)와 데이터 지연부(220)를 보다 구체적으로 나타내는 도면이다.
본 발명에 따른 멀티플렉싱부(230)는 제1 MUX(230-1) 내지 제N MUX(230-N)를 구비하고, 본 발명에 따른 데이터 지연부(220)는 제1 플립플롭(220-1) 내지 제N 플립플롭(220-N)을 구비한다.
제1 MUX(231)는 제1 기록 데이터(WD1), AC 데이터 패턴(PRBS) 및 DC 데이터 패턴(VDDQ)를 입력받고, 제1 선택 신호(SEL1)에 응답하여, 제1 기록 데이터(WD1), AC 데이터 패턴(PRBS) 또는 DC 데이터 패턴(VDDQ) 중 하나를 데이터 지연부(220)로 출력한다. 마찬가지로, 제N MUX(230-N)는 제N 선택 신호(SELn)에 응답하여, 제N 기록 데이터(WDn), DC 데이터 패턴(PRBS) 또는 DC 데이터 패턴(VDDQ) 중 하나를 데이터 지연부(220)로 출력한다.
제1 플립플롭(220-1)은 제1 MUX(230-1)로부터 출력되는 AC 데이터 패턴(PRBS) 또는 DC 데이터 패턴(VDDQ) 중 하나를 임시 저장한 후, 제1 지연된 클록 신호(DCLK1)에 응답하여 출력한다. 마찬가지로, 제N 플립플롭(220-N)은 제N MUX(230-N)로부터 출력되는 AC 데이터 패턴(PRBS) 또는 DC 데이터 패턴(VDDQ) 중 하나를 임시 저장한 후, 제N 지연된 클록 신호(DCLKn)에 응답하여 출력한다.
제1 선택 신호(SEL1)가 AC 데이터 패턴(PRBS)을 선택하기 위한 신호인 경우, 제2 선택 신호 내지 제N 선택 신호(SEL2 ~ SELn)는 DC 데이터 패턴(VDDQ)을 선택하기 위한 신호인 것이 바람직하다. 다시 말해, 하나의 데이터 핀에는 AC 데이터 패턴(PRBS)을 인가하고, 나머지 데이터 핀에는 DC 데이터 패턴(VDDQ)을 인가하여, 각각의 데이터 핀 별로 독립적으로 데이터 트레이닝을 수행하는 것이 바람직하다.
도 10은 본 발명의 또 다른 실시예에 따른 메모리 컨트롤러(3)를 나타내는 블럭도이다.
본 발명의 또 다른 실시예에 따른 메모리 컨트롤러(3)는 데이터 트레이닝 컨트롤러(300), 타이밍 컨트롤러(310), 데이터 지연부(320), 클록 발생부(330), 데이터 패턴 생성부(340) 및 코드워드 생성부(350)를 구비한다. 또한 도 8에 도시된 멀티플렉싱부(230) 및 에러 발생 빈도 검출부(250)를 더 구비할 수 있다.
데이터 트레이닝 컨트롤러(300)는 소정의 제어 신호(CRL)를 생성하여 타이밍 컨트롤러(310)로 출력한다. 타이밍 컨트롤러(310)는 상기 제어 신호(CRL) 및 클록 신호(CLK)를 입력받고, 상기 제어 신호(CRL)에 응답하여 지연된 클록 신호(DCLK)를 생성한다. 상기 클록 신호(CRL)를 생성하기 위한 클록 생성부(330)로 PLL(Phased Locked Loop)가 사용될 수 있다.
코드워드 생성부(350)는 데이터 패턴 생성부(340)로부터 소정의 데이터 패턴(DP)을 입력받고, 상기 데이터 패턴(DP)에 CRC 코드를 부가하여 코드워드(CW)를 생성한다. 상기 코드워드(CW)를 생성하는 방법에 대해서는 상술하였다. 상기 데이터 패턴(DP)은 AC 데이터 패턴 또는 DC 데이터 패턴일 수 있다.
데이터 지연부(320)는 상기 코드워드(CW) 및 지연된 클록 신호(DCLK)를 입력받고, 상기 코드워드(CW)를 상기 지연된 클록 신호(DCLK)에 동기하여 출력함으로써 지연된 코드워드(DCW)를 생성한다. 상기 지연된 코드워드(DCW)는 데이터 핀(미도시)을 통해 메모리 장치(미도시)로 전송한다.
메모리 장치(미도시)는 메모리 컨트롤러(3)로부터 전송된 코드워드(TDCW)를 입력받고, 상기 전송된 코드워드(TDCW)를 상기 메모리 장치(미도시) 내부에 구비된 에러 검출 회로(미도시)로 전송한다.
상기 에러 검출 회로(미도시)는 상기 전송된 코드워드(TDCW)로부터 신드롬(Syndrome)을 생성한다. 상기 신드롬은 상기 전송된 코드워드(TDCW)를 생성 다항식 G(x)로 나눈 나머지 값을 의미한다.
상기 신드롬이 0이면 에러가 발생하지 않은 것으로 판단한다. 반면, 상기 신드롬이 0이 아니면 에러가 발생한 것으로 판단한다. 상기 신드롬에 근거하여 에러 발생 유무를 나타내는 에러 검출 비트(EDB)를 생성한다. 상기 에러 검출 비트(EDB)는 1인 것이 바람직하다.
에러 검출 회로(미도시)는 생성된 에러 검출 비트(EDB)를 메모리 컨트롤러(3)로 전송한다. 정확하게는, 데이터 트레이닝 컨트롤러(300)로 전송한다. 데이터 트레이닝 컨트롤러(300)는 상기 전송된 에러 검출 비트(EDB)를 통해 에러 발생 유무를 판단한다. 데이터 트레이닝 컨트롤러(300)는 에러가 발생한 경우 그때의 지연 시간(t_err)을 저장한다.
데이터 트레이닝 컨트롤러(300)는 소정의 설정 시간(t_set)에 도달할 때까지 상기 지연된 코드워드(DCW)의 지연량을 단계적으로 증가시키며, 각각의 단계마다 상기 에러 발생 유무를 판단한다.
데이터 트레이닝 컨트롤러(300)는 지연 시간이 미리 정해진 설정 시간(t_set)에 도달하면 상기 제어 신호(CRL)의 생성을 중지하고, 상기 저장된 지연 시간(t_err)을 바탕으로 최적화된 지연 시간(t_opt)을 결정한다.
도 11은 본 발명의 일 실시예에 따른 시스템을 나타내는 블럭도이다.
본 발명의 일 실시예에 따른 시스템은 메모리 컨트롤러(4)와 메모리 장치(5) 를 구비한다.
메모리 컨트롤러(4)는 데이터 트레이닝 컨트롤러(400), 타이밍 컨트롤러(410), 데이터 지연부(420), PLL(430), 제1 CRC 회로(440) 및 복수 개의 출력 버퍼들(Tx_C1 ~ Tx_Cn), 제2 CRC 코드 입력 버퍼(Rx_C1)를 구비한다. 또한 복수 개의 입력 버퍼들(미도시)을 더 구비할 수 있다.
메모리 장치(5)는 복수 개의 입력 버퍼들(Rx_D1 ~ Rx_Dn), 제2 CRC 회로(500) 및 제2 CRC 코드 출력 버퍼(Tx_Dn+1)를 구비한다. 또한 복수 개의 출력 버퍼들(Tx_D1 ~ Tx_Dn)을 더 구비할 수 있다.
데이터 기록 모드에서, 데이터 지연부(420)는 기록 데이터(WD0 ~ WDn)를 출력하고, 출력된 기록 데이터(WD0 ~ WDn)는 출력 버퍼들(Tx_C1 ~ Tx_Cn)을 통해 메모리 장치(5)로 전송된다. 전송된 기록 데이터(WD0 ~ WDn)는 각각의 입력 버퍼들(Rx_D1 ~ Rx_Dn)을 통해 메모리 셀 어레이(미도시)로 전달된다.
데이터 판독 모드에서, 메모리 셀 어레이(미도시)로부터 출력되는 판독 데이터(RD0 ~ RDn)는 플립플롭(511,512,513)에 임시 저장된 후, 출력 버퍼(Tx_D1 ~ Tx_Dn)를 통해 메모리 컨트롤러(4)로 전송된다.
데이터 트레이닝 모드에서, 데이터 지연부(420)는 소정의 데이터 패턴(DP0 ~ DPn)을 상기 지연된 클록 신호(DCLK)에 동기하여 출력하고, 데이터 지연부(420)로부터 출력되는 지연된 데이터 패턴(DDP0 ~ DDPn)은 출력 버퍼들(Tx_C1 ~ Tx_Cn)을 통 해 메모리 장치(5)로 전송된다.
상기 지연된 데이터 패턴(DDP0 ~ DDPn)은 메모리 장치(5)로 전송되기 전에 제1 CRC 회로(440)로 입력된다. 제1 CRC 회로(440)는 상기 지연된 데이터 패턴(DDP0 ~ DDPn)으로부터 제1 CRC 코드를 생성한 후, 생성된 제1 CRC 코드를 데이터 트레이닝 컨트롤러(400)로 출력한다.
메모리 장치(5)로 전송된 데이터 패턴(TDDP0 ~ TDDPn)은 입력 버퍼(Rx_D1 ~ Rx_Dn)을 통해 제2 CRC 회로(500)로 출력된다. 제2 CRC 회로(500)는 상기 출력된 데이터 패턴(TDDP0 ~ TTDPn)로부터 제2 CRC 코드를 생성한다.
상기 생성된 제2 CRC 코드는 플립플롭(514)에 임시 저장된 후 제2 CRC 코드 출력 버퍼(Tx_Dn+1)를 통해 메모리 컨트롤러(4)로 전송된다. 메모리 컨트롤러(4)는 상기 생성된 제2 CRC 코드를 제2 CRC 코드 입력 버퍼(Rx_C1)를 통해 입력받아 데이터 트레이닝 컨트롤러(400)로 전달한다.
데이터 트레이닝 컨트롤러(400)는 제1 CRC 코드와 제2 CRC 코드를 입력받아, 그 일치 여부를 비교한다. 그 후 데이터 트레이닝 컨트롤러(400)는 상기 비교 결과에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정한다.
데이터 트레이닝 모드시, 상기 입력 버퍼들(Rx_D1 ~ Rx_Dn)을 통해 입력된 데이터 패턴은 메모리 장치(5)의 내부에 구비된 메모리 셀(미도시)에 저장되지 않는다. 이로 인해, 메모리 셀로부터 데이터를 판독하지 않고도 데이터 트레이닝을 수행할 수 있다.
도 12는 본 발명의 다른 실시예에 따른 시스템을 나타내는 블럭도이다.
본 발명의 다른 실시예에 따른 시스템은 메모리 컨트롤러(6)와 메모리 장치(7)를 구비한다.
메모리 컨트롤러(6)는 데이터 트레이닝 컨트롤러(600), 타이밍 컨트롤러(610), 데이터 지연부(620), 코드워드 생성부(630), 멀티플렉싱부(640), PLL(650), 제1 송신부(660), 제1 수신부(670) 및 에러 발생 빈도 검출부(680)를 구비한다.
메모리 장치(7)는 제2 수신부(710), 에러 검출 회로(720), 제2 송신부(730)를 구비한다.
코드 워드 생성부(630)는 AC 데이터 패턴(PRBS) 및 DC 데이터 패턴(VDDQ)을 입력받고, 상기 AC 데이터 패턴(PRBS) 및 상기 DC 데이터 패턴(VDDQ)에 에러 검출 코드를 부가하여 제1 코드워드(CW1) 및 제2 코드워드(CW2)를 생성한다. 바람직한 에러 검출 코드는 CRC 코드이다.
멀티플렉싱부(640)는 상기 제1 코드워드(CW1) 및 상기 제2 코드워드(CW2)를 입력받고, 데이터 트레이닝 컨트롤러(600)로부터 출력되는 선택 신호(SEL)에 응답하여, 상기 제1 코드워드(CW1) 또는 상기 제2 코드워드(CW2) 중 하나를 출력한다.
데이터 트레이닝 컨트롤러(600)는 상기 코드워드(CW)의 지연 시간을 조절하기 위한 소정의 제어 신호(CRL)와 상기 선택 신호(SEL)를 출력한다. 타이밍 컨트롤러(610)는 PLL(650)로부터 클록 신호(CLK)를 입력받고, 상기 제어 신호(CRL)에 응 답하여 지연된 클록 신호(DCLK)를 출력한다.
데이터 지연부(620)는 상기 코드워드(CW)와 지연된 클록 신호(DCLK)를 입력받고, 상기 코드워드(CW)를 소정 시간 동안 지연시켜 출력한다.
제1 송신부(660)는 상기 데이터 지연부(620)로부터 출력되는 지연된 코드워드(DCW)를 데이터 핀(미도시)을 통해 메모리 장치(7)로 전송한다. 제2 수신부(710)는 상기 전송된 코드워드(TDCW)를 에러 검출 회로(720)로 출력한다.
에러 검출 회로(720)는 상기 전송된 코드워드(TDCW)의 에러 발생 유무를 검출한다. 에러가 발생한 경우, 논리 "H"인 에러 검출 비트(EDB)를 출력하고, 에러가 발생하지 않은 경우, 논리 "L"인 에러 검출 비트(EDB)를 출력한다. 상기 에러 검출 비트(EDB)는 제2 송신부(730)를 통해 메모리 컨트롤러(6)로 전송된다.
제1 수신부(670)는 전송된 에러 검출 비트(EDB)를 입력받아 데이터 트레이닝 컨트롤러(600)와 에러 발생 빈도 검출부(680)로 출력한다. 데이터 트레이닝 컨트롤러(600)는 상기 에러 검출 비트(EDB)를 이용하여 에러 발생 시점을 판단하고, 상기 판단된 에러 발생 시점을 근거로 최적화된 데이터 지연 시간을 결정한다.
에러 발생 빈도 검출부(680)는 상기 에러 검출 비트(EDB)를 입력받아, 에러 발생 빈도를 검출하고, 에러 발생 빈도에 따라 상기 데이터 트레이닝의 실행 주기를 조정하기 위한 제어신호(EPC)를 데이터 트레이닝 컨트롤러(600)로 출력한다.
이상 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적으로 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야에서 통상의 지식을 가지는 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상기와 같은 구성으로 인해, 본 발명에 따른 데이터 트레이닝 방법 및 이에적합한 시스템은, 메모리 셀의 모든 영역에 데이터가 저장된 경우에도 별도의 레지스터를 구비하지 않고도 데이터 트레이닝 동작을 수행할 수 있는 효과가 있다.
또한 본 발명에 따른 데이터 트레이닝 방법 및 이에 적합한 시스템은, 메모리 셀에 데이터를 기록하지 않으므로 별도의 데이터 판독 동작이 불필요하고, 이로 인해 데이터 트레이닝을 위한 소요 시간을 단축할 수 있는 효과가 있다.

Claims (28)

  1. 메모리 장치의 데이터 트레이닝 방법에 있어서,
    (a)소정의 데이터 패턴으로부터 제1 에러 검출 코드를 생성하는 단계;
    (b)상기 데이터 패턴을 상기 메모리 장치로 전송하는 단계;
    (c)상기 전송된 데이터 패턴으로부터 제2 에러 검출 코드를 생성하는 단계;
    (d)상기 제1 에러 검출 코드와 상기 제2 에러 검출 코드를 비교하는 단계;
    (e)상기 데이터 패턴을 소정 시간 동안 지연시킨 후, 상기 (a) 내지 (d) 단계를 반복하는 단계; 및
    (f)상기 비교 결과에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하는 단계를 포함하고, 상기 (b) 단계는,
    (b1)AC(Alternating Current) 데이터 패턴을 하나의 데이터 전송 라인을 통해 전송하는 단계; 및
    (b2)DC(Direct Current) 데이터 패턴을 나머지 데이터 전송 라인을 통해 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 트레이닝 방법.
  2. 삭제
  3. 청구항 3은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서, 상기 DC 데이터 패턴은,
    논리 "H"로 이루어진 데이터 패턴 또는 논리 "L"로 이루어진 데이터 패턴인 것을 특징으로 하는 데이터 트레이닝 방법.
  4. 청구항 4은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서, 상기 제1 에러 검출 코드 및 상기 제2 에러 검출 코드는,
    CRC(Cyclic Redundancy Check) 코드인 것을 특징으로 하는 데이터 트레이닝 방법.
  5. 제1항에 있어서,
    (g)상기 비교 결과에 근거하여 에러 발생 빈도를 계산하는 단계; 및
    (h)상기 계산된 에러 발생 빈도에 상응하게 상기 데이터 트레이닝의 실행 주기를 조절하는 단계가 부가된 것을 특징으로 하는 데이터 트레이닝 방법.
  6. 청구항 6은(는) 설정등록료 납부시 포기되었습니다.
    제5항에 있어서, 상기 (h) 단계는,
    (h1)상기 계산된 에러 발생 빈도가 소정 값 이상인 경우 상기 데이터 트레이닝의 실행 주기를 단축하는 단계; 및
    (h2)상기 계산된 에러 발생 빈도가 소정 값 미만인 경우 상기 데이터 트레이닝의 실행 주기를 증가하는 단계를 포함하는 것을 특징으로 하는 데이터 트레이닝 방법.
  7. 청구항 7은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서, 상기 메모리 장치로 전송된 데이터 패턴은,
    상기 메모리 장치의 내부에 구비된 메모리 셀에 저장되지 않는 것을 특징으 로 하는 데이터 트레이닝 방법.
  8. 청구항 8은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서, 상기 (e) 단계는,
    상기 데이터 패턴을 상기 메모리 장치의 내부 클록 신호 주기의 1/N 단위로 순차적으로 지연시키는 단계인 것을 특징으로 하는 데이터 트레이닝 방법.
  9. 제1항에 있어서, 상기 (f) 단계는,
    상기 제1 에러 검출 코드와 상기 제2 에러 검출 코드가 불일치할 때의 지연 시간에 근거하여 상기 데이터 지연 시간을 결정하는 단계인 것을 특징으로 하는 데이터 트레이닝 방법.
  10. 청구항 10은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 (a) 단계는, 메모리 컨트롤러의 내부에서 이루어지고,
    상기 (b) 단계는, 상기 메모리 장치의 내부에서 이루어지는 것을 특징으로 하는 데이터 트레이닝 방법.
  11. 메모리 장치의 데이터 트레이닝 방법에 있어서,
    (a)에러 검출 코드가 포함된 소정의 데이터 패턴을 메모리 컨트롤러로부터 상기 메모리 장치로 전송하는 단계;
    (b)상기 메모리 장치 내에서 상기 전송된 데이터 패턴의 에러 발생 여부를 검출하는 단계;
    (c)상기 에러 발생 여부를 나타내는 에러 검출 비트를 상기 메모리 컨트롤러로 전송하는 단계;
    (d)상기 에러 검출 코드가 포함된 소정의 데이터 패턴을 소정 시간 동안 지연시킨 후, 상기 (a) 내지 (c) 단계를 반복하는 단계; 및
    (e)상기 오류 검출 비트에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하는 단계를 포함하고, 상기 (a) 단계는,
    (a1)에러 검출 코드가 포함된 AC(Alternating Current) 데이터 패턴을 하나의 데이터 전송 라인을 통해 전송하는 단계; 및
    (a2)에러 검출 코드가 포함된 DC(Direct Current) 데이터 패턴을 나머지 데이터 전송 라인을 통해 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 트레이닝 방법.
  12. 삭제
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서, 상기 (b) 단계는,
    CRC(Cyclic Redundancy Check) 코드를 이용하는 것을 특징으로 하는 데이터 트레이닝 방법.
  14. 청구항 14은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서,
    (g)상기 계산된 에러 발생 빈도에 상응하게 상기 데이터 트레이닝의 실행 주기를 조절하는 단계가 부가된 것을 특징으로 하는 데이터 트레이닝 방법.
  15. 제11항에 있어서, 상기 메모리 장치로 전송된 데이터 패턴은,
    상기 메모리 장치의 내부에 구비된 메모리 셀에 저장되지 않는 것을 특징으로 하는 데이터 트레이닝 방법.
  16. 소정의 데이터 패턴으로부터 제1 에러 검출 코드를 검출하고, 상기 데이터 패턴을 메모리 장치로 전송하는 메모리 컨트롤러; 및
    상기 전송된 데이터 패턴으로부터 제2 에러 검출 코드를 검출하고, 상기 제2 에러 검출 코드를 상기 메모리 컨트롤러로 전송하는 메모리 장치를 구비하며,
    상기 메모리 컨트롤러는, 상기 데이터 패턴을 소정 시간 동안 지연시켜 상기 메모리 장치로 전송하며, 상기 제1 에러 검출 코드 및 상기 제2 에러 검출 코드의 비교 결과에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하며, AC(Alternating Current) 데이터 패턴을 하나의 데이터 전송 라인을 통해 전송하고, DC(Direct Current) 데이터 패턴을 나머지 데이터 전송 라인을 통해 전송하는 것을 특징으로 하는 시스템.
  17. 삭제
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제16항에 있어서, 상기 제1 에러 검출 코드 및 상기 제2 에러 검출 코드는,
    CRC(Cyclic Redundancy Check) 코드인 것을 특징으로 하는 시스템.
  19. 청구항 19은(는) 설정등록료 납부시 포기되었습니다.
    제16항에 있어서, 상기 메모리 컨트롤러는,
    상기 데이터 패턴의 지연 시간을 제어하기 위한 제어 신호를 생성하고, 상기 제1 에러 검출 코드 및 상기 제2 에러 검출 코드의 일치 여부를 비교하며, 그 비교 결과에 근거하여 상기 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하는 데이터 트레이닝 컨트롤러;
    상기 제어 신호에 응답하여 클록 신호를 소정 시간 동안 지연시켜 지연된 클록 신호를 생성하는 타이밍 컨트롤러;
    상기 데이터 패턴을 상기 지연된 클록 신호에 동기시켜 출력함으로써, 지연된 데이터 패턴을 생성하는 데이터 지연부; 및
    상기 지연된 데이터 패턴으로부터 상기 제1 에러 검출 코드를 생성하는 제1 에러 검출 코드 생성부를 구비하는 것을 특징으로 하는 시스템.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제16항에 있어서, 상기 메모리 컨트롤러는,
    상기 데이터 트레이닝 컨트롤러로부터 출력되는 선택신호에 응답하여 상기 AC 데이터 패턴 또는 상기 DC 데이터 패턴을 선택적으로 출력하는 멀티플렉싱부를 구비하는 것을 특징으로 하는 시스템.
  21. 청구항 21은(는) 설정등록료 납부시 포기되었습니다.
    제19항에 있어서, 상기 메모리 컨트롤러는,
    상기 비교 결과에 근거하여 에러 발생 빈도를 계산하는 에러 발생 빈도 계산부를 더 구비하며, 상기 데이터 트레이닝 컨트롤러는,
    상기 계산된 에러 발생 빈도에 상응하게 상기 데이터 트레이닝의 실행 주기를 조절하는 것을 특징으로 하는 시스템.
  22. 제16항에 있어서, 상기 메모리 컨트롤러는,
    상기 메모리 장치로 전송된 데이터 패턴이 상기 메모리 장치의 내부에 구비된 메모리 셀에 저장되지 않도록 제어하는 것을 특징으로 하는 시스템.
  23. 에러 검출 코드가 포함된 소정의 데이터 패턴을 출력하는 메모리 컨트롤러; 및
    상기 데이터 패턴을 입력받아 에러 발생 여부를 검출하고, 상기 에러 발생 여부를 나타내는 에러 검출 비트를 상기 메모리 컨트롤러로 전송하는 메모리 장치를 구비하며,
    상기 메모리 컨트롤러는,
    상기 데이터 패턴을 소정 시간 동안 지연시켜 상기 메모리 장치로 전송하며, 상기 에러 검출 비트에 근거하여 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하며, 에러 검출 코드가 포함된 AC(Alternating Current) 데이터 패턴을 하나의 데이터 전송 라인을 통해 전송하고, 에러 검출 코드가 포함된 DC(Direct Current) 데이터 패턴을 나머지 데이터 전송 라인을 통해 전송하는 것을 특징으로 하는 시스템.
  24. 삭제
  25. 청구항 25은(는) 설정등록료 납부시 포기되었습니다.
    제23항에 있어서, 상기 에러 검출 코드는,
    CRC(Cylic Redundancy Check) 코드인 것을 특징으로 하는 시스템.
  26. 제23항에 있어서, 상기 메모리 컨트롤러는,
    상기 에러 검출 코드가 포함된 소정의 데이터 패턴을 생성하는 코드 워드 생성부;
    상기 데이터 패턴의 지연 시간을 제어하기 위한 제어 신호를 생성하고, 상기 에러 검출 비트에 근거하여 상기 스큐를 최소화시킬 수 있는 데이터 지연 시간을 결정하는 데이터 트레이닝 컨트롤러;
    상기 제어 신호에 응답하여 클록 신호를 소정 시간 동안 지연시켜 지연된 클록 신호를 생성하는 타이밍 컨트롤러; 및
    상기 데이터 패턴을 상기 지연된 클록 신호에 동기시켜 출력함으로써, 지연 된 데이터 패턴을 생성하는 데이터 지연부를 구비하는 것을 특징으로 하는 시스템.
  27. 청구항 27은(는) 설정등록료 납부시 포기되었습니다.
    제23항에 있어서, 상기 메모리 컨트롤러는,
    상기 데이터 트레이닝 컨트롤러로부터 출력되는 선택신호에 응답하여 상기 에러 검출 코드가 포함된 AC 데이터 패턴 또는 상기 에러 검출 코드가 포함된 DC 데이터 패턴을 선택적으로 출력하는 멀티플렉싱부를 구비하는 것을 특징으로 하는 시스템.
  28. 제26항에 있어서, 상기 메모리 컨트롤러는,
    상기 에러 검출 비트를 이용하여 에러 발생 빈도를 계산하는 에러 발생 빈도 계산부를 더 구비하며, 상기 데이터 트레이닝 컨트롤러는,
    상기 계산된 에러 발생 빈도에 상응하게 상기 데이터 트레이닝의 실행 주기를 조절하는 것을 특징으로 하는 시스템.
KR1020060121798A 2006-12-04 2006-12-04 에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템 KR100879560B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060121798A KR100879560B1 (ko) 2006-12-04 2006-12-04 에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템
US11/987,611 US8161331B2 (en) 2006-12-04 2007-12-03 Data training system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060121798A KR100879560B1 (ko) 2006-12-04 2006-12-04 에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템

Publications (2)

Publication Number Publication Date
KR20080050908A KR20080050908A (ko) 2008-06-10
KR100879560B1 true KR100879560B1 (ko) 2009-01-22

Family

ID=39475828

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060121798A KR100879560B1 (ko) 2006-12-04 2006-12-04 에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템

Country Status (2)

Country Link
US (1) US8161331B2 (ko)
KR (1) KR100879560B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180095468A (ko) * 2017-02-17 2018-08-27 인피니온 테크놀로지스 아게 메모리의 메모리 셀들 내의 데이터의 처리

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8296620B2 (en) * 2008-08-26 2012-10-23 Seagate Technology Llc Data devices including multiple error correction codes and methods of utilizing
KR20110100465A (ko) * 2010-03-04 2011-09-14 삼성전자주식회사 메모리 시스템
KR20120011491A (ko) * 2010-07-29 2012-02-08 주식회사 하이닉스반도체 반도체 시스템 및 그 데이터 트래이닝 방법
US8495440B2 (en) * 2011-08-30 2013-07-23 Advanced Micro Devices, Inc. Fully programmable parallel PRBS generator
JP6193896B2 (ja) 2012-03-02 2017-09-06 エルエス産電株式会社Lsis Co., Ltd. 通信装置及び通信方法
US9720766B2 (en) 2012-04-19 2017-08-01 Industry-Academic Cooperation Foundation Chosun University Self-healing, fault-tolerant FPGA computation and architecture
WO2013157693A1 (ko) * 2012-04-19 2013-10-24 조선대학교산학협력단 자가치유형 오류 허용 에프피지에이 연산 유닛 및 구조
US10236045B2 (en) 2012-09-21 2019-03-19 Samsung Electronics Co., Ltd. Semiconductor memory device having detection clock patterns phase-inverted from each other and detection clock generating method thereof
US9323609B2 (en) * 2013-11-15 2016-04-26 Intel Corporation Data storage and variable length error correction information
US9767868B2 (en) * 2014-01-24 2017-09-19 Qualcomm Incorporated Providing memory training of dynamic random access memory (DRAM) systems using port-to-port loopbacks, and related methods, systems, and apparatuses
US9431129B2 (en) 2014-04-30 2016-08-30 Qualcomm Incorporated Variable read delay system
KR20150142850A (ko) 2014-06-12 2015-12-23 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이를 이용한 트레이닝 방법
CN113496719B (zh) * 2020-04-08 2023-06-23 长鑫存储技术有限公司 半导体存储器的训练方法及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000071660A (ko) * 1999-04-12 2000-11-25 소니 인터내셔널(유로파) 게엠베하 제어 및 사용자 데이터 버스트 송수신용 통신 장치 및데이터 버스트 구별 방법
US20060059400A1 (en) 2004-09-13 2006-03-16 National Instruments Corporation System and method for in-line consistency checking of packetized data
KR20060025350A (ko) * 2004-09-16 2006-03-21 한국전자통신연구원 복호기에서의 반복 복호 중지 방법 및 그 장치
KR20060026661A (ko) * 2004-09-21 2006-03-24 삼성전자주식회사 메모리 장치 및 데이터 트레이닝 방법
JP2006086455A (ja) 2004-09-17 2006-03-30 Toshiba Corp 半導体装置
JP2006107068A (ja) 2004-10-05 2006-04-20 Matsushita Electric Ind Co Ltd 評価装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11284687A (ja) 1998-03-31 1999-10-15 Nec Corp データ伝送方式
JP4612150B2 (ja) * 2000-05-24 2011-01-12 株式会社アドバンテスト 半導体デバイス試験装置
JP2004213438A (ja) 2003-01-07 2004-07-29 Matsushita Electric Ind Co Ltd データ転送回路
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
TWI258076B (en) * 2003-07-07 2006-07-11 Via Tech Inc A method and apparatus for determining the write delay time of a memory
US7546512B2 (en) 2004-09-23 2009-06-09 Intel Corporation Techniques to perform error detection
US7831882B2 (en) * 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
US7643602B2 (en) * 2005-09-30 2010-01-05 Freescale Semiconductor, Inc. Method and system for estimating frequency offsets
US7562285B2 (en) * 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000071660A (ko) * 1999-04-12 2000-11-25 소니 인터내셔널(유로파) 게엠베하 제어 및 사용자 데이터 버스트 송수신용 통신 장치 및데이터 버스트 구별 방법
US20060059400A1 (en) 2004-09-13 2006-03-16 National Instruments Corporation System and method for in-line consistency checking of packetized data
KR20060025350A (ko) * 2004-09-16 2006-03-21 한국전자통신연구원 복호기에서의 반복 복호 중지 방법 및 그 장치
JP2006086455A (ja) 2004-09-17 2006-03-30 Toshiba Corp 半導体装置
KR20060026661A (ko) * 2004-09-21 2006-03-24 삼성전자주식회사 메모리 장치 및 데이터 트레이닝 방법
JP2006107068A (ja) 2004-10-05 2006-04-20 Matsushita Electric Ind Co Ltd 評価装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180095468A (ko) * 2017-02-17 2018-08-27 인피니온 테크놀로지스 아게 메모리의 메모리 셀들 내의 데이터의 처리
KR102079196B1 (ko) 2017-02-17 2020-02-21 인피니온 테크놀로지스 아게 메모리의 메모리 셀들 내의 데이터의 처리

Also Published As

Publication number Publication date
US20080130986A1 (en) 2008-06-05
US8161331B2 (en) 2012-04-17
KR20080050908A (ko) 2008-06-10

Similar Documents

Publication Publication Date Title
KR100879560B1 (ko) 에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템
US11928020B2 (en) Memory error detection
EP1282677B1 (en) Predictive timing calibration for memory devices
KR101791456B1 (ko) 라이트 트레이닝 방법 및 이를 수행하는 반도체 장치
US6735709B1 (en) Method of timing calibration using slower data rate pattern
KR100763849B1 (ko) 멀티 위상 클럭 신호들간의 위상 스큐를 감소시키는 위상보정 회로, 그 방법 및 상기 회로를 구비하는 반도체 장치
TW514928B (en) Improved calibration technique for memory devices
US8121233B2 (en) Drift cancellation technique for use in clock-forwarding architectures
US20220188183A1 (en) Memory system, operation method of the same, and memory controller
US7802166B2 (en) Memory controller, memory circuit and memory system with a memory controller and a memory circuit
KR20110100465A (ko) 메모리 시스템
GB2473926A (en) Memory link initialization
US8209560B2 (en) Transmission system where a first device generates information for controlling transmission and latch timing for a second device
US8046665B2 (en) Memory device employing dual clocking for generating systematic code and method thereof
US7721160B2 (en) System for protecting data during high-speed bidirectional communication between a master device and a slave device
KR20090088556A (ko) 데이터 송수신 시스템
US7802153B1 (en) Trainable link
US11049583B2 (en) Semiconductor system with a training operation
CN106847319A (zh) 一种fpga电路及窗口信号调整方法
US6647507B1 (en) Method for improving a timing margin in an integrated circuit by setting a relative phase of receive/transmit and distributed clock signals
CN115705264A (zh) 与执行训练操作相关的半导体系统和电子器件
US20230087104A1 (en) Signal processing circuit and reception device
WO2009134844A1 (en) High-speed source-synchronous signaling
KR20240128000A (ko) Dram 인터페이스 교정을 위한 가변 틱

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141231

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191226

Year of fee payment: 12