CN108241473A - 存取闪存的方法及相关的控制器 - Google Patents

存取闪存的方法及相关的控制器 Download PDF

Info

Publication number
CN108241473A
CN108241473A CN201810002843.3A CN201810002843A CN108241473A CN 108241473 A CN108241473 A CN 108241473A CN 201810002843 A CN201810002843 A CN 201810002843A CN 108241473 A CN108241473 A CN 108241473A
Authority
CN
China
Prior art keywords
data page
flash memory
data
page
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.)
Granted
Application number
CN201810002843.3A
Other languages
English (en)
Other versions
CN108241473B (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 CN108241473A publication Critical patent/CN108241473A/zh
Application granted granted Critical
Publication of CN108241473B publication Critical patent/CN108241473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

本发明公开了一种存取一闪存的方法及相关的控制器,其中所述闪存为一三层式储存闪存,所述闪存中每一条字符线构成一最低有效位数据页、中间有效位数据页与最高有效位数据页,所述闪存中每一条字符在线的每一个储存单元以一浮栅晶体管来实作,每一个储存单元支持至少八个写入电压位准,所述方法包含有:根据欲写入所述闪存中一特定字符线所对应的一第一数据页与一第二数据页中的数据以产生一虚拟数据,其中所述虚拟数据是准备写入至所述特定字符线所对应的一第三数据页;以及将所述数据及所述虚拟数据写入至所述闪存。本发明可以在三层式储存架构的闪存发生质量问题时,将闪存改为类似多层式储存的存取方式,以避免浪费。

Description

存取闪存的方法及相关的控制器
本发明要求中华人民共和国申请号201410174841.4(申请日2014年04月28日,标题为“存取闪存的方法及相关的控制器与记忆装置”)的优先权,以上申请案的所有内容以引用方式纳入。
技术领域
本发明涉及一种闪存,尤指一种存取闪存的方法及相关的控制器。
背景技术
闪存可通过电子式的抹除(erase)与写入/程序化(program)以进行数据储存,并且广泛地应用于记忆卡(memory card)、固态硬盘(solid-state drive)与可携式多媒体播放器等等。由于闪存为非挥发性(non-volatile)内存,因此,不需要额外电力来维持闪存所储存的信息,此外,闪存可提供快速的数据读取与较佳的抗震能力,而这些特性也说明了闪存为何会如此普及的原因。
闪存可区分为NOR型闪存与NAND型闪存。对于NAND型闪存来说,其具有较短的抹除及写入时间且每一内存单元需要较少的芯片面积,因而相较于NOR型闪存,NAND型闪存会允许较高的储存密度以及较低的每一储存位的成本。一般来说,闪存以内存单元数组的方式来储存数据,而内存单元是由一浮栅晶体管(floating-gate transistor)来加以实作,且每一内存单元可通过适当地控制浮栅晶体管的浮动栅极上的电荷个数来设定导通所述浮栅晶体管所实作的所述内存单元的所需临界电压,进而储存单一个位的信息或者一个位以上的信息,如此一来,当一或多个预定控制栅极电压施加于浮栅晶体管的控制栅极之上,则浮栅晶体管的导通状态便会指示出浮栅晶体管中所储存的一或多个二进制数(binarydigit)。
闪存在格式上可分为单层式储存(Single-Level Cell,SLC)、多层式储存(Multiple-Level Cell,MLC)或是三层式储存(Triple-Level Cell,TLC)。在三层式储存(TLC)架构的闪存中,每一个内存单元可用来储存三个位的数据,也因此每一个内存单元支持八个写入电压位准,然而,若是闪存在制造时质量出现问题,而使得部份的内存单元没有办法完全支持八个写入电压位准(例如有些较高的电压位准无法写入),或是八个写入电压位准中有部份的电压位准有漂移(shift)或是沾黏(sticky)的问题,则此时数据的写入便会发生错误,造成后续数据读取的问题。
此外,若是要将这些质量有问题的闪存直接丢弃,也会造成成本上的浪费。
发明内容
因此,本发明的目的之一在于公开一种存取闪存的方法及相关的控制器与记忆装置,其可以在三层式储存架构的闪存发生质量问题时,将闪存改为类似多层式储存的存取方式,以解决现有技术中的问题。
根据本发明一实施例,公开一种存取一闪存的方法,其中所述闪存为一三层式储存闪存,所述闪存中每一条字符线构成一最低有效位数据页、中间有效位数据页与最高有效位数据页,所述闪存中每一条字符在线的每一个储存单元以一浮栅晶体管来实作,每一个储存单元支持至少八个写入电压位准,所述方法包含有:根据欲写入所述闪存中一特定字符线所对应的一第一数据页与一第二数据页中的数据以产生一虚拟数据,其中所述虚拟数据是准备写入至所述特定字符线所对应的一第三数据页,其中所述第一数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中其一,所述第二数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的另一,所述第三数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的再另一;以及将所述数据及所述虚拟数据写入至所述闪存。
根据本发明另一实施例,一种记忆装置包含有一闪存以及一控制器,其中所述闪存为一三层式储存闪存,所述闪存中每一条字符线构成一最低有效位数据页、中间有效位数据页与最高有效位数据页,所述闪存中每一条字符在线的每一个储存单元以一浮栅晶体管来实作,每一个储存单元支持至少八个写入电压位准;以及所述控制器用来存取所述闪存,其中所述控制器根据欲写入所述闪存中一特定字符线所对应的一第一数据页与一第二数据页中的数据以产生一虚拟数据,其中所述虚拟数据是准备写入至所述特定字符线所对应的一第三数据页,其中所述第一数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中其一,所述第二数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的另一,所述第三数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的再另一;以及所述控制器将所述数据及所述虚拟数据写入至所述闪存。
根据本发明另一实施例,公开一种记忆装置的控制器,所述控制器用来存取一闪存,其中所述闪存为一三层式储存闪存,所述闪存中每一条字符线构成一最低有效位数据页、中间有效位数据页与最高有效位数据页,所述闪存中每一条字符在线的每一个储存单元以一浮栅晶体管来实作,每一个储存单元支持至少八个写入电压位准,且所述控制器包含有:一内存,用来储存一程序代码;以及一微处理器,用来执行所述程序代码以控制对所述闪存的存取;其中所述微处理器根据欲写入所述闪存中一特定字符线所对应的一第一数据页与一第二数据页中的数据以产生一虚拟数据,其中所述虚拟数据是准备写入至所述特定字符线所对应的一第三数据页,其中所述第一数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中其一,所述第二数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的另一,所述第三数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的再另一;以及所述微处理器将所述数据及所述虚拟数据写入至所述闪存。
附图说明
图1为根据本发明第一实施例的一种记忆装置的示意图。
图2为根据本发明第二实施例的闪存中一区块的示意图。
图3为数据页中多个写入电压位准以及多个临界电压的示意图。
图4为根据本发明第三实施例存取闪存的方法的流程图。
图5为闪存中的浮栅晶体管因为制程质量不良无法而使得写入电压位准L6~L8无法写入的示意图。
图6为闪存中的浮栅晶体管因为制程质量不良无法而使得写入电压位准L2与L3有沾黏的情况发生的示意图。
其中,附图标记说明如下:
100 记忆装置
110 内存控制器
112 微处理器
112C 程序代码
112M 只读存储器
114 控制逻辑
116 缓冲存储器
118 接口逻辑
120 闪存
200 区块
202 浮栅晶体管
P0~P(3N-1) 数据页
WL0~WLN 字符线
400~404 步骤
具体实施方式
请参考图1,图1为根据本发明第一实施例的一种记忆装置100的示意图,其中本实施例的记忆装置100尤其为可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)。记忆装置100包含有一闪存(Flash Memory)120以及一控制器,所述控制器可为一内存控制器110,且用来存取闪存120。根据本实施例,内存控制器110包含一微处理器112、一只读存储器(Read Only Memory,ROM)112M、一控制逻辑114、一缓冲存储器116、与一接口逻辑118。只读存储器用来储存一程序代码112C,而微处理器112则用来执行程序代码112C以控制对闪存120的存取(Access)。
在典型状况下,闪存120包含多个区块(Block),而所述控制器(例如:通过微处理器112执行程序代码112C的内存控制器110)对闪存120进行复制、抹除、合并数据等运作以区块为单位来进行复制、抹除、合并数据。另外,一区块可记录特定数量的数据页(Page),其中所述控制器(例如:通过微处理器112执行程序代码112C的内存控制器110)对闪存120进行写入数据的运作是以数据页为单位来进行写入。
实作上,通过微处理器112执行程序代码112C的内存控制器110可利用其本身内部的组件来进行诸多控制运作,例如:利用控制逻辑114来控制闪存120的存取运作(尤其是对至少一区块或至少一数据页的存取运作)、利用缓冲存储器116进行所需的缓冲处理、以及利用接口逻辑118来与一主装置(Host Device)沟通。
请参考图2,图2为根据本发明第二实施例的闪存120中一区块200的示意图。如图2所示,区块200为三层式储存架构,即区块200具有N条字符线WL0~WLN,每一条字符线可构成三个数据页,故区块200共包含有3*N个数据页(P0~P(3N-1))。图2中的每一个储存单元(亦即每一个浮栅晶体管202)可以储存三个位,亦即包含最低有效位(least significantbit,LSB)、中间有效位(central significant bit,CSB)与最高有效位(most significantbit,MSB)的三个位;而每一条字符线WL0~WLN上的多个储存单元所储存的最低有效位构成了所述字符线对应的第一个数据页(最低有效位数据页(LSB page))、所储存的中间有效位构成了所述字符线对应的第二个数据页(中间有效位数据页(CSB page))、以及所储存的最高有效位构成了所述字符线对应的第三个数据页(最高有效位数据页(MSB page))。
详细来说,请参考图3,图3为数据页(P0~P(3N-1))中多个写入电压位准L1~L8以及多个临界电压Vt1~Vt7的示意图。如图3所示,每个浮栅晶体管202可以被程序化(programmed)为具有电压位准L1(亦即(MSB,CSB,LSB)=(1,1,1))、电压位准L2(亦即(MSB,CSB,LSB)=(1,1,0)、电压位准L3(亦即(MSB,CSB,LSB)=(1,0,0)、电压位准L4(亦即(MSB,CSB,LSB)=(0,0,0)、电压位准L5(亦即(MSB,CSB,LSB)=(0,1,0)、电压位准L6(亦即(MSB,CSB,LSB)=(0,1,1)、电压位准L7(亦即(MSB,CSB,LSB)=(0,0,1)或是电压位准L8(亦即(MSB,CSB,LSB)=(1,0,1))。
当内存控制器110需要读取浮栅晶体管202中的最低有效位(LSB)时,内存控制器110会使用临界电压Vt1与Vt5去读取浮栅晶体管202,并根据浮栅晶体管202的导通状态(是否有电流产生)来判断最低有效位是“1”或是“0”。在本实施例中,当内存控制器110使用临界电压Vt5施加在浮栅晶体管202的栅极时浮栅晶体管202会导通,且/或当内存控制器110使用临界电压Vt1施加在浮栅晶体管202的栅极时浮栅晶体管202不会导通时,则表示最低有效位是“1”;而当内存控制器110使用临界电压Vt5施加在浮栅晶体管202的栅极时浮栅晶体管202不会导通,但是当内存控制器110使用临界电压Vt1施加在浮栅晶体管202的栅极时浮栅晶体管202会导通时,则表示最低有效位是“0”。
当内存控制器110需要读取浮栅晶体管202中的中间有效位(CSB)时,内存控制器110会使用临界电压Vt2、Vt4与Vt6去读取浮栅晶体管202,并根据浮栅晶体管202的导通状态(是否有电流产生)来判断中间有效位是“1”或是“0”。于本实施例中,当内存控制器110使用临界电压Vt2施加在浮栅晶体管202的栅极时浮栅晶体管202不会导通时,则表示中间有效位是“1”;当内存控制器110使用临界电压Vt4施加在浮栅晶体管202的栅极时浮栅晶体管202不会导通,但是当内存控制器110使用临界电压Vt2施加在浮栅晶体管202的栅极时浮栅晶体管202会导通时,则表示中间有效位是“0”;当内存控制器110使用临界电压Vt6施加在浮栅晶体管202的栅极时浮栅晶体管202不会导通,但是当内存控制器110使用临界电压Vt4施加在浮栅晶体管202的栅极时浮栅晶体管202会导通时,则表示中间有效位也是“1”;当内存控制器110使用临界电压Vt6施加在浮栅晶体管202的栅极时浮栅晶体管202会导通时,则表示中间有效位是“0”。
当内存控制器110需要读取浮栅晶体管202中的最高有效位(MSB)时,内存控制器110会使用临界电压Vt3与Vt7去读取浮栅晶体管202,并根据浮栅晶体管202的导通状态(是否有电流产生)来判断最高有效位是“1”或是“0”。于本实施例中,当内存控制器110使用临界电压Vt7施加在浮栅晶体管202的栅极时浮栅晶体管202会导通,且/或当内存控制器110使用临界电压Vt3施加在浮栅晶体管202的栅极时浮栅晶体管202不会导通时,则表示最高有效位是“1”;而当内存控制器110使用临界电压Vt7施加在浮栅晶体管202的栅极时浮栅晶体管202不会导通,但是当内存控制器110使用临界电压Vt3施加在浮栅晶体管202的栅极时浮栅晶体管202会导通时,则表示最高有效位是“0”。
在闪存120出厂时(被制作于记忆装置100之前),闪存120会先经过测试,以判断闪存120在写入或是读取时是否有问题。举例来说,闪存120中的浮栅晶体管202可能因为制程质量不良而使得浮栅晶体管无法具有写入电压位准L6~L8,如此一来,若是内存控制器110仍尝试以写入电压位准L6~L8将数据写入到闪存120时,闪存120中浮栅晶体管202本身的电压位准便会发生错误,造成后续数据在读取上的问题。
为了解决此一问题,当闪存120在出厂时被判断出有质量上的问题时而造成闪存120不适合使用三层式储存来储存数据时,本发明的内存控制器110会经由设定以将原本具有三层式储存(TLC)架构的闪存120改为类似多层式储存(MLC)的存取方式,以使得闪存120在后续读取时不会发生错误。请参考图4,图4为根据本发明第三实施例存取闪存120的方法的流程图。参考图4,流程叙述如下。
步骤400:流程开始。
步骤402:根据欲写入所述闪存中一特定字符线所对应的一第一数据页与一第二数据页中的数据以产生一虚拟数据,其中所述虚拟数据是准备写入至所述特定字符线所对应的一第三数据页,其中所述第一数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中其一,所述第二数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的另一,所述第三数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的再另一。
步骤404:将所述数据及所述虚拟数据写入至所述闪存。
请参考图5所示的范例来进一步了解图4所示的流程图的内容。在图5的范例中,是假设闪存120中的浮栅晶体管202因为制程质量不良无法具有写入电压位准L6~L8,因此,在本实施例中实质上只有写入电压位准L1~L5可以被正确地使用。如此一来,由于闪存120中的浮栅晶体管202只能具有五个写入电压位准,因此,闪存120便无法再以三层式储存架构来储存数据(三层式储存架构需要八个写入电压位准)。为了解决此问题,本发明的内存控制器110在设计上会将闪存120改为类似多层式储存(MLC)的存取方式,亦即内存控制器110只会将来自于一主装置的数据储存到对应到一字符在线两个数据页中,而由于同一字符在线的三个数据页(最低有效位数据页、中间有效位数据页及最高有效位数据页)需要同时被写入,因此,内存控制器110会另外再根据准备要写入至上述两个数据页中的数据,来另外产生准备写入至第三个数据页中的虚拟数据(dummy data),并将所述数据以及所述虚拟数据写入至所述字符在线的储存单元(浮栅晶体管202)中。
更详细来说,在内存控制器110的设计上,首先需要考虑的是要选择哪两个数据页,由于本发明的内存控制器110在设计上会将闪存120改为类似多层式储存的存取方式,因此这两个数据页上的每一个储存单元必须具有对应至四个位值组合(1,1)、(1,0)、(0,1)、(0,0)的写入电压位准。在图5所示的实施例中,就中间有效位(CSB)与最低有效位(LSB)来看,由于在写入电压位准L1~L5中,中间有效位(CSB)与最低有效位(LSB)只具有位值组合(1,1)、(1,0)、(0,0),而缺乏了位值组合(0,1),因此中间有效位数据页(CSB page)与最低有效位数据页(LSB page)不可作为多层式储存所选择的两个数据页;接着,就最高有效位(MSB)与最低有效位(LSB)来看,最高有效位(MSB)与最低有效位(LSB)只具有位值组合(1,1)、(1,0)、(0,0),而缺乏了位值组合(0,1)因此最高有效位数据页(MSB page)与最低有效位数据页(LSB page)也不可作为多层式储存所选择的两个数据页;最后,就最高有效位(MSB)与中间有效位(CSB)来看,由于最高有效位(MSB)与中间有效位(CSB)具有四个位值组合(1,1)、(1,0)、(0,1)、(0,0),因此最高有效位数据页(MSB page)与中间有效位数据页(CSB page)可以作为多层式储存所选择的两个数据页。如上所述,在图5所示的实施例中,当需要将有意义的数据写入到闪存120时,内存控制器110会将数据写入到图5所示的最高有效位数据页与中间有效位数据页中。
就图5的实施例来说明,由于内存控制器110使用类似多层式储存的存取方式来存取闪存120,因此,内存控制器110仅会使用写入电压位准L1~L8中的四个特定写入电压位准L2~L5来将数据写入到浮栅晶体管202中。当内存控制器110需要将位“1”、“1”分别写入到一储存单元的最高有效位(MSB)与中间有效位(CSB)中时,内存控制器110会产生准备写入最低有效位(LSB)的一虚拟位“0”,以使得内存控制器110可以使用写入电压位准L2来将数据写入到所述储存单元中;另外,当内存控制器110需要将位“1”、“0”分别写入到一储存单元的最高有效位(MSB)与中间有效位(CSB)中时,内存控制器110会产生准备写入最低有效位(LSB)的一虚拟位“0”,以使得内存控制器110可以使用写入电压位准L3来将数据写入到所述储存单元中;且当内存控制器110需要将位“0”、“0”分别写入到一储存单元的最高有效位(MSB)与中间有效位(CSB)中时,内存控制器110会产生准备写入最低有效位(LSB)的一虚拟位“0”,以使得内存控制器110可以使用写入电压位准L4来将数据写入到所述储存单元中;当内存控制器110需要将位“0”、“1”分别写入到一储存单元的最高有效位(MSB)与中间有效位(CSB)中时,内存控制器110会产生准备写入最低有效位(LSB)的一虚拟位“0”,以使得内存控制器110可以使用写入电压位准L5来将数据写入到所述储存单元中。
如上所述,由于闪存120中每一条字符线所对应的三个数据页中只有最高有效位数据页与中间有效位数据页会被用来储存有意义的数据,因此,在所储存的数据是来自于一主装置的情形下,闪存120中只有最高有效位数据页与中间有效位数据页会具有对应到主装置的逻辑地址(logical address),而最低有效位数据页则不会具有对应到主装置的逻辑地址。因此,在内存控制器110需要读取闪存120中的数据时(例如接收到来自主装置的一读取要求),内存控制器110只会读取最高有效位数据页与中间有效位数据页,而不会去读取最低有效位数据页。
此外,内存控制器110在读取闪存120的方式上并不需要做改变,亦即内存控制器110仍然使用临界电压Vt2、Vt4、Vt6去读取浮栅晶体管202以决定出中间有效位(CSB),且内存控制器110使用临界电压Vt3、Vt7去读取浮栅晶体管202以决定出最高有效位(MSB)。
综上所述,由于本发明可以让质量比较差而无法采用三层式储存架构的闪存120改为类似多层式储存的存取方式,因此可以更有效地利用原本应所述要被淘汰的闪存。此外,内存控制器110在设计上也不需要做太大的改变,因此也可以降低内存控制器110的设计成本。
另外,虽然在上述图5的实施例的相关说明中,内存控制器110是使用四个特定写入电压位准L2~L5来将数据写入到浮栅晶体管202中,然而,在本发明的其他实施例中,由于写入电压位准L1与写入电压位准L2在中间有效位(CSB)与最高有效位(MSB)上是表示相同的位值,因此,以上实施例的四个特定写入电压位准也可以改为L1、L3~L5,由于本领域技术人员在阅读过上述说明之后应能了解其实施方式,故细节在此不予赘述。
另外,在上述说明中,内存控制器110是对闪存120整体都改为类似多层式储存的存取方式,然而,在本发明的其他实施例中,闪存120可以区块为单位来选择要采用三层式储存或是多层式储存。举例来说,闪存120出厂时会先经过测试以判断出哪些区块可能有质量上的问题,哪些区块质量没有问题,针对质量有问题的区块,内存控制器110可以采用上述类似多层式储存的方式来存取这些区块;而针对质量没有问题的区块,内存控制器110可以采用传统存取三层式储存架构的方式来存取这些区块。
另外,请参考图6,图6为闪存120中的浮栅晶体管202因为制程质量不良无法而使得写入电压位准L2与L3有沾黏的情况发生,因此,在图6的实施例中实质上只有写入电压位准L1、L4~L8可以被正确地使用。如此一来,由于闪存120中的浮栅晶体管202只能具有六个写入电压位准,因此,闪存120便无法再以三层式储存架构来储存数据(三层式储存架构需要八个写入电压位准)。为了解决此问题,本发明的内存控制器110在设计上会将闪存120改为类似多层式储存的存取方式,亦即内存控制器110只会将来自于一主装置的数据储存到对应到一字符在线两个数据页中,而由于同一字符在线的三个数据页(最低有效位数据页、中间有效位数据页及最高有效位数据页)需要同时被写入,因此,内存控制器110会另外再根据要写入至上述两个数据页中的数据,来另外产生准备写入至第三个数据页中的虚拟数据,并将所述数据以及所述虚拟数据写入至所述字符在线的储存单元(浮栅晶体管202)中。
类似于图5所示的实施例,在内存控制器110的设计上,首先需要考虑的是要选择哪两个数据页,由于本发明的内存控制器110在设计上会将闪存120改为类似多层式储存(MLC)的存取方式,因此这两个数据页上的每一个储存单元必须具有对应至四个位值组合(1,1)、(1,0)、(0,1)、(0,0)的电压位准。在图5所示的实施例中,就中间有效位(CSB)与最低有效位(LSB)来看,由于在写入电压位准L1、L4~L8中,中间有效位(CSB)与最低有效位(LSB)具有四个位值组合(1,1)、(1,0)、(0,1)、(0,0),因此中间有效位数据页(CSB page)与最低有效位数据页(LSB page)可以作为多层式储存所选择的两个数据页;接着,就最高有效位(MSB)与最低有效位(LSB)来看,最高有效位(MSB)与最低有效位(LSB)只具有位值组合(1,1)、(0,0)、(0,1),而缺乏了位值组合(1,0)因此最高有效位数据页(MSB page)与最低有效位数据页(LSB page)不可作为多层式储存所选择的两个数据页;最后,就最高有效位(MSB)与中间有效位(CSB)来看,由于最高有效位(MSB)与中间有效位(CSB)具有四个位值组合(1,1)、(1,0)、(0,1)、(0,0),因此最高有效位数据页(MSB page)与中间有效位数据页(CSB page)也可以作为多层式储存所选择的两个数据页。如上所述,在图6所示的实施例中,当需要将有意义的数据写入到闪存120时,内存控制器110可以将数据写入到图6所示的中间有效位与最低有效位中,或是写入到图6所示的最高有效位与中间有效位中。
就图6的实施例来说明,假设设计者所选择的是采用最高有效位与中间有效位,则内存控制器110仅会使用写入电压位准L1~L8中的四个特定写入电压位准来将数据写入到浮栅晶体管202中,而这四个特定写入电压位准可以是L1、L4、L6、L8(本发明不以此为限,四个特定写入电压位准也可以是L1、L5、L7、L8)。详细来说,当内存控制器110需要将位“1”、“1”分别写入到一储存单元的最高有效位(MSB)与中间有效位(CSB)中时,内存控制器110会产生准备写入最低有效位(LSB)的一虚拟位“1”,以使得内存控制器110可以使用写入电压位准L1来将数据写入到所述储存单元中;另外,当内存控制器110需要将位“1”、“0”分别写入到一储存单元的最高有效位(MSB)与中间有效位(CSB)中时,内存控制器110会产生准备写入最低有效位(LSB)的一虚拟位“1”,以使得内存控制器110可以使用写入电压位准L8来将数据写入到所述储存单元中;且当内存控制器110需要将位“0”、“0”分别写入到一储存单元的最高有效位(MSB)与中间有效位(CSB)中时,内存控制器110会产生准备写入最低有效位(LSB)的一虚拟位“0”,以使得内存控制器110可以使用写入电压位准L4来将数据写入到所述储存单元中;当内存控制器110需要将位“0”、“1”分别写入到一储存单元的最高有效位(MSB)与中间有效位(CSB)中时,内存控制器110会产生准备写入最低有效位(LSB)的一虚拟位“1”,以使得内存控制器110可以使用写入电压位准L6来将数据写入到所述储存单元中。
另外,由于在图6的实施例中,选择中间有效位与最低有效位一样可以完成操作,故设计者也可以选择采用最高有效位与中间有效位来进行内存控制器110的设计,且由于本领域技术人员在阅读过上述说明之后应能了解其实施方式,故细节在此不予赘述。
简要归纳本发明,在本发明的存取闪存的方法及相关的控制器与记忆装置中,可以在三层式储存架构的闪存发生质量问题时,将闪存改为类似多层式储存的存取方式,因此可以更有效地利用原本应所述要被淘汰的闪存。此外,将闪存改为类似多层式储存的存取方式也可以增加数据写入的质量,避免后续数据读取错误的问题。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (10)

1.一种存取一闪存的方法,其特征在于,所述闪存为一三层式储存闪存,
所述闪存中每一条字符线构成一最低有效位数据页、中间有效位数据页与最高有效位数据页,所述闪存中每一条字符在线的每一个储存单元以一浮栅晶体管来实现,每一个储存单元支持至少八个写入电压位准,所述方法包含有:
当一数据需要写入至该闪存中的一第一区块时,仅以所述八个写入电压位准中的四个特定写入电压位准将所述数据写入至所述闪存;以及
当所述数据需要写入至该闪存中的一第二区块时,使用所述八个写入电压位准将所述数据写入至所述闪存。
2.如权利要求1所述的方法,其特征在于,所述第一区块为出厂时经过测试后判断有质量问题的区块,而所述第二区块为出厂时经过测试后判断没有质量问题的区块。
3.如权利要求1所述的方法,其特征在于,当该数据需要写入至该闪存中的该第一区块时,仅以所述八个写入电压位准中的四个特定写入电压位准将所述数据写入至所述闪存的步骤包含有:
根据欲写入所述第一区块的一特定字符线所对应的一第一数据页与一第二数据页中的所述数据以产生一虚拟数据,其中所述虚拟数据是准备写入至所述特定字符线所对应的一第三数据页,其中所述第一数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中其一,所述第二数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的另一,所述第三数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的再另一;以及
将所述数据及所述虚拟数据写入至所述第一区块。
4.如权利要求3所述的方法,其特征在于,根据欲写入所述闪存中所述特定字符线所对应的所述第一数据页与所述第二数据页中的所述数据以产生所述虚拟数据的步骤包含有:
针对所述特定字符在线的任一个储存单元,根据对应于所述第一数据页与所述第二数据页的一位值组合来决定出对应于所述第三数据页的位值。
5.如权利要求4所述的方法,其特征在于,所述四个特定电压位准所对应于所述第一数据页与所述第二数据页的四个位值组合分别为(1,1)、(1,0)、(0,1)、(0,0)。
6.一种记忆装置的控制器,其特征在于,所述控制器是用来存取一闪存,其中所述闪存为一三层式储存闪存,所述闪存中每一条字符线构成一最低有效位数据页、中间有效位数据页与最高有效位数据页,所述闪存中每一条字符在线的每一个储存单元以一浮栅晶体管来实作,每一个储存单元支持至少八个写入电压位准,且所述控制器包含有:
一内存,用来储存一程序代码;
一微处理器,用来执行所述程序代码以控制对所述闪存的存取;
其中当一数据需要写入至该闪存中的一第一区块时,所述微处理器仅以所述八个写入电压位准中的四个特定写入电压位准将所述数据写入至所述闪存;以及当所述数据需要写入至该闪存中的一第二区块时,所述微处理器使用所述八个写入电压位准将所述数据写入至所述闪存。
7.如权利要求6所述的控制器,其特征在于,所述第一区块为出厂时经过测试后判断有质量问题的区块,而所述第二区块为出厂时经过测试后判断没有质量问题的区块。
8.如权利要求6所述的控制器,其特征在于,所述微处理器根据欲写入所述闪存中一特定字符线所对应的一第一数据页与一第二数据页中的所述数据以产生一虚拟数据,其中所述虚拟数据是准备写入至所述特定字符线所对应的一第三数据页,其中所述第一数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中其一,所述第二数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的另一,所述第三数据页为最低有效位数据页、中间有效位数据页及最高有效位数据页中的再另一;以及所述微处理器将所述数据及所述虚拟数据写入至所述闪存。
9.如权利要求8所述的控制器,其特征在于,针对所述特定字符在线的任一个储存单元,所述微处理器根据对应于所述第一数据页与所述第二数据页的一位值组合来决定出对应于所述第三数据页的位值。
10.如权利要求9所述的控制器,其特征在于,所述四个特定电压位准所对应于所述第一数据页与所述第二数据页的四个位值组合分别为(1,1)、(1,0)、(0,1)、(0,0)。
CN201810002843.3A 2014-02-18 2014-04-28 存取闪存的方法及相关的控制器 Active CN108241473B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
TW103105359 2014-02-18
TW103105359A TWI545571B (zh) 2014-02-18 2014-02-18 存取快閃記憶體的方法及相關的控制器與記憶裝置
CN201410174841.4A CN104850514B (zh) 2014-02-18 2014-04-28 存取闪存的方法及相关的控制器与记忆装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201410174841.4A Division CN104850514B (zh) 2014-02-18 2014-04-28 存取闪存的方法及相关的控制器与记忆装置

Publications (2)

Publication Number Publication Date
CN108241473A true CN108241473A (zh) 2018-07-03
CN108241473B CN108241473B (zh) 2021-01-26

Family

ID=53798174

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810002843.3A Active CN108241473B (zh) 2014-02-18 2014-04-28 存取闪存的方法及相关的控制器
CN201410174841.4A Active CN104850514B (zh) 2014-02-18 2014-04-28 存取闪存的方法及相关的控制器与记忆装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201410174841.4A Active CN104850514B (zh) 2014-02-18 2014-04-28 存取闪存的方法及相关的控制器与记忆装置

Country Status (4)

Country Link
US (1) US9489143B2 (zh)
KR (1) KR20150097433A (zh)
CN (2) CN108241473B (zh)
TW (1) TWI545571B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042575B2 (en) * 2015-03-06 2018-08-07 Toshiba Memory Corporation Memory system including a battery powered buffer with a storage capacity of that buffer dependent on the voltage level of the battery
TWI566253B (zh) * 2015-09-02 2017-01-11 慧榮科技股份有限公司 用來管理一記憶裝置之方法以及記憶裝置與控制器
TWI571742B (zh) * 2015-10-07 2017-02-21 慧榮科技股份有限公司 資料儲存裝置及資料維護方法
CN105677244B (zh) * 2015-12-31 2019-04-09 记忆科技(深圳)有限公司 一种降低tlc闪存的固态硬盘写放大的方法
KR102465321B1 (ko) * 2016-03-02 2022-11-11 에스케이하이닉스 주식회사 데이터 저장 장치
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
CN107977282B (zh) * 2017-12-20 2021-01-26 北京兆易创新科技股份有限公司 一种SPI-Nand读取数据页的方法及装置
US11704234B2 (en) * 2020-04-28 2023-07-18 Silicon Motion, Inc. Method for accessing flash memory module and associated package

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1815454A (zh) * 2005-02-03 2006-08-09 联发科技股份有限公司 控制闪存存取时间的方法、闪存的存取系统及闪存控制器
US20080192539A1 (en) * 2007-02-09 2008-08-14 Choi Jin-Hyeok Memory System Including MLC Flash Memory
US20090080247A1 (en) * 2007-09-25 2009-03-26 Sandisk Il Ltd Using mlc flash as slc by writing dummy data
CN101968971A (zh) * 2009-07-27 2011-02-09 慧帝科技(深圳)有限公司 一种闪存的存取方法、一种可携式记忆装置及其控制器
CN102033811A (zh) * 2009-09-24 2011-04-27 慧荣科技股份有限公司 用于管理闪存多个区块的方法和相关记忆装置及其控制器
CN102332290A (zh) * 2010-05-24 2012-01-25 慧荣科技股份有限公司 用来管理和存取闪存模块的控制器
US20130024608A1 (en) * 2011-07-18 2013-01-24 Samsung Electronics Co., Ltd. Flash memory apparatus

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
KR101005120B1 (ko) 2009-02-04 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US8228728B1 (en) 2009-09-14 2012-07-24 Marvell International Ltd. Programming method for multi-level cell flash for minimizing inter-cell interference
TWI462104B (zh) * 2010-08-04 2014-11-21 Silicon Motion Inc 資料寫入方法及資料儲存裝置
KR101145463B1 (ko) 2010-12-30 2012-05-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
TWI430092B (zh) * 2011-10-27 2014-03-11 Silicon Motion Inc 三階儲存單元的快閃記憶體裝置及其控制方法
KR101891164B1 (ko) 2012-04-17 2018-08-23 삼성전자주식회사 프로그램 스케줄러를 포함하는 플래시 메모리 장치
JP5929485B2 (ja) * 2012-05-08 2016-06-08 ソニー株式会社 制御装置、記憶装置、データ書込方法
US9384125B2 (en) 2012-06-18 2016-07-05 Silicon Motion Inc. Method for accessing flash memory having pages used for data backup and associated memory device
TWI479489B (zh) * 2012-08-13 2015-04-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN103116550A (zh) * 2013-01-11 2013-05-22 深圳市硅格半导体有限公司 切换闪存中物理块工作模式的方法和装置
US20150170747A1 (en) * 2013-12-17 2015-06-18 Skymedi Corporation Method and system for programming a multi-bit per cell non-volatile memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1815454A (zh) * 2005-02-03 2006-08-09 联发科技股份有限公司 控制闪存存取时间的方法、闪存的存取系统及闪存控制器
US20080192539A1 (en) * 2007-02-09 2008-08-14 Choi Jin-Hyeok Memory System Including MLC Flash Memory
US20090080247A1 (en) * 2007-09-25 2009-03-26 Sandisk Il Ltd Using mlc flash as slc by writing dummy data
CN101968971A (zh) * 2009-07-27 2011-02-09 慧帝科技(深圳)有限公司 一种闪存的存取方法、一种可携式记忆装置及其控制器
CN102033811A (zh) * 2009-09-24 2011-04-27 慧荣科技股份有限公司 用于管理闪存多个区块的方法和相关记忆装置及其控制器
CN102332290A (zh) * 2010-05-24 2012-01-25 慧荣科技股份有限公司 用来管理和存取闪存模块的控制器
US20130024608A1 (en) * 2011-07-18 2013-01-24 Samsung Electronics Co., Ltd. Flash memory apparatus

Also Published As

Publication number Publication date
CN104850514B (zh) 2018-01-30
KR20150097433A (ko) 2015-08-26
US9489143B2 (en) 2016-11-08
TWI545571B (zh) 2016-08-11
TW201533740A (zh) 2015-09-01
US20150234609A1 (en) 2015-08-20
CN104850514A (zh) 2015-08-19
CN108241473B (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
CN104850514B (zh) 存取闪存的方法及相关的控制器与记忆装置
US10643733B2 (en) Method, flashing memory controller, memory device for accessing 3D flash memory having multiple memory chips
CN104835526B (zh) 将数据写入至闪存的方法及相关的记忆装置与闪存
US10289487B2 (en) Method for accessing flash memory module and associated flash memory controller and memory device
TWI498898B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
JP4649503B2 (ja) 半導体装置
US10013210B2 (en) Data storage device and data maintenance method thereof
CN102216913B (zh) 响应于外部地址来替代有缺陷存储器块
TWI556248B (zh) 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置
CN107958687A (zh) 存储器编程方法、存储器控制电路单元及其存储装置
US11507289B2 (en) Storage device, controller and method for operating storage device
CN104167220B (zh) 数据读取方法、控制电路、存储器模块与存储器存储装置
TWI720852B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
CN117636980A (zh) 部分块读取电压偏移
TWI746927B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
CN110364196A (zh) 存储器系统及其操作方法
CN112445726A (zh) 存储器系统、存储器控制器及操作方法
TWI787627B (zh) 電子裝置、快閃記憶體控制器及其存取方法
TWI769100B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
CN114741024A (zh) 存储器系统及该存储器系统的操作方法
TW201707004A (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置

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