CN112015339B - 一种存储器的数据保存系统,保存方法及存储系统 - Google Patents

一种存储器的数据保存系统,保存方法及存储系统 Download PDF

Info

Publication number
CN112015339B
CN112015339B CN202010843616.0A CN202010843616A CN112015339B CN 112015339 B CN112015339 B CN 112015339B CN 202010843616 A CN202010843616 A CN 202010843616A CN 112015339 B CN112015339 B CN 112015339B
Authority
CN
China
Prior art keywords
storage
data
storage area
array
memory
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
CN202010843616.0A
Other languages
English (en)
Other versions
CN112015339A (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.)
Hefei Kangxinwei Storage Technology Co Ltd
Original Assignee
Hefei Kangxinwei Storage Technology Co Ltd
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 Hefei Kangxinwei Storage Technology Co Ltd filed Critical Hefei Kangxinwei Storage Technology Co Ltd
Priority to CN202010843616.0A priority Critical patent/CN112015339B/zh
Publication of CN112015339A publication Critical patent/CN112015339A/zh
Application granted granted Critical
Publication of CN112015339B publication Critical patent/CN112015339B/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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提出一种存储器的数据保存系统,数据保存方法及存储系统,包括:控制单元;第一存储阵列,包括多个第一存储块,第二存储阵列,包括多个第二存储块;其中,所述第二存储块的存储容量小于第一存储块的存储容量;其中,在写入数据时,将所述数据存储在所述第一存储阵列的多个所述第一存储块中,并按照所述第一存储块的物理地址将所述第一存储阵列至少划分成第一存储区和第二存储区;且所述控制单元将所述第一存储区和/或所述第二存储区内的所述数据备份在所述第二存储阵列中。本发明提出的存储器的数据保存系统可以保证在发生异常断电时,数据不会丢失。

Description

一种存储器的数据保存系统,保存方法及存储系统
技术领域
本发明涉及存储技术领域,特别涉及一种存储器的数据保存系统,保存方法及存储系统。
背景技术
NAND Flash作为一种非易失性存储器件,具有体积小、访问速度快、功率小及抗震等优良特性,因此,基于NAND Flash技术的固态硬盘(Solid State Drives,SSD)具有读写速度快,低功耗,无噪音,抗震动,低热量,体积小,工作范围大,广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空等、导航设备等领域。
在固态硬盘的实际使用中,使用单层存储器(Single level Cell,SLC)存储数据时,不易受到断电的影响,但是单层存储器的存储块(Block)的使用效率低;使用多层存储器(Multi Level Cell,MLC)容易受到断电的影响,意外断电会造成固态硬盘临时数据丢失。
发明内容
鉴于上述现有技术的缺陷,本发明提出一种存储器的数据保存系统,保存方法及存储系统,该数据保存系统在发生异常断电时,可以保证数据不会丢失。
为实现上述目的及其他目的,本发明提出一种存储器的数据保存系统,包括:
控制单元;
第一存储阵列,包括多个第一存储块,
第二存储阵列,包括多个第二存储块;其中,所述第二存储块的存储容量小于第一存储块的存储容量;
其中,在写入数据时,将所述数据存储在所述第一存储阵列的多个所述第一存储块中,并按照所述第一存储块的物理地址将所述第一存储阵列至少划分成第一存储区和第二存储区;且所述控制单元将所述第一存储区和/或所述第二存储区内的所述数据备份在所述第二存储阵列中;
其中,当所述第一存储区和/或第二存储区发生异常断电时,则舍弃所述第一存储阵列中的所述第一存储区和/或第二存储区内异常断电影响的所述数据,并修改映射表。
进一步地,所述第一存储块和所述第二存储块具有相应的物理地址,所述控制单元内设置有与所述物理地址相对应的逻辑地址,所述逻辑地址和所述物理地址形成所述映像表。
进一步地,当所述第一存储区和/或第二存储区发生异常断电时,则修改所述映射表中所述物理地址。
进一步地,当所述第一存储区内的所述数据在所述第二存储阵列备份后,在所述第二存储区和部分所述第一存储区内发生异常断电之前,则将所述第二存储区内的所述数据备份在所述第二存储阵列中。
进一步地,还包括舍弃第一存储阵列中所述第二存储区和所述部分所述第一存储区内的数据,并修改所述映射表中的所述物理地址。
进一步地,当所述第一存储区内发生异常断电之前,且所述第二存储阵列中的存储空间小于所述异常断电影响的数据容量时,则在所述第一存储阵列中写入无效数据,形成第三存储区,以使所述异常断电发生在所述第三存储区内,且同时擦除所述第二存储阵列中的数据。
进一步地,当所述第一存储区和/或第二存储区未发生异常断电时,则擦除所述第二存储阵列中的数据。
进一步地,当所述第一存储区和/或所述第二存储区发生异常断电后,则舍弃所述第一存储阵列。
进一步地,当所述第一存储区和/或所述第二存储区发生异常断电后,则舍弃所述第二存储阵列。
进一步地,所述第一存储阵列为多层存储阵列,三层存储阵列中的至少一种,所述第二存储阵列为单层存储阵列。
进一步地,本发明还提出一种存储器的数据保存方法,包括:
将数据存储在第一存储阵列的多个第一存储块中;并按照所述第一存储块的物理地址将所述第一存储阵列至少划分成第一存储区和第二存储区;
通过控制单元将所述第一存储区和/或第二存储区内的所述数据在备份在所述第二存储阵列中;
其中,当所述第一存储区和/或第二存储区发生异常断电时,则舍弃所述第一存储阵列中的所述第一存储区和/或第二存储区内异常断电影响的所述数据,并修改映射表。
进一步地,本发明还提出一种存储系统,包括:
主机;
数据保存系统,连接所述主机;
其中,所述数据保存系统包括;
控制单元;
第一存储阵列,包括多个第一存储块,
第二存储阵列,包括多个第二存储块;其中,所述第二存储块的存储容量小于第一存储块的存储容量;
其中,在写入数据时,将所述数据存储在所述第一存储阵列的多个所述第一存储块中,并按照所述第一存储块的物理地址将所述第一存储阵列至少划分成第一存储区和第二存储区;且所述控制单元将所述第一存储区和/或所述第二存储区内的所述数据备份在所述第二存储阵列中;
其中,当所述第一存储区和/或第二存储区发生异常断电时,则舍弃所述第一存储阵列中的所述第一存储区和/或第二存储区内异常断电影响的所述数据,并修改映射表。
综上所述,本发明提出一种存储器的数据保存系统,保存系统及存储系统,通过将数据存储在第一存储阵列中,并依据第一存储阵列中的第一存储块的物理地址将第一存储阵列至少划分成第一存储区和第二存储区;并将第一存储区和第二存储区内的数据备份在第二存储阵列中,当第一存储阵列的第一存储区和/或第二存储区发生异常断电时,不会造成数据的丢失。同时由于第一存储阵列可以为多层存储阵列,三层存储阵列;第二存储阵列为单层存储阵列,因此可以提高第一存储阵列的第一存储块的使用效率。
附图说明
图1:本实施例中存储系统的框图。
图2:本实施例中NAND型闪速存储器的系统方块图。
图3:NAND存储芯片的系统方块图。
图4:存储单元阵列的方框图。
图5:本实施例中存储系统的组成图。
图6:本实施例中系统控制器的结构示意图。
图7:本实施例中存储器的结构示意图。
图8:本实施例提出的存储器的数据保存系统的框图。
图9:第一存储阵列的框图。
图10:第一存储区和第二存储区的示意图。
图11:发生异常断电的数据备份图。
图12:第一存储区和第二存储区的示意图。
图13:发生异常断电的数据备份图。
图14:第二存储阵列的剩余的存储空间示意图。
图15:第三存储区发生异常断电的示意图。
图16:本实施例提出的存储器的数据保存方法示意图。
图17:本实施例中存储系统的框图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
这里所描述的系统包括用于控制包括闪存芯片的大容量存储模块的新颖结构。在图1中以高度概述的形式示出了整个系统。与这里的其它框图一样,图1所示的组件本质上是概念性的,它们示出了这些功能块之间的互相关系的性质,而不意在表示实际的物理电路级实施。
如图1所示,本实施例提出一种存储系统,该存储系统包括非易失性半导体存储装置。非易失性半导体存储装置是即使切断电源也不会丢失数据的非易失性存储器(非暂时的存储器),本实施例中,作为非易失性半导体存储装置,举例说明NAND型闪速存储器120。另外,作为存储系统,举例说明具备NAND型闪速存储器的固态硬盘设备(Solid StateDrive,SSD)。
如图1所示,固态硬盘100经由接口171及电源线172与主机装置170(例如信息处理装置)连接。主机装置170例如由个人计算机、CPU核或者与网络连接的服务器等构成。主机装置170对固态硬盘100执行数据访问控制,例如,通过向固态硬盘100发送写入请求、读出请求及删除请求,对固态硬盘100执行数据的写入、读出及删除。
如图1所示,固态硬盘100具备SSD控制器(存储装置控制部)110、NAND型闪速存储器120、接口控制器(接口部)130及电源供给部140。SSD控制器110、接口控制器130及NAND型闪速存储器120通过总线150相互连接。
如图1所示,电源供给部140通过电源线172与主机装置170连接,接受从主机装置170供给的外部电源。电源供给部140和NAND型闪速存储器120通过电源线161连接,电源供给部140和SSD控制器110通过电源线162连接,电源供给部140和接口控制器130通过电源线163连接。电源供给部140对外部电源进行升压及降压,生成各种电压,向SSD控制器110、NAND型闪速存储器120及接口控制器130供给各种电压。
如图1所示,接口控制器130通过接口171与主机装置170连接。接口控制器130执行与主机装置170的接口处理。作为接口171,可以采用SATA(Serial Advanced TechnologyAtt achment:串行高级技术附件)、PCI Express(Peripheral Component InterconnectExpress:高速外设部件互连)、SAS(Serial Attached SCSI:串行连接SCSI)、USB(Universal Serial Bus:通用串行总线)等。在一实施例中,作为接口171,以采用SATA场合的例子进行说明。
如图1所示,NAND型闪速存储器120非易失地存储数据。在NAND型闪速存储器120的物理地址空间,确保存储固件(Firmware,FW)的FW区域121、存储管理信息的管理信息区域122、存储用户数据的用户区域123、存储例如测试步骤时的各种日志的筛选日志区域125。
如图1所示,SSD控制器110控制固态硬盘100的各种工作。SSD控制器110可以通过执行在NAND型闪速存储器120的FW区域121存储的固件的处理器和各种硬件电路等来实现其功能,执行针对来自主机装置170的写请求、缓存刷新请求、读请求等的各种指令的主机装置170-NAND型闪速存储器120间的数据转送控制、在RAM111及NAND型闪速存储器120存储的各种管理表的更新·管理、筛选处理等。SSD控制器110从电源线172接受电源后,从FW区域121读出固件,然后,根据读出固件进行处理。SSD控制器110具备作为缓存区及操作区的RAM111和ECC(Error Checking and Correcting:错误检测和校正)电路112。
如图1所示,RAM111由DRAM(Dynamic Random Access Memory:动态随机存取存储器)、SRAM(Static Random Access Memory:静态随机存取存储器)等的易失性RAM,或MR AM(Magnetoresistive Random Access Memory:磁阻随机存取存储器)、FeRAM(Ferroelectric R andom Access Memory:铁电随机存取存储器)、ReRAM(ResistanceRandom Access Memory:电阻随机存取存储器)、PRAM(Phase-change Random AccessMemory:相变随机存取存储器)等的非易失性RAM构成。
如图1所示,ECC电路112在数据写入时,对写入数据生成纠错码,将该纠错码附加到写入数据,发送到NAND型闪速存储器120。另外,ECC电路112在数据读出时,对读出数据,采用读出数据所包含的纠错码进行检错(错误位检测)及纠错。ECC电路112的ECC编码、ECC解密采用例如Bose-Chaudhuri-Hocquenghem(BCH)码、Reed-Solomon(RS)码、Low-Densi tyParity-Check(LDPC)码。电路112也可以是采用Cyclic Redundancy Check(CRC)码进行检错的CRC电路112。
如图2-3所示,图2显示为NAND型闪速存储器120的系统方块图,图3显示为NAND存储芯片200的系统方块图,NAND型闪速存储器120具备一个以上的NAND存储芯片200。
如图3所示,存储单元阵列202由可电改写数据的存储单元矩阵状配置而成。在存储单元阵列202配设了多个位线、多个字线及共享源极线。在位线和字线的交差区域,配置存储单元。
如图3所示,作为行解码器的字线控制电路205与多个字线连接,在数据的读出、写入及删除时,进行字线的选择及驱动。位线控制电路203与多个位线连接,在数据的读出、写入及删除时,控制位线的电压。另外,位线控制电路203在数据读出时检知位线的数据,在数据写入时向位线施加与写入数据相应的电压。列解码器204根据地址,生成用于选择位线的列选择信号,向位线控制电路203发送该列选择信号。
如图3所示,从存储单元阵列202读出的读出数据经由位线控制电路203、数据输入输出缓冲器209从数据输入输出端子208向外部输出。另外,从外部向数据输入输出端子208输入的写入数据经由数据输入输出缓冲器209,向位线控制电路203输入。
如图3所示,存储单元阵列202、位线控制电路203、列解码器204、数据输入输出缓冲器209及字线控制电路205与控制电路206连接。控制电路206根据从外部向控制信号输入端子207输入的控制信号,生成用于控制存储单元阵列202、位线控制电路203、列解码器204、数据输入输出缓冲器209及字线控制电路205的控制信号及控制电压。NAND存储芯片200中,与存储单元阵列202以外的部分一起称为存储单元阵列控制部(NAND控制器)201。
如图4所示,图4显示为存储单元阵列202的构成方框图。存储单元阵列202具备一个或多个平面(plane)(或District)。图4中的存储单元阵列202例如具备2个平面(平面0及平面1)的情况。各平面具备多个块(BLOCK),各块(BLOCK)由多个存储单元构成,以该块(BLOCK)为单位,删除数据。
如图5所示,本实施例给出另一存储系统30的框图,该存储系统300包括至少一个控制器310和多个存储器320。控制器310通过存储区域网络(storage area network,SAN)与主机(图中未示出)连接。控制器310可以是一种计算设备,如服务器、台式计算机等等。在控制器310上安装有操作系统以及应用程序。控制器310可以接收来自主机的输入输出(I/O)请求。控制器310还可以存储I/O请求中携带的数据(如果有的话),并且将该数据写入存储器320中。存储器320可以为固态硬盘。固态硬盘(Solid State Disk,SSD)是以闪存(flash memory)芯片为介质的存储器,又名固态驱动器(Solid State Drive,SSD)。
图5仅是示例性说明,在实际应用中存储系统可包含两个或两个以上控制器,每个控制器的物理结构和功能与控制器310类似,并且本实施例并不限定控制器之间,以及任意一个控制器与存储器320之间的连接方式。只要各个控制器之间,以及各个控制器和存储器320之间能够相互通信。
如图6所示,图6显示为控制器310的结构示例图,控制器310包括接口卡311、处理器313和接口卡314。接口卡311用于和主机通信,控制器310可以通过接口卡311接收主机的操作指令。处理器313可能是一个中央处理器(central processing unit,CPU)。在本发明实施例中,处理器313可以用于接收来自主机的I/O请求、处理所述I/O请求。所述I/O请求可以是写数据请求或者读数据请求,处理器313还可以将写数据请求中的数据发送给存储器320。此外,处理器313还可以用于执行系统垃圾回收操作。接口卡314用于和存储器320通信,控制器310可以通过接口卡314将写数据请求(包括数据以及所述数据的生命周期级别)发送给存储器320存储。
如图6所示,在本实施例中,控制器310还可以包括存储器312。存储器312用于临时存储从主机接收的数据或从存储器320读取的数据。控制器310接收主机发送的多个写数据请求时,可以将所述多个写数据请求中的数据暂时保存在存储器312中。当存储器312的容量达到一定阈值时,将存储器312存储的数据以及为所述数据分配的逻辑地址发送给存储器320。存储器320存储所述数据。存储器312包括易失性存储器,闪存芯片或其组合。易失性存储器例如为随机访问存储器(random-access memory,RAM)。闪存芯片例如软盘、硬盘、固态硬盘(solid state disk,SSD)、光盘等各种可以存储程序代码的机器可读介质。存储器312具有保电功能,保电功能是指系统发生掉电又重新上电时,存储器312中存储的数据也不会丢失。
如图6所示,在本实施例中,控制器310负责对数据的生命周期进行识别,并且把不同生命周期的数据划分为若干等级。本实施例中数据的生命周期和该数据的修改频率有关,修改频率越高的数据生命周期越短,修改频率越低的数据生命周期越长。例如日志写入量大但很快会被删除(在固态硬盘中的保存时间可能只有几分钟),这类数据被划分为第一等级的生命周期。元数据相对于日志来说,它在固态硬盘中的保存时间略长,可以被划分为第二等级的生命周期。而业务数据中的热数据可以被划分为第三等级的生命周期,业务数据中的冷数据可以被划分为第四等级的生命周期。当然,本发明实施例并不限定生命周期级别的数量,可以只包含两个等级的生命周期,也可以包含三个或三个以上等级的生命周期。具体的,控制器310可以预先设置一个或多个生命周期阈值,将数据的生命周期与生命周期阈值进行比较从而确定该数据所属的生命周期级别。举例来说,预先设置第一生命周期阈值、第二生命周期阈值和第三生命周期阈值,其中第二生命周期阈值高于第一生命周期阈值,第三生命周期阈值高于第二生命周期阈值。当数据的生命周期等于或低于第一生命周期阈值时,它属于第一等级的生命周期,当数据的生命周期位于第一生命周期阈值与第二生命周期阈值之间时,该数据属于第二等级的生命周期,当数据的生命周期位于第二生命周期阈值和第三生命周期阈值之间时,该数据属于第三等级的生命周期,当数据的生命周期高于第三生命周期阈值时,该数据属于第四等级的生命周期。
如图6所示,控制器310在识别出数据的生命周期级别之后,将所述识别出的生命周期级别以参数的形式携带在NVMe协议中传递给存储器320,以便存储器320根据生命周期的参数判断生命周期级别,并且为不同生命周期级别的数据分配不同的数据存储模式的闪存块。
如图6所示,需要说明的是,控制器310属于系统控制器,系统控制器是独立的设备,不同于固态硬盘中的控制芯片。本实施例将固态硬盘的控制芯片称为闪存控制器。
如图7所示,图7显示为存储器320的结构示意图。存储器320包括控制单元321和多个闪存阵列322。其中,控制单元321用于执行控制器310发送的写数据请求或者读数据请求等操作。
如图7所示,控制单元321中包含闪存翻译层(flash translation layer,FTL)。闪存翻译层用于保存有数据的逻辑地址与实际地址之间的对应关系。因此,闪存翻译层用于将系统控制器发送的写数据请求或者读数据请求中的逻辑地址转化为固态硬盘中数据的实际地址。数据的逻辑地址是由系统控制器分配的,一个段的逻辑地址区间的子集。数据的逻辑地址包括起始逻辑地址和长度,起始逻辑地址指示所述数据位于的所述段的位置,长度代表所述数据的大小。数据的实际地址可以是固态硬盘中该数据的物理地址,也可以是在所述物理地址的基础上经过虚拟化,只对闪存控制器可见的地址。该经过虚拟化的实际地址对系统控制器不可见。
如图7所示,存储器320通常包括一个或多个闪存阵列322。每个闪存阵列322包括若干个闪存块。存储器320在读取或写入时是以一个页(page)为基础的,但擦除操作只能以一个闪存块为基础,擦除操作是指将这个块的所有位都设置为“1”。在擦除之前,闪存控制器需要先将这个闪存块中的有效数据复制到另一个块的空白页中去。闪存块中的有效数据是指该块中保存的没有被修改过的数据,这部分数据可能会被读取。闪存块中的无效数据是指该块中保存的已经被修改过的数据,这部分数据不可能会被读取。
如图7所示,每个闪存块包含多个页(page)。存储器320在执行写数据请求时,是以页为单位来写数据的。举例来说,控制器310向控制单元321发送一个写数据请求。所述写数据请求包括数据的逻辑地址。控制单元321在接收所述写数据请求之后,按照接收的时间顺序将所述数据连续写入一个或多个闪存块中。连续写入一个或多个闪存块是指,控制单元321查找一个空白的闪存块,将数据写入所述空白的闪存块,直至将所述空白的闪存块填满,当所述数据的大小超过闪存块的容量时,控制单元321再查找下一个空白的闪存块,继续写入。闪存翻译层建立并保存所述逻辑地址与写入所述数据的页的实际地址之间的对应关系。当控制器310向控制单元321发送读数据请求,要求读取所述数据时,所述读数据请求中包括所述逻辑地址。控制单元321根据所述逻辑地址,以及所述逻辑地址与实际地址之间的对应关系读取所述数据,并将该数据发送给控制器310。
如图7所示,存储单元(cell)是页的最小操作单元,一个存储单元对应一个浮栅晶体管,它可以存储1比特(bit)或多比特的数据,这取决于闪存的类型。一个页上的存储单元共享一根字符线。存储单元包括控制栅极和浮置栅极,浮置栅极是真正存储数据的单元。数据在存储单元中是以电荷(electrical charge)形式存储的。存储电荷的多少取决于控制栅极所被施加的电压,其控制了向浮置栅极中冲入电荷还是使其释放电荷。而数据的表示,以所存储的电荷的电压是否超过一个特定的阈值来表示。往浮置栅极中写入数据就是对控制栅极施加电压,使得浮置栅极中存储的电荷够多,超过阈值,就表示0。对闪存进行擦除操作就是对浮置栅极放电,使得浮置栅极中存储的电荷低于阈值,就表示1。
如图8所示,本实施例还提出一种存储器的数据保存系统400,该数据保存系统400包括一控制单元321和存储阵列420,用户可以通过控制单元321将数据存储在存储阵列420内。该存储阵列420内设置有第一存储阵列421和第二存储阵列422。当然,在本实施例中,该存储阵列420可以包括第N存储阵列。在本实施例中,第一存储阵列421可以为多层单元(Multi-level cell,MLC)。多层单元是使用多个电压阈值的存储单元,从而允许相同数量的晶体管存储更多比特。在第二存储阵列422可以为单层单元(Single-level cell,SLC)。单层单元的浮置栅极有一个电压阈值,因此具有0和1两种状态,可以存储一个比特的数据。单层单元闪存具有高写入速度、低功耗、更长电池耐久的优点,因此具有更快的传输速度和更长使用寿命。在单层单元技术中,每个存储单元只能处于两种状态中的一种,而MLC在每个存储单元中存储四个可能的状态(MLC具有00、01、10、11四种状态),因此可以用每个存储单元存储两个比特。相对于SLC来说,MLC的误码率更高,使用寿命更短,但成本更低。一些固态硬盘使用MLC闪存中的部分晶粒模拟为单比特的SLC闪存,从而提供更高的写入速度。另外,每个单元存储三比特的闪存被称为三层单元(Triple-level cell,TLC),TLC具有8种状态。MLC的缺点在TLC上同样存在并更为突出,但TLC也受益于更高的存储密度和更低的成本。另外,第一存储阵列421还可以为三层单元,四层单元(Quad-level cell,QLC)以及其他多层单元。
如图9所示,图9显示为第一存储阵列421的示意图,第一存储阵列包括多个第一存储块,第一存储块用于存储数据。第一存储块按照序号排列,例如第一存储块从0开始排序,图中显示出12个第一存储块。在本实施例中,每个第一存储块可以存储2比特或3比特的数据。需要说明的是,第二存储阵列422和第一存储阵列421具有相同的结构,在此不在阐述第二存储阵列422的结构。
如图8和图10所示,在本实施例中,当用户通过控制单元321将数据存储在存储阵列420内时,由于控制单元321内包括闪存翻译层,因此可以将逻辑地址和物理地址对应起来,形成映射表。闪存翻译层用于将系统控制器发送的写数据请求或者读数据请求中的逻辑地址转化为固态硬盘中数据的实际地址(物理地址)。因此当数据存储在第一存储阵列421内时,控制单元321根据物理地址将数据存储在第一存储阵列421内,并根据物理地址至少划分成第一存储区和第二存储区。例如图10中显示出数据存储在第一存储块0至第一存储块5中,在本实施例中,可以将第一存储块0至第一存储块3的区域定义为第一存储区,将第一存储块4至第一存储块5的区域定义为第二存储区。需要说明的是,在本实施例中,第一存储区内的数据是先存储的,第二存储区内的数据是后存储的;也可以说第二存储区内的数据是最新存储的。当然,在一些实施例中,第一存储区内的数据可以是最新存储的。
如图8,图10-图11所示,在本实施例中,由于第二存储区是最新存储的,因此第二存储区容易发生异常断电,因此当第二存储区内存储数据时,控制单元321则将第二存储区内的数据在第二存储阵列内进行备份。当在第二存储区内发生异常断电之前,且异常断电影响的范围为第二存储区的区域,由于第二存储区内的数据在第二存储阵列内进行备份,因此发生异常断电时,第二存储阵列内的数据是有效的。在发生异常断电后,控制单元321则根据映像表,修改第二存储区内数据的物理地址,例如原本第二存储区内的数据的物理地址是对应第一存储阵列的,发生异常断电后,第二存储区内的数据的物理地址是对应第二存储阵列的。由于控制单元321将第二存储区内的数据在第二存储阵列内进行备份,因此可以保证数据不会丢失。
如图11所示,在本实施例中,发生异常断电后,第一存储阵列中第二存储区内的数据备份在第二存储阵列中第二存储块0至第二存储块1中,由于发生异常断电,那么第二存储块0和第二存储块1不在被使用,是因为异常断电影响的数据,还可能会被再次写入,因此再次写入时,可以直接擦除掉,从而减少第二存储阵列的写入负担。
如图8,图12-图13所示,在本实施例中,当数据存储在第一存储阵列内时,形成第一存储区和第二存储区,第二存储区的数据是最新存储的。需要说明的是,数据是根据物理地址存储在第一存储区和第二存储区内的。在形成第二存储区时,控制单元321则将第一存储区内子区域在第二存储阵列中进行备份。由于第二存储区内的数据是最新存储的,因此第二存储区容易发生异常断电。因此当第二存储区内存储数据时,控制单元321则将第二存储区内的数据在第二存储阵列中进行备份,当发生异常断电时,且异常断电影响的范围超过第二存储区,例如异常断电影响的范围包括第二存储区和第一存储区内的第一存储块5,由于第一存储块5内的数据已经在第二存储阵列中备份,因此当将异常断电影响的范围内的数据在第二存储阵列中备份时,不需要将第一存储块5内的数据再次进行备份,只需要将第二存储区内的数据在第二存储阵列中进行备份。在发生异常断电后,控制单元321还将修改映射表,也就是修改映像表中的物理地址,例如原本第二存储区内的数据的物理地址是对应第一存储阵列的,发生异常断电后,第二存储区内的数据的物理地址是对应第二存储阵列的。由于控制单元321将异常断电影响范围内的数据在第二存储阵列内进行备份,因此可以保证数据不会丢失。
如图13所示,在本实施例中,在发生异常断电后,异常断电影响的范围内的数据存储在第二存储阵列中的第二存储块3至第二存储块6中,因此舍弃第一存储阵列内第二存储区和第一存储块5中的数据。同时由于发生异常断电,那么第二存储块0和第二存储块5不在被使用,是因为异常断电影响的数据,还可能会被再次写入,因此再次写入时,可以直接擦除掉,从而减少第二存储阵列的写入负担。
如图8,图14-图15所示,在本实施例中,当数据存储在第一存储阵列内时,形成第一存储区和第二存储区,第二存储区的数据是最新存储的。需要说明的是,数据是根据物理地址存储在第一存储区和第二存储区内的。由于第二存储区内的数据是最新存储的,因此第二存储区是容易发生异常断电的,同时由于第二存储阵列中存储有数据,因此第二存储阵列中剩余的存储空间是非常小的,当第二存储区内发生异常断电时,且异常断电影响的范围的数据容量大于第二存储阵列剩余的存储空间,那么则在第一存储阵列中写入无效数据,形成第三存储区,从而将发生在第二存储区内的异常断电转移至第三区域内,由于第三存储区内存储的数据是无效的,因此发生异常断电不会影响第一存储区和第二存储区内的数据。并且同时将第二存储阵列中的数据擦除掉。
如图8,图10-图11所示,当向第一存储阵列中写入数据时,且一直未发生异常断电,那么第二存储阵列将会被写满,那么该第二存储阵列存储的备份数据将会成为无效数据,那么控制单元321则将第二存储阵列中的备份数据擦除掉,形成空白的第二存储阵列。需要说明的是,在擦除第二存储阵列中的无效数据之前,会在第一存储阵列中形成第三存储区,或者在第二存储阵列中进行备份,以防止第一存储阵列发生异常断电时,不会影响第一存储阵列中第二存储区的数据。当然,在第一存储阵列发生异常断电之前,可以先将异常断电影响的范围内的数据在新的第二存储阵列中进行备份,或者在空白的第二存储阵列中进行备份。
需要说明的是,当第一存储阵列发生第一次异常断电后,由于第一存储阵列异常断电时,可能同时对已经写入的第二存储区和尚未写入的第三存储区产生影响,第三存储区可能在遭遇第二次异常断电的状况下,仍有数据遗失的现象。因此第二次异常断电之后,不会在使用第一存储阵列。
如图10-图11所示,在本实施例中,在发生异常断电之后,还可以将存储在第二存储阵列中的备份数据重新转移至第一存储阵列中,从而减少第二存储阵列的写入负担,并且可以减少数据重建的复杂度。当然,在异常断电之后,还可以将新数据继续存储在第二存储阵列中。
如图16所示,本实施例还提出一种存储的数据保存方法,包括:
S1:将数据存储在第一存储阵列的多个第一存储块中;并按照所述第一存储块的物理地址将所述第一存储阵列至少划分成第一存储区和第二存储区;
S2:通过控制单元将所述第一存储区和/或第二存储区内的所述数据备份在所述第二存储阵列中;
S3:判断是否发生移动断电;
S4:若是,则舍弃所述第一存储阵列中的所述第一存储区和/或第二存储区内异常断电影响的所述数据,并修改映射表。
S5:若否,当第二存储阵列写满数据时,则擦除第二存储阵列中的数据。
如图8-图16所示,在本实施例中,数据首先存储在第一存储阵列中,并且按照第一存储块的物理地址将第一存储阵列至少划分成第一存储区和第二存储区,其中,第二存储区内的数据是最新写入的,因此第二存储区内容易发生异常断电。当数据写入第一存储阵列时,控制单元则将第一存储区和第二存储区的数据备份在第二存储阵列中。
如图16所示,如果第一存储区和/或第二存储区内发生异常断电,则舍弃第一存储区和/或第二存储区内受到异常断电影响的数据,同时修改映像表的物理地址。
如图16所示,在本实施例中,该存储器的数据保存方法可以参阅图8-图16的说明,在此不在阐述。
如图17所示,本实施例还提出一种存储系统500,该存储系统500可以包括主机510和通过接口511与主机510传送命令和/或数据的数据保存系统400。存储系统500可以被实现为个人计算机(PC)、工作站、数据中心、互联网数据中心、存储区域网络、网络附属存储器(NAS)或移动计算设备,但是本发明构思不限于这些示例。移动计算设备可以被实现为膝上型计算机、蜂窝电话、智能电话、平板PC、个人数字助理(PDA)、企业数字助理(EDA)、数字静止相机、数字视频相机、便携式多媒体播放器(PMP)、个人导航设备或便携式导航设备(PND)、手持式游戏控制台、移动互联网设备(MID)、可穿戴计算机、物联网(IoT)设备、物联网(IoE)设备、无人机或电子书,但是本发明构思不限于这些示例。
如图17所示,接口511可以是串行高级技术附件(SATA)接口,SATA快速(SATAe)接口、SAS(串行附件小型计算机系统接口(SCSI))、外围组件互连高速(PCIe)接口、非易失性存储器快速(NVMe)接口、高级主机控制器接口(AHCI)或多媒体卡(MMC)接口,但不限于此。接口511可以传输电信号或光信号。主机510可以经由接口511控制数据保存系统400的数据处理操作(例如,写操作或读操作)。主机510可以指主机控制器。
如图17所示,数据保存系统400可以是基于闪存的存储器设备,但不限于此。数据保存系统400可以被实现为SSD、嵌入式SSD(eSSD)、通用闪速存储器(UFS)、MMC、嵌入式MMC(eMMC)或受管理的NAND,但是本发明构思不限于这些示例。基于闪存的存储器设备可以包括存储器单元阵列。存储器单元阵列可以包括多个存储器单元。存储器单元阵列可以包括二维存储器单元阵列或三维存储器单元阵列。三维存储器单元阵列可以单片地形成在具有设置在硅衬底上或上方的有源区的存储器单元阵列中的一个或多个物理层级处,并且可以包括存储器单元的操作所涉及的电路。所述电路可以形成在硅衬底中、硅衬底上或上方。术语“单片”意指阵列中的每一层级的层直接沉积在阵列中的下层级的层上。三维存储器单元阵列可以包括竖直取向的竖直NAND串,使得至少一个存储器单元置于另一存储器单元上或上方。所述至少一个存储器单元可以包括电荷俘获层。
如图17所示,数据保存系统400可以包括控制单元321和存储阵列420,控制单元321可以控制主机510。控制单元321与存储阵列420之间可以进行命令和/或数据的传输或处理。
综上所述,本发明提出一种存储器的数据保存系统,保存系统及存储系统,通过将数据存储在第一存储阵列中,并依据第一存储阵列中的第一存储块的物理地址将第一存储阵列至少划分成第一存储区和第二存储区;并将第一存储区和第二存储区内的数据备份在第二存储阵列中,当第一存储阵列的第一存储区和/或第二存储区发生异常断电时,不会造成数据的丢失。同时由于第一存储阵列可以为多层存储阵列,三层存储阵列;第二存储阵列为单层存储阵列,因此可以提高第一存储阵列的第一存储块的使用效率。本发明在异常断电之前,将对数据进行备份,即可防止异常断电对数据丢失的影响。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明,本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案,例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
除说明书所述的技术特征外,其余技术特征为本领域技术人员的已知技术,为突出本发明的创新特点,其余技术特征在此不再赘述。

Claims (11)

1.一种存储器的数据保存系统,其特征在于,包括:
控制单元;
第一存储阵列,包括多个第一存储块,
第二存储阵列,包括多个第二存储块;其中,所述第二存储块的存储容量小于第一存储块的存储容量;
其中,在写入数据时,将所述数据存储在所述第一存储阵列的多个所述第一存储块中,并按照所述第一存储块的物理地址将所述第一存储阵列至少划分成第一存储区和第二存储区;且所述控制单元将所述第一存储区和/或所述第二存储区内的所述数据备份在所述第二存储阵列中;
其中,当所述第一存储区和/或第二存储区发生异常断电时,则舍弃所述第一存储阵列中的所述第一存储区和/或第二存储区内异常断电影响的所述数据,并修改映射表;
当所述第一存储区内发生异常断电之前,且所述第二存储阵列中的存储空间小于所述异常断电影响的数据容量时,则在所述第一存储阵列中写入无效数据,形成第三存储区,以使所述异常断电发生在所述第三存储区内,且同时擦除所述第二存储阵列中的数据。
2.根据权利要求1所述的数据保存系统,其特征在于,所述第一存储块和所述第二存储块具有相应的物理地址,所述控制单元内设置有与所述物理地址相对应的逻辑地址,所述逻辑地址和所述物理地址形成所述映射表。
3.根据权利要求2所述的数据保存系统,其特征在于,当所述第一存储区和/或第二存储区发生异常断电时,则修改所述映射表中所述物理地址。
4.根据权利要求2所述的数据保存系统,其特征在于,当所述第一存储区内的所述数据在所述第二存储阵列备份后,在所述第二存储区和部分所述第一存储区内发生异常断电之前,则将所述第二存储区内的所述数据备份在所述第二存储阵列中。
5.根据权利要求4所述的数据保存系统,其特征在于,还包括舍弃第一存储阵列中所述第二存储区和部分所述第一存储区内的数据,并修改所述映射表中的所述物理地址。
6.根据权利要求1所述的数据保存系统,其特征在于,当所述第一存储区和/或第二存储区未发生异常断电时,且所述第二存储阵列写满数据时,则擦除所述第二存储阵列中的数据。
7.根据权利要求1所述的数据保存系统,其特征在于,当所述第一存储区和/或所述第二存储区发生异常断电后,则舍弃所述第一存储阵列。
8.根据权利要求1所述的数据保存系统,其特征在于,当所述第一存储区和/或所述第二存储区发生异常断电后,则舍弃所述第二存储阵列。
9.根据权利要求1所述的数据保存系统,其特征在于,所述第一存储阵列为多层存储阵列,三层存储阵列中的至少一种,所述第二存储阵列为单层存储阵列。
10.一种存储器的数据保存方法,其特征在于,包括:
将数据存储在第一存储阵列的多个第一存储块中;并按照所述第一存储块的物理地址将所述第一存储阵列至少划分成第一存储区和第二存储区;
通过控制单元将所述第一存储区和/或第二存储区内的所述数据备份在第二存储阵列中;
其中,当所述第一存储区和/或第二存储区发生异常断电时,则舍弃所述第一存储阵列中的所述第一存储区和/或第二存储区内异常断电影响的所述数据,并修改映射表;
当所述第一存储区内发生异常断电之前,且所述第二存储阵列中的存储空间小于所述异常断电影响的数据容量时,则在所述第一存储阵列中写入无效数据,形成第三存储区,以使所述异常断电发生在所述第三存储区内,且同时擦除所述第二存储阵列中的数据。
11.一种存储系统,其特征在于,包括:
主机;
数据保存系统,连接所述主机;
其中,所述数据保存系统包括;
控制单元;
第一存储阵列,包括多个第一存储块,
第二存储阵列,包括多个第二存储块;其中,所述第二存储块的存储容量小于第一存储块的存储容量;
其中,在写入数据时,将所述数据存储在所述第一存储阵列的多个所述第一存储块中,并按照所述第一存储块的物理地址将所述第一存储阵列至少划分成第一存储区和第二存储区;且所述控制单元将所述第一存储区和/或所述第二存储区内的所述数据备份在所述第二存储阵列中;
其中,当所述第一存储区和/或第二存储区发生异常断电时,则舍弃所述第一存储阵列中的所述第一存储区和/或第二存储区内异常断电影响的所述数据,并修改映射表;
当所述第一存储区内发生异常断电之前,且所述第二存储阵列中的存储空间小于所述异常断电影响的数据容量时,则在所述第一存储阵列中写入无效数据,形成
第三存储区,以使所述异常断电发生在所述第三存储区内,且同时擦除所述第二存储阵列中的数据。
CN202010843616.0A 2020-08-20 2020-08-20 一种存储器的数据保存系统,保存方法及存储系统 Active CN112015339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010843616.0A CN112015339B (zh) 2020-08-20 2020-08-20 一种存储器的数据保存系统,保存方法及存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010843616.0A CN112015339B (zh) 2020-08-20 2020-08-20 一种存储器的数据保存系统,保存方法及存储系统

