KR100746036B1 - 플래시 메모리를 제어하는 장치 및 방법 - Google Patents

플래시 메모리를 제어하는 장치 및 방법 Download PDF

Info

Publication number
KR100746036B1
KR100746036B1 KR1020060017771A KR20060017771A KR100746036B1 KR 100746036 B1 KR100746036 B1 KR 100746036B1 KR 1020060017771 A KR1020060017771 A KR 1020060017771A KR 20060017771 A KR20060017771 A KR 20060017771A KR 100746036 B1 KR100746036 B1 KR 100746036B1
Authority
KR
South Korea
Prior art keywords
flash memory
control information
memory
control
code
Prior art date
Application number
KR1020060017771A
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 KR1020060017771A priority Critical patent/KR100746036B1/ko
Priority to US11/656,535 priority patent/US7809878B2/en
Priority to CN2007100791421A priority patent/CN101025711B/zh
Priority to EP07102842A priority patent/EP1843357A3/en
Priority to JP2007040389A priority patent/JP2007226798A/ja
Application granted granted Critical
Publication of KR100746036B1 publication Critical patent/KR100746036B1/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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers

Abstract

본 발명은 플래시 메모리를 제어하는 장치 및 방법에 관한 것으로서, 소정의 휘발성 메모리에 저장된 플래시 메모리의 제어 정보를 플래시 메모리의 종류가 변할 때마다 갱신시키고 갱신된 제어 정보를 이용하여 변경된 플래시 메모리를 제어하는 플래시 메모리를 제어하는 장치 및 방법에 관한 것이다.
본 발명의 실시예에 따른 플래시 메모리를 제어하는 장치는 자신의 제어 정보를 저장하는 플래시 메모리와, 상기 플래시 메모리를 제어하기 위한 프로그래밍 코드를 저장하는 제 1 메모리와, 상기 프로그래밍 코드에 상기 제어 정보를 대입함으로써 상기 플래시 메모리를 제어하기 위한 제어 코드를 생성하는 제어부 및 상기 제어 코드를 송신하는 송수신부를 포함한다.
OTP 메모리(One-Time-Programmable Memory), 플래시 메모리, 제어 정보

Description

