KR20110060493A - 메모리 장치의 소거 카운트 관리 방법 및 장치 - Google Patents
메모리 장치의 소거 카운트 관리 방법 및 장치 Download PDFInfo
- Publication number
- KR20110060493A KR20110060493A KR1020090117092A KR20090117092A KR20110060493A KR 20110060493 A KR20110060493 A KR 20110060493A KR 1020090117092 A KR1020090117092 A KR 1020090117092A KR 20090117092 A KR20090117092 A KR 20090117092A KR 20110060493 A KR20110060493 A KR 20110060493A
- Authority
- KR
- South Korea
- Prior art keywords
- erase
- erase count
- hidden cell
- memory device
- count value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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)
Abstract
비휘발성 메모리의 소거 횟수를 효과적으로 저장하고 사용할 수 있도록 데이터 어레이와는 별도로 히든 셀을 포함하는 소거 횟수 유지 방법 및 반도체 메모리 장치가 개시된다. 상기 방법은, 히든 셀을 포함하는 비휘발성 메모리 소자를 제공하되 상기 히든 셀은 데이터 어레이와 별도로 구비되며 사용자 액세스가 불가하고, 및 상기 소자의 엘리먼트에 소거가 발생할 시 상기 엘리먼트에 대응되는 히든 셀 영역에 저장된 상기 엘리먼트 소거 횟수 카운트값을 증가시키도록 하는 것을 특징으로 한다.
반도체 메모리 장치, 비휘발성 메모리, 소거 횟수 카운트, 마모 레벨링,
Description
본 발명은 반도체 메모리 소자에 관한 것으로, 특히 메모리 소자에서 비데이터 정보로서 소자의 소거 횟수와 같은 정보를 관리하는 방법과 장치에 관한 것이다.
근래에 들어 비휘발성 메모리로서 플래시 메모리는 물리적으로 콤팩트한 이점과 집적도의 증대로 인한 편이성으로 인해 각종 휴대폰, MP3 플레이어, 디지털 카메라, 캠코더, USB 드라이브, PDA, 네비게이션 시스템, e-book 등의 휴대용 장치에 폭넓게 사용되고 있다. 더욱이 이러한 플래시 메모리를 채용한 SSD(Solid State Drive) 등은 노트북 컴퓨터나 넷북과 같이 콤팩트한 구조와 저전력을 요구하는 컴퓨터 시스템에서 모터를 사용하는 대용량 저장공간인 하드디스크를 대체해가기 시작했으며 앞으로 그 대체 속도는 가속화 될 것으로 전망된다.
이러한 플래시 메모리는 그 저장 블록이 프로그램 되기 이전에 우선 소거가 이루어져야 하며 이러한 소거 횟수는 제한적이어서 낸드 플래시 메모리(NAND Flash Memory) 중에서 셀당 1비트의 저장공간을 갖는 SLC(Single Level Cell)형의 경우 약 100만회 정도의 소거 횟수를 보장하고 있고, 셀당 2비트 이상의 저장공간을 갖는 MLC(Multi Level Cell)형의 경우 10만회 정도의 소거 횟수를 보장한다.
이와 같이 플래시 메모리는 그 소거 횟수에 따라 수명이 결정되므로 플래시 메모리 내의 어느 한 블럭이 집중적으로 소거, 프로그램 되어 마모되면 상대적으로 마모되지 않은 셀들이 다수임에도 불구하고 전체 시스템의 수명이 짧아질 수 있다. 따라서 전체 메모리 영역이 골고루 분산되어 프로그램되고 소거될 수 있도록 하는 것이 플래시 메모리의 수명을 연장시키는 키 포인트이다.
마모를 골고루 분산시키는 방법으로 마모 레벨링(wear levelling) 기법이 많이 사용되고 있다. 당 분야의 통상의 기술자라면 용이하게 알 수 있는 바와 같이 이러한 마모 레벨링 동작은 일반적으로 특정 LBA(Logic Block Address)에 관련된 물리적 위치나 블럭을 변화시켜 동일한 LBA가 동일한 물리적 위치나 블럭에 항상 관련되지 않도록 하는 것이다.
또한 마모 레벨링 기법이 효과적으로 이루어지기 위해서는 플래시 메모리의 각 블럭의 마모 정도를 지속적으로 모니터링하고 있는 것이 중요하다.
본 발명이 해결하고자 하는 과제는 마모 레벨링 기법이 효과적으로 이루어지도록 하기 위해 비휘발성 메모리의 소거 횟수를 정확히 파악하는 것이 필요한데 이를 위하여 소거 횟수를 효과적으로 관리하는 방법을 제공하는 것이다.
상기의 기술적 과제를 해결하기 위한 본 발명에 따른 메모리 소자의 소거 횟수 관리 방법은, 비휘발성 메모리 소자에서 히든 셀을 제공하되, 상기 히든 셀은 데이터 어레이와 별도로 구비되며 사용자 액세스가 불가하고, 및 상기 소자의 엘리먼트에 소거가 발생할 시 상기 엘리먼트에 대응되는 히든 셀의 저장영역에 저장된 상기 엘리먼트 소거 횟수 카운트값을 증가시키도록 하는 것을 특징으로 한다.
상기의 기술적 과제를 해결하기 위한 본 발명에 따른 메모리 소자의 소거 횟수 관리 방법은 상기 히든 셀의 저장영역에 저장된 소거 횟수 카운트값을 증가시키기 전 상기 히든 셀의 저장영역의 소거 횟수 카운트값은 상기 히든 셀의 저장영역에 대응하는 백업(back-up) 저장영역에 저장하는 것을 특징으로 한다.
상기의 기술적 과제를 해결하기 위한 본 발명에 따른 메모리 소자의 소거 횟수 관리 방법은 비휘발성 메모리 소자에서 히든 셀이 제공되고 상기 히든 셀은 데이터 어레이와 별도로 구비되며 사용자 액세스가 불가능하고, 상기 소자에 전원이 인가되고, 상기 소자의 소거 횟수 독출(read) 커맨드를 입력하고, 및 상기 히든 셀에서 소거 횟수 정보를 임시 저장부로 저장하는 것을 특징으로 한다.
상기의 기술적 과제를 해결하기 위한 본 발명에 따른 메모리 소자의 소거 횟수 관리 방법은 상기 소자의 소거 횟수 독출 커맨드 입력은 FTL(Flash Translation layer) 초기화시 함께 이루어지는 것을 특징으로 한다.
상기의 기술적 과제를 해결하기 위한 본 발명에 따른 메모리 소자 장치는 비휘발성 메모리 소자의 어느 엘리먼트에 소거가 발생할 시 상기 엘리먼트의 소거 횟수 카운트값을 증가시키기 위한 소거 카운터부; 상기 소거 카운터부에 의해 증가된 값을 소거 횟수 카운트값에 더하여 상기 증가된 소거 횟수 카운트값을 저장하는 히든 셀을 포함하되, 상기 히든 셀은 상기 소자의 데이터 어레이와 별도로 구비되며 사용자 액세스가 불가한 것을 특징으로 한다.
이상에서와 같이 본 발명의 실시예들에 따른 비휘발성 메모리 소자의 소거 횟수 유지 방법 및 장치에서는, 비휘발성 메모리의 데이터 어레이나 스페어 공간과는 구별되는 물리적인 히든 셀을 구비하여 히든 셀에 소거 횟수를 기록하고, 유지함으로써 소거 횟수관리가 용이하고 데이터 소거와 함께 소거 횟수 데이터가 삭제되는 위험을 방지할 수 있다.
또한, FTL 초기화 시 소거 회수 카운트값을 독출하여 비휘발성 메모리 소자의 내성(endurance) 관리를 하고 별도의 히든 셀을 구비하여 비휘발성 메모리 소자의 엘리먼트 소거 횟수 관리를 함으로써, 소자의 초기화 시나 평소 운용 시 S/W 오버헤드(overhead)를 줄일 수 있다.
또한, 본 발명의 실시예들에 따른 비휘발성 메모리 소자의 소거 횟수 유지 방법에 따르면, 소거가 발생할 시 소거 횟수를 업데이트 하기전 소거 횟수 카운트값을 따로 저장하여 둠으로써, 비휘발성 메모리 소자가 순간적인 파워 다운 등에 의한 이상 발생 시에도 소거 횟수 데이터를 안전하게 보관할 수 있도록 하였다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. 본 명세서를 전체를 통해 비휘발성 메모리와 플래시 메모리는 동일한 의미로 혼용되어 사용된다.
도 1은 본 발명의 일실시예에 따라 소거 횟수 카운트 값을 저장하는 메모리 어레이 구성을 나타낸다.
도 1a에서 볼 수 있는 바와 같이 메모리 어레이는 비트(예를 들어, 8 비트 깊이(108)), 바이트 (예를 들어, 2kB 부분(104) 및 64Byte의 스페어 부분(106)), 페이지 (예들 들어, 512k 페이지(102)), 및 블럭 A(110) 단위로 구성될 수 있다. 블럭 A는 예를 들어 64 페이지와 동일하다. 본 실시예에 따르면 이러한 블럭이 다수 구비되고, 히든 셀(150)이 별도로 구비된다. 히든 셀(150)은 예를 들어 하나의 블럭 소거 카운트값을 저장하기 위해 2 바이트가 할당된다고 하면, 총 2048개의 블럭에 대하여 4096 바이트가 필요하므로, 한 페이지 정도의 크기를 할당하면 충분하다.
도 1b에서는 메모리 어레이 구성을 평면도로 나타내고 있다. 각 메모리 블럭 A(110), 블럭 B(120), 블럭 C(130), ... 블록 E(190) 등으로 구성되어 있다. 각 블 록의 소거 카운트 값은 사용자가 액세스할 수 있는 데이터 어레이(100)와는 별도로 마련된 히든셀(150)에 저장된다. 히든셀(150) 내에는 각 블럭의 소거 카운트값을 저장하는 저장영역인 셀(A, B, C)을 별도로 마련하였다.
만일 이렇게 블럭 소거 카운트값을 따로 히든셀(150)에 저장하지 않는다면 저장하는 블럭의 소거 횟수 카운트값을 해당 블럭에 같이 저장할 수도 있을 것이다. 즉, 블럭 A의 소거 횟수 카운트값이 블럭 A에 같이 저장되는 방식이다. 이러한 방식은 예를 들어 비휘발성 메모리가 낸드 플래시 메모리인 경우에는 블럭 단위로 소거가 이루어지므로, 소거 횟수 카운트값을 효과적으로 유지하는데 취약할 수 밖에 없다. 왜냐하면 블럭이 지워지면서 블럭의 소거 카운트값이 같이 지워질 수 있기 때문이다.
블럭 A(110) 내지 블럭 C(130) 등의 소거 횟수 카운트값을 별도의 블럭 E에 저장하는 방식도 생각해볼 수 있겠지만, 이 경우도 일반 사용자 액세스가 가능한 데이터 어레이에 소거 횟수 카운트값을 저장하고 있으므로, 부지불식간에 블럭 E(190)가 소거될 수 있는 위험이 상존하며, 또한 메모리의 초기화 이후 별도로 데이터 어레이로부터 소거 횟수 카운트값을 읽어들이는 작업을 수행해야 하는 시간이 추가적으로 필요할 것이다.
반면에 히든 셀(150)에 소거 카운트값을 따로 저장하면 이러한 소거 위험이 없으므로 소거 카운트값이 안전하게 유지될 수 있을 것이다.
도 2는 본 발명의 일실시예에 따라 소거 횟수 카운트 값을 저장하는 플래시 메모리 소자(200)의 블럭도이다.
이 플래시 메모리 소자(200)는 메모리 어레이(100), 히든셀(150), 어드레스 레지스터(210), 커맨드 인터페이스 로직(220), 커맨드 레지스터(230), 컨트롤러 및 전압생성기(240), 페이지 버퍼(250), X 디코더(260), Y 디코더(270), 입출력 버퍼 및 래치(280) 및 카운터(290)를 포함한다. 메모리 어레이(100)는 다수의 메모리 블럭으로 이루어진다.
도 2를 참조하면, 커맨드 인터페이스 로직(command interface logic, 220)에는 복수의 제어신호들(예를 들면, ALE, CLE, /WE, /CE, /RE)과 입출력 핀(I/O)이 제공된다. ALE는 어드레스 래치 인에이블 신호를 나타내고, CLE는 커맨드 래치 인에이블 신호를 나타내며, /CE는 칩 인에이블 신호를 나타낸다.
이 분야의 통상의 지식을 가진 자에게 잘 알려진 바와 같이, 일반적인 플래시 메모리 장치는 /RE, /WE 핀들을 포함하며, 커맨드 인터페이스 로직(220)은 메모리 어레이(100)로부터 데이터를 독출하기 위해 /RE 핀으로 클록 신호를 출력할 것이며 플래시 메모리 장치로 데이터(어드레스, 커맨드 및 프로그램 데이터를 포함함)를 기입(write)하기 위해 /WE 핀으로 클록 신호를 출력할 것이다.
좀더 상세하게는, 커맨드 인터페이스 로직(220)은 제어 신호들(ALE, CLE, /WE, /CE, 및 /RE)에 응답하여 기입 명령, 독출 명령 및 소거 명령 중 하나를 컨트롤러 및 전압발생기(240)로 보낸다. 컨트롤러 및 전압발생기(240)는 독출 명령, 기입 명령 및 소거 명령 중 하나에 응답하여 전압을 발생하거나 및/또는 레디/비지바(Ready /Busy bar) 신호(/RB)를 발생한다. 어드레스 레지스터(210)는 로우(row) 신호 및 컬럼(column) 신호를 발생하여 X 디코더(250)와 Y 디코더(270)에 보내어 메모리 어레이(100)의 셀을 선택한다. 페이지 버퍼(260)는 메모리 어레이(100)와의 인퍼테이스를 통해 데이터를 독출하거나 기입한다. 입출력 버퍼 및 래치(280)는 커맨드를 입력하고, 독출된 정보를 출력한다. 카운터(290)는 일정 블럭의 소거가 발생할 때마다 해당 블럭의 소거 카운트값을 증가시키고 히든셀(150)은 증가된 소거 카운트값을 해당 블럭과 대응되는 저장영역에 업데이트하여 저장한다.
히든셀(150)에서는 메모리 어레이(100)의 각 블럭마다 할당된 영역이 따로 구분되어 있으므로, 해당 블럭이 지워질 때마다 해당 블럭에 대한 소거 카운트값을 저장하는 셀(저장영역)만이 업데이트된다. 업데이트된 소거 카운트 값은 후술하겠지만, 메모리 소자의 초기화시 예를 들어 RAM과 같은 임시 저장부에 로딩되어 마모 레벨링과 같은 동작을 수행하는데 이용된다.
히든셀(150)은 기본적으로 사용자가 액세스 할 수 있는 데이터 영역과는 구분되므로 데이터 삭제에 대한 염려가 없다.
히든셀(150)에 저장된 데이터는 삭제에 대한 염려가 없으므로, 소거 카운트값외에 메모리 장치의 메타 데이타 정보 등 데이터외의 모든 종류의 비데이터 정보도 저장할 수 있을 것이다. 히든셀(150) 영역의 소거 카운트 값이 후술하는 바와 같이 메모리 장치의 초기화 시 정보가 임시 메모리로 저장되므로, 메타 데이터 정보도 히든셀(150)을 이용하여 관리하면 정보의 관리 면에서 편리할 수 있을 것이다.
도 3은 본 발명의 일실시예에 따른 초기화시 소거 카운트를 저장하는 메모리부를 포함하는 메모리 시스템을 블럭도로 나타낸다.
메모리 시스템(300)은 프로세서(310)와 임시 저장을 위한 임시 메모리부(320), 데이터 메모리부(330), 외부기기와 데이터를 교환하는 입/출력부(340) 및 데이터 통신을 위한 시스템 버스(350)로 구성된다.
데이터 메모리부(330)는 데이터를 보존하는 데이터 메모리(333)와 상기 데이터 메모리(333)로의 데이터 파일의 읽기, 쓰기 및 갱신 등의 일련의 동작을 제어하는 메모리 컨트롤러(331) 및 소거 카운트값을 저장하는 히든셀(335)을 포함한다.
프로세서(310)는 전체 시스템의 초기화시에 데이터 메모리부(330)의 히든 셀에서 소거 카운트값을 읽어들여 임시 메모리부(320)에 저장한다. 임시 메모리부(320)는 일시적인 저장공간으로서 DRAM과 같은 메모리를 사용할 수 있으나 DRAM에 한정된 것은 아니고 일시 저장을 위한 어떠한 메모리도 사용가능하다.
데이터 메모리부(330)는 도 3에서와 같이 플래시 낸드 메모리가 주로 적용될 수 있고 소거 카운트값을 관리하기 위한 기본 엘리먼트는 플래시 낸드 메모리인 경우 블럭이 될 것이지만, 반드시 이에 한정되는 것은 아니다. 모든 종류의 메모리가 마모 레벨링을 위해 소거 카운트값을 관리하기 위한 대상일 될 수 있다. 예를 들어, 데이터 메모리부(330)에 PRAM을 사용할 수 있다. PRAM의 소거 카운트값을 관리하기 위해서는 기본 엘리먼트는 워드 단위가 될 것이며, 소거 카운트값은 PRAM의 워드 단위를 기준으로 관리된다.
시스템 컨트롤러(도시되지 않음)는 임시 메모리부(320)에 데이터 메모리(333)의 각 블럭의 소거 카운트값이 있으므로 이를 이용하여 쓰기나 소거 시에 마모 레벨링 알고리즘에 따라 많이 소거된 블럭 이용을 피하고 골고루 메모리 블럭 이 마모될 수 있도록 소거 카운트값이 큰 블럭의 사용을 피하도록 적게 사용된 블럭과 맵핑 스왑(mapping swap)을 행하여 줄 수 있다.
히든 셀(335)에는 시스템 동작 중 소거가 발생할 때 마다 데이터 메모리(333)의 해당 영역의 소거 카운트 값을 업데이트하여 저장한다.
도 4는 본 발명의 일실시예에 따라 도 3에 따른 메모리 시스템의 초기화를 나타낸 흐름도이다.
먼저 메모리 시스템(300)의 데이터 메모리(333)를 낸드 플래시 메모리라고 하자. 메모리 시스템(300)의 전원이 켜지면(410) 프로세서(310)는 메모리 시스템의 초기화를 시작한다. 프로세서(310)는 플래시 메모리 장치(330)의 동작이 정상적인가를 확인하면서 제어를 위해 정보를 취합하여야 하는데, 이를 위해 데이터 메모리부(330)로부터 플래시 메모리의 ID를 읽는다(420).
예를 들어, 프로세서(310)는 /CE를 로우(Low)로 만들고, 플래시 메모리 ID 독출명령 0x90을 써 넣는다. 그 다음 플래시 메모리 장치(330)로부터 데이터를 독출하는데, 이 데이터는 제조사와 제품 구별 ID가 된다. /CE를 하이(high)로 만들면 일단 플래시 ID 독출은 완료된다. 그 외의 플래시 메모리 정보를 얻기 위해 해당 명령을 기입하여 유사한 과정을 반복하는데, 이 때 히든 셀(335)을 액세스하여 플래시 메모리 블럭 전체의 소거 카운트값을 읽어와서 임시 메모리부(320)에 저장한다(430).
만일 이러한 방식에 따라 소거 카운트값을 플래시 메모리 블럭에 저장하는 경우 초기화 과정이 끝나고 별도로 데이터 어레이를 액세스하여 다시금 소거 카운 트값을 읽는 과정이 필요할 것이다. 하지만, 본 실시예에 따르면 시스템 초기화 과정에서 소거 카운트값을 임시 메모리부(320)에 저장할 수 있으므로 S/W 초기 이용의 시간적 효율성이 높아질 수 있다.
좀더 상세히 설명하면, 만일 소거 카운트값이 플래시 메모리의 데이터 어레이에 저장된 경우, S/W에서 최신 소거 카운트값 정보가 저장된 페이지를 찾아야 하고, 그 페이지들을 읽어와야 하는 부분 S/W 동작을 따로 구비하여야 한다. 하지만, 위의 방식에 따르면 그러한 S/W 부담을 줄일 수 있다.
도 5는 본 발명의 일실시예에 따라 메모리 시스템 초기화 시 소거 카운트값을 읽어서 저장하는 타이밍도를 나타낸다.
일실시예에서는 히든 셀에서 플래시 메모리의 소거 카운트값이 저장되는 셀의 크기가 16비트이고 이를 LSB(8비트)와 MSB(8비트)로 나누어 읽어들인다.
/CE이 로우(Low)가 되고 히든 셀에서의 소거 카운트값 독출명령(일실시예에서는 0x30)이 내려지면 일정 대기시간 후 순차적으로 히든 셀에서 플래시 메모리 블럭 0의 소거 카운트값의 LSB, MSB를 각각 읽어들이고, 그 다음 플래시 메모리 블럭 1의 소거 카운트값의 LSB, MSB ... 순으로 플래시 메모리 블럭 전체의 소거 카운트값을 읽어들여 임시 메모리부에 저장한다.
물론, 읽어들이는 순서(LSB, MSB)나 방법은 본 발명의 분야에서 통상의 지식을 가진 자라면 다양하게 응용할 수 있다는 것이 자명하다.
도 6은 본 발명의 일실시예에 따라 소거 카운트값을 엡데이트 하는 과정을 흐름도로 나타낸 것이다.
먼저 메모리 소자의 일정 엘리먼트에서 소거가 발생한다(610). 낸드 플래시메모리인 경우 프로그램 이전에 블럭단위로 소거를 하므로 낸드 플래시 메모리에서 이 단계에 따른 소거 대상 엘리먼트는 메모리 블럭이 될 것이다.
카운터는 이제 소거가 발생한 블럭에 대하여 소거 카운트값을 1 증가시킨다(620). 카운트값 증가를 저장하기 위해 이 값을 기존의 소거 카운트값에 더하여야 한다. 따라서, 소거된 블럭과 대응되는 히든 셀의 소거 카운트값 저장영역에 증가된 소거 카운트값을 더하여야 하는데, 이 때 낸드 플래시 메모리의 경우 어떤 블럭이 소거되는지에 대한 식별, 예를 들어, 블럭 0, 블럭 1 등의 식별자 정보와 함께 업데이트해야 하는 히든 셀의 해당 저장영역을 찾아낸다.
해당 셀에서는 소거 카운트값을 업데이트 하기 전 기존의 소거 카운트값을 미리 백업(back-up)해 놓는다(630). 백업을 하는 이유는, 메모리 소자의 소거 동작 시 전원이 차단되는 등의 이유로 히든 셀의 소거 카운트값 저장영역에서 업데이트 중 오류가 발생하더라도 백업한 값이 보존되어 최소한의 오차값을 가지는 소거 카운트값을 나중에라도 사용할 수 있도록 하기 위함이다.
보통 낸드 플레시 메모리에서 소거 수행 시간이 충분히 확보되므로 소거 수행 시간 동안 이러한 소거 카운트값 백업과 업데이트가 충분히 이루어질 수 있으므로 별도의 소거 카운트값 업데이트 시간을 확보할 필요는 없을 것이다.
백업이 완료되면, 소거된 블럭에 대응되는 히든 셀의 저장영역의 소거 카운트값을 업데이트 한다(640). 예를 들어, 낸드 플래시 메모리의 경우 블럭 0이 지워지면 블럭 0의 소거 카운트값을 저장하는 히든 셀의 저장영역을 업데이트한다.
도 7은 본 발명의 일실시예에 따라 히든 셀의 소거 카운트값 저장 셀 백업 과정을 나타낸다.
본 실시예는 낸드 플래시에서 블럭 0가 소거되는 경우를 실시예로 나타내었다. 메모리 어레이(100)의 소거 엘리먼트인 블럭 0(111)가 소거되기 시작하면 카운터(290)에서 값을 1 증가시키게 되고 히든셀에서 블럭 0에 대응되는 소거 카운트값 저장영역(710)을 업데이트할 준비를 한다.
이 때 히든셀의 저장영역(710)은 소거 카운트값 업데이트 전 저장영역(710)에 대응되는 백업영역(720)에 현재의 업데이트 전 소거 카운트값을 저장한다. 백업이 완료되면 저장영역(710)은 소거 카운트값을 1 증가시켜서 소거 카운트값 업데이트를 완료한다.
이러한 방식에 따라 소거 시 발생하는 불측의 사고에도 불구하고 최소한의 오차를 가진 소거 카운트값을 확보할 수 있다.
도 8은 웨이퍼(810)와 웨이퍼(810)상에 형성된 메모리 칩(813)을 나타내는 도면이고, 상기 메모리 칩(813)은 상술한 본 발명의 어느 하나의 실시예로 구성될 수 있다.
도 9는 본 발명의 일실시예에 따른 메모리 카드의 블록도이다.
도 9를 참조하면, 본 발명의 실시예에 따른 메모리 카드(900)는 본 발명의 실시예에 따라 히든셀(915)을 포함하는 플래시 메모리 장치(910)를 장착할 수 있다. 본 발명의 실시예에 따라 메모리 카드(900)는 호스트(Host)와 플래시 메모리 장치(910) 간의 제반 데이터 교환을 제어하는 메모리 컨트롤러(920)를 구비할 수 있다.
RAM(921)은 프로세싱 유닛(922)의 동작 메모리로써 사용된다. 본 발명의 실시예에 따른 메모리 카드(900)는 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(923)이 더 구비될 수 있다. 호스트 인터페이스(924)는 메모리 카드(900)와 접속되는 호스트의 데이터 교환 프로토콜을 구비한다. 메모리 인터페이스(925)는 플래시 메모리 장치(910)와 인터페이싱 한다. 프로세싱 유닛(922)은 메모리 컨트롤러(920)의 데이터 교환을 위한 제어 동작을 수행한다.
이상의 본 발명의 실시예에 따른 플래시 메모리 장치 및 메모리 카드는 반도체 디스크 장치(Solid Stated Disk : SSD)와 같은 메모리 시스템에 제공될 수 있다.
도 10은 본 발명의 실시예에 따라 메모리 제어부와 메모리 모듈을 포함하는 메모리 모듈 시스템을 나타낸다.
도 10을 참조하면, 메모리 모듈 시스템(1000)은 상기 메모리 모듈(1010)상에 형성된 메모리 소자와(1011) 히든셀(1015)은 상술한 본 발명의 어느 하나의 실시예로 구성될 수 있다.
도 11은 본 발명의 실시예에 따른 정보 처리 시스템을 간략히 보여주는 블록도이다.
도 11에 나타난 메모리 장치(1111)는 상술한 본 발명의 어느 하나의 실시예로 구성될 수 있다.
도 11을 참조하면, 본 발명의 실시예에 따른 정보 처리 시스템(1100)은, 본 발명의 실시예에 따른 비휘발성 메모리 장치(1110)를 구비할 수 있다. 플래시 메모리 장치(1111)와 히든셀(1115)는 비휘발성 메모리 시스템(1110)의 일부일 수 있다. 본 발명의 실시예에 따른 정보 처리 시스템(1100)은 비휘발성 메모리 시스템(1110)과 각각 시스템 버스(1160)에 전기적으로 연결된 모뎀(1120), 중앙처리장치(1130), RAM(1140), 유저 인터페이스(1150)를 포함한다.
비휘발성 메모리 시스템(1110)에는 중앙처리장치(1130)에 의해서 처리된 데이터 또는 외부에서 입력된 데이터가 저장된다. 여기서, 비휘발성 메모리 시스템(1110)이 반도체 디스크 장치(SSD)로 구성될 수 있으며, 이 경우 정보 처리 시스템(1100)은 대용량의 데이터를 비휘발성 메모리 시스템(1110)에 안정적으로 저장할 수 있다. 도시되지 않았지만, 본 발명의 실시예에 따른 정보 처리 시스템(1100)에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor:CIS), 모바일 디램(DRAM), 또는 입출력 장치 등이 더 제공될 수 있다.
또한, 셀룰러 폰, PDA, 디지털 카메라, 포터블 게임 콘솔, 네비게이션 그리고 MP3와 같은 모바일 장치들의 사용 증가에 따라, 플래시 메모리 장치는 데이터 스토리지 뿐만 아니라 코드 스토리지로서도 널리 사용된다. 플래시 메모리 장치는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다.
또한, 본 발명의 실시예에 따른 플래시 메모리 장치는 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치는 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) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아 니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 일실시예에 따라 소거 횟수 카운트 값을 저장하는 메모리 어레이 구성을 나타낸다.
도 2는 본 발명의 일실시예에 따라 소거 횟수 카운트 값을 저장하는 플래시 메모리 소자의 블럭도이다.
도 3은 본 발명의 일실시예에 따른 초기화시 소거 카운트를 저장하는 메모리부를 포함하는 메모리 시스템의 블럭도이다.
도 4는 본 발명의 일실시예에 따라 도 3에 따른 메모리 시스템의 초기화를 순서대로 나타낸 흐름도이다.
도 5는 본 발명의 일실시예에 따라 메모리 시스템 초기화 시 소거 카운트값을 읽어서 저장하는 타이밍도를 나타낸다.
도 6은 본 발명의 일실시예에 따라 소거 카운트값을 엡데이트 하는 과정을 흐름도로 나타낸다.
도 7은 본 발명의 일실시예에 따라 히든 셀의 소거 카운트값 저장 셀 백업 과정을 나타낸다.
도 8은 웨이퍼와 웨이퍼 상에 형성된 메모리 칩을 나타낸다.
도 9는 본 발명의 일실시예에 따른 메모리 카드의 블록도이다.
도 10은 본 발명의 실시예에 따라 메모리 제어부와 메모리 모듈을 포함하는 메모리 모듈 시스템을 나타낸다.
도 11은 본 발명의 실시예에 따른 정보 처리 시스템을 간략히 보여주는 블록 도이다.
Claims (10)
- 히든 셀을 포함하는 비휘발성 메모리 소자를 제공하되 상기 히든 셀은 데이터 어레이와 별도로 구비되며 사용자 액세스가 불가하고, 및상기 소자의 엘리먼트에 소거가 발생할 시 상기 엘리먼트에 대응되는 히든 셀의 저장영역에 저장된 상기 엘리먼트 소거 횟수 카운트값을 증가시키도록 하는 것을 특징으로 하는 비휘발성 메모리 소자의 소거 횟수 관리 방법.
- 제 1 항에 있어서, 상기 소자의 초기화시 상기 소자의 소거 횟수 정보 독출(read) 커맨드를 입력하여 상기 히든 셀의 저장영역에서 소거 횟수 정보를 독출하여 임시 저장부에 저장하는 것을 특징으로 하는 비휘발성 메모리 소자의 소거 횟수 관리 방법.
- 제 1 항에 있어서, 상기 히든 셀의 저장영역에 저장된 소거 횟수 카운트값을 증가시키기 전 상기 히든 셀의 저장영역의 소거 횟수 카운트값은 상기 히든 셀의 저장영역에 대응하는 백업(back-up) 저장영역에 저장하는 것을 특징으로 하는 비휘발성 메모리 소자의 소거 횟수 관리 방법.
- 제 1 항에 있어서 상기 비휘발성 메모리 소자는 낸드 플래시 메모리이고 상기 엘리먼트는 낸드 플래시 메모리의 블럭인 것을 특징으로 하는 비휘발성 메모리 소자의 소거 횟수 유지 방법.
- 히든 셀을 포함하는 비휘발성 메모리 소자를 제공하되 상기 히든 셀은 데이터 어레이와 별도로 구비되며 사용자 액세스가 불가능하고,상기 소자에 전원이 인가되고,상기 소자의 소거 횟수 독출(read) 커맨드를 입력하고, 및상기 히든 셀에서 소거 횟수 정보를 임시 저장부로 저장하는 것을 특징으로 하는 비휘발성 메모리 소자의 소거 횟수 관리 방법.
- 제 5 항에 있어서, 상기 소자의 소거 횟수 독출 커맨드 입력은 FTL(Flash Translation layer) 초기화시 함께 이루어지는 것을 특징으로 하는 비휘발성 메모리 소자의 소거 횟수 관리 방법.
- 제 5 항에 있어서, 상기 소자는 낸드 플래시 메모리이고 상기 소자의 소거는 낸드 플래시의 블럭 단위로 이루어지는 것을 특징으로 하는 비휘발성 메모리 소자의 소거 횟수 관리 방법.
- 비휘발성 메모리 소자의 엘리먼트에 소거가 발생할 시 상기 엘리먼트의 소거 횟수 카운트값을 증가시키기 위한 소거 카운터부;상기 소거 카운터부에 의해 증가된 값을 소거 횟수 카운트값에 더하여 상기 증가된 소거 횟수 카운트값을 저장하는 히든 셀을 포함하되, 상기 히든 셀은 상기 소자의 데이터 어레이와 별도로 구비되며 사용자 액세스가 불가한 것을 특징으로 하는 히든 셀을 포함하는 비휘발성 메모리 소자.
- 제 8 항에 있어서, 상기 히든 셀은 상기 소거 카운터부로부터 증가된 값을 받아서 사기 소거 횟수 카운트값을 증가시키기 전 상기 소거 횟수 카운트값을 미리 저장하는 소거 횟수 카운트 백업(back-up) 저장부를 포함하는 것을 특징으로 하는 히든 셀을 포함하는 비휘발성 메모리 소자.
- 제 8 항에 있어서, 상기 비휘발성 메모리 소자는 낸드 플래시 메모리이고 상기 엘리먼트는 낸드 플래시 메모리의 블럭인 것을 특징으로 하는 히든 셀을 포함하는 비휘발성 메모리 소자.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090117092A KR20110060493A (ko) | 2009-11-30 | 2009-11-30 | 메모리 장치의 소거 카운트 관리 방법 및 장치 |
US12/948,157 US8504760B2 (en) | 2009-11-30 | 2010-11-17 | Method and apparatus for managing erase count of memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090117092A KR20110060493A (ko) | 2009-11-30 | 2009-11-30 | 메모리 장치의 소거 카운트 관리 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110060493A true KR20110060493A (ko) | 2011-06-08 |
Family
ID=44069707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090117092A KR20110060493A (ko) | 2009-11-30 | 2009-11-30 | 메모리 장치의 소거 카운트 관리 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8504760B2 (ko) |
KR (1) | KR20110060493A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9058900B2 (en) | 2011-09-26 | 2015-06-16 | SK Hynix Inc. | System, semiconductor memory device and operating method thereof |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5171448B2 (ja) * | 2007-07-31 | 2013-03-27 | キヤノン株式会社 | 画像形成装置及びその制御方法 |
KR20120136197A (ko) * | 2011-06-08 | 2012-12-18 | 삼성전자주식회사 | 비휘발성 메모리에 대한 웨어 레벨링 방법 |
US9208070B2 (en) * | 2011-12-20 | 2015-12-08 | Sandisk Technologies Inc. | Wear leveling of multiple memory devices |
US8868978B2 (en) * | 2012-02-14 | 2014-10-21 | International Business Machines Corporation | Reclaiming discarded solid state devices |
JP6003610B2 (ja) * | 2012-12-17 | 2016-10-05 | 日本電気株式会社 | 情報処理装置 |
CN103116549B (zh) * | 2013-01-04 | 2016-03-16 | 张亚丽 | 基于最大可擦除次数的闪存存储方法 |
US9153331B2 (en) | 2013-03-13 | 2015-10-06 | Sandisk Technologies Inc. | Tracking cell erase counts of non-volatile memory |
US9117533B2 (en) * | 2013-03-13 | 2015-08-25 | Sandisk Technologies Inc. | Tracking erase operations to regions of non-volatile memory |
US9466377B2 (en) * | 2014-02-26 | 2016-10-11 | Infineon Technologies Ag | Method and device for processing an erase counter |
US20170118140A1 (en) * | 2015-10-21 | 2017-04-27 | Mediatek Inc. | Network switch having identical dies and interconnection network packaged in same package |
CN107070961B (zh) | 2016-09-30 | 2020-06-23 | 阿里巴巴集团控股有限公司 | 基于地理位置数据的热点区域确定方法及装置 |
US10908824B2 (en) * | 2018-11-08 | 2021-02-02 | Winbond Electronics Corp. | Flash memory storage device and method thereof |
US10866747B2 (en) | 2019-02-10 | 2020-12-15 | Hewlett Packard Enterprise Development Lp | Securing a memory drive |
TWI744627B (zh) * | 2019-04-17 | 2021-11-01 | 威聯通科技股份有限公司 | 快閃磁碟陣列的資料寫入方法 |
US11450394B2 (en) * | 2019-09-11 | 2022-09-20 | SK Hynix Inc. | Controller and operating method thereof |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06275088A (ja) | 1993-03-19 | 1994-09-30 | Fujitsu Ltd | 不揮発性メモリ |
JPH08273390A (ja) | 1995-03-28 | 1996-10-18 | Kokusai Electric Co Ltd | フラッシュメモリの消去回数の管理方法 |
US7171536B2 (en) * | 2002-10-28 | 2007-01-30 | Sandisk Corporation | Unusable block management within a non-volatile memory system |
KR100851853B1 (ko) * | 2006-11-22 | 2008-08-13 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법 |
KR20080064476A (ko) | 2007-01-05 | 2008-07-09 | 주식회사 하이닉스반도체 | 플래쉬 메모리 소자의 소거 횟수 저장 방법 |
US8275928B2 (en) * | 2008-05-15 | 2012-09-25 | Silicon Motion, Inc. | Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables |
TWI375887B (en) * | 2008-10-31 | 2012-11-01 | A Data Technology Co Ltd | Flash memory device with wear-leveling mechanism and controlling method thereof |
-
2009
- 2009-11-30 KR KR1020090117092A patent/KR20110060493A/ko not_active Application Discontinuation
-
2010
- 2010-11-17 US US12/948,157 patent/US8504760B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9058900B2 (en) | 2011-09-26 | 2015-06-16 | SK Hynix Inc. | System, semiconductor memory device and operating method thereof |
Also Published As
Publication number | Publication date |
---|---|
US20110131368A1 (en) | 2011-06-02 |
US8504760B2 (en) | 2013-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20110060493A (ko) | 메모리 장치의 소거 카운트 관리 방법 및 장치 | |
US9520992B2 (en) | Logical-to-physical address translation for a removable data storage device | |
US9165682B2 (en) | Techniques for controlling recycling of blocks of memory | |
US9037782B2 (en) | Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same | |
KR101678909B1 (ko) | 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법 | |
US9146691B2 (en) | Method for managing commands in command queue, memory control circuit unit and memory storage apparatus | |
US8489942B1 (en) | Memory management method, and memory controller and memory storage device using the same | |
JP2013114679A (ja) | ウェアレベル制御ロジックを含むメモリシステム | |
KR102287760B1 (ko) | 메모리 시스템 및 상기 메모리 시스템의 동작 방법 | |
KR101510120B1 (ko) | 메모리 장치 및 메모리 장치의 관리 방법 | |
US10254979B1 (en) | Relocating or aborting a block of data by a host, based on media policies managed by a storage device | |
US11467758B2 (en) | Data writing method using different programming modes based on the number of available physical erasing units, memory control circuit unit and memory storage device | |
TWI540428B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
US10824368B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
CN116126222A (zh) | 包括非易失性存储器装置的存储装置 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
KR20110016320A (ko) | 플래시 메모리를 블록 그룹으로 구분하여 관리하는 방법 | |
KR20230160620A (ko) | 메모리 시스템에서 데이터를 복구하는 장치 및 방법 | |
US11816355B2 (en) | Data writing method based on different numbers of chip enabled regions, memory storage device and memory control circuit unit | |
CN118295598A (zh) | 存储器管理方法以及存储器存储装置 | |
CN115904218A (zh) | 包括主机和存储装置的存储系统以及存储系统的操作方法 | |
CN117170587A (zh) | 区块管理方法、存储器存储装置及存储器控制器 | |
KR20110015288A (ko) | 플래시 메모리의 소거 정보를 복원하는 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |