KR101624969B1 - 메모리 시스템 및 그것의 배드 블록 관리 방법 - Google Patents
메모리 시스템 및 그것의 배드 블록 관리 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/82—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
Abstract
본 발명의 실시 예에 따른 메모리 장치의 배드 블록 관리 방법은, 메모리 블록이 배드 블록 조건을 만족할 때 배드 블록을 할당하는 단계, 및 상기 할당된 배드 블록이 배드 블록 해제 조건을 만족할 때 상기 할당된 배드 블록을 해제하는 단계를 포함할 것이다. 본 발명에 따른 메모리 시스템은 할당된 배드 블록일지라도 배드 블록 해제 조건을 만족하면 배드 블록이 해제될 수 있도록 구현됨으로써, 메모리 블록의 효율성이 향상될 것이다.
배드 블록, 관리, 해제, 할당
Description
본 발명은 메모리 시스템 및 그것의 배드 블록 관리 방법에 관한 것이다.
최근 들어 비휘발성 메모리를 사용하는 장치들이 증가하고 있다. 예를 들면, 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 항에 있어서,상기 후속 처리 동작은 상기 배드 블록에 대한 열처리 동작이고,상기 열처리 동작은 상기 메모리 장치의 가열 장치에 의하여 수행되는 관리 방법.
- 삭제
- 제 1 항에 있어서,상기 소정의 시간은 새로운 배드 블록이 할당될 때마다 상기 할당된 배드 블록에 대응하는 카운트 값을 증가 혹은 감소함으로써 결정되는 관리 방법.
- 삭제
- 제 1 항에 있어서,상기 배드 블록의 해제시 대응하는 메모리 블록의 프로그램 회수 혹은 소거 회수가 초기화되거나 혹은 줄어드는 관리 방법.
- 제 1 항에 있어서,상기 배드 블록의 해제시 대응하는 메모리 블록의 메모리 셀당 비트의 개수(bits per cell)가 조절되는 관리 방법.
- 복수의 메모리 블록들; 및상기 복수의 메모리 블록들 중에서 배드 블록을 관리하는 배드 블록 관리 유닛을 포함하고,상기 배드 블록 관리 유닛은, 상기 배드 블록이 할당 된 후 소정의 시간이 경과한 후에 산화막 회복을 가속하기 위한 후속 처리 동작을 수행하고, 상기 후속 처리 동작 이후에, 상기 할당된 배드 블록이 배드 블록 해제 조건을 만족할 때, 상기 할당된 배드 블록을 해제하고,상기 배드 블록 해제 조건은, 상기 배드 블록에 대한 프로그램 동작 혹은 소거 동작의 성공 여부인 메모리 시스템.
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)
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)
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)
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)
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 |
-
2009
- 2009-05-26 KR KR1020090045827A patent/KR101624969B1/ko active IP Right Grant
-
2010
- 2010-05-21 US US12/784,683 patent/US8417988B2/en active Active
Patent Citations (1)
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)
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 |