CN105786411A - 非易失性存储器装置的操作方法 - Google Patents

非易失性存储器装置的操作方法 Download PDF

Info

Publication number
CN105786411A
CN105786411A CN201610114822.1A CN201610114822A CN105786411A CN 105786411 A CN105786411 A CN 105786411A CN 201610114822 A CN201610114822 A CN 201610114822A CN 105786411 A CN105786411 A CN 105786411A
Authority
CN
China
Prior art keywords
data
solid block
volatile memory
block
page
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
CN201610114822.1A
Other languages
English (en)
Other versions
CN105786411B (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.)
Via Technologies Inc
Original Assignee
Via Technologies 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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of CN105786411A publication Critical patent/CN105786411A/zh
Application granted granted Critical
Publication of CN105786411B publication Critical patent/CN105786411B/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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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

Landscapes

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

Abstract

一种非易失性存储器装置的操作方法,其中非易失性存储器装置的非易失性存储器模块包括至少一实体块。此操作方法包括以下步骤。将数据写入所述至少一实体块中。判断条件是否成立,其中所述条件包括所述数据的多个逻辑地址为连续且所述数据位在同一个实体块的多个连续页面中。当所述条件成立时,将所述数据的起始逻辑地址、所述数据的起始实体地址与所述数据的数据长度分别记录在执行长度映射表(run‑length mapping table)中的逻辑地址栏位、实体地址栏位以及长度栏位。本发明可在将数据写入非易失性存储器模块的实体块时,通过执行长度映射表,来记录具有连续逻辑地址且位在同一个实体块的多个连续页面中的重整数据,以有效减少地址映射表的数据量。

Description

