KR20060012139A - 플래시메모리 제어방법 - Google Patents

플래시메모리 제어방법 Download PDF

Info

Publication number
KR20060012139A
KR20060012139A KR1020040060879A KR20040060879A KR20060012139A KR 20060012139 A KR20060012139 A KR 20060012139A KR 1020040060879 A KR1020040060879 A KR 1020040060879A KR 20040060879 A KR20040060879 A KR 20040060879A KR 20060012139 A KR20060012139 A KR 20060012139A
Authority
KR
South Korea
Prior art keywords
data
flash memory
controllers
erase
completed
Prior art date
Application number
KR1020040060879A
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 KR1020040060879A priority Critical patent/KR20060012139A/ko
Publication of KR20060012139A publication Critical patent/KR20060012139A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells

Landscapes

  • Read Only Memory (AREA)

Abstract

본 발명은 플래시메모리 제어방법에 관한 것으로서, 복수개의 컨트롤러를 구비하는 플래시메모리의 제어방법에 있어서, 상기 컨트롤러가 데이터 소거 동작중인지 여부를 확인하는 단계와; 상기 각 컨트롤러의 각 동작상태에 따라 데이터 소거동작을 개별적으로 제어하여 해당 메모리 영역의 데이터가 각각 소거되도록 제어하는 단계와; 상기 복수개의 컨트롤러의 상기 데이터 소거동작이 모두 완료되었는지 확인하는 단계와; 상기 모든 컨트롤러의 상기 데이터 소거동작이 완료된 경우 소거작업을 완료하는 단계를 포함하는 것을 특징으로 한다. 이다. 이에 의해, 플래시메모리의 용량이 커지더라도 컨트롤러들이 동시 동작하여 해당 영역에서 데이터를 기입/소거하므로 컨트롤러의 개수에 따라 데이터 기입/소거 시간을 확연히 단축시킬 수 있다.

Description