Publications (2)

Publication Number Publication Date
CN112015339A CN112015339A (zh) 2020-12-01
CN112015339B true CN112015339B (zh) 2024-03-22

Family

ID=73505298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010843616.0A Active CN112015339B (zh) 2020-08-20 2020-08-20 一种存储器的数据保存系统,保存方法及存储系统

Country Status (1)

Country Link
CN (1) CN112015339B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025715A (zh) * 2007-03-07 2007-08-29 北京飞天诚信科技有限公司 基于非易失性存储器中两个连续逻辑块的掉电保护方法
CN102591748A (zh) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 固态硬盘及其掉电保护方法、系统
US8886877B1 (en) * 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory
CN104572478A (zh) * 2013-10-14 2015-04-29 联想(北京)有限公司 数据存取方法和数据存取装置
CN106933705A (zh) * 2015-12-31 2017-07-07 北京京存技术有限公司 闪存系统及其快速备份lsb页的方法和装置
CN107977161A (zh) * 2016-10-25 2018-05-01 慧荣科技股份有限公司 数据储存装置及其数据写入方法
CN109189605A (zh) * 2018-07-23 2019-01-11 杭州电子科技大学 一种固态硬盘掉电保护方法
CN111309642A (zh) * 2020-02-12 2020-06-19 合肥康芯威存储技术有限公司 一种存储器及其控制方法与存储系统
CN111324290A (zh) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 一种存储器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014101185A1 (de) * 2014-01-31 2015-08-06 Hyperstone Gmbh Verfahren zur Verwaltung von Flash-Speichern mit gemischten Speichertypen unter Verwendung einer fein-granulierten Zuordnung logischer auf physikalische Speicheradressen

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025715A (zh) * 2007-03-07 2007-08-29 北京飞天诚信科技有限公司 基于非易失性存储器中两个连续逻辑块的掉电保护方法
CN102591748A (zh) * 2011-12-29 2012-07-18 记忆科技(深圳)有限公司 固态硬盘及其掉电保护方法、系统
CN104572478A (zh) * 2013-10-14 2015-04-29 联想(北京)有限公司 数据存取方法和数据存取装置
US8886877B1 (en) * 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory
CN106933705A (zh) * 2015-12-31 2017-07-07 北京京存技术有限公司 闪存系统及其快速备份lsb页的方法和装置
CN107977161A (zh) * 2016-10-25 2018-05-01 慧荣科技股份有限公司 数据储存装置及其数据写入方法
CN109189605A (zh) * 2018-07-23 2019-01-11 杭州电子科技大学 一种固态硬盘掉电保护方法
CN111324290A (zh) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 一种存储器
CN111309642A (zh) * 2020-02-12 2020-06-19 合肥康芯威存储技术有限公司 一种存储器及其控制方法与存储系统

Also Published As

Publication number Publication date
CN112015339A (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
US20200233585A1 (en) Data relocation in hybrid memory
US10282252B2 (en) RAID storage device and method of management thereof
US9460006B2 (en) Nonvolatile memory system, system including the same, and method of adaptively adjusting user storage region in the same
CN111625188B (zh) 一种存储器及其数据写入方法与存储系统
US11386005B2 (en) Memory system, memory controller, and method of operating memory system for caching journal information for zone in the journal cache
CN110928805B (zh) 存储器系统及其操作方法
CN112035060B (zh) 一种存储介质的错误检测方法、系统及存储系统
CN112988044A (zh) 存储器系统及包括该存储器系统的数据处理系统
CN113590503B (zh) 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统
CN113590502B (zh) 一种非挥发性记忆体存储设备的垃圾回收方法与垃圾回收系统
CN113704138A (zh) 存储装置及其操作方法
CN111625187B (zh) 一种存储器及其控制方法与存储系统
CN112582011A (zh) 存储器设备及其操作方法
CN112463436A (zh) 存储器控制器以及操作存储器控制器的方法
KR102620727B1 (ko) 전자 장치
TWI693520B (zh) 用來於一記憶裝置中進行系統備份的方法、相關記憶裝置及其控制器、以及相關電子裝置
CN114764396A (zh) 数据存储装置及其操作方法
US11210028B2 (en) Method for accessing flash memory module and associated flash memory controller and electronic device
CN113190469B (zh) 一种存储器、数据写入方法及存储系统
CN111309642B (zh) 一种存储器及其控制方法与存储系统
CN111338566A (zh) 存储器子系统中的功率损耗保护
CN110968473A (zh) 存储器控制器和包括存储器控制器的存储装置
CN112015339B (zh) 一种存储器的数据保存系统,保存方法及存储系统
US11281381B2 (en) Storage node of distributed storage system and method of operating the same
CN115390747A (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