KR100631770B1 - 플래시 메모리의 실시간 처리방법 - Google Patents

플래시 메모리의 실시간 처리방법 Download PDF

Info

Publication number
KR100631770B1
KR100631770B1 KR1019990037976A KR19990037976A KR100631770B1 KR 100631770 B1 KR100631770 B1 KR 100631770B1 KR 1019990037976 A KR1019990037976 A KR 1019990037976A KR 19990037976 A KR19990037976 A KR 19990037976A KR 100631770 B1 KR100631770 B1 KR 100631770B1
Authority
KR
South Korea
Prior art keywords
flash memory
bank
block
read
erase operation
Prior art date
Application number
KR1019990037976A
Other languages
English (en)
Other versions
KR20010026600A (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 KR1019990037976A priority Critical patent/KR100631770B1/ko
Priority to TW089101159A priority patent/TWI241589B/zh
Priority to US09/494,380 priority patent/US6412041B1/en
Priority to CNB00103605XA priority patent/CN1222951C/zh
Publication of KR20010026600A publication Critical patent/KR20010026600A/ko
Application granted granted Critical
Publication of KR100631770B1 publication Critical patent/KR100631770B1/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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/20Suspension of programming or erasing cells in an array in order to read other cells in it

Abstract

본 발명은 플래시 메모리의 실시간 처리방법에 관한 것으로,
본 발명은, 읽기/쓰기 동작을 수행하기 위해 플래시 메모리의 소정 블럭에 접근 요청이 들어오면, 플래시 메모리에 접근이 가능한가를 판단하는 제10단계(S10) ; 상기 제10단계(S10)에서 판단한 결과 플래시 메모리에 접근이 불가능하면, 현재 플래시 메모리에 지우기 동작을 수행중인가를 판단하여, 지우기 동작을 수행중이면 지우기 동작을 중단하는 제20단계(S20) ; 상기 제10단계(S10)에서 판단한 결과 플래시 메모리에 접근이 가능하거나 또는 상기 제20단계(S20)에서 플래시 메모리에 수행중인 지우기 동작이 중단되면, 플래시 메모리에 접근하여 읽기/쓰기 동작을 수행하는 제30단계(S30) ; 상기 제30단계(S30)가 완료되면 상기 제20단계(S20)에서 중단된 지우기 동작을 재개하는 제40단계(S40)로 제어되어,
플래시 메모리의 어느 한 블럭에 지우기 동작을 수행하는 중에 다른 블럭에 읽기/쓰기 동작을 위한 접근요청이 들어오면, 지우기 동작을 일단 중단하고 먼저 읽기/쓰기 동작을 수행한 다음 다시 지우기 동작을 재개하므로써, 접근지연 및 접근에러를 감소시켜 읽기/쓰기 동작을 실시간으로 처리한다는 데 그 효과가 있다.
플래시 메모리, 이중 뱅크, 디바이스 드라이버, 주소 재사상, 실시간 처리

Description

플래시 메모리의 실시간 처리방법{A real-time processing method of a flash-memory}
도 1 은 일반적인 단일 뱅크 플래시 메모리와 이중 뱅크 플래시 메모리의 구성을 도시한 도면,
도 2 는 일반적인 이중 뱅크 플래시 메모리의 동작을 설명하기 위한 동작 흐름도,
도 3 은 본 발명에 적용되는 일반적인 이중 뱅크 플래시 메모리와 그 주변 회로를 도시한 블럭도,
도 4 는 본 발명에 따른 플래시 메모리의 실시간 처리방법의 동작을 설명하기 위한 동작 흐름도이다.
본 발명은 플래시 메모리의 실시간 처리방법에 관한 것이다.
보다 상세하게는 플래시 메모리의 서로 다른 뱅크 뿐만 아니라 같은 뱅크에 대한 동시 접근을 효율적으로 지원하도록 되어진 플래시 메모리의 실시간 처리방법에 관한 것이다.
1980년대 초 인텔에 의해서 처음으로 개발된 플래시 메모리는 EPROM의 일종이지만 프로그램을 위한 하드웨어가 별도로 필요없으며, 소프트웨어로 데이타를 지우고 쓸 수 있다는 특성을 가지고 있다.
이같이 플래시 메모리는 비휘발성이면서 프로그램 가능하다는 특성 때문에 최근에 이동전화나 PDA 같은 이동기기를 비롯한 내장형 시스템에서 널리 사용되고 있다.
플래시 메모리는 뱅크 구성에 따라 단일 뱅크 플래시 메모리와 이중 뱅크 플래시 메모리로 구분하는데, 일반적으로 단일 뱅크 플래시 메모리는 동시에 두가지 연산을 수행할 수 없는 반면, 이중 뱅크 플래시 메모리는 한쪽 뱅크에 연산을 수행하면서 동시에 다른 뱅크에 연산을 수행할 수 있어 단일 뱅크 플래시 메모리보다 접근 에러 및 접근 시간을 감소시킬 수 있다.
여기서 응용 프로그램에서 쓰기 명령을 내렸는데도 플래시 메모리에 데이타가 기록되지 않을 경우 발생하는 에러를 접근 에러라고 한다.
또한, 접근 에러를 해결하기 위해서 같은 뱅크 내에 동시에 두개 이상의 접근이 이루어지지 않도록 접근 제어를 하다보면, 어느 한 블럭에 대한 지우기 동작이 끝날 때까지 다른 블럭에 있는 데이타를 읽기나 쓰기를 못하기 때문에 기다려야 하는 데 이를 접근 지연이라 한다.
도 1 은 일반적인 단일 뱅크 플래시 메모리와 이중 뱅크 플래시 메모리의 구성을 도시한 도면으로, 여기서 블럭은 한번에 삭제할 수 있는 단위인 삭제 블럭을 의미한다.
도 1(a)에 도시된 바와 같이 단일 뱅크 플래시 메모리는 플래시 메모리 패키지내에 여러개의 삭제 블럭이 있으며 뱅크의 구분이 없는 반면, 도 1(b)에 도시된 바와 같이 이중 뱅크 플래시 메모리는 여러개의 삭제 블럭들이 두개의 뱅크로 나뉘어져 있다.
상기 단일 뱅크 플래시 메모리는 한가지 연산이 완료되지 않은 상태에서는 그 연산이 수행되는 블럭 뿐만 아니라 다른 블럭에 대해서도 다른 연산을 수행할 수 없다.
예를 들어, 도 1(c) 에 도시된 바와 같이 단일 뱅크 플래시 메모리는 2번 블럭의 데이타를 지우고 있는 동안에는 7번 블럭에 데이타를 쓸 수 없다.
또한 상기 이중 뱅크 플래시 메모리는 한쪽 뱅크에 연산을 수행하면서 동시에 다른 뱅크에 연산을 수행할 수 있지만, 같은 뱅크에서는 동시에 두가지 연산을 수행할 수 없다.
예를 들어, 도 1(d)에 도시된 바와 같이 제 1 뱅크의 3번 블럭의 데이타를 지우는 동안에 제 2 뱅크의 5번 블럭에 데이타를 쓸 수 있는 반면에, 제 1 뱅크의 2번 블럭에는 데이타를 쓸 수 없다.
이에 따라, 이중 뱅크 플래시 메모리는 제 1 뱅크의 3번 블럭에 지우기 동작을 수행하는 동안에 제 2 뱅크의 제 5 블럭에 쓰기 동작을 수행할 수 있어, 접근 에러 및 접근 지연을 감소시킬 수 있다.
그러나, 상기 이중 뱅크 플래시 메모리는 제 1 뱅크의 3번 블럭에 지우기 동작을 수행하는 동안에 제 1 뱅크의 2번 블럭에 쓰기 동작을 수행할 수 없어, 지우기 동작이 완료된 후에야 비로서 쓰기 동작이 시작되기 때문에, 접근 지연 시간이 길어진다는 문제점이 있었다.
일반적으로 플래시 메모리는 읽기/쓰기 동작에 비해서 지우기 동작의 수행 속도가 떨어지는 바, 지우기 동작에 의해 접근 지연 시간이 길어진다.
예를 들어 도 1 (c)에서와 같이 이중 뱅크 플래시 메모리의 제 1 뱅크의 2번 블럭의 데이타를 갱신하기 위해 다음과 같은 단계을 거쳐야 한다.
도 2 는 일반적인 이중 뱅크 플래시 메모리의 동작을 설명하기 위한 동작 흐름도로서, 도 2 에 도시된 바와 같이 본 발명은 읽기/쓰기 동작을 수행하기 위해 이중 뱅크 플래시 메모리의 소정 블럭에 접근 요청이 들어오면(S1), 상기 접근하려는 블럭이 제 1 뱅크와 제 2 뱅크 중 어느 뱅크에 속하는지를 판별한 후(S2), 해당 뱅크에 접근이 가능한가 즉, 해당 뱅크에 현재 읽기/쓰기/지우기 동작이 수행중인가를 판단한다(S3).
이때 해당 뱅크에 읽기/쓰기/지우기 동작이 수행중이라서 접근이 불가능하면, 해당 뱅크에 현재 읽기/쓰기/지우기 동작이 완료되어 접근이 가능할 때까지 대기하였다가(S4), 해당 뱅크의 블럭에 접근하여 읽기/쓰기 동작을 수행한다(S5).
예컨데, 동일 뱅크내에서 한 블럭에 지우기 동작이 수행중이면 동일 블럭 또는 다른 블럭에 접근이 불가능하기 때문에, 먼저 2번 블럭에 있는 기존 데이타를 지우고 난 후 새로운 데이타를 기록하여야 한다.
이때 응용프로그램에서 플래시 메모리의 한개 블럭에 데이타를 기록하는데 약 1.5초의 시간이 요구된다면, 여러 블럭에 데이타를 기록하기 위해서는 {1.5초×지울 블럭의 갯수}만큼의 접근 시간 지연이 발생된다.
상기한 바와 같이 종래의 이중 뱅크 플래시 메모리는, 같은 뱅크내에서 한 블럭에 지우기 동작을 수행하는 동안에 동일 블럭 또는 다른 블럭에 읽기/쓰기 동작을 수행하는 경우, 상기 지우기 동작이 완료된 후에야 비로서 읽기/쓰기 동작이 시작되기 때문에, 접근 지연 시간이 길어진다는 문제점이 있었다.
이에 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 플래시 메모리의 서로 다른 뱅크 뿐만 아니라 같은 뱅크에 대한 동시 접근을 효율적으로 지원하도록 되어진 플래시 메모리의 실시간 처리방법에 관한 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 방법은
읽기/쓰기 동작을 수행하기 위해 플래시 메모리의 소정 블럭에 접근 요청이 들어오면, 플래시 메모리에 접근이 가능한가를 판단하는 제 10 단계 ;
상기 제 10 단계에서 판단한 결과 플래시 메모리에 접근이 불가능하면, 현재 플래시 메모리에 지우기 동작을 수행중인가를 판단하여, 지우기 동작을 수행중이면 지우기 동작을 중단하는 제 20 단계 ;
상기 제 10 단계에서 판단한 결과 플래시 메모리에 접근이 가능하거나 또는 상기 제 20 단계에서 플래시 메모리에 수행중인 지우기 동작이 중단되면, 플래시 메모리에 접근하여 읽기/쓰기 동작을 수행하는 제 30 단계 ;
상기 제 30 단계가 완료되면, 상기 제 20 단계에서 중단된 지우기 동작을 재개하는 제 40 단계로 제어된 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 기술하기로 한다.
도 4 는 본 발명에 따른 플래시 메모리의 실시간 처리방법의 일실시예를 도시한 흐름도이다.
도 4 에 도시된 바와 같이 본 발명에 따른 방법은, 읽기/쓰기 동작을 수행하기 위해 플래시 메모리의 소정 블럭에 접근 요청이 들어오면, 플래시 메모리에 접근이 가능한가를 판단하는 제 10 단계(S10) ; 상기 제 10 단계(S10)에서 판단한 결과 플래시 메모리에 접근이 불가능하면, 현재 플래시 메모리에 지우기 동작을 수행중인가를 판단하여, 지우기 동작을 수행중이면 지우기 동작을 중단하는 제 20 단계(S20) ; 상기 제 10 단계(S10)에서 판단한 결과 플래시 메모리에 접근이 가능하거나 또는 상기 제 20 단계(S20)에서 플래시 메모리에 수행중인 지우기 동작이 중단되면, 플래시 메모리에 접근하여 읽기/쓰기 동작을 수행하는 제 30 단계(S30) ; 상기 제 30 단계가 완료되면, 상기 제 20 단계(S20)에서 중단된 지우기 동작을 재개하는 제 40 단계(S40)로 제어된다.
여기서 상기 제 10 단계(S10)는, 읽기/쓰기 동작을 수행하기 위해 이중 뱅크 플래시 메모리의 소정 블럭에 접근 요청이 들어오는 제 11 단계(S11) ; 상기 접근 요청이 들어온 블럭이 제 1 뱅크와 제 2 뱅크 중 어느 뱅크에 속하는가를 판별하는 제 12 단계(S12) ; 해당 뱅크에 접근이 가능한가를 판단하는 제 13 단계(S13)로 제어된다.
또한 상기 제 20 단계(S20)는, 상기 제 13 단계(S13)에서 판단한 결과 해당 뱅크에 접근이 불가능하면, 현재 해당 뱅크에 지우기 동작을 수행중인가를 판단하는 제 21 단계(S21) ; 상기 제 21 단계(S21)에서 판단한 결과 현재 해당 뱅크에 지우기 동작을 수행중이면, 지우기 동작을 수행중인 블럭과 접근 요청이 들어온 블럭이 서로 일치하는가를 판단하는 제 22 단계(S22) ; 상기 제 22 단계(S22)에서 판단한 결과 지우기 동작을 수행중인 블럭과 접근 요청이 들어온 블럭이 서로 불일치하면, 현재 해당 뱅크에 수행중인 지우기 동작을 중단하는 제 23 단계(S23) ; 상기 제 21 단계(S21)에서 판단한 결과 현재 해당 뱅크에 지우기 동작을 비수행중이거나 또는 상기 제 22 단계(S22)에서 판단한 결과 지우기 동작을 수행중인 블럭과 접근 요청이 들어온 블럭이 서로 일치하면, 해당 뱅크에 접근 가능할 때까지 대기하는 제 24 단계(S24)로 제어된다.
또한 상기 제 30 단계(S30)는, 상기 제 13 단계(S13)에서 판단한 결과 해당 뱅크에 접근이 가능하거나 또는 상기 제 23 단계(S23)에서 해당 뱅크에 수행중인 지우기 동작을 중단하거나 또는 상기 제 24 단계(S24)에서 해당 뱅크에 접근이 가능해지면, 해당 뱅크에 접근하여 읽기/쓰기 동작을 수행한다.
또한 상기 제 40 단계(S40)는, 중단된 지우기 동작이 있는가를 판단하는 제 41 단계(S41) ; 상기 제 41 단계(S41)에서 판단한 결과 중단된 지우기 동작이 있으면 지우기 동작을 재개하는 제 42 단계(S42)로 제어된다.
본 발명에 따른 방법을 도 1 및 도 3 을 참조하여 살펴보면 다음과 같다.
도 3 은 본 발명이 적용되는 플래시 메모리와 그 주변 회로를 도시한 블럭도 로서, 도 3 에 도시된 바와 같이 중앙처리장치(40)는 상기 플래시 메모리(10)와 그 주변 회로(램,롬 : 20,30)의 전체적인 동작을 제어한다.
여기서 본 발명이 적용되는 이중 뱅크 플래시 메모리(10)는, 블럭의 논리적인 주소가 블럭의 물리적인 주소가 일치하는 고정 사상(mapping)을 사용한다.
따라서 블럭의 내용을 갱신하려면 상기 중앙처리장치(40)는 먼저 그 블럭이 속한 삭제 블럭의 내용을 램(20)에 백업한 뒤 삭제 블럭을 지우고, 상기 램(20)에 백업된 데이타 중에서 갱신되지 않은 데이타들과 갱신된 데이타를 해당 블럭에 재기록한다.
또한 본 발명에 따른 방법은 이중 뱅크 플래시 메모리(10)를 사용하여 뱅크 판별을 통한 접근 제어를 수행하는데, 두 뱅크를 구별하여 사용하므로써 응용 프로그램 수행시 접근 시간 지연이 발생하는 것을 방지할 수 있다.
이에 따라, 본 발명은 읽기/쓰기 동작을 수행하기 위해 이중 뱅크 플래시 메모리의 소정 블럭에 접근 요청이 들어오면(S11), 상기 중앙처리장치(40)는 상기 접근 요청이 들어온 블럭이 제 1 뱅크와 제 2 뱅크 중 어느 뱅크에 속하는지를 판별한 후(S12), 해당 뱅크에 접근이 가능한가 즉, 해당 뱅크에 현재 읽기/쓰기/지우기 동작이 수행중인가를 판단한다(S13).
이때 상기 제 13 단계(S13)에서 판단한 결과 현재 해당 뱅크에 읽기/쓰기/지우기 동작을 수행중이라서 해당 뱅크에 접근이 불가능하면, 현재 해당 뱅크에 진행중인 읽기/쓰기/지우기 동작이 완료되어 해당 뱅크에 접근이 가능할 때까지 대기하였다가(S24), 해당 뱅크의 블럭에 접근하여 읽기/쓰기 동작을 수행한다(S30).
즉, 이같은 접근 제어를 통하여 한 뱅크의 데이타를 지우는 동안에도 다른 뱅크에 데이타를 쓸 수 있기 때문에 접근 지연 및 접근 에러가 감소된다.
그러나 같은 뱅크내에서 어느 한 블럭에 지우기 동작을 수행하는 동안에 다른 블럭에 읽기/쓰기 동작을 수행하는 경우, 상기 지우기 동작이 완료된 후에야 비로서 읽기/쓰기 동작이 시작되기 때문에, 접근 지연 시간이 길어져 실시간 처리하기 어렵다.
이러한 문제점을 해결하기 위해서 본 발명에 따른 방법에는 도 4 에 도시된 바와 같이 제 21,23 단계(S21,23) 및 제 41,42 단계(S41,42)을 더 포함시켜 접근 지연을 감소시킨다.
이에 따라, 본 발명의 방법은 상기 제 13 단계(S13)에서 판단한 결과 현재 해당 뱅크에 읽기/쓰기/지우기 동작을 수행중이라서 해당 뱅크에 접근이 불가능하면, 현재 해당 뱅크에 지우기 동작을 수행중인가를 판단한다(S21).
상기 제 21 단계(S21)에서 판단한 결과 현재 해당 뱅크에 지우기 동작을 수행중이면 지우기 동작의 수행을 중단하고(S23), 현재 해당 뱅크에 읽기/쓰기 동작을 수행중이면 읽기/쓰기 동작의 수행이 완료될 때까지 즉, 해당 뱅크에 접근이 가능할 때까지 대기한다(S24).
이에 따라 해당 뱅크에 접근이 가능해지면, 즉 상기 제 13 단계(S13)에서 판단한 결과 해당 뱅크에 현재 읽기/쓰기/지우기 동작이 수행중이 아니거나 또는 상기 제 23 단계(S23)에서 해당 뱅크에 수행중인 지우기 동작이 중단되었거나 또는 제 24 단계(S24)에서 해당 뱅크에 수행중인 읽기/쓰기 동작이 완료되었으면, 해당 뱅크 의 블럭에 접근하여 읽기/쓰기 동작을 수행한다(S30).
해당 뱅크의 블럭에 접근하여 읽기/쓰기 동작을 수행되고 나면(S30), 중단된 지우기 동작이 있는가를 판단하여(S41), 중단된 지우기 동작이 있으면 지우기 동작을 재개하여 완료한다(S42).
이때, 상기 제 21 단계(S21)에서 판단한 결과, 현재 해당 뱅크에 지우기 동작을 수행중이 아니라 읽기/쓰기 동작을 수행중이면 읽기/쓰기 동작의 수행이 완료될 때까지 즉, 해당 뱅크의 접근이 가능할 때까지 대기하여야 하는데(S24), 이 대기 시간은 짧기 때문에 접근 지연에 큰 문제가 되지 않는다.
즉, 이같은 실시간 접근 제어를 통하여 같은 뱅크내에서 한 블럭에 지우기 동작을 수행하는 동안에 다른 블럭에 읽기/쓰기 동작을 위한 접근 요청이 들어오면, 상기 지우기 동작을 일단 중단하고 먼저 읽기/쓰기 동작을 수행한 다음 다시 지우기 동작을 재개하므로써, 접근 지연을 감소시켜 데이타의 읽기/쓰기 동작을 실시간으로 처리할 수 있다.
그러나 같은 뱅크내에서 한 블럭에 지우기 동작을 수행하는 동안에 동일 블럭에 읽기/쓰기 동작을 수행하는 경우 접근 에러가 발생할 수 있다.
예를들어 제 1 뱅크 의 3번 블럭을 지우는 도중에 동일 블럭에 데이타를 쓸 경우에는 일단 지우기 동작을 중단하고 쓰기 동작을 수행하고 지우기 동작을 수행하면 되지만, 지우기 동작이 중단된 동일 블럭에는 데이타를 쓸 수가 없기 때문에 데이타는 써지지 않게 되고 접근 에러가 발생하게 된다.
이러한 문제점을 해결하기 위해서 본 발명에 따른 방법에는 도 4 에 도시된 바와 같이 제 22 단계(S22)를 더 포함시켜 접근 에러를 감소시킨다.
이에 따라, 본 발명의 방법은 상기 제 21 단계(S21)에서 판단한 결과 현재 해당 뱅크에 지우기 동작을 수행중이면, 지우기 동작을 수행중인 블럭과 접근 요청이 들어온 블럭이 서로 일치하는가를 판단한다(S22).
상기 제 22 단계(S22)에서 판단한 결과 지우기 동작을 수행중인 블럭과 접근 요청이 들어온 블럭이 서로 불일치하면, 현재 해당 뱅크에 수행중인 지우기 동작을 중단한다(S23).
상기 제 21 단계(S21)에서 판단한 결과 현재 해당 뱅크에 읽기/쓰기 동작을 수행중이면 읽기/쓰기 동작의 수행이 완료될 때까지 즉 해당 뱅크에 접근이 가능할 때까지 대기하고, 상기 제 22 단계(S22)에서 판단한 결과 지우기 동작을 수행중인 블럭과 접근 요청이 들어온 블럭이 서로 일치하면 지우기 동작의 수행이 완료될 때까지 즉 해당 뱅크의 접근이 가능할 때까지 대기한다(S24).
이에 따라 해당 뱅크의 접근이 가능해지면, 즉 상기 제 13 단계(S13)에서 판단한 결과 해당 뱅크에 현재 읽기/쓰기/지우기 동작이 수행중이 아니거나 또는 상기 제 23 단계(S23)에서 해당 뱅크에 수행중인 지우기 동작이 중단되었거나 또는 제 24 단계(S24)에서 해당 뱅크에 수행중인 읽기/쓰기/지우기 동작이 완료되었으면, 해당 뱅크의 블럭에 접근하여 읽기/쓰기 동작을 수행한다(S30).
즉, 이같은 실시간 접근 제어를 통하여 현재 지우기 동작중인 해당 뱅크의 블럭이 접근하려는 해당 뱅크의 블럭과 일치하면 지우기 동작의 수행을 완료시킨 후, 해당 뱅크의 블럭에 접근하여 읽기/쓰기 동작을 수행하므로써, 접근 에러를 감소시 킨다.
이에 따라 본 발명의 방법은 같은 뱅크내에서 한 블럭에 지우기 동작을 수행하는 동안에 다른 블럭에 읽기/쓰기 동작을 위한 접근 요청이 들어오면 상기 지우기 동작을 일단 중단한 채 해당 뱅크의 블럭에 접근하여 읽기/쓰기 동작을 수행한 다음 다시 지우기 동작을 재개하므로써 접근 지연을 감소시키고, 같은 뱅크내에서 한 블럭에 지우기 동작을 수행하는 동안에 동일 블럭에 읽기/쓰기 동작을 위한 접근 요청이 들어오면 상기 지우기 동작을 완료한 후 해당 뱅크의 블럭에 접근하여 읽기/쓰기 동작을 수행하므로써 접근 에러를 감소시킨다.
이상에서 살표 본 바와 같이 본 발명의 방법은, 플래시 메모리의 어느 한 블럭에 지우기 동작을 수행하는 동안에 다른 블럭에 읽기/쓰기 동작을 위한 접근 요청이 들어오면, 상기 지우기 동작을 일단 중단하고 먼저 읽기/쓰기 동작을 수행한 다음 다시 지우기 동작을 재개하므로써, 접근 지연 및 접근 에러를 감소시켜 데이타의 읽기/쓰기 동작을 실시간으로 처리한다는 데 그 효과가 있다.

Claims (5)

  1. 읽기/쓰기 동작을 수행하기 위해 플래시 메모리의 소정 블록에 접근 요청이 들어오면, 상기 접근 요청이 들어온 뱅크를 판별하는 단계;
    상기 판별된 뱅크에 접근이 가능한가를 판단하는 단계;
    상기 판별된 뱅크에 접근이 불가능한 것으로 판단되면, 상기 판별된 뱅크에 지우기 연산이 수행중인가를 판단하는 단계;
    상기 판별된 뱅크에 지우기 동작이 수행중이면, 상기 지우기 동작이 수행중인 블록과 상기 접근 요청이 들어온 블록이 일치하는가를 판단하는 단계; 및
    상기 지우기 동작이 수행중인 블록 및 상기 접근 요청이 들어온 블록이 일치하면, 상기 지우기 동작이 완료될때까지 대기한 후 상기 읽기/쓰기 동작을 수행하는 단계를 포함하는 플래시 메모리의 실시간 처리 방법.
  2. 제 1 항에 있어서,
    상기 접근 요청이 들어온 뱅크를 판별하는 단계는,
    상기 읽기/쓰기 동작을 수행하기 위해 이중 뱅크 플래시 메모리의 소정 블록에 접근 요청이 들어오는 단계; 및
    상기 접근 요청이 들어온 블록이 제 1뱅크, 및 제 2뱅크 중 어느 뱅크에 속하는가를 판별하는 단계를 포함하는 플래시 메모리의 실시간 처리방법.
  3. 제 1 항에 있어서,
    상기 지우기 동작이 수행중인 블록, 및 상기 접근 요청이 들어온 블록이 불일치하면, 상기 판별된 뱅크에 수행중인 지우기 동작을 중지하는 단계;
    상기 지우기 동작이 중지된 후, 상기 읽기/쓰기 동작을 수행하는 단계; 및
    상기 읽기/쓰기 동작 수행 완료 후, 상기 중지된 지우기 동작을 재개하는 단계를 더 포함하는 플래시 메모리의 실시간 처리방법.
  4. 삭제
  5. 삭제
KR1019990037976A 1999-09-07 1999-09-07 플래시 메모리의 실시간 처리방법 KR100631770B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019990037976A KR100631770B1 (ko) 1999-09-07 1999-09-07 플래시 메모리의 실시간 처리방법
TW089101159A TWI241589B (en) 1999-09-07 2000-01-25 Real time processing method of a flash memory
US09/494,380 US6412041B1 (en) 1999-09-07 2000-01-31 Real time processing method of a flash memory
CNB00103605XA CN1222951C (zh) 1999-09-07 2000-02-28 闪速存储器的实时处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990037976A KR100631770B1 (ko) 1999-09-07 1999-09-07 플래시 메모리의 실시간 처리방법

Publications (2)

Publication Number Publication Date
KR20010026600A KR20010026600A (ko) 2001-04-06
KR100631770B1 true KR100631770B1 (ko) 2006-10-09

Family

ID=37013990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990037976A KR100631770B1 (ko) 1999-09-07 1999-09-07 플래시 메모리의 실시간 처리방법

Country Status (4)

Country Link
US (1) US6412041B1 (ko)
KR (1) KR100631770B1 (ko)
CN (1) CN1222951C (ko)
TW (1) TWI241589B (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2824414B1 (fr) * 2001-05-07 2003-12-12 Sagem Procede de gestion d'operations d'effacement dans des memoires de telephone mobile
US7110301B2 (en) * 2004-05-07 2006-09-19 Samsung Electronics Co., Ltd. Non-volatile semiconductor memory device and multi-block erase method thereof
US7571275B2 (en) * 2005-08-31 2009-08-04 Hamilton Sundstrand Corporation Flash real-time operating system for small embedded applications
JP4250162B2 (ja) * 2005-09-16 2009-04-08 シャープ株式会社 データ処理装置
CN102237136B (zh) * 2010-04-26 2014-05-14 旺宏电子股份有限公司 使用在一存储装置的存储子单元抹除方法
US8364888B2 (en) * 2011-02-03 2013-01-29 Stec, Inc. Erase-suspend system and method
KR101903095B1 (ko) 2011-11-21 2018-10-02 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법
CN102662608B (zh) 2012-03-30 2015-11-25 华为技术有限公司 一种降低读延时的方法及装置
CN102789403B (zh) * 2012-07-11 2015-08-12 忆正科技(武汉)有限公司 一种闪存控制器及其控制方法
KR102083490B1 (ko) * 2012-08-08 2020-03-03 삼성전자 주식회사 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 커맨드 실행 제어 방법
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US9679658B2 (en) * 2015-06-26 2017-06-13 Intel Corporation Method and apparatus for reducing read latency for a block erasable non-volatile memory
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US20170068467A1 (en) * 2015-09-04 2017-03-09 HGST Netherlands B.V. Wear management for flash memory devices
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355464A (en) * 1991-02-11 1994-10-11 Intel Corporation Circuitry and method for suspending the automated erasure of a non-volatile semiconductor memory
US5805501A (en) * 1996-05-22 1998-09-08 Macronix International Co., Ltd. Flash memory device with multiple checkpoint erase suspend logic
US5822244A (en) * 1997-09-24 1998-10-13 Motorola, Inc. Method and apparatus for suspending a program/erase operation in a flash memory
KR19990057219A (ko) * 1997-12-29 1999-07-15 윤종용 노어형 플래시 메모리 장치의 소거 방법
US5940861A (en) * 1996-09-20 1999-08-17 Intel Corporation Method and apparatus for preempting operations in a nonvolatile memory in order to read code from the nonvolatile memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509134A (en) * 1993-06-30 1996-04-16 Intel Corporation Method and apparatus for execution of operations in a flash memory array
GB2317722B (en) * 1996-09-30 2001-07-18 Nokia Mobile Phones Ltd Memory device
US6151657A (en) * 1996-10-28 2000-11-21 Macronix International Co., Ltd. Processor with embedded in-circuit programming structures
US6189070B1 (en) * 1997-08-28 2001-02-13 Intel Corporation Apparatus and method for suspending operation to read code in a nonvolatile writable semiconductor memory
US6260103B1 (en) * 1998-01-05 2001-07-10 Intel Corporation Read-while-write memory including fewer verify sense amplifiers than read sense amplifiers
KR100290474B1 (ko) * 1998-06-11 2001-06-01 박종섭 다단계 펄스 발생 회로 및 이를 이용한 플래쉬 메모리 셀의소거 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355464A (en) * 1991-02-11 1994-10-11 Intel Corporation Circuitry and method for suspending the automated erasure of a non-volatile semiconductor memory
US5805501A (en) * 1996-05-22 1998-09-08 Macronix International Co., Ltd. Flash memory device with multiple checkpoint erase suspend logic
US5940861A (en) * 1996-09-20 1999-08-17 Intel Corporation Method and apparatus for preempting operations in a nonvolatile memory in order to read code from the nonvolatile memory
US5822244A (en) * 1997-09-24 1998-10-13 Motorola, Inc. Method and apparatus for suspending a program/erase operation in a flash memory
KR19990057219A (ko) * 1997-12-29 1999-07-15 윤종용 노어형 플래시 메모리 장치의 소거 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
05822244

Also Published As

Publication number Publication date
US6412041B1 (en) 2002-06-25
KR20010026600A (ko) 2001-04-06
CN1287361A (zh) 2001-03-14
CN1222951C (zh) 2005-10-12
TWI241589B (en) 2005-10-11

Similar Documents

Publication Publication Date Title
KR100631770B1 (ko) 플래시 메모리의 실시간 처리방법
US6201739B1 (en) Nonvolatile writeable memory with preemption pin
JP4317604B2 (ja) フラッシュメモリにおける書込み/消去機能を拡張するためのデータプロセシングシステム、不揮発性メモリ、および方法
US20050182893A1 (en) Controller for controlling nonvolatile memory
KR101165429B1 (ko) 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템
KR100415371B1 (ko) 컴퓨터
WO1997023829A1 (en) Memory manager allowing flash memory to supplement main memory
US20040003167A1 (en) Microcomputer
US6189070B1 (en) Apparatus and method for suspending operation to read code in a nonvolatile writable semiconductor memory
KR19980042796A (ko) 플래쉬 eeprom 을 구비하는 마이크로컴퓨터및 플래쉬 eeprom 의 소거방법
US6931498B2 (en) Status register architecture for flexible read-while-write device
US20010028353A1 (en) Method and system for buffer management
JP3351398B2 (ja) データ通信装置
KR970066888A (ko) 불 휘발성 메모리를 사용한 마이크로컴퓨터
JPH06275084A (ja) 不揮発性半導体記憶装置及びそれを用いたデータ処理装置
EP0287600B1 (en) Method and device to execute two instruction sequences in an order determined in advance
IE61306B1 (en) Method and device to execute two instruction sequences in an order determined in advance
JP3956305B2 (ja) 不揮発性半導体記憶装置およびデータ処理装置
JPH09146767A (ja) プログラム書き換え方法
JPH0869376A (ja) Biosの書き換え制御回路
US20180373651A1 (en) Semiconductor device and flash-memory control method
US20050262291A1 (en) Method to write in a non-volatile memory and system to implement such method
JPH06162786A (ja) フラッシュメモリを用いた情報処理装置
CN110806836B (zh) 数据处理系统与数据处理方法
JPH08185354A (ja) メモリ管理装置

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
LAPS Lapse due to unpaid annual fee