[go: up one dir, main page]

KR100622349B1 - 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법. - Google Patents

불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법. Download PDF

Info

Publication number
KR100622349B1
KR100622349B1 KR1020040061297A KR20040061297A KR100622349B1 KR 100622349 B1 KR100622349 B1 KR 100622349B1 KR 1020040061297 A KR1020040061297 A KR 1020040061297A KR 20040061297 A KR20040061297 A KR 20040061297A KR 100622349 B1 KR100622349 B1 KR 100622349B1
Authority
KR
South Korea
Prior art keywords
address
block
bad block
cell array
memory cell
Prior art date
Application number
KR1020040061297A
Other languages
English (en)
Other versions
KR20060012696A (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 KR1020040061297A priority Critical patent/KR100622349B1/ko
Priority to JP2005025709A priority patent/JP2006048893A/ja
Priority to US11/056,844 priority patent/US7434122B2/en
Priority to DE102005028827A priority patent/DE102005028827A1/de
Publication of KR20060012696A publication Critical patent/KR20060012696A/ko
Application granted granted Critical
Publication of KR100622349B1 publication Critical patent/KR100622349B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

펌웨에 의해 소프트웨어적으로 수행되는 플레시 메모리의 불량 블록 관리를 하드웨어적으로 관리하기 위한 플레시 메모리 및 플레시 메모리에서의 불량 블록 관리 방법이 개시된다. 플레시 메모리의 최초 부팅시, 메모리 셀 어레이부의 소정의 블록에 저장된 불량 블록 맵핑 테이블은 불량 블록 맵핑 로딩부를 통해 불량 블록 맵핑 레지스터부에 저장된다. 어드레스 선택부는 외부로부터 인가되는 논리적 어드레스를 수신하고 불량 블록 맵핑 레지스터부에 저장된 불량 블록 어드레스를 비교한다. 불량 블록 상태 제어부는 불량 블록 맵핑 레지스터부에 저장된 리맵핑 마크를 계수하고, 리맵핑 마크 플레그를 어드레스 선택부로 출력한다. 어드레스 선택부는 수신된 논리적 어드레스 또는 불량 블록 맵핑 레지스터부로부터 수신되는 예비 블록 어드레스를 물리적 어드레스로 선택하여 메모리 셀 어레이부로 출력한다.

Description

불량 블록 관리 기능을 가지는 플레시 메모리 장치 및 플레시 메모리 장치의 불량 블록 관리 방법.{Flash Memory for performing Bad Block Management and Method for performing Bad Block Management of Flash Memory}
도 1은 본 발명의 바람직한 실시예에 따른 플레시 메모리를 도시한 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 불량 블록 맵핑 테이블을 도시한 것이다.
도 3은 본 발명의 바람직한 실시예에 따른 어드레스 선택부를 도시한 블록도이다.
도 4는 본 발명의 바람직한 실시예에 따라 전원이 인가되는 경우의 어드레스 관리 방법을 도시한 플로우 차트이다.
도 5는 본 발명의 바람직한 실시예에 따라 정상 동작시의 어드레스 관리 방법을 도시한 플로우 차트이다.
* 도면의 주요부분에 대한 부호의 설명 *
100 : 메모리 셀 어레이부 200 : 불량 블록 맵핑 레지스터부
300 : 어드레스 선택부 400 : 불량 블록 상태 제어부
500 : 불량 블록 맵핑 로딩부
본 발명은 비휘발성 메모리 장치에 관한 것으로, 더욱 상세하게는 불량 블록을 관리하기 위한 플레시 메모리 장치 및 플레시 메모리 장치의 불량 블록 관리 방법에 관한 것이다.
비휘발성 메모리 장치인 플레시 메모리는 데이터의 기록 및 소거가 전기적으로 수행되는 특성을 가진다. 따라서, 플레시 메모리에 대한 수요는 휴대용 기기를 중심으로 증가하고 있다. 통상, 플레시 메모리의 셀들은 복수개의 블록으로 구성되며, 각각의 블록은 다수의 페이지로 구성된다. 특히 블록은 메모리 셀에 저장된 데이터를 소거하기 위한 최소 단위가 된다.
또한, 플레시 메모리는 프로그램 동작 또는 소거 동작시에 고에너지 장벽을 통과하는 터널링 효과나 높은 운동 에너지를 가진 핫 케리어(hot carrier)가 절연물을 통과하는 핫 케리어 효과를 이용한다. 이러한 프로그램 동작이나 소거 동작은 플레시 메모리 셀에 데이터를 기록하는 횟수를 제한하는 요인이 되며, 데이터의 쓰기 동작시 셀의 오동작을 유발하는 원인이 되기도 한다. 또한, 고집적화가 요구되는 메모리 장치의 제조 공정이 가지는 다수의 제약 요건에 의해 셀들은 불량을 유발하기도 한다. 이와같은, 플레시 메모리의 고집적화에 따른 수율의 저하 및 진행 성 불량을 개선하기 위한 여러 시도들이 진행되고 있다.
여러 시도들 중에서 불량이 발생한 블록을 예비 블록으로 대체하는 리던던시 기술이 있다. 상기 리던던시 기술은 불량이 발생한 블록의 어드레스를 파악하고, 파악된 어드레스에는 데이터의 쓰기나 읽기 동작이 수행되지 않도록 저지하는 것이다. 또한, 불량이 발생한 블록은 소정의 물리적 어드레스를 가진 예비 블록으로 대체되며, 대체된 블록을 통해 데이터의 쓰기나 읽기 동작이 수행된다.
종래의 리던던시 기술에 대해서는 미국 특허 제 6,288,940호에 상세히 개시되어 있다. 종래 기술에 따른 리던던시 기술은 비휘발성 메모리가 불량이 발생한 블록에 대한 정보를 저장하는 저장부 및 불량 정보에 따라 해당 블록에 대한 동작을 저지하는 저지 회로를 포함하는 것을 특징으로 한다. 상기의 구성 요소들을 구비한 비휘발성 메모리에 대한 데이터의 저장이나 읽기 동작을 수행하기 위해, 외부의 펌웨어(firmware)에서 어드레스 및 데이터를 인가하고, 저장부에 저장된 불량 발생 블록의 어드레스와 펌웨어에서 제공하는 물리적인 어드레스와의 비교를 수행한다. 비교 결과 펌웨어에서 제공하는 물리적인 어드레스가 불량 발생 어드레스와 일치하는 경우, 저지 회로는 불량 발생 블록의 동작을 저지하고, 펌웨어는 새로운 어드레스를 제공하여 메모리에 데이터를 인가하게 된다.
상술한 불량 블록 관리 과정은 펌웨어에 과도한 명령어가 정의되어야 함을 의미한다. 즉, 어드레스의 제공과 새로운 어드레스로의 전환 등 일련의 과정을 수행하기 위해 펌웨어에 이식되는 코드는 다양하게 정의되어야 한다. 또한, 펌웨어에 이식되는 코드가 복잡하면 플레시 메모리를 사용하는 시스템 전체의 성능의 저하를 가져온다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제1 목적은 불량 블록 관리 동작이 하드웨어적인 구성에 의해 제어되는 플레시 메모리를 제공하는데 있다.
또한, 본 발명의 제2 목적은 상기 제1 목적에 따른 플레시 메모리에서의 불량 블록 관리 방법을 제공하는데 있다.
상기 제1 목적을 달성하기 위한 본 발명은, 데이터를 저장하고 불량 블록에 대한 정보를 저장하기 위한 위한 메모리 셀 어레이부; 상기 불량 블록에 대한 정보 및 상기 불량 블록에 상응하는 예비 블록에 대한 정보를 저장하기 위한 불량 블록 맵핑 레지스터부; 외부에서 인가되는 제1 어드레스와 불량 블록에 상응하는 제2 어드레스를 선택적으로 비교하기 위한 어드레스 비교부; 및 상기 메모리 셀 어레이부의 불량 블록에 대한 정보의 저장, 상기 불량 블록 맵핑 레지스터부의 저장 동작 및 상기 어드레스 비교부의 선택적 비교 동작을 제어하기 위한 불량 블록 상태 제어부를 포함하는 플레시 메모리를 제공한다.
상기 제2 목적을 달성하기 위한 본 발명은, 플레시 메모리에 전원을 공급하는 단계; 상기 플레시 메모리의 메모리 셀 어레이부에 저장된 불량 블록 맵핑 정보를 불량 블록 맵핑 레지스터부에 저장하는 단계; 외부로부터 외부 어드레스를 인가하는 단계; 상기 외부 어드레스가 상기 불량 블록 맵핑 정보에 포함된 불량 블록의 어드레스인지를 판단하는 단계; 상기 외부 어드레스가 상기 불량 블록의 어드레스인 경우, 상기 외부 어드레스 대신 불량 블록에 상응하는 예비 블록의 어드레스를 상기 메모리 셀 어레이부에 인가하는 단계; 및 상기 외부 어드레스가 상기 불량 블록의 어드레스가 아닌 경우, 상기 외부 어드레스를 상기 메모리 셀 어레이부에 인가하는 단계를 포함하는 플레시 메모리의 어드레스 인가 방법을 제공한다.
또한, 본 발명의 제2 목적은 플레시 메모리에 쓰기 또는 읽기 동작을 수행하는 단계; 상기 플레시 메모리의 메모리 셀 어레이부에 불량 블록 발생 여부를 판단하는 단계; 상기 불량 블록의 발생이 없는 경우, 상기 플레시 메모리에 쓰기 또는 읽기 동작을 수행하는 단계; 상기 불량 블록의 발생이 있는 경우, 불량 블록 정보를 불량 블록 맵핑 어드레스부에 저장하는 단계; 상기 불량 블록 맵핑 어드레스부에 저장된 불량 블록 정보를 근거로 쓰기 또는 읽기 동작을 수행하는 단계; 및 상기 불량 블록 맵핑 어드레스부에 저장된 불량 블록 정보를 메모리 셀 어레이부에 저장하는 단계를 포함하는 플레시 메모리의 어드레스 인가 방법의 제공을 통해서도 달성될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 플레시 메모리를 도시한 블록도이다.
도 1을 참조하면, 본 발명에 따른 플레시 메모리는 메모리 셀 어레이부(100), 불량 블록 맵핑 레지스터부(200), 어드레스 선택부(300) 및 불량 블록 상태 제어부(400)를 가진다.
상기 메모리 셀 어레이부(100)는 다수의 블록들로 구성된다. 다수의 블록은 상호간에 배타적으로 할당된 어드레스를 가진다. 따라서, 각각의 블록은 서로 다른 고유의 어드레스를 가진다. 또한, 상기 메모리 셀 어레이부(100)는 데이터를 저장하기 위한 저장 블록들(110), 상기 저장 블록들 중 오동작이 발생된 불량 블록을 대체하기 위한 예비 블록들(130) 및 오동작이 발생한 불량 블록에 대한 정보를 저장하기 위한 맵핑 정보 저장 블록(150)을 가진다.
메모리 셀 어레이부(100)에서 데이터의 소거 또는 프로그래밍이 수행되는데, 이러한 동작이 수행되기 위해서는 어드레스 버퍼(170)를 통해 메모리 셀 어레이부(100)에 인가되는 물리적 어드레스에 따라 특정 블록 또는 특정 블록내의 페이지가 엑세스되어야 한다. 또한, 데이터의 읽기 동작을 이용하여 소정의 블록내의 셀의 정상 동작 여부는 확인된다. 정상 동작 여부의 확인에 따라 불량이 발생한 블록은 예비 블록으로 대체되고, 불량이 발생한 블록에는 데이터의 엑세스가 일어나지 않는다.
또한, 맵핑 정보 저장 블록(150)은 불량 블록에 대한 정보를 저장한다. 불량 블록에 대한 정보는 불량 블록 맵핑 테이블의 형태로 저장된다. 불량 블록 맵핑 테이블은 메모리 셀 어레이부(100)의 소정의 블록의 정상 동작 여부를 나타내는 리맵핑 마크(remapping mark), 블록의 물리적 어드레스 및 상기 물리적 어드레스에 상응하는 예비 블록 어드레스를 가진다.
불량 블록 맵핑 레지스터부(200)는 다수의 레지스터들로 구성되며, 불량 블 록 맵핑 테이블을 저장한다.
상기 불량 블록 맵핑 레지스터부(200)에 저장된 불량 블록 맵핑 테이블을 근거로 어드레스 선택부(300)는 외부로부터 수신된 논리적 어드레스 및 불량 블록 맵핑 테이블의 불량 블록 어드레스를 비교하는 역할을 수행한다. 바람직하게는 상기 불량 블록 맵핑 테이블의 리맵핑 마크의 수만큼 비교 동작을 수행할 수 있다.
또한, 어드레스 선택부(300)는 상기 비교 결과 및 불량 블록에 대한 정보를 근거로 수신된 논리적 어드레스 또는 예비 블록 어드레스를 물리적 어드레스로 선택할 수 있다. 리맵핑 마크의 수가 0인 경우는 불량 블록이 메모리 셀 어레이부(100)에 존재하지 않는 것을 나타내므로, 수신되는 논리적 어드레스에 대한 비교 동작과 무관하게 논리적 어드레스와 동일한 물리적 어드레스를 메모리 셀 어레이부(100)에 인가할 수 있다. 논리적 어드레스와 물리적 어드레스가 동일하고 리맵핑 마크의 수가 1 이상인 경우, 어드레스 선택부(300)는 불량 블록 맵핑 레지스터부(200)로부터 제공되는 예비 블록 어드레스를 물리적 어드레스로 선택하여 메모리 셀 어레이부(100)로 출력한다.
불량 블록 상태 제어부(400)는 상기 어드레스 선택부(300)의 어드레스 선택 동작에 필요한 리맵핑 마크 플래그를 발생한다. 상기 리맵핑 마크 플래그는 불량 블록 레지스터부(200)에 저장된 리맵핑 마크의 개수가 1이상인 경우, 고레벨로 설정된다.
또한, 수신된 논리적 어드레스에 상응하는 메모리 셀 어레이부(100)의 블록에서 동작 불량이 발생된 경우, 불량 블록 맵핑 레지스터부(200)에 저장된 불량 블 록 맵핑 테이블을 갱신한다.
또한, 상기 불량 블록 상태 제어부(100)는 플레시 메모리의 파워-오프에 따른 불량 블록 맵핑 레지스터부(200)의 맵핑 테이블의 소거에 대비하여, 상기 불량 블록 맵핑 레지스터부(200)의 맵핑 테이블을 메모리 셀 어레이부(100)의 맵핑 정보 저장 블록(150)에 저장하는 역할을 수행한다.
바람직하게는 플레시 메모리는 불량 블록 맵핑 로딩부(500)를 더 포함한다. 상기 불량 블록 맵핑 로딩부(500)는 최초 부팅시에 상기 메모리 셀 어레이부(100)에 저장된 불량 블록에 대한 정보를 상기 불량 블록 맵핑 레지스터부(200)로 로딩하는 역할을 수행한다. 즉, 플레시 메모리의 엑세스가 종료되면, 불량 블록에 대한 정보는 불량 블록 맵핑 레지스터부(200)로부터 메모리 셀 어레이부(100)의 맵핑 정보 저장 블록(150)에 저장된다. 플레시 메모리가 파워-오프되는 경우에도 메모리 셀 어레이부(100)에 저장된 불량 블록에 대한 정보인 불량 블록 맵핑 테이블은 소거되지 않는다. 따라서, 플레시 메모리의 부팅시에 메모리 셀 어레이부(100)에 저장된 불량 블록 맵핑 테이블은 불량 블록 맵핑 로딩부(500)를 통해 불량 블록 맵핑 레지스터부(200)에 저장된다.
도 2는 본 발명의 바람직한 실시예에 따른 불량 블록 맵핑 테이블을 도시한 것이다.
도 2을 참조하면, 상기 불량 블록 맵핑 테이블은 리맵핑 마크, 불량 블록 어드레스 및 예비 블록 어드레스로 이루어진다.
리맵핑 마크는 물리적 어드레스에 불량이 발생한 경우, 불량의 유무를 표시 하기 위한 것이다. 상기 도 2에서의 리맵핑 마크는 2비트로 구성된 것으로 도시하였지만, 실시의 형태에 따라 비트수를 다양하게 구성할 수 있다. 불량 블록 어드레스는 메모리 셀 어레이부를 구성하는 저장 블록들중 오동작이 발생한 블록의 어드레스를 지칭한다. 저장 블록에서 불량이 발생된 경우, 불량 블록의 어드레스는 불량 블록 맵핑 테이블에 저장되고, 상기 불량 블록에 상응하는 예비 블록 어드레스가 할당된다.
예비 블록 어드레스는 저장 블록에서 불량이 발생된 경우, 불량 블록을 대체하는 소정의 예비 블록을 지정하기 위한 어드레스이다.
어드레스 1에 상응하는 블록 1에 대한 엑세스에 의해 소거 동작 또는 프로그래밍 동작이 종료되면, 플레시 메모리는 블록 1의 정상 동작 여부를 확인한다. 블록 1이 오동작을 발생하는 것으로 판단되는 경우, 상기 불량 블록 상태 제어부는 블록 1의 어드레스인 어드레스 1을 불량 블록 맵핑 레지스터부에 저장하고, 상기 어드레스 1에 리맵핑 마크 11을 설정한다. 불량 블록 맵핑 레지스터부에 저장된 불량 블록 맵핑 테이블에는 예비 블록들이 할당되어 있으므로, 외부로부터 입력된 논리적 어드레스가 블록 1을 가리키는 경우, 메모리 셀 어레이부에 인가되는 물리적 어드레스는 예비 블록 0에 할당된 어드레스가 된다.
또한, 블록 2에 대한 소거 동작 또는 프로그래밍 동작의 수행후에 정상 동작 여부에 대한 확인에 따라 블록 2가 오동작을 일으키는 것으로 판단되는 경우, 불량 블록 상태 제어부는 블록 2의 어드레스인 어드레스 2를 블록 맵핑 레지스터부에 저장하고 리맵핑 마크 11을 설정한다. 외부로부터 입력된 논리적 어드레스가 블록 2 를 가리키는 경우, 메모리셀 어레이부에 인가되는 물리적 어드레스는 예비 블록 1에 할당된 어드레스가 된다.
도 3은 본 발명의 바람직한 실시예에 따른 어드레스 선택부를 도시한 블록도이다.
도 3을 참조하면, 어드레스 선택부(300)는 어드레스 비교기(310), 먹스(330) 및 래치(350)로 구성된다.
어드레스 비교기(310)는 외부로부터 인가되는 논리적 어드레스 및 불량 블록 맵핑 레지스터부에 저장된 불량 블록 어드레스를 비교한다. 상기 2개의 어드레스의 비교 결과는 맵핑 플래그(mapping flag)로 출력된다. 논리적 어드레스가 불량 블록 어드레스와 일치하는 경우, 어드레스 비교기(310)는 고레벨의 맵핑 플래그를 발생시킨다. 또한, 논리적 어드레스와 불량 블록 어드레스가 불일치하는 경우, 어드레스 비교기는 저레벨의 맵핑 플래그를 발생시킨다.
먹스(330)는 외부로부터 인가되는 논리적 어드레스 및 예비 블록 어드레스를 수신하고 상기 2개의 어드레스중 하나를 물리적 어드레스로 선택하여 출력한다. 어드레스의 선택은 먹스 제어 신호에 의해 이루어진다. 먹스 제어 신호의 생성은 상기 어드레스 비교기(310)로부터 수신된 매칭 플래그와 불량 블록 상태 제어부로부터 수신된 리맵핑 마크 플래그의 논리곱 연산에 의해 이루어진다. 즉, 상기 도 2에서 불량 블록 맵핑 테이블에 리맵핑 마크가 11로 설정된 경우, 리맵핑 마크 플래그는 고레벨이 된다. 또한, 리맵핑 마크가 설정된 불량 블록 어드레스와 논리적 어드레스가 일치하여 매칭 플래그가 고레벨이 되면, 먹스 제어 신호는 고레벨이된다. 먹스 제어 신호가 고레벨인 경우, 먹스(330)는 예비 블록 어드레스를 물리적 어드레스로 선택하여 출력하며, 먹스 제어 신호가 저레벨인 경우, 먹스(330)는 논리적 어드레스를 물리적 어드레스로 선택하여 출력한다.
래치(350)는 외부로부터 인가된 논리적 어드레스를 저장한다. 예컨대, 논리적 어드레스가 물리적 어드레스로 선택되어 메모리 셀 어레이부로 인가되는 경우, 상기 물리적 어드레스에 상응하는 블록은 엑세스된다. 블록에 대한 소거 동작 또는 상기 블록내의 소정의 페이지에 대한 프로그래밍 동작의 완료후, 블록의 정상 동작여부는 확인된다. 엑세스된 블록이 오동작을 발생하는 것으로 판단되는 경우, 래치(350)에 저장된 논리적 어드레스는 불량 블록 상태 제어부를 통해 불량 블록 맵핑 레지스터부로 출력된다. 불량 블록 맵핑 레지스터부는 불량 블록 상태 제어부로부터 리맵핑 마크 및 래치에 저장된 논리적 어드레스를 저장한다.
도 4는 본 발명의 바람직한 실시예에 따라 전원이 인가되는 경우의 어드레스 관리 방법을 도시한 플로우 차트이다.
도 4 및 도 1을 참조하면, 플레시 메모리가 파워-오프된 상태에서, 플레시 메모리에 전원이 공급되어 부팅이 시작된다(S100).
파워-오프 상태에서 플레시 메모리의 불량 블록 맵핑 레지스터부(200)에 저장된 불량 블록에 대한 정보는 소거된 상태이므로, 논리적 어드레스의 물리적 어드레스로의 선택 동작 수행은 발생하지 않는다. 다만, 플레시 메모리의 블록내에 저장된 정보는 소거되지 않고 유지되어 있다. 따라서, 맵핑 정보 저장 블록(150)에 저장된 불량 블록 맵핑 테이블은 소거되지 않고 유지된 상태가 된다.
플레시 메모리가 부팅되면, 맵핑 정보 저장 블록(150)에 저장된 불량 블록 맵핑 테이블은 불량 블록 맵핑 레지스터부(200)로 저장된다(S110). 불량 블록 맵핑 로딩부(500)는 상기 맵핑 정보 저장 블록의 맵핑 테이블을 엑세스하고, 수신된 맵핑 테이블을 불량 블록 맵핑 레지스터부(200)에 저장한다.
계속해서, 외부로부터 논리적 어드레스가 인가된다(S120). 어드레스 선택부(300)는 논리적 어드레스를 수신한다.
또한, 불량 블록 상태 제어부(400)는 불량 블록 맵핑 레지스터부(200)에 저장된 불량 블록 맵핑 테이블의 리맵핑 마크의 수를 계수한다(S130).
리맵핑 마크의 수가 0인 경우, 어드레스 선택부(300)는 논리적 어드레스를 물리적 어드레스로 선택하고, 선택된 물리적 어드레스를 메모리 셀 어레이부(100)에 인가한다(S140).
또한, 리맵핑 마크의 수가 0이 아닌 경우, 불량 블록 상태 제어부(400)는 리맵핑 마크 플래그를 발생한다. 리맵핑 마크 플레그에 따라 어드레스 비교부(300)는 외부로부터 수신된 논리적 어드레스와 불량 블록 맵핑 레지스터부(200)로부터 수신된 불량 블록 어드레스를 비교한다(S150).
상기 비교동작에 의해 논리적 어드레스와 불량 블록 어드레스가 일치하는 경우, 불량 블록 어드레스에 상응하는 예비 블록 어드레스를 물리적 어드레스로 선택하고, 선택된 물리적 어드레스를 메모리 셀 어레이부(100)에 인가한다(S160).
또한, 논리적 어드레스와 불량 블록 어드레스가 일치하지 않는 경우, 외부로부터 수신된 논리적 어드레스를 물리적 어드레스로 선택하고, 선택된 어드레스를 메모리 셀 어레이부(100)에 인가한다(S140).
바람직하게는 리맵핑 마크의 수를 계수하고, 리맵핑 마크의 수에 상응하는 리맵핑 마크 플래그를 발생하여 리맵핑 마크 플래그의 수만큼 비교 동작을 수행한다. 또한, 상기 도 4에 도시되지 아니하였지만, 논리적 어드레스의 인가후에 상기 논리적 어드레스를 저장하는 단계가 포함될 수도 있다.
도 5는 본 발명의 바람직한 실시예에 따라 정상 동작시의 어드레스 관리 방법을 도시한 플로우 차트이다.
도 5 및 도 1을 참조하면, 플레시 메모리의 정상 동작은 부팅된 상태에서 데이터의 쓰기 또는 읽기 동작이 정상적으로 진행되는 것을 지칭한다.
메모리 셀 어레이부(100)에 인가된 어드레스에 상응하는 소정의 블록에 데이터의 쓰기 동작이 수행된다(S200). 상기 쓰기 동작의 수행은 외부로부터 논리적 어드레스를 수신, 리맵핑 마크 플레그에 따라 논리적 어드레스 또는 예비 블록 어드레스를 물리적 어드레스로 선택 및 래치를 이용한 논리적 어드레스의 저장 및 선택된 물리적 어드레스에 상응하는 블록에 대한 소거/프로그래밍 동작으로 이루어진다.
즉, 외부로부터 논리적 어드레스는 어드레스 선택부(300)로 인가된다. 또한, 불량 블록 상태 제어부(400)는 불량 블록 맵핑 레지스터부(200)로부터 리맵핑 마크의 수를 계수한다. 리맵핑 마크의 수가 1이상인 경우, 불량 블록 상태 제어부(400)는 불량 블록이 메모리 셀 어레이부(100)내에 존재한다는 사실을 나타내는 리맵핑 마크 플래그를 발생한다.
상기 논리적 어드레스와 불량 블록 맵핑 레지스터부(200)로부터 수신된 불량 블록 어드레스는 어드레스 선택부(300)의 어드레스 비교기(310)에서 비교된다. 상기 논리적 어드레스와 불량 블록 어드레스가 일치하는 경우, 어드레스 비교기(310)는 고레벨의 매칭 플래그를 발생하며, 발생된 매칭 플래그 및 리맵핑 마크 플래그의 논리 연산에의해 먹스 제어 신호가 발생된다.
먹스 제어 신호에 따라 먹스(330)는 논리적 어드레스 또는 예비 블록 어드레스를 물리적 어드레스로 선택하여 메모리 셀 어레이부(100)로 출력한다.
즉, 불량 블록 맵핑 레지스터부(200)에 불량 블록 어드레스의 설정 유무를 나타내는 리맵핑 마크 플래그가 저레벨로 설정되거나 논리적 어드레스와 불량 블록 어드레스의 일치 여부를 나타내는 매칭 플래그가 저레벨인 경우, 먹스(330)는 논리적 어드레스를 물리적 어드레스로 선택한다. 또한, 리맵핑 마크 플래그가 고레벨로 불량 블록 어드레스의 설정을 나타내고 매칭 플래그가 고레벨로서 상기 불량 블록 어드레스와 논리적 어드레스가 일치하는 것을 나타내는 경우, 먹스(330)는 예비 블록 어드레스를 물리적 어드레스로 선택하여 메모리 셀 어레이부(100)로 출력한다.
상술한 논리적 어드레스와 불량 블록 어드레스의 비교 동작 및 먹스(330)의 논리적 어드레스 또는 예비 블록 어드레스의 선택 동작과 관계없이 논리적 어드레스는 래치(350)에 저장된다.
물리적 어드레스가 메모리 셀 어레이부(100)에 인가되고 물리적 어드레스에 상응하는 블록에대한 엑세스가 일어나면, 블록의 오동작 여부가 확인된다(S210). 상기 확인과정에 따라 블록이 정상 동작을 수행하는 것으로 판단되는 경우, 플레시 메모리는 새로운 논리적 어드레스를 인가하여 새로운 블록에 대한 데이터의 엑세스를 수행한다. 또한, 다수의 블록에 대한 데이터의 엑세스를 종료하고, 플레시 메모리를 파워-오프하여야 하는 경우, 불량 블록 맵핑 레지스터부(200)에 저장된 불량 블록 맵핑 테이블은 불량 불록 상태 제어부(400)를 통해 메모리 셀 어레이부(100)의 맵핑 정보 저장 블록(150)에 저장된다.
물리적 어드레스에 상응하는 블록에서 오동작이 발생된 것으로 판단되는 경우, 불량 블록 정보는 불량 블록 맵핑 레지스터부(200)에 저장된다(S220). 예컨대, 논리적 어드레스가 물리적 어드레스로 선택되어 메모리 셀 어레이부(100)로 인가되고, 데이터의 엑세스가 발생한 블록의 오동작이 확인된 경우, 상기 래치(350)에 저장된 논리적 어드레스는 새로운 불량 블록 어드레스가 된다. 상기 새로운 불량 블록 어드레스는 불량 블록 상태 제어부(400)에 의해 불량 블록 맵핑 레지스터부(200)로 저장된다. 불량 블록 상태 제어부(400)는 불량 블록 어드레스와 함께 리맵핑 마크를 발생하여 불량 블록 맵핑 레지스터부(200)에 입력한다.
계속해서 일어나는 새로운 논리적 어드레스의 인가 및 데이터의 엑세스 과정에서 어드레스 선택부(300)에 입력되는 논리적 어드레스가 상기 불량 블록 어드레스와 일치하는 경우, 상기 불량 블록 어드레스에 상응하는 예비 블록 어드레스가 물리적 어들레스로 선택되고(S230), 메모리 셀 어레이부(100)에 인가된다.
또한, 다수의 블록에 대한 데이터의 엑세스를 종료하고, 플레시 메모리를 파워-오프하여야 하는 경우, 불량 블록 맵핑 레지스터부(200)에 저장된 불량 블록 맵핑 테이블은 불량 불록 상태 제어부(400)를 통해 메모리 셀 어레이부의 맵핑 정보 저장 블록에 저장된다.
또한, 상기 도 5에 도시하지 아니하였지만, 불량 블록 정보를 불량 블록 맵핑 레지스터부에 저장하는 단계(S220)후에, 불량이 발생된 블록내의 유효한 페이지에 저장된 데이터를 예비 블록으로 카피-백(copy-back)하는 단계가 개재된다.
상술한 본 발명에 따르면, 펌웨어에서의 소프트웨어를 이용한 불량 블록 관리를 플레시 메모리 내의 하드웨어로 구성하여 실현할 수 있다. 따라서, 하드웨어에서 규정된 동작에 따라 불량 블록 관리가 수행되므로, 펨웨어의 과도한 코드의 이식 및 이에따른 동작 속도의 저하를 방지할 수 있다.
상기와 같은 본 발명에 따르면, 펌웨어를 이용한 소프트웨어적인 동작을 플레시 메모리내의 하드웨어로 구성하여 불량 블록 관리에 소요되는 시간을 단축할 수 있다. 또한, 펌웨어에 이식되는 코드의 수를 줄여서, 펌웨어의 복잡도를 낮출 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (12)

  1. 수신되는 물리적 어드레스에 따라 데이터를 저장하고 불량 블록 맵핑 정보를 저장하기 위한 위한 메모리 셀 어레이부;
    상기 불량 블록 맵핑 정보를 저장하기 위한 불량 블록 맵핑 레지스터부;
    최초 부팅시에 상기 메모리 셀 어레이부에 저장된 상기 불량 블록 맵핑 정보를 상기 불량 블록 맵핑 레지스터부로 로딩하기 위한 불량 블록 맵핑 로딩부;
    상기 블량 맵핑 정보에 근거하여 외부에서 인가되는 논리적 어드레스 또는 상기 논리적 어드레스에 상응하는 예비 블록 어드레스를 상기 물리적 어드레스로 선택하고, 상기 선택된 물리적 어드레스를 상기 메모리 셀 어레이부로 출력하는 어드레스 선택부; 및
    상기 물리적 어드레스에 상응하는 상기 메모리 셀 어레이부의 블록에서 오동작이 발생된 경우에 상기 논리적 어드레스를 블량 블록 어드레스로 하여 상기 불량 블록 맵핑 레지스터의 불량 블록 맵핑 정보를 갱신하고, 상기 불량 블록 맵핑 레지스터부에 저장된 불량 블록 어드레스의 수를 계수하여 상기 어드레스 선택부의 선택 동작을 제어하며, 상기 불량 블록 맵핑 레지스터에 저장된 불량 블록 맵핑 정보를 상기 메모리 셀 어레이부에 저장하기 위한 불량 블록 상태 제어부를 포함하는 플레시 메모리.
  2. 제1항에 있어서, 상기 메모리 셀 어레이부는,
    데이터를 저장하기 위한 저장 블록들;
    상기 저장 블록들 중 오동작이 발생한 적어도 하나의 저장 블록을 대체하기 위한 예비 블록들; 및
    상기 불량 블록 맵핑 정보를 저장하기 위한 맵핑 정보 저장 블록을 포함하는 것을 특징으로 하는 플레시 메모리.
  3. 제2항에 있어서, 상기 불량 블록 맵핑 정보는,
    상기 메모리 셀 어레이부의 불량 블록에 상응하는 불량 블록 어드레스;
    상기 불량 블록 어드레스에 상응하는 예비 블록 어드레스; 및
    불량 블록 어드레스를 식별하기 위한 리맵핑 마크들을 포함하는 것을 특징으로 하는 플레시 메모리.
  4. 삭제
  5. 제3항에 있어서, 상기 어드레스 선택부는,
    상기 논리적 어드레스 및 상기 불량 블록 어드레스를 비교하기 위한 어드레스 비교기;
    상기 논리적 어드레스 또는 상기 예비 블록 어드레스를 물리적 어드레스로 선택하기 위한 먹스; 및
    상기 논리적 어드레스를 저장하기 위한 래치를 포함하는 것을 특징으로 하는 플레시 메모리.
  6. 제5항에 있어서, 상기 어드레스 비교기의 비교 동작의 횟수는 상기 불량 블록 상태 제어부가 계수한 리맵핑 마크의 개수에 상응하는 것을 특징으로 하는 플레시 메모리.
  7. 플레시 메모리에 전원을 공급하는 단계;
    상기 플레시 메모리의 메모리 셀 어레이부에 저장된 불량 블록 맵핑 정보를 불량 블록 맵핑 레지스터부에 저장하는 단계;
    외부로부터 논리적 어드레스를 인가하는 단계;
    리맵핑 마크의 수를 계수하는 단계;
    상기 리맵핑 마크의 수가 0인 경우, 상기 논리적 어드레스를 물리적 어드레스로 선택하여 메모리 셀 어레이부에 인가하는 단계;
    상기 리맵핑 마크의 수가 1 이상인 경우, 상기 논리적 어드레스가 불량 블록 어드레스와 일치하는지를 판단하는 단계;
    상기 논리적 어드레스와 불량 블록 어드레스가 일치하는 경우, 상기 논리적 어드레스에 상응하는 예비 블록 어드레스를 물리적 어드레스로 선택하여 상기 메모리 셀 어레이부에 인가하는 단계; 및
    상기 논리적 어드레스와 불량 블록 어드레스가 일치하지 않는 경우, 상기 논리적 어드레스를 물리적 어드레스로 선택하여 상기 메모리 셀 어레이부에 인가하는 단계를 포함하는 플레시 메모리의 불량 블록 관리 방법.
  8. 플레시 메모리에 쓰기 동작을 수행하는 단계;
    상기 플레시 메모리의 메모리 셀 어레이부에 불량 블록 발생 여부를 판단하는 단계;
    상기 불량 블록의 발생이 없는 경우, 상기 플레시 메모리에 쓰기 동작을 수행하는 단계;
    상기 불량 블록의 발생이 있는 경우, 불량 블록 정보를 불량 블록 맵핑 레지스터부에 저장하는 단계;
    상기 불량 블록 맵핑 레지스터부에 저장된 불량 블록 정보를 근거로 쓰기 또는 읽기 동작을 수행하는 단계; 및
    상기 블량 블록 맵핑 레지스터부에 저장된 상기 불량 블록 정보를 메모리 셀 어레이부의 맵핑 정보 저장 블록에 저장하는 단계를 포함하는 플레시 메모리의 불량 블록 관리 방법.
  9. 제8항에 있어서, 상기 블량 블록 맵핑 레지스터부에 저장된 상기 블량 블록 정보는 상기 플레시 메모리의 엑세스가 종료되면 상기 메모리 셀 어레이부의 상기 맵핑 정보 저장 블록에 저장되는 것을 특징으로 하는 플레시 메모리의 불량 블록 관리 방법.
  10. 제8항에 있어서, 상기 플레시 메모리에 쓰기 동작을 수행하는 단계는,
    외부에서 논리적 어드레스를 인가하는 단계;
    상기 불량 맵핑 레지스터부의 리맵핑 마크의 수를 계수하는 단계;
    상기 리맵핑 마크의 수가 0인 경우, 상기 논리적 어드레스를 물리적 어드레스로 선택하여 상기 메모리 셀 어레이부에 인가하는 단계;
    상기 리맵핑 마크의 수가 1이상인 경우, 상기 논리적 어드레스 또는 상기 논리적 어드레스에 상응하는 예비 블록 어드레스를 물리적 어드레스로 선택하여 상기 메모리 셀 어레이부에 인가하는 단계를 포함하는 것을 특징으로 하는 플레시 메모리의 불량 블록 관리 방법.
  11. 제10항에 있어서, 상기 논리적 어드레스 또는 상기 예비 블록 어드레스를 물리적 어드레스로 선택하여 상기 메모리 셀 어레이부에 인가하는 단계는,
    상기 논리적 어드레스와 불량 블록 어드레스가 일치 여부를 판단하는 단계;
    상기 논리적 어드레스와 상기 불량 블록 어드레스가 일치하는 경우, 상기 논리적 어드레스에 상응하는 예비 블록 어드레스를 물리적 어드레스로 선택하여 메모리 셀 어레이부에 인가하는 단계; 및
    상기 논리적 어드레스와 상기 불량 블록 어드레스가 일치하지 않는 경우, 상기 논리적 어드레스를 물리적 어드레스로 선택하여 상기 메모리 셀 어레이부에 인가하는 단계를 포함하는 것을 특징으로 하는 플레시 메모리의 불량 블록 관리 방법.
  12. 제8항에 있어서, 상기 불량 블록 내의 유효 페이지에 저장된 데이터를 예비 블록에 저장하는 단계를 더 포함하는 것을 특징으로 하는 플레시 메모리의 불량 블록 관리 방법.
KR1020040061297A 2004-08-04 2004-08-04 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법. KR100622349B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040061297A KR100622349B1 (ko) 2004-08-04 2004-08-04 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
JP2005025709A JP2006048893A (ja) 2004-08-04 2005-02-01 不良ブロック管理機能を有するフラッシュメモリ装置及びフラッシュメモリ装置の不良ブロック管理方法
US11/056,844 US7434122B2 (en) 2004-08-04 2005-02-11 Flash memory device for performing bad block management and method of performing bad block management of flash memory device
DE102005028827A DE102005028827A1 (de) 2004-08-04 2005-06-15 Flashspeicherbauelement und Verfahren zur Defektblockbehandlung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040061297A KR100622349B1 (ko) 2004-08-04 2004-08-04 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.

Publications (2)

Publication Number Publication Date
KR20060012696A KR20060012696A (ko) 2006-02-09
KR100622349B1 true KR100622349B1 (ko) 2006-09-14

Family

ID=35758899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040061297A KR100622349B1 (ko) 2004-08-04 2004-08-04 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.

Country Status (4)

Country Link
US (1) US7434122B2 (ko)
JP (1) JP2006048893A (ko)
KR (1) KR100622349B1 (ko)
DE (1) DE102005028827A1 (ko)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100583301C (zh) * 2006-04-29 2010-01-20 宇瞻科技股份有限公司 记忆体动态管理方法
CN100476757C (zh) * 2006-07-20 2009-04-08 何纯淳 闪速存储器的回收方法
KR100845137B1 (ko) * 2006-10-02 2008-07-09 삼성전자주식회사 메모리 장치의 배드 블록 주소를 번역하는 방법, 메모리장치의 배드 블록 주소를 번역하는 장치 및 이를 포함하는메모리 장치 컨트롤러
KR100858241B1 (ko) 2006-10-25 2008-09-12 삼성전자주식회사 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법
KR101342074B1 (ko) 2006-10-25 2013-12-18 삼성전자 주식회사 컴퓨터시스템 및 그 제어방법
US7743303B2 (en) * 2007-01-22 2010-06-22 Micron Technology, Inc. Defective memory block remapping method and system, and memory device and processor-based system using same
US7929372B2 (en) * 2007-01-25 2011-04-19 Samsung Electronics Co., Ltd. Decoder, memory system, and physical position converting method thereof
KR100929155B1 (ko) * 2007-01-25 2009-12-01 삼성전자주식회사 반도체 메모리 장치 및 그것의 메모리 셀 억세스 방법
KR100881052B1 (ko) * 2007-02-13 2009-01-30 삼성전자주식회사 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법
US7991942B2 (en) * 2007-05-09 2011-08-02 Stmicroelectronics S.R.L. Memory block compaction method, circuit, and system in storage devices based on flash memories
US20080282024A1 (en) * 2007-05-09 2008-11-13 Sudeep Biswas Management of erase operations in storage devices based on flash memories
US7882301B2 (en) * 2007-05-09 2011-02-01 Stmicroelectronics S.R.L. Wear leveling in storage devices based on flash memories and related circuit, system, and method
US8041883B2 (en) 2007-05-09 2011-10-18 Stmicroelectronics S.R.L. Restoring storage devices based on flash memories and related circuit, system, and method
JP4994112B2 (ja) 2007-05-22 2012-08-08 ルネサスエレクトロニクス株式会社 半導体集積回路装置およびメモリ制御方法
KR20090014823A (ko) * 2007-08-07 2009-02-11 삼성전자주식회사 배드 블록을 리맵핑하는 플래시 메모리 장치 및 그것의배드 블록의 리맵핑 방법
TW200919448A (en) * 2007-10-17 2009-05-01 Silicon Motion Inc Storage device and method of accessing a status thereof
US7675776B2 (en) * 2007-12-21 2010-03-09 Spansion, Llc Bit map control of erase block defect list in a memory
US8239611B2 (en) 2007-12-28 2012-08-07 Spansion Llc Relocating data in a memory device
US8082384B2 (en) * 2008-03-26 2011-12-20 Microsoft Corporation Booting an electronic device using flash memory and a limited function memory controller
GB0805833D0 (en) * 2008-03-26 2008-04-30 Symbian Software Ltd Swap parition
US8156392B2 (en) * 2008-04-05 2012-04-10 Fusion-Io, Inc. Apparatus, system, and method for bad block remapping
KR101535460B1 (ko) 2008-08-25 2015-07-10 삼성전자주식회사 배드 블록 리맵핑 기능을 갖는 불휘발성 메모리 장치 및 그배드 블록 리맵핑 방법
US7925939B2 (en) * 2008-09-26 2011-04-12 Macronix International Co., Ltd Pre-code device, and pre-code system and pre-coding method thererof
TWI381393B (zh) * 2008-10-06 2013-01-01 Phison Electronics Corp 區塊管理與更換方法、快閃記憶體儲存系統及其控制器
US8301942B2 (en) * 2009-04-10 2012-10-30 International Business Machines Corporation Managing possibly logically bad blocks in storage devices
US8775880B2 (en) * 2009-06-11 2014-07-08 STMicroelectronics Intenational N.V. Shared fuse wrapper architecture for memory repair
US8412985B1 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Hardwired remapped memory
US8412987B2 (en) * 2009-06-30 2013-04-02 Micron Technology, Inc. Non-volatile memory to store memory remap information
US8495467B1 (en) 2009-06-30 2013-07-23 Micron Technology, Inc. Switchable on-die memory error correcting engine
KR20110024832A (ko) * 2009-09-03 2011-03-09 주식회사 하이닉스반도체 데이터 머지 효율이 향상된 반도체 스토리지 시스템 및 그 제어 방법
KR101086876B1 (ko) * 2009-09-30 2011-11-25 주식회사 하이닉스반도체 예비 영역을 유동적으로 관리하는 반도체 스토리지 시스템 및 그 제어 방법
JP5474588B2 (ja) * 2010-01-27 2014-04-16 京セラ株式会社 電子機器
TWI496161B (zh) * 2010-08-06 2015-08-11 Phison Electronics Corp 記憶體識別碼產生方法、管理方法、控制器與儲存系統
CN102375943B (zh) * 2010-08-16 2015-06-10 群联电子股份有限公司 识别码产生方法与存储器管理方法、控制器及储存系统
TWI435216B (zh) 2010-09-27 2014-04-21 Silicon Motion Inc 用來進行超區塊管理之方法以及記憶裝置及控制器
US8909851B2 (en) 2011-02-08 2014-12-09 SMART Storage Systems, Inc. Storage control system with change logging mechanism and method of operation thereof
US8935466B2 (en) 2011-03-28 2015-01-13 SMART Storage Systems, Inc. Data storage system with non-volatile memory and method of operation thereof
KR101797565B1 (ko) * 2011-08-22 2017-12-12 삼성전자 주식회사 불량 페이지를 관리하는 메모리 장치
US9098399B2 (en) 2011-08-31 2015-08-04 SMART Storage Systems, Inc. Electronic system with storage management mechanism and method of operation thereof
US9021319B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
US9021231B2 (en) 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Storage control system with write amplification control mechanism and method of operation thereof
US9063844B2 (en) 2011-09-02 2015-06-23 SMART Storage Systems, Inc. Non-volatile memory management system with time measure mechanism and method of operation thereof
US8959416B1 (en) * 2011-12-16 2015-02-17 Western Digital Technologies, Inc. Memory defect management using signature identification
CN103186471B (zh) * 2011-12-30 2016-10-12 深圳市共进电子股份有限公司 存储设备中坏块的管理方法及系统
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US9298252B2 (en) 2012-04-17 2016-03-29 SMART Storage Systems, Inc. Storage control system with power down mechanism and method of operation thereof
JP6015752B2 (ja) * 2012-05-25 2016-10-26 富士通株式会社 情報処理装置、情報処理プログラム、およびアクセス制御方法
US8949689B2 (en) 2012-06-11 2015-02-03 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
TWI502600B (zh) * 2012-09-28 2015-10-01 Leadconn Technology Co Ltd 記憶體識別碼修正裝置
US9032244B2 (en) * 2012-11-16 2015-05-12 Microsoft Technology Licensing, Llc Memory segment remapping to address fragmentation
US9671962B2 (en) 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9442840B2 (en) 2012-12-19 2016-09-13 Qualcomm Incorporated Virtual boundary codes in a data image of a read-write memory device
US9123445B2 (en) 2013-01-22 2015-09-01 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US9470720B2 (en) 2013-03-08 2016-10-18 Sandisk Technologies Llc Test system with localized heating and method of manufacture thereof
US8990614B2 (en) * 2013-03-14 2015-03-24 Apple Inc. Performance of a system having non-volatile memory
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9043780B2 (en) 2013-03-27 2015-05-26 SMART Storage Systems, Inc. Electronic system with system modification control mechanism and method of operation thereof
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
US9898056B2 (en) 2013-06-19 2018-02-20 Sandisk Technologies Llc Electronic assembly with thermal channel and method of manufacture thereof
US9313874B2 (en) 2013-06-19 2016-04-12 SMART Storage Systems, Inc. Electronic system with heat extraction and method of manufacture thereof
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
KR102136396B1 (ko) 2013-08-30 2020-07-22 삼성전자주식회사 디램의 배드 페이지 관리 기능을 갖는 디램 콘트롤러 및 그에 따른 배드 페이지 관리방법
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
TWI502345B (zh) 2014-05-12 2015-10-01 Via Tech Inc 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法
US20150363309A1 (en) * 2014-06-17 2015-12-17 Kingtiger Technology (Canada) Inc. System and method of increasing reliability of non-volatile memory storage
US10002042B2 (en) 2015-10-22 2018-06-19 Sandisk Technologies Llc Systems and methods of detecting errors during read operations and skipping word line portions
JP6542152B2 (ja) * 2016-03-29 2019-07-10 東芝メモリ株式会社 オブジェクトストレージ、コントローラおよびプログラム
TWI576699B (zh) * 2016-03-31 2017-04-01 慧榮科技股份有限公司 紀錄資料區塊的使用時間的方法及其裝置
US10146604B2 (en) * 2016-08-23 2018-12-04 Oracle International Corporation Bad block detection and predictive analytics in NAND flash storage devices
TWI603335B (zh) * 2016-10-19 2017-10-21 合肥兆芯電子有限公司 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置
US10445199B2 (en) * 2016-12-22 2019-10-15 Western Digital Technologies, Inc. Bad page management in storage devices
US10198383B2 (en) 2016-12-31 2019-02-05 Sandisk Technologies Llc Systems and methods of adjusting an interface bus speed
US10223018B2 (en) 2017-04-19 2019-03-05 Sandisk Technologies Llc Bad page and bad block management in memory
US10924113B2 (en) 2017-08-17 2021-02-16 Western Digital Technologies, Inc. Dynamic calibration of frequency and power storage interface
US10466920B2 (en) 2017-08-17 2019-11-05 Western Digital Technologies, Inc. Method for maximizing frequency while checking data integrity on a physical interface bus
US10762137B1 (en) * 2017-11-15 2020-09-01 Amazon Technologies, Inc. Page table search engine
US10754789B1 (en) 2017-11-15 2020-08-25 Amazon Technologies, Inc. Address translation for storage class memory in a system that includes virtual machines
US10810133B1 (en) 2017-11-15 2020-10-20 Amazon Technologies, Inc. Address translation and address translation memory for storage class memory
US10635515B2 (en) 2017-12-06 2020-04-28 Sandisk Technologies Llc Recovery of partial memory die
KR102410306B1 (ko) * 2018-01-29 2022-06-20 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN113782079A (zh) * 2020-06-10 2021-12-10 深圳市中兴微电子技术有限公司 数据访问方法、控制器、存储器和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0729392A (ja) * 1993-06-24 1995-01-31 Toshiba Corp 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
KR19980026248A (ko) * 1996-10-08 1998-07-15 김광호 자동 결함 블럭 맵핑 기능을 갖는 반도체 메모리 장치
KR19990055972A (ko) * 1997-12-29 1999-07-15 윤종용 블록 재할당 기능을 갖는 플래시 메모리 이용 보조기억장치 및 그 방법
KR20000070451A (ko) * 1997-12-05 2000-11-25 히가시 데쓰로 기억장치 및 액세스방법
US6161195A (en) 1992-05-08 2000-12-12 Kabushiki Kaisha Toshiba EEPROM memory card device having defect relieving means

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0618535B1 (en) 1989-04-13 1999-08-25 SanDisk Corporation EEPROM card with defective cell substitution and cache memory
FR2710445B1 (fr) 1993-09-20 1995-11-03 Sgs Thomson Microelectronics Circuit de redondance dynamique pour mémoire en circuit intégré.
JP2914171B2 (ja) * 1994-04-25 1999-06-28 松下電器産業株式会社 半導体メモリ装置およびその駆動方法
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
KR100297986B1 (ko) * 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
JP2000122935A (ja) * 1998-10-20 2000-04-28 Sanyo Electric Co Ltd 不揮発性メモリのアドレス変換装置
JP2001176290A (ja) * 1999-12-10 2001-06-29 Toshiba Corp 不揮発性半導体記憶装置
JP3893005B2 (ja) 2000-01-06 2007-03-14 富士通株式会社 不揮発性半導体記憶装置
JP3916862B2 (ja) * 2000-10-03 2007-05-23 株式会社東芝 不揮発性半導体メモリ装置
JP2003045196A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd ブロックアドレス切替機能を有するメモリ回路
KR100481857B1 (ko) * 2002-08-14 2005-04-11 삼성전자주식회사 레이아웃 면적을 줄이고 뱅크 마다 독립적인 동작을수행할 수 있는 디코더를 갖는 플레쉬 메모리 장치
JP3875621B2 (ja) * 2002-10-30 2007-01-31 株式会社東芝 不揮発性半導体記憶装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6161195A (en) 1992-05-08 2000-12-12 Kabushiki Kaisha Toshiba EEPROM memory card device having defect relieving means
JPH0729392A (ja) * 1993-06-24 1995-01-31 Toshiba Corp 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
KR19980026248A (ko) * 1996-10-08 1998-07-15 김광호 자동 결함 블럭 맵핑 기능을 갖는 반도체 메모리 장치
KR20000070451A (ko) * 1997-12-05 2000-11-25 히가시 데쓰로 기억장치 및 액세스방법
KR19990055972A (ko) * 1997-12-29 1999-07-15 윤종용 블록 재할당 기능을 갖는 플래시 메모리 이용 보조기억장치 및 그 방법

Also Published As

Publication number Publication date
KR20060012696A (ko) 2006-02-09
US20060031710A1 (en) 2006-02-09
US7434122B2 (en) 2008-10-07
DE102005028827A1 (de) 2006-03-16
JP2006048893A (ja) 2006-02-16

Similar Documents

Publication Publication Date Title
KR100622349B1 (ko) 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
US7472331B2 (en) Memory systems including defective block management and related methods
US7039775B2 (en) Non-volatile storage device and rewrite control method thereof
US7571362B2 (en) Method of managing fails in a non-volatile memory device and relative memory device
US7546440B2 (en) Non-volatile memory devices and control and operation thereof
US6149316A (en) Flash EEprom system
US6462992B2 (en) Flash EEprom system
JP3692313B2 (ja) 不揮発性メモリの制御方法
JP4059473B2 (ja) メモリカード及びメモリコントローラ
US7197595B2 (en) Nonvolatile memory and method of address management
JP4761959B2 (ja) 半導体集積回路装置
JPH11110283A (ja) 不揮発性半導体メモリシステムの制御方法
US20180004413A1 (en) Mapping table updating method, memory control circuit unit and memory storage device
JP4034947B2 (ja) 不揮発性記憶システム
US8068363B2 (en) Flash memory apparatus and read operation control method therefor
JP4849637B2 (ja) メモリカード及びメモリコントローラ
CN110968455B (zh) 一种非易失性存储器的修复方法及装置
JP4433792B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4641034B2 (ja) 不揮発性記憶システム
JP4332108B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2011048852A (ja) 不揮発性記憶システム
JP4090071B2 (ja) フラッシュEEpromシステム

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20040804

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20060227

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20060831

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20060904

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20060905

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20090814

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20100830

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20100830

Start annual number: 5

End annual number: 5

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee