KR20110131714A - 데이터 복사를 제어하는 플래시 시스템 및 그의 제어 방법 - Google Patents
데이터 복사를 제어하는 플래시 시스템 및 그의 제어 방법 Download PDFInfo
- Publication number
- KR20110131714A KR20110131714A KR1020100051293A KR20100051293A KR20110131714A KR 20110131714 A KR20110131714 A KR 20110131714A KR 1020100051293 A KR1020100051293 A KR 1020100051293A KR 20100051293 A KR20100051293 A KR 20100051293A KR 20110131714 A KR20110131714 A KR 20110131714A
- Authority
- KR
- South Korea
- Prior art keywords
- chip
- data
- memory controller
- chips
- program command
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/14—Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
플래시 시스템은, 호스트 인터페이스, 상기 호스트 인터페이스와 연결된 메모리 컨트롤러, 상기 메모리 컨트롤러에 의해 제어되며, 복수의 비휘발성 메모리 셀을 각각 포함하는 제 1 및 제 2 칩을 포함하며, 상기 제 1 및 상기 제 2 칩은 각각 페이지 버퍼를 포함하고, 상기 제 1 칩의 데이터를 상기 제 2 칩으로 데이터 카피 시, 상기 제 1 칩에 대한 리드 도중 상기 제 2 칩에 대한 프로그램 명령을 제공한다.
Description
본 발명은 비휘발성 메모리 장치 및 그의 제어 방법에 관한 것으로서, 보다 구체적으로는 데이터 복사를 제어하는 플래시 시스템 및 그의 제어 방법에 관한 것이다.
일반적으로 낸드 플래시 메모리 장치와 같은 비휘발성 반도체 메모리 장치는 전기적으로 소거 및 프로그램 가능한 셀들(Electrically Erasable and Programmable Memory cells)을 포함한다.
낸드 플래시 메모리는 킬로바이트 당 수십 us(micro second)의 리드 시간 및 수백 us의 프로그램 시간을 특성으로 가진다. 통상의 낸드 플래시 메모리는 동작 속도를 개선하기 위해서 동일 칩 내에서는 페이지 버퍼를 이용하여 다른 페이지로 데이터를 카피하는, 이른바 카피 백(copy back)을 이용하기도 한다. 즉, 카피 백 명령을 이용하면 메모리 컨트롤러의 제어없이 직접 칩내의 데이터 이동이 가능하므로 동작 속도가 빠르다.
최근에는 여러 응용 복합 제품들의 증가로, 하나의 칩만 탑재하지 않고 복수의 칩들을 탑재한다. 이 때, 전술한 카피 백 명령은 동일 칩내에서만 유효하므로 서로 다른 칩으로 데이터를 카피할 경우는 메모리 컨트롤러와 데이터 송수신을 함으로써 속도가 현저히 저하되거나, 시스템의 오버헤드(overhead)가 발생될 수 있다.
본 발명의 기술적 과제는 데이터 복사를 제어하는 플래시 시스템 및 그의 제어 방법을 제공하는 것이다.
본 발명의 기술적 과제를 달성하기 위하여, 플래시 시스템은, 호스트 인터페이스, 상기 호스트 인터페이스와 연결된 메모리 컨트롤러, 상기 메모리 컨트롤러에 의해 제어되며, 복수의 비휘발성 메모리 셀을 각각 포함하는 제 1 및 제 2 칩을 포함하며, 상기 제 1 및 상기 제 2 칩은 각각 페이지 버퍼를 포함하고, 상기 제 1 칩의 데이터를 상기 제 2 칩으로 데이터 카피 시, 상기 제 1 칩에 대한 리드 도중 상기 제 2 칩에 대한 프로그램 명령을 제공한다.
본 발명의 다른 기술적 과제를 달성하기 위하여, 플래시 시스템의 제어 방법은, 서로 다른 제 1 칩과 제 2 칩이 구비된 플래시 시스템에 있어서, 상기 제 1 칩의 제 1 데이터에 대해 상기 제 2 칩으로 카피되도록 리드 명령을 제공하는 단계; 상기 제 1 데이터를 상기 제 2 칩에 라이트 하도록 프로그램 명령을 제공하는 단계를 포함하고, 상기 제 2 칩의 프로그램 명령이 제공되는 것은 상기 제 1 칩의 상기 제 1 데이터가 리드되는 도중에 제공된다.
도 1은 본 발명의 일 실시예에 따른 플래시 시스템의 블록도,
도 2는 도 1에 따른 데이터 전송 관계를 도식화한 블록도,
도 3은 도 2에 따른 명령어 입력을 개념적으로 도시한 블록도, 및
도 4는 본 발명의 일 실시예에 따른 플래시 시스템의 제어 방법을 나타낸 플로우 차트이다.
도 2는 도 1에 따른 데이터 전송 관계를 도식화한 블록도,
도 3은 도 2에 따른 명령어 입력을 개념적으로 도시한 블록도, 및
도 4는 본 발명의 일 실시예에 따른 플래시 시스템의 제어 방법을 나타낸 플로우 차트이다.
이하, 본 발명의 실시예에 의한 본 발명의 일 실시예에 따른 플래시 시스템 및 제어 방법을 설명하기 위한 블록도 또는 플로우 차트에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다.
또한, 각 블록도는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 일 실시예에 따른 플래시 시스템의 블록도이다. 여기서, 플래시 시스템는 낸드 플래시 메모리를 이용한 메모리 장치로 예시하기로 한다.
도 1을 참조하면, 플래시 시스템(100)은 호스트 인터페이스(110), 버퍼부(120), MCU(130), 메모리 컨트롤러(140) 및 메모리 영역(150)을 포함한다.
우선, 호스트 인터페이스(110)는 버퍼부(120)와 연결된다. 호스트 인터페이스(110)는 외부 호스트 (미도시)와 버퍼부(120)간에 제어 명령, 어드레스 신호 및 데이터 신호를 송수신한다. 호스트 인터페이스(110)와 외부 호스트 (미도시)간의 인터페이스 방식은 직렬 ATA(Serial Advanced Technology Attachment;SATA), 병렬 ATA(Parallel Advanced Technology attachment;PATA) 및 SCSI, Express Card, PCI-Express 방식 중 어느 하나일 수 있으며 제한되지 않는다.
버퍼부(120)는 호스트 인터페이스(110)로부터의 출력 신호들을 버퍼링하거나, 논리적 어드레스 및 물리적 어드레스간의 맵핑 정보 및 메모리 영역의 블록 할당 정보, 블록의 삭제 횟수 및 외부로부터 수신된 데이터를 임시 저장한다. 버퍼부(120)는 SRAM(Static Random Access Memory) 또는 DRAM(Dynamic Random Access Memory)을 이용한 버퍼일 수 있다.
MCU(Micro Control Unit; 130)는 호스트 인터페이스(110)간에 제어 명령, 어드레스 신호 및 데이터 신호등을 송수신하거나, 이러한 신호들에 의해 메모리 컨트롤러(140)를 제어하기도 한다.
한편, 메모리 컨트롤러(140)는 통상과 같이 호스트 인터페이스(110)로부터의 입력 데이터와 라이트 명령어를 수신하여 입력 데이터가 메모리 영역(150)에 라이트 될 수 있도록 제어한다. 이와 마찬가지로, 메모리 컨트롤러(140)는 호스트 인터페이스(110)로부터의 리드 명령어를 수신하면, 메모리 영역(150)으로부터의 데이터를 리드하여 외부로 출력되도록 제어한다.
메모리 영역(150)은 멀티 스택형(multi-stack type)으로서, IO 버스를 공유하는 복수의 낸드 칩(NAND1, NAND2, NAND3..)을 포함한다. 이러한 각각의 낸드 칩(NAND1, NAND2..)은 IO 버스를 공유하지만, 각각의 구별된 명령어 버스(예컨대, CE1, CE2..WE1, WE2..)를 포함한다.
본 발명의 일 실시예에 따르면, 메모리 컨트롤러(140)는 해당 칩의 데이터를 서로 다른 칩으로 카피시, 파이프 라인(pipe line) 방식으로 제어함으로써 데이터 카피의 속도 저하를 개선할 수 있다.
즉, 본 발명의 일 실시예에 따르면 공유된 IO 버스를 이용하여 데이터의 리드하는 도중 다른 칩으로의 프로그램 명령을 병행하여 제공함으로써, 동시에 서로 다른 칩의 동작을 제어할 수 있으므로, 메모리 컨트롤러의 타이밍 오버헤드를 줄일 수 있어 데이터의 카피 속도를 개선할 수 있다.
이에 대한 자세한 설명은 후술하기로 한다.
도 2는 도 1에 따른 메모리 영역(150)과 메모리 컨트롤러(140) 간의 데이터 카피 동작을 구현한 블록도이며, 도 3은 도 2에 따른 제 1 및 제 2 낸드 칩(NAND1, NAND2)의 동작을 나타낸 타이밍 다이어그램이다.
도 2및 도 3을 참조하면, 제 1 낸드 칩(NAND1)의 해당 플레인의 카피 대상 데이터, 즉 오래된 데이터(OLD DATA)가 제 2 낸드 칩(NAND2)의 새로운 플레인으로 카피되는 것을 도시하고 있다.
메모리 컨트롤러(도 1의 140 참조)가 IO 버스를 통해 제 1 낸드 칩(NAND1)에 대한 리드 명령(RD)을 어드레스 셋트(미도시)와 함께 제공한다.
메모리 컨트롤러(도 1의 140참조)는 제 1 낸드 칩(NAND1)의 해당 데이터를 리드한다. 제 1 낸드 칩(NAND1)의 데이터가 리드되고 있는 도중에, 메모리 컨트롤러(도 1의 140 참조)는 IO 버스를 통해 제 2 낸드 칩(NAND2)에 프로그램(데이터 카피를 위한) 명령과 함께 프로그램될 플레인의 어드레스 셋트(미도시)를 제공한다. 이 때, 제 2 낸드 칩(NAND2)에 대한 프로그램 명령이 가능한 시간은 제 1 낸드 칩(NAND1)의 모든 데이터가 페이지 버퍼로 이동된 시간 a 이후가 될 것이다. 즉, 제 1 낸드 칩(NAND1)의 데이터를 일단 페이지 버퍼로 이동시킨 직후 프로그램 명령을 준비할 수 있음을 의미한다.
그리하여, 프로그램 명령을 제공받고 프로그램 명령이 인식된 이후, 제 2 낸드 칩(NAND2)은 시간 c동안 충분히 라이트 동작을 수행하여, 제 1 낸드 칩(NAND1)의 해당 데이터를 제 2 낸드 칩(NAND2)으로 카피를 할 수 있다. 물론, 라이트 시에 ECC(Error Check Correct)를 수행할 수 있다.
한편, 제 2 낸드 칩(NAND2)의 프로그램 명령 제공이 완료된 것을 확인하면(confirm), 이에 응답하여 제 1 낸드 칩(NAND1)은 새로운 리드 명령을 제공받아 2번째 리드동작을 수행할 준비를 한다. 이는 제 2 낸드 칩(NAND2)의 셀에서 프로그램이 수행되는 시간동안 이루어지므로, 페이지 버퍼로부터 타겟 페이지로의 데이터 전달 시간의 오버헤드가 필요없는 일종의 파이프 라인 기능이 수행되는 것을 알 수 있다. 이로써, 서로 다른 칩간의 데이터 카피가 수행되더라도 종래보다는 현저히 감소된 시간동안 수행될 수 있다.
종래에는 서로 다른 칩으로 데이터 카피를 하는 경우 해당 칩내의 페이지 버퍼로 이동 후, 다시 타겟 칩의 페이지 버퍼로 데이터 전달 후, 일정한 타겟 페이지에 대한 프로그램 명령이 입력되도록 제어됨으로써 많은 시간이 소요되었다.
하지만, 본 발명의 일 실시예에 따르면 서로 다른 칩의 페이지라 하더라도 해당 칩의 동작이 수행되는 동안 다른 칩의 동작을 미리 수행하도록 제어함으로써, 메모리 컨트롤러의 타이밍 오버헤드를 줄일 수 있어 데이터 카피 속도가 향상될 수 있다.
도 4는 도 1에 따른 플래시 시스템의 동작을 나타낸 순서도이다.
도 4를 참조하면, 우선 제 1 낸드 칩(NAND1)에 대한 리드 명령(RD)을 제공한다(S10).
제 1 낸드 칩(NAND1)의 데이터가 리드된다(S20).
한편, 제 1 낸드 칩(NAND1)의 데이터가 리드되고 있는 중에, 더 자세히는 제 1 낸드 칩(NAND1)의 데이터가 페이지 버퍼(미도시)로 전달된 후, 타겟 칩인 제 2 낸드 칩(NAND2)에 대한 프로그램 명령을 제공한다(S30).
프로그램 명령의 인식이 완료되면, 제 2 낸드 칩(NAND2)은 실질적으로 프로그램 동작 수행을 하도록 칩 내부의 라이트 관련 신호(미도시)가 활성화되고, 제 1 낸드 칩(NAND1)은 새로운 리드 명령을 제공받도록 리드 관련 신호(미도시)가 활성화된다(S40).
제 2 낸드 칩(NAND2)은 안전한 라이트 동작 수행을 위해 ECC의 마진 여부를 확인하여(S50), ECC 마진이 확보되면(Y) 제 2 낸드 칩(NAND2)에 데이터 프로그램을 수행함으로써 데이터 카피를 완료한다(S70).
만약, ECC의 마진 여부를 확인하여(S50), ECC 마진이 확보되지 않으면(N) 제 2 낸드 칩(NAND2)에 데이터 정정(S60) 후, 데이터 프로그램을 수행함으로써 데이터 카피를 완료한다(S70).
이와 같이, 본 발명의 일 실시예에 따르면 서로 다른 칩간의 데이터 카피를 수행한다 하더라도, 해당 칩의 데이터가 리드되는 동안, 소정 시간 후 바로 타겟 칩의 데이터 프로그램 명령을 제공함으로써, 데이터 카피의 시간을 감소시킬 수 있다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 호스트 인터페이스
120: 버퍼부
130: MCU
140: 메모리 컨트롤러
150: 메모리 영역
120: 버퍼부
130: MCU
140: 메모리 컨트롤러
150: 메모리 영역
Claims (6)
- 호스트 인터페이스;
상기 호스트 인터페이스와 연결된 메모리 컨트롤러; 및
상기 메모리 컨트롤러에 의해 제어되며, 복수의 비휘발성 메모리 셀을 각각 포함하는 제 1 및 제 2 칩을 포함하며, 상기 제 1 및 상기 제 2 칩은 각각 페이지 버퍼를 포함하고,
상기 제 1 칩의 데이터를 상기 제 2 칩으로 데이터 카피 시, 상기 제 1 칩에 대한 리드 도중 상기 제 2 칩에 대한 프로그램 명령을 제공하는 플래시 시스템. - 제 1항에 있어서,
상기 메모리 컨트롤러는,
상기 제 2 칩에 대한 프로그램 명령 제공은 상기 제 1 칩의 데이터가 상기 제 1 칩내 상기 페이지 버퍼로의 전달 완료됨에 응답하여 수행되는 플래시 시스템. - 제 1항에 있어서,
상기 제 1 및 상기 제 2 칩은 IO 버스를 서로 공유하는 것을 더 포함하는 플래시 시스템. - 서로 다른 제 1 칩과 제 2 칩이 구비된 플래시 시스템에 있어서, 상기 제 1 칩의 제 1 데이터에 대해 상기 제 2 칩으로 카피되도록 리드 명령을 제공하는 단계;
상기 제 1 데이터를 상기 제 2 칩에 라이트 하도록 프로그램 명령을 제공하는 단계를 포함하고,
상기 제 2 칩의 프로그램 명령이 제공되는 것은 상기 제 1 칩의 상기 제 1 데이터가 리드되는 도중에 제공되는 플래시 시스템의 제어 방법. - 제 4항에 있어서,
상기 제 2 칩의 프로그램 명령이 제공되는 것은 상기 제 1 칩의 상기 제 1 데이터가 상기 제 1 칩내 페이지 버퍼로 전달 완료됨에 응답하는 플래시 시스템의 제어 방법. - 제 5항에 있어서,
상기 제 2 칩의 프로그램 명령 제공이 완료됨에 응답하여, 상기 제 1 칩에 대한 새로운 리드 명령 인식이 수행되는 것을 더 포함하는 플래시 시스템의 제어 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100051293A KR20110131714A (ko) | 2010-05-31 | 2010-05-31 | 데이터 복사를 제어하는 플래시 시스템 및 그의 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100051293A KR20110131714A (ko) | 2010-05-31 | 2010-05-31 | 데이터 복사를 제어하는 플래시 시스템 및 그의 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110131714A true KR20110131714A (ko) | 2011-12-07 |
Family
ID=45500043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100051293A KR20110131714A (ko) | 2010-05-31 | 2010-05-31 | 데이터 복사를 제어하는 플래시 시스템 및 그의 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20110131714A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015047326A1 (en) * | 2013-09-27 | 2015-04-02 | Hewlett-Packard Development Company, L.P. | Data management on memory modules |
US11386938B2 (en) | 2020-08-24 | 2022-07-12 | SK Hynix Inc. | Storage device and operating method of the storage device |
US11455249B2 (en) | 2019-08-16 | 2022-09-27 | SK Hynix Inc. | Storage device for performing dump operation, method of operating storage device, computing system including storage device and host device for controlling storage device, and method of operating computing system |
-
2010
- 2010-05-31 KR KR1020100051293A patent/KR20110131714A/ko not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015047326A1 (en) * | 2013-09-27 | 2015-04-02 | Hewlett-Packard Development Company, L.P. | Data management on memory modules |
US11733932B2 (en) | 2013-09-27 | 2023-08-22 | Hewlett Packard Enterprise Development Lp | Data management on memory modules |
US11455249B2 (en) | 2019-08-16 | 2022-09-27 | SK Hynix Inc. | Storage device for performing dump operation, method of operating storage device, computing system including storage device and host device for controlling storage device, and method of operating computing system |
US11386938B2 (en) | 2020-08-24 | 2022-07-12 | SK Hynix Inc. | Storage device and operating method of the storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9268687B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US20180275921A1 (en) | Storage device | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN110083546B (zh) | 记忆装置中进行写入管理的方法、记忆装置和其控制器 | |
US11294586B2 (en) | Method for performing read acceleration, associated data storage device and controller thereof | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
KR20190063054A (ko) | 메모리 시스템 및 이의 동작 방법 | |
US9032135B2 (en) | Data protecting method, memory controller and memory storage device using the same | |
US8914587B2 (en) | Multi-threaded memory operation using block write interruption after a number or threshold of pages have been written in order to service another request | |
US20220171532A1 (en) | Electronic system including host, memory controller and memory device and method of operating the same | |
WO2015117493A1 (zh) | 一种flash的控制方法和控制器 | |
CN102708058A (zh) | 执行ftl功能的非易失性存储装置及其控制方法 | |
KR20210055514A (ko) | 스토리지 장치 및 그 동작 방법 | |
CN104850514A (zh) | 存取闪存的方法及相关的控制器与记忆装置 | |
CN103106155A (zh) | 存储器储存装置、存储器控制器与其数据传输方法 | |
KR20110131714A (ko) | 데이터 복사를 제어하는 플래시 시스템 및 그의 제어 방법 | |
US11520519B2 (en) | Storage device and method of operating the same | |
KR20190060429A (ko) | 메모리 시스템 및 이의 동작 방법 | |
KR20220022407A (ko) | 저장 장치 및 그 동작 방법 | |
KR102648790B1 (ko) | 데이터 저장 장치 및 그 동작 방법 | |
US11593023B2 (en) | Memory controller and method of operating the same | |
CN111143255B (zh) | 存储装置及其操作方法 | |
US9652378B2 (en) | Writing method, memory controller and memory storage device | |
US20200379905A1 (en) | Storage device and method of operating the same | |
KR20220052161A (ko) | 메모리 장치 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |