CN110335635B - 用来管理一记忆装置的方法以及记忆装置与控制器 - Google Patents

用来管理一记忆装置的方法以及记忆装置与控制器 Download PDF

Info

Publication number
CN110335635B
CN110335635B CN201910468500.0A CN201910468500A CN110335635B CN 110335635 B CN110335635 B CN 110335635B CN 201910468500 A CN201910468500 A CN 201910468500A CN 110335635 B CN110335635 B CN 110335635B
Authority
CN
China
Prior art keywords
specific
write command
memory device
data
write
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201910468500.0A
Other languages
English (en)
Other versions
CN110335635A (zh
Inventor
杨宗杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN110335635A publication Critical patent/CN110335635A/zh
Application granted granted Critical
Publication of CN110335635B publication Critical patent/CN110335635B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种用来管理一记忆装置的方法以及其相关的记忆装置与控制器,所述方法包括:传送一最后写入指令至所述记忆装置中的特定非挥发性存储器组件以写入一组数据至所述特定非挥发性存储器组件中的特定区块,而非传送一第一写入指令与一第二写入指令中的任一者至特定非挥发性存储器组件,其中所述写入指令分别用于不同次写入相同位置以确保数据正确;以及于写入所述组数据至所述特定区块之后,传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为坏区块。通过本发明的技术方案,可大幅地省下记忆装置于出厂前的初始化的时间。

Description

用来管理一记忆装置的方法以及记忆装置与控制器
本申请是申请日为2016年5月25日、申请号为201610352137.2、发明创造名称为“用来管理一记忆装置的方法以及记忆装置与控制器”的中国发明申请的分案申请。
技术领域
本发明涉及闪存(Flash Memory)的控制,尤其涉及一种用来管理一记忆装置的方法以及其相关的记忆装置与控制器。
背景技术
近年来由于闪存的技术不断地发展,各种可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)被广泛地实施于诸多应用中。因此,这些可携式记忆装置中的闪存的访问控制遂成为相当热门的议题。
以常用的NAND型闪存而言,其主要可区分为单阶细胞(Single Level Cell,SLC)与多阶细胞(Multiple Level Cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆细胞(Memory Cell;也可称为「记忆单元」)的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆细胞的晶体管的储存能力则被充分利用,是采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录多个位的信息(例如:00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的两倍以上,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。依据相关技术,由于某些类型的多阶细胞闪存的运作复杂,故某些问题就产生了。例如:采用这些类型的多阶细胞闪存的传统的记忆装置在出厂前的初始化(Initialization;在某些状况下也可称为「开卡」)的时间会大幅地增加,使得相关成本(诸如时间成本、人力成本)也对应地增加。因此,需要一种新颖的方法来加强对记忆装置的控制,以在不产生副作用的状况下提升初始化的效率。
发明内容
因此,本发明的目的之一在于公开一种用来管理一记忆装置的方法以及其相关的记忆装置与控制器,以解决上述问题。
本发明的另一目的在于公开一种用来管理一记忆装置的方法以及其相关的记忆装置与控制器,以提升记忆装置的运作效能并节省相关成本(诸如时间成本、人力成本)。
本发明的至少一较佳实施例中公开一种用来管理一记忆装置的方法,所述记忆装置包括至少一非挥发性(Non-volatile,NV)存储器组件,每一非挥发性存储器组件包括多个区块(Block),所述方法包括有下列步骤:传送一最后写入指令至所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令与一第二写入指令中的任一者至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述最后写入指令是分别用来在不同次将相同数据写入所述至少一非挥发性存储器组件中的相同位置,以确保所述相同数据被正确地储存;在写入所述组数据至所述特定区块之后,传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为坏区块以及;重复地进行上述二步骤,以逐区块地进行多个区块的质量扫描测试,直到所述非挥发性存储器组件内的部分区块或全部的区块检查完毕。
本发明于公开上述方法的同时,也对应地公开一种记忆装置,包括有:至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块;以及一控制器,用来控制所述至少一非挥发性存储器组件,所述控制器包括一处理单元,以依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置。另外,所述控制器用来进行以下二步骤:传送一特定写入指令至所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令或一第二写入指令至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述特定写入指令是分别用来在不同次将相同数据写入所述至少一非挥发性存储器组件中的相同位置,以确保所述相同数据的正确性;以及在写入所述组数据至所述特定区块之后,所述控制器传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为异常;其中所述控制器重复地进行上述二步骤,以逐区块地进行多个区块的质量扫描测试,直到所述非挥发性存储器组件内的部分区块或全部的区块检查完毕。此外,于写入所述组数据至所述特定区块之后,所述控制器传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为坏区块。
本发明于公开上述方法的同时,也对应地公开一种记忆装置的控制器,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,所述控制器包括有:一处理单元,用来依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置。另外,所述控制器用来进行以下二步骤:传送一特定写入指令至所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令或一第二写入指令至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述特定写入指令是分别用来在不同次将相同数据写入所述至少一非挥发性存储器组件中的相同位置,以确保所述相同数据的正确性;以及在写入所述组数据至所述特定区块之后,所述控制器传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为异常;其中所述控制器重复地进行上述二步骤,以逐区块地进行多个区块的质量扫描测试,直到所述非挥发性存储器组件内的部分区块或全部的区块检查完毕。此外,于写入所述组数据至所述特定区块之后,所述控制器传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为坏区块。
本发明的有益之处是:相较于相关技术,本发明的方法、记忆装置、与控制器可大幅地省下记忆装置在出厂前的初始化(Initialization;在某些状况下也可称为「开卡」)的时间,其中上述的初始化通常在记忆装置刚制造完成时进行。因此,本发明公开较相关技术更佳的效能,并可节省相关成本(诸如时间成本、人力成本)。
附图说明
图1为依据本发明一第一实施例的一种记忆装置的示意图。
图2为依据本发明一实施例的一种用来管理一记忆装置的方法。
图3绘示图1所示的记忆装置在一实施例中所涉及的控制方案。
图4绘示图1所示的记忆装置在另一实施例中所涉及的控制方案。
图5绘示图2所示的方法在一实施例中所涉及的控制方案。
其中,附图标记说明如下:
100 记忆装置
110 处理单元
120 挥发性存储器
130 传输接口
140_0,140_1,…,140_N 非挥发性存储器组件
150 总线
200 方法
210,220 步骤
AR,BR,CR,DR,ER,FR,GR 临界值
具体实施方式
请参考图1,其绘示依据本发明一第一实施例的一种记忆装置100的示意图。记忆装置100包括:一处理单元110,一挥发性(Volatile)存储器120,一传输接口130,多个非挥发性(Non-volatile,NV)存储器组件140_0、140_1、…、与140_N(符号「N」代表一正整数)诸如(N+1)个快闪芯片,以及一总线150。在典型状况下,在传输接口130耦接至一主装置(未显示于图1)之后,所述主装置可通过传输接口130来存取(Access)记忆装置100。举例来说,所述主装置可代表一个人计算机,例如一膝上型计算机或一桌面计算机。
处理单元110可依据内嵌于处理单元110中或接收自处理单元110之外的程序代码(未显示)来管理记忆装置100。例如:所述程序代码可为内嵌于处理单元110的硬件码,尤其是一只读存储器码(ROM code)。又例如:所述程序代码可为接收自处理单元110之外的固件码。尤其是,处理单元110是用来控制挥发性存储器120、传输接口130、非挥发性存储器组件140_0、140_1、…、与140_N、以及总线150。本实施例的处理单元110可为一高级缩减指令集计算机机器(Advanced Reduced Instruction Set Computer Machine,Advanced RISCMachine,ARM)处理器或一亚哥缩减指令集计算机核心(Argonaut RISC Core,ARC)处理器。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,处理单元110可为其它种处理器。依据本实施例的某些的变化例,处理单元110可从记忆装置100之外的一个外部电子装置(诸如个人计算机)接收某些指令,并且依据这些指令进行记忆装置100在出厂前的初始化(Initialization;在某些状况下也可称为「开卡」),其中上述的初始化通常在记忆装置100刚制造完成时进行。此状况下,执行于所述外部电子装置中关于对应的初始化流程的程序也可视为上述的接收自处理单元110之外的程序代码的例子。
另外,挥发性存储器120可用来储存一全局页地址链结表(Global Page AddressLinking Table)、所述主装置所存取的数据、以及用来存取记忆装置100的其它所需信息。本实施例的挥发性存储器120可为一动态随机存取存储器(Dynamic Random AccessMemory,DRAM)或一静态随机存取存储器(Static Random Access Memory,SRAM)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,挥发性存储器120可为其它种挥发性存储器。例如:挥发性存储器120可包括一静态随机存取存储器(Static Random Access Memory,SRAM)。
依据本实施例,图1所示的传输接口130是用来传输数据以及所述主装置与记忆装置100之间的指令,其中传输接口130符合一特定通信标准诸如串行高级技术附件(SerialAdvanced Technology Attachment,SATA)标准、并列高级技术附件(Parallel AdvancedTechnology Attachment,PATA)标准、或通用串行总线(Universal Serial Bus,USB)标准。例如:记忆装置100是一设置于所述主装置中的固态硬盘(Solid State Drive,SSD),且所述特定通信标准可为用来实施所述主装置的内部通信的一些典型通信标准,诸如串行高级技术附件标准或并列高级技术附件标准。又例如:记忆装置100是一固态硬盘且位于所述主装置的外,并且所述特定通信标准可为用来实施所述主装置的外部通信的一些典型通信标准,诸如通用串行总线标准。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,记忆装置100可为一可携式记忆装置诸如一记忆卡,且所述特定通信标准可为用来实施一记忆卡的输入/输出接口的一些典型通信标准,诸如安全数码(SecureDigital,SD)标准或小型快闪(Compact Flash,CF)标准。
另外,非挥发性存储器组件140_0、140_1、…、与140_N是用来储存数据,其中非挥发性存储器组件140_0、140_1、…、与140_N可为(但不限于)NAND型快闪芯片。总线150是用来耦接处理单元110、挥发性存储器120、传输接口130、和非挥发性存储器组件140_0、140_1、…、与140_N,以及用来进行其通信。在本实施例中,图1所示架构中除了非挥发性存储器组件140_0、140_1、…、与140_N之外的部分可整合成一控制器,尤其是一集成电路(Integrated Circuit,IC)诸如一控制器芯片,其中所述控制器是用来控制记忆装置100中的至少一非挥发性存储器组件诸如非挥发性存储器组件140_0、140_1、…、与140_N,故可视为记忆装置100的控制器。
在本实施例中,图1所示的非挥发性存储器组件140_0、140_1、…、与140_N中的每一非挥发性存储器组件,诸如非挥发性存储器组件140_n,可包括多个区块(Block),其中非挥发性存储器组件140_n在本实施例中可称为一快闪芯片,而索引n可代表落入区间[0,N]的范围内的任一整数。尤其是,每一区块可包括多页,而每一页可包括多个区段。例如,一区段可为最小读取单位。换言之,在一读取运作期间,处理单元110可读取一个区段或多个区段。这只是为了说明的目的而已,并非对本发明的限制。
图2为依据本发明一实施例的一种用来管理一记忆装置的方法200。所述方法可应用于图1所示的记忆装置100,尤其是上述的控制器(例如:通过处理单元110执行上述程序代码的存储器控制器),其中执行上述程序代码的所述控制器是用来控制上述的至少一非挥发性存储器组件诸如图1所示的非挥发性存储器组件140_0、140_1、…、与140_N。所述方法说明如下:
在步骤210中,所述控制器传送一最后写入指令至上述的至少一非挥发性存储器组件中的一特定非挥发性存储器组件(例如:非挥发性存储器组件140_n)以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令与一第二写入指令中的任一者至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述最后写入指令是分别用来在不同次将相同数据写入上述的至少一非挥发性存储器组件中的相同位置,以确保所述相同数据被正确地储存。例如:所述组数据可包括一预定型样(Pattern)的数据。这只是为了说明的目的而已,并非对本发明的限制。
在步骤220中,在写入所述组数据至所述特定区块之后,所述控制器传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据(也就是说,所述组数据的储存结果),并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为坏区块。例如:当所述储存数据和所述组数据不吻合时,所述控制器判断所述特定区块为坏区块,并可将所述特定区块记录为坏区块。又例如:当所述储存数据和所述组数据吻合时,所述控制器判断所述特定区块为好区块,并可将所述特定区块记录为好区块。
在步骤230中,所述控制器检查是否应当停止。当侦测到应当停止时(例如:待检查的区块都检查完毕),则结束图2所示的工作流程;否则,重新进入步骤210。如图2所示,步骤210与步骤220的运作可以重复地进行,以逐区块地进行多个区块的质量扫描测试,尤其是,所述控制器可逐区块地进行非挥发性存储器组件140_n内的至少一部分(例如:一部分区块、或全部的区块)的质量扫描测试,直到非挥发性存储器组件140_n内的上述至少一部分(例如:一部分区块、或全部的区块)都检查完毕。这只是为了说明的目的而已,并非对本发明的限制。例如:所述控制器可逐区块地进行上述的至少一非挥发性存储器组件内的多个非挥发性存储器组件(例如:一部分非挥发性存储器组件、或全部的非挥发性存储器组件)内的全部的区块的质量扫描测试,直到上述的多个非挥发性存储器元中的每一非挥发性存储器组件内的全部的区块都检查完毕。
依据本实施例,在上述的至少一非挥发性存储器组件中的任一非挥发性存储器组件的一区块的一记忆细胞(Memory Cell)被用来储存多个位的状况下,所述多个位需被重复地写入所述记忆细胞达一预定次数以使所述记忆细胞在所述特定非挥发性存储器组件当中被正确地程序化(Programmed),以致所述多个位中的每一位均正确地储存于所述记忆细胞以供进一步读取,其中所述预定次数大于一。尤其是,所述第一写入指令是用来指示所述任一非挥发性存储器组件中的一内部控制电路第一次将所述多个位写入所述记忆细胞,而所述第二写入指令是用来指示所述内部控制电路第二次将所述多个位写入所述记忆细胞,且所述最后写入指令是用来指示所述内部控制电路末次将所述多个位写入所述记忆细胞。例如:所述预定次数可等于三,并且所述最后写入指令是用来指示所述内部控制电路第三次将所述多个位写入所述记忆细胞。
请注意,在本实施例中,针对写入所述相同数据,所述内部控制电路因应所述第一写入指令所进行的运作的忙碌时间通常小于所述内部控制电路因应所述第二写入指令所进行的运作的忙碌时间,并且,针对写入所述相同数据,所述内部控制电路因应所述第二写入指令所进行的运作的忙碌时间通常小于所述内部控制电路因应所述最后写入指令所进行的运作的忙碌时间,其中上述的忙碌时间可通过侦测所述特定非挥发性存储器组件(例如:非挥发性存储器组件140_n)所输出的一忙碌信号而取得。尤其是,在上述所述特定区块中的一记忆细胞(诸如上述的所述记忆细胞)的储存容量大于一个位的状况下,所述控制器可利用所述最后写入指令控制所述记忆细胞只能处于对应多个位的多个可程序化状态中的一部分中的一状态,而非所述多个可程序化状态中的任一状态。例如:所述多个可程序化状态包括对应三个位的八个可程序化状态,而所述多个可程序化状态中的上述所述部分内的状态的数量小于八,其中这八个可程序化状态的总数对应于23,也就是说,8。
如前面所述,图2所示的方法200可应用于图1所示的记忆装置100,尤其是上述的控制器(例如:通过处理单元110执行上述程序代码的存储器控制器)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的某些变化例,在处理单元110可从上述的外部电子装置接收某些指令的状况下,图2所示的方法200也可应用于所述外部电子装置。
图3绘示图1所示的记忆装置100在一实施例中所涉及的控制方案。依据本实施例,所述控制器可在需要时任意地使用所述第一写入指令、所述第二写入指令、与所述最后写入指令,而不受步骤210的限制。此状况下,所述控制器可利用所述第一写入指令、所述第二写入指令、与所述最后写入指令控制所述特定区块中的所述记忆细胞处于所述多个可程序化状态中的任一状态,诸如图3所示的八个曲线所代表的八个可程序化状态中的任一状态。请注意,所述控制器可依据多个临界值{AR,BR,CR,DR,ER,FR,GR}来判断所述特定区块中的所述记忆细胞的目前的可程序化状态(也就是说,所述特定区块中的所述记忆细胞所储存的信息)是所述多个可程序化状态中的哪一状态,取得储存于所述记忆细胞中的全部位的数据(在本实施例中是三个位的数据)。
图4绘示图1所示的记忆装置100在另一实施例中所涉及的控制方案。依据本实施例,所述控制器仅仅使用所述最后写入指令。此状况下,所述控制器利用所述最后写入指令控制所述特定区块中的所述记忆细胞处于所述多个可程序化状态中的任一状态,诸如图4所示的八个曲线所代表的八个可程序化状态中的任一状态。请注意,由于所述控制器仅仅使用所述最后写入指令,故图4所示的八个曲线中的至少一部分并未彼此分离。因此,所述控制器往往无法依据所述临界值{AR,BR,CR,DR,ER,FR,GR}来判断所述特定区块中的所述记忆细胞的目前的可程序化状态(也就是说,所述特定区块中的所述记忆细胞所储存的信息)是所述多个可程序化状态中的哪一状态,也因此无法取得储存于所述记忆细胞中的全部位的数据。
图5绘示图2所示的方法200在一实施例中所涉及的控制方案。依据本实施例,所述控制器仅仅使用所述最后写入指令。此状况下,所述控制器利用所述最后写入指令控制所述特定区块中的所述记忆细胞只能处于所述多个可程序化状态中的所述部分中的一状态,诸如图5所示的三个曲线所代表的三个可程序化状态中的任一状态。请注意,依据所述记忆细胞中的所有位(在本实施例中是三个位)和所述多个可程序化状态(在本实施例中是八个可程序化状态)之间的预定关系,所述控制器可通过利用所述组数据中的所述预定型样控制所述特定区块中的所述记忆细胞只能对应于所述多个可程序化状态中的所述部分中的一状态,诸如图5所示的三个曲线所代表的三个可程序化状态中的任一状态,使得图5当中全部有使用到的可程序化状态的曲线均彼此分离。因此,所述控制器可以依据所述临界值{AR,BR,CR,DR,ER,FR,GR}中的至少一部分来判断所述特定区块中的所述记忆细胞的目前的可程序化状态(也就是说,所述特定区块中的所述记忆细胞所储存的信息)是所述多个可程序化状态中的所述部分中的哪一状态,也因此得以取得储存于所述记忆细胞中的全部位的数据(在本实施例中是三个位的数据)。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (22)

1.一种用来管理一记忆装置的方法,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,其特征在于,包括有下列步骤:
步骤1:传送一特定写入指令至所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令或一第二写入指令至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述特定写入指令是分别用来在不同次将相同数据写入所述至少一非挥发性存储器组件中的相同位置,以确保所述相同数据的正确性;
步骤2:在写入所述组数据至所述特定区块之后,传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为异常;以及
重复地进行上述步骤1与上述步骤2,以逐区块地进行多个区块的质量扫描测试,直到所述非挥发性存储器组件内的部分区块或全部的区块检查完毕。
2.如权利要求1所述的方法,其特征在于,在所述至少一非挥发性存储器组件中的任一非挥发性存储器组件的一区块的一记忆细胞被用来储存多个位的状况下,所述多个位需被重复地写入所述记忆细胞达一预定次数以使所述记忆细胞在所述特定非挥发性存储器组件当中被正确地程序化,以致所述多个位中的每一位均正确地储存于所述记忆细胞以供进一步读取;以及所述预定次数大于一。
3.如权利要求2所述的方法,其特征在于,所述第一写入指令是用来指示所述任一非挥发性存储器组件中的一内部控制电路第一次将所述多个位写入所述记忆细胞,而所述第二写入指令是用来指示所述内部控制电路第二次将所述多个位写入所述记忆细胞,且所述特定写入指令是用来指示所述内部控制电路末次将所述多个位写入所述记忆细胞。
4.如权利要求3所述的方法,其特征在于,所述预定次数等于三;以及所述特定写入指令是用来指示所述内部控制电路第三次将所述多个位写入所述记忆细胞。
5.如权利要求3所述的方法,其特征在于,针对写入所述相同数据,所述内部控制电路因应所述第一写入指令所进行的运作的忙碌时间小于所述内部控制电路因应所述第二写入指令所进行的运作的忙碌时间;以及
针对写入所述相同数据,所述内部控制电路因应所述第二写入指令所进行的运作的忙碌时间小于所述内部控制电路因应所述特定写入指令所进行的运作的忙碌时间。
6.如权利要求1所述的方法,其特征在于,所述特定区块中的一记忆细胞的储存容量大于一个位。
7.如权利要求6所述的方法,其特征在于,还包括有:
利用所述特定写入指令控制所述记忆细胞只能处于对应多个位的多个可程序化状态中的一部分中的一状态,而非所述多个可程序化状态中的任一状态。
8.如权利要求1所述的方法,其特征在于,检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为异常的步骤还包括:
当所述储存数据和所述组数据不吻合时,判断所述特定区块为异常。
9.一种记忆装置,其特征在于,包括有:
至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块;以及
一控制器,用来控制所述至少一非挥发性存储器组件,所述控制器包括一处理单元,以依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置,其中所述控制器用来进行以下二步骤:
步骤1:传送一特定写入指令至所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令或一第二写入指令至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述特定写入指令是分别用来在不同次将相同数据写入所述至少一非挥发性存储器组件中的相同位置,以确保所述相同数据的正确性;以及
步骤2:在写入所述组数据至所述特定区块之后,所述控制器传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为异常;
其中所述控制器重复地进行上述步骤1与上述步骤2,以逐区块地进行多个区块的质量扫描测试,直到所述非挥发性存储器组件内的部分区块或全部的区块检查完毕。
10.如权利要求9所述的记忆装置,其特征在于,在所述至少一非挥发性存储器组件中的任一非挥发性存储器组件的一区块的一记忆细胞被用来储存多个位的状况下,所述多个位需被重复地写入所述记忆细胞达一预定次数以使所述记忆细胞在所述特定非挥发性存储器组件当中被正确地程序化,以致所述多个位中的每一位均正确地储存于所述记忆细胞以供进一步读取;以及所述预定次数大于一。
11.如权利要求10所述的记忆装置,其特征在于,所述第一写入指令是用来指示所述任一非挥发性存储器组件中的一内部控制电路第一次将所述多个位写入所述记忆细胞,而所述第二写入指令是用来指示所述内部控制电路第二次将所述多个位写入所述记忆细胞,且所述特定写入指令是用来指示所述内部控制电路末次将所述多个位写入所述记忆细胞。
12.如权利要求11所述的记忆装置,其特征在于,所述预定次数等于三;以及所述特定写入指令是用来指示所述内部控制电路第三次将所述多个位写入所述记忆细胞。
13.如权利要求11所述的记忆装置,其特征在于,针对写入所述相同数据,所述内部控制电路因应所述第一写入指令所进行的运作的忙碌时间小于所述内部控制电路因应所述第二写入指令所进行的运作的忙碌时间;以及针对写入所述相同数据,所述内部控制电路因应所述第二写入指令所进行的运作的忙碌时间小于所述内部控制电路因应所述特定写入指令所进行的运作的忙碌时间。
14.如权利要求9所述的记忆装置,其特征在于,所述特定区块中的一记忆细胞的储存容量大于一个位。
15.如权利要求14所述的记忆装置,其特征在于,所述控制器利用所述特定写入指令控制所述记忆细胞只能处于对应多个位的多个可程序化状态中的一部分中的一状态,而非所述多个可程序化状态中的任一状态。
16.一种记忆装置的控制器,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,其特征在于,包括有:一处理单元,用来依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置,其中所述控制器用来进行以下二步骤:
步骤1:传送一特定写入指令至所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件以写入一组数据至所述特定非挥发性存储器组件中的一特定区块,而非传送一第一写入指令或一第二写入指令至所述特定非挥发性存储器组件,其中所述第一写入指令、所述第二写入指令、与所述特定写入指令是分别用来在不同次将相同数据写入所述至少一非挥发性存储器组件中的相同位置,以确保所述相同数据的正确性;以及
步骤2:在写入所述组数据至所述特定区块之后,所述控制器传送一读取指令至所述特定非挥发性存储器组件以自所述特定区块读取所述组数据的储存数据,并检查所述储存数据是否和所述组数据吻合以判断所述特定区块是否为异常;
其中所述控制器重复地进行上述步骤1与上述步骤2,以逐区块地进行多个区块的质量扫描测试,直到所述非挥发性存储器组件内的部分区块或全部的区块检查完毕。
17.如权利要求16所述的控制器,其特征在于,在所述至少一非挥发性存储器组件中的任一非挥发性存储器组件的一区块的一记忆细胞被用来储存多个位的状况下,所述多个位需被重复地写入所述记忆细胞达一预定次数以使所述记忆细胞在所述特定非挥发性存储器组件当中被正确地程序化,以致所述多个位中的每一位均正确地储存于所述记忆细胞以供进一步读取;以及所述预定次数大于一。
18.如权利要求17所述的控制器,其特征在于,所述第一写入指令是用来指示所述任一非挥发性存储器组件中的一内部控制电路第一次将所述多个位写入所述记忆细胞,而所述第二写入指令是用来指示所述内部控制电路第二次将所述多个位写入所述记忆细胞,且所述特定写入指令是用来指示所述内部控制电路末次将所述多个位写入所述记忆细胞。
19.如权利要求18所述的控制器,其特征在于,所述预定次数等于三;以及所述特定写入指令是用来指示所述内部控制电路第三次将所述多个位写入所述记忆细胞。
20.如权利要求18所述的控制器,其特征在于,针对写入所述相同数据,所述内部控制电路因应所述第一写入指令所进行的运作的忙碌时间小于所述内部控制电路因应所述第二写入指令所进行的运作的忙碌时间;以及针对写入所述相同数据,所述内部控制电路因应所述第二写入指令所进行的运作的忙碌时间小于所述内部控制电路因应所述特定写入指令所进行的运作的忙碌时间。
21.如权利要求16所述的控制器,其特征在于,所述特定区块中的一记忆细胞的储存容量大于一个位。
22.如权利要求21所述的控制器,其特征在于,所述控制器利用所述特定写入指令控制所述记忆细胞只能处于对应多个位的多个可程序化状态中的一部分中的一状态,而非所述多个可程序化状态中的任一状态。
CN201910468500.0A 2015-09-02 2016-05-25 用来管理一记忆装置的方法以及记忆装置与控制器 Active CN110335635B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
TW104128979A TWI566253B (zh) 2015-09-02 2015-09-02 用來管理一記憶裝置之方法以及記憶裝置與控制器
TW104128979 2015-09-02
CN201610352137.2A CN106484316B (zh) 2015-09-02 2016-05-25 用来管理一记忆装置的方法以及记忆装置与控制器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201610352137.2A Division CN106484316B (zh) 2015-09-02 2016-05-25 用来管理一记忆装置的方法以及记忆装置与控制器

Publications (2)

Publication Number Publication Date
CN110335635A CN110335635A (zh) 2019-10-15
CN110335635B true CN110335635B (zh) 2021-03-02

Family

ID=57964968

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910468500.0A Active CN110335635B (zh) 2015-09-02 2016-05-25 用来管理一记忆装置的方法以及记忆装置与控制器
CN201610352137.2A Active CN106484316B (zh) 2015-09-02 2016-05-25 用来管理一记忆装置的方法以及记忆装置与控制器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610352137.2A Active CN106484316B (zh) 2015-09-02 2016-05-25 用来管理一记忆装置的方法以及记忆装置与控制器

Country Status (4)

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

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI636363B (zh) * 2017-08-08 2018-09-21 慧榮科技股份有限公司 用來於一記憶裝置中進行動態資源管理之方法以及記憶裝置及其控制器
KR20190032104A (ko) 2017-09-19 2019-03-27 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 비휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법
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 慧榮科技股份有限公司 用來進行組態管理之方法以及資料儲存裝置及其控制器
US10963385B2 (en) * 2019-01-18 2021-03-30 Silicon Motion Technology (Hong Kong) Limited Method and apparatus for performing pipeline-based accessing management in a storage server with aid of caching metadata with cache module which is hardware pipeline module during processing object write command
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102456401A (zh) * 2010-10-26 2012-05-16 群联电子股份有限公司 区块管理方法、存储器控制器与存储器储存装置
CN102737716A (zh) * 2011-04-11 2012-10-17 群联电子股份有限公司 存储器储存装置、存储器控制器与数据写入方法
CN103597443A (zh) * 2011-11-14 2014-02-19 Lsi公司 存储设备固件以及制造软件

Family Cites Families (15)

* 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 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 소거 방법
KR101771619B1 (ko) * 2011-02-09 2017-08-28 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 구동 방법
TWI444825B (zh) * 2011-03-29 2014-07-11 Phison Electronics Corp 記憶體儲存裝置、記憶體控制器與資料寫入方法
CN103186470B (zh) * 2011-12-30 2016-04-20 群联电子股份有限公司 存储器储存装置及其存储器控制器与数据写入方法
KR101984796B1 (ko) * 2012-05-03 2019-06-03 에스케이하이닉스 주식회사 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US9811414B2 (en) * 2012-07-25 2017-11-07 Silicon Motion Inc. Method for managing data stored in flash memory and associated memory device and controller
CN107741913B (zh) * 2013-08-05 2021-09-07 慧荣科技股份有限公司 用来管理一记忆装置的方法、记忆装置与控制器
TWI545571B (zh) * 2014-02-18 2016-08-11 慧榮科技股份有限公司 存取快閃記憶體的方法及相關的控制器與記憶裝置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102456401A (zh) * 2010-10-26 2012-05-16 群联电子股份有限公司 区块管理方法、存储器控制器与存储器储存装置
CN102737716A (zh) * 2011-04-11 2012-10-17 群联电子股份有限公司 存储器储存装置、存储器控制器与数据写入方法
CN103597443A (zh) * 2011-11-14 2014-02-19 Lsi公司 存储设备固件以及制造软件

Also Published As

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

Similar Documents

Publication Publication Date Title
CN110335635B (zh) 用来管理一记忆装置的方法以及记忆装置与控制器
KR101566849B1 (ko) 메모리 장치 관리 방법, 그 관련 메모리 장치 및 그 관련 제어기
US9514042B2 (en) Method for managing memory apparatus to perform writing control according to monitored data amount of received data, associated memory apparatus thereof and associated controller thereof
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US9123443B2 (en) Memory device, memory management device, and memory management method
US10902928B2 (en) Memory system, operation method thereof, and nonvolatile memory device
CN103577342A (zh) 管理闪存中所储存的数据的方法及相关记忆装置与控制器
US11481153B2 (en) Data storage device and operating method thereof
US10747660B2 (en) Method and system for forming and using memory superblocks based on performance grades
US11068201B2 (en) Flash memory controller, method for managing flash memory module and associated electronic device
US11791007B2 (en) Leakage detection circuit, nonvolatile memory device including leakage detection circuit, and memory system including nonvolatile memory device
US11036493B2 (en) Memory system and operating method thereof
US20190096493A1 (en) Data storage device and operating method thereof
US20160364148A1 (en) Buffer memory accessing method, memory controller and memory storage device
US10734079B1 (en) Sub block mode read scrub design for non-volatile memory
US10564896B2 (en) Data storage device and operating method thereof
US8713242B2 (en) Control method and allocation structure for flash memory device
KR20200142698A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20230031193A1 (en) Memory system and operating method thereof
US10726938B2 (en) Data storage device and operating method thereof
CN110322913B (zh) 存储器管理方法与存储控制器
US11954347B2 (en) Memory system and operating method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant