KR20190085264A - 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치 - Google Patents

데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치 Download PDF

Info

Publication number
KR20190085264A
KR20190085264A KR1020180003172A KR20180003172A KR20190085264A KR 20190085264 A KR20190085264 A KR 20190085264A KR 1020180003172 A KR1020180003172 A KR 1020180003172A KR 20180003172 A KR20180003172 A KR 20180003172A KR 20190085264 A KR20190085264 A KR 20190085264A
Authority
KR
South Korea
Prior art keywords
delay
signals
sampling
signal
data
Prior art date
Application number
KR1020180003172A
Other languages
English (en)
Other versions
KR102523101B1 (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 KR1020180003172A priority Critical patent/KR102523101B1/ko
Priority to US16/118,863 priority patent/US10650871B2/en
Priority to CN201910018759.5A priority patent/CN110021310A/zh
Publication of KR20190085264A publication Critical patent/KR20190085264A/ko
Priority to US16/871,096 priority patent/US11200928B2/en
Application granted granted Critical
Publication of KR102523101B1 publication Critical patent/KR102523101B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • G11C7/08Control thereof
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치에 관한 것이다. 본 발명의 실시 예에 따른 읽기 마진 제어 회로는 데이터 입출력 신호를 지연시켜 위상들이 서로 다른 지연 신호들을 생성하는 지연 회로, 데이터 스트로브 신호에 기초하여 지연 신호들 각각을 샘플링하는 샘플러, 및 샘플러에 의해 샘플링된 샘플링 값들에 기초하여 데이터 입출력 신호의 데이터 유효 윈도우를 판별하는 판별기를 포함할 수 있다.

Description

데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치{READ MARGIN CONTROL CIRCUIT DETERMINING DATA VALID WINDOW, MEMORY CONTROLLER INCLUDING THE SAME, AND ELECTRONIC DEVICE}
본 발명은 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치에 관한 것으로, 좀 더 자세하게는 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치에 관한 것이다.
메모리 장치는 클럭(clock)에 기초하여 메모리 컨트롤러로부터 전송된 명령을 처리할 수 있다. 메모리 장치는 메모리 컨트롤러의 읽기 명령에 응답하여 데이터 입출력 신호 및 데이터 스트로브 신호를 출력할 수 있다. 메모리 컨트롤러는 읽기 명령을 발행한 이후에 데이터 스트로브 신호에 기초하여 데이터 입출력 신호를 샘플링할 수 있다.
메모리 컨트롤러와 메모리 장치간의 트레이닝(training)을 통해, 데이터 입출력 신호의 데이터 유효 윈도우의 중심에 샘플링(sampling) 포인트가 위치할 수 있다. 그러나, 전압, 온도 등과 같은 동작 조건이 변경되면, 메모리 장치에서 출력되는 데이터 입출력 신호 또는 데이터 스트로브 신호가 쉬프트(shift)될 수 있고, 데이터 유효 윈도우의 중심에 샘플링 포인트가 위치하지 않을 수 있다. 메모리 컨트롤러는 샘플링 포인트를 조정하는 동안에 메모리 장치를 접근할 수 없다. 따라서, 조정 시간을 단축하는 것이 필요하다.
본 발명은 상술한 기술적 과제를 해결하기 위한 것으로, 본 발명은 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치를 제공할 수 있다.
본 발명의 실시 예에 따른 읽기 마진 제어 회로는, 데이터 입출력 신호를 지연시켜 위상들이 서로 다른 지연 신호들을 생성하는 지연 회로, 데이터 스트로브 신호에 기초하여 지연 신호들 각각을 샘플링하는 샘플러, 및 샘플러에 의해 샘플링된 샘플링 값들에 기초하여 데이터 입출력 신호의 데이터 유효 윈도우를 판별하는 판별기를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 컨트롤러는, 메모리 장치로부터 전송된 데이터 입출력 신호를 지연시켜 제 1 지연 신호, 제 1 지연 신호보다 덜 지연된 제 2 지연 신호들, 및 제 1 지연 신호보다 더 지연된 제 3 지연 신호들을 생성하는 지연 회로, 메모리 장치로부터 전송된 데이터 스트로브 신호의 상승 엣지에서 제 1 지연 신호, 제 2 지연 신호들, 및 제 3 지연 신호들을 샘플링하고 그리고 데이터 스트로브 신호의 하강 엣지에서 제 1 지연 신호, 제 2 지연 신호들, 및 제 3 지연 신호들을 샘플링하는 샘플러, 및 상승 엣지 및 하강 엣지에서 각각 샘플링된 제 1 지연 신호의 제 1 상승 샘플링 값 및 제 1 하강 샘플링 값을 기준으로 데이터 입출력 신호의 데이터 유효 윈도우를 판별하는 판별기를 포함할 수 있다.
본 발명의 실시 예에 따른 전자 장치는, 데이터 입출력 신호 및 데이터 입출력 신호에 동기된 데이터 스트로브 신호를 생성하는 메모리 장치 및 데이터 입출력 신호를 지연시켜 위상들이 서로 다른 지연 신호들을 생성하고, 데이터 스트로브 신호에 기초하여 지연 신호들을 샘플링하여 샘플링 값들을 생성하고, 그리고 샘플링 값들에 기초하여 데이터 입출력 신호의 데이터 유효 윈도우를 판별하는 메모리 컨트롤러를 포함할 수 있다.
본 발명의 실시 예에 따른 읽기 마진 제어 회로는 데이터 유효 윈도우를 판별하기 위해 샘플링 포인트의 위치를 반복적으로 움직이지 않을 수 있다. 따라서 데이터 유효 윈도우의 판별 시간이 감소할 수 있다.
도 1은 본 발명의 실시 예에 따른 읽기 마진 제어 회로를 예시적으로 보여주는 블록도이다.
도 2는 도 1의 지연 회로를 좀 더 상세하게 보여주는 블록도이다.
도 3은 도 2의 지연 단을 좀 더 상세하게 보여주는 블록도이다.
도 4는 도 2의 지연 단을 좀 더 상세하게 보여주는 블록도이다.
도 5는 도 1의 샘플러를 좀 더 상세하게 보여주는 블록도이다.
도 6은 도 1의 판별기를 좀 더 상세하게 보여주는 블록도이다.
도 7 내지 도 9는 도 2의 지연 신호들 그리고 도 6의 좌측 패리티 신호들 및 우측 패리티 신호들을 예시적으로 보여주는 도면이다.
도 10 및 도 11은 도 2의 지연 신호들 그리고 도 6의 좌측 패리티 신호들 및 우측 패리티 신호들을 예시적으로 보여주는 도면이다.
도 12는 본 발명의 다른 실시 예에 따른 읽기 마진 제어 회로를 예시적으로 보여주는 블록도이다.
도 13 및 도 14는 도 12의 읽기 마진 제어 회로에 의해 데이터 입출력 신호의 데이터 유효 윈도우가 슬라이딩되는 예시들을 보여주는 도면들이다.
도 15는 본 발명의 실시 예에 따라 데이터 입출력 신호의 읽기 마진에 제어되는 단계들을 예시적으로 보여주는 순서도이다.
도 16은 본 발명의 또 다른 실시 예에 따른 읽기 마진 제어 회로를 예시적으로 보여주는 블록도이다.
도 17은 도 16의 샘플러를 좀 더 상세하게 보여주는 블록도이다.
도 18은 도 16의 제 1 비교기 및 제 2 비교기를 좀 더 상세하게 보여주는 블록도이다.
도 19는 본 발명의 실시 예에 따른 메모리 시스템을 예시적으로 보여주는 블록도이다.
도 20은 본 발명의 실시 예에 따른 컴퓨팅 장치를 예시적으로 보여주는 블록도이다.
도 21은 본 발명의 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 읽기 마진 제어 회로를 예시적으로 보여주는 블록도이다. 읽기 마진 제어 회로(100)는 지연 회로(110), 샘플러(120), 및 판별기(130)를 포함할 수 있다. 읽기 마진 제어 회로(100)는 데이터 입출력 신호(DQ) 및 데이터 스트로브 신호(DQS)를 수신하고, 데이터 유효 윈도우(data valid window)를 판별할 수 있다.
데이터 입출력 신호(DQ)는 읽기 명령을 수신한 메모리 장치에 의해 생성될 수 있다. 데이터 입출력 신호(DQ)에는 읽기 데이터가 포함될 수 있다. 데이터 스트로브 신호(DQS)는 메모리 장치에 의해 생성될 수 있고 데이터 입출력 신호(DQ)를 샘플링(sampling)하기 위해 사용될 수 있다. 읽기 마진 제어 회로(100)는 메모리 장치로부터 출력된 데이터 입출력 신호(DQ) 및 데이터 스트로브 신호(DQS)를 수신하고 데이터 유효 윈도우를 판별하므로, 메모리 컨트롤러로 지칭될 수 있다.
데이터 입출력 신호(DQ)는 데이터 스트로브 신호(DQS)에 동기될 수 있다. 데이터 유효 윈도우는 데이터 스트로브 신호(DQS)를 기준으로 데이터 입출력 신호(DQ)를 유효하게 샘플링할 수 있는 구간을 나타낼 수 있다. 예를 들어, 데이터 유효 윈도우는 읽기 마진이 충분한지를 나타낼 수 있다.
지연 회로(110)는 데이터 입출력 신호(DQ)를 수신할 수 있다. 지연 회로(110)는 데이터 입출력 신호(DQ)를 지연시켜 지연 신호들을 생성할 수 있다. 예를 들어, 지연 회로(110)에 의해 지연된 지연 신호들의 위상들은 서로 다를 수 있다. 지연 회로(110)는 지연 라인으로 지칭될 수 있다.
샘플러(120)는 데이터 스트로브 신호(DQS)에 기초하여 지연 회로(110)에서 출력된 지연 신호들 각각을 샘플링할 수 있다. 샘플러(120)는 샘플링을 통해 지연 신호들의 샘플링 값들을 생성할 수 있다. 여기서, 샘플링 값들은 데이터 스트로브 신호(DQS)의 상승 엣지(rising edge) 또는 하강 엣지(falling edge)에서 캡쳐된 지연 신호들의 논리 값들을 포함할 수 있다. 예를 들어, 지연 신호들의 논리 값들은 메모리 장치에 저장된 데이터에 기초할 수 있다.
실시 예에 있어서, 데이터 스트로브 신호(DQS)는 싱글-엔디드(single-ended) 방식으로 전송된 것으로 도시되었으나, 차동(differential) 방식으로 전송될 수도 있다. 즉, 샘플러(120)는 양의 데이터 스트로브 신호(PDQS, 미도시) 및 음의 데이터 스트로브 신호(NDQS, 미도시)에 기초하여 지연 신호들 각각을 샘플링할 수 있다. 또한, 메모리 장치는 DDR(double data rate)로 데이터 입출력 신호(DQ)를 전송할 수 있고, 데이터 입출력 신호(DQ)는 데이터 스트로브 신호(DQS)의 상승 엣지 및 하강 엣지 모두에서 샘플링될 수 있다.
판별기(130)는 샘플러(120)에 의해 샘플링된 샘플링 값들에 기초하여 데이터 유효 윈도우를 판별할 수 있다. 판별기(130)는 샘플링 포인트가 데이터 유효 윈도우 내에서 어디에 위치하는지를 판별할 수 있다. 판별기(130)의 판별 결과는, 샘플링 포인트가 데이터 유효 윈도우 내 중심에 위치하도록, 데이터 입출력 신호(DQ) 또는 데이터 스트로브 신호(DQS)를 조정하는데 사용될 수 있다. 여기서, 샘플링 포인트는 샘플링이 수행된 데이터 스트로브 신호(DQS)의 엣지가 위치하는 지점을 나타낼 수 있다.
실시 예에 있어서, 판별기(130)는, 샘플러(120)에 의해 지연 회로(110)의 지연 신호들 중 중심 지연 신호(center delay signal)가 샘플링된 값을 기준으로, 데이터 유효 윈도우를 판별할 수 있다. 여기서, 중심 지연 신호는 지연 신호들을 지연량의 순서로 나열하였을 때, 중앙에 위치하는 신호를 의미한다.
일반적으로, 메모리 장치로부터 읽기 명령에 따른 읽기 데이터를 수신하기 전에, 메모리 장치로부터 출력되는 데이터 입출력 신호(DQ) 및 데이터 스트로브 신호(DQS)에 대한 트레이닝(training)이 수행될 수 있다. 트레이닝을 통해 샘플링 포인트는 데이터 유효 윈도우 내 중심에 위치할 수 있다.
그러나, 메모리 장치를 접근하는 동안에, 전압 또는 온도의 변동에 따라, 데이터 입출력 신호(DQ) 또는 데이터 스트로브 신호(DQS)가 쉬프트(shift)될 수 있고, 읽기 마진(read margin) 또는 데이터 유효 윈도우가 감소할 수 있다. 따라서, 트레이닝 이후에도, 샘플링 포인트가 데이터 유효 윈도우 내 중심에 위치하도록, 메모리 장치를 제어하는 메모리 컨트롤러는 데이터 입출력 신호(DQ) 또는 데이터 스트로브 신호(DQS)를 조정할 수 있다.
데이터 유효 윈도우를 판별하기 위해, 예를 들어, 메모리 컨트롤러는 샘플링 포인트의 위치를 변경해가면서 데이터 입출력 신호(DQ)를 반복적으로 샘플링할 수 있다. 즉, 메모리 컨트롤러는 샘플링 포인트의 위치를 변경하기 위해 데이터 스트로브 신호(DQS)에 오프셋을 인가할 수 있고 읽기 명령을 반복적으로 발행할 수 있다. 그러나 반복적인 읽기 명령으로 인해 데이터 유효 윈도우가 판별되는 시간이 증가할 수 있다.
본 발명의 실시 예에 따르면, 읽기 마진 제어 회로(100)는 한번의 읽기 명령을 통해 데이터 스트로브 신호(DQS)에 기초하여 데이터 입출력 신호(DQ)가 지연된 지연 신호들을 샘플링하여 데이터 유효 윈도우를 판별할 수 있다. 즉, 읽기 마진 제어 회로(100)는 반복적인 읽기 명령 없이 데이터 유효 윈도우를 판별할 수 있다.
도 2는 도 1의 지연 회로를 좀 더 상세하게 보여주는 블록도이다. 지연 회로(110)는 직렬로 연결된 제 1 내지 제 n+1 지연 단들(111_1~111_n+1)을 포함할 수 있다. 제 1 내지 제 n+1 지연 단들(111_1~111_n+1) 각각은 서로 동일하게 구현될 수 있다. 여기서, n은 2 이상의 정수이고, 제 1 내지 제 n+1 지연 단들(111_1~111_n+1)의 수는 도 2에서 도시된 것으로 한정되지 않는다. 예를 들어, 제 1 내지 제 n+1 지연 단들(111_1~111_n+1)의 수가 클수록, 읽기 마진 제어 회로(100)가 판별할 수 있는 데이터 유효 윈도우의 크기가 증가할 수 있다.
제 1 지연 단(111_1)은 선택 신호(SEL)에 기초하여 데이터 입출력 신호(DQ)를 지연시키고 제 2 지연 단(111_2)의 리턴(return) 신호를 지연시킬 수 있다. 제 1 지연 단(111_1)은 선택 신호(SEL)에 기초하여 데이터 입출력 신호(DQ)를 리턴할 수 있다.
제 2 지연 단(111_2)은 선택 신호(SEL)에 기초하여 제 1 지연 단(111_1)에 의해 지연된 신호를 지연시키고 제 3 지연 단(111_3)의 리턴 신호를 지연시킬 수 있다. 제 2 지연 단(111_2)은 선택 신호(SEL)에 기초하여 제 1 지연 단(111_1)에 의해 지연된 신호를 리턴할 수 있다. 제 3 내지 제 n+1 지연 단들(111_3~111_n+1) 각각은 제 2 지연 단(111_2)과 실질적으로 유사하게 동작할 수 있다.
실시 예에 있어서, 선택 신호(SEL)는 제 1 내지 제 n+1 지연 단들(111_1~111_n+1)의 수와 같은 n+1 비트들을 포함할 수 있다. n+1 비트들 각각은 제 1 논리 값(예를 들면, 논리 0) 또는 제 2 논리 값(예를 들면, 논리 1)을 포함할 수 있다. 예를 들어, 제 1 논리 값을 수신한 지연 단은 이전 지연 단에서 전송된 지연 신호를 다음 단으로 전송할 수 있다. 반면에, 제 2 논리 값을 수신한 지연 단은 이전 단에서 전송된 지연 신호를 다시 이전 단으로 리턴할 수 있다. 제 1 내지 제 n+1 지연 단들(111_1~111_n+1) 중 하나의 지연 단은 제 2 논리 값을 갖는 선택 신호(SEL)의 비트를 수신할 수 있고 나머지 지연 단들은 제 1 논리 값을 갖는 선택 신호(SEL)의 비트들을 수신할 수 있다.
도 2에서 제 n+1 지연 단(111_n+1)이 제 7 지연 단(111_7)에서 전송된 지연 신호를 다시 제 7 지연 단(111_7)으로 리턴하는 것으로 도시되었다. 다만, 제 n+1 지연 단(111_n+1) 이외에 제 1 내지 제 7 지연 단들(111_1~111_7) 중 어느 하나가 이전 단에서 전송된 지연 신호를 다시 이전 단으로 리턴할 수도 있다.
제 n+1 지연 단(111_n+1)에서 리턴된 신호는 제 7 내지 제 1 지연 단들(111_7~111_1)을 직렬로 통과할 수 있다. 제 1 내지 제 n 지연 신호들(DS[1:n])은 제 2 내지 제 n+1 지연 단들(111_2~111_n+1)에서 각각 출력될 수 있다. 제 n 지연 신호(DS[n])보다 제 6 지연 신호(DQ[6])가 ΔT만큼 더 지연될 수 있고, 제 6 지연 신호(DS[6])보다 제 5 지연 신호(DQ[5])가 ΔT만큼 더 지연될 수 있다. 즉, 제 1 내지 제 n 지연 신호들(DS[1:n])간의 지연차(delay difference)는 ΔT일 수 있다. ΔT는 제 1 내지 제 n+1 지연 단들(111_1~111_n+1)의 전파 지연(propagation delay)을 나타낼 수 있다. ΔT에 따라 제 1 내지 제 n 지연 신호들(DS[1:n])의 위상차(phase difference)가 결정될 수 있다. ΔT가 작을수록, 데이터 유효 윈도우가 더 미세하게 판별될 수 있다.
도 3은 도 2의 지연 단을 좀 더 상세하게 보여주는 블록도이다. 지연 단(111)은 도 2에서 전술한 제 1 내지 제 n+1 지연 단들(111_1~111_n+1) 중 하나일 수 있다. 지연 단(111)은 인버터(112) 및 낸드 게이트들(NAND gates, 113~115)을 포함할 수 있다.
인버터(112)는 선택 신호(SEL)를 반전할 수 있다. 낸드 게이트(113)는 반전된 선택 신호에 기초하여 입력 신호(IN)를 지연시키고 패스 신호(PASS)를 다음 지연 단으로 전송할 수 있다. 낸드 게이트(114)는 선택 신호(SEL)에 기초하여 입력 신호(IN)를 낸드 게이트(115)로 전송할 수 있다. 여기서, 입력 신호(IN)는 이전 지연 단으로부터 전송될 수 있다. 예를 들어, 선택 신호(SEL)가 제 1 논리 값을 포함하면, 입력 신호(IN)는 패스 신호(PASS)로 지연될 수 있다. 선택 신호(SEL)가 제 2 논리 값을 포함하면, 입력 신호(IN)는 리턴될 수 있다.
낸드 게이트(115)는 낸드 게이트(114)의 출력 및 리턴 신호(RETURN)를 수신하고 출력 신호(OUT)를 출력할 수 있다. 여기서, 리턴 신호(RETURN)는 다음 지연 단으로부터 전송될 수 있다. 예를 들어, 지연 단(111)의 전파 지연(도 2의 ΔT)은 낸드 게이트(115)의 전파 지연일 수 있다.
도 4는 도 2의 지연 단을 좀 더 상세하게 보여주는 블록도이다. 도 4는 도 3을 참조하여 설명될 것이다. 도 4의 지연 단(111)은 도 3의 지연 단(111)과 유사하게 동작할 수 있다. 지연 단(111)은 도 3과 달리 낸드 게이트 대신에 노어 게이트(NOR gate)를 이용하여 구현될 수 있다. 낸드 게이트들 대신에 노어 게이트들(117~119)이 지연 단(111)에 사용됨에 따라, 인버터(116)의 출력은 노어 게이트(118)로 제공될 수 있다. 예를 들어, 지연 단(111)의 전파 지연은 노어 게이트(119)의 전파 지연일 수 있다. 지연 단(111)의 전파 지연은 낸드 게이트, 노어 게이트 등과 같은 논리 게이트의 전파 지연일 수 있다.
도 5는 도 1의 샘플러를 좀 더 상세하게 보여주는 블록도이다. 도 5는 도 1 및 도 2를 참조하여 설명될 것이다. 도 5에서, 도 2의 지연 회로(110)는 제 1 내지 제 8 지연 단들(111_1~111_8)을 포함하고 제 2 내지 제 8 지연 단들(111_2~111_8) 각각에서 제 1 내지 제 7 지연 신호들(DS[1:7])이 출력되는 것으로 가정한다(즉, n은 7).
샘플러(120)는 제 1 내지 제 7 플립 플롭들(121_1~121_7)을 포함할 수 있다. 제 1 내지 제 7 플립 플롭들(121_1~121_7)은 데이터 스트로브 신호(DQS)의 상승 엣지 또는 하강 엣지에서 제 1 내지 제 7 지연 신호들(DS[1:7])을 샘플링하고 제 1 내지 제 7 샘플링 값들(S[1:7])을 출력할 수 있다.
실시 예에 있어서, 샘플러(120)에 포함된 제 1 내지 제 7 플립 플롭들(121_1~121_7)의 수는 제 1 내지 제 7 지연 신호들(DS[1:7])의 수와 동일할 수 있다. 물론, 제 1 내지 제 7 플립 플롭들(121_1~121_7)의 수는 도 5에서 도시된 것에 한정되지 않는다.
실시 예에 있어서, 제 1 내지 제 7 플립 플롭들(121_1~121_7)은 서로 동일하게 구현될 수 있고, 어레이(array) 형태로 배열될 수 있다. 제 1 내지 제 7 플립 플롭들(121_1~121_7)은 지연 회로(110)의 제 1 내지 제 8 지연 단들(111_1~111_8)과 유사하게 직렬로 배치될 수 있다. 제 1 내지 제 7 지연 신호들(DS[1:7])의 전송 경로들의 길이가 서로 동일하도록, 제 1 내지 제 7 플립 플롭들(121_1~121_7)은 지연 회로(110)에 인접하여 배치될 수 있다.
도 6은 도 1의 판별기를 좀 더 상세하게 보여주는 블록도이다. 도 6은 도 1, 도 2, 및 도 5를 참조하여 설명될 것이다. 도 6에서, 도 2의 지연 회로(110)는 제 1 내지 제 8 지연 단들(111_1~111_8)을 포함하고, 제 2 내지 제 8 지연 단들(111_2~111_8) 각각에서 제 1 내지 제 7 지연 신호들(DS[1:7])이 출력되는 것으로 가정한다. 제 1 내지 제 7 샘플링 값들(S[1:7])은 제 1 내지 제 7 지연 신호들(DS[1:7])이 샘플링된 값들이다.
판별기(130)는 제 4 샘플링 값(S[4])과 제 1 내지 제 3 샘플링 값들(S[1:3]) 및 제 5 내지 제 7 샘플링 값들(S[5:7]) 각각을 비교할 수 있다. 제 4 샘플링 값(S[4])은 제 4 지연 신호(DS[4])가 샘플링된 값이고, 제 4 지연 신호(DS[4])는 제 1 내지 제 7 지연 신호들(DS[1:7]) 중 중심 지연 신호일 수 있다. 즉, 지연 회로(110)는 제 4 지연 신호(DS[4]), 제 4 지연 신호(DS[4])보다 덜 지연된 제 5 내지 제 7 지연 신호들(DS[5:7]), 그리고 제 4 지연 신호(DS[4])보다 더 지연된 제 1 내지 제 3 지연 신호들(DS[1:3])을 생성할 수 있다. 여기서, 지연 회로(110)가 홀수 개의 제 1 내지 제 n 지연 신호들(DS[1:n])을 출력하는 경우, 중심 지연 신호는 제 (n+1)/2 지연 신호(DS[(n+1)/2])일 수 있다.
판별기(130)는 제 4 샘플링 값(S[4])을 기준으로 데이터 유효 윈도우를 판별할 수 있다. 판별기(130)는 제 1 내지 제 3 샘플링 값들(S[1:3]) 각각이 제 4 샘플링 값(S[4])과 일치하는지 여부를 판별할 수 있다. 판별기(130)는 제 5 내지 제 7 샘플링 값들(S[5:7]) 각각이 제 4 샘플링 값(S[4])과 일치하는지 여부를 판별할 수 있다. 판별기(130)는 비교를 위해 제 1 내지 제 3 XOR(exclusive OR) 게이트들(131_1~131_3) 및 제 5 내지 제 7 XOR 게이트들(131_5~131_7)을 포함할 수 있다.
제 1 XOR 게이트(131_1)는 제 1 샘플링 값(S[1])이 제 4 샘플링 값(S[4])과 일치하는지 여부를 나타내는 제 1 좌측 패리티 신호(LP[1])를 생성할 수 있다. 유사하게, 제 2 및 제 3 XOR 게이트들(131_2, 131_3)은 제 2 및 제 3 샘플링 값들(S[2:3])이 제 4 샘플링 값(S[4])과 일치하는지 여부를 나타내는 제 2 및 제 3 좌측 패리티 신호들(LP[2:3])을 생성할 수 있다. 제 1 내지 제 3 샘플링 값들(S[1:3])과 제 4 샘플링 값(S[4])의 비교 결과인 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3])은 데이터 유효 윈도우의 좌측 윈도우 마진(left valid window margin; Left VWM)을 나타낼 수 있다.
제 5 XOR 게이트(131_5)는 제 5 샘플링 값(S[5])이 제 4 샘플링 값(S[4])과 일치하는지 여부를 나타내는 제 1 우측 패리티 신호(RP[1])를 생성할 수 있다. 유사하게, 제 6 및 제 7 XOR 게이트들(131_6 131_7)은 제 6 및 제 7 샘플링 값들(S[6:7])이 제 4 샘플링 값(S[4])과 일치하는지 여부를 나타내는 제 2 및 제 3 우측 패리티 신호들(RP[2:3])을 생성할 수 있다. 제 5 내지 제 7 샘플링 값들(S[5:7])과 제 4 샘플링 값(S[4])의 비교 결과인 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])은 데이터 유효 윈도우의 우측 윈도우 마진(right valid window margin; Right VWM)을 나타낼 수 있다.
실시 예에 있어서, 패리티 신호가 제 1 논리 상태이면 샘플링 값들이 서로 일치함을 나타낼 수 있고 제 2 논리 상태이면 샘플링 값들이 서로 일치하지 않음을 나타낼 수 있다. 물론, 패리티 신호가 제 2 논리 상태이면 샘플링 값들이 서로 일치함을 나타낼 수 있고 제 1 논리 상태이면 샘플링 값들이 서로 일치하지 않음을 나타낼 수도 있다.
판별기(130)는 제 1 내지 제 7 샘플링 값들(S[1:7])에 대해 배타적 논리합 연산 또는 배타적 부정 논리합 연산을 수행하는 논리 게이트들을 포함할 수 있다. 도 6에서, 논리 게이트들은 XOR 게이트들로 도시되었으나, 논리 게이트들은 XNOR 게이트들일 수도 있다. 그리고, 논리 게이트들의 수는 샘플링 값들의 수에 따라 결정될 수 있다.
도 7 내지 도 9는 도 2의 지연 신호들 그리고 도 6의 좌측 패리티 신호들 및 우측 패리티 신호들을 예시적으로 보여주는 도면이다. 도 7 내지 도 9는 도 1, 도 2, 및 도 6을 참조하여 함께 설명될 것이다. 지연 회로(110)에서 제 1 내지 제 7 지연 신호들(DS[1:7])이 출력되는 것으로 가정한다.
제 7 지연 신호(DS[7])의 데이터 유효 윈도우는 임의의 구간에서 형성될 수 있다. 제 6 지연 신호(DS[6])의 데이터 유효 윈도우는 제 7 지연 신호(DS[7])의 데이터 유효 윈도우보다 ΔT만큼 지연되어 형성될 수 있다. 유사하게, 제 1 내지 제 5 지연 신호들(DS[1:5])의 데이터 유효 윈도우들 각각도 ΔT만큼 지연되어 형성될 수 있다. 전술한대로, ΔT는 지연 단의 전파 지연을 나타낼 수 있다.
샘플러(120)에 의해 샘플링 포인트에서 제 1 내지 제 7 지연 신호들(DS[1:7])이 샘플링될 수 있다. 제 1 내지 제 3 XOR 게이트들(131_1~131_3)은 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3])을 생성할 수 있다. 제 5 내지 제 7 XOR 게이트들(131_5~131_7)은 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])을 생성할 수 있다.
도 7은 샘플링 포인트가 제 4 지연 신호(DS[4])의 데이터 유효 윈도우의 중심에 위치하는 경우를 나타낼 수 있다. 제 4 지연 신호(DS[4])를 기준으로 좌측 윈도우 마진과 우측 윈도우 마진은 서로 동일할 수 있다. 예를 들어, 샘플링 포인트는 제 1 내지 제 7 지연 신호들(DS[1:7])의 모든 데이터 유효 윈도우들 내에 위치할 수 있다. 제 1 내지 제 3 샘플링 값들(S[1:3]) 및 제 5 내지 제 7 샘플링 값들(S[5:7]) 각각은 제 4 샘플링 값(S[4])과 일치할 수 있다. 따라서, 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3])은 '000'일 수 있고 그리고 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])은 '000'일 수 있다. 여기서, 패리티 신호의 논리 값은 예시적인 값이다.
도 8은 샘플링 포인트가 제 4 지연 신호(DS[4])의 데이터 유효 윈도우의 우측에 위치하는 경우를 나타낼 수 있다. 제 4 지연 신호(DS[4])를 기준으로 우측 윈도우 마진은 좌측 윈도우 마진보다 작을 수 있다. 예를 들어, 샘플링 포인트는 제 1 내지 제 5 지연 신호들(DS[1:5])의 데이터 유효 윈도우들 내에 위치할 수 있으나 제 6 및 제 7 지연 신호들(DS[6:7])의 데이터 유효 윈도우들 밖에 위치할 수 있다. 도 8에서 도시된 것과 달리 제 5 내지 제 7 지연 신호들(DS[5:7]) 중 임의의 신호들의 데이터 유효 윈도우들 밖에 샘플링 포인트가 위치할 수도 있다.
제 1 내지 제 3 샘플링 값들(S[1:3]) 각각은 제 4 샘플링 값(S[4])과 일치할 수 있다. 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3])은 '000'일 수 있다. 제 5 샘플링 값(S[5])은 제 4 샘플링 값(S[4])과 일치할 수 있으나 제 6 및 제 7 샘플링 값들(S[6:7]) 각각은 제 4 샘플링 값(S[4])과 일치하지 않을 수 있다. 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])은 '011'일 수 있다. 여기서, 패리티 신호의 논리 값은 예시적인 값이다. 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3]) 및 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])을 통해, 샘플링 포인트가 데이터 유효 윈도우의 우측에 위치하는 것이 판별될 수 있다.
도 9는 샘플링 포인트가 제 4 지연 신호(DS[4])의 데이터 유효 윈도우의 좌측에 위치하는 경우를 나타낼 수 있다. 제 4 지연 신호(DS[4])를 기준으로 좌측 윈도우 마진은 우측 윈도우 마진보다 작을 수 있다. 예를 들어, 샘플링 포인트는 제 3 내지 제 7 지연 신호들(DS[3:7])의 데이터 유효 윈도우들 내에 위치할 수 있으나 제 1 및 제 2 지연 신호들(DS[1:2])의 데이터 유효 윈도우들 밖에 위치할 수 있다. 도 9에서 도시된 것과 달리 제 1 내지 제 3 지연 신호들(DS[1:3]) 중 임의의 신호들의 데이터 유효 윈도우들 밖에 샘플링 포인트가 위치할 수도 있다.
제 5 내지 제 7 샘플링 값들(S[5:7]) 각각은 제 4 샘플링 값(S[4])과 일치할 수 있다. 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])은 '000'일 수 있다. 제 3 샘플링 값(S[3])은 제 4 샘플링 값(S[4])과 일치할 수 있으나 제 1 및 제 2 샘플링 값들(S[1:2]) 각각은 제 4 샘플링 값(S[4])과 일치하지 않을 수 있다. 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3])은 '110'일 수 있다. 여기서, 패리티 신호의 논리 값은 예시적인 값이다. 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3]) 및 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])을 통해, 샘플링 포인트가 데이터 유효 윈도우의 좌측에 위치하는 것이 판별될 수 있다.
도 10 및 도 11은 도 2의 지연 신호들 그리고 도 6의 좌측 패리티 신호들 및 우측 패리티 신호들을 예시적으로 보여주는 도면이다. 도 10 및 도 11은 도 1, 도 2, 도 6, 및 도 7을 참조하여 함께 설명될 것이다. 지연 회로(110)에서 제 1 내지 제 7 지연 신호들(DS[1:7])이 출력되는 것으로 가정한다.
본 발명의 실시 예에 따라, 샘플링 포인트가 데이터 유효 윈도우 내에서 어디에 위치하는지가 판별되는 것이 도 7 내지 도 9에서 설명되었다. 본 발명의 다른 실시 예에 따라, 데이터 유효 윈도우의 크기(즉, 절대 데이터 유효 윈도우 마진)가 판별될 수 있다.
도 10은 도 7의 데이터 유효 윈도우의 크기가 감소한 경우를 나타낼 수 있다. 예를 들어, 샘플링 포인트는 제 3 내지 제 5 지연 신호들(DS[3:5])의 데이터 유효 윈도우들 내에 위치할 수 있으나 제 1, 제 2, 제 6, 및 제 7 지연 신호들(DS[1:2, 6:7])의 데이터 유효 윈도우들 밖에 위치할 수 있다. 제 3 내지 제 5 샘플링 값들(S[3:5]) 각각은 제 4 샘플링 값(S[4])과 일치할 수 있으나, 제 1, 제 2, 제 6, 및 제 7 샘플링 값들(S[1:2, 6:7]) 각각은 제 4 샘플링 값(S[4])과 일치하지 않을 수 있다.
따라서, 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3])은 '110'일 수 있고 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])은 '011'일 수 있다. 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3]) 및 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])을 통해, 데이터 유효 윈도우의 크기가 감소한 것이 판별될 수 있다.
도 11은 도 7의 데이터 유효 윈도우의 크기가 더 감소한 경우를 나타낼 수 있다. 예를 들어, 샘플링 포인트는 제 4 지연 신호(DS[4])의 데이터 유효 윈도우 내에 위치할 수 있으나 제 1 내지 제 3 그리고 제 5 내지 제 7 지연 신호들(DS[1:3, 5:7])의 데이터 유효 윈도우들 밖에 위치할 수 있다. 제 1 내지 제 3 그리고 제 5 내지 제 7 샘플링 값들(S[1:3, 5:7]) 각각은 제 4 샘플링 값(S[4])과 일치하지 않을 수 있다.
따라서, 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3])은 '111'일 수 있고 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])은 '111'일 수 있다. 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3]) 및 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])을 통해, 데이터 유효 윈도우의 크기가 더 감소한 것이 판별될 수 있다.
실시 예에 있어서, 판별기(130)는 제 1 내지 제 3 그리고 제 5 내지 제 7 샘플링 값들(S[1:3, 5:7]) 중 제 4 샘플링 값(S[4])과 일치하는 적어도 하나의 샘플링 값에 기초하여 데이터 유효 윈도우의 크기를 판별할 수 있다. 이를 위해, 판별기(130)는 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3]) 및 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])을 디코드(decode)하고, 그리고 제 1 내지 제 3 그리고 제 5 내지 제 7 샘플링 값들(S[1:3, 5:7]) 중 제 4 샘플링 값(S[4])과 일치하는 샘플링 값들을 판별할 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 읽기 마진 제어 회로를 예시적으로 보여주는 블록도이다. 도 12는 도 1 및 도 6을 참조하여 설명될 것이다. 읽기 마진 제어 회로(200)는 지연 회로(210), 샘플러(220), 판별기(230), 제 1 지연 셀(240), 제 2 지연 셀(250), 및 코드 생성기(290)를 포함할 수 있다.
지연 회로(210)는 지연 회로(110)와 달리 데이터 입출력 신호(DQ)가 지연된 제 1 지연 셀(240)의 출력을 수신할 수 있다. 상술한 점을 제외하고, 지연 회로(210)는 지연 회로(110)와 유사하게 동작할 수 있다. 지연 회로(210)는 제 1 지연 셀(240)의 출력을 지연시켜 위상들이 서로 다른 지연 신호들을 생성할 수 있다.
샘플러(220)는 샘플러(120)와 달리 데이터 스트로브 신호(DQS)가 지연된 제 2 지연 셀(250)의 출력을 수신할 수 있다. 상술한 점을 제외하고, 샘플러(220)는 샘플러(120)와 유사하게 동작할 수 있다. 샘플러(220)는 제 2 지연 셀(250)에 의해 지연된 데이터 스트로브 신호에 기초하여 지연 회로(210)에서 출력된 지연 신호들을 샘플링할 수 있다.
판별기(230)는 비교기(231) 및 누적기(236)를 포함할 수 있다. 비교기(231)는 샘플러(220)의 샘플링 값들을 비교할 수 있다. 비교기(231)는 도 6에서 전술한 제 1 내지 제 3 XOR 게이트들(131_1~131_3) 및 제 5 내지 제 7 XOR 게이트들(131_5~131_7)을 포함할 수 있다. 즉, 판별기(230)는 판별기(130)와 유사하게 동작할 수 있다.
누적기(236)는 비교기(231)의 비교 결과를 누적할 수 있다. 예를 들어, 데이터 유효 윈도우를 판별하기 위해 다양한 읽기 데이터를 포함하는 데이터 입출력 신호들이 필요할 수 있다. 적어도 하나 이상의 읽기 명령들이 메모리 장치(미도시)로 전송되고, 메모리 장치로부터 적어도 하나 이상의 데이터 입출력 신호들이 전송될 수 있다. 누적기(236)는 이러한 데이터 입출력 신호들에 대한 비교기(231)의 비교 결과를 누적할 수 있다.
판별기(230)는 비교기(231)의 비교 결과 및 누적기(236)의 누적 결과에 기초하여 데이터 유효 윈도우를 판별할 수 있다. 판별기(230)는 제 1 코드(CODE1) 또는 제 2 코드(CODE2)를 변경하기 위해 증가 신호(INC) 또는 감소 신호(DEC)를 코드 생성기(290)로 전송할 수 있다.
실시 예에 있어서, 제 1 코드(CODE1)에 따라 제 1 지연 셀(240)의 지연이 조정되는 단위는 도 2에서 전술한 제 1 내지 제 n+1 지연 단들(111_1~111_n+1) 각각의 전파 지연에 대응할 수 있다. 제 1 코드(CODE1)의 LSB(least significant bit)에 따라 변경되는 제 1 지연 셀(240)의 지연은 지연 단의 전파 지연에 대응할 수 있다. 유사하게, 제 2 코드(CODE2)에 따라 제 2 지연 셀(250)의 지연이 조정되는 단위도 지연 단의 전파 지연에 대응할 수 있다. 제 2 코드(CODE2)의 LSB에 따라 변경되는 제 2 지연 셀(250)의 지연도 지연 단의 전파 지연에 대응할 수 있다.
읽기 마진 제어 회로(200)는 도 1의 읽기 마진 제어 회로(100)보다 제 1 지연 셀(240) 및 제 2 지연 셀(250)을 더 포함할 수 있다. 읽기 마진 제어 회로(200)는 제 1 지연 셀(240) 및 제 2 지연 셀(250) 모두를 포함하는 것으로 도 12에서 도시되었다. 그러나, 읽기 마진 제어 회로(200)는 제 1 지연 셀(240) 및 제 2 지연 셀(250) 중 어느 하나만을 포함할 수도 있다.
제 1 지연 셀(240)은 데이터 입출력 신호(DQ)를 수신할 수 있다. 제 1 지연 셀(240)은 제 1 코드(CODE1)에 기초하여 데이터 입출력 신호(DQ)를 지연시킬 수 있다. 제 1 지연 셀(240)은 제 1 코드(CODE1)에 따라 데이터 입출력 신호(DQ)의 지연량이 결정되는 가변(variable) 지연 셀일 수 있다.
실시 예에 있어서, 제 1 지연 셀(240)에 의한 데이터 입출력 신호(DQ)의 지연량은 제 1 코드(CODE1)에 따라 디지털 방식으로 변경될 수 있다. 제 1 지연 셀(240)은 제 1 코드(CODE1)를 수신하는 적어도 하나의 논리 게이트(예를 들어, 인버터 등)를 통해 구현될 수 있다. 또는, 제 1 지연 셀(240)은 지연 회로(210)와 유사한 방식으로 구현될 수도 있다. 다른 실시 예에 있어서, 제 1 지연 셀(240)에 의한 데이터 입출력 신호(DQ)의 지연량은 제 1 코드(CODE1)에 대응하는 전압 또는 전류에 따라 아날로그 방식으로 변경될 수 있다.
제 2 지연 셀(250)은 데이터 스트로브 신호(DQS)를 수신할 수 있다. 제 2 지연 셀(250)은 제 2 코드(CODE2)에 기초하여 데이터 스트로브 신호(DQS)를 지연시킬 수 있다. 제 2 지연 셀(250)은 제 2 코드(CODE2)에 따라 데이터 스트로브 신호(DQS)의 지연량이 결정되는 가변 지연 셀일 수 있다. 예를 들어, 제 2 지연 셀(250)은 제 1 지연 셀(240)과 유사하게 구현될 수 있다.
코드 생성기(290)는 판별기(230)의 판별 결과에 기초하여 제 1 지연 셀(240)의 지연량을 조정하는 제 1 코드(CODE1) 또는 제 2 지연 셀(250)의 지연량을 조정하는 제 2 코드(CODE2)를 생성할 수 있다. 코드 생성기(290)에 의해, 데이터 입출력 신호(DQ)는 데이터 스트로브 신호(DQS)보다 더 지연되거나 반대로 데이터 스트로브 신호(DQS)는 데이터 입출력 신호(DQ)보다 더 지연될 수 있다.
좀 더 구체적으로, 코드 생성기(290)는 좌측 패리티 신호들 및 우측 패리티 신호들에 기초하여 제 1 코드(CODE1) 또는 제 2 코드(CODE2)를 생성할 수 있다. 도 6에서 전술한대로, 제 1 내지 제 3 XOR 게이트들(131_1~131_3)은 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3])을 생성할 수 있다. 제 5 내지 제 7 XOR 게이트들(131_5~131_7)은 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])을 생성할 수 있다. 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3])은 제 1 내지 제 3 샘플링 값들(S[1:3]) 중 제 4 샘플링 값(S[4])과 일치하지 않는 적어도 하나의 값을 나타낼 수 있다. 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])은 제 5 내지 제 7 샘플링 값들(S[5:7]) 중 제 4 샘플링 값(S[4])과 일치하지 않는 적어도 하나의 값을 나타낼 수 있다.
샘플링 포인트가 데이터 유효 윈도우의 좌측에 위치하고, 데이터 유효 윈도우의 좌측 윈도우 마진이 부족한 것으로 가정한다. 이 경우, 제 1 내지 제 3 샘플링 값들(S[1:3]) 중 적어도 하나는 제 4 샘플링 값(S[4])과 일치하지 않는다. 코드 생성기(290)는 제 4 샘플링 값(S[4])과 일치하지 않는 적어도 하나의 값에 기초하여 데이터 입출력 신호(DQ)보다 데이터 스트로브 신호(DQS)가 더 지연되도록 제 1 코드(CODE1) 또는 제 2 코드(CODE2)를 생성할 수 있다.
반대로, 샘플링 포인트가 데이터 유효 윈도우의 우측에 위치하고, 데이터 유효 윈도우의 우측 윈도우 마진이 부족한 것으로 가정한다. 이 경우, 제 5 내지 제 7 샘플링 값들(S[5:7]) 중 적어도 하나는 제 4 샘플링 값(S[4])과 일치하지 않는다. 코드 생성기(290)는 제 4 샘플링 값(S[4])과 일치하지 않는 적어도 하나의 값에 기초하여 데이터 스트로브 신호(DQS)보다 데이터 입출력 신호(DQ)가 더 지연되도록 제 1 코드(CODE1) 또는 제 2 코드(CODE2)를 생성할 수 있다.
도 13 및 도 14는 도 12의 읽기 마진 제어 회로에 의해 데이터 입출력 신호의 데이터 유효 윈도우가 슬라이딩되는 예시들을 보여주는 도면들이다. 도 13 및 도 14는 도 6 및 도 12를 참조하여 함께 설명될 것이다. 도 13은 샘플링 포인트가 오른쪽으로 쉬프트되는 경우에 관한 것이다. 도 14는 샘플링 포인트가 왼쪽으로 쉬프트되는 경우에 관한 것이다.
도 13 및 도 14에서 도시된 화살표들 각각이 나타내는 지점에서 데이터 입출력 신호(DQ)가 지연된 신호들 각각이 샘플링될 수 있다. 본 발명의 실시 예에 따르면, 데이터 스트로브 신호(DQS)에 오프셋이 인가되어 샘플링 포인트가 변경되는 것이 아니다. 데이터 입출력 신호(DQ)가 지연된 지연 신호들이 생성될 수 있고 이러한 지연 신호들이 한번에 샘플링될 수 있다.
'P' 및 'F'는 패스(pass) 및 페일(fail)을 각각 나타낼 수 있다. 패스는 화살표가 나타내는 지점에서 샘플링된 값이 데이터 유효 윈도우 내에서 샘플링된 값과 일치함을 나타낼 수 있다. 페일은 화살표가 나타내는 지점에서 샘플링된 값이 데이터 유효 윈도우 내에서 샘플링된 값과 일치하지 않음을 나타낼 수 있다. 예를 들어, 패스 및 페일은 도 6에서 전술한 제 1 내지 제 3 좌측 패리티 신호들(LP[1:3]) 및 제 1 내지 제 3 우측 패리티 신호들(RP[1:3])에 기초하여 생성될 수 있고, 도 12에서 전술한 판별기(230)의 판별 결과일 수 있다.
도 13에서, 제 1 내지 제 3 좌측 패티리 신호들(LP[1:3]) 중 적어도 하나는 활성화될 수 있다. 제 1 내지 제 3 좌측 패티리 신호들(LP[1:3])은 샘플링 포인트가 데이터 유효 윈도우 내 좌측에 위치함을 나타낼 수 있다. 도 13에서 도시된 패스 및 페일에 따라, 코드 생성기(290)는 제 1 코드(CODE1) 또는 제 2 코드(CODE2)를 생성하고 데이터 입출력 신호(DQ)보다 데이터 스트로브 신호(DQS)를 더 지연시킬 수 있다. 따라서, 샘플링 포인트가 오른쪽으로 쉬프트될 수 있다.
도 14에서, 제 1 내지 제 3 우측 패티리 신호들(RP[1:3]) 중 적어도 하나는 활성화될 수 있다. 제 1 내지 제 3 우측 패티리 신호들(RP[1:3])은 샘플링 포인트가 데이터 유효 윈도우 내 우측에 위치함을 나타낼 수 있다. 도 14에서 도시된 패스 및 페일에 따라, 코드 생성기(290)는 제 1 코드(CODE1) 또는 제 2 코드(CODE2)를 생성하고 데이터 스트로브 신호(DQS)보다 데이터 입출력 신호(DQ)를 더 지연시킬 수 있다. 따라서, 샘플링 포인트가 왼쪽으로 쉬프트될 수 있다.
도 13 및 도 14에서 총 6개의 패스들 및 페일들이 도시되었으나, 본 발명의 범위는 이에 제한되지 않는다. 패스들 및 페일들의 수는 지연 회로(210)가 생성하는 지연 신호들의 수에 따라 결정될 수 있다.
도 15는 본 발명의 실시 예에 따라 데이터 입출력 신호의 읽기 마진에 제어되는 단계들을 예시적으로 보여주는 순서도이다. 도 15는 도 12 내지 도 14를 참조하여 설명될 것이다.
S110 단계에서, 지연 회로(210)는 데이터 입출력 신호(DQ)를 지연시키고 지연 신호들을 생성할 수 있다. 예를 들어, 지연 회로(210)는 데이터 입출력 신호(DQ)를 지연시키기 위해 논리 게이트들과 같은 디지털 회로를 포함할 수 있다. 지연 신호들의 위상은 서로 다를 수 있다.
S120 단계에서, 샘플러(220)는 데이터 스트로브 신호(DQS)에 기초하여 지연 신호들을 샘플링할 수 있다. 샘플러(220)는 데이터 스트로브 신호(DQS)의 상승 엣지 또는 하강 엣지에서의 지연 신호들의 논리 값들을 포함하는 샘플링 값들을 생성할 수 있다.
S130 단계에서, 판별기(230)는 샘플링 값들을 비교할 수 있다. 판별기(230)는 중심 지연 신호(도 2의 제 4 지연 신호(DS[4]) 참조)가 샘플링된 값과 나머지 샘플링 값들 각각을 비교할 수 있다.
S140 단계에서, 판별기(230)는 비교 결과들을 누적할 수 있다. 전술한대로, 비교 결과들은 다양한 읽기 데이터를 포함하는 데이터 입출력 신호들이 샘플링되고 비교되어 생성될 수 있다. 판별기(230)는 누적된 비교 결과들에 기초하여 데이터 유효 윈도우를 판별할 수 있다. 좀 더 구체적으로, 판별기(230)는 좌측 윈도우 마진이 부족한지, 우측 윈도우 마진이 부족한지, 또는 좌측 및 우측 윈도우 마진이 모두 부족한지를 판별할 수 있다.
S150 단계에서, 데이터 유효 윈도우의 좌측 윈도우 마진이 부족할 수 있다(도 13 참조). 코드 생성기(290)는 데이터 입출력 신호(DQ)보다 데이터 스트로브 신호(DQS)가 더 지연되도록 제 1 코드(CODE1) 또는 제 2 코드(CODE2)를 생성할 수 있다. 코드 생성기(290)는 데이터 입출력 신호(DQ)의 샘플링 포인트를 오른쪽으로 쉬프트할 수 있다.
S160 단계에서, 데이터 유효 윈도우의 우측 윈도우 마진이 부족할 수 있다(도 14 참조). 코드 생성기(290)는 데이터 스트로브 신호(DQS)보다 데이터 입출력 신호(DQ)가 더 지연되도록 제 1 코드(CODE1) 또는 제 2 코드(CODE2)를 생성할 수 있다. 코드 생성기(290)는 데이터 입출력 신호(DQ)의 샘플링 포인트를 왼쪽으로 쉬프트할 수 있다.
S170 단계에서, 데이터 유효 윈도우의 좌측 및 우측 윈도우가 모두 부족할 수 있다. 이 경우, 판별기(230)는 데이터 유효 윈도우의 절대적인 크기가 작은 것으로 판별할 수 있다. 예를 들어, 판별기(230)는 데이터 입출력 신호(DQ)를 생성한 메모리 장치를 스크린(screen)할 수 있다.
도 16은 본 발명의 또 다른 실시 예에 따른 읽기 마진 제어 회로를 예시적으로 보여주는 블록도이다. 도 16은 도 12를 참조하여 설명될 것이다. 읽기 마진 제어 회로(300)는 지연 회로(310), 샘플러(320), 판별기(330), 제 1 지연 셀(340), 제 2 지연 셀(350), 제 3 지연 셀(360), 및 코드 생성기(390)를 포함할 수 있다. 지연 회로(310) 및 제 1 지연 셀(340)은 지연 회로(210) 및 제 1 지연 셀(240)과 유사하게 동작할 수 있다.
읽기 마진 제어 회로(300)는 차동 방식으로 전송된 양의 데이터 스트로브 신호(PDQS) 및 음의 데이터 스트로브 신호(NDQS)를 수신할 수 있다. 제 2 지연 셀(350)은 제 2 코드(CODE2)에 기초하여 양의 데이터 스트로브 신호(PDQS)를 지연시킬 수 있다. 제 3 지연 셀(360)은 제 3 코드(CODE3)에 기초하여 음의 데이터 스트로브 신호(NDQS)를 지연시킬 수 있다. 제 2 지연 셀(350) 및 제 3 지연 셀(360) 각각은 제 2 지연 셀(250)과 유사하게 동작할 수 있다.
샘플러(320)는 양의 데이터 스트로브 신호(PDQS) 및 음의 데이터 스트로브 신호(NDQS) 각각에 기초하여 지연 회로(310)에서 출력된 지연 신호들 각각을 샘플링할 수 있다. 예를 들어, 양의 데이터 스트로브 신호(PDQS)에 기초하여 샘플링된 샘플링 값들은 도 12의 데이터 스트로브 신호(DQS)의 상승 엣지에서 샘플링된 샘플링 값들에 대응할 수 있다. 음의 데이터 스트로브 신호(NDQS)에 기초하여 샘플링된 샘플링 값들은 도 12의 데이터 스트로브 신호(DQS)의 하강 엣지에서 샘플링된 샘플링 값들에 대응할 수 있다. 즉, 데이터 입출력 신호(DQ)는 데이터 스트로브 신호(DQS)의 상승 엣지 및 하강 엣지 모두에서 샘플링될 수 있다. 샘플러(320)는 샘플러(220)와 유사하게 동작할 수 있다.
판별기(330)는 양의 데이터 스트로브 신호(PDQS) 및 음의 데이터 스트로브 신호(NDQS) 각각에 기초하여 샘플링된 샘플링 값들에 기초하여 데이터 유효 윈도우를 판별할 수 있다. 예를 들어, 판별기(330)는, 샘플러(320)에 의해 데이터 스트로브 신호(DQS)의 상승 엣지 및 하강 엣지 각각에서 샘플링된 값들을 기준으로, 데이터 유효 윈도우를 판별할 수 있다. 판별기(330)는 판별기(230)와 유사하게 동작할 수 있다.
판별기(330)는 제 1 비교기(331), 제 2 비교기(332), 및 누적기(336)를 포함할 수 있다. 제 1 비교기(331)는 양의 데이터 스트로브 신호(PDQS)에 기초하여 샘플링된 샘플링 값들을 비교할 수 있다. 제 2 비교기(332)는 음의 데이터 스트로브 신호(NDQS)에 기초하여 샘플링된 샘플링 값들을 비교할 수 있다. 제 1 비교기(331) 및 제 2 비교기(332) 각각은 비교기(231)와 유사하게 동작할 수 있다. 누적기(336)는 누적기(236)와 유사하게 동작할 수 있다.
코드 생성기(390)는 판별기(330)의 판별 결과에 기초하여 제 1 지연 셀(340)의 지연량을 조정하는 제 1 코드(CODE1), 제 2 지연 셀(350)의 지연량을 조정하는 제 2 코드(CODE2), 또는 제 3 지연 셀(360)의 지연량을 조정하는 제 3 코드(CODE3)를 생성할 수 있다. 코드 생성기(390)에 의해 데이터 입출력 신호(DQ)는 양의 데이터 스트로브 신호(PDQS) 및 음의 데이터 스트로브 신호(NDQS)보다 더 지연되거나 반대로 양의 데이터 스트로브 신호(PDQS) 및 음의 데이터 스트로브 신호(NDQS)는 데이터 입출력 신호(DQ)보다 더 지연될 수 있다. 코드 생성기(390)는 코드 생성기(290)와 유사하게 동작할 수 있다.
도 17은 도 16의 샘플러를 좀 더 상세하게 보여주는 블록도이다. 도 17은 도 5 및 도 16을 참조하여 설명될 것이다. 도 17에서, 도 16의 지연 회로(310)는 8개의 지연 단들을 포함하고 지연 단들에서 제 1 내지 제 7 지연 신호들(DS[1:7])이 출력되는 것으로 가정한다.
샘플러(320)는 제 1 내지 제 7 양의 플립 플롭들(321_1~321_7) 및 제 1 내지 제 7 음의 플립 플롭들(322_1~322_7)을 포함할 수 있다. 제 1 내지 제 7 양의 플립 플롭들(321_1~321_7) 및 제 1 내지 제 7 음의 플립 플롭들(322_1~322_7)은 제 1 내지 제 7 플립 플롭들(121_1~121_7)과 유사하게 동작할 수 있다.
제 1 내지 제 7 양의 플립 플롭들(321_1~321_7)은 양의 데이터 스트로브 신호(PDQS)에 기초하여 제 1 내지 제 7 지연 신호들(DS[1:7])을 샘플링하고 제 1 내지 제 7 상승 샘플링 값들(RS[1:7])을 출력할 수 있다. 제 1 내지 제 7 음의 플립 플롭들(322_1~322_7)은 음의 데이터 스트로브 신호(NDQS)에 기초하여 제 1 내지 제 7 지연 신호들(DS[1:7])을 샘플링하고 제 1 내지 제 7 하강 샘플링 값들(FS[1:7])을 출력할 수 있다.
도 18은 도 16의 제 1 비교기 및 제 2 비교기를 좀 더 상세하게 보여주는 블록도이다. 도 18은 도 6, 도 16, 및 도 17을 참조하여 설명될 것이다.
제 1 비교기(331)는 제 4 상승 샘플링 값(RS[4])과 제 1 내지 제 3 상승 샘플링 값들(RS[1:3]) 및 제 5 내지 제 7 상승 샘플링 값들(RS[5:7]) 각각을 비교할 수 있다. 실시 예에 있어서, 제 4 상승 샘플링 값(RS[4])은 지연 신호들 중 중심 지연 신호(도 2의 제 4 지연 신호(DS[4]) 참조)가 데이터 스트로브 신호(DQS)의 상승 엣지에서 샘플링된 값일 수 있다. 제 1 비교기(331)는 제 1 내지 제 3 XOR 게이트들(331_1~331_3) 및 제 5 내지 제 7 XOR 게이트들(331_5~331_7)을 포함할 수 있다. 제 1 내지 제 3 XOR 게이트들(331_1~331_3) 및 제 5 내지 제 7 XOR 게이트들(331_5~331_7)은 도 6의 XOR 게이트들(131_1~131_3, 131_5~131_7)과 유사하게 동작할 수 있다.
제 2 비교기(332)는 제 4 하강 샘플링 값(FS[4])과 제 1 내지 제 3 하강 샘플링 값들(FS[1:3]) 및 제 5 내지 제 7 하강 샘플링 값들(FS[5:7]) 각각을 비교할 수 있다. 실시 예에 있어서, 제 4 하강 샘플링 값(FS[4])은 지연 신호들 중 중심 지연 신호(도 2의 제 4 지연 신호(DS[4]) 참조)가 데이터 스트로브 신호(DQS)의 하강 엣지에서 샘플링된 값일 수 있다. 제 2 비교기(332)는 제 1 내지 제 3 XOR 게이트들(332_1~332_3) 및 제 5 내지 제 7 XOR 게이트들(332_5~332_7)을 포함할 수 있다. 제 1 내지 제 3 XOR 게이트들(332_1~332_3) 및 제 5 내지 제 7 XOR 게이트들(332_5~332_7)은 도 6의 XOR 게이트들(131_1~131_3, 131_5~131_7)과 유사하게 동작할 수 있다.
도 19는 본 발명의 실시 예에 따른 메모리 시스템을 예시적으로 보여주는 블록도이다. 메모리 시스템(1000)은 메모리 컨트롤러(1100) 및 메모리 장치(1200)를 포함할 수 있다. 메모리 시스템(1000)은 전자 장치 내에서 구현될 수 있다.
메모리 컨트롤러(1100)는 메모리 장치(1200)를 제어할 수 있다. 메모리 컨트롤러(1100)는 메모리 장치(1200)에 데이터를 쓰는 쓰기 명령 및 메모리 장치(1200)로부터 데이터를 읽는 읽기 명령을 메모리 장치(1200)로 전송할 수 있다. 메모리 컨트롤러(1100)는 도 1 내지 도 18에서 전술한 읽기 마진 제어 회로들(100, 200, 300)과 유사하게 동작할 수 있다. 메모리 컨트롤러(1100)는 전술한 읽기 마진 제어 회로들(100, 200, 300)과 유사하게 지연 회로들(1110), 샘플러(1120), 판별기(1130), 및 코드 생성기(1190)를 포함할 수 있다. 도 19에서 도시되진 않았으나, 메모리 컨트롤러(1100)는 읽기 마진 제어 회로들(100, 200, 300)의 세부 구성요소들을 더 포함할 수 있다.
본 발명의 실시 예에 따르면, 메모리 컨트롤러(1100)는 데이터 입출력 신호들(DQ[1:m])의 데이터 입출력 윈도우들 각각을 판별하고 데이터 입출력 신호들(DQ[1:m])의 읽기 마진들을 각각 제어할 수 있다. 도 19를 참조하면, 지연 회로들(1110)의 수는 데이터 입출력 신호들(DQ[1:m])의 수와 동일할 수 있다. 샘플러(1120)는 데이터 스트로브 신호(DQS)에 기초하여 지연 회로들(1110) 각각의 지연 회로들을 샘플링할 수 있다. 여기서, 모든 데이터 입출력 신호들(DQ[1:m])은 데이터 스트로브 신호(DQS)에 동기될 수 있다.
메모리 장치(1200)는 메모리 컨트롤러(1100)의 쓰기 명령에 응답하여 데이터를 저장하고 메모리 컨트롤러(1100)의 읽기 명령에 응답하여 데이터를 출력할 수 있다. 도 19를 참조하면, 메모리 장치(1200)는 메모리 컨트롤러(1100)의 읽기 명령에 응답하여 데이터 입출력 신호들(DQ[1:m]) 및 데이터 스트로브 신호(DQS)를 메모리 컨트롤러(1100)로 전송할 수 있다. 데이터 입출력 신호들(DQ[1:m])의 수인 m은 1 이상의 정수일 수 있고, 메모리 장치(1200)와 메모리 컨트롤러(1100)간의 채널을 정의하는 인터페이스에 따라 결정될 수 있다.
실시 예에 있어서, 메모리 장치(1200)는 DRAM(dynamic random access memory) 장치, SRAM(static random access memory) 장치 등과 같은 휘발성 메모리 장치를 포함할 수 있다. 다른 실시 예에 있어서, 메모리 장치(1200)는 NAND 플래시 메모리(NAND flash memory) 장치, NOR 플래시 메모리(NOR flash memory) 장치, RRAM(resistive random access memory) 장치, FRAM(ferroelectric random access memory) 장치, PRAM(phase change random access memory) 장치, TRAM(thyristor random access memory) 장치, MRAM(magnetic random access memory) 장치 등과 같은 불휘발성 메모리 장치를 포함할 수 있다.
도 20은 본 발명의 실시 예에 따른 컴퓨팅 장치를 예시적으로 보여주는 블록도이다. 도 20을 참조하면, 컴퓨팅 장치(2000)는 프로세서(2100), 워킹 메모리(2200), 메모리 컨트롤러(2300), 메모리 장치(2400), 유저 인터페이스(2500), 통신 유닛(2600), 및 버스(2700)를 포함할 수 있다.
프로세서(2100)는 컴퓨팅 장치(2000)의 전반적인 동작을 제어할 수 있다. 프로세서(2100)는 중앙 처리 유닛으로서 다양한 종류의 연산들을 수행할 수 있다. 예를 들어, 프로세서(2100)는 적어도 하나 이상의 프로세서 코어들을 포함할 수 있다.
워킹 메모리(2200)는 프로세서(2100)와 데이터를 교환할 수 있다. 워킹 메모리(2200)는 컴퓨팅 장치(2000)의 동작에 이용되는 데이터를 임시로 저장할 수 있다. 예를 들어, 워킹 메모리(2200)는 DRAM, SRAM 등과 같은 고속의 메모리를 포함할 수 있다.
메모리 컨트롤러(2300)는 메모리 장치(2400)와 데이터를 교환할 수 있다. 실시 예에 있어서, 메모리 컨트롤러(2300) 및 메모리 장치(2400)는 도 19에서 전술한 메모리 컨트롤러(1100) 및 메모리 장치(1200)와 각각 유사하게 동작할 수 있다.
유저 인터페이스(2500)는 프로세서(2100)의 제어에 따라 사용자와 컴퓨팅 장치(2000) 사이의 통신을 중계할 수 있다. 실시 예로서, 유저 인터페이스(2500)는 키보드, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서 등의 입력 인터페이스를 포함할 수 있다. 나아가, 유저 인터페이스(2500)는 LCD(liquid crystal display) 장치, LED(light emitting diode) 표시 장치, OLED(organic LED) 표시 장치, AMOLED(active matrix OLED) 표시 장치, 스피커, 모터 등의 출력 인터페이스를 포함할 수 있다.
통신 유닛(2600)은 프로세서(2100)의 제어에 따라 컴퓨팅 장치(2000)의 외부와 통신할 수 있다. 통신 유닛(2600)은 유선 통신 규약 또는 무선 통신 규약에 따라 컴퓨팅 장치(2000)의 외부와 통신할 수 있다. 예로서, 통신 유닛(2600)은 LTE(long term evolution), WiMax(world interoperability for microwave access), GSM(global system for mobile communications), CDMA(code division multiple access), Bluetooth, NFC(near field communication), WiFi(wireless fidelity), RFID(radio frequency identification) 등의 다양한 무선 통신 규약 중 적어도 하나, 또는 USB(universal serial bus), SCSI(small computer system interface), PCIe(peripheral component interconnect express), ATA(advanced technology attachment), PATA(parallel ATA), SATA(serial ATA), SAS(serial attached SCSI), IDE(integrated drive electronics), UFS(universal flash storage) 등의 다양한 유선 통신 규약 중 적어도 하나에 따라 컴퓨팅 장치(2000)의 외부와 통신할 수 있다.
버스(2700)는 컴퓨팅 장치(2000)의 구성 요소들 사이에서 통신 경로를 제공할 수 있다. 컴퓨팅 장치(2000)의 구성 요소들은 버스 포맷에 따라 서로 데이터를 주고 받을 수 있다. 실시 예로서, 버스 포맷은 USB(universal serial bus), SCSI(small computer system interface), PCIe(peripheral component interconnect express), ATA(advanced technology attachment), PATA(parallel ATA), SATA(serial ATA), SAS(serial attached SCSI), IDE(integrated drive electronics) 등을 포함할 수 있다.
도 21은 본 발명의 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다. 전자 장치(3000)는 MIPI(mobile industry processor interface) 연합(alliance)에 의해 제안된 인터페이스들을 이용하거나 지원할 수 있는 데이터 처리 장치일 수 있다. 전자 장치(3000)는 휴대용 통신 단말기, PDA(personal digital assistant), PMP(portable media player), 스마트폰, 또는 웨어러블(wearable) 장치일 수 있다.
전자 장치(3000)는 시스템 온 칩(system on chip; 이하 SoC, 3100) 및 메모리 장치(3200)를 포함할 수 있다. SoC(3100)는 어플리케이션 프로세서로서 전자 장치(3000)의 전반적인 동작을 제어할 수 있다. SoC(3100)에는 전자 장치(3000)를 제어하기 위한 다양한 회로들이 집적될 수 있고, 예를 들어 SoC(3100)는 메모리 컨트롤러(3110)를 포함할 수 있다.
실시 예에 있어서, 메모리 컨트롤러(3110) 및 메모리 장치(3200)는 데이터를 서로 교환할 수 있다. 메모리 컨트롤러(3110) 및 메모리 장치(3200)간에는 데이터 입출력 신호들(DQ[1:m]) 및 데이터 스트로브 신호(DQS)가 양방향으로 전송될 수 있다. 메모리 컨트롤러(3110) 및 메모리 장치(3200)는 도 19에서 전술한 메모리 컨트롤러(1100) 및 메모리 장치(1200)와 각각 유사하게 동작할 수 있다.
전자 장치(3000)는 디스플레이(3310) 및 이미지 센서(3320)를 포함할 수 있다. SoC(3100)는 DSI(display serial interface)에 따라 디스플레이(3310)의 DSI 장치(3315)와 통신할 수 있다. 예를 들어, SoC(3100)에는 광 시리얼라이저(SER)가 구현될 수 있고, DSI 장치(3315)에는 광 디시리얼라이저(DES)가 구현될 수 있다.
SoC(3100)는 CSI(camera serial interface)에 따라 이미지 센서(3320)의 CSI 장치(3325)와 통신할 수 있다. 예를 들어, SoC(3100)에는 광 디시리얼라이저(DES)가 구현될 수 있고, CSI 장치(3325)에는 광 시리얼라이저(SER)가 구현될 수 있다.
전자 장치(3000)는 SoC(3100)와 통신하는 RF(radio frequency) 칩(3330)을 더 포함할 수 있다. RF 칩(3330)은 물리 계층(3331), DigRF 슬레이브(3332), 및 안테나(3333)를 포함할 수 있다. 예를 들어, RF 칩(3330)의 물리 계층(3331)과 SoC(3100)의 물리 계층은 MIPI 연합에 의해 제안된 DigRF 인터페이스에 의해 서로 데이터를 교환할 수 있다.
전자 장치(3000)는 임베디드/카드 스토리지(3340)를 더 포함할 수 있다. 임베디드/카드 스토리지(3340)는 SoC(3100)와 데이터를 교환할 수 있다. 실시 예에 있어서, SoC(3100)는 임베디드/카드 스토리지(3340)로부터 출력된 데이터 입출력 신호들 및 데이터 스트로브 신호를 수신하고, 데이터 입출력 신호들의 데이터 유효 윈도우들을 판별하고, 그리고 데이터 입출력 신호들의 읽기 마진들을 각각 제어할 수 있다.
전자 장치(3000)는 WiMax(3350), WLAN(wireless local area network; 3360), UWB(ultra wide band; 3370) 등을 통해 외부 시스템과 통신할 수 있다. 또한, 전자 장치(3000)는 위치 정보를 처리하기 위한 GPS(global positioning system) 장치를 더 포함할 수 있다. 전자 장치(3000)는 주변 장치들과의 연결을 관리하기 위한 브릿지(bridge) 칩을 더 포함할 수 있다.
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 상술한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.
100, 200, 300: 읽기 마진 제어 회로;
110, 210, 310: 지연 회로;
120, 220, 320: 샘플러;
130, 230, 330: 판별기;

Claims (20)

  1. 데이터 입출력 신호를 지연시켜 위상들이 서로 다른 지연 신호들을 생성하는 지연 회로;
    데이터 스트로브 신호에 기초하여 상기 지연 신호들 각각을 샘플링하는 샘플러; 및
    상기 샘플러에 의해 샘플링된 샘플링 값들에 기초하여 상기 데이터 입출력 신호의 데이터 유효 윈도우를 판별하는 판별기를 포함하는 읽기 마진 제어 회로.
  2. 제 1 항에 있어서,
    상기 지연 회로는 직렬로 연결된 지연 단들을 포함하고,
    상기 지연 신호들은 상기 지연 단들에서 각각 출력되고, 그리고
    상기 지연 신호들간의 위상차는 상기 지연 단들의 전파 지연에 따라 결정되는 읽기 마진 제어 회로.
  3. 제 1 항에 있어서,
    상기 지연 신호들은 제 1 지연 신호, 상기 제 1 지연 신호보다 덜 지연된 제 2 지연 신호들, 및 상기 제 1 지연 신호보다 더 지연된 제 3 지연 신호들을 포함하고, 그리고
    상기 샘플링 값들은 상기 제 1 지연 신호가 샘플링된 제 1 샘플링 값, 상기 제 2 지연 신호들이 샘플링된 제 2 샘플링 값들, 및 상기 제 3 지연 신호들이 샘플링된 제 3 샘플링 값들을 포함하는 읽기 마진 제어 회로.
  4. 제 3 항에 있어서,
    상기 판별기는 상기 제 1 샘플링 값과 상기 제 2 및 제 3 샘플링 값들 각각을 비교하는 읽기 마진 제어 회로.
  5. 제 4 항에 있어서,
    상기 판별기는 상기 제 1 샘플링 값과 상기 제 2 및 제 3 샘플링 값들 각각에 대해 배타적 논리합 연산 또는 배타적 부정 논리합 연산을 수행하는 논리 게이트들을 포함하는 읽기 마진 제어 회로.
  6. 제 4 항에 있어서,
    상기 판별기는 상기 제 2 및 제 3 샘플링 값들 중 상기 제 1 샘플링 값과 일치하는 적어도 하나의 샘플링 값에 기초하여 상기 데이터 유효 윈도우의 크기를 판별하는 읽기 마진 제어 회로.
  7. 제 4 항에 있어서,
    상기 데이터 입출력 신호를 지연시키는 제 1 지연 셀 및 상기 데이터 스트로브 신호를 지연시키는 제 2 지연 셀을 더 포함하고,
    상기 지연 회로는 상기 제 1 지연 셀의 출력을 수신하고, 그리고
    상기 샘플러는 상기 제 2 지연 셀의 출력을 수신하는 읽기 마진 제어 회로.
  8. 제 7 항에 있어서,
    상기 판별기의 판별 결과에 기초하여, 상기 제 1 지연 셀의 지연량 또는 상기 제 2 지연 셀의 지연량을 조정하는 코드를 생성하는 코드 생성기를 더 포함하는 읽기 마진 제어 회로.
  9. 제 8 항에 있어서,
    상기 코드 생성기는 상기 제 2 샘플링 값들 중 상기 제 1 샘플링 값과 일치하지 않는 적어도 하나의 값에 기초하여, 상기 데이터 스트로브 신호보다 상기 데이터 입출력 신호가 더 지연되도록 상기 코드를 생성하는 읽기 마진 제어 회로.
  10. 제 8 항에 있어서,
    상기 코드 생성기는 상기 제 3 샘플링 값들 중 상기 제 1 샘플링 값과 일치하지 않는 적어도 하나의 값에 기초하여, 상기 데이터 입출력 신호보다 상기 데이터 스트로브 신호가 더 지연되도록 상기 코드를 생성하는 읽기 마진 제어 회로.
  11. 메모리 장치로부터 전송된 데이터 입출력 신호를 지연시켜 제 1 지연 신호, 상기 제 1 지연 신호보다 덜 지연된 제 2 지연 신호들, 및 상기 제 1 지연 신호보다 더 지연된 제 3 지연 신호들을 생성하는 지연 회로;
    상기 메모리 장치로부터 전송된 데이터 스트로브 신호의 상승 엣지에서 상기 제 1 지연 신호, 상기 제 2 지연 신호들, 및 상기 제 3 지연 신호들을 샘플링하고 그리고 상기 데이터 스트로브 신호의 하강 엣지에서 상기 제 1 지연 신호, 상기 제 2 지연 신호들, 및 상기 제 3 지연 신호들을 샘플링하는 샘플러; 및
    상기 상승 엣지 및 상기 하강 엣지에서 각각 샘플링된 상기 제 1 지연 신호의 제 1 상승 샘플링 값 및 제 1 하강 샘플링 값을 기준으로 상기 데이터 입출력 신호의 데이터 유효 윈도우를 판별하는 판별기를 포함하는 메모리 컨트롤러.
  12. 제 11 항에 있어서,
    상기 지연 회로는 상기 데이터 입출력 신호를 지연시키는 지연 단들을 포함하고, 그리고
    상기 제 1 지연 신호, 상기 제 2 지연 신호들, 및 상기 제 3 지연 신호들은 상기 지연 단들에서 각각 출력되는 메모리 컨트롤러.
  13. 제 12 항에 있어서,
    상기 판별기는 상기 제 1 상승 샘플링 값과 상기 상승 엣지에서 샘플링된 제 2 및 제 3 지연 신호들의 제 2 및 제 3 상승 샘플링 값들 각각을 비교하고 그리고 상기 제 1 하강 샘플링 값과 상기 하강 엣지에서 샘플링된 제 2 및 제 3 지연 신호들의 제 2 및 제 3 하강 샘플링 값들 각각을 비교하는 메모리 컨트롤러.
  14. 제 13 항에 있어서,
    상기 데이터 입출력 신호를 지연시키는 제 1 지연 셀 및 상기 데이터 스트로브 신호를 지연시키는 제 2 지연 셀을 더 포함하고,
    상기 지연 회로는 상기 제 1 지연 셀의 출력을 수신하고, 그리고
    상기 샘플러는 상기 제 2 지연 셀의 출력을 수신하는 메모리 컨트롤러.
  15. 제 14 항에 있어서,
    상기 제 2 및 제 3 상승 샘플링 값들 중 상기 제 1 상승 샘플링 값과 일치하지 않는 적어도 하나의 값 또는 상기 제 2 및 제 3 하강 샘플링 값들 중 상기 제 1 하강 샘플링 값과 일치하지 않는 적어도 하나의 값에 기초하여 상기 제 1 지연 셀의 지연 또는 상기 제 2 지연 셀의 지연을 조정하는 코드를 생성하는 코드 생성기를 더 포함하는 메모리 컨트롤러.
  16. 제 15 항에 있어서,
    상기 코드에 따라 상기 제 1 지연 셀의 상기 지연 또는 상기 제 2 지연 셀의 상기 지연이 조정되는 단위는 상기 지연 단들 각각의 전파 지연에 대응하는 메모리 컨트롤러.
  17. 데이터 입출력 신호 및 상기 데이터 입출력 신호에 동기된 데이터 스트로브 신호를 생성하는 메모리 장치; 및
    상기 데이터 입출력 신호를 지연시켜 위상들이 서로 다른 지연 신호들을 생성하고, 상기 데이터 스트로브 신호에 기초하여 상기 지연 신호들을 샘플링하여 샘플링 값들을 생성하고, 그리고 상기 샘플링 값들에 기초하여 상기 데이터 입출력 신호의 데이터 유효 윈도우를 판별하는 메모리 컨트롤러를 포함하는 전자 장치.
  18. 제 17 항에 있어서,
    상기 메모리 컨트롤러는 상기 샘플링 값들 중 제 1 샘플링 값과 상기 샘플링 값들 중 상기 제 1 샘플링 값을 제외한 제 2 및 제 3 샘플링 값들을 더 비교하는 전자 장치.
  19. 제 18 항에 있어서,
    상기 제 1 샘플링 값은 상기 지연 신호들 중 제 1 지연 신호의 샘플링에 의해 생성되고,
    상기 제 2 샘플링 값들은 상기 지연 신호들 중 제 2 지연 신호들의 샘플링에 의해 생성되고,
    상기 제 3 샘플링 값들은 상기 지연 신호들 중 제 3 지연 신호들의 샘플링에 의해 생성되고, 그리고
    상기 제 1 지연 신호는 상기 제 2 지연 신호들보다 더 지연되고 상기 제 3 지연 신호들보다 덜 지연되는 전자 장치.
  20. 제 17 항에 있어서,
    상기 메모리 컨트롤러는 상기 데이터 유효 윈도우의 판별 결과에 기초하여 상기 데이터 입출력 신호의 지연 또는 상기 데이터 스트로브 신호의 지연을 조정하는 전자 장치.
KR1020180003172A 2018-01-10 2018-01-10 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치 KR102523101B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180003172A KR102523101B1 (ko) 2018-01-10 2018-01-10 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치
US16/118,863 US10650871B2 (en) 2018-01-10 2018-08-31 Read margin control circuit determining data valid window, memory controller including the same, and electronic device
CN201910018759.5A CN110021310A (zh) 2018-01-10 2019-01-09 读取余量控制电路、包括其的存储器控制器和电子设备
US16/871,096 US11200928B2 (en) 2018-01-10 2020-05-11 Memory controller and operating method with read margin control circuit determining data valid window

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180003172A KR102523101B1 (ko) 2018-01-10 2018-01-10 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치

Publications (2)

Publication Number Publication Date
KR20190085264A true KR20190085264A (ko) 2019-07-18
KR102523101B1 KR102523101B1 (ko) 2023-04-18

Family

ID=67159863

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180003172A KR102523101B1 (ko) 2018-01-10 2018-01-10 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치

Country Status (3)

Country Link
US (2) US10650871B2 (ko)
KR (1) KR102523101B1 (ko)
CN (1) CN110021310A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11908383B2 (en) 2022-05-13 2024-02-20 Samsung Display Co., Ltd. Display device
US11947379B2 (en) 2021-03-05 2024-04-02 Samsung Electronics Co., Ltd. Host interface to modulate a phase of a clock and system-on-chip including same

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210126821A (ko) * 2020-04-10 2021-10-21 삼성전자주식회사 반도체 장치
CN114062889A (zh) * 2020-08-04 2022-02-18 瑞昱半导体股份有限公司 检测电路运行速度的余量的装置
CN114094996B (zh) * 2021-11-09 2024-07-23 成都海光微电子技术有限公司 一种校准电路、校准方法、接口和相关设备
US20230386584A1 (en) * 2022-05-27 2023-11-30 Sandisk Technologies Llc Systems and methods of correcting errors in unmatched memory devices
CN116072165B (zh) * 2023-03-07 2023-06-23 长鑫存储技术有限公司 一种信号采样电路和存储器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050061123A (ko) * 2003-12-18 2005-06-22 삼성전자주식회사 Ddr sdram 콘트롤러의 데이터 제어회로
US20080043782A1 (en) * 2006-08-15 2008-02-21 Maurizio Skerlj Method and apparatus for checking the position of a receive window
US9251906B1 (en) * 2015-05-18 2016-02-02 Freescale Semiconductor, Inc. Data strobe signal generation for flash memory
US20160162426A1 (en) * 2014-12-05 2016-06-09 Marvell Israel (M.I.S.L) Ltd. Optimal sampling of data-bus signals using configurable individual time delays
KR20170038501A (ko) * 2015-09-30 2017-04-07 삼성전자주식회사 샘플링 포인트를 독립적으로 조절할 수 있는 데이터 처리 회로와 이를 포함하는 데이터 처리 시스템

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4442403C2 (de) * 1994-11-30 1997-01-23 Itt Ind Gmbh Deutsche Taktgenerator zur Erzeugung eines störstrahlarmen Systemtaktes
JP2002082830A (ja) 2000-02-14 2002-03-22 Mitsubishi Electric Corp インターフェイス回路
US6434081B1 (en) 2000-05-12 2002-08-13 Micron Technology, Inc. Calibration technique for memory devices
US7123051B1 (en) 2004-06-21 2006-10-17 Altera Corporation Soft core control of dedicated memory interface hardware in a programmable logic device
KR20070065374A (ko) * 2004-09-14 2007-06-22 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 지연 제어 회로 및 방법
US7227395B1 (en) 2005-02-09 2007-06-05 Altera Corporation High-performance memory interface circuit architecture
KR100625297B1 (ko) 2005-04-30 2006-09-20 주식회사 하이닉스반도체 반도체메모리소자
US7365548B2 (en) 2005-06-16 2008-04-29 Broadcom Corporation System and method for measuring on-chip supply noise
TWI299169B (en) * 2006-02-24 2008-07-21 Realtek Semiconductor Corp Signal sampling apparatus and method for dram memory
US7509223B2 (en) 2006-04-21 2009-03-24 Altera Corporation Read-side calibration for data interface
KR100818800B1 (ko) 2006-06-27 2008-04-01 삼성전자주식회사 Fifo 장치를 구비하는 데이터 처리장치와 데이터처리방법
KR101206503B1 (ko) 2006-06-30 2012-11-29 삼성전자주식회사 스큐 제거 회로 및 그에 의한 스큐 제거 방법
US7703402B2 (en) 2007-03-05 2010-04-27 Lifetime Products, Inc. Table with pivotally attached leg assemblies
US7886174B2 (en) 2007-06-27 2011-02-08 Intel Corporation Memory link training
JP5160856B2 (ja) * 2007-10-24 2013-03-13 ルネサスエレクトロニクス株式会社 Ddrメモリコントローラ及び半導体装置
US9520986B2 (en) 2009-03-30 2016-12-13 Coriant Operations, Inc. Method and appartus for exchanging data between devices operating at different clock rates
US8072826B2 (en) * 2009-12-03 2011-12-06 Himax Technologies Limited Memory control circuit and memory control method
JP2012203515A (ja) * 2011-03-24 2012-10-22 Toshiba Corp 半導体装置
TWI453715B (zh) * 2011-08-09 2014-09-21 Raydium Semiconductor Corp 自動調整訊號偏移之裝置
KR20140041207A (ko) 2012-09-27 2014-04-04 삼성전자주식회사 데이터 스큐 보상 방법 및 이를 적용한 메모리 컨트롤러
US8897083B1 (en) 2012-12-14 2014-11-25 Altera Corporation Memory interface circuitry with data strobe signal sharing capabilities
US8971447B1 (en) * 2013-10-17 2015-03-03 Fujitsu Limited Variable delay of data signals
US9058898B1 (en) * 2014-04-21 2015-06-16 Global Unichip Corp. Apparatus for reducing read latency by adjusting clock and read control signals timings to a memory device
US9697145B2 (en) * 2015-06-12 2017-07-04 Apple Inc. Memory interface system
US9715907B1 (en) * 2016-05-09 2017-07-25 Invecas, Inc. Optimal data eye for improved Vref margin
TWI620119B (zh) * 2017-02-21 2018-04-01 群聯電子股份有限公司 隨機資料產生電路、記憶體儲存裝置及隨機資料產生方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050061123A (ko) * 2003-12-18 2005-06-22 삼성전자주식회사 Ddr sdram 콘트롤러의 데이터 제어회로
US20080043782A1 (en) * 2006-08-15 2008-02-21 Maurizio Skerlj Method and apparatus for checking the position of a receive window
US20160162426A1 (en) * 2014-12-05 2016-06-09 Marvell Israel (M.I.S.L) Ltd. Optimal sampling of data-bus signals using configurable individual time delays
US9251906B1 (en) * 2015-05-18 2016-02-02 Freescale Semiconductor, Inc. Data strobe signal generation for flash memory
KR20170038501A (ko) * 2015-09-30 2017-04-07 삼성전자주식회사 샘플링 포인트를 독립적으로 조절할 수 있는 데이터 처리 회로와 이를 포함하는 데이터 처리 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11947379B2 (en) 2021-03-05 2024-04-02 Samsung Electronics Co., Ltd. Host interface to modulate a phase of a clock and system-on-chip including same
US11908383B2 (en) 2022-05-13 2024-02-20 Samsung Display Co., Ltd. Display device

Also Published As

Publication number Publication date
KR102523101B1 (ko) 2023-04-18
US20200273507A1 (en) 2020-08-27
CN110021310A (zh) 2019-07-16
US10650871B2 (en) 2020-05-12
US20190214062A1 (en) 2019-07-11
US11200928B2 (en) 2021-12-14

Similar Documents

Publication Publication Date Title
KR102523101B1 (ko) 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치
KR101274626B1 (ko) 메모리 시스템의 워드 라인 펄스 폭들의 적응
US11715504B2 (en) Memory device for supporting command bus training mode and method of operating the same
US10545888B2 (en) Data inversion circuit
KR102664062B1 (ko) 비동기 카운터와 동기 카운터를 포함하는 코드 생성기 및 그것의 동작 방법
US9515686B2 (en) Signal transmitting circuit using common clock, and storage device therewith
CN106257587B (zh) 半导体器件、半导体系统以及操作其的方法
CN110495100B (zh) 存储接口、时序控制方法及存储系统
US10318469B2 (en) Semiconductor memory device, memory system, and method using bus-invert encoding
US20170181081A1 (en) Signal transmitting circuit to reduce power in standby state
US9348356B2 (en) Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system
KR102473661B1 (ko) 듀티 사이클을 조절하는 메모리 장치 및 이를 포함하는 메모리 시스템
CN112992218A (zh) 用于占空比校正的技术
KR20170096798A (ko) 클럭 생성 회로, 이를 이용하는 인터페이스 회로 및 반도체 시스템
US10847194B2 (en) Input/output circuit and memory device having the same
US20220085797A1 (en) Semiconductor device
US9792974B2 (en) Memory system including plurality of DRAM devices operating selectively
US8953392B2 (en) Latency control device and semiconductor device including the same
KR20200141173A (ko) 리드 클럭 생성 회로 및 이를 포함하는 데이터 처리 회로
KR20180066491A (ko) 반도체장치
KR20180015949A (ko) 온-다이 터미네이션을 포함하는 메모리 시스템 및 그것의 온-다이 터미네이션 제어 방법

Legal Events

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