KR20060123075A - 플래쉬 메모리 내의 손상된 블록 관리 - Google Patents

플래쉬 메모리 내의 손상된 블록 관리 Download PDF

Info

Publication number
KR20060123075A
KR20060123075A KR1020067004129A KR20067004129A KR20060123075A KR 20060123075 A KR20060123075 A KR 20060123075A KR 1020067004129 A KR1020067004129 A KR 1020067004129A KR 20067004129 A KR20067004129 A KR 20067004129A KR 20060123075 A KR20060123075 A KR 20060123075A
Authority
KR
South Korea
Prior art keywords
block
memory
area
damaged
blocks
Prior art date
Application number
KR1020067004129A
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 하이퍼스톤 아게
Publication of KR20060123075A publication Critical patent/KR20060123075A/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

Abstract

본 발명은 실제 메모리 블록 주소(SBA)를 이용하여 주소 지정 가능하고 개별적으로 삭제 가능한 메모리 블록(SB)을 갖는 비 휘발성 메모리 시스템 내의 손상된 메모리 블록을 관리하기 위한 방법에 관한 것이다. 상기 메모리 블록은 할당자 테이블(ZT)을 이용하여 논리적 블록 주소(LBA)로부터 각각 하나의 실제 메모리 블록 주소(SBA)로의 주소 변환을 통해 주소 지정 가능하며, 할당자 테이블(ZT)은 적어도 하나의 사용 데이터 영역(NB)으로 그리고 하나의 버퍼 블록 영역(BB)으로 세분화되며, 할당자 테이블(ZT)은 적어도 하나의 사용 데이터 영역(NB), 버퍼 블록 영역(BB), 손상 영역(DB) 및 리저브 영역(RB)으로 세분화된다. 삭제 시에 에러가 발생할 경우, 상응하는 블록은 리저브 블록과 교체되고 그 메모리 블록 주소는 손상 영역(DB)에 등록된다.
메모리 블록, 주소 지정, 비 휘발성 메모리, 주소 지정, 손상 영역.

Description

플래쉬 메모리 내의 손상된 블록 관리{MANAGEMENT OF DEFECTIVE BLOCKS IN FLASH MEMORIES}
본 발명은 실제 메모리 블록 주소를 이용하여 주소 지정 가능하고 개별적으로 삭제 가능한 비휘발성 메모리 시스템 내의 손상된 메모리 블록의 관리 방법에 관한 것이며, 상기 메모리 블록은 할당자 테이블을 이용하여 논리적 블록 주소로부터 각각의 실제 메모리 블록 주소로의 주소 변환을 통해 주소 지정 가능하며, 할당자 테이블은 적어도 하나의 사용 데이터 영역, 버퍼 블록 영역, 손상 영역 및 리저브 영역으로 세분화된다.
플래쉬 메모리는 여러 컴퓨터 시스템, 특히 디지털 카메라 및 휴대용 컴퓨터를 위한 교체 가능한 메모리 카드에 사용된다. 플래쉬 메모리는 메모리 블록 내에서 각각 복수의 섹터로 조직화된다. 이러한 메모리의 기본적인 특성은 단지 한정된 수의 쓰기 및 삭제 동작이 가능하고 이전에 삭제된 섹터에만 쓰기 가능하며, 삭제는 단지 큰 메모리 블록에서만 가능하다는 것이다. 이때, 쓰기 및 삭제 과정은 읽기보다 (50배까지의) 매우 많은 시간을 필요로 한다. 많은 쓰기와 삭제 과정을 통해 메모리 블록은 소모되고 더 이상 안전하게 쓰기 및 삭제될 수 없다. 독일 특허 출원 제198 40 389호에 대략 기술된 바와 같은 "데이터 균등 저장(wear leveling)" 을 통해, 모든 메모리 블록에 대해 대략 일정한 수의 삭제 과정이 달성된다. 현대 생산 기술로 인해 모든 메모리 셀에 대한 품질 및 삭제 빈도가 비슷하기 때문에, 모든 메모리 블록에 대해 동일한 관리 방법이 사용된다.
예를 들어 유럽 특허 제0 617 363호에 따른 공지된 방법에서, 볼록의 손상이 검출될 경우 이는 리저브 블록을 통해 대체되고 이 양자가 하나의 테이블 내에서 서로 결합된다. 또한, 테이블은 손상된 메모리 셀을 통해 전송된다. 이러한 방법은 메모리 동작에 대한 유효 메모리 블록을 서치하기 위해 테이블의 긴 서치 시간을 야기한다.
본 발명의 목적은 손상된 블록이 더 이상 메모리 동작과 관련되지 않도록 손상된 메모리 블록을 관리하는 것이다.
이러한 목적은, 삭제 시 에러가 발생할 경우에 상응하는 블록은 리저브 블록과 교체되고 그 메모리 블록 주소가 손상 영역에 등록되므로 해결된다.
본 발명의 바람직한 구성은 종속 청구항에서 설명된다.
비휘발성 메모리 셀을 갖는 메모리 시스템은 삭제 동작을 통해 개별적으로 삭제 가능한 메모리 블록 내에 구성된다. 이 메모리 블록은 그의 메모리 블록 주소를 통해 응답한다. 상위 시스템(host system)으로부터 주어지는 논리적 블록 주소는 할당자 테이블을 이용하여 메모리 블록 주소로 변환된다. 이때 논리적 블록 주소는 지속적으로 주어진다. 논리적 블록 주소는 할당자 테이블 내에서 인덱스로서 사용되고, 이 할당자 테이블 내에서 각 논리적 주소에는 작동 중에 다른 메모리 블록 주소와 교체될 수 있는 메모리 블록 주소가 등록된다. 또한, 테이블 내에는 각 메모리 블록에 대한 식별자가 세팅된다. 할당자 테이블은 서로 연결될 수 있는 적어도 4개의 영역, 즉, 사용 데이터 영역, 버퍼 블록 영역, 리저브 영역 및 손상 영역 으로 분할된다. 이때 사용 데이터 영역은 최대 확장 영역이다. 분할은 예를 들어 1000개의 메모리 블록을 갖는 메모리 시스템에서 944개의 사용 데이터 블록, 4개의 버퍼 블록, 52개의 리저브 블록 및 2개의 손상 블록으로 형성될 수도 있다. 삭제 시에 에러가 발생하면, 할당자 테이블에는 메모리 블록의 항목이 리저브 블록과 교체되고 그 주소는 손상 영역에 등록된다.
손상 영역이 각각, 지금까지 손상된 블록과 동일한 것은 바람직하다. 새로운 손상 블록이 검출되면, 손상 영역은 하나의 항목만큼 증가하고 리저브 영역은 하나의 항목만큼 축소된다. 리저브 더하기 손상 영역의 전체 크기는 일정하게 유지되고 더 이상의 테이블 변경이 필요치 않다.
모든 메모리 셀이 대략 동일한 손상 확률을 갖기 때문에 그리고 바람직하게는 삭제 빈도수가 모든 데이터 블록의 "데이터 균등 저장"을 통해 일정화되기 때문에, 손상 블록과 리저브 블록 간의 비율은 메모리 시스템의 품질 및 전체 소모를 나타내고 이는 간단하게 평가될 수 있다.
쓰기 시에 메모리 블록 내에 에러가 검출되면, 이 에러는 식별자 "defect"로 표시된다. 이러한 에러에서 소수의 비트만이 잘못되었기 때문에, 이러한 블록의 읽기 시에 비트 에러는 테스트 비트에 의해 교정되고 옳바른 내용이 다시 주어진다. "defect"로 표시되는 메모리 블록의 그 다음 쓰기 시에, 이 블록은 이미 버퍼 영역으로부터의 다른 메모리 블록과 교체된다.
사용되었거나 더 이상 활성화되지 않는 메모리 블록의 삭제는 바람직하게는, 메모리 블록에 대해 상응하는 식별자를 평가하는 배경 프로그램을 통해 처리된다.식별자 "defect"로 표시되는 메모리 블록에 상기 프로그램이 발생하면, 이 블록은 삭제되는 것이 아니라, 리저브 블록과 직접 교체된다. 앞으로 손상 블록은 더 이상 사용되지 않는다.
본 발명의 바람직한 실시예가 도면에서 예시적으로 설명된다.
도 1은 손상의 발생 시에 메모리 블록에 대한 할당자 테이블의 구조를 도시하는 도면이다.
도 2는 쓰기 에러로 인한 교정 후의 할당자 테이블을 도시한다.
도 1에는 4개의 영역으로 세분되는 할당자 테이블(ZT)이 도시된다. 제1 영역은 테이블의 최대 부분을 취하는 사용 데이터 영역(NB)이다. 그 다음, 버퍼 블록에 대한 개별 포인터를 갖는 버퍼 블록 영역(BB)이 이어진다. 리저브 영역(BB)은 대체 블록으로서 제공된 삭제된 블록에 대한 포인터를 포함한다. 손상 영역은 단지 손상된 블록을 나타낸다. 논리적 블록 주소(LBA)를 통해 할당자 테이블(ZT)가 어세스되고 메모리 동작에 대해 메모리 블록 주소(SBA)가 사용된다. 메모리 블록(SB)은 데이터를 포함하여 삭제("erased") 또는 손상("defect")될 수 있다. 메모리 블록(SB)에서 쓰기 동작은 통상적으로 버퍼 블록을 통해 실행된다. 쓰기 시에, 메모리 블록 이 손상된 것이 검출되면, 식별자(DEF)가 세팅되고 리저브 영역으로부터의 새로운 버퍼 블록이 사용된다.
도 2에는 쓰기 에러의 교정 후의 할당자 테이블(ZT)의 상태가 도시된다. 손상된 메모리 블록(SB)에 최초 나타나는 버퍼 블록 포인터는 지금까지 리저브 영역(RB)에 할당된 삭제된 메모리 블록을 나타낸다. 리저브 영역(RB)은 하나의 항목만큼 단축되고 손상 영역(DB)은 하나의 항목만큼 증가된다. 양 영역 간의 한계는 하나의 항목만큼 연장된다. 양 영역에 할당된 블록의 전체 합은 일정하게 유지된다.

Claims (6)

  1. 실제 메모리 블록 주소(SBA)를 이용하여 주소 지정 가능하고 개별적으로 삭제 가능한 메모리 블록(SB)을 갖는 비 휘발성 메모리 시스템 내의 손상된 메모리 블록을 관리하기 위한 방법이며, 상기 메모리 블록은 할당자 테이블(ZT)을 이용하여 논리적 블록 주소(LBA)로부터 각각 하나의 실제 메모리 블록 주소(SBA)로의 주소 변환을 통해 주소 지정 가능한 방법에 있어서,
    할당자 테이블(ZT)은 할당자 테이블(ZT)은 적어도 하나의 사용 데이터 영역(NB), 버퍼 블록 영역(BB), 손상 영역(DB) 및 리저브 영역(RB)으로 세분화되며, 블록 삭제 시에 에러가 발생할 경우, 할당자 테이블(ZT)은 상응하는 블록의 메모리 주소가 손상 영역(DB)에 등록되고, 이 위치에서, 이전에 리저브 영역(RB)에 등록된 블록이 주소 지정되는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    손상 영역(DB)은 손상된 블록이 존재하는 만큼의 항목을 포함하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서,
    손상 영역(DB)은 손상된 블록의 항목을 통해 하나의 항목만큼 증가하고 리저브 영역(RB)은 하나의 항목만큼 축소하는 것을 특징으로 하는 방법.
  4. 제 3 항에 있어서,
    메모리의 품질은 손상 영역(DB)에 대한 리저브 영역(RB)의 항목수의 비율을 통해 결정되는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    하나의 메모리 블록(SB) 내로의 쓰기 작업시에 에러가 발생할 경우, 상응하는 블록은 식별자 "defect"(DEF)로 표시되는 것을 특징으로 하는 방법.
  6. 제 5 항에 있어서,
    배경 프로그램은 삭제되는 메모리 블록(SB)에 따라 할당자 테이블(ZT)을 서치하여 삭제하고, 식별자 "defect"를 갖는 메모리 블록이 존재하는 경우에는 이를 삭제하는 것이 아니라 손상 영역(DB)에 등록하는 것을 특징으로 하는 방법.
KR1020067004129A 2003-09-10 2004-08-12 플래쉬 메모리 내의 손상된 블록 관리 KR20060123075A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10341616.1 2003-09-10
DE10341616A DE10341616A1 (de) 2003-09-10 2003-09-10 Verwaltung defekter Blöcke in Flash-Speichern

Publications (1)

Publication Number Publication Date
KR20060123075A true KR20060123075A (ko) 2006-12-01

Family

ID=34305635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067004129A KR20060123075A (ko) 2003-09-10 2004-08-12 플래쉬 메모리 내의 손상된 블록 관리

Country Status (10)