플래시 메모리를 제어하는 장치 및 방법{Apparatus and method for controlling flash memory}
도 1은 종래의 플래시 메모리 제어 시스템을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 플래시 메모리를 제어하는 장치를 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 제어 정보가 저장된 플래시 메모리를 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 제어 정보가 플래시 메모리로 전달되는 것을 나타낸 개념도이다.
도 5는 본 발명의 실시예에 따른 제어 정보가 제 2 메모리에 저장되는 것을 나타낸 개념도이다.
도 6은 본 발명의 일 실시예에 따라 플래시 메모리가 제어되는 과정을 나타낸 흐름도이다.
<도면의 주요 부분에 관한 부호의 설명>
200 : 플래시 메모리 제어부 210 : 제어 정보 수신부
220 : 제어부 230 : 상태 확인부
240 : 제 1 메모리 250 : 제 2 메모리
260 : 송수신부 300 : 플래시 메모리
본 발명은 플래시 메모리를 제어하는 장치 및 방법에 관한 것으로서, 더욱 상세하게는 소정의 휘발성 메모리에 저장된 플래시 메모리의 제어 정보를 플래시 메모리의 종류가 변할 때마다 갱신시키고 갱신된 제어 정보를 이용하여 변경된 플래시 메모리를 제어하는 플래시 메모리를 제어하는 장치 및 방법에 관한 것이다.
플래시 메모리는 지속적으로 전원이 공급되는 비휘발성 메모리로서 블록 단위로 내용을 지울 수 있고, 다시 프로그램 할 수도 있다. 플래시 메모리는 EEPROM(Electrically Erasable Programmable Read-Only Memory)의 변형 중 하나인데, 바이트 레벨에서 지울 수도 있고 수정할 수도 있는 EEPROM과는 달리 블록 단위로 수정되기 때문에 속도가 빠르다. 플래시 메모리는 종종 PC(Personal Computer)의 바이오스(BIOS)와 같은 제어 코드를 저장하는데 사용된다. 바이오스를 수정해야 할 필요가 있을 때, 플래시 메모리는 바이트 단위가 아닌 블록 단위로 기록되므로 수정이 쉽다. 한편, 플래시 메모리가 일반 램처럼 유용하지는 못한 이유는, 램이 블록이 아닌 바이트 단위의 주소 지정이 가능해야 하기 때문이다.
플래시 메모리는 메모리 셀들의 한 부분이 섬광(flash)처럼 단 한번의 동작으로 지워질 수 있도록 마이크로 칩이 조직화되었기 때문에 이런 이름을 얻었다. 삭제는 Fowler-Nordheim 터널 효과에 의해 일어나는데, 전자들이 얇은 유전체 물질 을 관통하여 각 메모리 셀과 결합되어 있는 부유 게이트로부터 전하를 제거한다.
플래시 메모리는 DRAM과 같이 단순히 기억 장치와 리프레시(refresh) 회로, 오류 정정 회로 정도만을 갖는 수동적인 디바이스가 아니고 프로그래머의 명령을 받아서 이를 수행해주는 능동적인 디바이스이다. 명령은 CUI(Command User Interface)를 통하여 이루어지고 시스템의 전체 상태는 WSM(Write State Machine)이 관리한다. 제공되는 명령의 종류에는 읽기 명령, 쓰기 명령 및 기타 제어 명령이 있다.
도 1은 종래의 플래시 메모리 제어 시스템을 나타낸 도면으로서, 플래시 메모리 제어 시스템은 플래시 메모리 컨트롤러(10) 및 플래시 메모리(20)를 포함하여 구성된다.
여기서, 플래시 메모리 컨트롤러(10)는 코어 프로세서(11), OTP 메모리(One-Time-Programmable Memory)(12), 상태 확인부(13) 및 제어 코드 송신부(14)를 포함하여 구성된다.
OTP 메모리(12)는 플래시 메모리(20)를 제어하기 위한 제어 코드를 저장하는 역할을 한다. 제어 코드에는 읽기 제어 코드, 쓰기 제어코드, 리셋 제어 코드 및 블록 로킹(Block Locking) 제어 코드 등이 포함된다.
상태 확인부(13)는 플래시 메모리(20)의 상태를 확인하는 역할을 한다. 즉, 플래시 메모리(20)가 지금 동작 중인지 대기 중인지를 확인하는 것이다.
제어 코드 송신부(14)는 OTP 메모리(12)에 저장된 제어 코드를 플래시 메모리(20)로 송신하는 역할을 한다.
코어 프로세서(11)는 상태 확인부(13)에 의하여 확인된 플래시 메모리(20)의 상태를 참조하여 OTP 메모리(12)에서 제어 코드를 추출하여 제어 코드 송신부(14)로 하여금 추출된 제어 코드를 송신하게 한다. 그리고, 코어 프로세서(11)는 OTP 메모리(12), 상태 확인부(13) 및 제어 코드 송신부(14)에 대한 전반적인 제어를 수행한다.
여기서, 특정 플래시 메모리에 대한 제어 코드만을 저장하고 있으므로 플래시 메모리의 종류가 바뀔 경우 플래시 메모리 컨트롤러(10)는 새로운 플래시 메모리를 제어할 수 없게 된다.
따라서, 서로 다른 제어 정보를 가지고 있는 플래시 메모리를 제어하기 위해서는 대응하는 제어 코드를 저장하고 있는 OTP 메모리가 구비된 별도의 플래시 메모리 컨트롤러가 필요하며, 이에 따른 비용의 손실이 발생한다.
미국 공개 특허 2005-182893호는 메모리 요구에 응답하여 비휘발성 메모리 및 휘발성 메모리의 액세스를 제어하고, 휘발성 메모리에 저장된 데이터의 어드레스 정보를 저장하는 메모리를 포함하는 메모리 컨트롤러와, 낸드 플래시 메모리와, 낸드 플래시 메모리의 데이터를 저장하는 램 등으로 구성되어 있는 메모리 시스템을 개시하고 있다.
그러나, 이는 램에 낸드 플래시 메모리의 데이터를 저장하기 위하여는 별도의 작업을 수행하여야 하는 불편함이 존재한다. 예를 들어, 서로 다른 플래시 메모리를 순차적으로 제어하기 위하여 사용자는 플래시 메모리를 교체할 때마다 램에 새로운 낸드 플래시 메모리의 데이터를 저장하여야 하는 것이다.
따라서, 서로 다른 플래시 메모리에 대한 제어를 간편하게 수행할 수 있게 하는 발명의 등장이 요구된다.
본 발명은 소정의 휘발성 메모리에 저장된 플래시 메모리의 제어 정보를 플래시 메모리의 종류가 변할 때마다 갱신시키고 갱신된 제어 정보를 이용하여 변경된 플래시 메모리를 제어하는데 그 목적이 있다.
또한, 본 발명은 제어 정보를 저장하고 있는 플래시 메모리로부터 제어 정보를 추출하고, 추출된 제어 정보를 이용하여 플래시 메모리를 제어할 수 있게 하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 플래시 메모리를 제어하는 장치는 자신의 제어 정보를 저장하는 플래시 메모리와, 상기 플래시 메모리를 제어하기 위한 프로그래밍 코드를 저장하는 제 1 메모리와, 상기 프로그래밍 코드에 상기 제어 정보를 대입함으로써 상기 플래시 메모리를 제어하기 위한 제어 코드를 생성하는 제어부 및 상기 제어 코드를 송신하는 송수신부를 포함한다.
본 발명의 실시예에 따른 플래시 메모리를 제어하는 방법은 (a) 플래시 메모리로부터 제어 정보를 수신하는 단계와, (b) 소정의 프로그래밍 코드에 상기 제어 정보를 대입함으로써 상기 플래시 메모리를 제어하기 위한 제어 코드를 생성하는 단계 및 (c) 상기 제어 코드를 송신하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 2는 본 발명의 실시예에 따른 플래시 메모리를 제어하는 장치를 나타낸 블록도로서, 플래시 메모리를 제어하는 장치(이하, 플래시 메모리 제어 장치라 한다)(100)는 플래시 메모리 제어부(200) 및 플래시 메모리(300)를 포함하여 구성되고, 플래시 메모리 제어부(200)는 제어 정보 수신부(210), 제어부(220), 상태 확인부(230), 제 1 메모리(240) 및 제 2 메모리(250), 송수신부(260)를 포함하여 구성된다.
플래시 메모리(300)는 자신의 제어 정보를 저장하는 역할을 한다. 플래시 메 모리(300)는 지속적으로 전원이 공급되는 비휘발성 메모리로서 블록 단위로 내용을 지울 수 있고, 다시 프로그램 할 수도 있는데 여기서, 제어 정보는 플래시 메모리(300)를 제어하기 위하여 필요한 정보로서 다이(die)의 개수, 다이 별 플레인(plane)의 개수, 블록(block)의 개수, 페이지(page)의 크기, 블록 별 상기 페이지의 개수, 페이지 별 섹터의 개수, 배드 마크(bad mark)의 위치, 캐시 오퍼레이션(cache operation)의 지원 여부 및 카피 백 오퍼레이션(copy back operation)의 지원 여부 중 적어도 하나를 포함한다.
예를 들어, 플래시 메모리(300)의 데이터를 읽는 작업, 플래시 메모리(300)에 데이터를 쓰는 작업, 플래시 메모리(300)의 데이터를 지우는 작업, 플래시 메모리(300)의 리셋 및 블록의 로킹 작업 등을 위한 정보가 제어 정보에 포함되어 있는 것이다.
여기서 블록의 로킹이란, 플래시 메모리(300)에 데이터를 쓰거나 플래시 메모리(300)의 데이터를 삭제하는 경우 소요되는 시간 동안 저장된 데이터가 읽혀지거나 다른 명령이 수행되지 못하도록 블록의 접근을 제한하는 것을 의미한다.
제 1 메모리(240)는 플래시 메모리(300)를 제어하기 위한 프로그래밍 코드를 저장하는 역할을 한다. 프로그래밍 코드는 플래시 메모리(300)에 대한 읽기, 쓰기 및 기타 제어를 위한 코드로서, 특정 플래시 메모리에만 한정되어 사용되지 않고 모든 플래시 메모리에 적용되기 위하여 플래시 메모리의 고유 정보는 포함되어 있지 않을 수 있다.
또한, 제 1 메모리(240)는 사용자에 의하여 임의로 선택된 특정 플래시 메모 리에 대한 제어 정보를 저장할 수도 있다. 예를 들어, 사용자는 자신이 주로 작업하는 특정한 하나의 플래시 메모리에 대한 제어 정보를 제 1 메모리(240)에 저장시킴으로써 플래시 메모리에 저장된 제어 정보가 제 2 메모리(250)에 저장되는 과정이 생략되도록 할 수 있는 것이다. 여기서, 제 1 메모리(240)는 복수 개의 특정 플래시 메모리에 대한 제어 정보를 저장할 수도 있다.
제 1 메모리(240)는 비휘발성 메모리인 것이 바람직한데, 비용 절감을 위하여 OTP(One-Time Programmable) 메모리인 것이 더욱 바람직하다. 이에 따라, 제 1 메모리(240)에 저장된 프로그래밍 코드 및 특정 플래시 메모리의 제어 정보는 일단 저장되면 갱신되지 못할 수도 있다.
제 2 메모리(250)는 플래시 메모리(300)의 제어 정보를 임시 저장하는 역할을 한다. 여기서, 플래시 메모리(300)의 제어 정보는 플래시 메모리(300)로부터 수신한 것일 수도 있고, 별도로 입력된 것일 수도 있다. 예를 들어, 플래시 메모리(300)를 제어하기 위하여 플래시 메모리(300)에 저장된 제어 정보가 수신되고 이것이 제 2 메모리(250)에 임시로 저장될 수도 있고, 플래시 메모리(300)를 갱신하기 위하여 입력된 제어 정보가 플래시 메모리(300)로 송신되기 전에 임시로 저장될 수도 있는 것이다.
제어부(220)는 프로그래밍 코드에 제어 정보를 대입함으로써 플래시 메모리(300)를 제어하기 위한 제어 코드를 생성하는 역할을 한다. 여기서, 제어 정보는 제 1 메모리(240)에 저장된 것일 수도 있고 제 2 메모리(250)에 저장된 것일 수도 있으며, 플래시 메모리(300)로부터 직접 추출된 것일 수도 있다.
예를 들어, 제 2 메모리(250)가 구비되어 있지 않은 경우 제어부(220)는 플래시 메모리(300)에 저장된 제어 정보와 제 1 메모리(240)에 저장된 제어 정보를 비교하여 그 결과, 둘이 동일하면 제 1 메모리(240)에 저장된 제어 정보를 프로그래밍 코드에 대입하여 제어 코드를 생성하고, 둘이 동일하지 않으면 플래시 메모리(300)로부터 추출한 제어 정보를 프로그래밍 코드에 대입하여 제어 코드를 생성한다.
한편, 제 2 메모리(250)가 구비되어 있는 경우 제어부(220)는 플래시 메모리(300)에 저장된 제어 정보와 제 1 메모리(240)에 저장된 제어 정보를 비교하여 그 결과, 둘이 동일하면 제 1 메모리(240)에 저장된 제어 정보를 프로그래밍 코드에 대입하여 제어 코드를 생성하고, 둘이 동일하지 않으면 플래시 메모리(300)로부터 추출한 제어 정보를 제 2 메모리(250)에 저장한 후에 제 2 메모리(250)에 저장된 제어 정보를 프로그래밍 코드에 대입하여 제어 코드를 생성한다.
또한, 제어부(220)는 제어 정보 수신부(210), 상태 확인부(230), 제 1 메모리(240), 제 2 메모리(250), 송수신부(260), 플래시 메모리(300) 및 플래시 메모리 제어 장치(100)의 전반적인 제어를 수행한다.
송수신부(260)는 제어부(220)에서 생성된 제어 코드를 플래시 메모리(300)로 송신하는 역할을 한다. 또한, 송수신부(260)는 플래시 메모리(300)에 저장된 제어 정보를 제 2 메모리(250)에 저장하기 위하여 플래시 메모리(300)의 제어 정보를 수신하는 역할도 수행하고, 플래시 메모리(300)를 갱신하기 위한 갱신된 제어 정보를 플래시 메모리(300)로 송신하는 역할도 수행한다.
제어 정보 수신부(210)는 플래시 메모리(300)를 갱신하기 위한 새로운 제어 정보를 수신하는 역할을 한다. 수신된 제어 정보는 송수신부(260)를 통하여 직접 플래시 메모리(300)로 전달될 수 있고, 제 2 메모리(250)에 임시로 저장된 후에 플래시 메모리(300)로 전달될 수도 있다. 플래시 메모리(300)가 갱신되면 갱신된 플래시 메모리(300)는 새로운 제어 정보를 저장하게 되는데, 이후 갱신된 플래시 메모리(300)가 제어되는 경우 새로운 제어 정보에 대응하는 제어 코드가 제어부(220)에 의하여 생성되어 갱신된 플래시 메모리(300)로 전달된다.
상태 확인부(230)는 플래시 메모리(300)의 상태를 확인한다. 즉, 플래시 메모리(300)가 현재 읽기 작업 중인지, 쓰기 작업 중인지 또는 기타 제어 작업 중인지를 확인하는 것으로서, 제어부(220)는 상태 확인부(230)에 의하여 확인된 플래시 메모리(300)의 상태를 참조하여 플래시 메모리(300)로의 제어 코드 송신 여부를 결정한다.
도 3은 본 발명의 실시예에 따른 제어 정보가 저장된 플래시 메모리를 나타낸 도면이다.
플래시 메모리(300)는 대 블록 플래시 메모리(Large Block Flash Memory)(310)와 소 블록 플래시 메모리(Small Block Flash Memory)(320)로 구분될 수 있는데 이에 따라, 각 블록에 포함된 섹터의 배치가 달라질 수 있다. 즉, 대 블록 플래시 메모리(310)의 경우 하나의 페이지에 복수 개의 섹터가 존재하는 반면, 소 블록 플래시 메모리(320)의 경우 하나의 페이지에 하나의 섹터가 존재하는 것이다.
따라서, 플래시 메모리(300)의 제어 정보는 첫 번째 블록(311, 321)의 첫 번째 페이지(312, 322) 중 첫 번째 섹터(313, 323)에 저장되는 것이 바람직하다. 왜냐하면, 플래시 메모리(300)의 제어 정보가 임의의 위치에 저장되어 있는 경우 플래시 메모리(300)의 제어 정보를 모르는 플래시 메모리 제어부(200)는 그 제어 정보를 추출하기 위한 제어 코드를 송신하지 못하기 때문이다.
또한, 제어 정보는 사용자에 의하여 설정된 임의의 위치에 저장될 수도 있는데 이 때, 플래시 메모리 제어부(200)는 모든 플래시 메모리에 대하여 사용자에 의하여 설정된 위치에서 제어 정보를 추출할 수 있다.
그리고, 제어 정보를 저장하고 있는 플래시 메모리(300)는 기타 데이터를 저장함에 있어서 제어 정보가 저장되어 있는 영역을 제외한 영역만을 이용하여 기타 데이터를 저장하고 갱신할 수 있다.
도 4는 본 발명의 실시예에 따른 제어 정보가 플래시 메모리로 전달되는 것을 나타낸 개념도이다.
플래시 메모리(300)를 제작함에 있어서, 사용자는 플래시 메모리(300)에 제어 정보(430)를 삽입할 수 있다. 이 때, 플래시 메모리 제어부(200)를 이용하여 제어 정보(430)를 삽입할 수 있는데, 플래시 메모리 제어부(200)의 제어 정보 수신부(210)는 제어 정보(420)를 수신하고, 수신된 제어 정보(420)는 제 2 메모리(250)에 임시 저장되며, 임시 저장된 제어 정보(420)는 송수신부(260)를 통하여 플래시 메모리(300)로 송신된다.
이 때, 제어 정보(420)는 도 3을 통하여 전술한 바와 같이 첫 번째 블록 (311, 321)의 첫 번째 페이지(312, 322) 중 첫 번째 섹터(313, 323)에 저장될 수 있고, 사용자에 의하여 설정된 별도의 위치에 저장될 수도 있다.
플래시 메모리 제어부(200)는 특정 플래시 메모리뿐만 아니라 모든 플래시 메모리에 대한 제어 정보 삽입을 수행할 수도 있는데 이에 따라, 송수신부(260)와 플래시 메모리(300)가 연결되는 결합 수단으로는 플래시 메모리(300)의 결합 및 결합 해제가 용이한 것이 바람직하다. 그리고, 플래시 메모리 제어부(200)는 결합된 플래시 메모리(300)에 대응하는 제어 정보(420)를 사용자로부터 수신하여 플래시 메모리(300)에 삽입한다.
한편, 플래시 메모리 제어부(200)는 결합된 플래시 메모리(300)가 사용자에 의하여 임의로 선택된 특정 플래시 메모리인 경우 제 1 메모리(240)에 저장하고 있는 특정 플래시 메모리의 제어 정보를 결합된 플래시 메모리(300)의 소정 영역에 삽입할 수도 있다. 이 때, 제 1 메모리(240)에 저장되어 있는 제어 정보는 복수 개의 특정 플래시 메모리에 대한 제어 정보일 수도 있다. 즉, 서로 다른 복수 개의 제어 정보가 제 1 메모리(240)에 저장되어 있는 것인데 이 때, 플래시 메모리 제어부(200)는 플래시 메모리(300)로부터 수신한 플래시 메모리(300)의 고유 ID(410)를 이용하여 전달하여야 할 제어 정보(430)를 추출할 수 있다.
예를 들어, 플래시 메모리(300)는 플래시 메모리 제어부(200)와의 연결과 동시에 자신의 고유 ID(410)를 송신하고, 이를 수신한 플래시 메모리 제어부(200)는 고유 ID(410)에 대응하는 제어 정보가 있는 지 확인한 후에 대응하는 제어 정보가 있으면 이를 추출하여 플래시 메모리(300)로 송신하고, 대응하는 제어 정보가 없으 면 제어 정보 수신부(210)를 통하여 사용자로부터 입력된 제어 정보(420)를 플래시 메모리(300)로 송신하는 것이다.
전술한 바와 같이, 플래시 메모리(300)는 대 블록 플래시 메모리(310)와 소 블록 플래시 메모리(320)로 구분될 수 있으며 각각의 플래시 메모리(310, 320)에 대한 쓰기 방식이 다를 수 있다. 따라서, 제어 정보(430)를 플래시 메모리(300)에 삽입함에 있어서 플래시 메모리 제어부(200)는 플래시 메모리(300)의 종류에 대응하는 두 개의 방식을 시도할 수 있다.
도 5는 본 발명의 실시예에 따른 제어 정보가 제 2 메모리(250)에 저장되는 것을 나타낸 개념도이다.
플래시 메모리(300)를 제어하기 위하여 플래시 메모리 제어부(200)는 우선 플래시 메모리(300)로부터 고유 ID(510)를 수신한다. 그리하여 수신된 고유 ID(510)에 대응하는 제어 정보가 제 1 메모리(240)에 저장되어 있는지 확인하여, 저장되어 있으면 저장된 제어 정보와 프로그래밍 코드를 이용하여 연결된 플래시 메모리(300)에 대한 제어 코드를 생성하고, 생성된 제어 코드를 이용하여 플래시 메모리(300)를 제어한다.
한편, 수신된 고유 ID(510)에 대응하는 제어 정보가 제 1 메모리(240)에 저장되어 있지 않는 경우, 플래시 메모리 제어부(200)는 플래시 메모리(300)의 소정 영역에 저장되어 있는 제어 정보(520)를 추출한다. 이 때, 플래시 메모리 제어부(200)는 플래시 메모리(300)의 저장 영역 중 첫 번째 블록(311, 321)의 첫 번째 페이지(312, 322) 중 첫 번째 섹터(313, 323)에서 제어 정보(520)를 추출할 수 있고, 사전에 설정된 위치에서 제어 정보(520)를 추출할 수도 있다.
또한, 플래시 메모리(300)는 대 블록 플래시 메모리(310)와 소 블록 플래시 메모리(320)로 구분될 수 있으며 각각의 플래시 메모리(310, 320)에 대한 읽기 방식이 다를 수 있다. 따라서, 제어 정보(520)를 플래시 메모리(300)에서 추출함에 있어서 플래시 메모리 제어부(200)는 플래시 메모리(300)의 종류에 대응하는 두 개의 방식을 시도할 수 있다.
도 6은 본 발명의 일 실시예에 따라 플래시 메모리가 제어되는 과정을 나타낸 흐름도이다.
플래시 메모리(300)를 제어하기 위하여 플래시 메모리 제어부(200)의 송수신부(260)는 우선 플래시 메모리(300)로부터 고유 ID를 수신한다(S610). 수신된 고유 ID는 제어부(220)로 전달되고, 제어부(220)는 제 1 메모리(240)에 저장된 복수 개의 특정 플래시 메모리의 제어 정보 중 고유 ID에 대응하는 제어 정보가 있는 지 확인한다(S620). 여기서, 특정 플래시 메모리는 사용자에 의하여 임의로 선택된 플래시 메모리로서, 예를 들어 사용자는 자신이 원하는 플래시 메모리에 대한 제어 정보를 제 1 메모리(240)에 저장함으로써 플래시 메모리의 제어 정보가 제 2 메모리(250)에 저장되는 과정이 생략되도록 할 수 있다.
여기서, 제 1 메모리(240)는 비휘발성 메모리일 수 있으며, 그 중 OTP 메모리일 수 있다. 그리고, 제어 정보는 다이(die)의 개수, 상기 다이 별 플레인(plane)의 개수, 블록(block)의 개수, 페이지(page)의 크기, 상기 블록 별 상기 페이지의 개수, 상기 페이지 별 섹터의 개수, 배드 마크(bad mark)의 위치, 캐시 오 퍼레이션(cache operation)의 지원 여부 및 카피 백 오퍼레이션(copy back operation)의 지원 여부 중 적어도 하나를 포함한다.
그리하여, 대응하는 제어 정보가 저장되어 있는 경우 제어부(220)는 대응하는 제어 정보와 제 1 메모리(240)에 저장된 프로그래밍 코드를 이용하여 제어 코드를 생성한다(S650).
그리고, 상태 확인부(230)는 플래시 메모리(300)의 상태를 확인한다. 즉, 플래시 메모리(300)가 읽기 또는 쓰기 등의 작업을 수행 중인지 확인하는 것으로서, 상태 확인 결과는 제어부(220)로 전달된다.
그리하여, 플래시 메모리(300)가 작업 중인 경우 제어부(220)는 제어 코드 송신을 보류하고, 플래시 메모리(300)가 작업 중이지 않는 경우 송수신부(260)를 통하여 제어 코드를 송신한다(S660).
한편, 제 1 메모리(240)에 대응하는 제어 정보가 저장되어 있지 않는 경우 송수신부(260)는 플래시 메모리(300)로부터 제어 정보를 추출한다(S630). 그리고, 추출된 제어 정보를 휘발성 메모리인 제 2 메모리(250)에 저장한다(S640).
제어 정보가 제 2 메모리(250)에 저장되면 제어부(220)는 제 1 메모리(240)에 저장된 프로그래밍 코드와 제 2 메모리(250)에 저장된 제어 정보를 이용하여 플래시 메모리(300)를 제어하기 위한 제어 코드를 생성한다(S650).
그리고, 제어부(220)는 상태 확인부(230)를 통하여 확인된 플래시 메모리(300)의 상태를 참조하여 플래시 메모리(300)가 동작 중이지 않으면 송수신부(260)를 통하여 생성된 제어 코드를 송신한다(S660).
도2의 블록도의 각 블록과 도 6의 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부 를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상기한 바와 같은 본 발명의 플래시 메모리를 제어하는 장치 및 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 소정의 휘발성 메모리에 저장된 플래시 메모리의 제어 정보를 플래시 메모리의 종류가 변할 때마다 갱신시키고 갱신된 제어 정보를 이용하여 변경된 플래시 메모리를 제어함으로써 플래시 메모리의 종류에 따른 별도의 플래시 메모리 컨트롤러를 구비해야 하는 비용을 절감할 수 있는 장점이 있다.
둘째, 제어 정보를 저장하고 있는 플래시 메모리로부터 제어 정보를 추출하고, 추출된 제어 정보를 이용하여 플래시 메모리를 제어함으로써 서로 다른 플래시 메모리에 대한 제어를 간편하게 수행할 수 있는 장점도 있다.

Claims (14)

  1. 자신의 제어 정보를 저장하는 플래시 메모리;
    상기 플래시 메모리를 제어하기 위한 프로그래밍 코드를 저장하는 제 1 메모리;
    상기 프로그래밍 코드에 상기 제어 정보를 대입함으로써 상기 플래시 메모리를 제어하기 위한 제어 코드를 생성하는 제어부; 및
    상기 제어 코드를 송신하는 송수신부를 포함하는 플래시 메모리를 제어하는 장치.
  2. 제 1항에 있어서,
    상기 제어 정보는 다이(die)의 개수, 상기 다이 별 플레인(plane)의 개수, 블록(block)의 개수, 페이지(page)의 크기, 상기 블록 별 상기 페이지의 개수, 상기 페이지 별 섹터의 개수, 배드 마크(bad mark)의 위치, 캐시 오퍼레이션(cache operation)의 지원 여부 및 카피 백 오퍼레이션(copy back operation)의 지원 여부 중 적어도 하나를 포함하는 플래시 메모리를 제어하는 장치.
  3. 제 1항에 있어서,
    상기 제 1 메모리는 비휘발성 메모리를 포함하는 플래시 메모리를 제어하는 장치.
  4. 제 1항에 있어서,
    상기 제 1 메모리는 사용자에 의하여 임의로 선택된 특정 플래시 메모리에 대한 제어 정보를 저장하는 플래시 메모리를 제어하는 장치.
  5. 제 4항에 있어서,
    상기 제어부는 상기 플래시 메모리와 상기 특정 플래시 메모리가 동일한 경우 상기 프로그래밍 코드에 상기 특정 플래시 메모리에 대한 제어 정보를 대입함으로써 상기 플래시 메모리를 제어하기 위한 제어 코드를 생성하는 플래시 메모리를 제어하는 장치.
  6. 제 1항에 있어서,
    상기 제어 정보를 임시 저장하는 제 2 메모리를 더 포함하는 플래시 메모리를 제어하는 장치.
  7. 제 6항에 있어서,
    상기 제 2 메모리는 휘발성 메모리를 포함하는 플래시 메모리를 제어하는 장치.
  8. 종류별 플래시 메모리를 제어하는 장치에 있어서,
    (a) 플래시 메모리로부터 제어 정보를 수신하는 단계;
    (b) 소정의 프로그래밍 코드에 상기 제어 정보를 대입함으로써 상기 플래시 메모리를 제어하기 위한 제어 코드를 생성하는 단계; 및
    (c) 상기 제어 코드를 상기 플래시 메모리로 송신하는 단계를 포함하는 플래시 메모리를 제어하는 방법.
  9. 제 8항에 있어서,
    상기 제어 정보는 다이(die)의 개수, 상기 다이 별 플레인(plane)의 개수, 블록(block)의 개수, 페이지(page)의 크기, 상기 블록 별 상기 페이지의 개수, 상기 페이지 별 섹터의 개수, 배드 마크(bad mark)의 위치, 캐시 오퍼레이션(cache operation)의 지원 여부 및 카피 백 오퍼레이션(copy back operation)의 지원 여부 중 적어도 하나를 포함하는 플래시 메모리를 제어하는 방법.
  10. 제 8항에 있어서,
    상기 프로그래밍 코드는 비휘발성 메모리인 제 1 메모리에 저장되어 있는 정보인 플래시 메모리를 제어하는 방법.
  11. 제 10항에 있어서,
    상기 제 1 메모리에 사용자에 의하여 임의로 선택된 특정 플래시 메모리에 대한 제어 정보를 저장하는 단계를 포함하는 플래시 메모리를 제어하는 방법.
  12. 제 11항에 있어서,
    상기 (b) 단계는 상기 플래시 메모리와 상기 특정 플래시 메모리가 동일한 경우 상기 프로그래밍 코드에 상기 특정 플래시 메모리에 대한 제어 정보를 대입함으로써 상기 플래시 메모리를 제어하기 위한 제어 코드를 생성하는 단계를 포함하는 플래시 메모리를 제어하는 방법.
  13. 제 8항에 있어서,
    상기 제어 정보를 임시 저장하는 단계를 더 포함하는 플래시 메모리를 제어하는 방법.
  14. 제 13항에 있어서,
    상기 임시 저장되는 제어 정보는 휘발성 메모리에 저장되는 플래시 메모리를 제어하는 방법.
KR1020060017771A 2006-02-23 2006-02-23 플래시 메모리를 제어하는 장치 및 방법 KR100746036B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020060017771A KR100746036B1 (ko) 2006-02-23 2006-02-23 플래시 메모리를 제어하는 장치 및 방법
US11/656,535 US7809878B2 (en) 2006-02-23 2007-01-23 Apparatus and method for controlling flash memory
CN2007100791421A CN101025711B (zh) 2006-02-23 2007-02-14 控制闪存的设备和方法
EP07102842A EP1843357A3 (en) 2006-02-23 2007-02-21 Apparatus and method for controlling flash memory
JP2007040389A JP2007226798A (ja) 2006-02-23 2007-02-21 フラッシュメモリを制御する装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060017771A KR100746036B1 (ko) 2006-02-23 2006-02-23 플래시 메모리를 제어하는 장치 및 방법

Publications (1)

Publication Number Publication Date
KR100746036B1 true KR100746036B1 (ko) 2007-08-06

Family

ID=38370498

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060017771A KR100746036B1 (ko) 2006-02-23 2006-02-23 플래시 메모리를 제어하는 장치 및 방법

Country Status (5)

Country Link
US (1) US7809878B2 (ko)
EP (1) EP1843357A3 (ko)
JP (1) JP2007226798A (ko)
KR (1) KR100746036B1 (ko)
CN (1) CN101025711B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190056513A (ko) 2017-11-17 2019-05-27 에스케이하이닉스 주식회사 메모리 장치에 대한 태스크들을 스케줄링하는 반도체 장치 및 이를 포함하는 시스템
KR20200115102A (ko) 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 유사도에 따라 후보 선택을 가속하는 방법 및 후보 선택을 수행하는 가속기
US11636173B2 (en) 2019-03-28 2023-04-25 SK Hynix Inc. Method for candidate selection and accelerator for performing candidate selection

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4740233B2 (ja) * 2005-03-23 2011-08-03 パナソニック株式会社 不揮発性記憶装置、不揮発性メモリのコントローラ、及び不揮発性記憶システム
CN101751338B (zh) * 2008-12-15 2012-03-07 中芯国际集成电路制造(上海)有限公司 数据存取控制装置及数据存取方法
US8423722B1 (en) * 2011-08-26 2013-04-16 Western Digital Technologies, Inc. System and method for high performance command processing in solid state drives
CN108595124A (zh) * 2018-04-27 2018-09-28 江苏华存电子科技有限公司 一种提升多颗闪存平行写入校能的管理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250827A (ja) * 1993-02-23 1994-09-09 Nippon Steel Corp コンピュータシステム
JPH1097419A (ja) 1996-09-20 1998-04-14 Denso Corp 電子装置のメモリ書込装置
JP2001338269A (ja) 1992-07-06 2001-12-07 Shimizu Corp カード読取装置
JP2002203217A (ja) 2000-12-28 2002-07-19 Denso Corp 不揮発性メモリ及び電子機器並びに不正監視システム
JP2002278781A (ja) 2001-03-16 2002-09-27 Tokyo Electron Device Ltd 記憶装置、記憶装置制御方法及びプログラム
JP2004206740A (ja) 2002-12-20 2004-07-22 Fujitsu Ltd 半導体記憶装置及びその制御方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279069B1 (en) * 1996-12-26 2001-08-21 Intel Corporation Interface for flash EEPROM memory arrays
US5937423A (en) * 1996-12-26 1999-08-10 Intel Corporation Register interface for flash EEPROM memory arrays
US7707354B2 (en) * 1999-08-04 2010-04-27 Super Talent Electronics, Inc. SRAM cache and flash micro-controller with differential packet interface
US20060161725A1 (en) * 2005-01-20 2006-07-20 Lee Charles C Multiple function flash memory system
US20050160218A1 (en) * 2004-01-20 2005-07-21 Sun-Teck See Highly integrated mass storage device with an intelligent flash controller
US7676640B2 (en) * 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
JP4722305B2 (ja) * 2001-02-27 2011-07-13 富士通セミコンダクター株式会社 メモリシステム
US6760908B2 (en) 2001-07-16 2004-07-06 Namodigit Corporation Embedded software update system
GB0123422D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved memory controller
JP4238514B2 (ja) 2002-04-15 2009-03-18 ソニー株式会社 データ記憶装置
KR100547809B1 (ko) 2003-10-31 2006-01-31 삼성전자주식회사 소프트웨어 다운로드를 위한 임베디드 시스템을 구비한이동통신단말기 및 소프트웨어 다운로드 방법
KR101085406B1 (ko) 2004-02-16 2011-11-21 삼성전자주식회사 불 휘발성 메모리를 제어하기 위한 컨트롤러
JP2005301831A (ja) 2004-04-14 2005-10-27 Renesas Technology Corp 不揮発性記憶装置、半導体記憶装置及び記憶システム
US7406559B2 (en) * 2004-08-23 2008-07-29 Macronix International Co., Ltd. In-circuit programming architecture with processor, delegable flash controller, and code generator
CN1331068C (zh) 2005-02-04 2007-08-08 威盛电子股份有限公司 一种驱动闪存的方法及其装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001338269A (ja) 1992-07-06 2001-12-07 Shimizu Corp カード読取装置
JPH06250827A (ja) * 1993-02-23 1994-09-09 Nippon Steel Corp コンピュータシステム
JPH1097419A (ja) 1996-09-20 1998-04-14 Denso Corp 電子装置のメモリ書込装置
JP2002203217A (ja) 2000-12-28 2002-07-19 Denso Corp 不揮発性メモリ及び電子機器並びに不正監視システム
JP2002278781A (ja) 2001-03-16 2002-09-27 Tokyo Electron Device Ltd 記憶装置、記憶装置制御方法及びプログラム
JP2004206740A (ja) 2002-12-20 2004-07-22 Fujitsu Ltd 半導体記憶装置及びその制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190056513A (ko) 2017-11-17 2019-05-27 에스케이하이닉스 주식회사 메모리 장치에 대한 태스크들을 스케줄링하는 반도체 장치 및 이를 포함하는 시스템
US10635351B2 (en) 2017-11-17 2020-04-28 SK Hynix Inc. Semiconductor device for scheduling tasks for memory device and system including the same
KR20200115102A (ko) 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 유사도에 따라 후보 선택을 가속하는 방법 및 후보 선택을 수행하는 가속기
US11636173B2 (en) 2019-03-28 2023-04-25 SK Hynix Inc. Method for candidate selection and accelerator for performing candidate selection

Also Published As

Publication number Publication date
CN101025711A (zh) 2007-08-29
EP1843357A3 (en) 2010-10-06
US7809878B2 (en) 2010-10-05
US20070198767A1 (en) 2007-08-23
EP1843357A2 (en) 2007-10-10
CN101025711B (zh) 2011-04-13
JP2007226798A (ja) 2007-09-06

Similar Documents

Publication Publication Date Title
CN109634517B (zh) 进行存取管理的方法、记忆装置、电子装置和其控制器
KR100531192B1 (ko) 비휘발성 메모리의 제어방법
US9037782B2 (en) Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same
JP4188744B2 (ja) メモリカード
KR100746036B1 (ko) 플래시 메모리를 제어하는 장치 및 방법
KR100816761B1 (ko) 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법
US9176865B2 (en) Data writing method, memory controller, and memory storage device
JP4956068B2 (ja) 半導体記憶装置およびその制御方法
US10475516B2 (en) Data storage device and data erasing method wherein after erasing process, predetermined value is written to indicate completion of said erasing method
US7610436B2 (en) Semiconductor device having flash memory with a data length table
US9213631B2 (en) Data processing method, and memory controller and memory storage device using the same
US20230101705A1 (en) Data storage device and method for rewriting parameters thereof
US7543104B2 (en) Non-volatile semiconductor device for use in memory card and memory system
CN107045423B (zh) 存储器装置及其数据存取方法
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
US10176876B2 (en) Memory control method and apparatus for programming and erasing areas
JP2008225672A (ja) 半導体メモリ装置
CN115048045A (zh) 控制数据存储装置运作的方法及数据存储装置及其控制器
KR20050011869A (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
US20100235393A1 (en) Portable electronic device and access control method in portable electronic device
CN112988076A (zh) 快闪存储器控制方法、存储装置及控制器
CN114089908A (zh) 非易失性存储器及其操作方法
US9946491B2 (en) Memory erase method, memory control circuit unit and memory storage apparatus, including an erase index table and mother-child physical erasing units
US11816355B2 (en) Data writing method based on different numbers of chip enabled regions, memory storage device and memory control circuit unit
US11561719B2 (en) Flash memory control method of re-programming memory cells before erase operations, flash memory storage device and flash memory controller

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150630

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170630

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180629

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190628

Year of fee payment: 13