KR100673013B1 - 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템 - Google Patents

메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템 Download PDF

Info

Publication number
KR100673013B1
KR100673013B1 KR1020050087794A KR20050087794A KR100673013B1 KR 100673013 B1 KR100673013 B1 KR 100673013B1 KR 1020050087794 A KR1020050087794 A KR 1020050087794A KR 20050087794 A KR20050087794 A KR 20050087794A KR 100673013 B1 KR100673013 B1 KR 100673013B1
Authority
KR
South Korea
Prior art keywords
buffer
memory
data
speed
memory controller
Prior art date
Application number
KR1020050087794A
Other languages
English (en)
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 KR1020050087794A priority Critical patent/KR100673013B1/ko
Priority to US11/517,476 priority patent/US20070088867A1/en
Priority to JP2006251221A priority patent/JP2007087388A/ja
Priority to DE102006046417A priority patent/DE102006046417A1/de
Priority to GB0618667A priority patent/GB2430512A/en
Priority to CNA2006101635712A priority patent/CN1952917A/zh
Application granted granted Critical
Publication of KR100673013B1 publication Critical patent/KR100673013B1/ko

Links

Images

Classifications

    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Abstract

여기에 제공되는 데이터 처리 시스템은 페이지 데이터를 임시 저장하기 위한 버퍼 메모리를 갖는 원낸드 플래시 메모리와; 그리고 상기 원낸드 플래시 메모리의 읽기 동작을 제어하며, 스피드-업 버퍼를 갖는 제 1 메모리 컨트롤러를 포함하며, 상기 버퍼 메모리에 저장된 페이지 데이터는 소정 단위로 상기 스피드-업 버퍼를 통해 외부로 순차적으로 출력된다.

Description

메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템{MEMORY CONTROLLER AND DATA PROCESSING SYSTEM WITH THE SAME}
도 1은 낸드 플래시 메모리를 포함한 일반적인 데이터 처리 시스템을 개략적으로 보여주는 블록도이다.
도 2는 도 1에 도시된 데이터 처리 시스템에서 원낸드 플래시 메모리에서 DRAM으로의 데이터 전송 동작을 설명하기 위한 도면이다.
도 3은 본 발명에 따른 따른 데이터 처리 시스템을 보여주는 블록도이다.
도 4는 도 3에 도시된 데이터 처리 시스템에서 원낸드 플래시 메모리에서 DRAM으로의 데이터 전송 동작을 설명하기 위한 도면이다.
도 5는 도 3에 도시된 메모리 컨트롤러를 개략적으로 보여주는 블록도이다.
도 6은 본 발명의 다른 실시예에 따른 데이터 처리 시스템을 보여주는 블록도이다.
* 도면의 주요 부분에 대한 부호 설명 *
110 : CPU 120 : DMA
130, 140 : 메모리 컨트롤러 150 : DRAM
160 : 원낸드 플래시 메모리
본 발명은 메모리 시스템에 관한 것이다. 좀 더 구체적으로는, 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템에 관한 것이다.
시장의 요구에 따라 반도체 장치의 크기는 점차적으로 작아지고 있다. 이와 더불어, 다양한 기능들을 갖는 기능 블록들이 단일의 칩 상에 집적되는 시스템 온 칩의 구현이 시장의 주된 흐름이 되고 있다. 시스템 온 칩의 일예는 퓨젼 메모리이다. 퓨젼 메모리는 기본 메모리 기능에 다른 특성의 메모리나 비메모리 칩 등 다양한 메모리와 로직을 함께 넣어 복합화시킨 메모리 제품이다. 시스템 사양에 적합한 소프트웨어까지 동시에 제공하는 일종의 시스템 메모리로 디지털 가전 제품들이 복합화, 고성능화하면서 단순 메모리 반도체 하나만으로는 부족해 플래시 메모리나 S램 및 로직을 하나의 칩에 집적한 차세대 메모리이다. 퓨젼 메모리의 일예는 원낸드 플래시 메모리이다. 원낸드 플래시 메모리의 일예가 "NAND FLASH MEMORY & SMARTMEDIA"라는 제목의 데이터북(2003년 9월자로 발행됨, pp. 635-652)에 게재되어 있다.
원낸드 플래시 메모리를 포함한 일반적인 데이터 처리 시스템을 개략적으로 보여주는 블록도가 도 1에 도시되어 있다. 도 1을 참조하면, 일반적인 데이터 처리 시스템은, 예를 들면, 모바일 폰이며, 중앙처리장치(CPU)(10), DMA(20), 제 1 및 제 2 메모리 컨트롤러들(30, 40), 워크 메모리로서 사용되는 DRAM(50), 그리고 원낸드 플래시 메모리(60)를 포함한다. DRAM(50) 및 원낸드 플래시 메모리(60)는 제 1 메모리 컨트롤러(30) 및 제 2 메모리 컨트롤러(40)에 의해서 각각 제어된다.
CPU(10)에 의해서 요구되는 데이터가 워크 메모리로서 DRAM(50)에 존재하지 않는 경우, CPU(10)는 메모리 컨트롤러(40)로 명령 및 어드레스를 전달한다. 메모리 컨트롤러(40)는 입력된 명령 및 어드레스를 정해진 인터페이스 방식에 따라 원낸드 플래시 메모리(60)에 기입한다. 이후, 원낸드 플래시 메모리(60)는 명령 및 어드레스가 입력될 때 읽기/쓰기 동작을 자동적으로 수행한다. 원낸드 플래시 메모리(60)의 메모리 코어(61)로부터 읽혀진 페이지 데이터는 원낸드 플래시 메모리(60) 내부에 존재하는 버퍼 메모리(62)에 임시 저장된다. 버퍼 메모리(62)에 저장된 페이지 데이터는 일정 단위로 워크 메모리로서 DRAM(50)으로 전송된다. 요구되는 양의 데이터가 DRAM(50)으로 전송되면, CPU(10)는 DRAM(50)으로부터 요구되는 데이터를 가져간다. 좀 더 구체적으로 설명하면, 다음과 같다.
CPU(10)의 요청에 따라 원낸드 플래시 메모리(60)의 읽기 동작이 시작되면, 메모리 코어(61)에서 버퍼 메모리(62)로 한 페이지의 데이터(또는 페이지 데이터라 불림)가 전송된다. 예를 들면, 페이지 데이터는 nK-워드 데이터(n은 1 또는 그 보다 큰 정수, K=1024)이다. 그 다음에, 페이지 데이터는 메모리 컨트롤러(40)의 제어하에 일정 단위(예를 들면, 16-워드 단위)로 DMA(20)의 버퍼 메모리(21)로 전송된다. 이하, 이러한 읽기 동작을 호스트 읽기 동작이라 칭하며, 도 2에 도시된 바와 같이, 호스트 읽기 동작은 약 300㎱의 시간(T1)을 필요로 한다. DMA(20)의 버퍼 메모리(21)에 전송된 16-워드 데이터는 워크 메모리로서 DRAM(50)에 쓰여진다. 이하, 이러한 쓰기 동작을 호스트 쓰기 동작이라 칭하며, 도 2에 도시된 바와 같이, 호스트 쓰기 동작은 약 45㎱의 시간(T2)을 필요로 한다. 호스트 읽기 및 쓰기 동작들의 반복에 의해서 페이지 데이터가 워크 메모리(50)로 모두 전송된다.
도 2에서 알 수 있듯이, 16-워드 데이터가 원낸드 플래시 메모리(60)에서 DMA(20)의 버퍼(21)로 전송되고 DMA(20)의 버퍼(21)에서 DRAM(50)으로 16-워드 데이터가 모두 전송된 후, 다음의 16-워드 데이터가 앞서 설명된 호스트 읽기 및 쓰기 동작들을 통해 DRAM(50)으로 전송된다. 그러한 까닭에, 원낸드 플래시 메모리(60)에서 DRAM(50)으로 페이지 데이터를 전송하는 데 많은 시간이 소요된다. 이와 더불어, CPU(10)는 페이지 데이터를 읽기 위해서 메모리 컨트롤러(40)로 명령 및 어드레스를 전송하여야 한다. 즉, 페이지 데이터를 DRAM(50)으로 옮기기 위해서는 매번 CPU(10)의 개입이 요구된다. 이는 CPU(10)의 부담이 증가됨을 의미한다.
본 발명의 목적은 원낸드 플래시 메모리의 성능을 최적화시킬 수 있는 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템을 제공하는 것이다.
상술한 제반 목적을 달성하기 위한 본 발명의 일 특징에 따르면, 본 발명에 따른 데이터 처리 시스템은 페이지 데이터를 임시 저장하기 위한 버퍼 메모리를 갖는 원낸드 플래시 메모리와; 그리고 상기 원낸드 플래시 메모리의 읽기 동작을 제어하며, 스피드-업 버퍼를 갖는 제 1 메모리 컨트롤러를 포함하며, 상기 버퍼 메모리에 저장된 페이지 데이터는 소정 단위로 상기 스피드-업 버퍼를 통해 외부로 순차적으로 출력된다.
이 실시예에 있어서, 데이터 처리 시스템은 워크 메모리와; 상기 워크 메모리를 제어하는 제 2 메모리 컨트롤러와; 그리고 버퍼를 갖는 디엠에이를 더 포함하며, 상기 스피드-업 버퍼로부터 출력된 데이터는 상기 디엠에이의 버퍼에 임시 저장된다.
이 실시예에 있어서, 상기 디엠에이의 버퍼에 저장된 데이터는 상기 제 2 메모리 컨트롤러를 통해 상기 워크 메모리에 저장된다.
이 실시예에 있어서, 상기 버퍼 메모리에서 상기 스피드-업 버퍼로의 데이터 전송이 이루어지는 동안, 상기 스피드-업 버퍼에서 상기 디엠에이의 버퍼로의 데이터 전송 및 상기 디엠에이의 버퍼에서 상기 워크 메모리의 데이터 전송이 수행된다.
이 실시예에 있어서, 상기 스피드-업 버퍼 및 상기 디엠에이의 버퍼는 피포로 구성된다.
이 실시예에 있어서, 상기 제 1 메모리 컨트롤러는 중앙처리장치로부터 제공되는 명령 및 어드레스 정보를 저장하기 위한 레지스터 세트를 더 포함한다.
이 실시예에 있어서, 복수의 페이지 데이터가 상기 중앙처리장치에 의해서 요구되는 경우, 상기 제 1 메모리 컨트롤러는 상기 스피드-업 버퍼를 통해 페이지 데이터가 모두 전송될 때마다 다음의 페이지 데이터에 대한 읽기 동작이 수행되도록 상기 레지스터 세트에 저장된 정보에 의거하여 상기 원낸드 플래시 메모리를 제어한다.
이 실시예에 있어서, 상기 제 1 메모리 컨트롤러는 상기 외부와 통신하기 위 한 AHB 인터페이스를 더 포함한다.
이 실시예에 있어서, 상기 제 1 메모리 컨트롤러는 버퍼를 갖는 디엠에이를 더 포함하며, 상기 스피드-업 버퍼로부터 출력된 데이터는 상기 디엠에이의 버퍼에 임시 저장된다.
이 실시예에 있어서, 상기 디엠에이의 버퍼에 저장된 데이터는 제 2 메모리 컨트롤러를 통해 워크 메모리에 저장된다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 불 휘발성 메모리 장치로서 원낸드 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
도 3은 본 발명에 따른 데이터 처리 시스템을 보여주는 블록도이고, 도 4는 도 3에 도시된 데이터 처리 시스템에서 원낸드 플래시 메모리에서 DRAM으로의 데이 터 전송 동작을 설명하기 위한 도면이다.
먼저 도 3을 참조하면, 본 발명에 따른 데이터 처리 시스템은 CPU(110), DMA(120), 메모리 컨트롤러들(130, 140), DRAM(150), 그리고 원낸드 플래시 메모리(160)를 포함한다. DRAM(150) 및 원낸드 플래시 메모리(160)는 메모리 컨트롤러들(130, 140)에 의해서 각각 제어된다. 메모리 컨트롤러(140)는 원낸드 플래시 메모리(160)에 대한 액세스가 CPU(110) 또는 DMA(120)에 의해서 요구될 때 원낸드 플래시 메모리(160)를 제어한다. 특히, 본 발명에 따른 메모리 컨트롤러(140)는 원낸드 플래시 메모리(160)의 최적 성능을 구현하기 위한 구조 및 프로토콜을 지원하도록 구성되며, 이는 이후 상세히 설명될 것이다.
메모리 컨트롤러(140)는 스피드-업 버퍼(141)와 레지스터 세트(142)를 포함한다. 레지스터 세트(142)는 CPU(110)에서 제공되는 각종 정보(예를 들면, 어드레스 및 명령)를 저장하는 데 사용된다. 메모리 컨트롤러(140)는 레지스터 세트(142)에 저장된 정보에 따라 원낸드 플래시 메모리(160)와 통신한다. 예를 들면, 레지스터 세트(142)에 읽기 명령이 설정되는 경우, 메모리 컨트롤러(140)는 정해진 타이밍에 따라 원낸드 플래시 메모리(160)로 어드레스 및 명령을 출력한다. 여기서, 어드레스는 버퍼 어드레스, 페이지 어드레스, 블록 어드레스, 등을 포함한다. 읽기 동작이 완료되었음을 알리는 정보가 원낸드 플래시 메모리(160)로부터 입력될 때, 메모리 컨트롤러(140)는 원낸드 플래시 메모리(160)로부터 일정 단위(예를 들면, 16-워드 단위)로 데이터를 가져오며, 가져온 데이터를 스피드-업 버퍼(141)에 임시 저장한다. 메모리 컨트롤러(140)는 DMA(120)에게 스피드-업 버퍼(141)에 데이터가 저장되었음을 알린다.
이 실시예에 있어서, 메모리 컨트롤러(140) 및 DMA(120)의 버퍼들(141, 121)은 잘 알려진 피포(FIFO) 메모리로 구성된다.
원낸드 플래시 메모리(160)는 메모리 코어(161)와 버퍼 메모리(162)를 포함한다. 비록 도면에는 도시되지 않았지만, 원낸드 플래시 메모리(160)에는 이 분야에 잘 알려진 스테이트 머신, ECC, 레지스터 세트, 등이 더 제공된다. 버퍼 메모리(162)는 듀얼 버퍼링 동작을 수행하도록 구성된다. 즉, 버퍼 메모리(162)는 2개의 SRAM 버퍼들로 구성된다. 원낸드 플래시 메모리(160)는 다양한 기능들을 지원한다. 예를 들면, 원낸드 플래시 메모리(160)는 단일 블록 소거 동작(single block erase), 멀티-블록 소거(multi-block erase), 락/언락/락-타이트 동작들, 카피백 동작, OTP 및 스페어 영역 액세스 동작, 검증 읽기 동작, 파이프라인 읽기-어헤드 동작, 블록/캐쉬 읽기 동작들, 등을 지원한다. 특히, 블록 읽기 동작시, 원낸드 플래시 메모리(160)는 메모리 컨트롤러(140)로부터 명령 및 어드레스에 의거하여 하나의 메모리 블록에 저장된 모든 데이터를 자동적으로 메모리 컨트롤러(140)로 전송한다.
원낸드 플래시 메모리에서 DRAM으로의 데이터 전송 동작이 도 3 및 도 4를 참조하여 이하 설명될 것이다.
CPU(110)에 의해서 요구되는 데이터가 워크 메모리로서 DRAM(150)에 존재하지 않는 경우, CPU(110)는 메모리 컨트롤러(140)로 명령 및 어드레스를 전달한다. 메모리 컨트롤러(140)에 입력된 명령 및 어드레스는 레지스터 세트(142)에 저장된 다. 메모리 컨트롤러(140)는 레지스터 세트(142)에 어드레스 및 명령이 입력되면 정해진 인터페이스 방식에 따라 원낸드 플래시 메모리(160)로 어드레스 및 명령을 출력한다. 일단 명령 및 어드레스가 입력될 때, 원낸드 플래시 메모리(160)는 읽기 동작을 자동적으로 수행한다. 예를 들면, 원낸드 플래시 메모리(160)의 스테이트 머신의 제어에 따라 메모리 코어(161)에서 버퍼 메모리(162)로 페이지 데이터가 전송된다. 원낸드 플래시 메모리(160)는 메모리 코어(161)에서 버퍼 메모리(162)로 페이지 데이터가 모두 전송되었음을 메모리 컨트롤러(140)에게 알린다. 이후, 버퍼 메모리(162)에 저장된 페이지 데이터는 일정 단위(예를 들면, 16-워드 단위)로 워크 메모리로서 DRAM(50)으로 순차적으로 전송된다. 좀 더 구체적으로 설명하면, 다음과 같다.
16-워드 데이터는, 도 4에 도시된 바와 같이, T1 시간(예를 들면, 300㎱) 동안 원낸드 플래시 메모리(160)의 버퍼 메모리(162)에서 메모리 컨트롤러(140)의 스피드-업 버퍼(141)로 전송된다. 일단 메모리 컨트롤러(140)의 스피드-업 버퍼(141)에 16-워드 데이터가 저장되면, 도 4에 도시된 바와 같이, T2 시간(예를 들면, 45㎱) 동안 DMA(120)의 제어에 따라 스피드-업 버퍼(141)에서 DMA(120)의 버퍼 메모리(121)로 16-워드 데이터가 전송된다. 마찬가지로, 일단 DMA(120)의 버퍼 메모리(121)에 16-워드 데이터가 저장되면, 도 4에 도시된 바와 같이, T3 시간(예를 들면, 45㎱) 동안 메모리 컨트롤러(130)의 제어에 따라 DMA(120)의 버퍼 메모리(121)에서 DRAM(150)으로 16-워드 데이터가 전송된다. 도 4에서 알 수 있듯이, 스피드-업 버퍼(141)에서 DMA(120)의 버퍼 메모리(121)로 16-워드 데이터가 전송됨과 동시 에, 다음의 16-워드 데이터는 T1 시간 동안 원낸드 플래시 메모리(160)의 버퍼 메모리(162)에서 메모리 컨트롤러(140)의 스피드-업 버퍼(141)로 전송되기 시작한다. 이후, 원낸드 플래시 메모리(160)의 버퍼 메모리(162)에 저장된 데이터는 앞서 설명된 것과 동일한 전송 방식으로 스피트-업 버퍼(141) 및 버퍼 메모리(121)를 통해 DRAM(150)으로 전송될 것이다.
앞서의 설명으로부터 알 수 있듯이, 원낸드 플래시 메모리(160)에서 메모리 컨트롤러(140)로 연속적으로 데이터가 전송되는 동안, 스피드-업 버퍼(141)에서 버퍼 메모리(121)로의 데이터 전송 및 버퍼 메모리(121)에서 DRAM(150)으로의 데이터 전송이 이루어진다. 결과적으로, 스피드-업 버퍼(141)에서 버퍼 메모리(121)로 데이터를 전송하는 데 필요한 시간(T2)과 버퍼 메모리(121)에서 DRAM(150)으로 데이터를 전송하는 데 필요한 시간(T3)이 데이터 전송 시간(T1)에 의해서 새도우된다. 이러한 새도우 기법을 통해 원낸드 플래시 메모리(160)의 최적 성능을 구현하는 것이 가능하다.
도 1 및 도 3에 도시된 시스템들에서 1K-워드 데이터를 전송하는 데 걸리는 시간을 비교하여 보면, 도 1에 도시된 시스템은 1K-워드 데이터를 전송하기 위해서 (T1+T2)*1024의 시간을 필요로 한다. 이에 반해서, 도 3에 도시된 본 발명의 시스템은 1K-워드 데이터를 전송하기 위해서 T1*1024의 시간을 필요로 한다. 따라서, 듀얼 버퍼링 방식에 따라 캐쉬/블록 읽기 동작을 지원하는 원낸드 플래시 메모리 장치의 성능을 최적화하는 것이 용이하다.
본 발명에 따른 메모리 컨트롤러(140)는 원낸드 플래시 메모리(160)의 페이 지들에 대한 액세스가 CPU(110)로부터 요구될 때 CPU(110)의 개입을 최소화시킬 수 있다. 예를 들면, CPU(110)는 요구되는 페이지들의 어드레스 정보를 한 번에 메모리 컨트롤러(140)의 레지스터 세트(142)에 설정한다. 일단 메모리 컨트롤러(140)의 레지스터(142)에 CPU(110)에 의해서 요구되는 페이지들의 어드레스 정보가 설정되면, 메모리 컨트롤러(140)는 한 페이지 분량의 데이터가 앞서 언급된 전송 방식에 따라 DRAM(150)으로 모두 전송될 때마다 레지스터 세트(142)에 저장된 어드레스 정보에 따라 다음 페이지에 대한 읽기 동작을 제어한다. 이러한 제어 방식에 의하면, 요구되는 페이지들 각각에 대한 어드레스 정보를 레지스터 세트(140)에 설정하는 데 필요한 CPU(110)의 개입을 줄일 수 있다. 즉, CPU(110)의 부담을 줄이는 것이 가능하다.
도 5는 도 3에 도시된 메모리 컨트롤러를 개략적으로 보여주는 블록도이다.
도 5를 참조하면, 본 발명에 따른 메모리 컨트롤러(140)는 스피드-업 버퍼(141), 레지스터 세트(142), 제 1 인터페이스로서 AHB 인터페이스 블록(143), 제 2 인터페이스로서 원낸드 인터페이스 블록(144), 그리고 커맨드 포맷터 엔진(command formatter engine)(145)을 포함한다. 스피드-업 버퍼(141)는 커맨드 포맷터 엔진(145)에 의해서 제어되며, 원낸드 인터페이스 블록(144)을 통해 원낸드 플래시 메모리(160)로부터 전송되는 데이터(예를 들면, 16-워드 데이터)를 임시 저장한다. 스피드-업 버퍼(141)의 크기는 응용처에 따라 가변될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 스피드-업 버퍼(141)에 저장된 데이터는 AHB 인터페이스 블록(143)을 통해 DMA(120)의 버퍼(121)로 전송될 것이다. 레지스터 세 트(142)는 파라미터 모듈(parameter module)로, DMA(120) 또는 CPU(110)로부터 제공되는 어드레스, 명령, 등을 저장하는 데 사용된다.
AHB 인터페이스 블록(143)은 AMBA AHB 2.0 라이트 프로토콜(AMBA AHB 2.0 lite protocol)을 위한 AHB 표준 버스 프로토콜을 구현하는 데 필요한 모든 신호들을 포함한다. 커맨드 포맷터 엔진(145)은 원낸드 플래시 메모리(160)를 제어하기 위해 명령 및 데이터를 포맷한다. 커맨드 포맷터 엔진(145)은 맵핑 프로토콜을 수행하고, 액세스 타이밍을 제어하며, 원낸드 플래시 메모리(160)로 명령을 출력한다. 앞서 설명된 바와 같이, 원낸드 플래시 메모리(160)의 페이지들에 대한 액세스가 CPU(110)로부터 요구될 때 CPU(110)의 개입을 최소화하기 위해서, CPU(110)는 요구되는 페이지들의 어드레스 정보를 한 번에 메모리 컨트롤러(140)의 레지스터 세트(142)에 설정한다. 일단 레지스터 세트(142)에 CPU(110)에 의해서 요구되는 페이지들의 어드레스 정보가 설정되면, 커맨드 포맷터 엔진(145)은 한 페이지 분량의 데이터가 앞서 언급된 전송 방식에 따라 DRAM(150)으로 모두 전송될 때마다 레지스터 세트(142)에 저장된 어드레스 정보에 따라 다음 페이지에 대한 읽기 동작을 제어한다. 이는 스피드-업 버퍼(141)에 로드된 16-워드 데이터를 카운트함으로써 이루어질 수 있다.
도 6은 본 발명의 다른 실시예에 따른 데이터 처리 시스템을 보여주는 블록도이다. 도 6에 도시된 데이터 처리 시스템은 다음과 같은 차이점을 제외하면 도 3에 도시된 것과 실질적으로 동일하다. 도 6에 도시된 바와 같이, 메모리 컨트롤러(140)는 DMA(120)를 포함하도록 구성되며, 메모리 컨트롤러(140)에 포함된 DMA(120)의 기능은 도 3에 도시된 것과 실질적으로 동일하다. 따라서, 도 6에 도시된 데이터 처리 시스템의 설명은 생략된다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
상술한 바와 같이, 스피드-업 버퍼(141)에서 버퍼 메모리(121)로 데이터를 전송하는 데 필요한 시간(T2)과 버퍼 메모리(121)에서 DRAM(150)으로 데이터를 전송하는 데 필요한 시간(T3)이 데이터 전송 시간(T1)에 의해서 새도우되게 함으로써, 원낸드 플래시 메모리의 최적 성능을 구현하는 것이 가능하다. 또한, 원낸드 플래시 메모리(160)의 페이지들에 대한 액세스가 CPU(110)로부터 요구될 때, 요구되는 페이지들의 어드레스 정보를 한 번에 메모리 컨트롤러(140)의 레지스터 세트(142)에 설정함으로써 CPU(110)의 개입을 최소화시키는 것이 가능하다.

Claims (10)

  1. 페이지 데이터를 임시 저장하기 위한 버퍼 메모리를 갖는 원낸드 플래시 메모리와; 그리고
    상기 원낸드 플래시 메모리의 읽기 동작을 제어하며, 스피드-업 버퍼를 갖는 제 1 메모리 컨트롤러를 포함하며,
    상기 버퍼 메모리에 저장된 페이지 데이터는 소정 단위로 상기 스피드-업 버퍼를 통해 외부로 순차적으로 출력되는 데이터 처리 시스템.
  2. 제 1 항에 있어서,
    워크 메모리와;
    상기 워크 메모리를 제어하는 제 2 메모리 컨트롤러와; 그리고
    버퍼를 갖는 디엠에이를 더 포함하며, 상기 스피드-업 버퍼로부터 출력된 데이터는 상기 디엠에이의 버퍼에 임시 저장되는 데이터 처리 시스템.
  3. 제 2 항에 있어서,
    상기 디엠에이의 버퍼에 저장된 데이터는 상기 제 2 메모리 컨트롤러를 통해 상기 워크 메모리에 저장되는 데이터 처리 시스템.
  4. 제 3 항에 있어서,
    상기 버퍼 메모리에서 상기 스피드-업 버퍼로의 데이터 전송이 이루어지는 동안, 상기 스피드-업 버퍼에서 상기 디엠에이의 버퍼로의 데이터 전송 및 상기 디엠에이의 버퍼에서 상기 워크 메모리의 데이터 전송이 수행되는 데이터 처리 시스템.
  5. 제 4 항에 있어서,
    상기 스피드-업 버퍼 및 상기 디엠에이의 버퍼는 피포로 구성되는 데이터 처리 시스템.
  6. 제 1 항에 있어서,
    상기 제 1 메모리 컨트롤러는 중앙처리장치로부터 제공되는 명령 및 어드레스 정보를 저장하기 위한 레지스터 세트를 더 포함하는 데이터 처리 시스템.
  7. 제 6 항에 있어서,
    복수의 페이지 데이터가 상기 중앙처리장치에 의해서 요구되는 경우, 상기 제 1 메모리 컨트롤러는 상기 스피드-업 버퍼를 통해 페이지 데이터가 모두 전송될 때마다 다음의 페이지 데이터에 대한 읽기 동작이 수행되도록 상기 레지스터 세트에 저장된 정보에 의거하여 상기 원낸드 플래시 메모리를 제어하는 데이터 처리 시스템.
  8. 제 1 항에 있어서,
    상기 제 1 메모리 컨트롤러는 상기 외부와 통신하기 위한 AHB 인터페이스를 더 포함하는 데이터 처리 시스템.
  9. 제 1 항에 있어서,
    상기 제 1 메모리 컨트롤러는 버퍼를 갖는 디엠에이를 더 포함하며, 상기 스피드-업 버퍼로부터 출력된 데이터는 상기 디엠에이의 버퍼에 임시 저장되는 데이터 처리 시스템.
  10. 제 9 항에 있어서,
    상기 디엠에이의 버퍼에 저장된 데이터는 제 2 메모리 컨트롤러를 통해 워크 메모리에 저장되는 데이터 처리 시스템.
KR1020050087794A 2005-09-21 2005-09-21 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템 KR100673013B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020050087794A KR100673013B1 (ko) 2005-09-21 2005-09-21 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템
US11/517,476 US20070088867A1 (en) 2005-09-21 2006-09-08 Memory controller and data processing system with the same
JP2006251221A JP2007087388A (ja) 2005-09-21 2006-09-15 メモリコントローラ及びそれを含んだデータ処理システム
DE102006046417A DE102006046417A1 (de) 2005-09-21 2006-09-21 Datenverarbeitungssystem und Verfahren zum Extrahieren von Daten aus einem OneNAND-Flash-Speicher in ein RAM-Speicherbauelement
GB0618667A GB2430512A (en) 2005-09-21 2006-09-21 Controller for NAND flash memory
CNA2006101635712A CN1952917A (zh) 2005-09-21 2006-09-21 存储器控制器及具有存储器控制器的数据处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050087794A KR100673013B1 (ko) 2005-09-21 2005-09-21 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템

Publications (1)

Publication Number Publication Date
KR100673013B1 true KR100673013B1 (ko) 2007-01-24

Family

ID=37421425

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050087794A KR100673013B1 (ko) 2005-09-21 2005-09-21 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템

Country Status (6)

Country Link
US (1) US20070088867A1 (ko)
JP (1) JP2007087388A (ko)
KR (1) KR100673013B1 (ko)
CN (1) CN1952917A (ko)
DE (1) DE102006046417A1 (ko)
GB (1) GB2430512A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100847021B1 (ko) 2006-10-26 2008-07-17 한국과학기술원 데이터 저장 장치, 데이터 저장 방법 및 그 방법이 기록된컴퓨터로 읽을 수 있는 기록매체
US9640264B2 (en) 2013-04-01 2017-05-02 Samsung Electronics Co., Ltd. Memory system responsive to flush command to store data in fast memory and method of operating memory system

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008090433A (ja) * 2006-09-29 2008-04-17 Toshiba Corp メモリコントローラ、メモリシステム及びデータ転送方法
CN101162449B (zh) * 2007-10-08 2010-06-02 福州瑞芯微电子有限公司 Nand flash控制器及其与nand flash芯片的数据交互方法
JP4672742B2 (ja) 2008-02-27 2011-04-20 株式会社東芝 メモリコントローラおよびメモリシステム
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
GB2458488C (en) 2008-03-19 2018-09-12 Imagination Tech Ltd Untransformed display lists in a tile based rendering system
US20100161914A1 (en) * 2008-12-23 2010-06-24 Eilert Sean S Autonomous memory subsystems in computing platforms
US9201824B2 (en) * 2009-01-22 2015-12-01 Intel Deutschland Gmbh Method and apparatus for adaptive data chunk transfer
CN101882119B (zh) * 2009-05-08 2014-05-14 上海炬力集成电路设计有限公司 与非型闪存控制器及其数据传输方法
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US8176220B2 (en) * 2009-10-01 2012-05-08 Oracle America, Inc. Processor-bus-connected flash storage nodes with caching to support concurrent DMA accesses from multiple processors
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US9164804B2 (en) 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9116820B2 (en) 2012-08-28 2015-08-25 Memory Technologies Llc Dynamic central cache memory
MX364783B (es) * 2012-11-20 2019-05-07 Thstyme Bermuda Ltd Estructuras de unidades de estado sólido.
WO2014204331A1 (en) * 2013-06-17 2014-12-24 Llc "Topcon Positioning Systems" Nand flash memory interface controller with gnss receiver firmware booting capability
CN104461967B (zh) * 2014-12-25 2018-03-06 中国电子科技集团公司第三十八研究所 一种支持同步和异步传输模式的并行数据接口
CN105577985B (zh) * 2015-12-29 2019-06-28 上海华力创通半导体有限公司 一种数字图像处理系统
KR20190123984A (ko) 2018-04-25 2019-11-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN109933293B (zh) * 2019-03-25 2022-06-07 深圳忆联信息系统有限公司 基于SpiFlash的数据写入方法、装置和计算机设备
CN110659315B (zh) * 2019-08-06 2020-11-20 上海孚典智能科技有限公司 基于非易失性存储系统的高性能非结构化数据库服务

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010076518A (ko) * 2000-01-26 2001-08-16 윤종용 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
KR20020095109A (ko) * 2001-06-11 2002-12-20 가부시키가이샤 히타치세이사쿠쇼 반도체 기억 장치
KR20040064149A (ko) * 2003-01-09 2004-07-16 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US64575A (en) * 1867-05-07 Improved machine foe washing hides
US245274A (en) * 1881-08-09 Mechanism for and process of extracting oil from oleaginous materials
JP3352577B2 (ja) * 1995-12-21 2002-12-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置
US6678785B2 (en) * 2001-09-28 2004-01-13 M-Systems Flash Disk Pioneers Ltd. Flash management system using only sequential write
US6721820B2 (en) * 2002-05-15 2004-04-13 M-Systems Flash Disk Pioneers Ltd. Method for improving performance of a flash-based storage system using specialized flash controllers
KR100634436B1 (ko) * 2004-09-23 2006-10-16 삼성전자주식회사 멀티 칩 시스템 및 그것의 부트코드 페치 방법
KR100551480B1 (ko) * 2004-10-25 2006-02-13 삼성전자주식회사 프로세서와 비휘발성 메모리 사이에 위치하는 메모리장치, 이를 포함한 시스템 및 상기 시스템 내의 데이터송수신 방법
KR100708128B1 (ko) * 2005-04-30 2007-04-17 삼성전자주식회사 낸드 플래시 메모리 제어 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010076518A (ko) * 2000-01-26 2001-08-16 윤종용 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
KR20020095109A (ko) * 2001-06-11 2002-12-20 가부시키가이샤 히타치세이사쿠쇼 반도체 기억 장치
KR20040064149A (ko) * 2003-01-09 2004-07-16 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100847021B1 (ko) 2006-10-26 2008-07-17 한국과학기술원 데이터 저장 장치, 데이터 저장 방법 및 그 방법이 기록된컴퓨터로 읽을 수 있는 기록매체
US9640264B2 (en) 2013-04-01 2017-05-02 Samsung Electronics Co., Ltd. Memory system responsive to flush command to store data in fast memory and method of operating memory system

Also Published As

Publication number Publication date
US20070088867A1 (en) 2007-04-19
CN1952917A (zh) 2007-04-25
GB2430512A (en) 2007-03-28
JP2007087388A (ja) 2007-04-05
GB0618667D0 (en) 2006-11-01
DE102006046417A1 (de) 2007-05-03

Similar Documents

Publication Publication Date Title
KR100673013B1 (ko) 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템
US8356134B2 (en) Memory device with non-volatile memory buffer
US7937523B2 (en) Memory system with nonvolatile semiconductor memory
KR100708128B1 (ko) 낸드 플래시 메모리 제어 장치 및 방법
US7907469B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
EP1769331B1 (en) Storage device and host apparatus
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
US9792072B2 (en) Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system
US20080215801A1 (en) Portable Data Storage Using Slc and Mlc Flash Memory
US20040193782A1 (en) Nonvolatile intelligent flash cache memory
JP2000067574A (ja) 半導体記憶装置
WO2003085676A1 (fr) Dispositif de stockage non volatil
JP2009282678A (ja) フラッシュメモリモジュール及びストレージシステム
KR20150007292A (ko) 설정 가능한 가상 페이지 크기를 갖는 브리징 장치
KR101857911B1 (ko) 가상채널을 이용한 다중 채널 메모리 제어기
US20190286370A1 (en) Memory controller and memory system having the same
CN109891397A (zh) 用于固态装置中的操作系统高速缓冲存储器的设备及方法
KR20110073920A (ko) 프로그램 시간을 감소시킨 비휘발성 메모리 장치
US20240078045A1 (en) Hardware queue handling system, method, solid state drive controller, and solid-state drive
US11029854B2 (en) Memory controller for concurrently writing host data and garbage collected data and operating method thereof
KR100761374B1 (ko) 플래시 메모리 제어 방법 및 장치
US8244929B2 (en) Data processing apparatus
CN107844265A (zh) 操作计算系统的方法以及操作计算系统中的存储器控制器的方法
JP2004127305A (ja) メモリ制御装置
JP2006011926A (ja) シリアルデータ転送システム、シリアルデータ転送装置、シリアルデータ転送方法及び画像形成装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee