KR100910680B1 - 소거 카운트 블록을 유지하는 방법 및 장치 - Google Patents
소거 카운트 블록을 유지하는 방법 및 장치 Download PDFInfo
- Publication number
- KR100910680B1 KR100910680B1 KR1020057007264A KR20057007264A KR100910680B1 KR 100910680 B1 KR100910680 B1 KR 100910680B1 KR 1020057007264 A KR1020057007264 A KR 1020057007264A KR 20057007264 A KR20057007264 A KR 20057007264A KR 100910680 B1 KR100910680 B1 KR 100910680B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- entry
- erased
- erase count
- blocks
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000015654 memory Effects 0.000 claims abstract description 270
- 238000012545 processing Methods 0.000 claims description 15
- 230000009643 growth defect Effects 0.000 claims description 9
- 238000012935 Averaging Methods 0.000 claims 2
- 230000008569 process Effects 0.000 description 41
- 238000013507 mapping Methods 0.000 description 33
- 230000003068 static effect Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 16
- 210000004027 cell Anatomy 0.000 description 12
- 238000007726 management method Methods 0.000 description 12
- 230000005055 memory storage Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 210000000352 storage cell Anatomy 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Physical Vapour Deposition (AREA)
Abstract
Description
Claims (45)
- 비휘발성 메모리 시스템의 시스템 메모리에서 소거 카운트 블록을 초기화시키는 방법으로서, 상기 비휘발성 메모리 시스템은 다수의 블록들로서 정렬된 비휘발성 메모리 및 상기 시스템 메모리를 포함하며, 상기 방법은상기 시스템 메모리 내에 다수의 페이지들을 할당하는 단계 - 상기 다수의 페이지들 각각은 다수의 엔트리들을 포함하며, 상기 다수의 엔트리들 각각의 엔트리는 상기 비휘발성 메모리에서 상기 다수의 블록들의 해당 블록과 관련됨 - ;기록 또는 판독될 수 있는 사용가능한-블록들인지를 식별하고, 사용불가능한 블록들을 식별하기 위해 상기 다수의 블록들을 검사하는 단계;상기 식별된 사용가능한 블록들 각각에 대해, 블록에 대한 상기 다수의 엔트리들의 관련된 엔트리에서, 상기 식별된 사용가능한 블록이 소거되는 횟수를 나타내는 값을 저장하는 단계;상기 식별된 사용불가능한 블록들 각각에 대해, 블록에 대한 상기 다수의 엔트리들의 관련된 엔트리에서, 상기 식별된 사용불가능한 블록이 사용불가능하다는 것을 나타내는 표시기를 저장하는 단계;상기 시스템 메모리 내에 헤더(header)를 할당하는 단계 - 상기 헤더는 상기 다수의 페이지들과 관련됨 - ; 및상기 헤더에 제 2 값을 저장하는 단계를 포함하며, 상기 제 2 값은 상기 다수의 블록들의 사용가능한 블록 각각이 소거되는 평균 횟수를 나타내도록 정렬되는, 소거 카운트 블록을 초기화시키는 방법.
- 제 1 항에 있어서,상기 식별된 사용가능한 블록이 소거되는 횟수를 나타내는 값은 상기 식별된 사용가능한 블록과 관련된 소거 카운트인 것을 특징으로 하는 소거 카운트 블록을 초기화시키는 방법.
- 제 1 항에 있어서,상기 식별된 사용불가능한 블록이 사용불가능하다는 것을 나타내는 상기 표시기는 최대 값 소거 카운트에 해당하는 것을 특징으로 하는 소거 카운트 블록을 초기화시키는 방법.
- 비휘발성 메모리 시스템의 시스템 메모리에서 소거 카운트 블록을 초기화시키는 방법으로서, 상기 비휘발성 메모리 시스템은 다수의 블록들로서 정렬된 비휘발성 메모리 및 상기 시스템 메모리를 포함하며, 상기 방법은상기 시스템 메모리 내에 다수의 페이지들을 할당하는 단계 - 상기 다수의 페이지들 각각은 다수의 엔트리들을 포함하며, 상기 다수의 엔트리들 각각의 엔트리는 상기 비휘발성 메모리에서 상기 다수의 블록들의 해당 블록과 관련됨 - ;기록 또는 판독될 수 있는 사용가능한-블록들인지를 식별하고, 사용불가능한 블록들을 식별하기 위해 상기 다수의 블록들을 검사하는 단계;상기 식별된 사용가능한 블록들 각각에 대해, 블록에 대한 상기 다수의 엔트리들의 관련된 엔트리에서, 상기 식별된 사용가능한 블록과 관련된 소거 카운트를 저장하는 단계;상기 식별된 사용불가능한 블록들 각각에 대해, 블록에 대한 상기 다수의 엔트리들의 관련된 엔트리에서, 상기 식별된 사용불가능한 블록이 사용불가능하다는 것을 나타내는 표시기를 저장하는 단계;상기 소거 카운트들을 실질적으로 평균화시킴으로써 평균값을 결정하는 단계; 및상기 다수의 페이지들과 관련된 제 1 페이지에 상기 평균값을 저장하는 단계를 포함하는, 소거 카운트 블록을 초기화시키는 방법.
- 제 4 항에 있어서,상기 비휘발성 메모리는 NAND 플래시 메모리인 것을 특징으로 하는 소거 카운트 블록을 초기화시키는 방법.
- 시스템 메모리;다수의 블록들로서 정렬된 비휘발성 메모리;상기 시스템 메모리 내에 다수의 페이지들을 할당하는 코드 장치들 - 상기 다수의 페이지들 각각은 다수의 엔트리들을 포함하며, 상기 다수의 엔트리들의 각각의 엔트리는 상기 비휘발성 메모리의 상기 다수의 블록들의 해당 블록과 관련됨 - ;기록 또는 판독될 수 있는 사용가능한 블록들을 식별하고, 사용불가능한 블록들을 식별하기 위해 상기 다수의 블록들을 검사하는 코드 장치들;상기 식별된 사용가능한 블록들 각각에 대해, 블록에 대한 상기 다수의 엔트리들의 관련된 엔트리에서 상기 식별된 사용가능한 블록이 소거되는 횟수를 나타내는 값을 저장하고, 상기 식별된 사용불가능한 블록들에 대해, 블록에 대한 상기 다수의 엔트리들의 관련된 엔트리에서 상기 식별된 사용불가능한 블록이 사용불가능하다는 것을 나타내는 표시기를 저장하는 코드 장치들;상기 다수의 페이지들과 관련된 헤더를 상기 시스템 메모리 내에 할당하는 코드 장치들;상기 헤더에 제 2 값을 저장하는 코드 장치들 - 상기 제 2 값은 상기 다수의 블록들의 사용가능한 각각의 블록이 소거되는 평균 횟수를 나타내도록 정렬됨 - ; 및상기 코드 장치들을 저장하는 메모리 영역을 포함하는 메모리 시스템.
- 제 6 항에 있어서,상기 식별된 사용가능한 블록이 소거되는 횟수를 나타내는 값은 상기 식별된 사용가능한 블록과 관련된 소거 카운트인 것을 특징으로 하는 메모리 시스템.
- 제 6 항에 있어서,상기 식별된 사용불가능한 블록이 사용불가능하다는 것을 나타내는 표시기는 최대 값 소거 카운트에 해당하는 것을 특징으로 하는 메모리 시스템.
- 제 6 항에 있어서,상기 코드 장치들은 팜웨어 코드 장치들 및 소프트웨어 코드 장치들중 하나인 것을 특징으로 하는 메모리 시스템.
- 제 6 항에 있어서,상기 비휘발성 메모리는 NAND 플래시 메모리인 것을 특징으로 하는 메모리 시스템.
- 시스템 메모리;다수의 블록들로서 정렬된 비휘발성 메모리;상기 시스템 메모리 내에 다수의 페이지들을 할당하는 코드 장치들 - 상기 다수의 페이지들 각각은 다수의 엔트리들을 포함하며, 상기 다수의 엔트리들의 각각의 엔트리는 상기 비휘발성 메모리의 상기 다수의 블록들의 해당 블록과 관련됨 - ;기록 또는 판독될 수 있는 사용가능한 블록들을 식별하고, 사용불가능한 블록들을 식별하기 위해 상기 다수의 블록들을 검사하는 코드 장치들;상기 식별된 사용가능한 블록들 각각에 대해, 블록에 대한 상기 다수의 엔트리들의 관련된 엔트리에서 상기 식별된 사용가능한 블록이 소거되는 횟수를 나타내는 값을 저장하고, 상기 식별된 사용불가능한 블록들에 대해, 블록에 대한 상기 다수의 엔트리들의 관련된 엔트리에서 상기 식별된 사용불가능한 블록이 사용불가능하다는 것을 나타내는 표시기를 저장하는 코드 장치들;상기 소거 카운트들을 실질적으로 평균화시킴으로써 평균값을 결정하는 코드 장치들;상기 다수의 페이지들과 관련된 제 1 페이지에 상기 평균값을 저장하는 코드 장치들; 및상기 코드 장치들을 저장하는 메모리 영역을 포함하는 메모리 시스템.
- 제 11 항에 있어서,상기 코드 장치들은 팜웨어 코드 장치들 및 소프트웨어 코드 장치들중 하나인 것을 특징으로 하는 메모리 시스템.
- 제 11 항에 있어서,상기 비휘발성 메모리는 NAND 플래시 메모리인 것을 특징으로 하는 메모리 시스템.
- 제 11 항에 있어서,상기 식별된 사용불가능한 블록이 사용불가능하다는 것을 나타내는 표시기는 최대 값 소거 카운트에 해당하는 것을 특징으로 하는 메모리 시스템.
- 메모리 시스템의 비휘발성 메모리와 관련된 소거된 블록을 처리하는 방법으로서 - 상기 비휘발성 메모리는 다수의 블록들을 포함함 - ,소거된 블록을 얻는 단계;상기 소거된 블록에 해당하는 소거 카운트 블록에서 제 1 엔트리를 식별하는 단계 - 상기 소거 카운트 블록은 상기 비휘발성 메모리의 시스템 메모리에 저장됨 - ;상기 제 1 엔트리가 상기 소거된 블록이 소거되는 횟수의 표시인 경우를 결정하는 단계; 및상기 제 1 엔트리가 상기 소거된 블록이 소거되는 횟수의 표시인 것으로 결정된 경우, 상기 제 1 엔트리를 상기 소거된 블록에 실질적으로 복사하는 단계를 포함하는, 소거된 블록을 처리하는 방법.
- 제 15 항에 있어서,상기 제 1 엔트리가 상기 소거된 블록이 소거되는 횟수의 표시가 아닌 것으로 결정된 경우, 제 2 엔트리를 상기 소거된 블록에 실질적으로 복사하는 단계를 더 포함하며, 상기 제 2 엔트리는 상기 시스템 메모리에 저장되며, 상기 제 2 엔트리는 상기 다수의 블록들이 소거되는 평균 횟수를 나타내도록 정렬되는 것을 특징으로 하는 소거된 블록을 처리하는 방법.
- 제 16 항에 있어서,상기 제 2 엔트리는 상기 소거 카운트 블록에 저장되는 것을 특징으로 하는 소거된 블록을 처리하는 방법.
- 제 15 항에 있어서,상기 제 1 엔트리를 상기 소거된 블록에 실질적으로 복사하는 단계는 상기 소거된 블록의 오버헤드 영역에 상기 제 1 엔트리를 복사하는 단계를 포함하는 것을 특징으로 하는 소거된 블록을 처리하는 방법.
- 소거된 블록을 가지는 다수의 블록들을 포함하는 비휘발성 메모리;시스템 메모리;상기 소거된 블록을 얻기 위한 코드 장치들;상기 소거된 블록에 해당하는 소거 카운트 블록에서 제 1 엔트리를 식별하는 코드 장치들 - 상기 소거 카운트 블록은 상기 시스템 메모리에 저장됨 - ;상기 제 1 엔트리가 상기 소거된 블록이 소거되는 횟수의 표시인 경우를 결정하는 코드 장치들;상기 제 1 엔트리가 상기 소거된 블록이 소거되는 횟수의 표시인 경우, 상기 제 1 엔트리를 상기 소거된 블록으로 실질적으로 복사하는 코드 장치들; 및상기 코드 장치들을 저장하는 메모리 영역을 포함하는 메모리 시스템.
- 제 19 항에 있어서,상기 제 1 엔트리가 상기 소거된 블록이 제거되는 횟수의 표시가 아닌 경우, 제 2 엔트리를 상기 소거된 블록으로 실질적으로 복사하는 코드 장치들을 더 포함하며, 상기 제 2 엔트리는 상기 소거 카운트 블록에 저장되며, 상기 제 2 엔트리는 상기 다수의 블록들이 소거되는 평균 횟수를 표시하도록 정렬되는 것을 특징으로 하는 메모리 시스템.
- 제 19 항에 있어서,상기 제 1 엔트리를 상기 소거된 블록에 실질적으로 복사하는 코드 장치들은 상기 제 1 엔트리를 상기 소거된 블록의 오버헤드 영역으로 복사하는 코드 장치들을 포함하는 것을 특징으로 하는 메모리 시스템.
- 제 19 항에 있어서,상기 코드 장치들은 팜웨어 코드 장치들 및 소프트웨어 코드 장치들중 하나인 것을 특징으로 하는 메모리 시스템.
- 비휘발성 메모리의 시스템 메모리의 소거 카운트 블록 내에서 제 1 엔트리를 업데이트하는 방법으로서, 상기 소거 카운트 블록은 다수의 페이지들을 포함하며, 상기 다수의 페이지들 각각은 다수의 엔트리들을 포함하며, 상기 제 1 엔트리는 상기 다수의 엔트리들에 포함되며, 상기 방법은비휘발성 메모리에 저장된 블록을 식별하는 단계;상기 블록이 이용가능한 경우를 결정하는 단계;상기 블록이 이용가능하지 않다고 결정될 경우, 상기 블록이 이용가능하지 않다는 것을 나타내도록 상기 제 1 엔트리의 비트들을 설정하는 단계;상기 블록이 이용가능하다고 결정될 경우, 상기 블록이 소거되지 않는 경우를 결정하는 단계;상기 블록이 소거되지 않는다고 결정될 경우, 상기 블록에 저장된 비트들을 판독하는 단계 - 상기 비트들은 상기 블록이 소거되는 횟수를 표시하도록 정렬됨 - ; 및상기 블록이 소거되지 않는다고 결정될 경우, 상기 블록에 저장된 비트들에 해당하도록 상기 제 1 엔트리의 비트들을 설정하는 단계를 포함하는, 소거 카운트 블록 내에서 제 1 엔트리를 업데이트하는 방법.
- 제 23 항에 있어서,상기 제 1 엔트리의 비트들을 판독하는 단계; 및상기 제 1 엔트리의 비트들이 상기 블록에 저장된 비트들과 실질적으로 대응하지 않는 경우를 결정하는 단계를 더 포함하며, 상기 제 1 엔트리의 비트들이 상기 블록에 저장된 비트들과 실질적으로 대응하지 않는다고 결정될 경우, 상기 제 1 엔트리의 비트들은 상기 블록에 저장된 비트들과 대응되도록 설정되는 것을 특징으로 하는 소거 카운트 블록 내에서 제 1 엔트리를 업데이트하는 방법.
- 제 23 항에 있어서,상기 블록이 사용가능한 경우를 결정하는 단계는 상기 블록이 성장 결함을 갖는 경우를 결정하는 단계를 포함하며, 상기 블록이 사용가능하지 않다는 것을 나타내도록 상기 제 1 엔트리의 비트들을 설정하는 단계는 상기 블록이 성장 결함을 갖는다는 것을 나타내도록 상기 제 1 엔트리의 비트들을 설정하는 단계를 포함하는 것을 특징으로 하는 소거 카운트 블록 내에서 제 1 엔트리를 업데이트하는 방법.
- 시스템 메모리 - 상기 시스템 메모리는 소거 카운트 블록을 포함하며, 상기 소거 카운트 블록은 다수의 페이지들을 포함하며, 상기 다수의 페이지들의 각각의 페이지는 다수의 엔트리들을 포함하며, 상기 다수의 엔트리들에 제 1 엔트리가 포함됨 - ;비휘발성 메모리;상기 비휘발성 메모리에 저장된 블록을 식별하는 코드 장치들;상기 블록이 사용가능한 경우를 결정하는 코드 장치들;상기 블록이 사용불가능하다고 결정될 경우, 상기 블록이 사용불가능하다는 것을 나타내도록 상기 제 1 엔트리의 비트들을 설정하는 코드 장치들;상기 블록이 사용가능하다고 결정될 경우, 상기 블록이 소거되지 않는 경우를 결정하는 코드 장치들;상기 블록이 소거되지 않는다고 결정될 경우, 상기 블록에 저장된 비트들을 판독하는 코드 장치들 - 상기 비트들은 상기 블록이 소거되는 횟수를 나타내도록 정렬됨 - ;상기 블록이 소거되지 않는다고 결정될 경우, 상기 제 1 엔트리의 비트들을 상기 블록에 저장된 비트들과 대응하도록 설정하는 코드 장치들; 및상기 코드 장치들을 저장하는 메모리 영역을 포함하는 메모리 시스템.
- 제 26 항에 있어서,상기 제 1 엔트리의 비트들을 판독하는 코드 장치들; 및상기 제 1 엔트리의 비트들이 상기 블록에 저장된 비트들과 실질적으로 대응하지 않는 경우를 결정하는 코드 장치들을 더 포함하며, 상기 제 1 엔트리의 비트들이 상기 블록에 저장된 비트들과 실질적으로 대응하지 않는다고 결정될 경우, 상기 제 1 엔트리의 비트들은 상기 블록에 저장된 비트들과 대응되도록 설정되는 것을 특징으로 하는 메모리 시스템.
- 제 26 항에 있어서,상기 블록이 사용가능한 경우를 결정하는 코드 장치들은 상기 블록이 성장 결함을 갖는 경우를 결정하는 코드 장치들을 포함하며, 상기 블록이 사용불가능하다는 것을 나타내도록 상기 제 1 엔트리의 비트들을 설정하는 코드 장치들은 상기 블록이 성장 결함을 갖는다는 것을 나타내도록 상기 제 1 엔트리의 비트들을 설정하는 코드 장치들을 포함하는 것을 특징으로 하는 메모리 시스템.
- 메모리 시스템의 비휘발성 메모리와 관련된 제 1 블록을 프로세싱하는 방법으로서, 상기 비휘발성 메모리는 다수의 블록들을 포함하며, 상기 방법은상기 제 1 블록이 사용가능한 경우를 결정하는 단계;상기 제 1 블록이 사용가능하다고 결정될 경우, 상기 제 1 블록의 비트들을 판독하는 단계 - 상기 비트들은 상기 제 1 블록이 소거되는 횟수를 나타내도록 정렬됨 - ;상기 제 1 블록에 해당하는 소거 카운트 블록에서 제 1 엔트리를 식별하는 단계 - 상기 소거 카운트 블록은 상기 메모리 시스템의 시스템 메모리에 저장됨 - ;상기 제 1 블록의 비트들이 상기 제 1 엔트리의 값보다 작은 값을 갖는 경우를 결정하는 단계; 및상기 제 1 블록의 비트들이 상기 제 1 엔트리의 값보다 작은 값을 갖는다고 결정될 경우, 상기 제 1 엔트리를 상기 제 1 블록의 비트들에 실질적으로 복사하는 단계를 포함하는, 비휘발성 메모리와 관련된 제 1 블록을 프로세싱하는 방법.
- 제 29 항에 있어서,상기 제 1 블록이 사용불가능하다고 결정될 경우, 상기 제 1 블록이 사용불가능하다는 것을 나타내도록 상기 제 1 엔트리를 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리와 관련된 제 1 블록을 프로세싱하는 방법.
- 제 30 항에 있어서,상기 제 1 블록이 사용불가능하다는 것을 나타내도록 상기 제 1 엔트리를 업데이트하는 단계는 상기 제 1 블록이 성장 결함을 갖는다는 것을 나타내도록 상기 제 1 엔트리를 업데이트하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리와 관련된 제 1 블록을 프로세싱하는 방법.
- 제 29 항에 있어서,상기 제 1 블록의 비트들은 상기 제 1 블록의 리던던트 영역에 위치되는 것을 특징으로 하는 비휘발성 메모리와 관련된 제 1 블록을 프로세싱하는 방법.
- 제 32 항에 있어서,상기 제 1 블록의 비트들은 상기 제 1 블록의 소거 카운트인 것을 특징으로 하는 비휘발성 메모리와 관련된 제 1 블록을 프로세싱하는 방법.
- 제 1 블록을 가지는 다수의 블록들을 포함하는 비휘발성 메모리;시스템 메모리 - 상기 시스템 메모리는 소거 카운트 블록을 포함하며, 상기 소거 카운트 블록은 다수의 페이지들을 포함하며, 상기 다수의 페이지들은 실질적으로 다수의 엔트리들로 분할됨 - ;상기 제 1 블록이 사용가능한 경우를 결정하는 코드 장치들;상기 제 1 블록이 사용가능하다고 결정될 경우, 상기 제 1 블록의 비트들을 판독하는 코드 장치들 - 상기 비트들은 상기 제 1 블록이 소거되는 횟수를 나타내도록 정렬됨 - ;상기 제 1 블록에 해당하는 상기 소거 카운트 블록의 제 1 엔트리를 식별하는 코드 장치들 ;상기 제 1 블록의 비트들이 상기 제 1 엔트리의 값보다 작은 값을 가지는 경우를 결정하는 코드 장치들;상기 제 1 블록의 비트들이 상기 제 1 엔트리의 값보다 작은 값을 갖는다고 결정될 경우, 상기 제 1 엔트리를 상기 제 1 블록의 비트들에 실질적으로 복사하는 코드 장치들 ; 및상기 코드 장치들을 저장하는 메모리 영역을 포함하는 메모리 시스템.
- 제 34 항에 있어서,상기 제 1 블록이 사용불가능하다고 결정될 경우, 상기 제 1 블록이 사용불가능하다는 것을 나타내도록 상기 제 1 엔트리를 업데이트하는 코드 장치들을 더 포함하며, 상기 제 1 블록이 사용불가능하다는 것을 나타내도록 상기 제 1 엔트리를 업데이트하는 코드 장치들은 상기 제 1 블록이 성장 결함을 갖는다는 것을 나타내도록 상기 제 1 엔트리를 업데이트하는 코드 장치들을 포함하는 것을 특징으로 하는 메모리 시스템.
- 제 34 항에 있어서,상기 제 1 블록의 비트들은 상기 제 1 블록의 리던던트 영역에 위치되는 것을 특징으로 하는 메모리 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/281,626 US7103732B1 (en) | 2002-10-28 | 2002-10-28 | Method and apparatus for managing an erase count block |
US10/281,626 | 2002-10-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050070091A KR20050070091A (ko) | 2005-07-05 |
KR100910680B1 true KR100910680B1 (ko) | 2009-08-04 |
Family
ID=32228768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057007264A KR100910680B1 (ko) | 2002-10-28 | 2003-09-10 | 소거 카운트 블록을 유지하는 방법 및 장치 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7103732B1 (ko) |
EP (1) | EP1559015B1 (ko) |
JP (1) | JP4445394B2 (ko) |
KR (1) | KR100910680B1 (ko) |
CN (1) | CN100538660C (ko) |
AT (1) | ATE555441T1 (ko) |
AU (1) | AU2003270462A1 (ko) |
TW (1) | TWI297893B (ko) |
WO (1) | WO2004040457A1 (ko) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE372578T1 (de) * | 2002-10-28 | 2007-09-15 | Sandisk Corp | Automatischer abnutzungsausgleich in einem nicht- flüchtigen speichersystem |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US7433993B2 (en) | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
WO2005066970A2 (en) * | 2003-12-30 | 2005-07-21 | Sandisk Corporation | Robust data duplication and improved update method in a multibit non-volatile memory |
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
US7509471B2 (en) | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7747813B2 (en) * | 2006-11-24 | 2010-06-29 | Sandforce, Inc. | Multi-memory device system and method for managing a lifetime thereof |
US20080126685A1 (en) * | 2006-11-24 | 2008-05-29 | Radoslav Danilak | System, method, and computer program product for reducing memory write operations using an instruction set |
US7904619B2 (en) | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for reducing memory write operations using difference information |
US7809900B2 (en) * | 2006-11-24 | 2010-10-05 | Sandforce, Inc. | System, method, and computer program product for delaying an operation that reduces a lifetime of memory |
US7904764B2 (en) * | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | Memory lifetime gauging system, method and computer program product |
US7904672B2 (en) * | 2006-12-08 | 2011-03-08 | Sandforce, Inc. | System and method for providing data redundancy after reducing memory writes |
US8090980B2 (en) * | 2006-12-08 | 2012-01-03 | Sandforce, Inc. | System, method, and computer program product for providing data redundancy in a plurality of storage devices |
US7731365B2 (en) * | 2007-03-19 | 2010-06-08 | Johnson&Johnson Vision Care, Inc. | Method of fitting contact lenses |
CN101419834B (zh) * | 2007-10-22 | 2011-03-30 | 群联电子股份有限公司 | 平均磨损方法及使用此方法的控制器 |
US7903486B2 (en) * | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
US7849275B2 (en) | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
US9183133B2 (en) * | 2007-11-28 | 2015-11-10 | Seagate Technology Llc | System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory |
TWI382422B (zh) * | 2008-07-11 | 2013-01-11 | Genesys Logic Inc | 根據錯誤更正碼更新快閃記憶體之資料頁面之儲存裝置與方法 |
US20100017566A1 (en) * | 2008-07-15 | 2010-01-21 | Radoslav Danilak | System, method, and computer program product for interfacing computing device hardware of a computing device and an operating system utilizing a virtualization layer |
US20100017588A1 (en) * | 2008-07-15 | 2010-01-21 | Radoslav Danilak | System, method, and computer program product for providing an extended capability to a system |
US20100064093A1 (en) * | 2008-09-09 | 2010-03-11 | Radoslav Danilak | System, method, and computer program product for converting data in a binary representation to a non-power of two representation |
TWI470428B (zh) * | 2008-10-03 | 2015-01-21 | Phison Electronics Corp | 用於非揮發性記憶體的資料程式規劃系統、記憶體管理方法及其控制器 |
KR20100055565A (ko) * | 2008-11-18 | 2010-05-27 | 삼성전자주식회사 | 메모리 장치 및 메모리 장치의 관리 방법 |
US20100146236A1 (en) * | 2008-12-08 | 2010-06-10 | Radoslav Danilak | System, method, and computer program product for rendering at least a portion of data useless in immediate response to a delete command |
US20100250830A1 (en) * | 2009-03-27 | 2010-09-30 | Ross John Stenfort | System, method, and computer program product for hardening data stored on a solid state disk |
US8090905B2 (en) * | 2009-03-27 | 2012-01-03 | Sandforce, Inc. | System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format |
US8230159B2 (en) | 2009-03-27 | 2012-07-24 | Lsi Corporation | System, method, and computer program product for sending logical block address de-allocation status information |
US8671258B2 (en) | 2009-03-27 | 2014-03-11 | Lsi Corporation | Storage system logical block address de-allocation management |
US8069384B2 (en) * | 2009-06-08 | 2011-11-29 | Seagate Technology Llc | Scanning reassigned data storage locations |
US20110004718A1 (en) * | 2009-07-02 | 2011-01-06 | Ross John Stenfort | System, method, and computer program product for ordering a plurality of write commands associated with a storage device |
US9792074B2 (en) * | 2009-07-06 | 2017-10-17 | Seagate Technology Llc | System, method, and computer program product for interfacing one or more storage devices with a plurality of bridge chips |
US8140712B2 (en) * | 2009-07-17 | 2012-03-20 | Sandforce, Inc. | System, method, and computer program product for inserting a gap in information sent from a drive to a host device |
US8516166B2 (en) * | 2009-07-20 | 2013-08-20 | Lsi Corporation | System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory |
US8108737B2 (en) * | 2009-10-05 | 2012-01-31 | Sandforce, Inc. | System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device |
JP5593254B2 (ja) * | 2010-05-12 | 2014-09-17 | パナソニック株式会社 | 半導体メモリ装置及び半導体メモリシステム |
US8447920B1 (en) * | 2010-06-29 | 2013-05-21 | Western Digital Technologies, Inc. | System and method for managing data access in non-volatile memory |
CN102543177B (zh) * | 2010-12-17 | 2016-01-06 | 西安奇维测控科技有限公司 | 一种固态盘静态磨损平衡算法 |
KR101989018B1 (ko) * | 2012-06-25 | 2019-06-13 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 동작 방법 |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
JP6636930B2 (ja) * | 2014-09-25 | 2020-01-29 | 株式会社京都ソフトウェアリサーチ | フラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラム |
US9830087B2 (en) * | 2014-11-13 | 2017-11-28 | Micron Technology, Inc. | Memory wear leveling |
US10338817B2 (en) | 2014-12-30 | 2019-07-02 | Sandisk Technologies Llc | Systems and methods for storage recovery |
US10007432B2 (en) * | 2015-10-13 | 2018-06-26 | Dell Products, L.P. | System and method for replacing storage devices |
US10101939B2 (en) | 2016-03-09 | 2018-10-16 | Toshiba Memory Corporation | Storage system having a host that manages physical data locations of a storage device |
US11809727B1 (en) * | 2016-04-27 | 2023-11-07 | Pure Storage, Inc. | Predicting failures in a storage system that includes a plurality of storage devices |
US9830098B1 (en) | 2016-07-11 | 2017-11-28 | Silicon Motion, Inc. | Method of wear leveling for data storage device |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US11150971B1 (en) | 2020-04-07 | 2021-10-19 | International Business Machines Corporation | Pattern recognition for proactive treatment of non-contiguous growing defects |
CN112181316A (zh) * | 2020-11-04 | 2021-01-05 | 深圳佰维存储科技股份有限公司 | 数据块信息继承方法、装置、存储介质及电子设备 |
JP2023045035A (ja) * | 2021-09-21 | 2023-04-03 | キオクシア株式会社 | メモリシステム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US5406529A (en) | 1992-09-22 | 1995-04-11 | International Business Machines Corporation | Flash non-volatile memory |
US5956473A (en) | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
US6604168B2 (en) | 1995-09-28 | 2003-08-05 | Canon Kabushiki Kaisha | Flash eeprom management using ratio of used to unused sectors |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2685173B2 (ja) | 1986-05-31 | 1997-12-03 | キヤノン株式会社 | メモリ書き込み制御方法 |
JPH07109717B2 (ja) | 1986-05-31 | 1995-11-22 | キヤノン株式会社 | メモリ書き込み制御方法 |
US5268870A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
EP0935255A2 (en) | 1989-04-13 | 1999-08-11 | SanDisk Corporation | Flash EEPROM system |
US5222109A (en) | 1990-12-28 | 1993-06-22 | Ibm Corporation | Endurance management for solid state files |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5438573A (en) | 1991-09-13 | 1995-08-01 | Sundisk Corporation | Flash EEPROM array data and header file structure |
JP2856621B2 (ja) | 1993-02-24 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 |
JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
US5954828A (en) | 1995-01-05 | 1999-09-21 | Macronix International Co., Ltd. | Non-volatile memory device for fault tolerant data |
US5568423A (en) | 1995-04-14 | 1996-10-22 | Unisys Corporation | Flash memory wear leveling system providing immediate direct access to microprocessor |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US5907856A (en) | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US6125435A (en) | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
US5835935A (en) | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
US5860082A (en) | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
US5715193A (en) | 1996-05-23 | 1998-02-03 | Micron Quantum Devices, Inc. | Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks |
US6009496A (en) | 1997-10-30 | 1999-12-28 | Winbond Electronics Corp. | Microcontroller with programmable embedded flash memory |
KR100297986B1 (ko) | 1998-03-13 | 2001-10-25 | 김영환 | 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법 |
EP1027653B1 (de) * | 1998-09-04 | 2004-09-15 | Hyperstone AG | Zugriffssteuerung eines speichers beschränkter löschhäufigkeit |
US6226759B1 (en) | 1998-09-28 | 2001-05-01 | International Business Machines Corporation | Method and apparatus for immediate data backup by duplicating pointers and freezing pointer/data counterparts |
US6260156B1 (en) | 1998-12-04 | 2001-07-10 | Datalight, Inc. | Method and system for managing bad areas in flash memory |
US6282605B1 (en) | 1999-04-26 | 2001-08-28 | Moore Computer Consultants, Inc. | File system for non-volatile computer memory |
US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
KR100644602B1 (ko) | 2000-10-11 | 2006-11-10 | 삼성전자주식회사 | 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조 |
JP2002251884A (ja) | 2001-02-21 | 2002-09-06 | Toshiba Corp | 半導体記憶装置及びそのシステム装置 |
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
US6683817B2 (en) | 2002-02-21 | 2004-01-27 | Qualcomm, Incorporated | Direct memory swapping between NAND flash and SRAM with error correction coding |
-
2002
- 2002-10-28 US US10/281,626 patent/US7103732B1/en not_active Expired - Lifetime
-
2003
- 2003-09-10 KR KR1020057007264A patent/KR100910680B1/ko active IP Right Grant
- 2003-09-10 WO PCT/US2003/028255 patent/WO2004040457A1/en active Application Filing
- 2003-09-10 CN CNB03824764XA patent/CN100538660C/zh not_active Expired - Fee Related
- 2003-09-10 JP JP2004548312A patent/JP4445394B2/ja not_active Expired - Fee Related
- 2003-09-10 EP EP03752155A patent/EP1559015B1/en not_active Expired - Lifetime
- 2003-09-10 AU AU2003270462A patent/AU2003270462A1/en not_active Abandoned
- 2003-09-10 AT AT03752155T patent/ATE555441T1/de active
- 2003-09-18 TW TW092125792A patent/TWI297893B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5406529A (en) | 1992-09-22 | 1995-04-11 | International Business Machines Corporation | Flash non-volatile memory |
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US6604168B2 (en) | 1995-09-28 | 2003-08-05 | Canon Kabushiki Kaisha | Flash eeprom management using ratio of used to unused sectors |
US5956473A (en) | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
Also Published As
Publication number | Publication date |
---|---|
TWI297893B (en) | 2008-06-11 |
EP1559015B1 (en) | 2012-04-25 |
KR20050070091A (ko) | 2005-07-05 |
TW200414201A (en) | 2004-08-01 |
ATE555441T1 (de) | 2012-05-15 |
US7103732B1 (en) | 2006-09-05 |
JP2006504196A (ja) | 2006-02-02 |
JP4445394B2 (ja) | 2010-04-07 |
AU2003270462A1 (en) | 2004-05-25 |
WO2004040457A1 (en) | 2004-05-13 |
CN100538660C (zh) | 2009-09-09 |
CN1701307A (zh) | 2005-11-23 |
EP1559015A1 (en) | 2005-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100910680B1 (ko) | 소거 카운트 블록을 유지하는 방법 및 장치 | |
KR100914089B1 (ko) | 비휘발성 저장 시스템의 소거 카운트 유지 방법 및 장치 | |
KR101110901B1 (ko) | 비-휘발성 저장 시스템의 소모 레벨링 | |
US7035967B2 (en) | Maintaining an average erase count in a non-volatile storage system | |
US7096313B1 (en) | Tracking the least frequently erased blocks in non-volatile memory systems | |
US6973531B1 (en) | Tracking the most frequently erased blocks in non-volatile memory systems | |
JP4611024B2 (ja) | ブロック内のページをグループ化する方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated 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: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140716 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150626 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160630 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20170704 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20180628 Year of fee payment: 10 |