KR20170027654A - 메모리 장치를 관리하기 위한 방법 및 제어기 - Google Patents

메모리 장치를 관리하기 위한 방법 및 제어기 Download PDF

Info

Publication number
KR20170027654A
KR20170027654A KR1020160080056A KR20160080056A KR20170027654A KR 20170027654 A KR20170027654 A KR 20170027654A KR 1020160080056 A KR1020160080056 A KR 1020160080056A KR 20160080056 A KR20160080056 A KR 20160080056A KR 20170027654 A KR20170027654 A KR 20170027654A
Authority
KR
South Korea
Prior art keywords
memory
write command
memory element
memory device
command
Prior art date
Application number
KR1020160080056A
Other languages
English (en)
Other versions
KR101819014B1 (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 실리콘 모션 인코포레이티드
Publication of KR20170027654A publication Critical patent/KR20170027654A/ko
Application granted granted Critical
Publication of KR101819014B1 publication Critical patent/KR101819014B1/ko

Links

Images

Classifications

    • 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
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • 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
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G11C16/08Address circuits; Decoders; Word-line control 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
    • G11C16/10Programming or data input 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
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • 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
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3422Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
    • 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
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • G11C16/26Sensing or reading circuits; Data output circuits

Abstract

메모리 장치를 관리하는 방법은:
상기 메모리 장치는 적어도 하나의 비휘발성(non-volatile, NV) 메모리 소자를 포함하고, 각각의 NV 메모리 소자는 복수의 블록을 포함하며, 상기 메모리 장치를 관리하는 방법은,
상기 NV 메모리 소자 중 특정한 NV 메모리 소자에 제1 기록 커맨드 또는 제2 기록 커맨드 중 하나를 송신하는 대신, 상기 특정한 NV 메모리 소자에 최종의 기록 커맨드를 송신하여 상기 특정한 NV 메모리 소자의 특정한 블록에 한 세트의 데이터를 기록하는 단계 - 여기서 이러한 기록 커맨드는 동일한 위치에 다른 시간에 각각 기록하는 데 이용되어, 데이터 정확도를 보장함 - ; 및 상기 한 세트의 데이터를 상기 특정한 블록에 기록한 후, 상기 특정한 NV 메모리 소자에 판독 커맨드를 송신하여 상기 특정한 블록으로부터 상기 한 세트의 데이터의 저장된 데이터를 판독하고, 상기 저장된 데이터가 상기 한 세트의 데이터와 일치하는지를 검사하여 상기 특정한 블록이 불량 블록인지를 판정하는 단계를 포함한다.

Description

메모리 장치를 관리하기 위한 방법 및 제어기{METHOD AND CONTROLLER FOR MANAGING MEMORY DEVICE}
본 발명은 플래시 메모리 제어하는 것에 관한 것이며, 특히 메모리 장치를 관리하는 방법 및 제어기에 관한 것이다.
플래시 메모리의 개발은 SD/MMC, CF, MS 및 XD 사양과 같은 포터블 메모리 장치에서 폭넓게 응용을 가져왔다. 이러한 포터블 메모리 장치에서의 플래시 메모리를 제어하는 방법은 중요한 과제가 되었다.
NAND 플래시 메모리는 단일 레벨 셀(single level cell, SLC) 메모리 및 복수 레벨 셀(multiple level cell, MLC) 메모리를 포함한다. SLC 플래시 메모리 내의 각각의 트랜지스터(메모리 셀로서 볼 수 있다)만이 논리 0 및 논리 1을 각각 나타내는 2개의 전하 레벨을 가진다.
MLC 플래시 메모리 내의 트랜지스터는 고전압으로 구동되어 상이한 레벨의 전압을 사용하는 복수의 비트(예를 들어, 00, 01, 11, 10)의 정보를 기록한다. 이론적으로, MLC 플래시 메모리의 기록 밀도는 SCL 플래시 메모리의 기록 밀도의 2배 이상이 될 수 있다. 이것은 설계 및 연구에서의 과제를 감안하면 NAND 플래시 메모리의 제조업체에 희소식이다.
MLC 플래시 메모리의 제조 비용은 SLC 플래시 메모리의 제조비용보다 저렴하고, MLC 플래시 메모리는 한정된 공간에서 더 큰 용량을 제공할 수 있기 때문에, MLC 플래시 메모리를 포터블 메모리 장치에 적용하는 것이 더 각광받아 왔다. 동일한 유형의 MLC 플래시 메모리의 동작은 복잡하게 될 수 있어 여러 과제를 안긴다. 예를 들어, 종래의 메모리 장치가 MLC 플래시 메모리를 채택하는 초기화 시간은 크게 증가할 것이고, 이에 상응해서 관련 비용도 증가할 것이다. 그러므로 역효과를 내지 않으면서 초기화 효율을 높일 수 있는 메모리 장치의 제어를 향상시키는 새로운 방법이 요망된다.
본 발명의 목적은 전술한 과제를 해결할 수 있는 메모리 장치를 관리하는 방법, 및 관련 메모리 장치 및 제어기를 제공하는 것이다.
본 발명의 다른 목적은 메모리 장치의 동작 효율성을 향상시킬 수 있고 이에 의해 관련 비용도 절감할 수 있는, 메모리 장치를 관리하는 방법 및 관련 메모리 장치 및 제어기를 제공하는 것이다.
본 발명의 적어도 하나의 바람직한 실시예는 메모리 장치를 관리하는 방법을 제공한다. 상기 메모리 장치는 적어도 하나의 비휘발성(non-volatile, NV) 메모리 소자를 포함하고, 각각의 NV 메모리 소자는 복수의 블록을 포함한다. 상기 메모리 장치를 관리하는 방법은: 상기 NV 메모리 소자 중 특정한 NV 메모리 소자에 제1 기록 커맨드 또는 제2 기록 커맨드 중 하나를 송신하는 대신, 상기 특정한 NV 메모리 소자에 최종의 기록 커맨드를 송신하여 상기 특정한 NV 메모리 소자의 특정한 블록에 한 세트의 데이터를 기록하는 단계를 포함하며, 여기서 제1 기록 커맨드, 제2 기록 커맨드 및 최종의 기록 커맨드는 상기 NV 메모리 소자 내의 동일한 위치에 동일한 데이터를 다른 시간에 각각 기록하는 데 사용되어, 상기 동일한 데이터가 정확하게 저장되는 것이 보장된다. 상기 방법은: 상기 한 세트의 데이터가 상기 특정한 블록에 기록된 후, 상기 특정한 NV 메모리 소자에 판독 커맨드를 송신하여 상기 특정한 블록으로부터 상기 한 세트의 데이터의 저장된 데이터를 판독하고, 상기 저장된 데이터가 상기 한 세트의 데이터와 일치하는지를 검사하여 상기 특정한 블록이 불량 블록인지를 판정하는 단계를 더 포함한다.
전술한 방법 외에, 본 발명은 또한 메모리 장치로서, 상기 메모리 장치는 복수의 블록을 각각 포함하는 적어도 하나의 비휘발성(non-volatile, NV) 메모리 소자; 및 상기 NV 메모리 소자를 제어하도록 구성되어 있는 제어기를 포함한다. 상기 제어기는 프로세싱 유닛을 포함하고, 상기 프로세싱 유닛은 자체 내에 내장된 프로그램 코드 또는 외부로부터 수신되는 프로그램 코드에 따라 상기 메모리 장치를 관리하며, 여기서 상기 제어기는 상기 NV 메모리 소자 중 특정한 NV 메모리 소자에 제1 기록 커맨드 또는 제2 기록 커맨드 중 하나를 송신하는 대신, 상기 특정한 NV 메모리 소자에 최종의 기록 커맨드를 송신하여 상기 특정한 NV 메모리 소자의 특정한 블록에 한 세트의 데이터를 기록한다. 제1 기록 커맨드, 제2 기록 커맨드 및 최종의 기록 커맨드는 상기 NV 메모리 소자 내의 동일한 위치에 동일한 데이터를 다른 시간에 각각 기록하는 데 사용되어, 상기 동일한 데이터가 정확하게 저장되는 것이 보장된다. 상기 한 세트의 데이터가 상기 특정한 블록에 기록된 후, 상기 제어기는 상기 특정한 NV 메모리 소자에 판독 커맨드를 송신하여 상기 특정한 블록으로부터 상기 한 세트의 데이터의 저장된 데이터를 판독하고, 상기 저장된 데이터가 상기 한 세트의 데이터와 일치하는지를 검사하여 상기 특정한 블록이 불량 블록인지를 판정한다.
전술한 방법 외에, 본 발명은 또한 메모리 장치의 제어기를 제공한다. 상기 메모리 장치는 복수의 블록을 각각 포함하는 적어도 하나의 비휘발성(non-volatile, NV) 메모리 소자를 포함한다. 상기 제어기는 프로세싱 유닛을 포함하고, 상기 프로세싱 유닛은 자체 내에 내장된 프로그램 코드 또는 외부로부터 수신되는 프로그램 코드에 따라 상기 메모리 장치를 관리하도록 구성된다. 상기 제어기는 상기 NV 메모리 소자 중 특정한 NV 메모리 소자에 제1 기록 커맨드 또는 제2 기록 커맨드 중 하나를 송신하는 대신, 상기 특정한 NV 메모리 소자에 최종의 기록 커맨드를 송신하여 상기 특정한 NV 메모리 소자의 특정한 블록에 한 세트의 데이터를 기록하며, 여기서 제1 기록 커맨드, 제2 기록 커맨드 및 최종의 기록 커맨드는 상기 NV 메모리 소자 내의 동일한 위치에 동일한 데이터를 다른 시간에 각각 기록하는 데 사용되어, 상기 동일한 데이터가 정확하게 저장되는 것이 보장된다. 상기 한 세트의 데이터가 상기 특정한 블록에 기록된 후, 상기 제어기는 상기 특정한 NV 메모리 소자에 판독 커맨드를 송신하여 상기 특정한 블록으로부터 상기 한 세트의 데이터의 저장된 데이터를 판독하고, 상기 저장된 데이터가 상기 한 세트의 데이터와 일치하는지를 검사하여 상기 특정한 블록이 불량 블록인지를 판정한다.
본 발명에서 제공하는 이점은 종래기술과 비교하면, 본 발명의 방법, 메모리 장치 및 제어기는 메모리 장치가 공장에서 출하되기 전에 메모리 장치의 초기화 시간을 크게 절감할 수 있으며, 여기서 전술한 초기화는 통상적으로 제조 공정의 마지막 단계에 수행된다. 종래기술과 비교하면, 본 발명은 시간 및 인적 자원 면에서, 효율성이 좋고 관련 비용을 절감할 수 있다.
본 발명의 이러한 목적 및 다른 목적은 다양한 도면에 도해되어 있는 바람직한 실시예의 이하의 상세한 설명을 읽은 후에는 당업자에게 자명하게 될 것이다.
도 1은 본 발명의 제1 실시예에 따른 메모리 장치를 도시하는 도면이다.
도 2는 본 발명의 실시예에 따라 메모리 장치를 관리하는 방법을 도시하는 흐름도이다.
도 3은 본 발명의 제1 실시예에 따라 도 1에 도시된 메모리 장치와 관련된 제어 방식을 도시하는 도면이다.
도 4는 본 발명의 다른 실시예에 따라 도 1에 도시된 메모리 장치와 관련된 제어 방식을 도시하는 도면이다.
도 5는 본 발명의 실시예에 따라 도 2에 도시된 방법과 관련된 제어 방식을 도시하는 도면이다.
도 1은 본 발명의 제1 실시예에 따른 메모리 장치(100)를 도시하는 도면이다. 메모리 장치(100)는 프로세싱 유닛(110), 휘발성 메모리(120), 전송 인터페이스(1300, (N + 1)개의 플래시 칩과 같은 복수의 비휘발성(non-volatile, NV) 메모리 소자(140_0, 140_1, ..., 140_N)(단 N은 양의 정수), 및 버스(150)를 포함한다. 통상적으로, 전송 인터페이스(130)가 호스트(도 1에 도시되지 않음)에 결합된 후, 그 호스트가 전송 인터페이스(130)를 이용하여 메모리 장치(100)에 액세스할 수 있다. 호스트는 랩톱 컴퓨터 또는 데스크톱 컴퓨터와 같은 퍼스널 컴퓨터(PC)를 대표할 수 있다.
프로세싱 유닛(110)은 메모리 장치(100)를 관리하기 위해, 자체 내에 내장되어 있거나 외부로부터 수신되는 프로그램 코드(도면에 도시되지 않음)라 할 수 있다. 프로그램 코드는 프로세싱 유닛(110)에 내장된 하드웨어 코드일 수 있으며, 특히 판독 전용 메모리 코드(ROM 코드)일 수 있다. 다른 예에서, 프로그램 코드는 프로세싱 유닛(110) 외부로부터 수신된 펌웨어 코드일 수 있다. 프로세싱 유닛(110)은 휘발성 메모리(120), 전송 인터페이스(130), NV 메모리 소자(140_0, 140_1, ..., 140_N), 및 버스(150)를 제어하도록 구성되어 있다. 프로세싱 유닛(110)은 휘발성 메모리(120), 전송 인터페이스(130), NV 메모리 소자(140_0, 140_1, ..., 140_N), 및 버스(150)를 제어하도록 구성되어 있다. 이 실시예에서, 프로세싱 유닛(110)은 고급 감소 명령 집합 컴퓨터 머신(Advanced Reduced Instruction Set Computer Machine(Advanced RISC Machine, ARM) 프로세서 또는 애고넛 RISC 코어(Argonaut RISC Core, ARC) 프로세서일 수 있다. 이것은 단지 설명을 위한 것일 뿐, 본 발명을 제한하려는 것이 아니다. 본 실시예의 다양한 변형에 따라, 프로세싱 유닛(110)은 다른 유형의 프로세서일 수도 있다. 본 실시예의 일부의 변형에 따라, 프로세싱 유닛(110)은 메모리 장치(100)가 아닌 외부의 전자 장치(예를 들어, PC)로부터 특정한 커맨드를 수신할 수 있고, 메모리 장치(100)가 공장에서 출하되기 전에 특정한 커맨드를 참조하여 메모리 장치(100)의 초기화를 수행한다. 일반적으로, 전술한 초기화는 메모리 장치(100)가 제조된 직후에 수행된다. 이 상황에서, 대응하는 초기화와 관련된 외부 전자 장치에서 실행되는 프로그램은 프로세싱 유닛(100)의 외부로부터 수신되는 전술한 프로그램 코드의 예로 볼 수 있다.
휘발성 메모리(120)는 글로벌 페이지 어드레스 연결 표(Global Page Address Linking Table), 호스트에 의해 액세스된 데이터, 및 메모리 장치(100)에 액세스하는 데 필요한 정보를 저장하는 데 사용될 수 있다. 본 실시예에서의 휘발성 메모리(120)는 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM) 또는 정적 랜덤 액세스 메모리(static random access memory, SRAM)일 수 있다. 본 실시예의 다양한 변형에 따라, 휘발성 메모리(120)는 다른 유형의 휘발성 메모리일 수 있다. 예를 들어, 휘발성 메모리(120)는 SRAM을 포함할 수 있다.
본 실시예에 따라, 도 1에 도시된 전송 인터페이스(130)는 호스트와 메모리 장치(100) 간에 데이터 및 커맨드를 전송하도록 구성되어 있으며, 여기서 전송 인터페이스(130)는 특정한 통신 표준에 일치하며, 예를 들어, 직렬 고급 기술 부착(Serial Advanced Technology Attachment, SATA) 표준, 병렬 공급 기술 부착(Parallel Advanced Technology Attachment, PATA) 표준, 또는 범용 직렬 버스(Universal Serial Bus, US) 표준에 일치한다. 메모리 장치(100)는 호스트에 구성되어 있는 솔리드 스테이트 드라이브(Solid State Drive, SSD)일 수 있고, 특정한 통신 표준을 사용하여 호스트의 내부 통신의 일부의 통상적인 통신 표준, 예를 들어, SATA 표준 또는 PATA 표준을 실행한다. 다른 예에서, 메모리 장치(100)는 호스트 외부에 구성된 SSD이고, 특정한 통신 표준을 사용하여 호스트의 내부 통신의 일부의 통신 표준, 예를 들어, USB 표준 실행한다. 본 실시예의 일부의 변형에 따라, 메모리 장치(100)는 메모리 카드와 같은 포터블 메모리 장치일 수 있고, 특정한 통신 표준이 구성되어 메모리 카드의 입출력 인터페이스(I/O)의 일부의 통신 표준, 예를 들어, 보안 디지털(Secure Digital, SD) 표준 또는 콤팩트 플래시(Compact Flash, CF) 표준을 실행한다.
메모리 소자(140_0, 140_1, ..., 140_N)는 데이터를 저장하도록 구성되어 있으며, 여기서 NV 메모리 소자(140_0, 140_1, ..., 140_N)는 NAND 플래시 칩일 수 있다(이에 제한되지는 않는다). 버스(150)는 프로세싱 유닛(110), 휘발성 메모리(120), 전송 인터페이스(130), 및 NV 메모리 소자(140_0, 140_1, ..., 140_N)를 결합시키고 서로 간에 통신을 제공하도록 구성되어 있다. 본 실시예에서, 도 1에 도시된 바와 같이, NV 메모리 소자(140_0, 140_1, ..., 140_N)가 아닌 다른 소자가 제어기, 특히, 집적회로(IC)(예를 들어 제어기 칩)로서 통합될 수 있으며, 여기서 제어기는 메모리 장치(100) 내의 적어도 하나의 NV 메모리 소자, 예를 들어, NV 메모리 소자(140_0, 140_1, ..., 140_N)를 제어하도록 구성되어 있다. 그러므로 제어기는 메모리 장치(100)의 제어기로 볼 수 있다.
본 실시예에서, 도 1에 도시된 NV 메모리 소자(140_0, 140_1, ..., 140_N) 내의 각각의 NV 메모리 소자는 복수의 블록을 포함할 수 있으며, 여기서 본 실시예에서의 NV 메모리 소자(140_n)는 플래시 칩으로 실현될 수 있고, 인덱스 n은 [0, N] 내의 정수일 수 있다. 구체적으로, 각각의 블록은 복수의 섹션을 각각 포함하는 복수의 페이지를 포함할 수 있다. 예를 들어, 하나의 섹션은 최소의 판독 단위일 수 있다. 환언하면, 판독 동작 동안, 프로세싱 유닛(110)은 하나 이상의 섹션일 수 있다. 이것은 단지 설명을 위한 것일 뿐, 본 발명을 제한하려는 것이 아니다.
도 2는 본 발명의 실시예에 따라 메모리 장치를 관리하는 방법(200)을 도시하는 흐름도이다. 방법(200)은 도 1에 도시된 메모리 장치(100)에 적용될 수 있으며, 특히, 전술한 제어기(예를 들어, 프로세싱 유닛(110)을 통해 프로그램 코드를 실행하는 메모리 제어기)에 적용될 수 있으며, 여기서 전술한 프로그램 코드를 실행하는 제어기는 도 1에 도시된 NV 메모리 소자(140_0, 140_1, ..., 140_N)와 같은 NV 메모리 소자를 제어하도록 구성되어 있다. 방법(200)은 다음과 같이 설명될 수 있다.
단계(210)에서, 제어기는 NV 메모리 소자 중 특정한 NV 메모리 소자(예를 들어, NV 메모리 소자(140_n))에 제1 기록 커맨드 또는 제2 기록 커맨드 중 하나를 송신하는 대신, 상기 특정한 NV 메모리 소자에 최종의 기록 커맨드를 송신하여 상기 특정한 NV 메모리 소자의 특정한 블록에 한 세트의 데이터를 기록하며, 여기서 제1 기록 커맨드, 제2 기록 커맨드 및 최종의 기록 커맨드는 상기 NV 메모리 소자 내의 동일한 위치에 동일한 데이터를 다른 시간에 각각 기록하는 데 사용되어, 상기 동일한 데이터가 정확하게 저장되는 것이 보장된다. 한 세트의 데이터는 미리 정해진 패턴을 가지는 데이터를 포함할 수 있다.
단계(220)에서, 한 세트의 데이터가 특정한 블록에 기록된 후, 제어기는 특정한 NV 메모리 소자에 판독 커맨드를 송신하여, 상기 특정한 블록으로부터 상기 한 세트의 데이터의 저장된 데이터(예를 들어, 한 세트의 데이터의 저장 결과)를 판독하고, 그 저장된 데이터가 상기 한 세트의 데이터와 일치하는지를 검사하고 상기 특정한 블록이 불량 블록인지를 판정한다. 저장된 데이터가 한 세트의 데이터와 일치하지 않으면, 제어기는 특정한 블록을 불량 블록인 것으로 판정하고, 그 특정한 블록이 불량 블록이다는 정보를 기록할 수 있다. 다른 예에서, 저장된 데이터가 한 세트의 데이터와 일치하면, 제어기는 그 특정한 블록이 우량 블록인 것으로 판정하고, 특정한 블록이 우량 블록이다는 정보를 기록할 수 있다.
단계(230)에서, 제어기는 흐름이 중단되는 지의 여부를 검사한다. 흐름이 중단되어야 하는 것으로 판정되면(예를 들어, 검사되어야 하는 모든 블록이 검사된다), 흐름은 도 2에 도시된 바와 같이 종료되고, 그렇지 않으면 흐름은 단계(210)로 복귀한다. 도 2에 도시된 바와 같이, 단계(210) 및 단계(220)의 동작은 품질 스캔 테스트를 블록 단위로 수행하기 위해 반복적으로 수행될 수 있다. 구체적으로, 제어기는 NV 메모리 소자(140_n) 중 일부가 검사될 때까지 NV 메모리 소자(140_n) 중 적어도 일부에 대해 블록 단위로 품질 스캔 테스트를 수행할 수 있다. 제어기는 또한 복수의 비휘발성 메모리 내의 각각의 NV 메모리 소자가 검사될 때까지 NV 메모리 소자 내의 복수(일부 또는 전부)의 NV 메모리 소자에 대해 블록 단위로 품질 스캔 테스트를 수행할 수 있다.
본 실시예에 따르면, 상기 적어도 하나의 NV 메모리 소자 내의 임의의 NV 메모리 소자의 하나의 블록의 하나의 메모리 셀이 복수의 비트를 저장하는 데 사용되는 상황하에서, 상기 복수의 비트는 1 이상의 미리 정해진 횟수로 메모리 셀에 반복적으로 기록된다. 이것은 메모리 셀이 상기 특정한 NV 메모리 소자에 정확하게 프로그램되도록 하기 위한 것이며, 이에 따라 상기 복수의 비트 중 각각의 비트는 후속을 판독을 위해 메모리 셀에 정확하게 저장된다. 더 구체적으로, 상기 제1 기록 커맨드는 상기 복수의 비트를 메모리 셀에 첫 번째로 기록하도록 전술한 임의의 NV 메모리 소자의 내부 제어 회로에 명령하도록 구성되어 있으며, 상기 제2 기록 커맨드는 상기 복수의 비트를 메모리 셀에 두 번째로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있으며, 최종의 기록 커맨드는 상기 복수의 비트를 상기 메모리 셀에 마지막으로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있다. 예를 들어, 미리 정해진 횟수가 3이면, 상기 최종의 기록 커맨드는 상기 복수의 비트를 메모리 셀에 세 번째로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있다.
본 실시예에서, 상기 동일한 데이터를 기록할 때, 내부 제어 회로가 제1 기록 커맨드에 응답해서 동작하는 가동 기간(busy duration)은 상기 내부 제어 회로가 제2 기록 커맨드에 응답해서 동작하는 가동 기간보다 짧다는 것에 주목하라. 상기 동일한 데이터를 기록할 때, 상기 내부 제어 회로가 제2 기록 커맨드에 응답해서 동작하는 가동 기간은 내부 제어 회로가 최종의 기록 커맨드에 응답해서 동작하는 가동 기간보다 짧으며, 전술한 가동 기간은 특정한 NV 메모리 소자(예를 들어, NV 메모리 소자(140_n))에 의해 출력되는 바쁜 신호를 검출함으로써 결정될 수 있다. 구체적으로, 상기 특정한 블록 내의 메모리 셀(예를 들어 전술한 메모리 셀)의 저장 용량이 1 비트보다 큰 상황에서, 제어기는 복수의 프로그래머블 상태를 제어하는 대신, 최종의 기록 커맨드를 이용하여 복수의 프로그래머블 상태 중 일부에 대응하는 메모리 셀의 상태를 제어할 수 있다. 복수의 프로그래머블 상태는 3 비트에 대응하는 8개의 프로그래머블 상태를 포함할 수 있으며, 프로그래머블 상태 중 일부의 수는 8보다 작고, 여기서 총 8개의 프로그래머블 상태는 23(즉, 8)에 대응한다.
전술한 바와 같이, 도 2에 도시된 방법은 도 1에 도시된 메모리 장치(100)에 적용될 수 있고, 특히 전술한 제어기(예를 들어, 프로세싱 유닛(110)을 이용함으로써 전술한 프로그램 코드를 실행하도록 동작하는 메모리 제어기)에 적용될 수 있다. 본 실시예의 일부의 변형에 따라, 프로세싱 유닛(110)은 외부 전자 장치로부터 일부의 커맨드를 수신할 수 있는 상황에서, 도 2에 도시된 방법(200)은 외부 전자 장치에 적용될 수 있다.
도 3은 본 발명의 제1 실시예에 따라 도 1에 도시된 메모리 장치(100)와 관련된 제어 방식을 도시하는 도면이다. 본 실시예에 따라, 제어기는 단계(210)에 의해 제한됨이 없이, 필요하다면 제1 기록 커맨드, 제2 기록 커맨드 및/또는 최종의 기록 커맨드를 사용할 수 있다. 이 상황에서, 제어기는 제1 기록 커맨드, 제2 기록 커맨드 및 최종의 기록 커맨드를 이용하여 특정한 블록 내의 메모리 셀이 복수의 프로그래머블 상태 중 임의의 상태, 예를 들어, 도 3에서 8개의 곡선으로 표시되어 있는 8개의 프로그래머블 상태 중 임의의 상태로 진입하도록 제어할 수 있다. 제어기는 복수의 임계치 {AR, BR, CR, DR, ER, FR, GR}를 참조하여 복수의 프로그래머블 상태 중 어느 상태가 특정한 블록 내의 메모리 셀의 현재의 프로그래머블 상태(예를 들어, 특정한 블록 내의 메모리 셀에 저장되어 있는 정보)인지를 결정함으로써, 메모리 셀에 저장되어 있는 모든 비트(본 실시예에서는 3비트)의 데이터를 획득할 수 있다.
도 4는 본 발명의 다른 실시예에 따라 도 1에 도시된 메모리 장치와 관련된 제어 방식을 도시하는 도면이다. 본 실시예에서의 제어기는 최종의 기록 커맨드만을 사용한다. 더 구체적으로, 제어기는 최종의 기록 커맨드를 사용하여 특정한 블록 내의 메모리 셀이 복수의 프로그래머블 상태 중 임의의 상태, 예를 들어, 도 4에 도시된 8개의 곡선으로 표시된 8개의 프로그래머블 상태 중 임의의 상태가 되도록 제어한다. 제어기는 단지 최종의 기록 커맨드를 사용하기 때문에, 그에 따라 도 4에 도시된 8개의 곡선 중 적어도 하나의 부분이 중첩된다는 것에 주목하라. 그러므로 제어기는 임계치 {AR, BR, CR, DR, ER, FR, GR}를 직접적으로 참조하여 복수의 프로그래머블 상태 중 어느 상태가 특정한 블록 내의 메모리 셀의 현재의 프로그래머블 상태(예를 들어, 특정한 블록의 메모리 셀에 저장되어 있는 정보)인지를 판정할 수 없으며, 이에 따라 메모리 셀에 저장되어 있는 모든 비트의 데이터를 획득할 수 없다.
도 5는 본 발명의 실시예에 따라 도 2에 도시된 방법(200)과 관련된 제어 방식을 도시하는 도면이다. 본 실시예에서, 제어기는 최종의 기록 커맨드만을 사용한다. 구체적으로, 제어기는 최종의 기록 커맨드를 사용하여 특정한 블록 내의 메모리 셀이 복수의 프로그래머블 상태 중 일부의 하나의 상태에만, 예를 들어, 도 5에 도시된 3개의 곡선으로 표시된 3개의 프로그래머블 상태 중 임의의 상태에만 머무르도록 제어한다. 메모리 셀 내의 모든 비트(예를 들어, 본 실시예에서는 총 3 비트가 있다)와 복수의 프로그래머블 상태(예를 들어, 본 실시예에서는 8개의 프로그래머블 상태가 있다) 간의 미리 정해진 관계에 따라, 제어기는 한 세트의 데이터의 미리 정해진 패턴을 사용하여 특정한 블록 내의 메모리 셀이 복수의 프로그래머블 상태 중 일부의 하나의 상태에만, 예를 들어, 도 5에 도시된 3개의 곡선으로 표시된 3개의 프로그래머블 상태 중 임의의 상태에만 대응하도록 제어한다. 이에 의해 곡선들은 서로 분리된다. 그러므로 제어기는 임계치 {AR, BR, CR, DR, ER, FR, GR}를 중 적어도 하나의 부분을 참조하여 복수의 프로그래머블 상태 중 일부의 어느 상태가 특정한 블록 내의 메모리 셀의 현재의 프로그래머블 상태인지(특정한 블록 내의 메모리 셀에 저장되어 있는 정보)를 판정하며, 그에 따라 메모리 셀에 저장되어 있는 모든 비트(예를 들어, 본 실시예에서는 3 비트)의 데이터를 획득한다.
당업자라면 장치 및 방법의 다양한 변형 및 대안이 본 발명의 지침을 따르면서 이루어질 수 있다는 것을 쉽게 알 수 있을 것이다. 따라서, 전술한 개시는 첨부된 특허청구범위에 의해서만 제한되는 것으로 이해하여야 한다.

Claims (22)

  1. 메모리 장치를 관리하는 방법으로서,
    상기 메모리 장치는 적어도 하나의 비휘발성(non-volatile, NV) 메모리 소자를 포함하고, 각각의 NV 메모리 소자는 복수의 블록을 포함하며, 상기 메모리 장치를 관리하는 방법은,
    상기 NV 메모리 소자 중 특정한 NV 메모리 소자에 제1 기록 커맨드 또는 제2 기록 커맨드 중 하나를 송신하는 대신, 상기 특정한 NV 메모리 소자에 최종의 기록 커맨드를 송신하여 상기 특정한 NV 메모리 소자의 특정한 블록에 한 세트의 데이터를 기록하는 단계 - 여기서 제1 기록 커맨드, 제2 기록 커맨드 및 최종의 기록 커맨드는 상기 NV 메모리 소자 내의 동일한 위치에 동일한 데이터를 다른 시간에 각각 기록하여, 상기 동일한 데이터가 정확하게 저장되는 것을 보장하기 위해 사용됨 - ; 및
    상기 한 세트의 데이터가 상기 특정한 블록에 기록된 후, 상기 특정한 NV 메모리 소자에 판독 커맨드를 송신하여 상기 특정한 블록으로부터 상기 한 세트의 데이터의 저장된 데이터를 판독하고, 상기 저장된 데이터가 상기 한 세트의 데이터와 일치하는지를 검사하여 상기 특정한 블록이 불량 블록인지를 판정하는 단계
    를 포함하는, 메모리 장치를 관리하는 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 NV 메모리 소자 내의 임의의 NV 메모리 소자의 하나의 블록의 하나의 메모리 셀이 복수의 비트를 저장하도록 구성되어 있는 상황하에서, 상기 복수의 비트는 미리 정해진 횟수로 메모리 셀에 반복적으로 기록되어, 상기 메모리 셀이 상기 특정한 NV 메모리 소자에 정확하게 프로그램되도록 하며, 이에 따라 상기 복수의 메모리 셀의 각각의 비트가 후속을 판독을 위해 메모리 셀에 정확하게 저장되며, 상기 미리 정해진 횟수는 1보다 큰, 메모리 장치를 관리하는 방법.
  3. 제2항에 있어서,
    상기 제1 기록 커맨드는 상기 복수의 비트를 메모리 셀에 첫 번째로 기록하도록 상기 적어도 하나의 NV 메모리 소자 내의 상기 임의의 NV 메모리 소자의 내부 제어 회로에 명령하도록 구성되어 있으며, 상기 제2 기록 커맨드는 상기 복수의 비트를 메모리 셀에 두 번째로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있으며, 최종의 기록 커맨드는 상기 복수의 비트를 상기 메모리 셀에 마지막으로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있는, 메모리 장치를 관리하는 방법.
  4. 제3항에 있어서,
    상기 미리 정해진 횟수가 3이고, 상기 최종의 기록 커맨드는 상기 복수의 비트를 메모리 셀에 세 번째로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있는, 메모리 장치를 관리하는 방법.
  5. 제3항에 있어서,
    상기 동일한 데이터를 기록하는 것과 관련해서, 내부 제어 회로가 제1 기록 커맨드에 응답해서 동작하는 가동 기간(busy duration)은 상기 내부 제어 회로가 제2 기록 커맨드에 응답해서 동작하는 가동 기간보다 짧고, 상기 내부 제어 회로가 제2 기록 커맨드에 응답해서 동작하는 가동 기간은 내부 제어 회로가 최종의 기록 커맨드에 응답해서 동작하는 가동 기간보다 짧은, 메모리 장치를 관리하는 방법.
  6. 제1항에 있어서,
    상기 특정한 블록 내의 메모리 셀의 저장 용량은 1 비트보다 큰, 메모리 장치를 관리하는 방법.
  7. 제6항에 있어서,
    상기 최종의 기록 커맨드를 이용하여, 상기 메모리 셀이 복수의 프로그래머블 상태 중 임의의 상태에 있도록 하는 대신, 상기 복수의 프로그래머블 상태 중 일부의 상태에만 있도록 제어하는 단계
    를 더 포함하는 메모리 장치를 관리하는 방법.
  8. 제1항에 있어서,
    상기 저장된 데이터가 상기 한 세트의 데이터와 일치하는지를 검사하여 상기 특정한 블록이 불량 블록인지를 판정하는 단계는,
    상기 저장된 데이터가 상기 한 세트의 데이터와 일치하지 않을 때, 상기 특정한 블록을 불량 블록으로 판정하는 단계
    를 포함하는, 메모리 장치를 관리하는 방법.
  9. 메모리 장치로서,
    상기 메모리 장치는 복수의 블록을 각각 포함하는 적어도 하나의 비휘발성(non-volatile, NV) 메모리 소자; 및
    상기 NV 메모리 소자를 제어하도록 구성되어 있는 제어기
    를 포함하며,
    상기 제어기는 프로세싱 유닛을 포함하고, 상기 프로세싱 유닛은 자체 내에 내장된 프로그램 코드 또는 외부로부터 수신되는 프로그램 코드에 따라 상기 메모리 장치를 관리하며,
    여기서 상기 제어기는 상기 NV 메모리 소자 중 특정한 NV 메모리 소자에 제1 기록 커맨드 또는 제2 기록 커맨드 중 하나를 송신하는 대신, 상기 특정한 NV 메모리 소자에 최종의 기록 커맨드를 송신하여 상기 특정한 NV 메모리 소자의 특정한 블록에 한 세트의 데이터를 기록하며, 여기서 제1 기록 커맨드, 제2 기록 커맨드 및 최종의 기록 커맨드는 상기 NV 메모리 소자 내의 동일한 위치에 동일한 데이터를 다른 시간에 각각 기록하여, 상기 동일한 데이터가 정확하게 저장되는 것을 보장하기 위해 사용되며,
    여기서 상기 한 세트의 데이터가 상기 특정한 블록에 기록된 후, 상기 제어기는 상기 특정한 NV 메모리 소자에 판독 커맨드를 송신하여 상기 특정한 블록으로부터 상기 한 세트의 데이터의 저장된 데이터를 판독하고, 상기 저장된 데이터가 상기 한 세트의 데이터와 일치하는지를 검사하여 상기 특정한 블록이 불량 블록인지를 판정하는, 메모리 장치.
  10. 제9항에 있어서,
    상기 적어도 하나의 NV 메모리 소자 내의 임의의 NV 메모리 소자의 하나의 블록의 하나의 메모리 셀이 복수의 비트를 저장하도록 구성되어 있는 상황하에서, 상기 복수의 비트는 미리 정해진 횟수로 메모리 셀에 반복적으로 기록되어, 상기 메모리 셀이 상기 특정한 NV 메모리 소자에 정확하게 프로그램되도록 하며, 이에 따라 상기 복수의 메모리 셀의 각각의 비트가 후속을 판독을 위해 메모리 셀에 정확하게 저장되며, 상기 미리 정해진 횟수는 1보다 큰, 메모리 장치.
  11. 제10항에 있어서,
    상기 제1 기록 커맨드는 상기 복수의 비트를 메모리 셀에 첫 번째로 기록하도록 상기 적어도 하나의 NV 메모리 소자 내의 상기 임의의 NV 메모리 소자의 내부 제어 회로에 명령하도록 구성되어 있으며, 상기 제2 기록 커맨드는 상기 복수의 비트를 메모리 셀에 두 번째로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있으며, 최종의 기록 커맨드는 상기 복수의 비트를 상기 메모리 셀에 마지막으로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있는, 메모리 장치.
  12. 제11항에 있어서,
    상기 미리 정해진 횟수가 3이고, 상기 최종의 기록 커맨드는 상기 복수의 비트를 메모리 셀에 세 번째로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있는, 메모리 장치.
  13. 제11항에 있어서,
    상기 동일한 데이터를 기록할 때, 내부 제어 회로가 제1 기록 커맨드에 응답해서 동작하는 가동 기간(busy duration)은 상기 내부 제어 회로가 제2 기록 커맨드에 응답해서 동작하는 가동 기간보다 짧고, 상기 내부 제어 회로가 제2 기록 커맨드에 응답해서 동작하는 가동 기간은 내부 제어 회로가 최종의 기록 커맨드에 응답해서 동작하는 가동 기간보다 짧은, 메모리 장치.
  14. 제9항에 있어서,
    상기 특정한 블록 내의 메모리 셀의 저장 용량은 1 비트보다 큰, 메모리 장치.
  15. 제14항에 있어서,
    상기 제어기는 상기 최종의 기록 커맨드를 이용하여, 상기 메모리 셀이 복수의 프로그래머블 상태 중 임의의 상태에 있도록 하는 대신, 상기 복수의 프로그래머블 상태 중 일부의 상태에만 있도록 제어하는, 메모리 장치.
  16. 메모리 장치의 제어기로서,
    상기 메모리 장치는 복수의 블록을 각각 포함하는 적어도 하나의 비휘발성(non-volatile, NV) 메모리 소자를 포함하고,
    상기 제어기는 프로세싱 유닛을 포함하고, 상기 프로세싱 유닛은 자체 내에 내장된 프로그램 코드 또는 외부로부터 수신되는 프로그램 코드에 따라 상기 메모리 장치를 관리하도록 구성되며,
    여기서 상기 제어기는 상기 NV 메모리 소자 중 특정한 NV 메모리 소자에 제1 기록 커맨드 또는 제2 기록 커맨드 중 하나를 송신하는 대신, 상기 특정한 NV 메모리 소자에 최종의 기록 커맨드를 송신하여 상기 특정한 NV 메모리 소자의 특정한 블록에 한 세트의 데이터를 기록하며, 여기서 제1 기록 커맨드, 제2 기록 커맨드 및 최종의 기록 커맨드는 상기 NV 메모리 소자 내의 동일한 위치에 동일한 데이터를 다른 시간에 각각 기록하여, 상기 동일한 데이터가 정확하게 저장되는 것을 보장하기 위해 사용되며,
    여기서 상기 한 세트의 데이터가 상기 특정한 블록에 기록된 후, 상기 제어기는 상기 특정한 NV 메모리 소자에 판독 커맨드를 송신하여 상기 특정한 블록으로부터 상기 한 세트의 데이터의 저장된 데이터를 판독하고, 상기 저장된 데이터가 상기 한 세트의 데이터와 일치하는지를 검사하여 상기 특정한 블록이 불량 블록인지를 판정하는, 메모리 장치의 제어기.
  17. 제16항에 있어서,
    상기 적어도 하나의 NV 메모리 소자 내의 임의의 NV 메모리 소자의 하나의 블록의 하나의 메모리 셀이 복수의 비트를 저장하도록 구성되어 있는 상황하에서, 상기 복수의 비트는 미리 정해진 횟수로 메모리 셀에 반복적으로 기록되어, 상기 메모리 셀이 상기 특정한 NV 메모리 소자에 정확하게 프로그램되도록 하며, 이에 따라 상기 복수의 메모리 셀의 각각의 비트가 후속을 판독을 위해 메모리 셀에 정확하게 저장되며, 상기 미리 정해진 횟수는 1보다 큰, 메모리 장치의 제어기.
  18. 제17항에 있어서,
    상기 제1 기록 커맨드는 상기 복수의 비트를 메모리 셀에 첫 번째로 기록하도록 상기 적어도 하나의 NV 메모리 소자 내의 상기 임의의 NV 메모리 소자의 내부 제어 회로에 명령하도록 구성되어 있으며, 상기 제2 기록 커맨드는 상기 복수의 비트를 메모리 셀에 두 번째로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있으며, 최종의 기록 커맨드는 상기 복수의 비트를 상기 메모리 셀에 마지막으로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있는, 메모리 장치의 제어기.
  19. 제18항에 있어서,
    상기 미리 정해진 횟수가 3이고, 상기 최종의 기록 커맨드는 상기 복수의 비트를 메모리 셀에 세 번째로 기록하도록 내부 제어 회로에 명령하도록 구성되어 있는, 메모리 장치의 제어기.
  20. 제18항에 있어서,
    상기 동일한 데이터를 기록할 때, 내부 제어 회로가 제1 기록 커맨드에 응답해서 동작하는 가동 기간(busy duration)은 상기 내부 제어 회로가 제2 기록 커맨드에 응답해서 동작하는 가동 기간보다 짧고, 상기 내부 제어 회로가 제2 기록 커맨드에 응답해서 동작하는 가동 기간은 내부 제어 회로가 최종의 기록 커맨드에 응답해서 동작하는 가동 기간보다 짧은, 메모리 장치의 제어기.
  21. 제16항에 있어서,
    상기 특정한 블록 내의 메모리 셀의 저장 용량은 1 비트보다 큰, 메모리 장치의 제어기.
  22. 제21항에 있어서,
    상기 제어기는 상기 최종의 기록 커맨드를 이용하여, 상기 메모리 셀이 복수의 프로그래머블 상태 중 임의의 상태에 있도록 하는 대신, 상기 복수의 프로그래머블 상태 중 일부의 상태에만 있도록 제어하는, 메모리 장치의 제어기.
KR1020160080056A 2015-09-02 2016-06-27 메모리 장치를 관리하기 위한 방법 및 제어기 KR101819014B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW104128979 2015-09-02
TW104128979A TWI566253B (zh) 2015-09-02 2015-09-02 用來管理一記憶裝置之方法以及記憶裝置與控制器

Publications (2)

Publication Number Publication Date
KR20170027654A true KR20170027654A (ko) 2017-03-10
KR101819014B1 KR101819014B1 (ko) 2018-01-16

Family

ID=57964968

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160080056A KR101819014B1 (ko) 2015-09-02 2016-06-27 메모리 장치를 관리하기 위한 방법 및 제어기

Country Status (4)

Country Link
US (1) US9570183B1 (ko)
KR (1) KR101819014B1 (ko)
CN (2) CN110335635B (ko)
TW (1) TWI566253B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10546618B2 (en) 2017-09-19 2020-01-28 SK Hynix Inc. Nonvolatile memory device, data storage device including the same and operating method thereof

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI636363B (zh) * 2017-08-08 2018-09-21 慧榮科技股份有限公司 用來於一記憶裝置中進行動態資源管理之方法以及記憶裝置及其控制器
TWI643191B (zh) * 2017-11-13 2018-12-01 慧榮科技股份有限公司 用來控制一記憶裝置的運作之方法、記憶裝置及其控制器以及電子裝置
TWI660269B (zh) * 2018-01-26 2019-05-21 慧榮科技股份有限公司 用來於一記憶裝置中進行寫入管理之方法以及記憶裝置及其控制器
CN110162493B (zh) * 2018-02-12 2021-05-18 深圳大心电子科技有限公司 存储器管理方法及使用所述方法的储存控制器
TWI664527B (zh) * 2018-03-20 2019-07-01 慧榮科技股份有限公司 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置
CN108572924B (zh) * 2018-04-20 2021-10-08 华中科技大学 一种3d mlc闪存设备的请求处理方法
TWI659359B (zh) * 2018-04-27 2019-05-11 慧榮科技股份有限公司 控制儲存裝置之方法
TWI684860B (zh) * 2018-10-15 2020-02-11 慧榮科技股份有限公司 用來進行讀取加速之方法以及資料儲存裝置及其控制器
TWI696113B (zh) * 2019-01-02 2020-06-11 慧榮科技股份有限公司 用來進行組態管理之方法以及資料儲存裝置及其控制器
US10884933B2 (en) * 2019-01-18 2021-01-05 Silicon Motion Technology (Hong Kong) Limited Method and apparatus for performing pipeline-based accessing management in a storage server
TWI696074B (zh) 2019-01-24 2020-06-11 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US10884642B2 (en) * 2019-03-27 2021-01-05 Silicon Motion, Inc. Method and apparatus for performing data-accessing management in a storage server

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768548A (en) * 1992-04-15 1998-06-16 Intel Corporation Bus bridge for responding to received first write command by storing data and for responding to received second write command by transferring the stored data
US7676562B2 (en) * 2004-01-20 2010-03-09 Microsoft Corporation Computer system for accessing instrumentation information
US7249229B2 (en) * 2004-03-31 2007-07-24 Gemini Mobile Technologies, Inc. Synchronous message queues
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
WO2008150927A2 (en) * 2007-05-30 2008-12-11 Schooner Information Technology System including a fine-grained memory and a less-fine-grained memory
KR100866626B1 (ko) * 2007-07-02 2008-11-03 삼성전자주식회사 스페어 영역을 갖는 비휘발성 메모리 장치 및 그의 블록소거 방법
KR101662827B1 (ko) * 2010-07-02 2016-10-06 삼성전자주식회사 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법
KR20120030818A (ko) * 2010-09-20 2012-03-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 소거 방법
CN102456401B (zh) * 2010-10-26 2015-04-22 群联电子股份有限公司 区块管理方法、存储器控制器与存储器储存装置
KR101771619B1 (ko) * 2011-02-09 2017-08-28 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 구동 방법
TWI444825B (zh) * 2011-03-29 2014-07-11 Phison Electronics Corp 記憶體儲存裝置、記憶體控制器與資料寫入方法
CN102737716B (zh) * 2011-04-11 2016-11-02 群联电子股份有限公司 存储器储存装置、存储器控制器与数据写入方法
US10803970B2 (en) * 2011-11-14 2020-10-13 Seagate Technology Llc Solid-state disk manufacturing self test
CN103186470B (zh) * 2011-12-30 2016-04-20 群联电子股份有限公司 存储器储存装置及其存储器控制器与数据写入方法
KR101984796B1 (ko) * 2012-05-03 2019-06-03 에스케이하이닉스 주식회사 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
CN108595345B (zh) * 2012-07-25 2021-11-23 慧荣科技股份有限公司 管理闪存中所储存的数据的方法及相关记忆装置与控制器
CN104346292B (zh) * 2013-08-05 2017-10-24 慧荣科技股份有限公司 用来管理一记忆装置的方法、记忆装置与控制器
TWI545571B (zh) * 2014-02-18 2016-08-11 慧榮科技股份有限公司 存取快閃記憶體的方法及相關的控制器與記憶裝置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10546618B2 (en) 2017-09-19 2020-01-28 SK Hynix Inc. Nonvolatile memory device, data storage device including the same and operating method thereof

Also Published As

Publication number Publication date
TW201711049A (zh) 2017-03-16
CN106484316A (zh) 2017-03-08
CN106484316B (zh) 2019-06-28
US9570183B1 (en) 2017-02-14
KR101819014B1 (ko) 2018-01-16
US20170062060A1 (en) 2017-03-02
CN110335635B (zh) 2021-03-02
TWI566253B (zh) 2017-01-11
CN110335635A (zh) 2019-10-15

Similar Documents

Publication Publication Date Title
KR101819014B1 (ko) 메모리 장치를 관리하기 위한 방법 및 제어기
KR101566849B1 (ko) 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기
KR101698949B1 (ko) 스토리지 플레인에 저장된 유효 데이터를 일시적으로 저장하는 버퍼를 이용하는 플래시 메모리 제어 장치, 제어 시스템 및 그것의 제어 방법
KR101561546B1 (ko) 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기
JP2015156251A (ja) ダイナミックマルチモード動作を有する不揮発性メモリ
US11630768B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device
US11803223B2 (en) Open channel solid state drive, nonvolatile memory system including the same and method of power loss protection of open channel solid state drive
US10747660B2 (en) Method and system for forming and using memory superblocks based on performance grades
US10901653B2 (en) Electronic device
US10629275B2 (en) Data storage device and operating method thereof
WO2023093595A1 (en) Device having page buffer, memory system, and method of operating the same
KR102475688B1 (ko) 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그것의 동작 방법
US11809326B2 (en) Electronic system including host and memory system for performing read operation based on physical address received from the host
US11538518B2 (en) Memory device to suspend ROM operation and a method of operating the memory device
TWI523016B (zh) 用來管理一記憶裝置之方法以及記憶裝置與控制器
US20230168820A1 (en) Device having page buffer, memory system, and method of operating the same
US20230031193A1 (en) Memory system and operating method thereof

Legal Events

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