KR100627872B1 - 낸드 플래시 메모리의 데이터 기입 방법 - Google Patents

낸드 플래시 메모리의 데이터 기입 방법 Download PDF

Info

Publication number
KR100627872B1
KR100627872B1 KR1020040069929A KR20040069929A KR100627872B1 KR 100627872 B1 KR100627872 B1 KR 100627872B1 KR 1020040069929 A KR1020040069929 A KR 1020040069929A KR 20040069929 A KR20040069929 A KR 20040069929A KR 100627872 B1 KR100627872 B1 KR 100627872B1
Authority
KR
South Korea
Prior art keywords
data
flash memory
nand flash
unit
host
Prior art date
Application number
KR1020040069929A
Other languages
English (en)
Other versions
KR20060021099A (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 KR1020040069929A priority Critical patent/KR100627872B1/ko
Publication of KR20060021099A publication Critical patent/KR20060021099A/ko
Application granted granted Critical
Publication of KR100627872B1 publication Critical patent/KR100627872B1/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
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/14Circuits 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 기입 단위가 서로 다른 호스트와 낸드 플래시 메모리에 있어서, 낸드 플래시 메모리에 데이터를 기입하는 방법에 관한 것이다. 본 발명에 따르면 상기 호스트로부터 제 1 단위의 데이터를 받아들여 저장하는 단계와 더미 동작을 수행하는 단계가 이루어진다. 이러한 동작은 N-1번째 제 1 단위의 데이터가 받아들여질 때까지 행하여진다. 그리고 N번째 제 1 단위의 데이터가 받아들여질 때 상기 더미 동작이 수행된 데이터와 N번째 데이터가 낸드 플래시 메모리에 제공된다.

Description

낸드 플래시 메모리의 데이터 기입 방법{DATA WRITE METHOD OF NAND FLASH MEMORY}
도 1은 소 블럭 플래시 메모리의 독출/기입 타이밍도이다.
도 2는 대 블럭 플래시 메모리의 독출/기입 타이밍도이다.
도 3은 본 발명에 따른 낸드 플래시 메모리의 블록도이다.
도 4는 종래 방법에 따른 데이터 기입 타이밍도이다.
도 5는 본 발명에 따른 방법에 따른 데이터 기입 타이밍도이다.
*도면의 주요부분에 대한 부호의 설명*
100 : 호스트 200 : 낸드 플래시 메모리
300 : 컨트롤러 201 : 페이지 레지스터
302 : 에스램
본 발명은 낸드 플래시 메모리의 데이터 기입 방법에 관한 것으로, 더욱 상세하게는 호스트와 낸드 플래시 메모리의 기입 단위가 서로 다른 경우에 있어서, 낸드 플래시 메모리에 데이터를 기입하는 방법에 관한 것이다.
낸드 플래시 메모리는 크게 소 블럭 플래시 메모리(small block flash memory)와 대 블럭 플래시 메모리(large block flash memory)로 나눌 수 있다.
도 1은 소 블럭 플래시 메모리의 독출/기입 타이밍도이다. 소 블럭 플래시 메모리의 독출/기입 단위는 528 바이트이다. 소 블럭 플래시 메모리의 tR(데이터가 셀에서 레지스터까지 도달하는 시간)은 최대 12㎲이고, 시리얼 페이지 액세스 타임(serial page access time/ 1 바이트 데이터가 레지스터(register) 또는 글로벌 버퍼(global buffer)에서 I/O까지 도달하는 시간)은 50㎱이다. 그리고 tPROG(레지스터에서 셀로 프로그램되는 시간)은 전형적으로 200㎲이다. 또한 동일한 워드 라인에 소거없이 연속적으로 프로그램을 할 수 있는 회수인 nop는 0~511 바이트, 즉 메인 어레이에서는 1회이며, 512~527 바이트, 즉 스페어 어레이에서는 2회가 가능하다. 도 1을 참조하면 독출시 포인터 동작을 하는 커맨드는 00h이고 프로그램 커맨드는 80h이다. 또한 70h는 상태를 독출하는 커맨드이다. 80h로 프로그램이 준비되면 10h 커맨드에서 레지스터에 있는 데이터가 셀로 프로그램을 하게된다.
도 2는 대 블럭 플래시 메모리의 독출/기입 타이밍도이다. 대 블럭 플래시 메모리의 독출/기입 단위는 2112 바이트이다. 대 블럭 플래시 메모리의 tR은 최대 25㎲이고, 시리얼 페이지 액세스 타임은 50㎱이다. 그리고 tPROG은 전형적으로 250㎲이다. 또한 동일한 워드 라인에 소거없이 연속적으로 프로그램을 할 수 있는 회수인 nop는 0~2047 바이트, 즉 메인 어레이에서는 4회이며, 2048~2112 바이트, 즉 스페어 어레이에서는 4회가 가능하다. 도 2에 도시된 커맨드 중에 도 1과 동일한 것은 동일한 동작을 수행한다. 다만 대 블럭 플래시 메모리에서는 2 사이클에 걸쳐 커맨드가 입력되기 때문에 00h 커맨드 후에 30h 커맨드에서 셀에 데이터를 독출한다.
상술한 바와 같이 소 블럭 플래시 메모리와 대 블럭 플래시 메모리는 서로 차이를 보이는데, 호스트 시스템과 플래시 메모리가 서로 다른 구조의 것이 사용되는 경우가 있다. 예를 들면 엑스디 픽쳐 카드(xD picture card)를 사용하는 호스트 시스템은 소 블럭 플래시 메모리만을 인식하는 시스템인데 여기에 대 블럭 플래시 메모리를 적용한 엑스디 픽쳐 카드를 사용하는 경우가 그러하다.
이러한 경우에 있어서는 소 블럭 플래시 메모리를 대 블럭 플래시 메모리로 또는 대 블럭 플래시 메모리를 소 블럭 플래시 메모리처럼 동작하기 위해 상호 변환을 해주는 장치 및 방법이 필요하다. 변환 컨트롤러와 변환 FTL(Flash Transition Layer)이 이러한 역할을 담당한다. 변환 컨트롤러는 호스트로부터 데이터를 받아들여 낸드 플래시 메모리로 전달 시켜주는 기능을 한다. 이때 변환 FTL은 호스트 시스템에서 528 바이트 단위로 기입 요청이 들어올 때마다 플래시 메모리의 데이터를 저장하는 메모리 셀에 528 바이트 단위로 실제 기입되도록 한다.
이 경우 동일 페이지에 4번의 반복적인 기입이 이루어지게 되므로, 메모리 셀에 스트레스를 증가시키는 문제점이 발생한다. 그리고 I/O로부터 레지스터까지 데이터를 옮기는데 걸리는 시간 26.4㎲(50㎱ * 528 바이트)와 528 바이트 프로그램 시간을 대략 250㎲으로 고려하면 총 4 섹터 기입시 1105.6㎲가 걸린다. 따라서 대 블럭 플래시 메모리의 장점인 2112 바이트를 1회에 기입할 때 325㎲가 걸리는 것에 비하여 기입 시간이 많이 소요된다는 문제점이 있었다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 반복되는 프로그램으로 인한 셀 스트레스를 감소시키고, 데이터 기입 시간을 개선하는 낸드 플래시 메모리의 데이터 기입 방법을 제공하는데 있다.
상술한 기술적 과제를 달성하기 위한 본 발명에 따른 낸드 플래시 메모리의 데이터 기입 방법은 기입 단위가 제 1 단위인 호스트로부터 받은 데이터를 기입 단위가 제 2 단위인 낸드 플래시 메모리에 기입하는 방법에 있어서, a) 상기 호스트로부터 제 1 단위의 데이터를 받아들여 저장하는 단계와; b) 더미 동작을 수행하는 단계와; c) N-1번째 제 1 단위의 데이터가 받아들여질 때까지 상기 a) 및 b) 동작을 반복하여 수행하는 단계와; 그리고 d) N번째 제 1 단위의 데이터가 받아들여질 때 상기 c) 단계가 수행된 N-1번째까지의 데이터와 상기 N번째 데이터를 상기 낸드 플래시 메모리에 제공하는 단계를 포함한다.
이 실시예에 있어서, 상기 a) 단계에서 데이터를 에스램에 저장한다.
이 실시예에 있어서, 상기 a) 단계에서 데이터 상기 낸드 플래시 메모리 내의 페이지 레지스터에 저장한다.
이 실시예에 있어서, e)제공받은 데이터를 낸드 플래시 메모리에 기입하는 단계를 더 포함한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명 의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 3은 본 발명에 따른 낸드 플래시 메모리의 블록도이다.
도 3을 참조하면 호스트(100)와 낸드 플래시 메모리(200) 사이에는 컨트롤러(300)가 포함된다. 본 발명에서 호스트(100)는 소 블럭 메모리만을 인식하지만 여기에 결합될 낸드 플래시 메모리(200)는 대 블럭 메모리이다. 따라서 이를 호환해주기 위한 컨트롤러(300)가 필요한 것이다. 컨트롤러(300)의 내부에는 호스트 인터페이스(301) 영역과 에스램(SRAM)(302) 및 낸드 인터페이스(303) 영역이 존재한다.
도시되지는 않았지만 변환 FTL이라고 하는 시스템 소프트웨어가 컨트롤러(300)와 함께 소 블럭 플래시 메모리를 대 블럭 플래시 메모리처럼 동작하도록 변환해주는 기능을 한다. 변환 FTL은 소 블럭 플래시 메모리에 대한 어드레스를 대 블럭 플래시의 물리적 어드레스로 변환하고 관리해주는 맵핑(mapping) 기능, 예기치 못한 파워 드롭(power drop)에 대한 관리, 필요시 데이터 변환, 사용중 배드 블럭(bad block) 관리 및 마모도 관리 기능을 한다. 변환 FTL은 기입 동작 수행 시 로그 스킴(log scheme)을 적용하여 프리 블럭(free block)에서 로그 블럭(log block)을 할당하고 로그 블럭에 기입 동작을 하게 된다. 만약 로그 블럭이 없거나 프리 블럭이 없으면 프리 블럭 확보를 위하여 머지(merge)를 하게된다. 머지란 데이터 블럭과 기존에 할당되어 있는 로그 블럭에서 최근 유효한 데이터만을 새로운 프리 블럭에 복사하여 데이터 블록을 만든 다음 복사 데이터가 있는 이전 데이터 블럭과 로그 블럭을 프리 블럭으로 만드는 것을 말한다. 이렇게 머지를 하여 프리 블럭이 확보되면 프리 블럭을 로그 블럭으로 할당한 다음 요청한 데이터나 소거 마 크(erase mark)를 로그 블럭에 기입한다.
호스트(100)에서 528 바이트 단위로 기입 요청이 들어오면 변환 FTL이 소 블럭 플래시 메모리의 주소를 대 블럭 플래시 메모리 주소로 변환한다. 그리고 동일한 주소에 기입될 데이터가 2112 바이트가 될 때까지 저장 장치에 저장한다. 데이터 저장 장소로는 컨트롤러(300) 내의 에스램(302) 또는 낸드 플래시 메모리(200) 내의 페이지 레지스터(201)가 이용될 수 있다.
4회의 528 바이트 기입 요청시 호스트 인터페이스(301)에서는 1~3회 까지의 기입은 더미 동작으로 수행한다. 그리고 4번째 데이터가 들어오면 이전 데이터와 4번째 데이터, 총 2112 바이트의 데이터를 실제로 낸드 플레시 메모리(200)에 기입하게 된다.
도 4는 종래 방법에 따른 데이터 기입 타이밍도이며, 도 5는 본 발명에 따른 방법에 따른 데이터 기입 타이밍도이다.
도면에서 Long R/B time은 실제로 낸드 플래시 메모리에 프로그램을 하는 시간을 의미한다. 그리고 Short R/B time은 더미 동작으로 프로그램 하는 시간을 의미하는 것으로 호스트에서 요구하는 최소 tPROG인 0.5㎲이 소요된다.
따라서 종래의 방법에 따르면 호스트에서 528 바이트의 데이터의 기입 요청이 있을 때마다 실제로 낸드 플래시 메모리에 기입을 행하였으므로, 매회마다 I/O로부터 레지스터까지 데이터를 옮기는데 걸리는 시간 26.4㎲(50㎱ * 528 바이트)와 528 바이트 프로그램 시간으로 250㎲이 걸렸다. 따라서 2112 바이트를 낸드 플래시 메모리에 기입하기 위하여 걸리는 총 시간은 1105.6㎲였다.
하지만 본 발명에 따른 낸드 플래시 메모리의 데이터 기입 방법에 의하면 호스트에서 낸드 플래시에 기입을 요청한 데이터 중 1~3번째 데이터는 가상으로 프로그램, 즉 Short R/B time 후에 저장 장치에 저장된다. 이때 호스트는 낸드 플래시 메모리에 데이터가 저장되어 있는 것으로 인식한다. 4번째 528 바이트의 데이터 기입 요청이 있는 경우 저장 장치에 저장된 데이터와 4번째 요청된 데이터를 실제로 대 블럭 플래시 메모리에 기입하게 된다. 따라서 이때는 2112 바이트를 기입하는데 소모되는 시간인 250㎲가 소모된다. 따라서 총 251.5㎲ 시간 소모로 대 블럭 플래시 메모리에 기입이 완료된다. 따라서 호스트에서 기입 요청되는 528 바이트 데이터를 4회에 걸쳐 기입하는 경우에 드는 1105.6㎲에 비하여 4분의 1 정도의 시간을 소비하여 2112 바이트 데이터를 기입할 수 있게된다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명에 의하면, 반복적인 기입으로 인한 메모리 셀의 스트레스를 방지할 수 있으며, 기입 시간을 단축할 수 있다.

Claims (6)

  1. 기입 단위가 제 1 단위인 호스트로부터 받은 데이터를 기입 단위가 제 2 단위인 낸드 플래시 메모리에 기입하는 방법에 있어서,
    a) 상기 호스트로부터 제 1 단위의 데이터를 받아들여 저장하는 단계와;
    b) 더미 동작을 수행하는 단계와;
    c) N-1번째 제 1 단위의 데이터가 받아들여질 때까지 상기 a) 및 b) 동작을 반복하여 수행하는 단계와; 그리고
    d) N번째 제 1 단위의 데이터가 받아들여질 때 상기 c) 단계가 수행된 N-1번째까지의 데이터와 상기 N번째 데이터를 상기 낸드 플래시 메모리에 제공하는 단계를 포함하는 것을 특징으로 하는 데이터 기입 방법.
  2. 제 1 항에 있어서,
    상기 a) 단계에서 데이터를 에스램에 저장하는 것을 특징으로 하는 데이터 기입 방법.
  3. 제 1항에 있어서,
    상기 a) 단계에서 데이터를 상기 낸드 플래시 메모리 내의 페이지 레지스터에 저장하는 것을 특징으로 하는 데이터 기입 방법.
  4. 제 1항에 있어서,
    e)제공받은 데이터를 낸드 플래시 메모리에 기입하는 단계를 더 포함하는 것을 특징으로 하는 데이터 기입 방법.
  5. 제 1항에 있어서,
    상기 호스트의 제 1 단위는 528 바이트인 것을 특징으로 하는 데이터 기입 방법.
  6. 제 1항에 있어서,
    상기 낸드 플래시 메모리의 제 2 단위는 2112 바이트인 것을 특징으로 하는 데이터 기입 방법.
KR1020040069929A 2004-09-02 2004-09-02 낸드 플래시 메모리의 데이터 기입 방법 KR100627872B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040069929A KR100627872B1 (ko) 2004-09-02 2004-09-02 낸드 플래시 메모리의 데이터 기입 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040069929A KR100627872B1 (ko) 2004-09-02 2004-09-02 낸드 플래시 메모리의 데이터 기입 방법

Publications (2)

Publication Number Publication Date
KR20060021099A KR20060021099A (ko) 2006-03-07
KR100627872B1 true KR100627872B1 (ko) 2006-09-25

Family

ID=37128079

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040069929A KR100627872B1 (ko) 2004-09-02 2004-09-02 낸드 플래시 메모리의 데이터 기입 방법

Country Status (1)

Country Link
KR (1) KR100627872B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법

Also Published As

Publication number Publication date
KR20060021099A (ko) 2006-03-07

Similar Documents

Publication Publication Date Title
KR100526879B1 (ko) 플래쉬 파일 시스템
KR100630980B1 (ko) 메모리 카드 및 반도체 장치
US8244963B2 (en) Method for giving read commands and reading data, and controller and storage system using the same
JP4688584B2 (ja) ストレージ装置
US8166233B2 (en) Garbage collection for solid state disks
US8386699B2 (en) Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same
US11126602B2 (en) Key-value storage device and operating method thereof
US7814264B2 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
US20060187738A1 (en) Memory management device and memory device
JP4956068B2 (ja) 半導体記憶装置およびその制御方法
KR20160027805A (ko) 비휘발성 메모리 장치를 위한 가비지 컬렉션 방법
JP2009545783A (ja) 不揮発性メモリシステム、及びそのデータ読み出し/書き込み制御方法
US20080133824A1 (en) Memory card system including nand flash memory and sram/nor flash memory, and data storage method thereof
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
KR20150138528A (ko) 플래시 메모리를 기반으로 하는 스토리지 시스템 및 그것의 동작 방법
KR20190054426A (ko) 메모리 시스템 및 그것의 동작 방법
US9122583B2 (en) Memory controller and memory storage device and data writing method
US9378130B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
US20200159656A1 (en) Storage device and storage system including the same
US8589620B2 (en) Data writing method, memory controller, and memory storage apparatus
KR100627872B1 (ko) 낸드 플래시 메모리의 데이터 기입 방법
TWI649652B (zh) Fast and safe data storage device and method
JP4273038B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリのデータ転送方法
JP2009265839A (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
FPAY Annual fee payment

Payment date: 20090914

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee