KR101455253B1 - 메모리 컨트롤러 - Google Patents

메모리 컨트롤러 Download PDF

Info

Publication number
KR101455253B1
KR101455253B1 KR20070116769A KR20070116769A KR101455253B1 KR 101455253 B1 KR101455253 B1 KR 101455253B1 KR 20070116769 A KR20070116769 A KR 20070116769A KR 20070116769 A KR20070116769 A KR 20070116769A KR 101455253 B1 KR101455253 B1 KR 101455253B1
Authority
KR
South Korea
Prior art keywords
enable signal
delay
signal
read
data
Prior art date
Application number
KR20070116769A
Other languages
English (en)
Other versions
KR20090050378A (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 KR20070116769A priority Critical patent/KR101455253B1/ko
Priority to US12/272,100 priority patent/US8930739B2/en
Publication of KR20090050378A publication Critical patent/KR20090050378A/ko
Application granted granted Critical
Publication of KR101455253B1 publication Critical patent/KR101455253B1/ko
Priority to US14/590,106 priority patent/US20150113236A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Pulse Circuits (AREA)
  • Dram (AREA)

Abstract

메모리 컨트롤러가 개시된다. 본 발명에 따른 메모리 컨트롤러는 인에이블 신호 생성부 및 샘플링 부를 구비한다. 인에이블 신호 생성부는 외부에서 인가되는 제어 신호에 응답하여, 독출 인에이블 신호를 가변하는 지연 시간 만큼 지연하여 인에이블 신호로 출력한다. 샘플링 부는 메모리로부터 전송되는 데이터를 상기 인에이블 신호에 동기화하여 출력한다. 지연 시간은 클럭 신호 주기의 배수가 된다. 본 발명에 따른 메모리 컨트롤러는 가변하는 지연 시간을 갖는 인에이블 신호에 동기화하여 데이터를 출력함으로써, 연속적인 데이터를 읽어들이는 데 있어서 독출 성능을 최대화 할 수 있다. 또한, 클럭 신호에 동기화되는 지연 시간을 이용함으로써 정확한 데이터 출력 시간 제어가 가능하다.

Description

메모리 컨트롤러{Memory controller}
본 발명은 메모리 컨트롤러에 관한 것으로, 특히 정확한 데이터 출력 시간 제어가 가능한 메모리 컨트롤러에 관한 것이다.
메모리 컨트롤러(memory controller)는 메모리(memory)등과 같은 외부 장치(device)에 저장되어 있는 데이터를, CPU 등의 호스트(host) 장치가 이용할 수 있도록, 메모리에 저장된 데이터의 기입 및 독출 동작을 제어하는 장치이다.
도 1a는 기존의 메모리 컨트롤러 및 메모리를 포함하는 메모리 장치를 나타내는 도면이다.
도 1a를 참조하면, 외부로부터(예를 들어, CPU) 독출 명령이 발생하면 독출 인에이블 신호(RE: Read Enable signal)가 메모리 컨트롤러(101)로 인가된다.
메모리(105)는 일반적인 데이터 저장 장치가 되며, 도 1a에서는 메모리(105)가 외부 디바이스로써 연결된 경우를 도시하였다. 그리고, 메모리 컨트롤러(101)는 메모리에 저장된 데이터의 입출력 동작을 조절하는 장치이다.
독출 인에이블 신호(RE)가 인가되면, 메모리 컨트롤러(101)는 상기 독출 인에이블 신호(RE)를 메모리(105)로 전송한다. 메모리는 전송된 독출 인에이블 신 호(RE1)에 응답하여, 요구된 데이터를 독출하여 출력한다. 메모리로부터 출력된 데이터(DATA)는 다시 메모리 컨트롤러(101)를 통하여 외부로 전송된다.
메모리를 비롯한 외부 장치로부터 데이터를 읽어 들일 때 주의해야 할 타이밍 파리미터는 접근 시간(access time)과 주기 시간(cycle time)이 있다.
접근 시간(access time)은 호스트 장치에서 데이터를 요구한 시점부터 유효한 데이터를 이용 가능하게 되는 시점 사이의 시간을 뜻한다. 즉, 독출 인에이블 신호(RE)가 활성화 된 시점부터 메모리(105)가 전송된 독출 인에이블 신호(RE1)에 응답하여 독출 동작을 시작하기 전까지의 시간이 접근 시간(access time)이 된다.
주기 시간(cycle time)은 메모리(105)가 하나의 데이터를 출력하는 간격 시간을 뜻한다. 즉, 메모리(105)가 연속적으로 일정 단위 크기의 데이터를 출력하는데 있어서, 하나의 데이터를 출력하는데 소요되는 시간이 주기 시간(cycle time)이 된다.
도 1b는 도 1a의 메모리 컨트롤러의 동작을 설명하기 위한 타이밍 다이어그램을 나타내는 도면이다.
먼저, 독출 인에이블 신호(RE)신호가 계속적으로 인가된다. 독출 인에이블 신호(RE)의 폴링 에지(falling edge: 논리 하이에서 논리 로우로 상태가 변화는 시점)에서 메모리(105)에서의 독출(read) 동작이 활성화되기 시작한다. 그리고, 독출 인에이블 신호(RE)의 라이징 에지(rising dege: 논리 로우에서 논리 하이로 상태가 변화하는 시점)에서는 메모리(105)에서의 독출 동작이 중단되게 된다. 즉, a11부터 a13 시점 사이 기간이 독출 인에이블 신호(RE)가 활성화되는 구간으로, 독출 동작 이 이루어질 수 있는 시간이 되는 것이다.
독출 인에이블 신호(RE)의 폴링 에지(a11 시점)가 시작된 후, 실제 독출 인에이블 신호가 메모리(105)에 전달되기까지는 일정 시간(access time)이 소요된다. 따라서, DATA1을 예로 들어 설명하면, 독출 인에이블 신호(RE)가 활성화 된 후, 실제 메모리(105)에서 독출 동작을 시작하기까지는 a11에서 a12 사이의 시간이 소요된다. a11에서 a12 사이의 시간인 접근 시간(access time)이 요구되는 것이다.
실제 메모리 장치에 있어서, 외부 디바이스(예를 들어, 메모리(105))가 이용될 경우, 디바이스 간의 버스 공유(bus sharing)로 인한 입출력 커패시턴스(I/O capacitance)의 증가, 메모리 장치의 기판으로 이용되는 PCB의 재질, PCB의 배선 길이(trace length), 마스터 디바이스(예를 들어, CPU, DMA controller, Memory controller)의 입출력 패드(I/O pad) 특성, 또는 온도 상승/저하와 같은 주변 환경 요인으로 인하여 실제 접근 시간(access time)은 증가할 수밖에 없다.
즉, 도 1b에 도시된 DATA1과 DATA2는 서로 다른 두 메모리(105)에서 상술한 변수들(디바이스 간의 버스 공유(bus sharing)로 인한 입출력 커패시턴스(I/O capacitance)의 증가, 메모리 장치의 기판으로 이용되는 PCB의 재질, PCB의 배선 길이(trace length), 마스터 디바이스(예를 들어, CPU, DMA controller, Memory controller)의 입출력 패드(I/O pad) 특성들)에 차이가 있는 경우, 서로 다른 두 메모리에서 출력되는 데이터를 각각 도시한 것이다.
도 1b의 DATA1을 참조하면, 상술한 변수들에 의한 접근 시간(access time) 증가로 인하여, 라이징 에지(a13 시점)가 시작되기 직전에서야 데이터 D1이 독출되기 시작한다. 또한, D1 데이터를 독출하기 시작한지 얼마되지 않아서, 독출 인에이블 신호(RE) 불활성화되어 D1 데이터의 독출이 완료되지 못한 채 중단되게 된다.
도 1b의 DATA2를 참조하면, 독출 인에이블 신호(RE)가 불활성화 되는 a13 시점에서야 D11 데이터의 독출이 시작된다. a13 시점 이후에서는 독출 인에이블 신호(RE)가 불활성화 되므로, 독출 동작이 완료되지 못한 채 데이터 D11의 독출이 중단되게 된다.
이렇게 접근 시간(access time)이 길어질 때는 메모리 장치의 올바른 독출 동작을 보장하기 위해, 연속적으로 데이터를 읽어 들일 때 보장해야 하는 주기 시간(cycle time)을 실제 측정해서 얻은 접근 시간(access time)만큼 늘려주는 방법을 이용할 수 있다. 그러나, 이로 인한 성능 저하, 즉, 주기 시간(cycle time)을 접근 시간(access time)만큼 늘려주기 위해서 필요한 지연 라인 등의 이용으로 발생하는 신호 지연(delay)의 문제가 무시할 수 없을 정도로 발생하게 된다.
또한, 너무 긴 접근 시간(access time)으로 인한 성능 저하를 방지하기 위해, 기존에는 독출 인에이블 신호(RE)가 불활성화 구간으로 되더라도 독출되는 데이터를 계속하여 독출 및 래치(latch)하였다. 그리고, 독출 인에이블 신호(RE)가 다음으로 활성화되는 구간에서 상기 독출 및 래치된 데이터를 출력하였다. 그러나, 이러한 방법은 데이터를 접근 시간이 변화할 경우 유연하게 대응하지 못하게 되는 문제가 있다.
본 발명이 이루고자 하는 기술적 과제는 데이터 독출 시 접근 시간(access time) 증가로 인하여 발생하는 독출 오류를 방지하여, 독출 시 최대 성능을 낼 수 있는 메모리 컨트롤러를 제공하는데 있다.
본 발명에 따른 메모리 컨트롤러는 인에이블 신호 생성부 및 샘플링 부를 구비한다.
인에이블 신호 생성부는 외부에서 인가되는 제어 신호에 응답하여, 독출 인에이블 신호를 가변하는 지연 시간 만큼 지연하여 인에이블 신호로 출력한다.
샘플링 부는 메모리로부터 전송되는 데이터를 상기 인에이블 신호에 동기화하여 출력한다.
지연 시간은 클럭 신호 주기의 배수가 되는 것을 특징으로 한다.
바람직하게, 제어 신호는 상기 지연 시간을 결정하는 신호이며, 사용자가 인가하는 신호이다.
바람직하게, 인에이블 신호 생성부는 연속 지연부 및 스위치 부를 구비한다.
연속 지연부는 독출 인에이블 신호를 인가받아 상기 클럭 신호 주기의 배수 간격으로 연속적으로 지연시켜서, 서로 다른 지연 시간을 갖는 다수개의 지연 신호들을 출력한다.
스위치 부는 다수개의 지연 신호들 중 어느 하나를 선택하여 출력한다.
바람직하게, 연속 지연부는 입력된 지연 신호를 상기 클럭 신호에 동기화하여 지연시켜 출력하는 다수개의 지연 소자를 구비한다.
바람직하게, 스위치 부는 지연 선택기 및 스위칭 소자를 구비한다.
지연 선택기는 제어신호에 따라서, 상기 지연 시간을 결정하는 신호인 스위칭 제어 신호를 출력한다.
스위칭 소자는 스위칭 제어 신호에 응답하여 상기 지연 신호들 중 어느 하나를 선택하여 출력한다.
바람직하게, 연속 지연부는 k 번째 지연셀의 출력단이 (k+1)번째 지연셀의 입력단과 연결되는 n 개의 지연 셀을 구비한다.
제1 지연셀은 상기 독출 인에이블 신호를 입력받고, 상기 클럭 신호에 동기화하여 상기 클럭 신호 주기의 배수만큼 지연시켜 출력한다.
바람직하게, 스위칭 소자는 먹스로 이루어진다.
바람직하게, 샘플링 부는 인에이블 신호 및 데이터를 입력받고, 상기 인에이블 신호에 동기화하여 상기 데이터 신호를 출력하는 래치 회로로 이루어진다.
본 발명의 일 실시예에 따른 메모리 컨트롤러는 가변하는 지연 시간을 갖는 인에이블 신호에 동기화하여 데이터를 출력함으로써, 연속적인 데이터를 읽어들이는 데 있어서 독출 성능을 최대화 할 수 있다.
또한, 클럭 신호 주기의 배수가 되는 지연 시간을 이용함으로써 정확한 데이터 출력 시간의 제어가 가능하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명이 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명에 따른 메모리 컨트롤러를 나타내는 도면이다.
도 2를 참조하면, 본 발명에 따른 메모리 컨트롤러(200)는 인에이블 신호 생성부(210) 및 샘플링 부(250)를 구비한다.
인에이블 신호 생성부(210)는 외부에서 인가되는 제어 신호(CON_S)에 응답하여, 입력된 독출 인에이블 신호(RE: Read Enable signal)를 가변하는 지연 시간만큼 지연하여 인에이블 신호(EN)를 출력한다. 여기서, 가변하는 지연 시간은 클럭 신호 주기의 배수 단위가 된다. 즉, 클럭 신호(CLK)의 주기가 T 일 때, 지연 시간은 nT(n은 자연수)가 되는 것이다.
샘플링 부(250)는 메모리로부터 전송되는 데이터(DATA)를 입력받고, 인에이블 신호(EN)가 활성화 상태로 인가되면, 상기 입력받은 데이터(DATA)를 독출 데이터(RDATA)로 출력한다. 여기서, 인에이블 신호(EN)는 사용자의 설정에 따라서 논리 하이 또는 논리 로우 레벨로 결정할 수 있다.
바람직하게, 제어 신호(CON_S)는 지연 시간을 결정하는 신호가 된다. 예를 들어, 제어 신호(CON_S)가 m bit 코드로 입력될 때, 00001은 지연량을 1T로, 00010은 지연량을 2T로, 00011은 지연량을 3T로 할 수 있는 것이다.
인에이블 신호 생성부(210)는 연속 지연부(230) 및 스위치 부(220)를 구비할 수 있다.
연속 지연부(230)는 독출 인에이블 신호(RE)를 입력받고, 입력받은 독출 인에이블 신호(RE)를 클럭 신호(CLK) 주기의 배수 간격으로 연속적인 지연을 시킨다. 예를 들어, 독출 인에이블 신호(RE)가 t1 시점에서 입력되었고 클럭 신호(CLK)의 주기가 1T 라면, 연속 지연부(230)는 t1+T, t1+2T, t1+3T, ```의 시점들 각각에서 독출 인에이블 신호(RE)를 출력하는 것이다.
바람직하게, 연속 지연부(230)는 다수개의 클럭 신호(CLK)에 근거(clock based)하여 동작하는 지연 소자들(231, 232, 233, 234)을 구비할 수 있다. 지연 소자는, 플립 플롭이 이용될 수 있다.
지연 소자들(231, 232, 233, 234)의 개수는 각각의 메모리 컨트롤러(200) 장치 별 접근 시간(access time)을 고려하여 정할 수 있다. 접근 시간(access time)이 최대 클럭 신호(CLK) 주기의 10배인 10T 라면, 10개의 지연 소자들을 구비할 수 있다.
이하에서는 설명의 편의상, 독출 인에이블 신호(RE)를 가장 먼저 입력받는 지연 소자(231)를 제1 지연 소자라 하고, 제1 지연 소자로부터 차례대로 배열되는 지연 소자들을 순차적으로 제2, 제3, ``` 제n 지연 소자라 한다.
제1 지연 소자(231)는 독출 인에이블 신호(RE)를 제1 노드(N1)를 통하여 입 력단자(D)로 입력받으며, 클럭 신호(CLK)에 동기화하여 동작한다. 상술한 바와 같이, 동기화 시점은 클럭 신호(CLK)의 1주기(1T) 간격이 된다. 예를 들어, 제1 지연 소자(231)는 t2 시점에서 독출 인에이블 신호(RE)를 입력받았다면, Q 단자로 출력되는 신호는 t2+T 시점이 될 것이다.
제2 지연 소자(232)는 t2+T 시점에서 D 단자를 통하여 제1 지연 소자(231)에서 출력된 신호를 입력받았다면, t2+2T 시점에서 Q 단자를 통하여 데이터를 출력한다. 그리고, 제 (k-1) 지연 소자(233)는 t2+(k-1)T 시점에서 Q 단자를 통하여 데이터를 출력한다. 계속하여 제k 지연 소자(234)는 t2+kT 시점에서 Q 단자를 통하여 데이터를 출력한다.
즉, 각각의 지연 소자들은 입력 받은 신호를 클럭 신호(CLK)에 동기화하여 출력하게 되므로, 클럭 신호(CLK)의 1주기인 1T 의 지연 시간을 갖는 것이다.
각각의 지연 소자들(231, 232, 233, 234)에서 Q 단자를 통하여 출력된 신호는 스위치 부(220)로 입력된다.
스위치 부(220)는 다수개의 지연 소자들(231, 232, 233, 234)에서 각각 출력되는 신호들을 입력받고, 이중 어느 하나를 선택하여 출력한다. 여기서, 스위치 부(22)는 독출 인에이블 신호(RE) 또한 입력받을 수 있다. 스위치 부(220)는 다수개의 지연 소자들(231, 232, 233, 234)의 출력 신호들 및 독출 인에이블 신호(RE)들 중 어느 하나를 선택하여 출력하는 것이다.
스위치 부(220)는 지연 선택기(220) 및 스위칭 소자(224)를 구비할 수 있다.
지연 선택기(220)는 상술한 제어 신호(CON_S)에 응답하여, 상기 제어 신 호(CON_S)에 상응하는 스위칭 제어 신호를 출력한다. 스위칭 제어 신호는 인에이블 신호(EN)의 지연량을 결정하도록 하는 신호이다. 즉, 스위칭 제어 신호는 인에이블 신호(EN)가 제어 신호(CON_S)에 따른 지연량을 갖도록, 다수개의 지연 소자들(231, 232, 233, 234)의 출력 신호들 및 독출 인에이블 신호(RE) 중 어느 하나를 선택한다.
스위칭 소자(224)는 스위칭 제어 신호에 응답하여, 다수개의 지연 소자들(231, 232, 233, 234)의 출력 신호들 및 독출 인에이블 신호(RE) 중 어느 하나를 스위칭 소자(224)의 출력단인 제 10노드(N10)로 출력한다. 스위칭 소자(224)는 먹스(MUX)로 이루어질 수 있다.
샘플링 부(250)는 플립 플롭, 래치(latch) 등의 샘플링 소자로 이루어진다. 인에이블 신호(EN)에 응답하여, 제12 노드(N12)로 전송된 데이터(DATA)를 독출 데이터(RDATA)로 출력하는 것이다.
도 3은 도 2의 메모리 컨트롤러의 동작을 설명하기 위한 타이밍 다이어그램을 나타내는 도면이다.
도 3을 참조하면, CLOCK 신호는 상술한 클럭 신호(CLK)를 나타낸다. T_CLK 는 클럭 신호(CLK)의 1 주기 간격을 나타낸다.
독출 인에이블 신호(RE)가 falling edge로 되면, 독출 동작이 시작될 수 있다. 그리고, 독출 인에이블 신호(RE)가 rising edge 로 되면, 독출 동작은 정지되어야 한다. 즉, 독출 인에이블 신호(RE)가 논리 로우 레벨일 경우, 독출 동작이 이루어질 수 있다. 여기서, 독출 동작이란, 메모리 컨트롤러(200)가 메모리 장 치(270)에 저장된 데이터를 읽어들이는 동작이 된다.
메모리 컨트롤러(200)는 독출 인에이블 신호(RE)를 메모리 장치(270)로 전송한다. 이 때, 독출 인에이블 신호(RE)가 메모리 컨트롤러(200)로 전송된 후 메모리 장치(270)까지 전달되는데 발생한 지연 시간이 T(RE_TOF)가 된다. 즉, <a4> 지점에서 <a3> 지점까지 독출 인에이블 신호(RE)가 전송되는데 걸리는 시간이 T(RE_TOF)인 것이다. 따라서, 메모리 장치(270)에 전송된 신호는, 도 3의 RE1과 같은 파형을 갖는다.
메모리 장치(270) 자체의 접근 시간(access time)이 T(REA)가 된다. T(DATA_TOF) 시간은 독출된 데이터(DATA1)가 메모리 장치(270)에서 메모리 컨트롤러(200)까지 전송되는데 걸리는 시간이다. 즉, 독출된 데이터가 <a1> 지점에서 <a2>지점까지 전송되는데 발생한 지연 시간이 된다.
따라서, 독출 인에이블 신호(RE)가 falling edge 로 되어 활성화 된 시점부터, 메모리(270)에서 독출된 데이터가 메모리 컨트롤러(200)에서 이용가능하게 되는데 까지 걸리는 시간은 t1에서 t4 사이의 시간 간격이 된다. 즉, t1에서 t4 까지의 시간이 전체 접근 시간(access time)이 되는 것이다.
DATA1 그래프를 참조하면, 데이터 독출 동작이 t3 시점에서 시작되더라도, 일정 시간이 확보되어야 독출에 따른 데이터 출력을 할 수 있다. 모든 데이터의 독출 동작 있어서는, set up 시간이 확보되어야만 하는 것이다. set up 시간이란, 데이터가 안정화되는데 소요되는 시간을 뜻한다. 또한 hold 시간도 확보되어야만 한다. hold 시간이란, 독출된 데이터를 전송받기 위하여 독출된 데이터의 상태를 일 정 시간 유지하는 시간으로, 메모리 컨트롤러(200)가 요구하는 시간이다.
도 3을 참조하면, t3에서 t5 까지의 시간이 set up 시간과 hold 시간의 합이 될 수 있다.
참고적으로 T(RC) 시간은 특정 단위의 1개 데이터가 출력되는데 걸리는 시간을 뜻한다.
도시된 바와 같이, 독출된 데이터를 메모리 컨트롤러에서 이용할 수 있는 시점은 t5 시점이 된다. 그러나, t5 시점에서는 독출 인에이블 신호(RE)가 rising 된 (a2) 시점 이후가 된다. 따라서, 독출 인에이블 신호(RE)에 의해서 독출 동작이 불활성화되는 시점에서, 데이터(예를 들어, DATA1)가 출력되므로, 요청된 데이터(DATA)가 제대로 전송되지 못하게 된다. 즉, 데이터의 독출 오류 문제가 발생하는 것이다.
본원에서는, 독출 인에이블 신호(RE)를 접근 시간(access time)을 고려하여 클럭 신호(CLK) 주기의 배수 단위로 지연시킨다. 따라서, 도 3의 경우에서는, 독출 인에이블 신호(RE)의 3T(클럭 신호(CLK)의 3 주기)만큼 지연시킴으로써, 독출된 데이터가 제대로 이용되지 못하는 문제를 방지할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1a는 기존의 메모리 컨트롤러 및 메모리를 포함하는 메모리 장치를 나타내는 도면이다.
도 1b는 도 1a의 메모리 컨트롤러의 동작을 설명하기 위한 타이밍 다이어그램을 나타내는 도면이다.
도 2는 본 발명에 따른 메모리 컨트롤러를 나타내는 도면이다.
도 3은 도 2의 메모리 컨트롤러의 동작을 설명하기 위한 타이밍 다이어그램을 나타내는 도면이다.

Claims (15)

  1. 독출 인에이블 신호를 입력받고, 외부에서 인가되는 제어 신호에 응답하여 가변하는 지연 시간을 갖는 인에이블 신호로 출력하는 인에이블 신호 생성부; 및
    메모리로부터 전송되는 데이터를 상기 인에이블 신호에 동기화하여 출력하는 샘플링 부를 구비하며,
    상기 지연 시간은 클럭 신호 주기의 배수가 되고,
    상기 인에이블 신호 생성부는
    독출 인에이블 신호를 입력받고 상기 클럭 신호 주기의 배수 간격으로 연속적으로 지연시켜서, 서로 다른 지연 시간을 갖는 다수개의 지연 신호들을 생성하며, 상기 지연 신호들 중 택일하여 출력하는 것을 특징으로 하는 메모리 컨트롤러.
  2. 제1항에 있어서, 상기 제어 신호는
    상기 지연 시간을 결정하는 신호이며, 사용자가 인가하는 신호인 것을 특징으로 하는 메모리 컨트롤러.
  3. 제1항에 있어서, 상기 인에이블 신호는
    독출 인에이블 신호를 상기 가변하는 지연 시간만큼 지연하여 생성한 것을 특징으로 하는 메모리 컨트롤러.
  4. 삭제
  5. 제1항에 있어서, 상기 인에이블 신호 생성부는
    독출 인에이블 신호를 인가받고 상기 클럭 신호 주기의 배수 간격으로 연속적으로 지연시켜서, 서로 다른 지연 시간을 갖는 다수개의 지연 신호들을 출력하는 연속 지연부; 및
    상기 제어 신호에 응답하여 상기 다수개의 지연 신호들 중 어느 하나를 선택하여 상기 인에이블 신호로써 출력하는 스위치 부를 구비하는 것을 특징으로 하는 메모리 컨트롤러.
  6. 제5항에 있어서, 상기 연속 지연부는
    입력된 신호를 상기 클럭 신호 주기의 배수 간격으로 지연시켜 출력하는 다수개의 지연 셀들을 구비하는 것을 특징으로 하는 메모리 컨트롤러.
  7. 제5항에 있어서, 상기 스위치 부는
    상기 제어신호에 따라서, 상기 지연 시간을 결정하는 신호인 스위칭 제어 신호를 출력하는 지연 선택기; 및
    상기 스위칭 제어 신호에 응답하여 상기 지연 신호들 중 어느 하나를 선택하여 출력하는 스위칭 소자를 구비하는 것을 특징으로 하는 메모리 컨트롤러.
  8. 제5항에 있어서, 상기 연속 지연부는
    k 번째 지연셀의 출력단이 (k+1)번째 지연셀의 입력단과 연결되는 n 개의 지연 셀들을 구비하며,
    상기 제1 지연셀은 상기 독출 인에이블 신호를 입력받고, 상기 클럭 신호에 동기화하여 상기 클럭 신호 주기의 배수만큼 지연시켜 출력하는 것을 특징으로 하는 메모리 컨트롤러.
  9. 제1항에 있어서, 상기 샘플링 부는
    상기 인에이블 신호 및 데이터를 입력받고, 상기 인에이블 신호에 동기화하여 상기 데이터 신호를 출력하는 래치 회로로 이루어지는 것을 특징으로 하는 메모리 컨트롤러.
  10. 제1항에 있어서, 상기 인에이블 신호 생성부는
    상기 독출 인에이블 신호를 인가받아 상기 클럭 신호 주기의 배수 간격으로 연속적으로 지연시켜서, 서로 다른 지연 시간을 갖는 다수개의 지연 신호들을 출력하는 연속 지연부; 및
    상기 다수개의 지연 신호들 및 독출 인에이블 신호들을 인가받고, 상기 제어 신호에 응답하여 입력 신호들 중 택일하여 상기 인에이블 신호로써 출력하는 스위치 부를 구비하는 것을 특징으로 하는 메모리 컨트롤러.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR20070116769A 2007-11-15 2007-11-15 메모리 컨트롤러 KR101455253B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR20070116769A KR101455253B1 (ko) 2007-11-15 2007-11-15 메모리 컨트롤러
US12/272,100 US8930739B2 (en) 2007-11-15 2008-11-17 Memory controller
US14/590,106 US20150113236A1 (en) 2007-11-15 2015-01-06 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20070116769A KR101455253B1 (ko) 2007-11-15 2007-11-15 메모리 컨트롤러

Publications (2)

Publication Number Publication Date
KR20090050378A KR20090050378A (ko) 2009-05-20
KR101455253B1 true KR101455253B1 (ko) 2014-10-28

Family

ID=40754810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20070116769A KR101455253B1 (ko) 2007-11-15 2007-11-15 메모리 컨트롤러

Country Status (2)

Country Link
US (2) US8930739B2 (ko)
KR (1) KR101455253B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110026578A (ko) * 2009-09-08 2011-03-16 엘지전자 주식회사 시스템 메모리의 에러 보정 장치 및 방법
US10217498B2 (en) 2016-09-12 2019-02-26 Qualcomm Incorporated Techniques for preventing tampering with PROM settings
KR102680273B1 (ko) * 2019-02-12 2024-07-01 삼성전자주식회사 서스펜드 모드를 제어하는 방법 및 이를 포함하는 메모리 컨트롤러
US11935622B2 (en) 2022-04-20 2024-03-19 Sandisk Technologies Llc Free flow data path architectures

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070030691A (ko) * 2005-09-13 2007-03-16 가부시끼가이샤 르네사스 테크놀로지 반도체 집적회로 장치

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5829195A (ja) 1981-08-12 1983-02-21 Hitachi Ltd 半導体メモリ
US5978284A (en) * 1997-08-22 1999-11-02 Micron Technology, Inc. Synchronous memory with programmable read latency
JP4226686B2 (ja) 1998-05-07 2009-02-18 株式会社東芝 半導体メモリシステム及び半導体メモリのアクセス制御方法及び半導体メモリ
JP3696077B2 (ja) * 2000-11-13 2005-09-14 シャープ株式会社 電圧変換回路及びこれを備えた半導体集積回路装置
US6665230B1 (en) * 2001-09-14 2003-12-16 Denali Software, Inc. Programmable delay compensation circuit
US6594748B1 (en) * 2001-11-09 2003-07-15 Lsi Logic Corporation Methods and structure for pipelined read return control in a shared RAM controller
KR100532973B1 (ko) * 2004-04-30 2005-12-01 주식회사 하이닉스반도체 메모리 장치의 데이타 출력 드라이버 제어 장치
JP4566621B2 (ja) 2004-05-14 2010-10-20 富士通セミコンダクター株式会社 半導体メモリ
US7196948B1 (en) * 2005-03-07 2007-03-27 Sun Microsystems, Inc . Method and apparatus for data capture on a bi-directional bus
JP5013394B2 (ja) * 2005-09-13 2012-08-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US7345948B2 (en) 2005-10-20 2008-03-18 Infineon Technologies Ag Clock circuit for semiconductor memories
US20070260778A1 (en) * 2006-04-04 2007-11-08 Ming-Shiang Lai Memory controller with bi-directional buffer for achieving high speed capability and related method thereof
US8536919B1 (en) * 2010-10-21 2013-09-17 Altera Corporation Integrated circuits with delay matching circuitry

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070030691A (ko) * 2005-09-13 2007-03-16 가부시끼가이샤 르네사스 테크놀로지 반도체 집적회로 장치

Also Published As

Publication number Publication date
US8930739B2 (en) 2015-01-06
US20090157986A1 (en) 2009-06-18
US20150113236A1 (en) 2015-04-23
KR20090050378A (ko) 2009-05-20

Similar Documents

Publication Publication Date Title
KR102401526B1 (ko) 입력 클록 신호와 다상 클록 신호 간의 위상 관계를 결정하기 위한 장치 및 방법
JP4786262B2 (ja) インターフェイス回路
EP2430634B1 (en) Method to calibrate start values for write leveling in a memory system
KR101009335B1 (ko) 반도체 메모리 장치 및 그 구동방법
CN101446841B (zh) 确定存储器控制器时钟校准值的方法及系统
US6807125B2 (en) Circuit and method for reading data transfers that are sent with a source synchronous clock signal
KR20090074969A (ko) 레이턴시를 제어하는 반도체 메모리 장치
JP2004523056A5 (ko)
CN114121132B (zh) 测试电路、测试装置及其测试方法
KR20030029452A (ko) 반도체 기억 장치
EP2808801A1 (en) Multiple data rate memory with read timing information
KR20150040170A (ko) 플래시 메모리를 기반으로 하는 저장 장치 및 그것의 동작 방법
JPH0784863A (ja) 情報処理装置およびそれに適した半導体記憶装置
KR101455253B1 (ko) 메모리 컨트롤러
US7493461B1 (en) Dynamic phase alignment for resynchronization of captured data
JP4061029B2 (ja) 半導体メモリ装置、バッファ及び信号伝送回路
JP5221609B2 (ja) Dllを共用してサンプリング位相設定を行うホストコントローラ
US7876641B2 (en) Semiconductor integrated circuit
KR20150020838A (ko) 반도체 장치, 이를 포함하는 반도체 시스템 및 반도체 장치의 동작 방법
KR20190075205A (ko) 저속 동작 환경에서 고속 테스트를 수행할 수 있는 반도체 장치 및 시스템
US8429438B2 (en) Method and apparatus for transferring data between asynchronous clock domains
KR100815974B1 (ko) 주파수 검출기를 갖는 레이턴시 카운터 및 레이턴시 카운트방법
US6704243B2 (en) Apparatus for generating memory-internal command signals from a memory operation command
US7493533B2 (en) Delay detecting apparatus of delay element in semiconductor device and method thereof
KR100994356B1 (ko) 통신 시스템 및 통신 방법

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: 20180927

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190930

Year of fee payment: 6