KR101624969B1 - 메모리 시스템 및 그것의 배드 블록 관리 방법 - Google Patents

메모리 시스템 및 그것의 배드 블록 관리 방법 Download PDF

Info

Publication number
KR101624969B1
KR101624969B1 KR1020090045827A KR20090045827A KR101624969B1 KR 101624969 B1 KR101624969 B1 KR 101624969B1 KR 1020090045827 A KR1020090045827 A KR 1020090045827A KR 20090045827 A KR20090045827 A KR 20090045827A KR 101624969 B1 KR101624969 B1 KR 101624969B1
Authority
KR
South Korea
Prior art keywords
bad block
block
memory
bad
allocated
Prior art date
Application number
KR1020090045827A
Other languages
English (en)
Other versions
KR20100127398A (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 KR1020090045827A priority Critical patent/KR101624969B1/ko
Priority to US12/784,683 priority patent/US8417988B2/en
Publication of KR20100127398A publication Critical patent/KR20100127398A/ko
Application granted granted Critical
Publication of KR101624969B1 publication Critical patent/KR101624969B1/ko

Links

Images

Classifications

    • 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

Abstract

본 발명의 실시 예에 따른 메모리 장치의 배드 블록 관리 방법은, 메모리 블록이 배드 블록 조건을 만족할 때 배드 블록을 할당하는 단계, 및 상기 할당된 배드 블록이 배드 블록 해제 조건을 만족할 때 상기 할당된 배드 블록을 해제하는 단계를 포함할 것이다. 본 발명에 따른 메모리 시스템은 할당된 배드 블록일지라도 배드 블록 해제 조건을 만족하면 배드 블록이 해제될 수 있도록 구현됨으로써, 메모리 블록의 효율성이 향상될 것이다.
배드 블록, 관리, 해제, 할당

Description

메모리 시스템 및 그것의 배드 블록 관리 방법{MEMORY SYSTEM AND BAD BLOCK MANAGEMENT METHOD THEREOF}
본 발명은 메모리 시스템 및 그것의 배드 블록 관리 방법에 관한 것이다.
최근 들어 비휘발성 메모리를 사용하는 장치들이 증가하고 있다. 예를 들면, MP3 플레이어, 디지털 카메라(Digital Camera), 휴대전화(Mobile Phone), 캠코더, 플래시 카드(Flash card), 및 SSD(Solid State Drive) 등은 저장장치로 비휘발성 메모리를 사용하고 있다. 저장장치로 비휘발성 메모리를 사용하는 장치들이 증가하면서, 비휘발성 메모리의 용량도 급속히 증가하고 있다. 메모리 용량을 증가시키는 방법들 중 하나는 하나의 메모리 셀(cell)에 다수의 비트들을 저장하는 방식인 이른바 멀티 레벨 셀(MLC: Multi Level Cell) 방식이다.
본 발명의 목적은 프로그램/소거 회수가 증가되더라도 대응하는 메모리 블록의 효율성을 향상시킬 수 있는 메모리 시스템 및 그것의 배드 블록 관리 방법을 제공하는 데 있다.
본 발명의 목적은 할당된 배드 블록을 해제할 수 있는 메모리 시스템 및 그것의 배드 블록 관리 방법을 제공하는 데 있다.
본 발명의 실시 예에 따른 메모리 장치의 배드 블록 관리 방법은, 메모리 블록이 배드 블록 조건을 만족할 때 배드 블록을 할당하는 단계, 및 상기 할당된 배드 블록이 배드 블록 해제 조건을 만족할 때 상기 할당된 배드 블록을 해제하는 단계를 포함할 것이다.
실시 예에 있어서, 상기 배드 블록을 할당하는 단계는, 상기 메모리 블록이 상기 배드 블록 조건을 만족하는지를 판별하는 단계, 상기 메모리 블록이 배드 블록 조건을 만족할 때, 상기 메모리 블록에 후속 처리를 수행하는 단계, 및 상기 메모리 블록을 배드 블록으로 할당하는 단계를 포함하되, 상기 후속 처리에는 소거 상태의 셀을 프로그램 상태의 셀로 프로그램하거나, 상기 메모리 블록이 배드 블록으로 할당될 시점을 저장하거나, 혹은 상기 메모리 블록에 열처리를 할 것이다.
실시 예에 있어서, 상기 배드 블록 조건으로는 프로그램/소거 사이클 회수가 이용되거나 혹은 소거 동작의 실패가 이용될 수 있다.
실시 예에 있어서, 상기 열처리는 상기 메모리 장치의 가열 장치에 의하여 수행될 것이다.
실시 예에 있어서, 상기 배드 블록을 해제하는 단계는, 상기 할당된 배드 블록이 소정의 시간을 경과하였는지를 판별하는 단계, 상기 소정의 시간이 경과된 배드 블록이 상기 배드 블록 해제 조건을 만족하는지를 판별하는 단계, 및 상기 할당 된 배드 블록이 상기 배드 블록 해제 조건을 만족할 경우, 상기 할당된 배드 블록을 해제하는 단계를 포함할 것이다.
실시 예에 있어서, 상기 소정의 시간이 경과되었는지를 판별하기 위하여, 새로운 배드 블록이 할당될 때마다 상기 할당된 배드 블록에 대응하는 카운트 값을 증가시킬 것이다.
실시 예에 있어서, 상기 블록 해제 조건은 상기 할당된 배드 블록에 프로그램 혹은 소거 동작이 수행되는지 여부일 것이다.
실시 예에 있어서, 상기 할당된 배드 블록의 해제시 대응하는 메모리 블록의 프로그램 회수 혹은 소거 회수를 초기화하거나 혹은 줄일 것이다.
실시 예에 있어서, 상기 할당된 배드 블록의 해제시 대응하는 메모리 블록의 메모리 셀당 비트의 개수(bits per cell)가 조절될 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은, 복수의 메모리 블록들, 및 상기 복수의 메모리 블록들 중에서 배드 블록을 관리하는 배드 블록 관리 유닛을 포함하되, 상기 배드 블록 관리 유닛은, 배드 블록 해제 조건을 만족할 경우에, 할당된 배드 블록을 해제하기 위한 배드 블록 해제 유닛을 포함할 것이다.
상술한 바와 같이 본 발명에 따른 메모리 시스템은 할당된 배드 블록일지라도 배드 블록 해제 조건을 만족하면 해제될 수 있도록 구현됨으로써, 메모리 블록의 효율성이 향상될 것이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명할 것이다.
본 발명에 따른 메모리 시스템은 할당된 배드 블록일지라도 배드 블록 해제 조건을 만족할 때 배드 블록을 해제할 수 있도록 구현될 것이다. 이로써, 본 발명의 메모리 시스템은 일반적인 메모리 시스템과 비교할 때 프로그램/소거 사이클 회수가 증가되더라도 메모리 블록의 효율성이 향상될 것이다.
도 1은 본 발명에 따른 메모리 시스템의 제 1 실시 예를 보여주는 도면이다. 도 1을 참조하면, 메모리 시스템(10)은 메모리 어레이(12) 및 배드 블록 관리 유닛(14)을 포함할 것이다. 본 발명의 배드 블록 관리 유닛(14)은 할당된 배드 블록을 해제하기 위한 배드 블록 해제 유닛(142)을 포함할 것이다.
메모리 어레이(12)는 복수의 메모리 블록들(도시되지 않음)을 포함할 것이다. 여기서 복수의 메모리 블록들에는 사용자 블록(122), 예비 블록(124), 배드 블록(126), 및 메타 블록(128)이 포함될 것이다. 아래에서는 설명의 편의를 위하여 메모리 어레이(12)가 플래시 메모리의 메모리 어레이라고 가정하겠다. 그러나 본 발명의 메모리 어레이(12)는 반드시 플래시 메모리 어레이에 한정될 필요는 없다.
사용자 블록(122)은 외부로부터 입력되는 데이터가 쓰여지는 공간이다. 도시되지 않았지만, 사용자 블록(122)은 복수의 메모리 블록들이 포함될 것이다.
예비 블록(124)은 사용자 블록(122) 중에서 배드 블록 조건을 만족하는 메모리 블록을 사용자 블록으로 대체하기 위한 복수의 메모리 블록들이다. 즉, 사용자 블록(122)의 어느 하나의 메모리 블록이 배드 블록 조건을 만족하면, 예비 블록(124)의 어느 하나의 블록은 배드 블록으로 할당된 메모리 블록을 대신하여 사용자 블록으로 할당될 것이다.
배드 블록(126)은 사용할 수 없는 메모리 블록이다. 배드 블록(126)은 크게 제조 공정 시 배드 블록으로 할당되는 초기 배드 블록과, 사용 중에 배드 블록으로 할당되는 런 타임 배드 블록으로 구분될 것이다. 메모리 시스템(10)의 동작 중 메모리 블록이 배드 블록 조건을 만족하면, 메모리 블록은 배드 블록으로 할당될 것이다. 여기서 배드 블록 조건으로는 프로그램/소거 사이클 회수 혹은 소거 동작의 실패가 이용될 수 있다.
예를 들어, 메모리 블록의 소거 회수가 소정의 회수를 초과하게 되면 대응하는 메모리 블록은 배드 블록으로 할당되거나, 메모리 블록이 소거 동작이 실패하면 대응하는 메모리 블록은 배드 블록으로 할당될 것이다. 본 발명의 배드 블록(126)은 배드 블록 해제 조건을 만족하면 사용자 블록(122) 혹은 예비 블록(124)으로 할당될 것이다. 배드 블록 해제 조건에 대한 자세한 설명은 도 5에서 하도록 하겠다.
메타 블록(128)은 메모리 시스템(10)을 관리하기 위한 관리 정보를 저장할 것이다. 예를 들어, 이러한 관리 정보에는 사용자 블록/예비 블록/배드 블록에 대한 블록 할당 정보, 사용자 블록(122)에 포함된 각 메모리 블록들의 프로그램/소거 사이클 회수 정보 등이 포함될 것이다. 여기서 블록 할당 정보는, 예를 들어, 논리 어드레스에 대응하는 물리 어드레스에 관한 맵핑 정보를 포함할 것이다.
배드 블록 관리 유닛(14)은 메모리 어레이(12)의 배드 블록(126)을 할당하거 나 혹은 해제하도록 구현될 것이다. 배드 블록의 할당 혹은 해제에 대한 자세한 설명은 도 3, 도 5 및 도 6에서 하도록 하겠다.
배드 블록 관리 유닛(14)은 배드 블록 해제 조건 만족시 배드 블록을 해제하기 위한 배드 블록 해제 유닛(142)을 포함할 것이다. 배드 블록 해제 유닛(142)은 할당된 배드 블록(126)이 소정의 시간이 경과 된 후에 배드 블록 해제 조건을 만족하는 지를 판별하고, 배드 블록 해제 조건이 만족할 때 배드 블록 해제를 수행하도록 구현될 것이다.
일반적인 메모리 시스템에서는 한번 배드 블록으로 할당된 메모리 블록은 사용 가능한 맵핑 테이블에서 삭제됨으로써, 재사용이 불가능하다. 반면에, 본 발명에 따른 메모리 시스템(10)은 배드 블록으로 할당된 메모리 블록일지라도 배드 블록 해제 조건을 만족할 때 재사용하도록 구현될 것이다. 이로써, 본 발명의 메모리 시스템(10)은 메모리 블록에 프로그램/소거 회수가 증가하더라도 효율성이 향상될 것이다.
도 2는 본 발명의 실시 예에 따른 메모리 시스템의 블록 해제 방법을 보여주는 블록도이다. 도 1 및 도 2를 참조하면, 배드 블록 해제 방법은 다음과 같이 진행될 것이다. 본 발명의 배드 블록 해제 방법은 m(자연수)개의 배드 블록이 할당될 때마다 가장 먼저 배드 블록으로 할당된 배드 블록(BB0)으로부터 배드 블록 해제 테스트 동작을 수행하도록 구현될 것이다.
메모리 시스템(10)의 사용 시간이 지남에 따라, 제 1 배드 블록(BB0)으로부터 제 m 배드 블록(BBm-1)까지 순차적으로 할당될 것이다. 만약, 제 m 배드 블 록(BBm-1)이 할당되면, 배드 블록 해제 유닛(142)은 제 1 배드 블록(BB0)에 대한 배드 블록 해제 테스트 동작을 수행할 것이다. 여기서 배드 블록 해제 테스트는, 예를 들어, 제 1 배드 블록(BBO)에 대한 프로그램 혹은 소거 동작이 될 것이다.
만약, 제 1 배드 블록(BB0)에 대한 프로그램 혹은 소거 동작이 성공하면, 제 1 배드 블록(BB0)은 배드 블록으로부터 해제될 것이다. 즉, 제 1 배드 블록(BB0)은 도 1에 도시된 사용자 블록(122)이 되든지, 혹은 예비 블록(124)으로 할당될 것이다. 한편, 메모리 어레이(12)는 배드 블록 해제 테스트 동작시 배드 블록(126)에 프로그램 혹은 소거 동작을 수행할 수 있도록 구현될 것이다.
만약, 제 1 배드 블록(BB0)에 대한 프로그램 혹은 소거 동작이 실패하면, 제 1 배드 블록(BB0)은 배드 블록으로 유지될 것이다.
이후, 제 m+1 배드 블록(BBm)이 새롭게 할당되면, 배드 블록 해제 유닛(142)은 제 2 배드 블록(BB1)에 대한 배드 블록 해제 동작이 수행될 것이다. 여기서 제 2 배드 블록(BB1)의 배드 블록 해제 동작은 상술 된 제 1 배드 블록(BB0)의 그것과 동일한 방법으로 진행될 것이다.
도 2에 도시된 배드 블록 해제 방법은 산화막 회복을 고려한 것이다. 일반적으로 열화된 산화막은 시간이 경과함에 따라 회복된다. 이는 시간이 경과함에 따라 배드 블록으로 할당된 메모리 블록일지라도 사용 가능한 메모리 블록이 될 수 있다는 것을 의미한다. 따라서, 본 발명의 메모리 시스템(10)에서는 배드 블록으로 할당된 후에 소정의 시간이 지난 후에 배드 블록 해제 동작을 수행하도록 구현될 것이다.
한편, 본 발명의 메모리 시스템(10)에서는 산화막 회복을 가속화하기 위하여 여러 가지 방법들을 이용할 수 있다. 첫째로, 배드 블록으로 할당되기 전에 대응하는 메모리 블록에 대하여 소거 상태(문턱전압 < 0 V)의 메모리 셀들을 프로그램 상태(문턱전압 > 0 V)로 프로그램 동작이 수행될 수 있다. 둘째로, 배드 블록으로 할당되기 전에 대응하는 메모리 블록에 대하여 열처리 동작이 수행될 것이다. 여기서 열처리 동작은 할당될 배드 블록만 선택적으로 하도록 구현될 수 있다.
도 3은 본 발명의 실시 예에 따른 메모리 시스템의 배드 블록 할당 방법을 보여주는 흐름도이다. 도 1 내지 도 3을 참조하면, 배드 블록 할당 방법은 다음과 같이 진행될 것이다.
배드 블록 관리 유닛(14)은 메모리 시스템(10)에서 사용 중인 메모리 블록이 배드 블록 조건을 만족하는지를 판별할 것이다(S110). 예를 들어, 배드 블록 조건은 쓰기 동작시 메모리 블록의 프로그램/소거 회수가 소정의 회수를 초과하였는지 여부 혹은 소거 동작시 메모리 블록의 소거 동작이 실패 여부가 될 것이다.
만일, 배드 블록 조건이 만족되지 않으면, 배드 블록 할당 방법은 완료될 것이다. 반면에, 배드 블록 조건이 만족되면, 대응하는 메모리 블록에 후속 처리가 수행될 것이다(S120). 이러한 후속 처리는 배드 블록 해제 동작을 용이하게 하기 위한 동작들이다. 예를 들어, 프로그램 동작, 시간 정보 저장, 혹은 열처리 동작 등이 될 것이다. 프로그램 동작 및 열처리 동작은 상술 된 바와 같이 산화막의 회복을 가속화하기 위한 동작들이다. 여기서 저장되는 시간 정보는 이후에 배드 블록 해제 동작을 수행하는 시점을 결정하기 위한 정보로 이용될 것이다.
한편, 시간 정보를 저장하기 위해서 카운터가 사용될 수 있다. 예를 들어, 카운터는 할당된 배드 블록에 대응하는 카운트 값이 새로운 배드 블록이 할당될 때마다 증가되도록 구현될 것이다. 이로써, 배드 블록에 대응하는 카운트 값을 이용함으로써, 할당된 배드 블록의 소정의 시간 경과 여부가 결정될 것이다. 예를 들어, 카운트 값이 큰 배드 블록은 카운트 값이 작은 배드 블록과 비교하여 배드 블록으로 할당된 지 상대적으로 많은 시간이 지난 것이다. 이 카운트 값이 소정의 값을 초과할 때, 대응하는 배드 블록에 대한 블록 해제 동작이 수행될 수 있다. 실시 예에 따라, 카운트 값이 작은 배드 블록이, 카운트 값이 큰 배드 블록과 비교하여 배드 블록으로 할당되고부터의 시간이 상대적으로 적을 수 있다.
후속 처리가 끝난 후에, 배드 블록 관리 유닛(14)은 메모리 블록을 배드 블록으로 할당시킬 것이다(S130). 이렇게 메모리 블록이 배드 블록으로 할당되었다는 정보는 메모리 어레이(12)의 메타 블록(128)에 저장될 것이다.
상술 된 바와 같이 본 발명의 메모리 시스템은 배드 블록 할당시 후속 처리에 열처리 동작을 수행하도록 구현될 수 있다. 본 발명의 메모리 시스템은 이러한 열처리 동작을 수행하기 위한 가열 유닛을 포함하도록 구현될 수 있다.
도 4는 본 발명의 메모리 시스템에 대한 제 2 실시 예를 보여주는 블록도이다. 도 4를 참조하면, 메모리 시스템(20)은 메모리 어레이(22), 배드 블록 관리 유닛(24), 및 가열 유닛(26)을 포함할 것이다. 메모리 어레이(22) 및 배드 블록 관리 유닛(24) 각각은, 도 1에 도시된, 메모리 어레이(12) 및 배드 블록 관리 유닛(14)과 동일한 기능을 수행할 것이다. 본 발명의 메모리 시스템(20)은 배드 블록으로 할당될 메모리 블록을 선택적으로 가열하기 위한 가열 유닛(26)을 포함할 것이다. 가열 유닛(26)은 할당될 메모리 블록의 기판을 가열시키도록 구현될 수 있다. 이를 위하여, 메모리 블록의 기판마다 열선이 혹은 발열할 수 있는 물질이 매립되도록 구현될 것이다.
도 5는 도 4에 도시된 메모리 시스템의 배드 블록 할당 방법을 보여주는 흐름도이다. 도 4 및 도 5를 참조하면, 배드 블록 할당 방법은 다음과 같이 진행될 것이다.
배드 블록 관리 유닛(24)은 사용될 메모리 블록이 배드 블록 조건을 만족하는 지 판별할 것이다(S210). 만약, 배드 블록 조건이 만족되지 않으면, 배드 블록 할당 방법은 완료될 것이다. 반면에, 배드 블록 조건이 만족되면, 메모리 블록에 열처리 동작이 수행될 것이다(S220). 이러한 열처리 동작이 소정의 회수만큼 반복될 것이다. 여기서 S230 단계에서는 열처리 동작의 회수 판별이 수행될 것이다. 만약, 열처리 동작의 회수가 소정의 회수 이상이면, 메모리 블록은 최종적으로 배드 블록으로 할당될 것이다(S240). 반면에, 열처리 동작이 소정의 회수를 초과하지 않으면, S210 단계가 진행될 것이다.
본 발명의 메모리 시스템(20)은 상술 된 배드 블록 할당 방법을 통하여, 구체적으로 열처리 동작이 수행됨으로써 메모리 블록의 효율성을 향상시킬 수 있다.
도 6은 본 발명의 실시 예에 따른 메모리 시스템의 배드 블록 해제 방법을 보여주는 흐름도이다. 도 6을 참조하면, 배드 블록 해제 방법은 다음과 같이 진행될 것이다. 설명의 편의를 위하여, 도 1에 도시된 메모리 시스템(10)에 한정하여 설명하도록 하겠다.
배드 블록 해제 유닛(142)은 할당된 배드 블록이 소정의 시간을 경과하였는지를 판별할 것이다(S310). 만약, 소정의 시간이 경과되지 않았다면, 배드 블록 해제 방법은 완료될 것이다. 반면에, 소정의 시간이 경과되었다면, 배드 블록 해제 유닛(142)은 할당된 배드 블록이 배드 블록 해제 조건을 만족하는지를 판별할 것이다(S320). 여기서 배드 블록 해제 조건은 배드 블록에 대한 프로그램 동작 혹은 소거 동작의 성공 여부가 이용될 것이다.
만약, 배드 블록 해제 조건이 만족되지 않으면, 배드 블록 해제 방법은 완료될 것이다. 반면에, 배드 블록 해제 조건이 만족되면, 할당된 배드 블록이 해제될 것이다(S330). 여기서 배드 블록 해제시, 배드 블록이 사용자 블록(122) 혹은 예비 블록(124)으로 할당되고, 대응하는 메모리 블록의 프로그램/소거 회수가 초기화 값을 갖거나 혹은 소정의 회수만큼 다운된 값을 가질 것이다.
한편, 배드 블록 해제시 해제된 메모리 블록은 최적의 모드로 사용가능하도록 설정될 것이다. 즉, 배드 블록 해제시 해제된 메모리 블록은 셀당 비트의 개수(bits per cell)가 조절가능하다. 설명의 편의를 위하여, 메모리 시스템(10)이 적어도 3비트 이상의 멀티 레벨 셀(Multi Level Cell)의 메모리 어레이(12)를 포함한다고 가정하겠다. 이때, 배드 블록으로부터 해제된 메모리 블록은 싱글 레벨 셀(Single Level Cell; SLC), 2 비트 멀티 레벨 셀, 혹은 적어도 3 비트 이상의 멀티 레베 셀(Multi Level Cell; MLC) 중 적어도 하나로 설정될 것이다. 예를 들어, 배드 블록 해제시 산화막의 회복 정도가 적은 경우에는, 해제된 메모리 블록은 싱 글 레벨 셀 혹은 2 비트 멀티 레벨 셀로 사용될 것이다. 반면에, 배드 블록 해제시 산화막의 회복 정도가 큰 경우에는, 해제된 메모리 블록은 적어도 3 비트 이상의 멀리 레벨 셀로 사용될 것이다. 한편, 산화막의 회복 정도는 외부의 테스트 장비에 의해 판별될 수 있다.
도 7은 본 발명의 메모리 시스템에 대한 제 3 실시 예를 보여주는 블록도이다. 도 7을 참조하면, 메모리 시스템(30)은 비휘발성 메모리(32), 그것을 제어하는 메모리 제어기(34)를 포함할 것이다.
비휘발성 메모리(32)는 낸드 플래시 메모리, 노아 플래시 메모리, 상변화 메모리, 자기저항 메모리 등이 될 수 있다. 비휘발성 메모리(32)는 도 1에 도시된 메모리 어레이(12) 혹은 도 4에 도시된 메모리 어레이(22)가 동일한 구성을 포함할 것이다.
메모리 제어기(34)는 배드 블록 관리 유닛(342)을 포함할 것이다. 여기서, 배드 블록 관리 유닛(342)은 할당된 배드 블록을 해제하기 위한 배드 블록 해제 유닛(343)을 포함할 것이다. 배드 블록 관리 유닛(342)은 도 1에 도시된 배드 블록 관리 유닛(14) 혹은 도 4에 도시된 배드 블록 관리 유닛(24)과 동일하게 구현될 것이다.
도 8은 본 발명에 따른 비휘발성 메모리에 대한 실시 예를 보여주는 도면이다. 도 8을 참조하면, 비휘발성 메모리(40)는 배드 블록을 해제하기 위한 배드 블록 해제 유닛(43)을 갖는 배드 블록 관리 유닛(42)을 포함할 것이다. 여기서, 배드 블록 관리 유닛(42)은 도 1에 도시된 배드 블록 관리 유닛(14) 혹은 도 4에 도시된 배드 블록 관리 유닛(24)과 동일하게 구현될 것이다.
도 9는 본 발명에 따른 메모리 카드에 대한 실시 예를 보여주는 도면이다. 도 9를 참조하면, 메모리 카드(50)는 낸드 플래시 메모리(52) 및 그것을 제어하는 메모리 제어기(54)를 포함할 것이다.
메모리 제어기(54)는 배드 블록을 해제하기 위한 배드 블록 해제 유닛(543)을 갖는 배드 블록 관리 유닛(442)을 포함할 것이다. 여기서, 배드 블록 관리 유닛(542)은 도 1에 도시된 배드 블록 관리 유닛(14) 혹은 도 4에 도시된 배드 블록 관리 유닛(24)과 동일하게 구현될 것이다. 이러한 메모리 카드(50)는 멀티미디어 카드(Multimedia Card:MMC) 혹은 SD 카드 등에 적용가능하다.
한편, 본 발명의 메모리 시스템은 SSD(Solid State Drive)에 적용가능하다.
도 10은 본 발명의 실시 예에 따른 SSD를 보여주는 도면이다. 도 10을 참조하면, SSD(60)은 SSD 제어기(650)와 플래시 메모리들(660)을 포함할 것이다. SSD 제어기(650)는, 도 7에 도시된 메모리 제어기(34)와 동일한 기능을 갖도록 구현될 것이다.
다시 도 10을 참조하면, 프로세서(610)는 호스트로부터 명령어를 전달받아 호스트로부터의 데이터를 플래시 메모리에 저장할지 혹은 플래시 메모리의 저장 데이터를 읽어 호스트로 전송할 지의 여부를 결정하고 제어할 것이다.
ATA 호스트 인터페이스(620)는 상술한 프로세서(610)의 제어에 따라 호스트 측과 데이터를 교환할 것이다. ATA 호스트 인터페이스(620)는 호스트측으로부터 명령어 및 주소를 패치하여 CPU 버스를 통해서 프로세서(610)로 전달할 것이다. 여기 서 ATA 호스트 인터페이스(620)는 SATA 인터페이스, PATA 인터페이스, 및 ESATA(External SATA) 인터페이스 등 중에서 어느 하나일 것이다.
ATA 호스트 인터페이스(620)를 통해 호스트로부터 입력되는 데이터나 호스트로 전송되어야 할 데이터는 프로세서(610)의 제어에 따라 CPU 버스를 경유하지 않고 캐시 버퍼 램(640)을 통해 전달될 것이다.
램(630)은 플래시 메모리 시스템(60)의 동작에 필요한 데이터를 임시로 저장하는데 이용될 것이다. 이러한 램(630)은 휘발성 메모리 장치로써, DRAM, SRAM 등이 될 수 있다.
캐시 버퍼 램(640)은 호스트와 플래시 메모리들(660) 간의 이동 데이터를 일시 저장할 것이다. 또한, 캐시 버퍼 램(640)은 프로세서(610)에 의해서 운용될 프로그램을 저장하는 데에도 사용될 것이다. 캐시 버퍼 램(640)은 일종의 버퍼 메모리로 간주할 수 있으며, SRAM으로 구현될 수 있다.
SSD 제어기(650)는 저장 장치로 사용되는 플래시 메모리들과 데이터를 주고받을 것이다. SSD 제어기(650)는 낸드 플래시 메모리, 원내드(One-NAND) 플래시 메모리, 멀티 레벨 플래시 메모리, 싱글 레벨 플래시 메모리를 지원하도록 구성될 수 있다.
한편, 프로세서(610)와 SSD 제어기(650)는 하나의 ARM 프로세서로 구현될 수도 있다.
본 발명에 따른 플래시 변환 계층의 주소 할당 방법을 적용하는 메모리 시스템은 전원 공급 중단 시 쓰기 속도를 현저하게 줄일 수 있게 된다. 이로써, 전원 차단시 워킹 램에 있던 데이터를 안전하게 플래시 메모리로 백업할 수 있게 된다. 그 결과로써 메모리 시스템의 전원 차단시 데이터 안정성을 높일 수 있게 된다.
본 발명에 따른 메모리 시스템은 이동형 저장 장치로서 사용될 수 있다. 따라서, MP3, 디지털 카메라, PDA, e-Book의 저장 장치로서 사용될 수 있다. 또한, 디지털 TV나 컴퓨터 등의 저장 장치로서 사용될 수 있다.
본 발명에 따른 메모리 시스템 또는 저장 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명에 따른 메모리 시스템 또는 저장 장치는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해 져야 한다.
도 1은 본 발명에 따른 메모리 시스템의 제 1 실시 예를 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 메모리 시스템의 배드 블록 해제 방법을 보여주는 도면이다.
도 3은 본 발명의 실시 예의 따른 메모리 시스템의 배드 블록 할당 방법을 보여주는 흐름도이다.
도 4는 본 발명에 따른 메모리 시스템의 제 2 실시 예를 보여주는 블록도이다.
도 5는 도 4에 도시된 메모리 시스템의 배드 블록 할당 방법을 보여주는 흐름도이다.
도 6은 본 발명의 실시 예에 따른 메모리 시스템의 배드 블록 해제 방법을 보여주는 흐름도이다.
도 7은 본 발명의 실시 예에 따른 메모리 시스템의 제 3 실시 예를 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 비휘발성 메모리 장치를 보여주는 블록도이다.
도 9는 본 발명의 실시 예에 따른 메모리 카드를 보여주는 도면이다.
도 10은 본 발명의 메모리 시스템을 적용한 SSD에 대한 블록도이다.
*도면의 주요부분에 대한 부호의 설명*
10,20,30,50: 메모리 시스템
12,22: 메모리 블록 122: 사용자 블록
124: 예비 블록 128: 메타 블록
126,226: 배드 블록
14,24,342,42,542: 배드 블록 관리 유닛
142,242,343,43,543: 배드 블록 해제 유닛
26: 가열 유닛
32,40: 비휘발성 메모리
34, 54: 메모리 제어기

Claims (10)

  1. 메모리 장치의 배드 블록 관리 방법에 있어서:
    메모리 블록이 배드 블록 조건을 만족할 때, 상기 메모리 블록을 배드 블록으로 할당하는 단계;
    상기 배드 블록이 할당된 후, 소정의 시간이 경과한 후에 산화막 회복을 가속하기 위하여 상기 배드 블록에 후속 처리 동작을 수행하는 단계; 및
    상기 후속 처리 동작 이후에, 상기 배드 블록이 배드 블록 해제 조건을 만족할 때, 상기 배드 블록을 해제하는 단계를 포함하고,
    상기 배드 블록 해제 조건은 상기 메모리 블록에 대한 프로그램 동작 혹은 소거 동작의 성공 여부인 관리 방법.
  2. 제 1 항에 있어서,
    상기 후속 처리 동작은 상기 배드 블록의 소거 셀들에 대한 프로그램 동작인 관리 방법.
  3. 제 2 항에 있어서,
    상기 배드 블록 조건은 프로그램 혹은 소거 사이클 회수이거나 혹은 소거 동작의 실패인 관리 방법.
  4. 제 1 항에 있어서,
    상기 후속 처리 동작은 상기 배드 블록에 대한 열처리 동작이고,
    상기 열처리 동작은 상기 메모리 장치의 가열 장치에 의하여 수행되는 관리 방법.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 소정의 시간은 새로운 배드 블록이 할당될 때마다 상기 할당된 배드 블록에 대응하는 카운트 값을 증가 혹은 감소함으로써 결정되는 관리 방법.
  7. 삭제
  8. 제 1 항에 있어서,
    상기 배드 블록의 해제시 대응하는 메모리 블록의 프로그램 회수 혹은 소거 회수가 초기화되거나 혹은 줄어드는 관리 방법.
  9. 제 1 항에 있어서,
    상기 배드 블록의 해제시 대응하는 메모리 블록의 메모리 셀당 비트의 개수(bits per cell)가 조절되는 관리 방법.
  10. 복수의 메모리 블록들; 및
    상기 복수의 메모리 블록들 중에서 배드 블록을 관리하는 배드 블록 관리 유닛을 포함하고,
    상기 배드 블록 관리 유닛은, 상기 배드 블록이 할당 된 후 소정의 시간이 경과한 후에 산화막 회복을 가속하기 위한 후속 처리 동작을 수행하고, 상기 후속 처리 동작 이후에, 상기 할당된 배드 블록이 배드 블록 해제 조건을 만족할 때, 상기 할당된 배드 블록을 해제하고,
    상기 배드 블록 해제 조건은, 상기 배드 블록에 대한 프로그램 동작 혹은 소거 동작의 성공 여부인 메모리 시스템.
KR1020090045827A 2009-05-26 2009-05-26 메모리 시스템 및 그것의 배드 블록 관리 방법 KR101624969B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090045827A KR101624969B1 (ko) 2009-05-26 2009-05-26 메모리 시스템 및 그것의 배드 블록 관리 방법
US12/784,683 US8417988B2 (en) 2009-05-26 2010-05-21 Memory systems and defective block management methods related thereto

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090045827A KR101624969B1 (ko) 2009-05-26 2009-05-26 메모리 시스템 및 그것의 배드 블록 관리 방법

Publications (2)

Publication Number Publication Date
KR20100127398A KR20100127398A (ko) 2010-12-06
KR101624969B1 true KR101624969B1 (ko) 2016-05-31

Family

ID=43221645

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090045827A KR101624969B1 (ko) 2009-05-26 2009-05-26 메모리 시스템 및 그것의 배드 블록 관리 방법

Country Status (2)

Country Link
US (1) US8417988B2 (ko)
KR (1) KR101624969B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11361836B2 (en) 2020-03-30 2022-06-14 SK Hynix Inc. Semiconductor memory device and method of operating the semiconductor memory device

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101666987B1 (ko) * 2010-04-20 2016-10-17 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
KR101660985B1 (ko) * 2010-07-09 2016-10-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
DE102011056141A1 (de) 2010-12-20 2012-06-21 Samsung Electronics Co., Ltd. Negativspannungsgenerator, Dekoder, nicht-flüchtige Speichervorrichtung und Speichersystem, das eine negative Spannung verwendet
KR101751950B1 (ko) 2011-03-03 2017-06-30 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 읽기 방법
US9257181B2 (en) 2011-03-23 2016-02-09 Samsung Electronics Co., Ltd. Sense amplification circuits, output circuits, nonvolatile memory devices, memory systems, memory cards having the same, and data outputting methods thereof
KR101678919B1 (ko) 2011-05-02 2016-11-24 삼성전자주식회사 메모리 시스템 및 에러 정정 방법
KR101772582B1 (ko) 2011-07-06 2017-08-30 삼성전자주식회사 음전압을 제공하는 비휘발성 메모리 장치
KR101857529B1 (ko) 2011-11-08 2018-05-15 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 구동 방법
DE102012111829A1 (de) 2011-12-06 2013-06-06 Samsung Electronics Co., Ltd. Speichersysteme und Blockkopierverfahren davon
KR101893145B1 (ko) 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
KR101859646B1 (ko) 2011-12-16 2018-05-18 삼성전자주식회사 보안 데이터를 보호하는 메모리 장치 및 보안 데이터를 이용한 데이터 보호 방법
US8719660B2 (en) * 2011-12-20 2014-05-06 Sandisk Technologies Inc. Apparatus and methods for indicating the health of removable storage devices
US8458804B1 (en) * 2011-12-29 2013-06-04 Elwha Llc Systems and methods for preventing data remanence in memory
DE102013100596B4 (de) 2012-01-27 2023-09-07 Samsung Electronics Co. Ltd. Nichtflüchtiges Speichersystem mit Programmier- und Löschverfahren und Blockverwaltungsverfahren
KR101903440B1 (ko) 2012-02-21 2018-10-02 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 접지 선택 트랜지스터의 문턱전압 조절 방법
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
US9734919B2 (en) * 2013-05-23 2017-08-15 Seagate Technology Llc Recovery of interfacial defects in memory cells
KR102215359B1 (ko) 2014-08-01 2021-02-15 삼성전자주식회사 비휘발성 메모리 장치와 그 센싱 방법
TWI537816B (zh) * 2014-10-13 2016-06-11 慧榮科技股份有限公司 非揮發性儲存裝置與控制器進行的控制方法
US10490234B2 (en) 2016-10-17 2019-11-26 Seagate Technology Llc Recovering from data access errors by controlling access to neighboring memory units
TWI687933B (zh) 2017-03-03 2020-03-11 慧榮科技股份有限公司 資料儲存裝置及其區塊釋放方法
TWI633553B (zh) * 2017-03-14 2018-08-21 Powerchip Technology Corporation 快閃記憶體裝置及其更新方法
KR102410306B1 (ko) * 2018-01-29 2022-06-20 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10684916B2 (en) * 2018-08-27 2020-06-16 International Business Machines Corporation Data set allocation technique to preserve deleted data sets
KR102227196B1 (ko) * 2020-08-14 2021-03-15 에스케이하이닉스 주식회사 데이터 저장 시스템 및 그것의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009032928A3 (en) 2007-09-05 2009-05-14 Rambus Inc Method and apparatus to repair defects in nonvolatile semiconductor memory devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473753A (en) * 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
KR100336434B1 (ko) 2000-06-21 2002-05-15 유영갑 결함 메모리를 이용한 정상적인 메모리 시스템 구현 방법
JP4031190B2 (ja) 2000-09-29 2008-01-09 株式会社東芝 メモリカード、不揮発性メモリ、不揮発性メモリのデータ書き込み方法及びデータ書き込み装置
US7171536B2 (en) 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
KR100572328B1 (ko) * 2004-07-16 2006-04-18 삼성전자주식회사 배드 블록 관리부를 포함하는 플래시 메모리 시스템
US7464306B1 (en) * 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
JP4602387B2 (ja) 2007-09-14 2010-12-22 株式会社東芝 メモリカード、不揮発性メモリ、不揮発性メモリのデータ書込み方法及びデータ書込み装置
US8301942B2 (en) * 2009-04-10 2012-10-30 International Business Machines Corporation Managing possibly logically bad blocks in storage devices
US8255613B2 (en) * 2009-04-30 2012-08-28 International Business Machines Corporation Wear-leveling and bad block management of limited lifetime memory devices
US8411519B2 (en) * 2010-06-04 2013-04-02 Apple Inc. Selective retirement of blocks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009032928A3 (en) 2007-09-05 2009-05-14 Rambus Inc Method and apparatus to repair defects in nonvolatile semiconductor memory devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11361836B2 (en) 2020-03-30 2022-06-14 SK Hynix Inc. Semiconductor memory device and method of operating the semiconductor memory device

Also Published As

Publication number Publication date
US8417988B2 (en) 2013-04-09
KR20100127398A (ko) 2010-12-06
US20100306583A1 (en) 2010-12-02

Similar Documents

Publication Publication Date Title
KR101624969B1 (ko) 메모리 시스템 및 그것의 배드 블록 관리 방법
US10732855B2 (en) Storage system having a host that manages physical data locations of a storage device
US8621266B2 (en) Nonvolatile memory system and related method of performing erase refresh operation
JP6298249B2 (ja) 不揮発性メモリ装置とそれを含むメモリシステム及びそれらのメモリブロック管理、消去、及びプログラム方法
KR100974954B1 (ko) 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법
KR101662827B1 (ko) 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법
US8966163B2 (en) Non-volatile memory device and method for programming the same
US8504760B2 (en) Method and apparatus for managing erase count of memory device
US20150347291A1 (en) Flash memory based storage system and operating method
KR100823170B1 (ko) 배드 블록을 싱글 레벨 셀 모드로 사용하는 메모리 시스템및 메모리 카드
US20100217920A1 (en) Memory system and address allocating method of flash translation layer thereof
TW201706847A (zh) 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元
US8751735B2 (en) Protection against data corruption for multi-level memory cell (MLC) flash memory
KR20110097084A (ko) 메모리 시스템 및 그것의 액세스 방법
US10254979B1 (en) Relocating or aborting a block of data by a host, based on media policies managed by a storage device
KR20100039181A (ko) 예비 영역을 가지는 반도체 메모리 장치
KR20100133710A (ko) 메모리 시스템 및 그것의 코드 데이터 로딩 방법
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
KR20210001414A (ko) 메모리 시스템, 메모리 컨트롤러 및 그 저장 방법
US20230244408A1 (en) Apparatus and method for erasing data programmed in a non-volatile memory block in a memory system multiple times
JP2009048680A (ja) 記憶装置
KR20100133707A (ko) 비휘발성 메모리 장치 및 그것의 최상위 비트 프로그램 상태 판별 방법
US9430325B2 (en) Method for programming data, memory storage device and memory control circuit unit
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
KR20150055884A (ko) 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 4