CN116665756A - 数据储存装置以及非挥发式存储器控制方法 - Google Patents

数据储存装置以及非挥发式存储器控制方法 Download PDF

Info

Publication number
CN116665756A
CN116665756A CN202210252777.1A CN202210252777A CN116665756A CN 116665756 A CN116665756 A CN 116665756A CN 202210252777 A CN202210252777 A CN 202210252777A CN 116665756 A CN116665756 A CN 116665756A
Authority
CN
China
Prior art keywords
variant
volatile memory
data
controller
block
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.)
Pending
Application number
CN202210252777.1A
Other languages
English (en)
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
Priority claimed from TW111105953A external-priority patent/TWI845896B/zh
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN116665756A publication Critical patent/CN116665756A/zh
Pending legal-status Critical Current

Links

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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种非挥发式存储器变异处理方案,具体地说,涉及数据储存装置以及非挥发式存储器控制方法。在本发明中,一控制器在判定取自一非挥发式存储器的一原始数据为一不理想值时,将该原始数据的一变异逻辑地址填入一变异表格。该控制器进行涉及该变异逻辑地址的一来源区块至一目的区块的垃圾回收时,查询该变异表格,寻得该变异表格记载有该变异逻辑地址,视该来源区块中映射该变异逻辑地址的数据无效,略去其垃圾回收。

Description

数据储存装置以及非挥发式存储器控制方法
技术领域
本发明有关于非挥发式存储器的侦错机制。
背景技术
非挥发式存储器有多种形式─例如,快闪存储器(flash memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式随机存取存储器(Resistive RAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,用于长时间数据保存,可做为储存媒体实现一数据储存装置。
非挥发式存储器通常有其特殊的储存特性。本技术领域需要相应非挥发式存储器的储存特性发展相应的控制技术。例如,非挥发式存储器映射资讯管理就需要顾及其储存特性。
发明内容
本发明提出非挥发式存储器变异处理方案。
根据本发明一种实施方式实现的一数据储存装置包括一非挥发式存储器、以及耦接该非挥发式存储器的一控制器。该控制器在判定取自该非挥发式存储器的一原始数据为一不理想值时,将该原始数据的一变异逻辑地址填入一变异表格。该控制器进行涉及该变异逻辑地址的一来源区块至一目的区块的垃圾回收时,查询该变异表格,寻得该变异表格记载有该变异逻辑地址,视该来源区块中映射该变异逻辑地址的数据无效,略去其垃圾回收。
一种实施方式中,该不理想值为全1位元组成、或为全0位元组成。
一种实施方式中,该控制器在判定取自该非挥发式存储器的该原始数据为该不理想值时,还将该原始数据的一变异实体地址所属的一抹除单位的一高危区块,保全搬移至一保全区块,其中,该原始数据修正不再为该不理想值后,方保全搬移。
一种实施方式中,该控制器还将该保全区块的一区块编号记载于该变异表格。该控制器藉查询该变异表格,寻得该保全区块的该区块编号,据以设定该保全区块为该来源区块,进行该来源区块至该目的区块的垃圾回收。
一种实施方式还提出非挥发式存储器控制方法。
下文特举实施例,并配合附所述的非挥发式存储器控制方法,其特征在于,还包括,详细说明本发明内容。
附图说明
图1为根据本发明一种实施方式所实现的一数据储存***100;
图2A根据本发明一种实施方式图解该先进先出缓存区Read_FIFO的内容;
图2B根据本发明一种实施方式图解该读取暂存区Read_Data的内容;
图2C根据本发明一种实施方式图解该变异处理结构118;
图3根据本发明一种实施方式图解读取侦错的流程图;
图4解变异表格Damage_TAB的一种实施方式;且
图5、6为流程,图解应用变异表格Damage_TAB的读取侦错。
【符号说明】
100:数据储存***
102:数据储存装置
104:快闪存储器
106:控制器
108:随机存取存储器
110:主机
112:转译器
114:加扰与解扰器
116:侦错器
118:变异处理结构
202:读取数据
204:原始数据
Addr:随机存取存储器108之地址
Addrn:暂存地址
CH1、CH2、CH3、CH4:通道
CH#、CE#、Blk#、Page#:通道编号、芯片致能信号编号、区块编号、以及页编号
CE1、CE2:芯片致能信号
Damage_TAB:变异表格
Data:数据储存区
FIFO、FIFOi、FIFOj:缓存区
item1、item2:条目
Page:页
PBAi、PBAj:候选实体地址
Read_Data:读取暂存区
Read_FIFO:先进先出缓存区
S302…S312、S502、S602:步骤
Spare:备用资讯区
reg1…reg4:寄存器
以具体实施方式
下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书来界定。
非挥发式存储器可以是快闪存储器(Flash Memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,提供长时间数据保存的储存媒体。以下特别以快闪存储器为例进行讨论,但所述技术也可使用在其他种类非挥发式存储器上。
现今数据储存装置常以快闪存储器为储存媒体,实现记忆卡(Memory Card)、通用串行总线闪存装置(USB Flash Device)、固态硬碟(SSD)…等产品。有一种应用是采多芯片封装、将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模块(如eMMC)。
以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置中。所述电子装置包括智慧型手机、穿戴装置、平板电脑、虚拟实境设备…等。电子装置的处理器可视为主机(Host),操作电子装置所配置的数据储存装置,以存取其中快闪存储器。
以快闪存储器为储存媒体的数据储存装置也可用于建构数据中心。例如,伺服器可操作固态硬碟(SSD)阵列形成数据中心。伺服器即可视为主机,操作所连结的固态硬碟,以存取其中快闪存储器。
快闪存储器有其特殊的储存特性。主机(Host)端是以逻辑地址(例如,逻辑区块地址LBA或全域主机页编号GHP…等)对快闪存储器发出读、写要求。逻辑地址需映射到实体地址,才能对应到快闪存储器实体空间。快闪存储器的控制需要动态管理映射资讯。
快闪存储器的物理空间是划分为多个区块(Blocks)配置使用。区块为抹除(erasure)单位;同区块的内容需统一抹除,使空间是逐区块释出。各区块包括多页(Pages),例如,页0…页255。各页包括多个区段(Sectors),例如32个区段。一种实施方式中,每一区段储存512B长度的使用者数据。一页可供应16KB的数据储存区(data area)给使用者,且还可附有2B长度的备用资讯区(spare area)。备用资讯区(spare area)储存映射资讯…等,作为元数据(meta data)。
为了提升数据吞吐量,本发明使用的是一种多通道存取技术,以多条通道对快闪存储器进行并行存取。一快闪存储器可由多个晶粒(dies)组成。这些晶粒可对应多条通道分为多组。同组晶粒则是轮替(interleaving)使用所共用的通道。例如,芯片致能信号(CE#,#为编号)可用于通道轮替控制。一种实施方式中,各通道有一页(page)被并行存取;如此跨通道并行存取的范围称为超级页(super page),所属区块联合称为超级区块(superblock)。多通道技术可根据超级页的编号─由低编号至高编号─循序使用一超级区块的储存空间。
特别是,快闪存储器并不适合全0位元、或全1位元的储存,容易损毁。一般设计上,快闪存储器是搭配一加扰器(scrambler,或randomizer),将全0、或全1数据扰乱为0、1交错的数据,再填入快闪存储器。各页的加扰种子(seed)可存在该页的备用资讯区,作为元数据之一。然而,即使有加扰设计,也不能百分之百保证快闪存储器内容不会全1、或全0。快闪存储器可能某些页会发生物理性质变异,莫名形成全1、或全0储存。为了应付如此变异,本发明提出解决方案。
图1为根据本发明一种实施方式所实现的一数据储存***100。一数据储存装置102包括一快闪存储器104、该一控制器106以及一随机存取存储器108。耦接该数据储存装置102的一主机110通过该控制器106存取该控制器106所耦接的该快闪存储器104。控制器106利用所耦接的该随机存取存储器108储存运算时的暂存资讯。该随机存取存储器108可为一动态随机存取存储器(DRAM)、或一静态随机存取存储器(SRAM)。另一种实施方式中,控制器106可内建有一记忆空间(如,TSB)实现运算时的资讯暂存:此类架构也是本发明欲保护范围。
该控制器106是以多通道CH1…CH4实现该快闪存储器104的并行存取。各通道还相应两个芯片致能信号CE1以及CE2,被不同晶粒(同样编号为CE1以及CE2)轮替使用。一晶粒可由多个区块组成。各区块还划分为多页(参考编号Page)。各页包括数据储存区Data、以及备用资讯区Spare。
控制器106为特殊设计的处理器,提供多种功能模块(由运算硬件、以及相应的固件程序实现),包括:转译器112、加扰与解扰器114、侦错器116…等。主机110发下的读取/写入指令是以逻辑地址LBA指定快闪存储器104的读、写。以下讨论控制器106如何应付主机110对快闪存储器104的读、写要求。
此段落讨论写入操作。转译器112配置快闪存储器104一实体地址PBA,使映射一写入数据的逻辑地址LBA。侦错器116对写入数据进行侦错编码(如,ECC编码)。侦错编码也可以是元数据之一。加扰与解扰器114提供加扰程序,写入数据、映射资讯、侦错编码、以及加扰种子…等经加扰后,依照映射的实体地址PBA填入该快闪存储器104。各页Page的数据储存区Data、以及备用资讯区Spare都是加扰后的内容,已被打乱不为全1、或全0位元这样的不理想值。
以下讨论读取操作。转译器112将主机110指定读取的逻辑地址LBA转译为快闪存储器104的实体地址PBA,其中涉及映射表的载出(快闪存储器104至随机存取存储器108)、以及查询。控制器106在随机存取存储器108上规划有一先进先出缓存区Read_FIFO,缓存一笔笔主机110规划读取的实体地址PBA(转译结果)。先进先出缓存区Read_FIFO所条列的各实体地址PBA可包括:通道编号CH#、芯片致能信号编号CE#、区块编号Blk#、以及页编号Page#。根据先进先出缓存区Read_FIFO所条列的实体地址PBA,控制器106自快闪存储器104读出原始数据,暂存于随机存取存储器108的读取暂存区Read_Data。原始数据经加扰与解扰器114解扰,形成的读取数据也可暂存读取暂存区Read_Data,由侦错器116侦错。侦错器116所进行的侦错除了对解扰后的读取数据的校错(如,ECC校错),还在校错失败(如,ECCfailed)后,对解扰前的原始数据进行不理想值检查,找出全为”1”、或全为”0”的快闪存储器104变异。
然而,变异察觉当下,侦错器116可能只知道变异的通道编号CH#,而不知实体地址PBA其它细节。本发明特别对这些通道CH1…CH4各自安排一寄存器(register)reg1…reg4。侦错器116藉寄存器reg1…reg4,以旗标方式显示相应通道是否读到全为”1”、或全为”0”不理想值。随着旗标的举起,控制器106启动解决方案,检查先进先出缓存区Read_FIFO,找出变异的候选实体地址,一一检查,以确定变异所在的实体地址。不同于单纯校错失败所启动的区块搬移,本发明以特殊方式应付为快闪存储器全为”1”、或全为”0”变异。
响应错误而启动的区块搬移程序称为保全搬移。一般保全搬移是将出错页所属的高危区块的内容,复制到快闪存储器104的闲置区块,保全其他尚未出错的页。一种实施方式是只搬移高危区块的有效数据。高危区块可能标示为损坏,不再使用。然而,这样的复制过程包括全”1”、或全”0”页的复制。复制后仍会被侦错到,再次启动保全搬移。全”1”、或全”0”的不理想值会复制扩及整个快闪存储器104。损坏标示蔓延整个快闪存储器104,导致锁卡。
本发明一种实施方式是修正变异页(全”1”、或全”0”页),使不为全”1”、或全”0”如此不理想值后,才做区块搬移。如此一来,全为”1”或全为”0”数据不会再复制到其他区块。一种实施方式是将变异页储存的是一特定值(例如,0x55或0xAA)加扰后的结果。日后主机再次读取此变异页,该特定值可用来判定曾经发生过的变异状况,回应主机110无可靠数据。
一种实施方式还额外管理一变异表格Damage_TAB,条列所有变异逻辑地址LBA_damaged─供日后读取辨识,代表快闪存储器104中无可靠数据存可回应主机110对该些变异逻辑地址LBA_damaged的读取要求。
一种实施方式中,变异页所属的高危区块经保全搬移后,是搬移到一保全区块,其区块编号也会记载于该变异表格Damage_TAB。控制器106闲置时即可根据该变异表格Damage_TAB纪录的区块编号Blk#,进行垃圾收集(Garbage Collection)。控制器106是将该保全区块当作垃圾回收的一来源区块,将其中有效内容收集到一目的区块。特别是,垃圾回收中,该变异表格Damage_TAB所载变异逻辑地址LBA_damaged对应的该页(可能已被修正为特定值)被视为无效页,不收集到目标区块(略去其垃圾回收)。不可靠数据不再作无异议复制,提升快闪存储器104的空间利用率。
另一种实施方式除了在该变异表格Damage_TAB纪录变异逻辑地址,还在高危区块的保全搬移阶段就将变异页视为无效页,略去其保全搬移。不可靠数据直接以变异表格Damage_TAB标示,不再作无异议复制,快闪存储器104的空间利用率有感提升。
此段落还详细解说变异页的判断细节。控制器106可在主机110无其他指示时(或固定时间间隔)检查寄存器reg1…reg4状态。若有旗标举起,控制器106根据举起旗标所代表的通道编号CH#,查询该先进先出缓存区Read_FIFO,将其中符合通道编号CH#的所有实体地址PBA填入随机存取存储器108上的一变异处理结构118,作为候选实体地址。根据该变异处理结构118所条列的候选实体地址,控制器116读取该快闪存储器104,判断究竟哪个候选实体地址发生变异。一种实施方式是读取候选实体地址指示页的备用资讯区Spare,但略过数据储存区Data的读取。若备用资讯区Spare是全为”1”、或全为”0”内容,即可判断该页确实产生变异。相较于完整读取庞大的数据储存区Data内容(如,16KB),单纯读取备用资讯区Spare(如,2B)实现变异侦测,效能更高。
图2A根据本发明一种实施方式图解该先进先出缓存区Read_FIFO的内容;各缓存区FIFO缓存一组实体地址PBA(包括通道编号CH#、芯片致能信号编号CE#、区块编号Blk#、以及页编号Page#)。图2B根据本发明一种实施方式图解该读取暂存区Read_Data的内容。随机存取存储器108各地址Addr储存的包括解扰前数据、以及解扰后数据,甚至可包括取得原始数据的通道编号CH#。图2C根据本发明一种实施方式图解该变异处理结构118;各条目item1、item2…对应一个变异事件。例如,若有多通道都侦测到全为”1”、或全为”0”变异,则需要相应填写多条目。
参阅图2B,侦错器116对随机存取存储器108上一暂存地址Addrn所暂存的读取数据202校错失败后,即检查解扰前的原始数据204,依照其全1(或全0)内容,判定通道CH1某页发生变异为不理想值,设置图1寄存器reg1,使对应通道CH1的旗标举起。一种实施方式中,暂存地址Addrn会载入该变异处理结构118的一条目item1(参考图2C)。控制器106相应寄存器reg1举起的旗标,自该先进先出缓存区Read_FIFO读出通道CH1所有读取数据的实体地址PBA;如,图2A缓存区FIFOi内容组成的实体地址PBAi、以及缓存区FIFOj内容组成的实体地址PBAj。控制器106将实体地址PBAi、以及实体地址PBAj载入图2C该变异处理结构118的条目item1中,作为候选逻辑地址,指示可能的变异页。根据该条目item1所载候选逻辑地址PBAi、以及PBAj,控制器106读取该快闪存储器104。特别是,控制器106是读取候选逻辑地址PBAi的备用资讯区Spare、以及候选逻辑地址PBAj的备用资讯区Spare,而非完整两页。假设是候选逻辑地址PBAi的备用资讯区Spare发生全”1”的变异,则根据该变异处理结构118中,条目item1所储存的暂存地址Addrn,控制器106自该读取暂存区Read_Data(图2B)找到解扰后的读取数据202,将之修改为一特定值(如,0x55或0xAA,或其它),再以之实现保全搬移。特定值加扰后(经114)必然不是全1或全0的不理想值。如此一来,保全搬移的不再包括全”1”内容。变异的全1内容不会扩及整个快闪存储器104。特别是,控制器106后续只要读出该特定值,就可以判定该页有过变异,读取数据不可信。
图3根据本发明一种实施方式图解读取侦错的流程图。步骤S302相应一读取指令将数据自快闪存储器104读出。步骤S304对读取数据进行校错(如,ECC)。校错若通过,流程进入步骤S306,判定读取成功。校错若没通过(例如,经过修正参数后的反复重读也没能通过ECC校错),流程进入步骤S308,检查全”1”、或全”0”变异。若无变异发生,流程进入步骤S310,对校错失败页所在的高危区块,进行保全搬移。反之,若侦测到变异,流程进入步骤S312,将校错失败页修正为特定值(使加扰后不会全”1”、或全”0”),方对高危区块进行保全搬移。日后指定读取变异逻辑地址时,快闪存储器104提供的会是此特定值的内容,控制器106即可判定此变异逻辑地址的数据发生过变异,通知主机110此读取数据不可采用。
以下段落则细节讨论使用变异表格Damage_TAB的技术内容。
图4图解变异表格Damage_TAB的一种实施方式,其中可记载变异逻辑地址LBA_damaged。甚至,变异表格Damage_TAB还记载保全搬移后(高危区块搬移到保全区块),保全区块上对应该变异逻辑地址LBA_damaged的实体地址PBA_invalid。
图5为流程图,图解此类实施方式的读取侦错。相较于图3,此类实施方式在判定读取暂存区Read_Data暂存的读取数据不通过校错(步骤S304)、且发生变异(步骤S308)时,流程是进行步骤S502,在随机存取存储器108上编写该变异表格Damage_TAB,条列变异逻辑地址LBA_damaged,并进行特殊保全搬移。此步骤还可如前述,将变异页修正为特定值,于高危区块的保全搬移中复制到其他区块。一种实施方式中,步骤S502还会将保全搬移后,保全区块上对应该变异逻辑地址LBA_damaged的实体地址PBA_invalid填入变异表格Damage_TAB(如图4)。控制器106可于闲置时,根据变异表格Damage_TAB所载的实体地址PBA_invalid,得知保全区块的区块编号,对其进行垃圾回收。此垃圾回收会将已改为特定值的变异页视为无效,不进行搬移。如此一来,无意义的数据不会被收入垃圾危收的目的区块。快闪存储器104空间利用率更佳。
另一种实施方式中,变异表格Damage_TAB无须记载前述实体地址PBA_invalid。此类实施例是在保全搬移时,就直接将变异页视为无效,不进行搬移。为图6为流程图,图解此类实施方式的读取侦错。相较于图3,此类实施方式在判定读取暂存区Read_Data暂存的读取数据不通过校错(步骤S304)、且发生变异(步骤S308)时,流程是进行步骤S602,在随机存取存储器108上编写该变异表格Damage_TAB,条列变异逻辑地址LBA_damaged,并进行特殊保全搬移。此步骤不用如前述,将变异页修正为特定值再保全搬移到其他区块。步骤S602为高危区块作的保全搬移会忽略该变异页,将之视为无效页,不搬移之。如此一来,无意义的数据不被复制到其他区块,快闪存储器104利用率更佳。
还有其他实施方式,其中涉及变异页的垃圾回收是其他引发条件。该控制器106进行涉及该变异逻辑地址的一来源区块至一目的区块的垃圾回收时,即查询该变异表格Damage_TAB,寻得该变异表格Damage_TAB记载有该变异逻辑地址,即视该来源区块中映射该变异逻辑地址的数据无效,略去其垃圾回收。
控制器106可定期将变异表格Damage_TAB非挥发式存入快闪存储器104。主机110发出读取要求时,控制器106可自快闪存储器104将该变异表格Damage_TAB载入该随机存取存储器108,检查主机110指定读取的逻辑地址LBA是否属变异逻辑地址,条列于变异表格Damage_TAB。若是,控制器106回应主机110该逻辑地址LBA的数据发生过变异,不可靠,没有可回传的内容。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当以权利要求书界定为准。

Claims (20)

1.一种数据储存装置,包括:
一非挥发式存储器;以及
一控制器,耦接该非挥发式存储器,
其中:
该控制器在判定取自该非挥发式存储器的一原始数据为一不理想值时,将该原始数据的一变异逻辑地址填入一变异表格;且
该控制器进行涉及该变异逻辑地址的一来源区块至一目的区块的垃圾回收时,查询该变异表格,寻得该变异表格记载有该变异逻辑地址,视该来源区块中映射该变异逻辑地址的数据无效,略去其垃圾回收。
2.如权利要求1所述的数据储存装置,其特征在于:
该不理想值为全1位元组成、或为全0位元组成。
3.如权利要求2所述的数据储存装置,其特征在于:
该控制器在判定取自该非挥发式存储器的该原始数据为该不理想值时,还将该原始数据的一变异实体地址所属的一抹除单位的一高危区块,保全搬移至一保全区块,其中,该原始数据修正不再为该不理想值后,方保全搬移。
4.如权利要求3所述的数据储存装置,其特征在于:
该控制器还将该保全区块的一区块编号记载于该变异表格;且
该控制器藉查询该变异表格,寻得该保全区块的该区块编号,据以设定该保全区块为该来源区块,进行该来源区块至该目的区块的垃圾回收。
5.如权利要求4所述的数据储存装置,其特征在于:
响应一主机对该非挥发式存储器的该变异逻辑地址的一读取要求,该控制器查询该变异表格,寻得该变异表格记载有该变异逻辑地址,据以回报该主机,该变异逻辑地址发生过变异。
6.如权利要求4所述的数据储存装置,其特征在于:
该控制器包括一加扰与解扰器,在数据写入该非挥发式存储器之前加扰之,并在数据读出该非挥发式存储器之后解扰之;
该控制器系以该加扰与解扰器解扰该原始数据,以获得一读取数据,并对该读取数据进行校错;且
该控制器是在该读取数据不通过校错时,检查解扰前的该原始数据是否为该不理想值。
7.如权利要求6所述的数据储存装置,其特征在于:
该控制器系以多条通道存取该非挥发式存储器;
该控制器提供多个寄存器,一对一对应这些通道作为旗标;且
判定该原始数据为该不理想值时,基于读出该原始数据的通道,该控制器找出这些寄存器中对应者进行填写,举起旗标,将读出该原始数据的通道标志为一标志通道。
8.如权利要求7所述的数据储存装置,其特征在于:
该控制器还在一随机存取存储器上规划一先进先出缓存区,条列被要求读取的多个实体地址,其中包括通道资讯;且
相应该标志通道,该控制器查找该先进先出缓存区,找出多个候选实体地址,据以查找该非挥发式存储器,判读出该原始数据的该变异实体地址。
9.如权利要求8所述的数据储存装置,其特征在于:
根据这些候选实体地址,该控制器查找该非挥发式存储器的备用资讯区,以全1位元、或全0位元的备用资讯的实体地址为该变异实体地址。
10.如权利要求9所述的数据储存装置,其特征在于:
根据这些候选实体地址查找该非挥发式存储器时,该控制器略过数据储存区的读取。
11.一种非挥发式存储器控制方法,包括:
在判定取自一非挥发式存储器的一原始数据为一不理想值时,将该原始数据的一变异逻辑地址填入一变异表格;且
进行涉及该变异逻辑地址的一来源区块至一目的区块的垃圾回收时,查询该变异表格,寻得该变异表格记载有该变异逻辑地址,视该来源区块中映射该变异逻辑地址的数据无效,略去其垃圾回收。
12.如权利要求11所述的非挥发式存储器控制方法,其特征在于:
该不理想值为全1位元组成、或为全0位元组成。
13.如权利要求12所述的非挥发式存储器控制方法,其特征在于,还包括:
在判定取自该非挥发式存储器的该原始数据为该不理想值时,还将该原始数据的一变异实体地址所属的一抹除单位的一高危区块,保全搬移至一保全区块,其中,该原始数据系修正不再为该不理想值后,方保全搬移。
14.如权利要求13所述的非挥发式存储器控制方法,其特征在于,还包括:
将该保全区块的一区块编号记载于该变异表格;且
藉查询该变异表格,寻得该保全区块的该区块编号,据以设定该保全区块为该来源区块,进行该来源区块至该目的区块的垃圾回收。
15.如权利要求14所述的非挥发式存储器控制方法,其特征在于,还包括:
响应一主机对该非挥发式存储器的该变异逻辑地址的一读取要求,查询该变异表格,寻得该变异表格记载有该变异逻辑地址,据以回报该主机,该变异逻辑地址发生过变异。
16.如权利要求14所述的非挥发式存储器控制方法,其特征在于,还包括:
以该加扰与解扰器解扰该原始数据,以获得一读取数据,并对该读取数据进行校错;且
在该读取数据不通过校错时,检查解扰前的该原始数据是否为该不理想值。
17.如权利要求16所述的非挥发式存储器控制方法,其特征在于,还包括:
以多条通道存取该非挥发式存储器;
提供多个寄存器,一对一对应这些通道作为旗标;且
判定该原始数据为该不理想值时,基于读出该原始数据的通道,找出这些寄存器中对应者进行填写,举起旗标,将读出该原始数据的通道标志为一标志通道。
18.如权利要求17所述的非挥发式存储器控制方法,其特征在于,还包括:
在一随机存取存储器上规划一先进先出缓存区,条列被要求读取的多个实体地址,其中包括通道资讯;且
相应该标志通道,查找该先进先出缓存区,找出多个候选实体地址,据以查找该非挥发式存储器,判读出该原始数据的该变异实体地址。
19.如权利要求18所述的非挥发式存储器控制方法,其特征在于,还包括:
根据这些候选实体地址,查找该非挥发式存储器的备用资讯区,以全1位元、或全0位元的备用资讯的实体地址为该变异实体地址。
20.如权利要求19所述的非挥发式存储器控制方法,其特征在于,还包括:
根据这些候选实体地址查找该非挥发式存储器时,该控制器略过数据储存区的读取。
CN202210252777.1A 2022-02-18 2022-03-14 数据储存装置以及非挥发式存储器控制方法 Pending CN116665756A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW111105953A TWI845896B (zh) 2022-02-18 資料儲存裝置以及非揮發式記憶體控制方法
TW111105953 2022-02-18

Publications (1)

Publication Number Publication Date
CN116665756A true CN116665756A (zh) 2023-08-29

Family

ID=87574168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210252777.1A Pending CN116665756A (zh) 2022-02-18 2022-03-14 数据储存装置以及非挥发式存储器控制方法

Country Status (2)

Country Link
US (1) US11775386B2 (zh)
CN (1) CN116665756A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI802279B (zh) * 2022-02-18 2023-05-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996103A (en) 1996-07-31 1999-11-30 Samsung Information Systems America Apparatus and method for correcting errors in a communication system
US7690031B2 (en) 2000-01-06 2010-03-30 Super Talent Electronics, Inc. Managing bad blocks in flash memory for electronic data flash card
AU2004320526B2 (en) 2004-05-27 2008-08-07 Memjet Technology Limited Method for at least partially compensating for errors in ink dot placement due to erroneous rotational displacement
TWM288401U (en) * 2005-07-15 2006-03-01 Genesys Logic Inc Highly efficient data characteristics recognition device for flash memory
CN101118783A (zh) 2006-09-07 2008-02-06 晶天电子(深圳)有限公司 带有闪存坏块控制***的电子数据闪存卡
TWI375962B (en) 2008-06-09 2012-11-01 Phison Electronics Corp Data writing method for flash memory and storage system and controller using the same
TWI443512B (zh) 2011-07-13 2014-07-01 Phison Electronics Corp 區塊管理方法、記憶體控制器與記憶體儲存裝置
US8527544B1 (en) * 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
JP5959958B2 (ja) * 2012-06-27 2016-08-02 株式会社バッファローメモリ 記憶装置及び記憶装置におけるデータ消去方法
TWI501249B (zh) 2012-11-14 2015-09-21 Winbond Electronics Corp 晶片上之反及閘快閃記憶體及其損壞區塊管理方法
CN103811074B (zh) 2012-11-15 2017-05-03 光宝电子(广州)有限公司 闪存的储存状态决定方法及其相关***
US9501501B2 (en) 2013-03-15 2016-11-22 Amazon Technologies, Inc. Log record management
US9519575B2 (en) * 2013-04-25 2016-12-13 Sandisk Technologies Llc Conditional iteration for a non-volatile device
KR20180082927A (ko) 2017-01-11 2018-07-19 에스케이하이닉스 주식회사 메모리장치의 에러정정장치 및 에러정정방법과, 에러정정장치를 포함하는 메모리 컨트롤러
CN108958961B (zh) 2017-05-22 2021-11-30 上海宝存信息科技有限公司 数据储存装置以及数据错误管理方法
US10387280B2 (en) 2017-06-09 2019-08-20 International Business Machines Corporation Reporting defects in a flash memory back-up system
US10379758B2 (en) * 2017-06-26 2019-08-13 Western Digital Technologies, Inc. Managing system data for a data storage system
KR20190040614A (ko) * 2017-10-11 2019-04-19 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
JP7074453B2 (ja) 2017-10-30 2022-05-24 キオクシア株式会社 メモリシステムおよび制御方法
JP7074454B2 (ja) 2017-10-30 2022-05-24 キオクシア株式会社 計算機システムおよび制御方法
TWI703438B (zh) 2018-09-11 2020-09-01 慧榮科技股份有限公司 映射表更新方法
CN110908925B (zh) * 2018-09-17 2022-01-25 慧荣科技股份有限公司 高效能垃圾收集方法以及数据存储装置及其控制器
US11175850B2 (en) 2019-01-03 2021-11-16 Toshiba Memory Corporation Selective erasure of data in a SSD
US10802965B2 (en) 2019-02-05 2020-10-13 Microsoft Technology Licensing, Llc Reducing synchronization reliance in garbage collection marking
CN112130749B (zh) 2019-06-25 2023-12-22 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
TWI718709B (zh) 2019-06-25 2021-02-11 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體控制方法
US11500782B2 (en) * 2020-12-18 2022-11-15 Micron Technology, Inc. Recovery of logical-to-physical table information for a memory device
US11507296B2 (en) * 2021-03-10 2022-11-22 Micron Technology, Inc. Repair operation techniques
KR20220140367A (ko) * 2021-04-09 2022-10-18 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법

Also Published As

Publication number Publication date
US20230267038A1 (en) 2023-08-24
US11775386B2 (en) 2023-10-03
TW202334821A (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
Birrell et al. A design for high-performance flash disks
US8788876B2 (en) Stripe-based memory operation
US8683173B2 (en) Logical address offset in response to detecting a memory formatting operation
US9904490B2 (en) Solid-state mass storage device and method for persisting volatile data to non-volatile media
JP5130646B2 (ja) 記憶装置
KR101852668B1 (ko) 어드레스 매핑
CN102576332B (zh) 用于电力中断管理的方法和包含电力中断管理的存储器***
US10997039B2 (en) Data storage device and operating method thereof
US11249897B2 (en) Data storage device and operating method thereof
US9436594B2 (en) Write operation with immediate local destruction of old content in non-volatile memory
CN106448737A (zh) 读取闪存数据的方法、装置以及固态驱动器
US10922234B2 (en) Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US20050193164A1 (en) Interface for a block addressable mass storage system
US11074192B2 (en) Logical to physical table fragments
US20130326114A1 (en) Write mitigation through fast reject processing
US11061598B2 (en) Optimized handling of multiple copies in storage management
US11681638B2 (en) Method of synchronizing time between host device and storage device and system performing the same
CN116665756A (zh) 数据储存装置以及非挥发式存储器控制方法
US11243888B2 (en) Data storage apparatus and operating method thereof
TWI845896B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
CN116665753A (zh) 数据储存装置以及非挥发式存储器控制方法
CN116665755A (zh) 数据储存装置以及非挥发式存储器控制方法
US20240103723A1 (en) Unaligned deallocated logical blocks datapath support
US12019899B2 (en) Data relocation with protection for open relocation destination blocks
US20230280919A1 (en) Write Updates Sorting During BKOPS Idle

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