KR102127284B1 - 불휘발성 메모리 장치 및 그것의 관리 방법 - Google Patents

불휘발성 메모리 장치 및 그것의 관리 방법 Download PDF

Info

Publication number
KR102127284B1
KR102127284B1 KR1020130076616A KR20130076616A KR102127284B1 KR 102127284 B1 KR102127284 B1 KR 102127284B1 KR 1020130076616 A KR1020130076616 A KR 1020130076616A KR 20130076616 A KR20130076616 A KR 20130076616A KR 102127284 B1 KR102127284 B1 KR 102127284B1
Authority
KR
South Korea
Prior art keywords
memory device
nonvolatile memory
data
power
page
Prior art date
Application number
KR1020130076616A
Other languages
English (en)
Other versions
KR20150003577A (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 KR1020130076616A priority Critical patent/KR102127284B1/ko
Priority to US14/299,706 priority patent/US9431069B2/en
Publication of KR20150003577A publication Critical patent/KR20150003577A/ko
Application granted granted Critical
Publication of KR102127284B1 publication Critical patent/KR102127284B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)

Abstract

본 발명은 불휘발성 메모리 장치의 종전의 파워 오프가 정상적 종료인지 또는 비정상적 종료인지 여부를 판단하는 단계, 종전의 파워 오프가 비정상적 종료인 경우 파워 오프로 인해 불완전하게 프로그램된 페이지를 검색하는 단계, 및 검색된 페이지를 포함하여 하나 이상의 페이지 영역에 더미 데이터를 프로그램하는 단계를 포함하는 불휘발성 메모리 장치의 관리 방법 및 이를 수행하는 불휘발성 메모리 장치를 제공한다. 본 발명에 따르면, 불휘발성 메모리 장치의 종전의 파워 오프가 정상적 종료인 경우에는 재부팅 후의 초기화 시간이 단축될 수 있다. 불휘발성 메모리 장치의 종전의 파워 오프가 비정상적 종료인 경우에는 불휘발성 메모리 장치의 수명의 불필요하게 줄어드는 것이 방지될 수 있다.

Description

불휘발성 메모리 장치 및 그것의 관리 방법{NONVOLATILE MEMORY DEVICE AND MANAGING METHOD THEREOF}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 불휘발성 메모리 장치의 관리 방법과 이 방법을 수행하는 불휘발성 메모리 장치의 구성에 관한 것이다.
반도체 메모리 장치는 휘발성 메모리 장치(Volatile Memory Device)와 불휘발성 메모리 장치(Non-Volatile Memory Device)로 구분된다. 휘발성 메모리 장치는 빠른 작동 속도를 갖는 반면, 전원 공급이 종료되면 저장한 데이터를 잃는 단점을 갖는다. 그러나 불휘발성 메모리 장치는 전원 공급이 종료되어도 데이터를 보존한다. 따라서, 불휘발성 메모리 장치는 전원 공급과 무관하게 데이터를 보존해야 하는 장치에 보편적으로 사용된다.
불휘발성 메모리 장치의 예로, EEPROM(Electrically Erasable Programmable Read-Only Memory)의 한 형태인 플래시 메모리 장치를 들 수 있다. 플래시 메모리 장치는 컴퓨터, 개인용 휴대 단말기(PDA), 휴대폰, 디지털 카메라, MP3 플레이어, 게임기, 프린터 등 다양한 전자 기기의 데이터 저장 장치로 사용되고 있다.
불휘발성 메모리 장치는 전원 공급과 무관하게 데이터를 보존할 수 있다. 그러나 불휘발성 메모리 장치가 저장된 데이터를 읽는 경우 및 데이터를 프로그램하는 경우에는 전원 공급이 필요하다.
불휘발성 메모리 장치의 파워 오프는 정상적 종료(예컨대, 사용자의 명령에 의해 종료되는 경우)일 수도 있고, 비정상적 종료(예컨대, 호스트의 배터리가 강제로 제거된 경우)일 수도 있다. 불휘발성 메모리 장치의 파워 오프가 정상적 종료인 경우에는 데이터를 안전하게 보존하기 위한 일련의 명령들이 수행될 수 있다.
그러나 데이터가 프로그램되던 중 불휘발성 메모리 장치가 비정상적으로 파워 오프된 경우, 불휘발성 메모리 장치에 유효하지 않은 데이터가 저장(소위, 소프트 프로그램 상태)될 수 있다. 즉, 메모리 셀(Memory Cell)에 저장하려는 값이 완전하게 프로그램되지 않고, 타깃 문턱 전압(Target Threshold Voltage) 근처에서 불완전하게 프로그램될 수 있다. 불완전하게 프로그램된 메모리 셀의 데이터는 논리 '0'으로 읽힐 수도 있고, 논리 '1'로 읽힐 수도 있다.
안정성 확보를 위해, 불휘발성 메모리 장치가 재부팅(Rebooting)될 때 종전의 파워 오프가 비정상적 종료인 것으로 간주하고 관리하는 방식이 사용된다. 즉, 불휘발성 메모리 장치가 재부팅된 후 새로운 메모리 블록이 할당되고, 이 메모리 블록에 삭제 연산이 수행된 후 데이터가 프로그램되는 방식이 사용되고 있다. 그런데, 삭제 연산은 불휘발성 메모리 장치의 부팅 시간을 증가시킨다. 또한, 반복적인 삭제 연산의 수행은 불휘발성 메모리 장치의 수명을 감소시킨다.
불휘발성 메모리 장치의 재부팅 후, 종전의 파워 오프가 비정상적 종료인 것으로 간주하고 관리하는 방식이 개선된다. 불휘발성 메모리 장치의 재부팅 후, 종전의 파워 오프가 정상적 종료인지 또는 비정상적 종료인지 여부가 판단되도록 한다. 종전의 파워 오프가 정상적 종료인 경우와 비정상적 종료인 경우 서로 다른 관리 방법이 수행될 수 있다.
특히 불휘발성 메모리 장치의 종전의 파워 오프가 비정상적 종료인 경우, 재부팅 후 새로운 메모리 블록이 할당되는 방식이 개선된다. 불휘발성 메모리 장치는 파워 오프로 인해 불완전하게 프로그램된 페이지 영역에 더미 데이터를 프로그램할 수 있다. 불휘발성 메모리 장치는 더미 데이터가 프로그램된 페이지의 다음 페이지 영역에 유효 데이터를 계속 프로그램할 수 있다.
본 발명의 일 실시 예에 의한 불휘발성 메모리 장치의 관리 방법은, 호스트로부터 불휘발성 메모리 장치로 제공된 커맨드 및 불휘발성 메모리 장치에 저장된 파워 오프 데이터 중 적어도 하나에 기초하여, 불휘발성 메모리 장치의 종전의 파워 오프가 정상적 종료인지 또는 비정상적 종료인지 여부를 판단하는 단계; 종전의 파워 오프가 비정상적 종료인 경우, 파워 오프 전 불휘발성 메모리 장치에 마지막으로 저장된 메타 데이터가 가리키는 페이지부터 파워 오프로 인해 불완전하게 프로그램된 페이지를 검색하는 단계; 및 검색된 페이지를 포함하여 하나 이상의 페이지 영역에 더미 데이터를 프로그램하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 의한 불휘발성 메모리 장치의 관리 방법에서, 커맨드는 종전의 파워 오프가 정상적 종료인지 또는 비정상적 종료인지 여부가 호스트에 저장된 데이터에 기초하여 제공될 수 있다.
본 발명의 일 실시 예에 의한 불휘발성 메모리 장치의 관리 방법에서, 파워 오프 데이터는 파워 오프가 정상적 종료인 경우 호스트로부터 제공되는 파워 오프 신호에 따라 저장될 수 있다.
본 발명의 일 실시 예에 의한 불휘발성 메모리 장치의 관리 방법에서, 메타 데이터는 파워 오프가 정상적 종료인 경우 유효 데이터가 프로그램될 페이지의 위치 데이터를 포함하여 불휘발성 메모리 장치에 저장될 수 있다.
본 발명의 일 실시 예에 의한 불휘발성 메모리 장치의 관리 방법에서, 더미 데이터는 파워 오프 전 마지막으로 저장된 유효 데이터에 대응하는 데이터일 수 있다.
본 발명의 일 실시 예에 의한 불휘발성 메모리 장치의 관리 방법에서, 더미 데이터는 미리 정해진 패턴의 데이터일 수 있다.
본 발명의 일 실시 예에 의한 불휘발성 메모리 장치의 관리 방법은, 더미 데이터가 프로그램된 페이지의 다음 페이지 영역에 유효 데이터를 프로그램하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시 예에 의한 불휘발성 메모리 장치는, 파워 오프 데이터와 메타 데이터를 저장하는 불휘발성 메모리; 및 호스트로부터 제공받은 커맨드 및 파워 오프 데이터 중 적어도 하나에 기초하여 종전의 파워 오프가 정상적 종료인지 또는 비정상적 종료인지 판단하고, 파워 오프가 비정상적 종료인 경우 파워 오프 전 불휘발성 메모리에 마지막으로 저장된 메타 데이터가 가리키는 페이지부터 파워 오프로 인해 불완전하게 프로그램된 페이지를 검색하고, 검색된 페이지를 포함하여 하나 이상의 페이지 영역에 더미 데이터가 프로그램되도록 불휘발성 메모리를 제어하는 메모리 컨트롤러를 포함할 수 있다.
본 발명의 다른 실시 예에 의한 불휘발성 메모리 장치에서, 커맨드는 종전의 파워 오프가 정상적 종료인지 또는 비정상적 종료인지 여부가 호스트에 저장된 데이터에 기초하여 제공받을 수 있다.
본 발명의 다른 실시 예에 의한 불휘발성 메모리 장치에서, 파워 오프 데이터는 파워 오프가 정상적 종료인 경우 호스트로부터 제공받는 파워 오프 신호에 따라 저장될 수 있다.
본 발명의 다른 실시 예에 의한 불휘발성 메모리 장치에서, 메타 데이터는 파워 오프가 정상적 종료인 경우 유효 데이터가 프로그램될 페이지의 위치 데이터를 포함하여 불휘발성 메모리에 저장될 수 있다.
본 발명의 다른 실시 예에 의한 불휘발성 메모리 장치에서, 더미 데이터는 파워 오프 전 마지막으로 저장된 유효 데이터에 대응하는 데이터일 수 있다.
본 발명의 다른 실시 예에 의한 불휘발성 메모리 장치에서, 더미 데이터는 미리 정해진 패턴의 데이터일 수 있다.
본 발명의 다른 실시 예에 의한 불휘발성 메모리 장치에서, 메모리 컨트롤러는 더미 데이터가 프로그램된 페이지의 다음 페이지 영역에 유효 데이터가 프로그램되도록 불휘발성 메모리를 제어할 수 있다.
본 발명은 불휘발성 메모리 장치의 종전의 파워 오프가 정상적 종료인지 또는 비정상적 종료인지 여부를 판단하고, 재부팅 후의 관리 방법을 결정할 수 있다. 본 발명은 불휘발성 메모리 장치의 종전의 파워 오프가 정상적 종료인 경우 재부팅 후의 초기화 시간을 단축할 수 있다. 또한, 본 발명은 불휘발성 메모리 장치의 종전의 파워 오프가 비정상적 종료인 경우 버려지는 페이지 영역을 줄일 수 있다. 결과적으로 메모리 블록에 대해 수행되는 삭제 연산의 횟수가 감소하여, 본 발명은 불휘발성 메모리 장치의 수명이 불필요하게 줄어드는 것을 방지할 수 있다.
도 1은 본 발명의 실시 예에 의한 불휘발성 메모리 시스템이 가질 수 있는 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시 예에 따른 불휘발성 메모리 장치가 가질 수 있는 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시 예에 의한 불휘발성 메모리 장치의 파워 오프 과정을 설명하기 위한 흐름도이다.
도 4는 본 발명의 다른 실시 예에 따른 불휘발성 메모리 장치의 관리 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 다른 실시 예에 따른 불휘발성 메모리 장치의 관리 방법을 더 상세히 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시 예에 따라 불휘발성 메모리 장치가 관리되는 과정을 설명하기 위한 개념도이다.
도 7은 본 발명의 실시 예에 따라 불휘발성 메모리 장치가 관리되는 과정을 설명하기 위한 다른 개념도이다.
도 8은 본 발명의 실시 예에 의한 불휘발성 메모리 장치가 관리된 결과를 설명하기 위한 개념도이다.
도 9는 본 발명의 실시 예의 의한 불휘발성 메모리 장치가 관리된 결과를 설명하기 위한 다른 개념도이다.
도 10은 본 발명의 실시 예에 의한 메모리 카드 시스템을 보여주는 블록도이다.
도 11은 본 발명의 실시 예에 의한 휴대용 단말기를 나타내는 블록도이다.
전술한 특성 및 이하 상세한 설명은 모두 본 발명의 설명 및 이해를 돕기 위한 예시적인 사항이다. 즉, 본 발명은 이와 같은 실시 예에 한정되지 않고 다른 형태로 구체화될 수 있다. 다음 실시 형태들은 단지 본 발명을 완전히 개시하기 위한 예시이며, 본 발명이 속하는 기술 분야의 통상의 기술자들에게 본 발명을 전달하기 위한 설명이다. 따라서 본 발명의 구성 요소들을 구현하기 위한 방법이 여럿 있는 경우에는, 이들 방법 중 특정한 것 또는 이와 동일성 있는 것 가운데 어떠한 것으로든 본 발명의 구현이 가능함을 분명히 할 필요가 있다.
본 명세서에서 어떤 구성이 특정 요소들을 포함한다고 언급하고 있는 경우, 또는 어떤 과정이 특정 단계들을 포함한다고 언급하고 있는 경우에는, 그 외 다른 요소 또는 다른 단계들이 더 포함될 수 있음을 의미한다. 즉, 본 명세서에서 사용되는 용어들은 특정 실시 형태를 설명하기 위한 것일 뿐이고, 본 발명의 개념을 한정하기 위한 것이 아니다. 나아가, 발명의 이해를 돕기 위해 설명한 예시들은 그것의 상보적인 실시 예도 포함한다.
본 명세서에서 사용되는 용어들은 본 발명이 속하는 기술 분야의 통상의 기술자들이 일반적으로 이해하는 의미를 갖는다. 보편적으로 사용되는 용어들은 본 명세서의 맥락에 따라 일관적인 의미로 해석되어야 한다. 또한 본 명세서에서 사용되는 용어들은, 그 의미가 명확히 정의된 경우가 아니라면, 지나치게 이상적이거나 형식적인 의미로 해석되지 않아야 한다. 이하 첨부된 도면을 통하여 본 발명의 실시 예를 설명한다.
도 1은 본 발명의 실시 예에 의한 불휘발성 메모리 시스템이 가질 수 있는 구성을 나타낸 블록도이다. 도 1의 불휘발성 메모리 시스템(100)은 호스트(110), 불휘발성 메모리 장치(120)를 포함할 수 있다.
호스트(110)는 불휘발성 메모리 장치(120)에 데이터를 저장하거나, 불휘발성 메모리 장치(120)로부터 데이터를 읽는다. 호스트(110)는 불휘발성 메모리 장치(120)와 데이터를 주고 받으며, 사용자가 제공하는 명령들을 수행하고 사용자에게 서비스를 제공한다. 호스트(110)의 기능을 수행할 수 있는 장치에는 여러 가지 종류가 있다. 일 실시 예로서, 모바일(Mobile) 기기에서는 모바일 AP(Application Processor)가 호스트(110)의 기능을 수행할 수 있다.
불휘발성 메모리 장치(120)는 데이터를 저장하거나, 호스트(110)로 데이터를 제공할 수 있다. 불휘발성 메모리 장치(120)는 인터페이스(130), 메모리 컨트롤러(140), 그리고 불휘발성 메모리(150)를 포함할 수 있다.
불휘발성 메모리(150)는 데이터를 저장하는 회로로 형성된다. 불휘발성 메모리(150)는 하나 이상의 트랜지스터를 포함할 수 있다. 본 발명의 이해를 돕기 위해, 불휘발성 메모리(150)의 개념적인 구조가 도 2와 함께 설명될 것이다.
메모리 컨트롤러(140)는 불휘발성 메모리(150)의 작동을 제어한다. 본 발명의 실시 예에 따른 메모리 컨트롤러(140)가 수행하는 기능은 도 4 내지 도 5를 통해 상세히 설명될 것이다.
인터페이스(130)는 호스트(110)와 불휘발성 메모리 장치(120)가 데이터, 커맨드(Command) 등을 서로 주고 받을 수 있도록 신호를 중계한다. 인터페이스(130)는 호스트(110)와 불휘발성 메모리 장치(120) 사이에 위치할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 불휘발성 메모리 장치가 가질 수 있는 구성을 나타낸 블록도이다. 도 2는 특히, 도 1의 불휘발성 메모리(150)가 가지는 개념적인 구조를 설명한다.
불휘발성 메모리(150)는 데이터를 저장하는 회로로 형성된다. 데이터가 저장되는 영역은 하나 이상의 메모리 블록(Block 1 내지 Block n)을 포함할 수 있다. 하나의 메모리 블록(Block 1 내지 Block n)은 하나 이상의 셀 스트링(Cell String, 미도시)을 포함할 수 있다. 하나의 셀 스트링은 스트링 선택 트랜지스터(SST, String Selection Transistor, 미도시), 하나 이상의 메모리 셀(Memory Cell, 미도시), 및 접지 선택 트랜지스터(GST, Ground Selection Transistor, 미도시)를 포함할 수 있다. 하나의 메모리 블록(예컨대, Block 1)은 하나 이상의 페이지(Page 1_1 내지 Page 1_k)를 포함할 수 있다. 일 실시 예로서, 하나의 워드 라인(Word Line, 미도시)에 공통으로 연결되는 하나 이상의 메모리 셀은 하나의 페이지를 형성할 수 있다.
불휘발성 메모리(150)는 파워 오프 데이터 및 메타 위치 데이터 저장 영역(152), 메타 데이터 저장 영역(154), 사용자 데이터 저장 영역(156), 그리고 페이지 버퍼(158)를 포함할 수 있다.
파워 오프 데이터 및 메타 위치 데이터 저장 영역(152)에 포함되는 페이지 영역에는 파워 오프 데이터와 메타 데이터의 위치 데이터가 저장될 수 있다. 메타 데이터 저장 영역(154)에 포함되는 페이지 영역에는 메타 데이터가 저장될 수 있다. 사용자 데이터 저장 영역(156)에 포함되는 페이지 영역에는 사용자 데이터가 저장될 수 있다. 파워 오프 데이터, 메타 데이터의 위치 데이터, 메타 데이터, 및 사용자 데이터에 대한 설명은 도 3 내지 도 7에 대한 설명과 함께 이루어질 것이다.
도 2에 제시된 각 영역(152, 154, 156)은 고정된 위치에서 미리 정해진 종류의 데이터를 저장할 수 있다. 그러나 도 2에 나타난 구조는 본 발명의 이해를 돕기 위한 개념적인 구조이다. 즉, 각 영역(152, 154, 156)이 포함하는 블록의 개수 또는 위치, 그리고 각 영역(152, 154, 156)에 저장되는 데이터의 종류는 적절하게 변경될 수 있다. 다만 이하에서는, 각 영역(152, 154, 156)이 포함하는 블록의 개수 및 위치, 그리고 각 영역(152, 154, 156)에 저장되는 데이터의 종류가 도 2에 나타난 것과 같이 미리 설정되었다고 가정한다. 이 가정은 설명의 편의를 위한 것이며, 본 발명의 개념을 제한하기 위한 것은 아니다.
페이지 버퍼(158)는 하나 이상의 래치(Latch, 미도시)를 포함할 수 있다. 페이지 버퍼(158)를 형성하는 래치들은 불휘발성 메모리(150)에 저장될 값들을 메모리 블록(Block 1 내지 Block n)에 제공한다.
도 3은 본 발명의 실시 예에 의한 불휘발성 메모리 장치의 파워 오프 과정을 설명하기 위한 흐름도이다. 특히 도 3은, 불휘발성 메모리 장치의 파워 오프가 정상적 종료인 경우를 설명한다.
S110 단계에서는, 사용자가 불휘발성 메모리 장치(120, 도 1 참조)의 파워 오프를 요청할 수 있다. 사용자의 요청에 의한 불휘발성 메모리 장치(120)의 파워 오프는 정상적 종료일 수 있다. 다만, 사용자의 파워 오프 요청은 불휘발성 메모리 장치(120)가 정상적으로 파워 오프되게 하는 하나의 예이다. S110 단계는 불휘발성 메모리 장치(120)가 정상적으로 파워 오프되도록 하는 어떠한 단계도 될 수 있다.
S120 단계에서는, 사용자의 파워 오프 요청에 따라 호스트(110, 도 1 참조)가 파워 오프 신호를 생성할 수 있다. 호스트(110)가 생성한 파워 오프 신호는 불휘발성 메모리 장치(120)로 제공될 수 있다.
S130 단계에서는, 파워 오프 신호를 받은 불휘발성 메모리 장치(120)에 메타 데이터가 저장될 수 있다. 메타 데이터는 불휘발성 메모리 장치(120)의 파워 오프가 정상적 종료인 경우에 저장될 수 있다. 특히, 메타 데이터는 불휘발성 메모리 장치(120)의 재부팅 후 유효 데이터가 프로그램될 페이지의 위치를 가리키는 데이터를 포함할 수 있다. 메타 데이터는 불휘발성 메모리(150, 도 1 참조)에 포함되는 메타 데이터 저장 영역(154, 도 2 참조)에 저장될 수 있다.
S140 단계에서는, 불휘발성 메모리(150)에 파워 오프 데이터가 저장될 수 있다. 메모리 컨트롤러(140, 도 1 참조)는 파워 오프 신호에 따라, 파워 오프 데이터가 파워 오프 데이터 및 메타 위치 데이터 저장 영역(152, 도 2 참조)에 저장되도록 불휘발성 메모리(150)를 제어할 수 있다. 즉, 파워 오프 데이터는 불휘발성 메모리 장치(120)의 파워 오프가 정상적 종료인 경우, 호스트(110)가 제공하는 파워 오프 신호에 따라 불휘발성 메모리(150)에 저장될 수 있다. 파워 오프 데이터는 파워 오프가 정상적 종료임을 나타내는 데이터이다.
S150 단계에서는, 불휘발성 메모리 장치(120)가 파워 오프된다. 즉, 불휘발성 메모리 장치(120)의 파워 오프가 정상적 종료인 경우에는, 파워 오프 전 불휘발성 메모리(150)에 파워 오프 데이터 및 메타 데이터가 저장될 수 있다.
도 4는 본 발명의 다른 실시 예에 따른 불휘발성 메모리 장치의 관리 방법을 설명하기 위한 흐름도이다. 도 4의 실시 예에 따른 불휘발성 메모리 장치의 제어 방법은 파워 오프된 불휘발성 메모리 장치(120, 도 1 참조)에 다시 전원이 공급되고 재부팅된 후에 시작된다.
S210 단계에서는, 불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료인지 또는 비정상적 종료인지 여부가 판단될 수 있다. S210 단계의 판단은 호스트(110, 도 1 참조)로부터 불휘발성 메모리 장치(120)로 제공되는 커맨드에 기초하여 이루어질 수 있다. 또는, S210 단계의 판단은 불휘발성 메모리(150)에 저장된 파워 오프 데이터에 기초하여 이루어질 수 있다. 불휘발성 메모리 장치(120)의 종전의 파워 오프 유형을 판단하는 과정은 도 5에 대한 설명과 함께 더 상세히 설명된다. S210 단계는 메모리 컨트롤러(140, 도 1 참조)의 제어에 의해 수행될 수 있다.
S220 단계에서는, 불휘발성 메모리 장치(120)의 종전의 파워 오프 유형에 따라, 재부팅 후의 관리 방법이 결정될 수 있다. 즉, S210 단계의 판단 결과에 따라 불휘발성 메모리 장치(120)의 재부팅 후의 관리 방법이 결정될 수 있다. 따라서, 불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료인 경우와 비정상적 종료인 경우에 서로 다른 관리 방법이 수행될 수 있다. S220 단계는 메모리 컨트롤러(140)의 제어에 의해 수행될 수 있다.
도 5는 본 발명의 다른 실시 예에 따른 불휘발성 메모리 장치의 관리 방법을 더 상세히 설명하기 위한 흐름도이다. 도 5의 실시 예에 따른 불휘발성 메모리 장치의 관리 방법은 파워 오프된 불휘발성 메모리 장치(120, 도 1 참조)에 다시 전원이 공급되고 재부팅된 후에 시작된다. 특히 도 5에서는, 불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료인 경우와 비정상적 종료인 경우에 각각 수행되는 관리 방법이 설명된다.
S310 단계에서는, 호스트(110, 도 1 참조)로부터 불휘발성 메모리 장치(120)로 제공된 커맨드 및 불휘발성 메모리(150, 도 1 참조)에 저장된 파워 오프 데이터 중 적어도 하나가 판독될 수 있다.
호스트(110)는 불휘발성 메모리 장치(120)의 파워 오프가 정상적 종료인지 또는 비정상적 종료인지 여부에 대한 데이터를 호스트(110) 자신의 메모리 영역에 저장해둘 수 있다. 호스트(110)는 불휘발성 메모리 장치(120)에 전원이 다시 공급되고 재부팅된 후 종전의 파워 오프 유형을 커맨드 신호로 알릴 수 있다. 즉, 호스트(110)로부터 불휘발성 메모리 장치(120)로 제공되는 커맨드는, 불휘발성 메모리 장치(120)의 종전의 파워 오프 유형이 호스트(110)에 저장된 데이터에 기초하여 제공될 수 있다.
호스트(110)는 불휘발성 메모리 장치(120)의 파워 오프가 정상적 종료인 경우, 불휘발성 메모리 장치(120)로 파워 오프 신호를 제공할 수 있다. 예컨대 사용자의 전원 공급 종료 명령이 발생한 경우, 호스트(110)는 이를 인지하고 불휘발성 메모리 장치(120)에 파워 오프 신호를 제공할 수 있다. 메모리 컨트롤러(140, 도 1 참조)는 파워 오프 신호에 따라, 파워 오프 데이터가 파워 오프 데이터 및 메타 위치 데이터 저장 영역(152, 도 2 참조)에 저장되도록 불휘발성 메모리(150)를 제어할 수 있다.
S320 단계에서는, 불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료인지 또는 비정상적 종료인지 여부가 판단될 수 있다. S320 단계의 판단은 호스트(110)로부터 불휘발성 메모리 장치(120)로 제공되는 커맨드에 기초하여 이루어질 수 있다. 커맨드는 불휘발성 메모리 장치(120)의 종전의 파워 오프 유형이 호스트(110)에 저장된 데이터에 기초하여 제공되기 때문이다.
또는, S320 단계의 판단은 불휘발성 메모리(150)에 저장된 파워 오프 데이터에 기초하여 이루어질 수 있다. 파워 오프 데이터가 저장되어 있지 않으면, 불휘발성 메모리 장치(120)의 종전의 파워 오프는 비정상적 종료로 판단될 수 있다. 필요에 따라, 커맨드와 파워 오프 데이터를 동시에 판독함으로써 불휘발성 메모리 장치(120)의 종전의 파워 오프 유형이 판단될 수 있음이 명백하다.
S320 단계는 메모리 컨트롤러(140)의 제어에 의해 수행될 수 있다. 불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료인 경우에는 S330 단계가 수행된다. 반면, 불휘발성 메모리 장치(120)의 종전의 파워 오프가 비정상적 종료인 경우에는 S350 단계가 수행된다.
S330 단계는 불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료인 경우에 수행된다. S330 단계에서는, 메타 데이터로부터 유효 데이터가 프로그램될 페이지의 위치가 추출될 수 있다. 메타 데이터는 불휘발성 메모리 장치(120)의 파워 오프가 정상적 종료인 경우, 재부팅 후 유효 데이터가 프로그램될 페이지의 위치 데이터를 포함하여 메타 데이터 저장 영역(154, 도 2 참조)에 저장될 수 있다.
S340 단계에서는, S330 단계에서 추출된 위치의 페이지 영역에 유효 데이터가 프로그램될 수 있다. 불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료인 경우, 파워 오프 당시 저장된 메타 데이터가 가리키는 위치의 페이지에 유효 데이터가 프로그램될 수 있다. 즉, 불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료인 경우에는, 유효 데이터가 프로그램될 페이지에 대해 통상의 프로그램이 계속 이루어질 수 있다.
S350 단계는 불휘발성 메모리 장치(120)의 종전의 파워 오프가 비정상적 종료인 경우에 수행된다. S350 단계에서는, 불휘발성 메모리 장치(120)의 파워 오프로 인해 불완전하게 프로그램된 페이지가 검색될 수 있다. 불휘발성 메모리 장치(120)의 파워 오프가 비정상적 종료인 경우 메타 데이터 및 파워 오프 데이터가 저장되지 않는다. 따라서 하나 이상의 페이지 영역 중에서 불휘발성 메모리 장치(120)의 파워 오프로 인해 불완전하게 프로그램된 페이지를 검색하는 과정이 필요하다.
불휘발성 메모리(150, 도 1 참조)를 형성하는 첫 번째 페이지에서부터 불완전하게 프로그램되었는지 여부가 판단될 수도 있다. 그러나 첫 번째 페이지부터 시작하여 모든 페이지를 검색하는 방법은 비효율적이다. 일 실시 예로서, 불휘발성 메모리 장치(120)에 파워 오프 전 마지막으로 저장된 메타 데이터가 가리키는 위치의 페이지에서부터 불완전하게 프로그램되었는지 여부가 판단될 수 있다. 가장 최근에 저장된 메타 데이터가 가리키는 위치의 페이지에서부터 불완전하게 프로그램되었는지 여부가 판단된다면, 모든 페이지가 검색될 필요는 없다. 이 방법은 모든 페이지를 검색하는 방법보다 효율적이다.
특정 페이지가 불완전하게 프로그램되었는지 여부는 파워 오프 전 유효 데이터가 마지막으로 저장된 페이지의 다음 페이지 영역인지 여부로 판단할 수 있다. 불휘발성 메모리 장치(120)의 종전의 파워 오프가 비정상적 종료인 경우, 유효 데이터가 마지막으로 저장된 페이지의 다음 페이지 영역은 불완전하게 프로그램되었을 가능성이 있다. S350 단계는 메모리 컨트롤러(140)의 제어에 의해 수행될 수 있다.
S360 단계에서는, S350 단계에서 검색된 페이지를 포함하여 하나 이상의 페이지 영역에 더미 데이터가 프로그램될 수 있다. 더미 데이터는 사용자의 의도와 관계없는 내용의 데이터이다. 특정 페이지에 대해 프로그램이 이루어지던 중 불휘발성 메모리 장치(120)가 비정상적으로 파워 오프되면, 그 특정 페이지는 불완전하게 프로그램될 수 있다. 즉, 불휘발성 메모리 장치(120)의 종전의 파워 오프가 비정상적 종료인 경우, 유효 데이터가 마지막으로 저장된 페이지 다음의 첫 페이지는 소프트 프로그램 상태에 있을 수 있다.
소프트 프로그램 상태의 값이 읽히는 위험을 피하기 위해, 파워 오프 전 유효 데이터가 마지막으로 저장된 페이지 다음의 첫 페이지에 더미 데이터가 프로그램된다. 더미 데이터는 호스트(110)와 불휘발성 메모리 장치(120)의 작동에 활용되지 않을 수 있다. S360 단계는 메모리 컨트롤러(140)의 제어에 의해 수행될 수 있다.
더미 데이터는 S350 단계에서 검색된 페이지에만 프로그램될 수 있다. 그러나, 더미 데이터는 S350 단계에서 검색된 페이지를 포함하여 복수의 페이지 영역에 프로그램될 수도 있다. S350 단계에서 검색된 페이지가 불완전하게 프로그램되어 있었던 경우, 이 페이지에 대해 더미 데이터의 프로그램이 이루어지면 다음 페이지의 상태(State)가 영향을 받을 수 있다. 영향을 받은 다음 페이지가 사용되는 것을 피하기 위해, 다음 페이지에도 더미 데이터가 프로그램될 수 있다.
예로서, 더미 데이터는 파워 오프 전 마지막으로 저장된 유효 데이터에 대응하는 데이터일 수 있다. 이 경우 같은 데이터가 둘 이상의 페이지에 연속적으로 프로그램되어 있다면, 처음의 것은 유효 데이터로 취급되고 뒤의 것은 더미 데이터로 취급되도록 할 수 있다. 다른 예로서, 더미 데이터는 미리 정해진 패턴의 데이터일 수 있다. 이 경우에는 소정 패턴의 데이터가 읽히면 더미 데이터로 취급하여, 호스트(110)와 불휘발성 메모리 장치(120)의 작동에 활용되지 않게 할 수 있다.
S370 단계에서는, 더미 데이터가 프로그램된 페이지의 다음 페이지 영역에 유효 데이터가 프로그램될 수 있다. 더미 데이터가 프로그램된 페이지의 다음 페이지 영역에는 소프트 프로그램 상태에 있을 우려가 없는 페이지가 포함된다. 따라서, 더미 데이터가 프로그램된 페이지의 다음 페이지 영역에 대해서는 통상의 프로그램이 계속 이루어져도 문제가 없다. S370 단계는 메모리 컨트롤러(140)의 제어에 의해 수행될 수 있다.
이상의 실시 예를 통해 본 발명에 따른 불휘발성 메모리 장치의 구성과 그것의 관리 방법이 설명되었다. 본 발명에 따르면, 호스트로부터 불휘발성 메모리 장치로 제공된 커맨드 및 불휘발성 메모리 장치에 저장된 파워 오프 데이터에 의해, 불휘발성 메모리 장치의 종전의 파워 오프 유형이 판단될 수 있다. 이로써, 종전의 파워 오프가 비정상적 종료인 것으로 간주되고 재부팅 후 불휘발성 메모리 장치가 관리되던 방식이 개선될 수 있다.
본 발명은, 불휘발성 메모리 장치의 종전의 파워 오프가 정상적 종료인 경우, 메타 데이터가 가리키는 위치의 페이지부터 유효 데이터가 프로그램되도록 한다. 이로써 불휘발성 메모리 장치의 재부팅 후의 초기화 시간이 줄어들 수 있다.
특히 본 발명은, 불휘발성 메모리 장치의 종전의 파워 오프가 비정상적 종료인 경우, 재부팅 후 새로운 메모리 블록이 할당되던 방식을 개선한다. 본 발명은 불완전하게 프로그램된 페이지에 더미 데이터를 프로그램하고, 더미 데이터가 프로그램된 페이지의 다음 페이지 영역을 계속 사용하도록 할 수 있다. 이로써 본 발명은, 불휘발성 메모리 장치의 종전의 파워 오프가 비정상적 종료인 경우 버려지는 페이지 영역을 줄일 수 있다. 결과적으로 메모리 블록에 대해 수행되는 삭제 연산의 횟수가 감소하여, 본 발명은 불휘발성 메모리 장치의 수명이 불필요하게 줄어드는 것을 방지할 수 있다.
도 6은 본 발명의 실시 예에 따라 불휘발성 메모리 장치가 관리되는 과정을 설명하기 위한 개념도이다. 특히 도 6은, 불휘발성 메모리 장치(120, 도 1 참조)의 종전의 파워 오프가 정상적 종료인 경우의 관리 과정을 설명한다. 구체적으로, 도 6은 파워 오프 데이터 및 메타 위치 데이터 저장 영역(152), 메타 데이터 저장 영역(154), 및 사용자 데이터 저장 영역(156)을 포함하는 불휘발성 메모리(150)를 개념적으로 나타낸 그림이다.
불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료이므로, 파워 오프 데이터 및 메타 위치 데이터 저장 영역(152)에 파워 오프 데이터(210)가 저장되어 있다. 메모리 컨트롤러(140, 도 1 참조)는 파워 오프 데이터(210)를 참조하여, 불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료인 것으로 판단할 수 있다. 파워 오프 데이터 및 메타 위치 데이터 저장 영역(152)에는 메타 데이터의 위치 데이터(220)가 저장되어 있다. 메타 데이터의 위치 데이터(220)는 최근에 저장된 메타 데이터(230)의 위치가 저장된 데이터이다.
실시 예로서, 메모리 컨트롤러(140)는 불휘발성 메모리 장치(120)의 종전의 파워 오프 유형을 판단한 후 파워 오프 데이터(210)가 저장된 영역의 값을 초기화할 수 있다. 이로써, 불휘발성 메모리 장치(120)의 종전의 파워 오프가 비정상적 종료인 경우를 정상적 종료인 경우로 잘못 판단할 가능성이 없어질 수 있다.
다음으로, 메타 데이터의 위치 데이터(220)에 의해 메타 데이터 저장 영역(154)에서 최근에 저장된 메타 데이터(230)가 검색될 수 있다. 메모리 컨트롤러(140)는 최근에 저장된 메타 데이터(230)로부터 사용자 데이터 저장 영역(156) 중 유효 데이터가 프로그램될 페이지(240)의 위치를 추출할 수 있다.
유효 데이터가 프로그램될 페이지(240)에는 유효 데이터가 계속 프로그램될 수 있다. 따라서 불휘발성 메모리 장치(120)의 종전의 파워 오프가 정상적 종료인 경우에는, 유효 데이터가 프로그램될 페이지의 위치가 추출됨으로써 재부팅 시간이 단축될 수 있다.
도 7은 본 발명의 실시 예에 따라 불휘발성 메모리 장치가 관리되는 과정을 설명하기 위한 다른 개념도이다. 특히 도 7은, 불휘발성 메모리 장치(120, 도 1 참조)의 종전의 파워 오프가 비정상적 종료인 경우의 관리 과정을 설명한다. 구체적으로, 도 7은 파워 오프 데이터 및 메타 위치 데이터 저장 영역(152), 메타 데이터 저장 영역(154), 및 사용자 데이터 저장 영역(156)을 포함하는 불휘발성 메모리(150)를 개념적으로 나타낸 그림이다.
불휘발성 메모리 장치(120)의 종전의 파워 오프가 비정상적 종료이므로, 파워 오프 데이터 및 메타 위치 데이터 저장 영역(152)에 파워 오프 데이터가 저장되어 있지 않다. 이에 따라, 메모리 컨트롤러(140, 도 1 참조)는 불휘발성 메모리 장치(120)의 종전의 파워 오프가 비정상적 종료인 것으로 판단할 수 있다.
메모리 컨트롤러(140)는 불휘발성 메모리(150) 중 불완전하게 프로그램된 페이지를 검색할 수 있다. 실시 예로서, 불휘발성 메모리 장치(120)가 정상적으로 파워 오프되었을 때 저장된 메타 데이터의 위치 데이터(310)에 따라 최근에 저장된 메타 데이터(320)가 검색될 수 있다. 최근에 저장된 메타 데이터(320)가 가리키는 사용자 데이터 영역(156)의 페이지(330)에는 유효 데이터가 저장되어 있다. 불휘발성 메모리 장치(120)의 파워 오프가 비정상적 종료인 경우, 유효 데이터가 프로그램될 페이지를 가리키도록 메타 데이터를 갱신하는 작업이 수행되지 않기 때문이다. 메모리 컨트롤러(140)는 최근에 저장된 메타 데이터(320)가 가리키는 사용자 데이터 영역(156)의 페이지(330)에서부터 불완전하게 프로그램되었는지 여부를 판단할 수 있다.
위 과정에 따르면, 불완전하게 프로그램된 첫 페이지(340)가 검색될 수 있다. 유효 데이터가 프로그램되지 않은 첫 페이지(340)에는 더미 데이터가 프로그램될 수 있다. 실시 예로서, 불완전하게 프로그램된 첫 페이지(340)의 다음 페이지(350)에도 더미 데이터가 프로그램될 수 있다.
도 8 내지 도 9는 본 발명의 실시 예에 의한 불휘발성 메모리 장치가 관리된 결과를 설명하기 위한 개념도이다. 특히 도 8 내지 도 9는, 불휘발성 메모리 장치(120, 도 1 참조)의 종전의 파워 오프가 비정상적 종료인 경우의 관리 결과를 설명한다. 도 8 내지 도 9는 불휘발성 메모리(150) 중 사용자 데이터 저장 영역(156)을 중심으로 설명하기 위한 그림이다.
도 8은 불완전하게 프로그램된 첫 페이지(340, 도 7 참조)에만 더미 데이터(410)가 프로그램된 경우를 설명하는 그림이다. 이 경우, 더미 데이터(410)가 프로그램된 페이지 다음의 비어 있는 페이지(420)부터 유효 데이터가 프로그램된다.
도 9는 불완전하게 프로그램된 첫 페이지(340)와 다음 페이지(350, 도 7 참조)에 더미 데이터(430, 440)가 프로그램된 경우를 설명하는 그림이다. 이 경우, 더미 데이터(430, 440)가 프로그램된 페이지 다음의 비어 있는 페이지(450)부터 유효 데이터가 프로그램된다.
즉 불휘발성 메모리 장치(120)의 종전의 파워 오프가 비정상적 종료인 경우, 파워 오프로 인해 불완전하게 프로그램된 페이지 영역에 더미 데이터(410, 430, 440)가 프로그램될 수 있다. 그리고 더미 데이터(410, 430, 440)가 프로그램된 페이지 다음의 비어있는 페이지(420, 450) 영역이 계속 사용될 수 있다. 이로써 불휘발성 메모리 장치의 종전의 파워 오프가 비정상적 종료인 경우 버려지는 페이지 영역이 줄어들 수 있다. 결국 메모리 블록에 대해 수행되는 삭제 연산의 횟수가 감소하여, 불휘발성 메모리 장치의 수명이 불필요하게 줄어드는 것이 방지될 수 있다.
도 10은 본 발명의 실시 예에 의한 메모리 카드 시스템을 보여주는 블록도이다. 도 10의 메모리 카드 시스템(1000)은 호스트(1100)와 메모리 카드(1200)를 포함할 수 있다. 호스트(1100)는 호스트 컨트롤러(1110) 및 호스트 접속 유닛(1120)을 포함할 수 있다. 메모리 카드(1200)는 카드 접속 유닛(1210), 메모리 컨트롤러(1220), 및 불휘발성 메모리(1230)를 포함할 수 있다.
호스트 접속 유닛(1120) 및 카드 접속 유닛(1210)은 하나 이상의 핀으로 형성될 수 있다. 하나 이상의 핀은 커맨드 신호 핀, 데이터 신호 핀, 클록 신호 핀, 또는 전원 공급 핀 등을 포함할 수 있다. 핀의 수는 메모리 카드(1200)의 종류에 따라 달라질 수 있다. 카드 접속 유닛(1210)은, USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 또는 IDE 등, 다양한 인터페이스 프로토콜들 중 하나에 따라 외부(예컨대, 호스트(1100))와 통신하도록 구성될 수 있다.
호스트(1100)는 메모리 카드(1200)에 데이터를 저장하거나, 메모리 카드(1200)에 저장된 데이터를 읽을 수 있다. 호스트 컨트롤러(1110)는 커맨드 신호(CMD), 호스트(1100) 내 클록 발생기(미도시)에서 발생한 클록 신호(CLK), 및 데이터 신호(DAT)를 호스트 접속 유닛(1120)을 통해 메모리 카드(1200)로 제공할 수 있다.
메모리 컨트롤러(1220)는 카드 접속 유닛(1210)을 통해 제공된 커맨드에 따라 작동할 수 있다. 불휘발성 메모리(1230)는 호스트(1100)로부터 제공된 데이터를 저장할 수 있다. 예컨대, 호스트(1100)가 디지털 카메라인 경우 불휘발성 메모리(1230)는 영상 데이터를 저장할 수 있다. 본 발명의 실시 예에 따른 메모리 카드(1200)는 임베디드 멀티미디어 카드(eMMC)로 이루어질 수 있다.
도 11은 본 발명의 실시 예에 의한 휴대용 단말기를 나타내는 블록도이다. 도 11의 휴대용 단말기(2000)는 이미지 처리부(2100), 무선 송수신부(2200), 오디오 처리부(2300), 임베디드 멀티미디어 카드(2400), SDRAM(2500), 유저 인터페이스(2600), 및 컨트롤러(2700)를 포함할 수 있다.
이미지 처리부(2100)는 렌즈(2110), 이미지 센서(2120), 이미지 프로세서(2130), 및 디스플레이 유닛(2140)을 포함할 수 있다. 무선 송수신부(2200)는 안테나(2210), 송수신기(2220), 및 모뎀(2230)을 포함할 수 있다. 오디오 처리부(2300)는 오디오 프로세서(2310), 마이크(2320), 및 스피커(2330)를 포함할 수 있다.
이미지 처리부(2100), 무선 송수신부(2200), 오디오 처리부(2300), 임베디드 멀티미디어 카드(2400), 및 SDRAM(2500)은 컨트롤러(2700)의 제어에 따라, 유저 인터페이스(2600)를 통해 제공되는 사용자 명령을 수행하도록 작동될 수 있다. 또는 이미지 처리부(2100), 무선 송수신부(2200), 오디오 처리부(2300), 임베디드 멀티미디어 카드(2400), 및 SDRAM(2500)은 컨트롤러(2700)의 제어에 따라, 유저 인터페이스(2600)를 통해 사용자에게 서비스를 제공하도록 작동될 수 있다.
본 발명의 실시 예에 따른 메모리 카드, 불휘발성 메모리 장치, 및 메모리 컨트롤러는 다양한 형태의 패키지를 이용하여 실장될 수 있다. 예컨대, 본 발명의 실시 예에 따른 메모리 및/또는 메모리 컨트롤러는 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), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등의 패키지를 이용하여 실장될 수 있다.
이상에서 본 발명에 대한 실시 예를 중심으로 본 발명이 설명되었다. 다만 본 발명이 속하는 기술 분야의 특성상, 본 발명이 이루고자 하는 목적은 본 발명의 요지를 포함하면서도 위 실시 예와 다른 형태로 달성될 수 있다. 따라서 위 실시 예들은 한정적인 것이 아니라 설명적인 측면에서 이해되어야 한다. 즉 본 발명의 요지를 포함하면서 본 발명과 같은 목적을 달성할 수 있는 기술 사상은 본 발명의 기술 사상에 포함되는 것으로 해석되어야 한다.
따라서 본 발명의 본질적인 특성을 벗어나지 않는 범위 내에서 수정 또는 변형이 이루어진 기술 사상은 본 발명이 청구하는 보호 범위에 포함되는 것이다. 또한 본 발명의 보호 범위는 위 실시 예로 한정하여 정해지는 것이 아니다.
100 : 불휘발성 메모리 시스템 110 : 호스트
120 : 불휘발성 메모리 장치 130 : 인터페이스
140 : 메모리 컨트롤러 150 : 불휘발성 메모리
152 : 파워 오프 데이터 및 메타 위치 데이터 저장 영역
154 : 메타 데이터 저장 영역 156 : 사용자 데이터 저장 영역
158 : 페이지 버퍼 210 : 파워 오프 데이터
220 : 메타 데이터의 위치 데이터 230 : 최근에 저장된 메타 데이터
240 : 유효 데이터가 프로그램될 페이지
310 : 메타 데이터의 위치 데이터 320 : 최근에 저장된 메타 데이터
330 : 최근에 저장된 메타 데이터가 가리키는 사용자 데이터 영역의 페이지
340 : 불완전하게 프로그램된 첫 페이지
350 : 불완전하게 프로그램된 첫 페이지의 다음 페이지
410, 430, 440 : 더미 데이터 420, 450 : 비어 있는 페이지
1000 : 메모리 카드 시스템 1100 : 호스트
1110 : 호스트 컨트롤러 1120 : 호스트 접속 유닛
1200 : 메모리 카드 1210 : 카드 접속 유닛
1220 : 메모리 컨트롤러 1230 : 불휘발성 메모리
2000 : 휴대용 단말기 2100 : 이미지 처리부
2110 : 렌즈 2120 : 이미지 센서
2130 : 이미지 프로세서 2140 : 디스플레이 유닛
2200 : 무선 송수신부 2210 : 안테나
2220 : 송수신기 2230 : 모뎀
2300 : 오디오 처리부 2310 : 오디오 프로세서
2320 : 마이크 2330 : 스피커
2400 : eMMC 2500 : SDRAM
2600 : 유저 인터페이스 2700 : 컨트롤러

Claims (10)

  1. 불휘발성 메모리를 포함하는 메모리 장치를 관리하는 방법에 있어서,
    호스트로부터 상기 메모리 장치로 수신되는 커맨드 및 상기 불휘발성 메모리에 저장된 파워 오프 데이터 중 적어도 하나에 기초하여, 상기 메모리 장치의 파워 오프가 정상적 종료였는지 또는 비정상적 종료였는지 판단하는 단계;
    상기 메모리 장치의 상기 파워 오프가 상기 비정상적 종료였던 것으로 판단한 경우에만, 상기 불휘발성 메모리의 페이지들 중에서, 상기 메모리 장치의 상기 파워 오프의 전에 상기 불휘발성 메모리에 마지막으로 저장되었던 메타데이터가 가리키는 페이지에서부터, 불완전하게 프로그램된 페이지를 검색하는 단계;
    상기 불휘발성 메모리에 유효 데이터를 프로그램하기 전에, 상기 검색된 불완전하게 프로그램된 페이지에 더미 데이터를 프로그램하는 단계; 및
    상기 메모리 장치의 상기 파워 오프가 상기 정상적 종료였던 것으로 판단한 경우, 상기 불휘발성 메모리에 유효 데이터를 프로그램하기 전에, 상기 메타데이터로부터 유효 데이터가 저장될 페이지의 위치를 추출하고 상기 파워 오프 데이터를 초기화하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 커맨드는 상기 호스트에 저장된 데이터에 기초하여 상기 메모리 장치의 상기 파워 오프가 상기 정상적 종료였는지 또는 상기 비정상적 종료였는지를 나타내는 방법.
  3. 제 1 항에 있어서,
    상기 메모리 장치의 상기 파워 오프가 상기 정상적 종료인 동안 상기 호스트로부터 상기 메모리 장치로 수신되는 파워 오프 신호에 따라 상기 불휘발성 메모리에 상기 파워 오프 데이터를 저장하는 단계; 및
    상기 파워 오프 신호에 따라 상기 불휘발성 메모리에 상기 메타데이터를 저장하는 단계를 더 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 불완전하게 프로그램된 페이지를 검색하는 단계는:
    상기 메타데이터를 참조하여, 상기 비정상적 종료의 전에 유효 데이터가 마지막으로 저장되었던 페이지를 판단하는 단계; 및
    상기 판단된 페이지를 상기 불완전하게 프로그램된 페이지로 결정하는 단계를 포함하는 방법.
  5. 제 1 항에 있어서,
    상기 더미 데이터는 상기 비정상적 종료의 전에 상기 불휘발성 메모리에 마지막으로 저장되었던 유효 데이터에 대응하는 방법.
  6. 제 1 항에 있어서,
    상기 더미 데이터는 미리 정해진 패턴의 데이터인 방법.
  7. 제 1 항에 있어서,
    상기 검색된 불완전하게 프로그램된 페이지의 다음 페이지에 상기 더미 데이터를 프로그램하는 단계를 더 포함하는 방법.
  8. 메모리 장치에 있어서,
    메모리 컨트롤러; 및
    각각이 k개의 페이지를 포함하는 n개의 블록으로 구성되는 메모리 셀들을 포함하는 불휘발성 메모리를 포함하되,
    상기 n개의 블록 중 일부는 파워 오프 데이터 및 메타데이터를 저장하고,
    상기 메모리 컨트롤러는:
    호스트로부터 수신되는 커맨드 및 상기 불휘발성 메모리에 저장된 상기 파워 오프 데이터 중 적어도 하나에 기초하여, 상기 메모리 장치의 파워 오프가 정상적 종료였는지 또는 비정상적 종료였는지 판단하고;
    상기 메모리 장치의 상기 파워 오프가 상기 비정상적 종료였던 것으로 판단한 경우에만, 상기 불휘발성 메모리의 상기 n개의 블록의 상기 k개의 페이지 중에서, 상기 비정상적 종료의 전에 상기 불휘발성 메모리에 마지막으로 저장되었던 상기 메타데이터를 참조하여, 불완전하게 프로그램된 페이지를 검색하고;
    상기 불휘발성 메모리에 유효 데이터가 프로그램되기 전에, 상기 검색된 불완전하게 프로그램된 페이지에 더미 데이터가 프로그램되도록 상기 불휘발성 메모리를 제어하고,
    상기 더미 데이터는 상기 비정상적 종료의 전에 상기 불휘발성 메모리에 마지막으로 저장되었던 유효 데이터에 대응하는 메모리 장치.
  9. 불휘발성 메모리를 포함하는 메모리 장치를 관리하는 방법에 있어서,
    상기 메모리 장치를 재부팅한 후, 상기 메모리 장치가 정상적으로 종료되었던 것으로 판단되면 제 1 관리 방법을 수행하는 단계; 및
    상기 메모리 장치를 재부팅한 후, 상기 메모리 장치가 비정상적으로 종료되었던 것으로 판단되면 상기 제 1 관리 방법과 상이한 제 2 관리 방법을 수행하는 단계를 포함하되,
    상기 제 1 관리 방법은 상기 불휘발성 메모리에 저장된 메타데이터로부터 유효 데이터가 저장될 페이지의 위치를 추출하고 상기 추출된 위치의 상기 페이지에 유효 데이터의 프로그램을 수행하는 것, 및 상기 프로그램을 수행하기 전에 상기 불휘발성 메모리에 저장된 파워 오프 데이터를 초기화하는 것을 포함하고,
    상기 제 2 관리 방법은 상기 메타데이터를 참조하여 상기 불휘발성 메모리의 페이지들 중에서 불완전하게 프로그램된 페이지를 검색하고 상기 검색된 불완전하게 프로그램된 페이지에 더미 데이터를 프로그램한 후에만 상기 불휘발성 메모리에 유효 데이터의 프로그램을 수행하는 것을 포함하는 방법.
  10. 제 9 항에 있어서,
    상기 메모리 장치를 재부팅하기 전에 상기 파워 오프 데이터에 기초하여 상기 메모리 장치가 정상적으로 종료되었었는지 또는 비정상적으로 종료되었었는지 판단하는 단계를 더 포함하는 방법.
KR1020130076616A 2013-07-01 2013-07-01 불휘발성 메모리 장치 및 그것의 관리 방법 KR102127284B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130076616A KR102127284B1 (ko) 2013-07-01 2013-07-01 불휘발성 메모리 장치 및 그것의 관리 방법
US14/299,706 US9431069B2 (en) 2013-07-01 2014-06-09 Management method for nonvolatile memory system following power-off

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130076616A KR102127284B1 (ko) 2013-07-01 2013-07-01 불휘발성 메모리 장치 및 그것의 관리 방법

Publications (2)

Publication Number Publication Date
KR20150003577A KR20150003577A (ko) 2015-01-09
KR102127284B1 true KR102127284B1 (ko) 2020-06-26

Family

ID=52116902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130076616A KR102127284B1 (ko) 2013-07-01 2013-07-01 불휘발성 메모리 장치 및 그것의 관리 방법

Country Status (2)

Country Link
US (1) US9431069B2 (ko)
KR (1) KR102127284B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102102224B1 (ko) 2013-10-01 2020-04-20 삼성전자주식회사 저장 장치 및 그것의 프로그램 방법
KR102117919B1 (ko) * 2013-10-24 2020-06-02 삼성전자주식회사 저장 장치 및 그것의 프로그램 방법
KR20150056704A (ko) 2013-11-15 2015-05-27 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
IN2014MU00845A (ko) * 2014-03-13 2015-09-25 Sandisk Technologies Inc
US9728278B2 (en) * 2014-10-24 2017-08-08 Micron Technology, Inc. Threshold voltage margin analysis
KR102374668B1 (ko) 2015-08-31 2022-03-17 삼성전자주식회사 전력 공급 중단의 경향에 따라 불휘발성 메모리를 다르게 관리하는 스토리지 장치
KR20170074264A (ko) * 2015-12-21 2017-06-30 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102585871B1 (ko) * 2016-02-26 2023-10-10 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN107204204B (zh) * 2016-03-16 2020-01-31 建兴储存科技(广州)有限公司 固态储存装置的断电期间估计方法
KR102547642B1 (ko) * 2016-05-18 2023-06-28 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102593178B1 (ko) * 2016-08-19 2023-10-25 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
TWI645404B (zh) * 2017-12-28 2018-12-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
KR102610395B1 (ko) 2019-01-22 2023-12-05 삼성전자주식회사 비휘발성 메모리 장치를 포함하는 메모리 시스템
KR20200113992A (ko) * 2019-03-27 2020-10-07 에스케이하이닉스 주식회사 메모리 시스템의 복구 동작 중 비휘발성 메모리 오픈 블록의 셀 디스터브를 줄이는 방법 및 장치
US11126368B2 (en) * 2019-04-30 2021-09-21 Western Digital Technologies, Inc. Systems and methods for finding a last good page in NAND open block
TWI745695B (zh) * 2019-05-22 2021-11-11 慧榮科技股份有限公司 用來進行無預警斷電復原管理之方法、記憶裝置及其控制器以及電子裝置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100180068A1 (en) 2006-08-09 2010-07-15 Masahiro Matsumoto Storage device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
KR100899171B1 (ko) * 2000-12-20 2009-05-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 기록 및 재생장치용 정전 복구 메카니즘
JP2002334586A (ja) 2001-05-07 2002-11-22 Yamaha Corp フラッシュメモリを用いた情報記憶方法および情報記憶プログラム
KR100449708B1 (ko) 2001-11-16 2004-09-22 삼성전자주식회사 플래시 메모리 관리방법
US7181611B2 (en) 2002-10-28 2007-02-20 Sandisk Corporation Power management block for use in a non-volatile memory system
US7082512B2 (en) * 2002-11-21 2006-07-25 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
KR100843543B1 (ko) 2006-10-25 2008-07-04 삼성전자주식회사 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
KR20090042039A (ko) 2007-10-25 2009-04-29 삼성전자주식회사 불휘발성 메모리 장치의 데이터 관리 방법
US8732388B2 (en) 2008-09-16 2014-05-20 Micron Technology, Inc. Embedded mapping information for memory devices
KR101555022B1 (ko) 2008-12-02 2015-09-23 삼성전자주식회사 메모리 장치, 그것을 포함한 메모리 시스템 및 그것의 맵핑정보 복원 방법
JP5317690B2 (ja) 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
US9612954B2 (en) 2008-12-31 2017-04-04 Micron Technology, Inc. Recovery for non-volatile memory after power loss
KR20110046243A (ko) * 2009-10-27 2011-05-04 삼성전자주식회사 사용자 장치 및 그것의 맵핑 데이터 관리 방법
CN101876949B (zh) 2009-11-30 2012-04-25 威盛电子股份有限公司 数据储存系统与方法
US20110208898A1 (en) 2010-02-23 2011-08-25 Samsung Electronics Co., Ltd. Storage device, computing system, and data management method
KR101890767B1 (ko) * 2011-07-01 2018-09-28 시게이트 테크놀로지 인터내셔날 주소 사상 정보 관리 방법 이를 적용한 저장 장치
KR101784816B1 (ko) * 2011-08-18 2017-10-12 삼성전자 주식회사 비휘발성 메모리 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100180068A1 (en) 2006-08-09 2010-07-15 Masahiro Matsumoto Storage device

Also Published As

Publication number Publication date
US20150006939A1 (en) 2015-01-01
US9431069B2 (en) 2016-08-30
KR20150003577A (ko) 2015-01-09

Similar Documents

Publication Publication Date Title
KR102127284B1 (ko) 불휘발성 메모리 장치 및 그것의 관리 방법
CN106847340B (zh) 用于非易失性存储器系统以及存储器控制器的操作的方法
KR102179270B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
US9032272B2 (en) Memory systems and block copy methods thereof
US8621266B2 (en) Nonvolatile memory system and related method of performing erase refresh operation
US8775874B2 (en) Data protection method, and memory controller and memory storage device using the same
US10474573B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
CN106598479B (zh) 闪速存储器的故障安全擦除的方法和装置
US20100174853A1 (en) User device including flash and random write cache and method writing data
US20150127882A1 (en) Read operation prior to retrieval of scatter gather list
KR101583002B1 (ko) 컴퓨팅 시스템, 그것의 부팅 방법, 및 코드 데이터 피닝 방법
US10649896B2 (en) Storage device and data processing system including the same
US10528264B2 (en) Storage device and data processing system including the same
KR20090042039A (ko) 불휘발성 메모리 장치의 데이터 관리 방법
US20150058534A1 (en) Managing method for cache memory of solid state drive
US9576669B2 (en) Nonvolatile memory devices and methods of programming and reading nonvolatile memory devices
KR20110065897A (ko) 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
KR20140133427A (ko) 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기
KR20110053797A (ko) 전하 재활용 메모리 시스템 및 그것의 전하 재활용 방법
US8154925B2 (en) Semiconductor memory device and system capable of executing an interleave programming for a plurality of memory chips and a 2-plane programming at the respective memory chips
KR20170111657A (ko) 반도체 메모리 장치 및 이의 동작 방법
KR20170086840A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11347433B2 (en) Method for performing sudden power off recovery management, associated memory device and controller thereof, and associated electronic device
US20210149597A1 (en) Controller and operation method thereof

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant