KR20140133427A - 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기 - Google Patents

플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기

Info

Publication number
KR20140133427A
KR20140133427A KR1020140042940A KR20140042940A KR20140133427A KR 20140133427 A KR20140133427 A KR 20140133427A KR 1020140042940 A KR1020140042940 A KR 1020140042940A KR 20140042940 A KR20140042940 A KR 20140042940A KR 20140133427 A KR20140133427 A KR 20140133427A
Authority
KR
South Korea
Prior art keywords
block
detection result
contents
blocks
bit error
Prior art date
Application number
KR1020140042940A
Other languages
English (en)
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
Priority claimed from TW102116649A external-priority patent/TWI508068B/zh
Application filed by 실리콘 모션 인코포레이티드 filed Critical 실리콘 모션 인코포레이티드
Publication of KR20140133427A publication Critical patent/KR20140133427A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Abstract

플래시 메모리에 저장된 데이터를 관리하는 방법이 제공되며, 상기 플래시 메모리는 복수의 블록을 포함한다. 방법은 상기 복수의 블록의 프로그램된 블록 및 상기 프로그램된 블록의 기록 시간의 시퀀스에 관한 정보를 기록하는 프로그램 목록을 제공하는 단계; 상기 복수의 블록 중 제1 블록의 품질을 검출하여 제1 검출 결과를 생성하는 단계; 및 상기 제1 검출 결과를 참조하여 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제할지를 판단하는 단계를 포함하며, 상기 제1 블록은 상기 프로그램 목록에서 가장 이른 기록 시간을 가지는 프로그램된 블록이다.

Description

플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기{METHOD FOR MANAGING DATA STORED IN FLASH MEMORY AND ASSOCIATED MEMORY DEVICE AND CONTROLLER}
본 출원은 2012년 7월 25일에 출원된 미국 가출원 No. 61/675,355의 우선권을 주장하는 바이며, 상기 문헌의 내용은 본 명세서에 포함된다.
본 발명의 개시된 실시예는 플래시 메모리에 관한 것이며, 특히 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기에 관한 것이다.
플래시 메모리는 전기적 삭제 및 기록/프로그램을 통해 데이터를 저장하는 데 사용될 수 있으며, 메모리 카드, 고체상태 드라이브, 휴대형 멀티미디어 플레이어 등에 폭넓게 사용되고 있다. 플래시 메모리는 비휘발성이기 때문에, 플래시 메모리에 저장되어 있는 것을 유지하는데 추가의 전력을 필요로 하지 않는다. 또한, 플래시 메모리는 고속 데이터 액세스 및 탁월한 내진동(vibration resistance)을 제공하며, 이에 따라 많이 보급되고 있다.
플래시 메모리는 2개의 범주: NOR 플래시 메모리 및 NAND 플래시 메모리로 분류될 수 있다. 후자의 경우, 삭제 시간 및 프로그램 시간이 짧고, 각 메모리 셀의 다이 크기가 작다. 그러므로 NOR 플래시 메모리에 비해, NAND 플래시 메모리가 저장 밀도가 높고 비트당 단가가 낮다. 일반적으로 말하자면, 플래시 메모리는 메모리 셀 어레이로 구성되며, 각각의 메모리 셀은 실제로는 플로팅-게이트 트랜지스터를 사용해서 실현되고, 메모리 셀의 임계값은 플로팅-게이트 트랜지스터의 플로팅 게이트에서의 전하 수를 적절하게 제어하여 구성되며 이에 의해 싱글 비트 데이터 멀티 비트 데이터를 저장한다. 그러므로 하나 이상의 미리 정해진 제어 게이트 전압이 플로팅-게이트 트랜지스터의 제어 게이트에 부과되고, 플로팅-게이트 트랜지스터의 전도 상태는 플로팅-게이트 트랜지스터에 저장되어 있는 하나 이상의 이진 디지트(binary digit)를 나타낼 것이다.
그렇지만, 어떠한 이유로 인해, 플래시 메모리의 원래의 전하 수가 영향을 받거나 장애를 받을 수 있다. 예를 들어, 이러한 장애는 보존 장애로부터 나올 수 있으며, 플래시 메모리에 저장되어 있는 전하 수는 고온으로 인해 변할 수 있다. 그러므로 플래시 메모리의 메모리 셀의 임계 전압 분배는 보존 시간 및/또는 온도의 영향으로 변할 수 있으며, 임계 전압 분배가 원래의 임계 전압과는 다를 수 있으므로 메모리 셀로부터 판독되는 데이터는 오류가 될 수 있다.
그러므로 본 발명의 목적 중 하나는 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기를 제공하여, 메모리 셀에 저장되어 있는 데이터의 심각한 왜곡을 회피하는 것이다.
본 발명의 실시예에 따라, 플래시 메모리에 저장된 데이터를 관리하는 방법에 대해 개시한다. 여기서, 상기 플래시 메모리는 복수의 블록을 포함하고, 상기 방법은, 상기 복수의 블록의 프로그램된 블록 및 상기 프로그램된 블록의 기록 시간의 시퀀스에 관한 정보를 기록하는 프로그램 목록을 제공하는 단계; 상기 복수의 블록 중 제1 블록의 품질을 검출하여 제1 검출 결과를 생성하는 단계; 및 상기 제1 검출 결과를 참조하여 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제할지를 판단하는 단계를 포함하며, 상기 제1 블록은 상기 프로그램 목록에서 가장 이른 기록 시간을 가지는 프로그램된 블록이다.
본 발명의 실시예에 따라, 메모리 장치에 대해 개시한다. 상기 메모리 장치는 플래시 메모리 및 제어기를 포함한다. 상기 플래시 메모리는 복수의 블록을 포함한다. 상기 제어기는 상기 복수의 블록의 프로그램된 블록 및 상기 프로그램된 블록의 기록 시간의 시퀀스에 관한 정보를 기록하는 프로그램 목록을 저장하는 메모리를 포함한다. 여기서, 상기 제어기는 상기 복수의 블록 중 제1 블록의 품질을 검출하여 제1 검출 결과를 생성하고, 상기 제1 블록은 상기 프로그램 목록에서 가장 이른 기록 시간을 가지는 프로그램된 블록이며; 상기 제어기는 상기 제1 검출 결과를 참조하여 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제할지를 판단한다.
본 발명의 실시예에 따라, 플래시 메모리의 제어기에 대해 개시한다. 여기서, 제어기는 플래시 메모리에 액세스하기 위해 배치되며, 상기 플래시 메모리는 복수의 블록을 포함하고, 상기 제어기는 메모리 및 마이크로 프로세서를 포함한다. 상기 메모리는 프로그램 코드 및 프로그램 목록을 저장하며, 상기 프로그램 목록은 상기 복수의 블록의 프로그램된 블록 및 상기 프로그램된 블록의 기록 시간의 시퀀스에 관한 정보를 기록한다. 상기 마이크로 프로세서는 상기 프로그램 코드를 실행하여 상기 플래시 메모리의 액세스를 제어하고 상기 복수의 블록을 관리기 위해 배치된다. 여기서 상기 마이크로 프로세서는 상기 복수의 블록 중 제1 블록의 품질을 검출하여 제1 검출 결과를 생성하며, 상기 제1 블록은 상기 프로그램 목록에서 가장 이른 기록 시간을 가지는 프로그램된 블록이며, 그리고 상기 제1 검출 결과에 따라 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제할지를 판단한다.
본 발명의 이러한 목적 및 다른 목적은 당업자가 다양한 도면에 도해되어 있는 양호한 실시예에 대한 이하의 상세한 설명을 읽은 후에 자명하게 될 것이다.
도 1은 본 발명의 실시예에 따른 메모리 장치를 도시하는 도면이다.
도 2는 본 발명의 실시예에 따른 프로그램 목록을 도면이다.
도 3은 본 발명의 실시예에 따라 플래시 메모리에 저장되어 있는 데이터를 관리하는 방법을 도시하는 흐름도이다.
도 4는 갱신된 프로그램 목록에서 기록 시간이 가장 이른 블록의 내용을 블랭크 블록으로 이동하는 단계를 나타내는 도면이다.
상세한 설명 및 뒤이은 특허청구범위에서 사용되는 특정한 용어는 특별한 구성요소를 일컫는다. 당업자가 잘 이해하는 바와 같이, 제조업자는 구성요소를 다른 명칭으로 언급할 수도 있다. 본 문헌에서는 명칭은 다르되 기능은 다르지 않은 구성요소를 구별하지 않는다. 이하의 설명 및 특허청구범위에서, "구비하다" 및 "포함하다"는 말은 넓은 의미로 사용되며, 따라서 "구비하되, 제한하지 않는"의 의미로 파악되어야 한다. 또한, "결합하다"는 말은 직접 또는 간접적인 전기 접속 중 어느 것으로도 의미한다. 따라서, 하나의 장치가 다른 장치에 전기적으로 접속되면, 그 접속은 직접적인 전기 접속일 수 있거나 다른 장치 및 접속을 통한 간접적인 전기 접속이 될 수도 있다.
도 1을 참조하면, 본 발명의 실시예에 따른 메모리 장치(100)를 도시되어 있다. 본 발명의 메모리 장치(100)는 특히 휴대형 메모리 장치(예를 들어, SD/MMC, CF, MS 또는 XD 표준을 따르는 메모리 카드)이다. 메모리 장치(100)는 플래시 메모리(120) 및 제어기를 포함한다. 제어기는 플래시 메모리(120)에 액세스하기 위해 배치된 메모리 제어기(110)일 수 있다. 본 실시예에 따르면, 메모리 제어기(110)는 마이크로 프로세서(112), 메모리(112M), 제어 로직(114), 버퍼 메모리(116) 및 인터페이스 로직(118)을 포함한다. 메모리(112M)는 프로그램 코드(112C)를 저장하는 데 사용되고, 마이크로 프로세서(112)는 프로그램 코드(112C)를 실행하여 플래시 메모리(120)의 액세스를 제어하는 데 사용된다.
통상적인 경우, 플래시 메모리(120)는 복수의 블록을 포함하고, 제어기(예를 들어, 마이크로 프로세서(112)를 통해 프로그램 코드(112C)를 실행하는 메모리 제어기(110))는 데이터 복사, 데이터 삭제, 데이터 병합 등을 포함하는 처리를 플래시 메모리(120)에 대해 수행하며, 여기서 삭제 처리는 블록 기반 처리(block based process)이다. 또한, 블록은 페이지의 특정한 수를 기록하는데, 플래시 메모리(120)에 대해 제어기(예를 들어, 마이크로 프로세서(112)를 통해 프로그램 코드(112C)를 실행하는 메모리 제어기(110))에 의해 수행되는 처리는 페이지 기반 처리(page based process)이다.
실제로, 메모리 제어기(110)는 그 내부 구성요소를 사용하여 다양한 처리를 수행한다. 예를 들어, 메모리 제어기(110)는 제어 로직(114)을 사용하여 플래시 메모리(120)의 액세스(특히, 적어도 하나의 블록 또는 적어도 하나의 페이지의 액세스)를 제어하거나, 버퍼 메모리(116)를 사용하여 원하는 버퍼링 처리를 수행하거나, 또는 인터페이스 로직(118)을 사용하여 호스트 장치와 통신한다.
또한, 메모리(112M)는 내부에 프로그램 목록(112P)을 저장하고 있으며, 프로그램 목록(112P)은 복수의 블록의 프로그램된 블록 및 상기 프로그램된 블록의 기록 시간(상대적 기록 시간)의 시퀀스에 관한 정보를 기록한다. 예를 들어, 도 2를 참조하면, 본 발명의 실시예에 따른 프로그램 목록이 도시되어 있다. 도 2에 도시된 바와 같이, 플래시 메모리(120)는 총 N개의 블록 B1-BN을 가지는 것으로 하고, 여기서 블록 B2-B4, B7-B11 및 B14는 미리 프로그램되어 있으며, 기록 시간의 시퀀스는 B14, B2-B4, 및 B7-B11이다. 그러므로 프로그램 목록(200)은 프로그램된 블록의 기록 시간 대신에 블록 B14, B2-24, B7-B11을 순차적으로 기록할 수 있다. 그렇지만, 도 2에 도시된 프로그램 목록(200)의 내용은 도해의 목적에 지나지 않으며, 본 발명을 제한하는 것이 아니다는 것에 유의해야 한다. 본 발명의 다른 실시예에서는, 다른 기록 방식으로 사용하여 복수의 블록의 프로그램된 블록 및 상기 프로그램된 블록의 기록 시간(상대적 기록 시간)의 시퀀스에 관한 정보를 기록할 수도 있다.
도 1 - 도 3을 함께 참조한다. 도 3은 본 발명의 실시예에 따라 플래시 메모리에 저장되어 있는 데이터를 관리하는 방법을 도시하는 흐름도이다. 방법은 다음과 같이 설명된다.
단계 300에서, 흐름이 시작한다. 단계 302에서, 메모리 제어기(110)가 유휴 상태에 있을 때(즉, 메모리 제어기(110)가 어떠한 커맨드도 수신하지 않고 실행하지 않을 때), 마이크로 프로세서(112)는 프로그램 목록(112P)에 따라 블록의 품질을 검출하고 따라서 검출 결과를 생성하며, 여기서 블록은 가장 이른 기록 시간을 가지는 프로그램된 블록이다. 도 2에 도시된 프로그램 목록(200)을 예로 하면, 마이크로 프로세서(112)는 블록 B14의 관점에서 품질 검사를 수행한다. 구체적으로, 마이크로 프로세서(112)는 블록 B14의 내용 중 적어도 일부(예를 들어, 페이지 중 적어도 일부의 페이지) 및 디코딩 처리 동안 획득되는 비트 오류율 또는 비트 오류량을 판독함으로써 검출 결과를 생성한다. 대안으로, 마이크로 프로세서(112)는 블록 B14에 포함되어 있는 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태를 검출함으로써 검출 결과를 생성할 수 있으며, 각 메모리 셀은 플로팅-게이트 트랜지스터에 의해 실현될 수 있다.
다음, 단계 104에서, 마이크로 프로세서(112)는 검출 결과에 의해 나타나는 블록의 품질이 기준을 충족하는지를 판단한다. 검출 결과에 의해 나타나는 블록의 품질이 기준을 충족하면, 흐름은 단계 306으로 진입하고; 그렇지 않으면, 단계 308이 수행될 것이다. 상세하게 설명하면, 마이크로 프로세서(112)가 블록 B14의 내용 중 적어도 일부의 비트 오류율 또는 비트 오류량을 검출함으로써 검출 결과를 생성하는 경우를 고려하여(단계 302), 검출 결과가 블록 B14의 내용 중 적어도 일부의 비트 오류율 또는 비트 오류량이 임계값보다 높으면(단계 304), 흐름은 단계 308로 진행할 것이다. 검출 결과가 블록 B14의 내용 중 적어도 일부의 비트 오류율 또는 비트 오류량이 임계값보다 낮으면, 흐름은 단계 306으로 진행할 것이다. 마이크로 프로세서(112)가 블록 B14에 포함되어 있는 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태를 검출함으로써 검출 결과를 생성하는 다른 경우를 고려하여(단계 302), 검출 결과가 블록 B14에 포함되어 있는 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태가 기준을 충족하지 않으면(단계 304), 흐름은 단계 308로 진행할 것이다. 검출 결과가 블록 B14에 포함되어 있는 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태가 기준을 충족하면, 흐름은 단계 306으로 진행할 것이다.
단계 306에서는, 블록 B14의 품질이 기준을 충족하므로, 그에 따라 마이크로 프로세서(112)는 블록 B14 내의 데이터를 그대로 유지한다. 바꿔 말하면, 블록 B14의 내용은 변하지 않고 유지되어 메모리 수명을 연장할 수 있다. 이 외에, 블록 B14는 가장 이른 기록 시간을 가지는 프로그램된 블록이므로, 기록 시간이 상대적으로 늦은 다른 블록 B2-B4 및 B7-B11이 이때 과도한 보존 시간으로 인해 야기되는 데이터 왜곡 문제를 일으키지 않을 것이다. 그러므로 마이크로 프로세서(112)가 다른 블록에 대한 검출 및 판단 처리를 수행하지 않아도 되며, 단계 310은 직접적으로 흐름을 종료하도록 진행될 수 있다.
단계 308에서, 블록 B14의 품질은 기준을 충족하지 않으므로, 마이크로 프로세서(112)는 블록 B14의 모든 내용을 블랭크/비어 있는 블록으로 이동시키고, 블록 B14의 내용을 삭제하며, 프로그램 목록(200)의 내용을 갱신한다. 예를 들어, 도 4를 참조하여, 블록 B14의 전체 내용이 블록 B14로 이동되면, 블록 14와 관련된 기록이 프로그램 목록(200)에서 삭제될 것이고, 블록 B14의 내용은 삭제될 것이다. 또한, 프로그램 코드(112C)의 내장형 백업 블록 목록(410)(플래시 메모리(120) 내의 어느 블록이 비어 있는지를 기록하기 위해 배치되어 있다)이 블랭크 블록이 될 것이다. 프로그램 목록(200)은 블록 B15에 속하는 기록을 그 끝에 추가로 첨부할 것이다. 또한, 블록 B14의 전체 내용을 블록 B15로 이동시키는 과정에서, 메모리 제어기(110)는 데이터에 대해 디코딩 및 오류 정정 동작을 수행한다. 그러므로 블록 B15에 이동된 데이터의 품질이 더 낫다.
단계 308이 완료된 후, 흐름은 단계 302로 되돌아가서 블록 B2의 품질을 검출하여 검출 결과를 생성하고, 여기서 블록 B2는 갱신된 프로그램 목록(200)에 기록되어 있는 가장 이른 기록 시간을 가지는 프로그램된 블록이다. 다음, 전술한 처리가 반복된다.
요약하면, 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 장치 및 제어기는 메모리 제어기의 유휴 주기를 활용하여 가장 이른 기록 시간(즉, 가장 긴 보존 시간) 및 열악한 품질을 가지는 프로그램된 블록의 내용을 다른 블록으로 이동시킨다. 이 방법으로, 긴 보존 시간을 가지는 데이터 왜곡 및 임계 전압 분배 변동과 같은 원하지 않는 상황이 방지될 수 있다.
당업자라면 이러한 장치 및 방법의 다양한 변형 및 대안이 본 발명의 지침을 유지하면서 이루어질 수 있다는 것을 쉽게 이해할 수 있을 것이다. 따라서, 전술한 설명은 첨부된 특허청구범위에 의해서만 제한되는 것을 파악되어야 한다.

Claims (20)

  1. 플래시 메모리에 저장된 데이터를 관리하는 방법에 있어서,
    상기 플래시 메모리는 복수의 블록을 포함하고, 상기 방법은,
    상기 복수의 블록의 프로그램된 블록 및 상기 프로그램된 블록의 기록 횟수의 시퀀스에 관한 정보를 기록하는 프로그램 목록을 제공하는 단계;
    상기 복수의 블록 중 제1 블록의 품질을 검출하여 제1 검출 결과를 생성하는 단계; 및
    상기 제1 검출 결과를 참조하여 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제할지를 판단하는 단계
    를 포함하며,
    상기 제1 블록은 상기 프로그램 목록에서 가장 이른 기록 시간을 가지는 프로그램된 블록인, 데이터를 관리하는 방법
  2. 제1항에 있어서,
    상기 복수의 블록의 제1 블록의 품질을 검출하여 제1 검출 결과를 생성하는 단계는,
    상기 제1 블록의 데이터 중 적어도 일부의 비트 오류율 또는 비트 오류량을 검출하여 제1 검출 결과를 생성하는 단계
    를 포함하는, 데이터를 관리하는 방법
  3. 제2항에 있어서,
    상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제할지를 판단하는 단계는,
    상기 제1 검출 결과가 상기 제1 블록의 데이터 중 적어도 일부의 비트 오류율 또는 비트 오류량이 임계값보다 높다는 것을 나타내면, 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제하는 단계; 및
    상기 제1 검출 결과가 상기 제1 블록의 데이터 중 적어도 일부의 비트 오류율 또는 비트 오류량이 임계값보다 낮다는 것을 나타내면, 상기 제1 블록의 내용을 그대로 유지하는 단계
    를 포함하는, 데이터를 관리하는 방법
  4. 제1항에 있어서,
    상기 제1 블록은 복수의 메모리 셀을 포함하고, 상기 복수의 블록의 제1 블록의 품질을 검출하여 제1 검출 결과를 생성하는 단계는,
    상기 복수의 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태를 검출하여 제1 검출 결과를 생성하는 단계
    를 포함하는, 데이터를 관리하는 방법
  5. 제4항에 있어서,
    상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제할지를 판단하는 단계는,
    상기 제1 검출 결과가 상기 복수의 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태가 기준을 충족하지 않는다는 것을 나타내면, 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제하는 단계; 및
    상기 제1 검출 결과가 상기 복수의 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태가 기준을 충족한다는 것을 나타내면, 상기 제1 블록의 내용을 그대로 유지하는 단계
    를 포함하는, 데이터를 관리하는 방법
  6. 제1항에 있어서,
    상기 제1 검출 결과에 따라 상기 제1 블록의 내용을 블랭크 블록으로 이동시킨 후,
    상기 프로그램 목록을 갱신하여 갱신된 프로그램 목록을 생성하는 단계;
    상기 복수의 블록 중 제2 블록의 품질을 검출하여 제2 검출 결과를 생성하는 단계; 및
    상기 제2 검출 결과를 참조하여 상기 제2 블록의 내용을 블랭크 블록으로 이동시키고 상기 제2 블록의 내용을 삭제할지를 판단하는 단계
    를 더 포함하며,
    상기 제2 블록은 상기 갱신된 프로그램 목록에서 가장 이른 기록 시간을 가지는 프로그램된 블록인, 데이터를 관리하는 방법
  7. 메모리 장치에 있어서,
    복수의 블록을 포함하는 플래시 메모리; 및
    상기 복수의 블록의 프로그램된 블록 및 상기 프로그램된 블록의 기록 시간의 시퀀스에 관한 정보를 기록하는 프로그램 목록을 저장하는 메모리를 포함하는 제어기
    를 포함하며,
    상기 제어기는 상기 복수의 블록 중 제1 블록의 품질을 검출하여 제1 검출 결과를 생성하고, 상기 제1 블록은 상기 프로그램 목록에서 가장 이른 기록 시간을 가지는 프로그램된 블록이며;
    상기 제어기는 상기 제1 검출 결과를 참조하여 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제할지를 판단하는, 메모리 장치.
  8. 제7항에 있어서,
    상기 제어기는 상기 제1 블록의 데이터 중 적어도 일부의 비트 오류율 또는 비트 오류량을 검출하여 제1 검출 결과를 생성하는, 메모리 장치.
  9. 제8항에 있어서,
    상기 제1 검출 결과가 상기 제1 블록의 데이터 중 적어도 일부의 비트 오류율 또는 비트 오류량이 임계값보다 높다는 것을 나타내면, 상기 제어기는 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제하며; 상기 제1 검출 결과가 상기 제1 블록의 데이터 중 적어도 일부의 비트 오류율 또는 비트 오류량이 임계값보다 낮다는 것을 나타내면, 상기 제어기는 상기 제1 블록의 내용을 그대로 유지하는, 메모리 장치.
  10. 제7항에 있어서,
    상기 제1 블록은 복수의 메모리 셀을 포함하고, 상기 제어기는 상기 복수의 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태를 검출하여 제1 검출 결과를 생성하는, 메모리 장치.
  11. 제10항에 있어서,
    상기 제1 검출 결과가 상기 복수의 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태가 기준을 충족하지 않는다는 것을 나타내면, 상기 제어기는 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제하며; 상기 제1 검출 결과가 상기 복수의 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태가 기준을 충족한다는 것을 나타내면, 상기 제어기는 상기 제1 블록의 내용을 그대로 유지하는, 메모리 장치.
  12. 제7항에 있어서,
    상기 제1 검출 결과에 따라 상기 제1 블록의 내용을 블랭크 블록으로 이동시킨 후,
    상기 제어기는 상기 프로그램 목록을 갱신하여 갱신된 프로그램 목록을 생성하고, 상기 복수의 블록 중 제2 블록의 품질을 검출하여 제2 검출 결과를 생성하며, 상기 제2 검출 결과를 참조하여 상기 제2 블록의 내용을 블랭크 블록으로 이동시키고 상기 제2 블록의 내용을 삭제할지를 판단하며,
    상기 제2 블록은 상기 갱신된 프로그램 목록에서 가장 이른 기록 시간을 가지는 프로그램된 블록인, 메모리 장치.
  13. 제7항에 있어서,
    상기 제어기는 유휴 주기에서 상기 복수의 블록 중 제1 블록의 품질을 검출함으로써 제1 검출 결과를 생성하는, 메모리 장치.
  14. 플래시 메모리에 액세스하는 제어기에 있어서,
    상기 플래시 메모리는 복수의 블록을 포함하고, 상기 제어기는,
    프로그램 코드 및 프로그램 목록을 저장하며, 상기 프로그램 목록은 상기 복수의 블록의 프로그램된 블록 및 상기 프로그램된 블록의 기록 시간의 시퀀스에 관한 정보를 기록하도록 배치되는, 메모리; 및
    상기 프로그램 코드를 실행하여 상기 플래시 메모리의 액세스를 제어하고 상기 복수의 블록을 관리하도록 배치되는 마이크로 프로세서
    를 포함하며,
    상기 마이크로 프로세서는 상기 복수의 블록 중 제1 블록의 품질을 검출하여 제1 검출 결과를 생성하며, 상기 제1 블록은 상기 프로그램 목록에서 가장 이른 기록 시간을 가지는 프로그램된 블록이며, 그리고
    상기 마이크로 프로세서는 상기 제1 검출 결과를 참조하여 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제할지를 판단하는, 제어기.
  15. 제14항에 있어서,
    상기 마이크로 프로세서는 상기 제1 블록의 데이터 중 적어도 일부의 비트 오류율 또는 비트 오류량을 검출하여 제1 검출 결과를 생성하는, 제어기.
  16. 제15항에 있어서,
    상기 제1 검출 결과가 상기 제1 블록의 데이터 중 적어도 일부의 비트 오류율 또는 비트 오류량이 임계값보다 높다는 것을 나타내면, 상기 마이크로 프로세서는 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제하며; 상기 제1 검출 결과가 상기 제1 블록의 데이터 중 적어도 일부의 비트 오류율 또는 비트 오류량이 임계값보다 낮다는 것을 나타내면, 상기 마이크로 프로세서는 상기 제1 블록의 내용을 그대로 유지하는, 제어기.
  17. 제14항에 있어서,
    상기 제1 블록은 복수의 메모리 셀을 포함하고, 상기 마이크로 프로세서는 상기 복수의 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태를 검출하여 제1 검출 결과를 생성하는, 제어기.
  18. 제17항에 있어서,
    상기 제1 검출 결과가 상기 복수의 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태가 기준을 충족하지 않는다는 것을 나타내면, 상기 마이크로 프로세서는 상기 제1 블록의 내용을 블랭크 블록으로 이동시키고 상기 제1 블록의 내용을 삭제하며; 상기 제1 검출 결과가 상기 복수의 메모리 셀 중 적어도 일부의 임계 전압 시프트 상태가 기준을 충족한다는 것을 나타내면, 상기 마이크로 프로세서는 상기 제1 블록의 내용을 그대로 유지하는, 제어기.
  19. 제14항에 있어서,
    상기 제1 검출 결과에 따라 상기 제1 블록의 내용을 블랭크 블록으로 이동시킨 후,
    상기 마이크로 프로세서는 상기 프로그램 목록을 갱신하여 갱신된 프로그램 목록을 생성하고, 상기 복수의 블록 중 제2 블록의 품질을 검출하여 제2 검출 결과를 생성하며, 상기 제2 검출 결과를 참조하여 상기 제2 블록의 내용을 블랭크 블록으로 이동시키고 상기 제2 블록의 내용을 삭제할지를 판단하며,
    상기 제2 블록은 상기 갱신된 프로그램 목록에서 가장 이른 기록 시간을 가지는 프로그램된 블록인, 제어기.
  20. 제14항에 있어서,
    상기 마이크로 프로세서는 유휴 주기에서 상기 복수의 블록 중 제1 블록의 품질을 검출함으로써 제1 검출 결과를 생성하는, 제어기.
KR1020140042940A 2013-05-10 2014-04-10 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기 KR20140133427A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW102116649 2013-05-10
TW102116649A TWI508068B (zh) 2012-07-25 2013-05-10 管理快閃記憶體中所儲存之資料的方法,及相關的記憶裝置與控制器

Publications (1)

Publication Number Publication Date
KR20140133427A true KR20140133427A (ko) 2014-11-19

Family

ID=49996171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140042940A KR20140133427A (ko) 2013-05-10 2014-04-10 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기

Country Status (3)

Country Link
US (2) US9811414B2 (ko)
KR (1) KR20140133427A (ko)
CN (2) CN108595345B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595345B (zh) * 2012-07-25 2021-11-23 慧荣科技股份有限公司 管理闪存中所储存的数据的方法及相关记忆装置与控制器
KR102221752B1 (ko) * 2014-03-20 2021-03-02 삼성전자주식회사 메모리 장치의 프로그램 방법 및 이를 포함하는 데이터 독출 방법
TWI527037B (zh) * 2014-04-10 2016-03-21 群聯電子股份有限公司 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
KR102291806B1 (ko) 2015-04-20 2021-08-24 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
TWI566253B (zh) * 2015-09-02 2017-01-11 慧榮科技股份有限公司 用來管理一記憶裝置之方法以及記憶裝置與控制器
TWI608350B (zh) * 2016-03-09 2017-12-11 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方 法
CN106776095B (zh) * 2016-12-22 2020-01-03 湖南国科微电子股份有限公司 Ssd固态硬盘数据可靠性智能检测方法及检测装置
CN108563397B (zh) 2018-01-04 2021-08-24 威盛电子股份有限公司 存储装置以及数据保存方法
CN108089994B (zh) * 2018-01-04 2021-06-01 威盛电子股份有限公司 存储装置以及数据保存方法
US10949113B2 (en) * 2018-01-10 2021-03-16 SK Hynix Inc. Retention aware block mapping in flash-based solid state drives
TWI687930B (zh) * 2018-11-07 2020-03-11 慧榮科技股份有限公司 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置
US11481123B1 (en) * 2021-04-27 2022-10-25 Micron Technology, Inc. Techniques for failure management in memory systems

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100526186B1 (ko) 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
WO2007058617A1 (en) * 2005-11-17 2007-05-24 Chee Keng Chang A controller for non-volatile memories, and methods of operating the memory controller
JP2009521045A (ja) * 2005-12-21 2009-05-28 エヌエックスピー ビー ヴィ ブロック消去可能なメモリ場所を有する不揮発性メモリ
US20100299494A1 (en) * 2005-12-22 2010-11-25 Nxp B.V. Memory with block-erasable locations and a linked chain of pointers to locate blocks with pointer information
JP2008033788A (ja) * 2006-07-31 2008-02-14 Matsushita Electric Ind Co Ltd 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法
US20090265403A1 (en) * 2006-08-31 2009-10-22 Keiji Fukumoto File system
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
CN100504814C (zh) 2007-01-17 2009-06-24 忆正存储技术(深圳)有限公司 闪存的区块管理方法
CN102005244B (zh) * 2007-02-20 2015-10-21 桑迪士克科技公司 非易失性存储的可变编程
CN201036008Y (zh) * 2007-04-18 2008-03-12 福州瑞芯微电子有限公司 Bch纠错技术中的校验码写入装置
JP4444314B2 (ja) * 2007-07-13 2010-03-31 株式会社東芝 半導体メモリ情報蓄積装置とその書き込み制御方法
US8473923B2 (en) * 2007-09-12 2013-06-25 Sandisk Technologies Inc. Pointers for write abort handling
TW200926196A (en) 2007-12-07 2009-06-16 Apacer Technology Inc Method for flash memory storage device to store data
KR101077339B1 (ko) * 2007-12-28 2011-10-26 가부시끼가이샤 도시바 반도체 기억 장치
JP4489127B2 (ja) * 2008-02-29 2010-06-23 株式会社東芝 半導体記憶装置
KR101518199B1 (ko) * 2008-05-23 2015-05-06 삼성전자주식회사 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치
TWI373771B (en) * 2008-06-06 2012-10-01 Phison Electronics Corp Memory management method for non-volatile memory and controller using the same
TWI386800B (zh) 2008-10-03 2013-02-21 Silicon Motion Inc 快閃記憶體之更新資料的管理方法以及相關之記憶卡
CN101510168B (zh) * 2008-11-07 2012-06-27 慧帝科技(深圳)有限公司 一种快闪记忆体的存取方法和记忆体装置
CN101740123B (zh) 2008-11-10 2012-04-04 扬智科技股份有限公司 存储器的数据保护方法
US9141475B2 (en) * 2008-11-23 2015-09-22 Sandisk Technologies Methods for tag-grouping of blocks in storage devices
CN101552032B (zh) * 2008-12-12 2012-01-18 深圳市晶凯电子技术有限公司 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置
CN102004701B (zh) 2009-08-28 2013-01-09 炬才微电子(深圳)有限公司 一种次级内存的分配方法和装置
TWI450271B (zh) 2009-09-02 2014-08-21 Silicon Motion Inc 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
EP2476055B1 (en) * 2009-09-08 2020-01-22 SanDisk Technologies LLC Apparatus, system, and method for caching data on a solid-state storage device
TWI426528B (zh) * 2009-09-30 2014-02-11 Phison Electronics Corp 用於快閃記憶體的區塊管理方法、控制器與儲存系統
TWI437569B (zh) 2009-10-16 2014-05-11 Silicon Motion Inc 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
CN102043725B (zh) * 2009-10-20 2013-01-09 群联电子股份有限公司 用于闪存的数据写入方法及其控制器与储存系统
US8589766B2 (en) * 2010-02-24 2013-11-19 Apple Inc. Codeword remapping schemes for non-volatile memories
JP2012203443A (ja) * 2011-03-23 2012-10-22 Toshiba Corp メモリシステムおよびメモリシステムの制御方法
KR101824068B1 (ko) 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
CN108595345B (zh) * 2012-07-25 2021-11-23 慧荣科技股份有限公司 管理闪存中所储存的数据的方法及相关记忆装置与控制器

Also Published As

Publication number Publication date
US9811414B2 (en) 2017-11-07
CN103577342A (zh) 2014-02-12
US10324786B2 (en) 2019-06-18
US20140032993A1 (en) 2014-01-30
CN103577342B (zh) 2018-04-17
CN108595345B (zh) 2021-11-23
CN108595345A (zh) 2018-09-28
US20180018224A1 (en) 2018-01-18

Similar Documents

Publication Publication Date Title
US10324786B2 (en) Method for managing data stored in flash memory and associated memory device and controller
TWI575374B (zh) 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元
US9075740B2 (en) Memory system
US9335937B2 (en) Method of operating a flash memory system using a migration operation
US8621266B2 (en) Nonvolatile memory system and related method of performing erase refresh operation
US9348708B2 (en) Memory system performing address mapping according to bad page map
CN106598479B (zh) 闪速存储器的故障安全擦除的方法和装置
CN111475425B (zh) 管理闪存模块的方法及相关的闪存控制器与电子装置
US9639463B1 (en) Heuristic aware garbage collection scheme in storage systems
KR101731408B1 (ko) 플래시 메모리에 데이터를 기록하는 방법 및 관련 메모리 장치 및 플래시 메모리
US20130046918A1 (en) Method writing meta data with reduced frequency
US9384839B2 (en) Write sequence providing write abort protection
CN106445401B (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
TWI690928B (zh) 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
US9053011B2 (en) Selective protection of lower page data during upper page write
JP5494086B2 (ja) 不揮発性記憶装置および不揮発性メモリコントローラ
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
CN107193485B (zh) 储存装置、其控制单元、及可用于储存装置的数据储存方法
US20110087828A1 (en) Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof
TWI508068B (zh) 管理快閃記憶體中所儲存之資料的方法,及相關的記憶裝置與控制器
US11487655B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device based on timing of dummy read operations
US11210209B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device
JP6832448B2 (ja) プログラムの更新方法および装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application