非易失性存储器装置的操作方法
本申请是申请日为2014年01月14日、申请号为201410016156.9、发明名称为“非易失性存储器装置及其操作方法”的申请的分案申请。
技术领域
本发明是有关于一种操作方法,且特别是有关于一种非易失性存储器装置的操作方法。
背景技术
一般使用与非快闪(NAND flash)存储器做为数据储存介质的硬盘,例如固态硬盘(solid state disk,SSD)、嵌入式快闪存储卡(EmbeddedMultiMediaCard,eMMC)或移动硬盘等,通常包括多个实体块(block),且每一个实体块会包括多个页面(page)。由于一个被写满的实体块在被抹除之前无法重复地再被写入数据,因此当一个主机要更新实体块中的数据时,则会先将新数据写入至另一个未被写满的实体块(暂存区块)。此另一个实体块会储存有效数据,而原先的实体块中储存的待更新的数据(原始数据)则会被无效化并留存于原本的实体块中。因此,当暂存区块的空间已不够用时,这与非快闪存储器便需要对原始数据与新数据进行重整。
重整是将一个或是多个实体块上的有效数据搬移或复制至一个备用的实体块,借以让一个被写满有效及无效数据的实体块可以被抹除并于之后用以储存其他数据。所述重整操作为本领域技术人员所熟知,故不再赘述。然而,当这些实体块被重整时,倘若有断电事件发生,则这备用的实体块中可能会有已被写入重整数据却尚未完成重整操作的页面,而这些页面可能因此断电事件而造成数据损毁或错误。因此若实体块被重整时有断电事件发生,则硬盘可能会损失部份的数据。
另一方面,一般来说,硬盘(如:固态硬盘、eMMC等)在使用时,需要使用信息表来记录逻辑地址至实体地址的映射关系。而在不断执行主机的众多数据存取指令或者重整指令的过程中,由于逻辑地址与实体地址的对应关系可被对应地改变,因此信息表的内容可被不断地更新。然而,随着固态硬盘所写入的数据增多,信息表所记录的内容也会随着增加。因此,传统固态硬盘需要使用非常大的储存空间来放置此信息表。
此外,上述的硬盘可能具有单层存储单元(Single Level Cell,SLC)NAND型快闪存储器、多层存储单元(Multi Level Cell,MLC)NAND型快闪存储器、三层存储单元(Triple Level Cell,TLC)NAND型快闪存储器或其他型快闪存储器。其中,三层存储单元快闪存储器具有较高的位错误率。
发明内容
本发明提供一种操作方法,其可有效减少地址映射表(address mappingtable)的数据量。
本发明提出一种非易失性存储器装置的操作方法,非易失性存储器装置的非易失性存储器模块包括至少一实体块。此操作方法包括:将数据写入所述至少一实体块中;判断条件是否成立,其中所述条件包括所述数据的多个逻辑地址为连续且所述数据位在同一个实体块的多个连续页面中;以及当所述条件成立时,将所述数据的起始逻辑地址、所述数据的起始实体地址与所述数据的数据长度分别记录在执行长度映射表(run-length mapping table)中的逻辑地址栏位、实体地址栏位以及长度栏位。
基于上述,在将数据写入非易失性存储器模块的实体块时,存储器控制器可通过执行长度映射表,来记录具有连续逻辑地址且位在同一个实体块的多个连续页面中的重整数据,以有效减少地址映射表的数据量。
附图说明
图1是依照本发明的一实施例所绘示的非易失性存储器装置的方块示意图。
图2是依照本发明的一实施例所绘示图1的存储器控制器的方块示意图。
图3是依照本发明一实施例所绘示的非易失性存储器装置的操作方法流程示意图。
图4与图5A至图5D为说明非易失性存储器装置进行重整的示意图。
图6是依照本发明一实施例所绘示的非易失性存储器装置的操作方法流程示意图。
图7A是依照本发明一实施例所绘示的第一重整数据的逻辑地址信息与实体地址信息的示意图。
图7B是依照本发明一实施例所绘示的执行长度映射表的示意图。
图7C是依照本发明一实施例所绘示的页映射表的示意图。
图8是依照本发明一实施例所绘示的操作方法流程示意图。
具体实施方式
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
图1是依照本发明的一实施例所绘示的非易失性存储器装置的方块示意图。请参照图1,非易失性存储器装置100例如是以快闪存储器(flash memory)作为储存介质的快闪存储器储存装置,例如固态硬盘(Solid State Disk,SSD)、嵌入式快闪存储卡(Embedded MultiMediaCard,eMMC)或移动硬盘等硬盘。在一些应用情境中,非易失性存储器装置100可做为储存放置各种快取数据(cache data)的快取空间(cache space)。在另一些应用情境中,非易失性存储器装置100可做为大容量储存设备(mass storage device)。此外,本实施例的非易失性存储器装置100可耦接于主机10,以供主机10存取数据,其中主机10可以是个人计算机、笔记型计算机、平板计算机、智能型手机或是其他计算平台/装置。非易失性存储器装置100可设置于主机10的内部,并与主机10电性连接。或者,非易失性存储器装置100也可以利用外接的方式与主机10电性连接,例如,通过通用序列总线(Universal Serial Bus,USB)等各式总线与主机10电性连接等等,本实施例不对其加以限制。
非易失性存储器装置100包括一个存储器控制器110以及一或多个非易失性存储器模块120,其中存储器控制器110耦接于非易失性存储器模块120。本实施例并不限制非易失性存储器模块120的数量。存储器控制器110可以用硬件型式或固件型式实作之。例如,存储器控制器110可能包括多个逻辑门。存储器控制器110可根据主机10所下达的指令在非易失性存储器模块120中进行数据的写入、读取、抹除、重整与/或其他运作。
非易失性存储器模块120具有至少一实体块以储存主机10所写入的数据。为了方便说明,在此以非易失性存储器模块120所包括的第一实体块122与第二实体块124为例,但本实施例并不限制实体块的数量。详细而言,第一实体块122具有至少一页面122p。第二实体块124具有至少一页面124p,其中属于同一个实体块的不同页面可被独立地写入,且属于同一个实体块的所有页面可以被同时地抹除。举例而言,每一实体块可由128个页面所组成,但不限于此。在其他实施例中,每一实体块也可由64个页面、256个页面或其他任意个页面所组成。在本实施例中,非易失性存储器模块120例如是单层存储单元(Single Level Cell,SLC)NAND型快闪存储器、多层存储单元(Multi Level Cell,MLC)NAND型快闪存储器、三层存储单元(Triple LevelCell,TLC)NAND型快闪存储器或其他类型快闪存储器。其中,SLC NAND型快闪存储器的每个存储单元可储存1个位的数据,MLC NAND型快闪存储器的每个存储单元可储存2个位的数据,而TLC NAND型快闪存储器的每个存储单元可储存3个位的数据。
图2是依照本发明的一实施例所绘示图1的存储器控制器110的方块示意图。请同时参照图1与图2,存储器控制器110包括微处理单元202、主机接口204、存储器接口206、缓冲存储器208以及错误检查与校正单元210。
微处理单元202用以控制存储器控制器110的整体运作。例如,微处理单元202可以控制存储器控制器110以执行本实施例的操作方法(容后详述),来对非易失性存储器装置100中的非易失性存储器模块120进行重整,或者将数据写入非易失性存储器模块120中。此外,存储器控制器110会维护一个或多个逻辑转实体地址(logical to physical address)的信息表(或称为地址映射表),以记录数据在主机10的逻辑地址与在非易失性存储器模块120中实体地址的映射关系。借此,当主机10欲存取某一逻辑地址时,微处理单元202便可根据所述信息表取得对应的实体地址,并于非易失性存储器模块120中的所述实体地址上存取数据。
主机接口204是耦接于微处理单元202,并且用以接收主机10所传送的指令与数据。也就是说,主机10所传送的指令与数据会通过主机接口204来传送至微处理单元202。在本实施例中,主机接口204例如是相容于序列先进附件(Serial Advanced Technology Attachment,SATA)标准的接口电路。然而,必须了解的是本发明不限于此。例如在其他实施例中,主机接口204亦可以是相容于并列先进附件(Parellel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component InterconnectExpress,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(UltraHigh Speed-II,UHS-II)接口标准、安全数字(Secure Digital,SD)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的数据传输标准的接口电路。
存储器接口206耦接于微处理单元202并且用以存取非易失性存储器模块120。存储器接口206可以将数据信号转换为非易失性存储器模块120所能接受的格式。也就是说,微处理单元202可以将欲写入至非易失性存储器模块120的数据经由存储器接口206储存至非易失性存储器模块120中。
缓冲存储器208耦接于微处理单元202并且用以暂存来自于主机10的数据与指令,或是储存微处理单元202对非易失性存储器模块120的管理信息(例如上述的信息表),或是暂存来自于非易失性存储器模块120的数据等。在此,缓冲存储器208例如是动态随机存取存储器(dynamic random accessmemory,DRAM)、静态随机存取存储器(static random access memory,SRAM)或是其他易失性存储器(volatile memory)等。
错误检查与校正单元210耦接于微处理单元202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当微处理单元202从主机10中接收到写入指令时,错误检查与校正单元210会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECCCode),并且微处理单元202会将对应此写入指令的数据与对应的错误检查与校正码写入至非易失性存储器模块120中。之后,微处理单元202从非易失性存储器模块120中读取数据时会同时读取此数据对应的错误检查与校正码,而错误检查与校正单元210会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
底下即搭配上述非易失性存储器装置100来说明本实施例的操作方法各步骤。图3是依照本发明一实施例所绘示的存储器装置100的操作方法流程图。图4以及图5A至图5D为说明非易失性存储器装置100进行重整的示意图。请参照图1、图3与图4,于步骤S302,当存储器控制器110对非易失性存储器装置100进行重整时,存储器控制器110将已完成重整的第一重整数据写入第一实体块122的至少一个页面122p。例如在图4中,以标示为P1-0~P1-1的所述页面122p来存放已完成重整的重整数据D0,而以标示为P1-2~P1-x的所述页面122p来存放已完成重整的重整数据D1。重整数据D0与D1依序被写入所述至少一个页面122p,其中x为正整数。值得注意的是,对于多层存储单元(Multi Level Cell,MLC)及三层存储单元(Triple Level Cell,TLC)NAND型快闪存储器而言,其具有成对页面(Pair Page)与多页面于同一个存储单元的特性,即一个存储单元中具有对应的两个页面或三个页面的位数据。另外,对于同一实体块而言,这些成对页面可能是连续或是不连续,其端视不同的设计而定。例如在图4中,假设标示为P1-x及P1-(x-1)的所述页面122p对应同一个存储单元,则此为连续的成对页面,而假设标示为P1-x及P1-(x-2)的所述页面122p对应同一个存储单元,则此为不连续的成对页面。
此外,在本实施例中,若没有发生断电事件,则在将重整数据D1写入图4中标示为P1-2至P1-x的这些页面122p之后,存储器控制器110可从重整数据D1的最后一个页面122p所接续的页面,即自标示为P1-(x+1)的这个页面122p开始,继续储存下一笔重整数据。假设在将所述下一笔重整数据写入第一实体块122的过程中发生断电事件,使得所述下一笔重整数据未能完整写入第一实体块122。重新上电后,存储器控制器110可再一次将所述下一笔重整数据写入第一实体块122,以及进行后续数据重整操作。然而,在没有应用本实施例所述技术的情况下,重新上电后在将所述下一笔重整数据再一次写入第一实体块122的过程中,所述下一笔重整数据可能会发生错误/逸失。例如所述下一笔重整数据未完整地写入标示为P1-(x+1)的这个页面122p便发生断电事件,则重新上电后存储器控制器110可根据标示为P1-0至P1-x的这个页面122p中的对应信息而判断出重整数据D1已完整地写入到标示为P1-x的这个页面122p。在没有应用本实施例所述技术的情况下,重新上电后标示为P1-(x+1)的这个页面122p本身与它的成对页面(Pair Page)的数据会发生错误/逸失。
值得一提的是,存储器控制器110可提供一个信息表来记录对应于第一重整数据D0的至少一实体地址信息,其中实体地址信息分别指出第一实体块122中标示为P1-0~P1-1的所述页面122p的实体地址。因此,当主机10欲存取第一实体块122中的重整数据D0时,存储器控制器110可根据信息表而在第一实体块122中对重整数据D0进行存取。此外,当存储器控制器110将已完成重整的重整数据D0写入第一实体块122的其中一个页面122p时,存储器控制器110可利用一个指标,来记录目前已写入已完成重整的重整数据D0的后一个页面122p的实体地址。其中,指标例如是被储存在存储器控制器110的缓冲存储器208(绘示于图2)中,且可根据存储器控制器110所写入的实体块的页面进行更新,以记录相同或不同的实体块中页面的实体地址。
假设在未进行本发明的步骤S304~S308的情况下,当在断电事件后再一次供电给非易失性存储器装置100时,非易失性存储器装置100可能会发生重整数据D1错误/逸失的问题。所述在未进行步骤S304~S308的情况下发生重整数据D1错误/逸失的原因说明如下。
举例来说,如图4所示,倘若存储器控制器110将重整数据D1写入第一实体块122中标示为P1-x的页面122p时有一断电事件发生,使得存储器控制器110已执行的写入动作被中断,则除了正在写入的页面P1-x可能受损之外,也可能会连带影响同一存储单元中的其他成对页面(Pair Page,例如标示为P1-(x-1)或P1-(x-2)的所述页面122p),而导致一个或多个页面数据错误。换言之,若重整过程中发生断电事件,则对于MLC NAND型快闪存储器而言,可能会产生连续或不连续成对页面的数据错误。或者,对于TLC NAND型快闪存储器而言,则可能会产生连续或不连续的三个页面的数据错误。本发明实施例的步骤S304~S308可以有效防止在断电与重新上电的过程中重整数据发生错误/逸失,以下即搭配图5A至图5D来进行说明。
请参照图5A,存储器控制器110将数据D0写入第一实体块122中标示为P1-0或P1-1的页面122p,其中数据D0例如为已完成重整的重整数据。在将数据D0写入第一实体块122之后,存储器控制器110可继续储存下一笔重整数据至第一实体块122。在此将假设在将所述下一笔重整数据写入第一实体块122的过程中发生断电事件,使得所述下一笔重整数据未能完整写入第一实体块122。在于断电事件后再一次供电给非易失性存储器装置100时,如图5B所示,存储器控制器110可以进行步骤S304,以从多个自由实体块选择一个实体块(例如第二实体块124),并对第二实体块124进行抹除程序。在此,存储器控制器110例如是抹除第二实体块124中所储存的数据。例如,图5B所绘示的第二实体块124,表示于断电事件后再一次供电给非易失性存储器装置100时,第二实体块124中所储存的数据已被抹除。
于步骤S306,在上述抹除程序完成后,存储器控制器110会搜寻在断电事件之前所完整写入第一实体块122的有效数据。例如,在重新上电后,存储器控制器110可根据页面122p中的对应信息,而判断出这些重整数据D0在断电事件之前已完整地写入到第一实体块122。因此,存储器控制器110在步骤S306中将第一实体块122在断电事件之前所完整写入的重整数据D0复制到第二实体块124的至少一个页面124p上,其中所述至少一个页面124p对应于所述至少一个页面122p。例如于图5C,在第二实体块124中标示为P2-0~P2-1的所述页面124p来存放从第一实体块122复制而来的重整数据D0。
于步骤S308,存储器控制器110会继续对非易失性存储器装置100进行重整,并将再一次供电给非易失性存储器装置100之后所继续重整的第二重整数据写入第二实体块124,而不写入第一实体块122。例如在图5D中,在完成重整数据D0复制至第二实体块124之后,存储器控制器110可以继续对非易失性存储器装置100进行重整而获得第二重整数据D2,并将第二重整数据D2存放在第二实体块124中标示为P2-2~P2-y的所述页面124p上,其中y为正整数。在一实施例中,等到第二实体块124完成数据重整作业后,存储器控制器110还可选择性地对第一实体块122进行抹除程序,来释放第一实体块122的储存空间。
此外,存储器控制器110还可更新信息表的实体地址信息。其中,实体地址信息分别指出对应于第二实体块124中标示为P2-0~P2-y的页面124p的实体地址。如此一来,存储器控制器110便可根据信息表而存取非易失性存储器装置100中经重整的数据(包括断电事件前所重整的第一重整数据D0,以及断电事件后再一次供电给非易失性存储器装置100所重整的第二重整数据D2)。
在此说明的是,倘若存储器控制器110在将第二重整数据D2存入至第二实体块124的过程中,又有另一断电事件发生而使存储器控制器110正在进行的重整动作再一次中断时,则存储器控制器110会再一次执行与上述步骤S304~S306。亦即,在于断电事件后再一次供电给存储器装置100时,存储器控制器110会对另一个实体块进行初始化程序,以及在上述初始化程序完成后,存储器控制器110会再一次将第一实体块122在断电事件之前所写入的第一重整数据D0复制到所述另一个实体块对应的页面上。并且,存储器控制器110会继续对存储器装置100进行重整而获得第二重整数据D2,并将所述而获得第二重整数据D2写入所述另一个实体块。
基于上述,由于在于断电事件后再一次供电给非易失性存储器装置100时,存储器控制器110会将已完成重整的第一重整数据D0从原先的第一实体块122复制到已经过抹除程序的第二实体块124。并且,存储器控制器110可将电源恢复供应后所重整的第二重整数据D2(即接续第一重整数据D0后的重整数据)写入第二实体块124,而不写入第一实体块122。如此一来,当存储器控制器110对非易失性存储器装置100进行重整时,若有断电事件又再次恢复供电的情况,则由于断电事件之前的第一重整数据D0被安全的保留于第一实体块122,因此存储器控制器110可避免于第一实体块122因断电被破坏所造成的错误,借以提高重整数据的正确性。
值得一提的是,上述存储器控制器110在将已完成重整的重整数据写入实体块(例如实体块122、124或其他实体块)中的至少一页面时,还可通过执行长度映射表(run-length mapping table),来记录具有连续逻辑地址且位在同一个实体块的多个连续页面中的重整数据,以减少用来储存重整数据的逻辑地址信息以及实体地址信息的空间。为了方便说明,底下以存储器控制器110将已完成重整的重整数据写入非易失性存储器模块120的至少一实体块时的步骤为例,来说明将重整数据写入实体块中的操作方法。
图6是依照本发明一实施例所绘示的非易失性存储器装置的操作方法流程示意图。请同时参照图1与图6,于步骤S602,存储器控制器110将重整数据写入非易失性存储器模块120的至少一实体块,例如是第一实体块122或第二实体块124。于步骤S604,存储器控制器110会判断第一条件是否成立,其中第一条件包括所述重整数据的多个逻辑地址为连续且所述重整数据位在同一个实体块的多个连续页面中。举例来说,若存储器控制器110将具有多个连续逻辑地址的重整数据写入非易失性存储器模块120的第一实体块122的多个连续页面中,则第一条件成立。然而,若存储器控制器110将重整数据写入非易失性存储器模块120的第一实体块122的非连续页面,则第一条件不成立。
当第一条件成立时,则如步骤S606所示,存储器控制器110会将重整数据的起始逻辑地址、重整数据的起始实体地址与重整数据的数据长度分别记录在执行长度映射表中的逻辑地址栏位、实体地址栏位以及长度栏位,其中存储器控制器110可根据重整数据的起始实体地址与终止实体地址而得知重整数据的数据长度。
图7A是依照本发明一实施例所绘示被写入非易失性存储器模块120的重整数据的逻辑地址信息与实体地址信息的关系示意图。图7B是依照本发明一实施例所绘示的执行长度映射表的示意图。在图7B所示实施例中,执行长度映射表的逻辑地址栏位为逻辑页地址(logical page address)栏位,而执行长度映射表中的实体地址栏位包括实体块地址(physical block address)栏位以及实体页地址(physical page address)栏位。从图7A的逻辑地址信息可知重整数据的逻辑页地址为连续,例如逻辑地址为n1~n1+4。并且,根据图7A的实体地址信息可知重整数据是位在同一个实体块的多个连续页面中,例如实体块地址皆是为m1,而实体页地址为k1~k1+4。存储器控制器110可根据此重整数据的起始实体页地址k1与终止实体页地址k1+4而得知此重整数据的数据长度为5。
因此,存储器控制器110在步骤S604会判断图7A所例举的重整数据符合第一条件,所以存储器控制器110在步骤S606将此重整数据的地址映射关系记录在执行长度映射表中。例如图7B所示,存储器控制器110会将此重整数据的起始逻辑页地址(在此例为n1)、实体块地址(在此例为m1)、起始实体页地址(在此例为k1)与数据长度(在此例为5)分别记录在执行长度映射表中的逻辑页地址栏位、实体块地址栏位、实体页地址栏位以及长度栏位。
另一方面,当图6的步骤S604判断第一条件不成立时,则存储器控制器110会进行步骤S608。如步骤S608所示,存储器控制器110会将重整数据的所述多个逻辑地址与多个实体地址分别记录在页映射表(page mapping table)中的逻辑地址栏位与实体地址栏位。例如,图7C是依照本发明一实施例所绘示的页映射表的示意图。在图7C的页映射表中,重整数据位在不同实体块的非连续页面中,其中逻辑地址栏位的逻辑页地址栏位记录了重整数据的逻辑页地址为n1、n2、n3、n4与n5,实体地址栏位的实体块地址栏位记录了重整数据的实体块地址为m1、m2、m3、m4与m5,而实体地址栏位的实体页地址栏位记录了重整数据的实体页地址为k1、k2、k3、k4与k5。
另需说明的是,上述图6的操作方法,不限定应用于重整数据的写入操作。例如,当存储器控制器110从主机10接收一数据写入指令而对应地将一笔数据写入非易失性存储器模块120后,存储器控制器110也可根据上述图6所示第一条件来进行判断,以选择利用执行长度映射表或者页映射表来记录数据的逻辑地址与实体地址的映射关系信息。亦即,当存储器控制器110将一笔数据写入非易失性存储器模块120的至少一实体块后,若图6的步骤S604判断第一条件成立,则存储器控制器110会选择利用执行长度映射表来记录数据的逻辑地址与实体地址的映射关系信息。然而,若图6的步骤S604判断第一条件不成立时,则存储器控制器110会选择利用页映射表来记录数据的逻辑地址与实体地址的映射关系信息。
基于上述,本实施例的存储器控制器110在将数据写入非易失性存储器模块120的至少一实体块时,可通过执行长度映射表,来记录具有连续逻辑地址且位在同一个实体块的多个连续页面中的重整数据,以有效储存对应于重整数据的逻辑地址信息以及实体地址信息。借此,映射表的数据量可以大幅减少。
值得一提的是,本实施例的非易失性存储器模块120可具有操作于单层存储单元(Single Level Cell,SLC)模式的多个实体块以及操作于三层存储单元(Trinary Level Cell,TLC)模式的多个实体块。在将数据写入TLC模式实体块的操作过程中,所述数据会被暂存于SLC模式的实体块中,而不会直接写入TLC模式实体块。当在非易失性存储器模块120内操作于SLC实体块之中的三个实体块的所有页面均被使用时,也就是所述三个SLC实体块的暂存空间均被用尽时,所述三个SLC实体块会进行重整,以将所述三个SLC实体块的数据重整/搬移至非易失性存储器模块120内操作于TLC模式的实体块中。在此,假设第一实体块122与第二实体块124是操作于TLC模式,则当非易失性存储器模块120内操作于SLC模式的实体块之中的三个实体块的所有页面均被使用时,存储器控制器110还可对所述三个SLC实体块进行重整,以将所述三个SLC实体块的数据重整至非易失性存储器模块120内操作于TLC模式的第一实体块122或第二实体块124中。底下再举一实施例来进行说明。
图8是依照本发明一实施例所绘示的操作方法流程图。底下即搭配上述非易失性存储器装置100来说明本实施例的操作方法各步骤。请参照图1与图8,存储器控制器110在步骤S801中将数据写入操作于SLC模式的实体块其中之一。于步骤S802,存储器控制器110判断是否需要将SLC实体块的数据搬移至TLC实体块。当在非易失性存储器模块120内操作于SLC模式的多个实体块之中的三个实体块的所有页面均被使用时,也就是步骤S802的判断结果为“SLC实体块的数据需要搬移至TLC实体块”,存储器控制器110会接着进行步骤S803。在步骤S803中,存储器控制器110依据一第二条件而决定对所述三个SLC实体块进行“内部重整”或是“外部重整”,以将所述三个SLC实体块的数据重整至非易失性存储器模块120内操作于TLC模式的实体块中的一个择定实体块。反之,当所述三个SLC实体块尚有页面未被使用时,也就是步骤S802的判断结果为“SLC实体块的数据尚不需搬移至TLC实体块”,存储器控制器110会返回至步骤S801,以等待下一笔数据。
于图8所示实施例中,步骤S803包含子步骤S804、S806与S808。于步骤S804,存储器控制器110会判断所述第二条件是否成立。此第二条件包括:非易失性存储器模块120内操作于TLC模式的实体块中任一个的抹除(erasing)次数已达第一门槛值,或是非易失性存储器模块120内操作于TLC模式的实体块中任一个的位错误率已达第二门槛值。例如,非易失性存储器模块120可以记录操作于TLC模式的实体块的抹除次数。并且/或者,存储器控制器110可以记录这些TLC实体块各自的位错误率。例如,当存储器控制器110从TLC模式的实体块中读取数据时,可通过错误检查与校正电路210对从TLC实体块读出的数据进行错误检查与校正(请参照于图2的相关说明),借以获得所述操作于TLC模式的实体块的位错误率。
当步骤S804判断所述第二条件成立时,则非易失性存储器装置100进行所述外部重整,以将操作于SLC模式的所述三个实体块的数据重整至操作于TLC模式的所述择定实体块。所述外部重整如步骤S806所示。于步骤S806中,非易失性存储器模块120内的所述三个SLC实体块的数据会被读取至非易失性存储器模块120外部的存储器控制器110,并由所述存储器控制器110对所述三个SLC实体块的数据进行纠错(例如进行错误检查与校正),以及将纠错后的数据从所述存储器控制器110写入操作于TLC模式的所述择定实体块中(例如写入第一实体块122或第二实体块124中)。具体而言,存储器控制器110中的错误检查与校正电路210(绘示于图2)可对所述三个SLC实体块的数据进行纠错,并且经纠错的数据写入操作于TLC模式的第一实体块122或第二实体块124,以降低TLC实体块中数据的位错误率。在完成所述外部重整后,所述三个SLC实体块中的数据会被抹除以释放存储器空间。
另一方面,当步骤S804判断所述第二条件不成立时,则非易失性存储器装置100进行所述内部重整,以将操作于SLC模式的所述三个实体块的数据重整至操作于TLC模式的所述择定实体块。与所述外部重整的差别在于,所述内部重整在将所述三个SLC实体块的数据搬移至TLC实体块的过程中并不会进行纠错作业。所述内部重整如步骤S808所示。于步骤S808中,由非易失性存储器模块120内部的控制电路将所述三个SLC实体块的数据重整至操作于TLC模式的所述择定实体块中(例如写入第一实体块122或第二实体块124中)。具体来说,非易失性存储器模块120内部的此控制电路可执行以硬件型式或固件型式实作的多个逻辑门或控制指令,以控制所述三个SLC实体块中的数据重整所分别写入的操作于TLC模式的第一实体块122或第二实体块124。也就是说,控制电路可根据预先设定的指令,以自动将数据重整写入对应的操作于TLC模式的实体块。借此,当进行数据重整以将所述三个SLC实体块中的数据写入TLC模式的实体块时,所述内部重整可具有较高的数据写入速度。在完成所述内部重整后,所述三个SLC实体块中的数据会被抹除以释放存储器空间。
基于上述,非易失性存储器装置100在步骤S804中可根据第二条件的成立与否,判断是否通过非易失性存储器模块120外部的存储器控制器110来对非易失性存储器模块120进行数据重整作业,例如将所述三个SLC实体块中的数据搬移至TLC模式的实体块。在数据重整作业中,存储器控制器110在步骤S806中可以对写入于TLC实体块的数据进行纠错,以降低TLC实体块中数据的位错误率。或者,非易失性存储器装置100在步骤S808中通过非易失性存储器模块120内部的控制电路将数据直接从原本的实体块搬移至TLC实体块而不进行纠错,以获得较高的数据重整速度。借此,本实施例可同时兼顾数据写入的正确性以及数据写入速度。
综上所述,在本实施例的非易失性存储器装置与其操作方法中,当在于断电事件后再一次供电给非易失性存储器装置时,存储器控制器110会将已完成重整的第一重整数据从第一实体块复制到已经过抹除程序的第二实体块,并且将电源恢复供应后所重整的第二重整数据接续第一重整数据写入第二实体块。如此一来,若有断电事件又再次恢复供电的情况,则存储器控制器110可避免于同一实体页重复写入重整数据所造成的错误,借以提高重整数据的正确性。此外,在本实施例的操作方法中,存储器控制器110在将数据写入非易失性存储器模块120的至少一实体块时,可通过执行长度映射表,来记录具有连续逻辑地址且位在同一个实体块的多个连续页面中的数据,以减少映射表的数据量。在本实施例另一操作方法可判断是否通过非易失性存储器模块120外部的存储器控制器110来对写入非易失性存储器模块120内TLC实体块的数据进行纠错,或者通过非易失性存储器模块120内部的控制电路将数据直接从原本的实体块搬移至TLC实体块而不进行纠错。借此,本实施例可同时兼顾数据写入的正确性以及数据写入速度。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。
附图中符号的简单说明如下:
100:非易失性存储器装置
10:主机
110:存储器控制器
120:非易失性存储器模块
122、124:实体块
122p、124p:页面
202:微处理单元
204:主机接口
206:存储器接口
208:缓冲存储器
210:错误检查与校正单元
D0:第一重整数据
D1:重整数据
D2:第二重整数据
P1-0~P1-(x+1)、P2-0~P2-y:页面
n1、n1+1~n1+4、n1、n2、n3、n4、n5:逻辑页地址
m1、m2、m3、m4、m5:实体块地址
k1、k1+1~k1+4、k2、k3、k4、k5:实体页地址
S302~S308:非易失性存储器装置的操作方法各步骤
S602~S608、S801~S808:操作方法各步骤。

Claims (3)

1.一种非易失性存储器装置的操作方法,其特征在于,该非易失性存储器装置的一非易失性存储器模块包括至少一实体块,该操作方法包括:
将一数据写入所述至少一实体块中;
判断一条件是否成立,其中该条件包括该数据的多个逻辑地址为连续且该数据位在同一个实体块的多个连续页面中;以及
当该条件成立时,将该数据的起始逻辑地址、该数据的起始实体地址与该数据的数据长度分别记录在一执行长度映射表中的一逻辑地址栏位、一实体地址栏位以及一长度栏位。
2.根据权利要求1所述的非易失性存储器装置的操作方法,其特征在于,该执行长度映射表中的该逻辑地址栏位为一逻辑页地址栏位,该执行长度映射表中的该实体地址栏位包括一实体块地址栏位以及一实体页地址栏位。
3.根据权利要求1所述的非易失性存储器装置的操作方法,其特征在于,还包括:
当该条件不成立时,将该数据的所述多个逻辑地址与该数据的多个实体地址分别记录在一页映射表中的一逻辑地址栏位与一实体地址栏位。
CN201610114822.1A 2013-11-05 2014-01-14 非易失性存储器装置的操作方法 Active CN105786411B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
TW102140173A TWI520153B (zh) 2013-11-05 2013-11-05 非揮發性記憶體裝置及其操作方法
TW102140173 2013-11-05
CN201410016156.9A CN103699344B (zh) 2013-11-05 2014-01-14 非易失性存储器装置及其操作方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201410016156.9A Division CN103699344B (zh) 2013-11-05 2014-01-14 非易失性存储器装置及其操作方法

Publications (2)

Publication Number Publication Date
CN105786411A true CN105786411A (zh) 2016-07-20
CN105786411B CN105786411B (zh) 2019-04-09

Family

ID=50360885

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201410016156.9A Active CN103699344B (zh) 2013-11-05 2014-01-14 非易失性存储器装置及其操作方法
CN201610114822.1A Active CN105786411B (zh) 2013-11-05 2014-01-14 非易失性存储器装置的操作方法
CN201610115166.7A Active CN105786412B (zh) 2013-11-05 2014-01-14 非易失性存储器装置的操作方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201410016156.9A Active CN103699344B (zh) 2013-11-05 2014-01-14 非易失性存储器装置及其操作方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201610115166.7A Active CN105786412B (zh) 2013-11-05 2014-01-14 非易失性存储器装置的操作方法

Country Status (2)

Country Link
CN (3) CN103699344B (zh)
TW (1) TWI520153B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024187368A1 (en) * 2023-03-14 2024-09-19 Micron Technology , Inc. Consecutive logical page address space

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI569139B (zh) * 2015-08-07 2017-02-01 群聯電子股份有限公司 有效資料合併方法、記憶體控制器與記憶體儲存裝置
US10025531B2 (en) * 2015-09-10 2018-07-17 HoneycombData Inc. Reducing read command latency in storage devices
US10203888B2 (en) * 2015-12-18 2019-02-12 Intel Corporation Technologies for performing a data copy operation on a data storage device with a power-fail-safe data structure
US10223198B2 (en) * 2016-02-18 2019-03-05 Micron Technology, Inc. Error rate reduction
CN105892946A (zh) * 2016-03-30 2016-08-24 联想(北京)有限公司 一种数据存储方法及电子设备
TWI614605B (zh) * 2016-03-31 2018-02-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
KR20180041428A (ko) * 2016-10-14 2018-04-24 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그의 동작 방법
KR20180058894A (ko) * 2016-11-24 2018-06-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN108572920B (zh) 2017-03-09 2022-04-12 上海宝存信息科技有限公司 避免读取扰动的数据搬移方法以及使用该方法的装置
CN108572786B (zh) 2017-03-09 2021-06-29 上海宝存信息科技有限公司 避免读取扰动的数据搬移方法以及使用该方法的装置
TWI657339B (zh) * 2017-06-25 2019-04-21 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
CN109117383B (zh) 2017-06-25 2022-09-20 慧荣科技股份有限公司 管理闪存模块的方法和闪存控制器
CN114546293A (zh) 2017-09-22 2022-05-27 慧荣科技股份有限公司 快闪存储器的数据内部搬移方法以及使用该方法的装置
TWI726475B (zh) * 2017-09-22 2021-05-01 慧榮科技股份有限公司 快閃記憶體的資料內部搬移方法以及使用該方法的裝置
CN108052410B (zh) * 2017-12-20 2021-04-13 北京兆易创新科技股份有限公司 一种防止SPI-Nand读取数据页出错的方法及装置
CN110008059B (zh) * 2019-02-20 2021-05-11 深圳市汇顶科技股份有限公司 非易失性存储介质的数据更新方法、装置及存储介质
CN111949565A (zh) * 2019-05-17 2020-11-17 北京兆易创新科技股份有限公司 一种存储器及其控制方法和控制装置
CN112015708B (zh) * 2020-10-30 2021-02-19 北京金山云网络技术有限公司 一种分布式存储系统数据均衡的方法和相关装置
CN114993540A (zh) * 2022-08-02 2022-09-02 国网江西省电力有限公司建设分公司 张力传感器数据采集保护与存储装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1342935A (zh) * 2000-09-12 2002-04-03 财团法人资讯工业策进会 多重可变地址映射电路
US20030225962A1 (en) * 2002-05-31 2003-12-04 Hitachi, Ltd. Memory card and memory card system
CN101667157A (zh) * 2008-09-04 2010-03-10 群联电子股份有限公司 闪存数据传输方法、闪存储存系统及控制器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336590A (zh) * 2000-07-27 2002-02-20 乔工科技股份有限公司 有缺陷的挥发性内存重新格式化的方法及其装置
CN101408864B (zh) * 2007-10-09 2011-08-24 群联电子股份有限公司 用于断电时的数据保护方法及使用此方法的控制器
CN101464836B (zh) * 2007-12-20 2010-10-20 宇瞻科技股份有限公司 闪存储存装置的数据储存方法
US20110252187A1 (en) * 2010-04-07 2011-10-13 Avigdor Segal System and method for operating a non-volatile memory including a portion operating as a single-level cell memory and a portion operating as a multi-level cell memory
TWI442222B (zh) * 2010-07-21 2014-06-21 Silicon Motion Inc 快閃記憶裝置與快閃記憶裝置管理方法
EP2413329B1 (en) * 2010-07-28 2014-03-26 Fujitsu Semiconductor Europe GmbH Electronic apparatuses
CN102005245B (zh) * 2010-11-30 2015-07-22 公安部第三研究所 一种智能卡擦写保护方法
CN102566937A (zh) * 2010-12-30 2012-07-11 慧荣科技股份有限公司 快闪存储装置及其运作方法
CN102279803A (zh) * 2011-04-13 2011-12-14 西安交通大学 一种提高多层单元NAND-Flash存储可靠性的备用区分配方法
US8577840B2 (en) * 2012-01-03 2013-11-05 International Business Machines Corporation Replication of data sets
CN103176920A (zh) * 2013-03-26 2013-06-26 杭州华三通信技术有限公司 Nor flash掉电保护方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1342935A (zh) * 2000-09-12 2002-04-03 财团法人资讯工业策进会 多重可变地址映射电路
US20030225962A1 (en) * 2002-05-31 2003-12-04 Hitachi, Ltd. Memory card and memory card system
CN101667157A (zh) * 2008-09-04 2010-03-10 群联电子股份有限公司 闪存数据传输方法、闪存储存系统及控制器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024187368A1 (en) * 2023-03-14 2024-09-19 Micron Technology , Inc. Consecutive logical page address space

Also Published As

Publication number Publication date
CN105786412A (zh) 2016-07-20
TW201519251A (zh) 2015-05-16
CN105786411B (zh) 2019-04-09
CN105786412B (zh) 2019-04-19
TWI520153B (zh) 2016-02-01
CN103699344A (zh) 2014-04-02
CN103699344B (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
CN103699344B (zh) 非易失性存储器装置及其操作方法
TWI479359B (zh) 指令執行方法、記憶體控制器與記憶體儲存裝置
CN104423888B (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
TWI423024B (zh) 用於快閃記憶體的資料儲存方法及其控制器與儲存系統
TWI451249B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
CN106681652B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI476590B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI495998B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
TWI585778B (zh) 非揮發性記憶體裝置的操作方法
CN106557432B (zh) 缓冲存储器管理方法、存储器控制电路单元及存储装置
CN104636267B (zh) 存储器控制方法、存储器存储装置与存储器控制电路单元
CN104715796A (zh) 多位存储单元非易失性存储器的写入方法及系统
TWI584189B (zh) 記憶體控制器、記憶體儲存裝置與資料寫入方法
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN107590080A (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
CN105224238B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
CN103593255B (zh) 数据管理方法、记忆存储存储器与记忆存储控制器
CN103577344B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN103106148B (zh) 区块管理方法、存储器控制器与存储器存储装置
TWI521346B (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
CN109840165A (zh) 存储器系统及其操作方法
TWI446170B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN109273033A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
TWI606458B (zh) 非揮發性記憶體裝置的操作方法

Legal Events

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