Country Link
US (1) US20070109881A1 (ko)
EP (1) EP1665287B8 (ko)
JP (1) JP2007505416A (ko)
KR (1) KR20060123075A (ko)
CN (1) CN100487817C (ko)
AT (1) ATE366986T1 (ko)
CA (1) CA2536994A1 (ko)
DE (2) DE10341616A1 (ko)
TW (1) TW200527440A (ko)
WO (1) WO2005027139A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005001038B3 (de) * 2005-01-07 2006-05-04 Hyperstone Ag Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern
US7441068B2 (en) 2006-01-06 2008-10-21 Phison Electronics Corp. Flash memory and method for utilizing the same
SG134195A1 (en) * 2006-01-23 2007-08-29 Phison Electronics Corp Flash memory and method for utilizing the same
US8638596B2 (en) * 2011-07-25 2014-01-28 Qualcomm Incorporated Non-volatile memory saving cell information in a non-volatile memory array
US9954557B2 (en) 2014-04-30 2018-04-24 Microsoft Technology Licensing, Llc Variable width error correction
CN105355233B (zh) * 2015-11-23 2018-04-10 清华大学 基于pcm反转纠错算法的高效数据写入方法
KR102435890B1 (ko) 2017-08-17 2022-08-25 삼성전자주식회사 스토리지 장치의 어드레스 맵핑 방법 및 동작 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3464836B2 (ja) * 1995-01-19 2003-11-10 富士通株式会社 記憶装置のメモリ管理装置
JP3472008B2 (ja) * 1996-01-16 2003-12-02 株式会社東芝 フラッシュメモリ管理方法
JPH09330598A (ja) * 1996-06-10 1997-12-22 Mitsubishi Electric Corp 記憶装置及びその特性劣化状態判定方法
JP3557511B2 (ja) * 1997-08-27 2004-08-25 沖電気工業株式会社 半導体ディスク装置の寿命算出方法
CN1249586C (zh) * 1997-12-22 2006-04-05 Tdk株式会社 闪速存储器系统
JP2003085054A (ja) * 2001-06-27 2003-03-20 Mitsubishi Electric Corp フラッシュメモリを搭載した半導体記憶装置における装置寿命警告発生システムとその方法
JP4059473B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ

Also Published As

Publication number Publication date
DE10341616A1 (de) 2005-05-04
CN100487817C (zh) 2009-05-13
ATE366986T1 (de) 2007-08-15
DE502004004311D1 (de) 2007-08-23
TW200527440A (en) 2005-08-16
EP1665287B8 (de) 2007-10-03
EP1665287B1 (de) 2007-07-11
WO2005027139A1 (de) 2005-03-24
JP2007505416A (ja) 2007-03-08
EP1665287A1 (de) 2006-06-07
US20070109881A1 (en) 2007-05-17
CN1849671A (zh) 2006-10-18
CA2536994A1 (en) 2005-03-24

Similar Documents

Publication Publication Date Title
US6223308B1 (en) Identification and verification of a sector within a block of mass STO rage flash memory
US8407397B2 (en) Block management method for flash memory and controller and storage system using the same
EP1228510B1 (en) Space management for managing high capacity nonvolatile memory
US5907856A (en) Moving sectors within a block of information in a flash memory mass storage architecture
US5956473A (en) Method and system for managing a flash memory mass storage system
US8312204B2 (en) System and method for wear leveling in a data storage device
JP4688584B2 (ja) ストレージ装置
EP1739683A1 (en) Space management for managing high capacity nonvolatile memory
US20030229753A1 (en) Flash memory file system
US8296503B2 (en) Data updating and recovering methods for a non-volatile memory array
US20110078363A1 (en) Block management method for a flash memory and flash memory controller and storage system using the same
US10884652B2 (en) Trim command recording method, memory control circuit unit and memory storage device
US11144210B2 (en) Valid data merging method, memory control circuit unit and memory storage apparatus
US9009442B2 (en) Data writing method, memory controller and memory storage apparatus
US20090125668A1 (en) Management of erased blocks in flash memories
KR20060123075A (ko) 플래쉬 메모리 내의 손상된 블록 관리
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
CN110633056A (zh) 在操作系统层面的Flash芯片的页面管理方法及存储设备
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20200293225A1 (en) Data storage method, memory storage apparatus and memory control circuit unit
CN114203239A (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
WO2006093304A1 (en) Storage device, memory block managing method, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application