플래시메모리 제어방법{FLASH MEMORY CONTROLING METHOD}
도 1은 종래의 플래시메모리 제어방법의 흐름도,
도 2는 본 발명에 따른 플래시메모리 제어방법이 적용되는 시스템 구성 예,
도 3은 본 발명에 따른 플래시메모리 제어방법의 흐름도이다.
*** 도면의 주요 부분에 대한 부호의 설명 ***
1 : 호스트시스템 10 : 플래시메모리
14 : 컨트롤러 16 : 메모리블록
본 발명은 플래시메모리 제어방법에 관한 것으로서, 특히, 플래시메모리의 다수개의 컨트롤러를 병렬로 제어함으로써 데이터를 기입/소거함에 있어서 대기시간을 최소화할 수 있도록 하는 플래시메모리 제어방법에 관한 것이다.
플래시메모리(flash memory)는 전기적으로 프로그램 및 소거 동작이 가능한 불휘발성 메모리장치로서, 액세스 단위에 따라 낸드형(NAND type)과 노어형(NOR type)의 플래시메모리 로 분류할 수 있다.
낸드형 플래시메모리는 수십 메가 바이트 이상의 용량을 가지며, 수백 바이트 내지 수천 바이트 크기의 섹터로 불리는 단위로 액세스하는 플래시메모리로서, 하나의 비트 라인에 복수개의 메모리셀들이 직렬로 배열되는 구조를 갖는다.
노어형 플래시메모리는 칩 용량은 수 메가 바이트의 비교적 소용량이지만, 바이트 단위로 랜덤 액세스가 가능하며, 하나의 비트라인에 복수개의 메모리셀들이 병렬로 배열되는 구조를 갖는다.
이에, 이동통신단말기 등의 휴대기기에는 노어형 플래시메모리가 널리 사용되고 있다. 이러한 노어형 플래시메모리에 저장 된 데이터를 삭제한 후 데이터를 기입하는 경우, 그 제어흐름은 도 1에 도시 된 바와 같다.
먼저, 메모리의 N번째 블록부터 데이터 소거가 시작되면(S1), 소거 작업을 진행하면서 해당 블록의 데이터 소거가 완료되었는지 여부를 확인하여(S3), 해당 블록에 저장된 데이터를 모두 소거한다.
해당 블록의 데이터 소거가 완료되면, 그 다음 블록(N+1번째 블록)의 데이터를 소거하는 방식으로 메모리의 각 블록의 데이터를 순차적으로 소거한다(S5). 마지막 블록의 데이터까지 모두 소거되면(S7), 플래시메모리의 메모리 소거작업이 완료된다.
메모리 소거작업이 완료되면, M번째 어드레스에서부터 데이터를 기입하기 시작한다(S11). 해당 어드레스에 데이터 기입이 완료되었는지 여부를 확인하고(S13), 해당 어드레스에 데이터 기입이 완료되면 그 다음 어드레스(M+1 어드레스)에 데이터를 기입하는 방식으로 데이터를 순차적으로 기입해 간다(S15).
이에, 플래시메모리의 전체 저장 공간에 데이터 기입이 완료되면 데이터 기입작업이 완료된다(S17).
이상과 같이, 통상 플래시메모리의 데이터 소거/기입 작업은 블록/어드레스 단위로 순차적으로 진행되므로, 저장 된 데이터를 소거 후 기입하는 경우, 플래시메모리의 전체 저장영역의 데이터가 모두 소거된 후 시작 어드레스에서부터 마지막 어드레스까지 순차적으로 데이터를 기입하도록 하고 있다.
즉, 이동통신단말기의 프로그램을 업그레이드하는 경우, 플래시메모리의 첫 블록에 대한 소거작업을 시작으로 순차적으로 다음 블록들의 데이터 소거작업을 순차적으로 진행하여 마지막 블록에 대한 소거작업까지 완료함으로써 플래시메모리에 저장 된 프로그램을 모두 소거한다. 프로그램 소거가 완료되면, 첫 번째 워드(word)에 대한 데이터 기입을 시작하여 순차적으로 다음 프로그램을 기입해 나감으로써 업데이트 프로그램을 이동통신단말기의 플래시메모리에 저장할 수 있다.
이와 같이, 데이터 소거/기입 시 각 작업이 순차적으로 수행됨으로, 이동통신단말기에 사용되는 플래시메모리의 용량이 증가할 수록 데이터를 소거/기입하는데 많은 시간이 소요되는 문제가 발생한다.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 플래시메모리의 다수개의 컨트롤러를 병렬로 제어함으로써 데이터를 기입/소거함에 있어서 대기시간을 최소화할 수 있도록 하는 플래시메모리 제어방법을 제공함에 그 목적이 있다.
전술한 목적을 달성하기 위한 본 발명에 따른 플래시메모리 제어방법은, 복수개의 컨트롤러를 구비하는 플래시메모리의 제어방법에 있어서, 상기 컨트롤러가 데이터 소거 동작중인지 여부를 확인하는 단계와; 상기 각 컨트롤러의 각 동작상태에 따라 데이터 소거동작을 개별적으로 제어하여 해당 메모리 영역의 데이터가 각각 소거되도록 제어하는 단계와; 상기 복수개의 컨트롤러의 상기 데이터 소거동작이 모두 완료되었는지 확인하는 단계와; 상기 모든 컨트롤러의 상기 데이터 소거동작이 완료된 경우 소거작업을 완료하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 복수개의 컨트롤러를 구비하는 플래시메모리의 제어방법에 있어서, 상기 컨트롤러가 데이터 기입 동작중인지 여부를 확인하는 단계와; 상기 각 컨트롤러의 각 동작상태에 따라 데이터 기입동작을 개별적으로 제어하여 해당 메모리 영역에 각기 데이터를 기입하도록 제어하는 단계와; 상기 복수개의 컨트롤러의 상기 데이터 기입동작이 모두 완료되었는지 확인하는 단계와; 상기 모든 컨트롤러의 상기 데이터 기입동작이 완료된 경우 기입작업을 완료하는 단계를 포함하는 것도 특징으로 한다.
이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 플래 시메모리 제어방법에 대해서 상세하게 설명한다.
도 2는 본 발명에 따른 플래시메모리 제어방법이 적용될 수 있는 시스템 구성을 예시한 것이다.
플래시메모리(10)는 호스트시스템(1)으로부터의 지시에 따라 데이터를 기입/독출/소거하는 복수개의 컨트롤러(14)를 포함한다. 각 컨트롤러(14)는 호스트시스템(1)의 명령에 따라, 상호 독립적으로 동작하여 각기 해당 메모리블록(16)에 데이터를 기입하거나 소거하는 등의 제어동작을 수행한다. 이러한 플래시메모리(10)의 구성은 이미 상품화되어 있는 MCP(Multi Chip Package)중 2개 이상의 플래시메모리 칩(chip, 또는 die)이 내장되어 있는 제품처럼 복수개의 플래시메모리 칩에 대해 복수개의 컨트롤러(14)를 구비하도록 하거나, 혹은, 하나의 플래시메모리 칩에 대해 복수개의 컨트롤러(14)로 구성될 수도 있다.
호스트시스템(1)은 이동통신단말기 업그레이드용 PC 등, 플래시메모리(10)에 데이터를 제공하는 시스템으로서 플래시메모리(10)의 각 컨트롤러(14)를 통해 각 메모리블록(16)에 데이터를 기입하거나 소거한다. 여기서, 호스트시스템(1)은 각 컨트롤러(14)의 개별적인 상태에 따라 그 동작상태를 각기 개별적으로 병렬제어하며, 이에, 플래시메모리(10)의 다수개의 메모리블록(16)에서는 각각 소거/기입 동작이 동시에 진행될 수 있다.
이는, 통상의 호스트시스템(1)의 동작속도가 플래시메모리(10)의 데이터 소거/기입 속도에 반해 우수하므로 가능해진다. 예컨대, 통상의 CPU 동작속도를 52MHz로 고려하면 CPU의 1클럭(clock)주기는 19ns라 할 수 있으며, 플래시메모리(10)와 호스트시스템(1) 간의 명령 인터페이스(JTAG 혹은 UART 등)는 보통 75ns, PC와의 데이터 전송속도를 920kbps로 잡으면 2byte 전송 시간은 2us이다. 이에 반해, 플래시메모리(10)에 1워드(word)를 기입하는데 걸리는 시간은 90us, 1블록의 데이터를 소거하는 데는 400ms 정도가 소요됨을 알 수 있다.
즉, 호스트시스템(1)의 처리 및 동작속도가 데이터의 소거 및 기입 속도에 반해 월등히 우수하므로, 플래시메모리(10) 내의 소정 컨트롤러(14)가 데이터를 소거/기입하는 동안 호스트시스템(1) 측에서 대기하지 아니하고, 바로 다른 컨트롤러(14)에 데이터의 소거/기입 명령을 전송하여 다른 메모리블록(16)에서도 소거/기입 동작이 동시에 진행될 수 있도록 하는 것이다.
이러한, 본 발명에 따른 플래시메모리 제어방법은 도 3의 흐름도와 같다.
먼저, N(n)블록에서부터 데이터 소거가 시작된다고 가정할 때, n=0, n_num=#ofcontroller-1 이라 정의하면, 해당 컨트롤러(14)의 상태는 "상태(n)=시작"이라 나타낼 수 있다(s30). 이에, 데이터 삭제가 시작되면 "N(n)=삭제시작 블록번호"로 표시할 수 있으며, N(n)블록에 대해 데이터 소거가 시작된다(상태(n)=소거)(S34).
해당 블록에서 데이터 소거작업이 진행되고 있는지 여부를 확인하고(S36), 소거작업이 진행 중인 경우 다음 컨트롤러(n=(n+1)%n_num)로 액세스하여(S38), 해당 컨트롤러의 상태를 확인한다(S40). 확인결과에 따라 데이터 소거작업이 진행되고 있지 아니한 경우에는 바로 해당 컨트롤러(14)에게 데이터 소거를 명령한다(S60). 이러한 S60단계의 데이터 소거 과정은 각 컨트롤러(14)에 대해 병 렬적으로 진행되어 컨트롤러(14)의 상태에 따라 데이터를 소거하도록 하거나 대기하도록 하는 등의 개별적인 제어가 가능하다.
이러한 과정에 따라, 해당 블록의 데이터 삭제가 완료되면, 다음 블록(N(n)=N(n+1))의 데이터 소거작업을 진행하여(S44), 모든 블록의 데이터를 소거한다(S46).
데이터 소거작업이 완료되면 컨트롤러n이 M번째 어드레스에서부터 데이터 기입을 시작되며, "M(n)=기입시작 어드레스"로 표시할 수 있다(S48).
M(n)어드레스 대해 데이터 기입이 시작되면(상태(n)=기입)(S50), 기입이 완료되었는지 여부를 확인하고(S52), 컨트롤러n의 기입작업이 진행 중인 경우 다음 컨트롤러(n=(n+1)%n_num)로 액세스하여(S38), 해당 컨트롤러의 상태를 확인한다(S40). 확인결과에 따라 데이터 소거작업이 진행되고 있지 아니한 경우에는 바로 해당 컨트롤러에게 데이터 기입을 명령한다(S62). 이러한 S62단계의 데이터 기입과정은 각각의 컨트롤러(14)에 대해 병렬적으로 진행되어 컨트롤러(14)의 상태에 따라 데이터를 기입하도록 제어할 수 있다.
이러한 과정에 따라, 해당 어드레스에 대한 데이터 기입이 완료되면 다음 어드레스(M(n)=M(n+1))의 데이터 기입작업을 진행하여(S54), 메모리용량이 초과하였는지 여부를 확인하여(S56), 플래시메모리(10)의 전체 저장 공간에 대한 데이터 기입작업이 완료된다("상태(n)=완료")(S58).
이상 설명한 바와 같이, 본 발명은 플래시메모리 내의 복수개의 컨트롤러가 각각의 동작 상태에 따라 해당 메모리영역에 각기 데이터를 기입하거나 소거하도록 병렬 제어함으로써, 플래시메모리의 용량이 커지더라도 컨트롤러들이 동시 동작하여 해당 영역에서 데이터를 기입/소거하므로 컨트롤러의 개수에 따라 데이터 기입/소거 시간을 확연히 단축시킬 수 있다.
이상, 본 발명에 따른 실시예는 상술한 것에 한정되지 아니하고, 본 발명과 관련하여 통상의 지식을 가진자에게 자명한 범위 내에서 다양하게 변형하여 실시할 수 있다.
이상에서 설명한 바와 같이 본 발명의 플래시메모리 제어방법은, 플래시메모리 내의 복수개의 컨트롤러가 각각의 동작 상태에 따라 해당 메모리영역에 각기 데이터를 기입하거나 소거하도록 병렬제어하고 있다.
이에 따라, 플래시메모리의 용량이 커지더라도 컨트롤러들이 동시 동작하여 해당 영역에서 데이터를 기입/소거하므로 컨트롤러의 개수에 따라 데이터 기입/소거 시간을 확연히 단축시킬 수 있다.

Claims (2)

  1. 복수개의 컨트롤러를 구비하는 플래시메모리의 제어방법에 있어서,
    상기 컨트롤러가 데이터 소거 동작중인지 여부를 확인하는 단계와;
    상기 각 컨트롤러의 각 동작상태에 따라 데이터 소거동작을 개별적으로 제어하여 해당 메모리 영역의 데이터가 각각 소거되도록 제어하는 단계와;
    상기 복수개의 컨트롤러의 상기 데이터 소거동작이 모두 완료되었는지 확인하는 단계와;
    상기 모든 컨트롤러의 상기 데이터 소거동작이 완료된 경우 소거작업을 완료하는 단계를 포함하는 것을 특징으로 하는 플래시메모리의 제어방법.
  2. 복수개의 컨트롤러를 구비하는 플래시메모리의 제어방법에 있어서,
    상기 컨트롤러가 데이터 기입 동작중인지 여부를 확인하는 단계와;
    상기 각 컨트롤러의 각 동작상태에 따라 데이터 기입동작을 개별적으로 제어하여 해당 메모리 영역에 각기 데이터를 기입하도록 제어하는 단계와;
    상기 복수개의 컨트롤러의 상기 데이터 기입동작이 모두 완료되었는지 확인하는 단계와;
    상기 모든 컨트롤러의 상기 데이터 기입동작이 완료된 경우 기입작업을 완료하는 단계를 포함하는 것을 특징으로 하는 플래시메모리의 제어방법.
KR1020040060879A 2004-08-02 2004-08-02 플래시메모리 제어방법 KR20060012139A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040060879A KR20060012139A (ko) 2004-08-02 2004-08-02 플래시메모리 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040060879A KR20060012139A (ko) 2004-08-02 2004-08-02 플래시메모리 제어방법

Publications (1)

Publication Number Publication Date
KR20060012139A true KR20060012139A (ko) 2006-02-07

Family

ID=37121929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040060879A KR20060012139A (ko) 2004-08-02 2004-08-02 플래시메모리 제어방법

Country Status (1)

Country Link
KR (1) KR20060012139A (ko)

Similar Documents

Publication Publication Date Title
JP5002201B2 (ja) メモリシステム
US7392343B2 (en) Memory card having a storage cell and method of controlling the same
EP0675502B1 (en) Multiple sector erase flash EEPROM system
US7290109B2 (en) Memory system and memory card
US6798696B2 (en) Method of controlling the operation of non-volatile semiconductor memory chips
JP3822081B2 (ja) データ書込装置、データ書込制御方法及びプログラム
JP4965106B2 (ja) 不揮発性メモリ装置及びそれの高速プログラム方法
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
US6944060B2 (en) Non-volatile storage device and control method thereof
EP2428962A2 (en) Nonvolatile memory system, and data read/write method for nonvolatile memory system
US7814264B2 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JPH10326493A (ja) 複合化フラッシュメモリ装置
JP4921174B2 (ja) フラッシュメモリのデータ書込み方法
US11488671B2 (en) Method, associated memory device and controller thereof for performing programming management
KR100669342B1 (ko) 낸드 플래시 메모리 장치의 프로그램 방법
JP2006107719A (ja) 不揮発性メモリ装置及びそれのプログラム方法
US8902665B2 (en) Solid state storage system for uniformly using memory area and method controlling the same
JP4594944B2 (ja) メモリ制御装置
KR20060012139A (ko) 플래시메모리 제어방법
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
JP4661748B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2004273117A (ja) 複合化フラッシュメモリを搭載した半導体装置及び携帯用機器
JP3793542B2 (ja) 半導体記憶装置
JP4661086B2 (ja) 不揮発性記憶装置および不揮発性メモリの消去方法と書込み方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination