CN113392036A - 固态存储器及其数据写入方法、装置 - Google Patents
固态存储器及其数据写入方法、装置 Download PDFInfo
- Publication number
- CN113392036A CN113392036A CN202010166525.8A CN202010166525A CN113392036A CN 113392036 A CN113392036 A CN 113392036A CN 202010166525 A CN202010166525 A CN 202010166525A CN 113392036 A CN113392036 A CN 113392036A
- Authority
- CN
- China
- Prior art keywords
- data
- region
- cache
- capacity
- cache region
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 139
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013500 data storage Methods 0.000 claims abstract description 53
- 238000003860 storage Methods 0.000 claims abstract description 26
- 230000002085 persistent effect Effects 0.000 claims abstract description 15
- 238000006243 chemical reaction Methods 0.000 claims description 34
- 230000006872 improvement Effects 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 8
- 239000010410 layer Substances 0.000 claims description 4
- 239000002356 single layer Substances 0.000 claims description 3
- 238000013467 fragmentation Methods 0.000 description 8
- 238000006062 fragmentation reaction Methods 0.000 description 8
- 230000002035 prolonged effect Effects 0.000 description 6
- 230000003321 amplification Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000003199 nucleic acid amplification method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种固态存储器及其数据写入方法、装置,固态存储器包括数据存储单元,数据存储单元包括缓存区域和闪存区域,方法包括:接收数据写入指令;在接收到数据写入指令后,按照预设写入码率将待写入热数据写入所述缓存区域,并对写入缓存区域的热数据进行持久化存储;判断缓存区域是否处于写满状态;如果是,则将缓存区域的热数据搬移至所述闪存区域。由于写入缓存区域的热数据被持久化存储,因而即使发生断电,缓存区域内的数据也不会发生流失,从而有效避免了采用传统数据写入方法时,存在的断电时发生部分数据流失,导致重要数据缺失的问题。
Description
技术领域
本发明涉及存储设备技术领域,特别是涉及一种固态存储器及其数据写入方法、装置。
背景技术
目前,存储器主要分为两类:易失性存储器和非易失性存储器,其中易失性存储器在断电后,其内部数据信息会发生流失,例如DRAM(Dynamic Random Access Memory,动态随机存取存储器),主要用于做PC(Personal Computer,个人计算机)机内存、手机内存等;非易失性存储器在断电后,其内部数据信息仍然存在,主要是FLASH存储器,又称闪存,如NAND FLASH和NOR FLASH,其中NOR FLASH主要用于代码存储介质中,而NAND FLASH主要用于数据存储。
NAND FLASH作为目前闪存的主要产品,其基本存储单元(Cell)是由一种类NMOS(NMetal Oxide Semiconductor,N型金属氧化物半导体)的双层浮空栅MOS管组成,制造工艺主要有FG(Floating Gate,浮栅极)工艺和CTF(Charge Trap Flash,电荷撷取闪存)工艺。
在NAND FLASH中,数据是以位(bit)的方式保存在基本存储单元中,一个基本存储单元可以存储1个或多个bit数据,当存储1bit数据时,将其称为SLC(Single Level Cell,单层式存储单元);存储2bit数据时,称为MLC(Multiple Level Cell,双层式存储单元);存储3bit数据时,称为TLC(Triple Level Cell,三层式存储单元)。在这些存储单元中,SLC的使用寿命最长且数据写入速度更快、更稳定,但是价格昂贵,因此在NAND FLASH产品中,通常将TLC的部分区域切换为SLC作为高速缓存区域来达到数据写入加速的目的,从而提升整个存储器的性能。但是,由于目前的数据写入方法是在高速缓存区域被写满后才进行数据的搬移,因此即使高速缓存区域能够达到快速写入的目的,也避免不了在断电时发生部分数据的流失,导致重要数据缺失。
发明内容
基于此,有必要针对目前数据写入方法存在的断电时发生部分数据流失,导致重要数据缺失的问题,提供一种固态存储器及其数据写入方法、装置。
一种固态存储器的数据写入方法,固态存储器包括数据存储单元,数据存储单元包括缓存区域和闪存区域,方法包括:
接收数据写入指令;
在接收到数据写入指令后,按照预设写入码率将待写入热数据写入缓存区域,并对写入缓存区域的热数据进行持久化存储;
判断缓存区域是否处于写满状态;
如果是,则将缓存区域的热数据搬移至闪存区域。
在其中一个实施例中,判断缓存区域是否处于写满状态,包括:
判断缓存区域的剩余容量是否小于或等于预设阈值;
如果是,则判定缓存区域处于写满状态。
在其中一个实施例中,缓存区域由闪存区域转换获得,方法还包括:
按照预设规则确定缓存区域的容量;
根据确定的缓存区域的容量对闪存区域的部分区域进行模式转换以获得缓存区域。
在其中一个实施例中,按照预设规则确定缓存区域的容量,包括:
获取待写入热数据的最短时长和最长时长;
根据最短时长、最长时长和预设写入码率确定待写入热数据的容量范围;
根据待写入热数据的容量范围确定缓存区域的容量。
在其中一个实施例中,按照预设规则确定缓存区域的容量,包括:
获取缓存区域的可擦写次数、闪存区域的可擦写次数、数据存储单元的总容量、闪存区域向缓存区域转换的容量转换系数和数据存储单元的寿命提升倍率;
根据缓存区域的可擦写次数、闪存区域的可擦写次数、数据存储单元的总容量、闪存区域向缓存区域转换的容量转换系数和数据存储单元的寿命提升倍率确定缓存区域的容量。
在其中一个实施例中,通过以下方式确定缓存区域的容量:
((PEh*X)+PEs*(CAPtotal-Ptrf*X))/(PEs*CAPtotal)≥N,
其中,X为缓存区域的容量、PEh为缓存区域的可擦写次数、PEs为闪存区域的可擦写次数、CAPtotal为数据存储单元的总容量、Ptrf为闪存区域向缓存区域转换的容量转换系数、N为数据存储单元的寿命提升倍率。
在其中一个实施例中,在将缓存区域的热数据搬移至闪存区域之后,还包括:
判断热数据是否搬移成功;
如果是,则更新闪存区域的逻辑地址和物理地址映射表,并擦除缓存区域的热数据。
在其中一个实施例中,缓存区域为单层式存储区域,闪存区域为多层式存储区域。
一种固态存储器的数据写入装置,固态存储器包括数据存储单元,数据存储单元包括缓存区域和闪存区域,装置包括:
指令接收模块,用于接收数据写入指令;
数据写入模块,用于在指令接收模块接收到数据写入指令后,按照预设写入码率将待写入热数据写入缓存区域,并对写入缓存区域的热数据进行持久化存储;
判断模块,用于判断缓存区域是否处于写满状态;
数据搬移模块,用于在判断模块判定缓存区域处于写满状态时,将缓存区域的热数据搬移至闪存区域。
一种固态存储器,包括控制单元和数据存储单元,控制单元用于向数据存储单元写入数据,并在向数据存储单元写入数据时,执行上述的数据写入方法的步骤。
上述技术方案中的一个技术方案具有如下优点和有益效果:
上述的固态存储器及其数据写入方法、装置,在接收到数据写入指令后,按照预设写入码率将待写入热数据写入缓存区域,并对写入缓存区域的热数据进行持久化存储,以及判断缓存区域是否处于写满状态,如果是,则将缓存区域的热数据搬移至闪存区域。由于写入缓存区域的热数据被持久化存储,因而即使发生断电,缓存区域内的数据也不会发生流失,从而有效避免了采用传统数据写入方法时,存在的断电时发生部分数据流失,导致重要数据缺失的问题。
附图说明
图1为第一个实施例中固态存储器的数据写入方法的流程图;
图2为第二个实施例中固态存储器的数据写入方法的流程图;
图3为第三个实施例中固态存储器的数据写入方法的流程图;
图4为一个实施例中数据存储单元的存储空间分布图;
图5为第四个实施例中固态存储器的数据写入方法的流程图;
图6为一个实施例中固态存储器的数据写入装置的结构示意图;
图7为一个实施例中固态存储器的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
图1为第一个实施例中固态存储器的数据写入方法的流程图,如图1所示,固态存储器的数据写入方法包括:
S11,接收数据写入指令。
在本申请的实施例中,固态存储器可包括控制单元和数据存储单元,数据存储单元包括缓存区域和闪存区域,其中缓存区域可以是独立设置的区域,例如采用与闪存区域不同的存储介质设置获得;也可以是通过对闪存区域中的部分区域进行转换获得,例如,闪存区域为多层式存储区域,通过对多层式存储区域进行转换获得单层式存储区域,将该单层式存储区域作为缓存区域,更具体地,以NANN FLASH为例,闪存区域可以为TLC区域、MLC区域或者QLC(Quad Level Cell,四层式存储单元)区域等,通过对TLC区域、MLC区域或者QLC区域进行模式转换,获得pSLC区域,将该pSLC区域作为缓存区域。
在数据写入时,控制单元实时接收数据写入指令,并在接收到数据写入指令后,开始向数据存储单元中写入数据。
S12,在接收到数据写入指令后,按照预设写入码率将待写入热数据写入缓存区域,并对写入缓存区域的热数据进行持久化存储。
在本申请中,热数据是指当前或者最近在固态存储器中记录的数据,例如,将当前及当前时刻之前10分钟内记录的数据称为热数据,相对于热数据,将更早之前记录的数据称为冷数据。预设写入码率可根据实际情况进行设定。
控制单元在接收到数据写入指令后,按照预设写入码率将待写入热数据写入缓存区域,如将持续数据流持续写入缓存区域,并对写入缓存区域的热数据进行持久化存储,由于写入缓存区域的热数据被持久化存储,因而即使发生断电,缓存区域内的数据也不会发生流失,从而有效避免了采用传统数据写入方法存在的断电时部分数据流失,导致重要数据缺失的问题。
举例来说,在持续写应用场景下,以车载行车记录仪为例。可以将当前及当前时刻之前10分钟内记录的数据称为热数据,而更早之前记录的数据称为冷数据,对于用户来说,通常关心更多的是热数据,例如车辆发生碰撞时的数据,而如果车辆发生碰撞且碰撞时出现低压蓄电池断电的情况,那么在以传统数据写入方法进行数据写入时,由于缓存区域的热数据持久化存储到闪存区域时,采用的是分步法,即需要通过多步才能完成数据的搬移及持久化存储,因而在断电瞬间,缓存区域内的热数据来不及搬移至闪存区域,从而导致缓存区域的热数据丢失,进而导致重要数据缺失。而本申请通过将写入至缓存区域的热数据进行持久化存储,这样即使发生断电,在面对持续数据流写入的情形,缓存区域的热数据也不会丢失,从而有效避免了上述情况的发生。
需要说明的是,由于本申请是通过对写入缓存区域的热数据进行持久化存储来避免断电时数据的丢失,所以在对缓存区域进行设置时,需要其具有持久化写入特性,即保证缓存区域的数据可读写。
S13,判断缓存区域是否处于写满状态。
S14,如果是,则将缓存区域的热数据搬移至闪存区域。
由于缓存区域主要用于加速缓存,通常容量设置的比较小,所以在将待写入热数据写入缓存区域的过程中,还实时判断缓存区域是否处于写满状态,如果处于写满状态,则将缓存区域的热数据搬移至闪存区域,并进行持久化存储。
在一个实施例中,判断缓存区域是否处于写满状态,包括:判断缓存区域的剩余容量是否小于或等于预设阈值;如果是,则判定缓存区域处于写满状态。其中,预设阈值可以是容量值,也可以是剩余容量占缓存区域总容量的比值,预设阈值可以为零,也可以为一个接近零的较小值,当预设阈值为零时,表示在整个缓存区域没有任何剩余空间时,判定缓存区域处于写满状态;当预设阈值为一个接近零的较小值时,表示在整个缓存区域剩余一小部分空间时,判定缓存区域处于写满状态,具体采用哪种判断方式可根据实际情况进行设置。当然,也可以采用其它判断方式,具体这里不做限制。
本实施例中,由于缓存区域不仅用于对数据的加速缓存,而且写入缓存区域的热数据能够被持久化存储,使得缓存区域的热数据可读写,同时缓存区域的数据写入速度远优于闪存区域,因而即使发生断电,缓存区域的热数据也不会流失,从而有效避免了断电时部分数据流失导致重要数据缺失的情况发生,同时,缓存区域比闪存区域具有更优秀的高低温耐性,即使在极端高低温的工作环境下,也能很好地保障热数据成功写入并安全存储,满足了工业存储需求。
在一个实施例中,如图2所示,当缓存区域由闪存区域转换获得时,固态存储器的数据写入方法还包括:
S21,按照预设规则确定缓存区域的容量。
S22,根据确定的缓存区域的容量对闪存区域的部分区域进行模式转换以获得缓存区域。
具体而言,在对数据存储单元中的缓存区域和闪存区域进行设置时,基于有效存储容量的考量,即闪存区域容量的考量,通常缓存区域的容量不会太大,同时通过前面描述可知,在缓存区域写满后,还将缓存区域的数据搬移至闪存区域,但是由于缓存区域的容量较小,在持续写应用场景下,缓存区域很快就会被写满,这样就会存在数据的频繁搬移,而数据的频繁搬移很容易造成碎片化问题,进一步地,碎片化导致的写放大(WriteAmplification)问题,会极大地减少闪存区域的使用寿命,进而减少整个固态存储器的使用寿命。基于此,本申请通过采用相应的算法计算来获得一个较大的缓存区域容量,以使缓存区域不仅能够达到数据写入加速的目的,同时能够有效减小因数据频繁搬移导致的碎片化以及使用寿命减少的问题。
以缓存区域由闪存区域转换获得为例,可先按照预设规则确定缓存区域的容量,然后根据确定的缓存区域的容量对闪存区域的部分区域进行模式转换以获得缓存区域,以使所获得的缓存区域不仅能够达到数据写入加速的目的,同时能够有效减小因数据频繁搬移导致的碎片化以及使用寿命减少的问题。
在一个实施例中,按照预设规则确定缓存区域的容量,包括:获取待写入热数据的最短时长和最长时长;根据最短时长、最长时长和预设写入码率确定待写入热数据的容量范围;根据待写入热数据的容量范围确定缓存区域的容量。
待写入热数据的最短时长是指用户最少想要了解的热数据的时长,待写入热数据的最长时长是指用户最多想要了解的热数据的时长,以车载行车记录仪为例,待写入热数据的最短时长可以是当前时刻之前的5分钟,待写入热数据的最长时长可以是当前时刻之前的30分钟,具体可根据用户实际需求选择设置。
在获得待写入热数据的最短时长TMIN和最长时长TMAX后,根据最短时长TMIN和预设写入码率S计算出待写入热数据的容量最小值TMIN*S,根据最长时长TMAX和预设写入码率S计算出待写入热数据的容量最大值TMAX*S,从而确定出待写入热数据的容量范围[TMIN*S,TMAX*S],然后从待写入热数据的容量范围内选取一容量作为缓存区域的容量,即缓存区域的容量X满足:TMIN*S≤X≤TMAX*S,然后根据该容量X对闪存区域的部分区域进行模式转换以获得缓存区域。
需要说明的是,该方式不仅适用于缓存区域由闪存区域转换获得的情况,还适用于前面所提到的缓存区域单独设置获得的情况。
本实施例中,通过相应的算法可使缓存区域具有一个比较大的容量,使得缓存区域能够缓存足够大的连续数据,从而通过低频搬移连续大数据的方法控制文件的碎片化,进一步解决碎片化导致的写放大问题,大大提升了闪存区域的使用寿命,进而提升了固态存储器的使用寿命。
在一个实施例中,按照预设规则确定缓存区域的容量,包括:获取缓存区域的可擦写次数、闪存区域的可擦写次数、数据存储单元的总容量、闪存区域向缓存区域转换的容量转换系数和数据存储单元的寿命提升倍率;根据缓存区域的可擦写次数、闪存区域的可擦写次数、数据存储单元的总容量、闪存区域向缓存区域转换的容量转换系数和数据存储单元的寿命提升倍率确定缓存区域的容量。在一个实施例中,通过以下方式确定缓存区域的容量:
((PEh*X)+PEs*(CAPtotal-Ptrf*X))/(PEs*CAPtotal)≥N (1)
其中,X为缓存区域的容量、PEh为缓存区域的可擦写次数、PEs为闪存区域的可擦写次数、CAPtotal为数据存储单元的总容量、Ptrf为闪存区域向缓存区域转换的容量转换系数、N为数据存储单元的寿命提升倍率。
具体而言,当缓存区域由闪存区域转换获得时,除了可以根据用户需求设置外,还可以基于固态存储器的基本特性确定,以使其达到所期望的使用寿命。由于缓存区域由闪存区域通过模式转换获得,所以转换后的缓存区域的可擦写次数将不同于闪存区域,并且容量以及使用寿命也会发生变化,因此可以根据缓存区域的可擦写次数PEh、闪存区域的可擦写次数PEs、数据存储单元的总容量CAPtotal、闪存区域向缓存区域转换的容量转换系数Ptrf以及数据存储单元的寿命提升倍率N(或固态存储器的寿命提升倍率),按照上述公式(1)来确定缓存区域的容量范围,然后从获取的容量范围内选取一容量作为缓存区域的容量X,然后根据该容量X对闪存区域的部分区域进行模式转换以获得缓存区域。
本实施例中,在获取缓存区域的容量时,综合考量了闪存区域向缓存区域转换时产生的可擦写次数的改变,以及容量和使用寿命的改变,因而能够在满足期望使用寿命的前提下,使得缓存区域具有一个较大的容量,从而通过低频搬移连续大数据的方法控制文件碎片化,进一步解决了写放大问题,大大提升了闪存区域的使用寿命,进而提升了固态存储器的使用寿命。
需要说明的是,在本申请中还可以采用其它方式来确定缓存区域的容量,例如除了根据用户对待查看热数据时长的需求外,还可以根据使用寿命、使用环境、产品价格等等来确定,具体这里不做限制。
在一个实施例中,如图3所示,在将缓存区域的热数据搬移至闪存区域之后,还包括:
S31,判断热数据是否搬移成功。
S32,如果是,则更新闪存区域的逻辑地址和物理地址映射表,并擦除缓存区域的热数据。
在缓存区域的热数据搬移至闪存区域后,还判断缓存区域的热数据是否搬移成功,如果热数据搬移成功,则更新闪存区域的逻辑地址和物理地址的映射表,以为下一次热数据的搬移做准备,并在闪存区域的逻辑地址和物理地址的映射表更新完成后,擦除缓存区域的热数据,即擦除缓存区域相应的Block(块),以用来存储新的热数据;如果热数据搬移失败,则重新执行搬移操作,直至热数据搬移成功或者搬移次数达到预设次数,停止此次数据的搬移。
为使本领域技术人员能够更清楚的了解本申请,下面结合一个具体示例来对本申请提出的固态存储器的数据写入方法做进一步说明。
以闪存区域为TLC且缓存区域由闪存区域TLC进行模式转换获得为例,为了便于说明,本实施例中将由闪存区域TLC转换获得的缓存区域定义为pSLC。参考图4所示,在进行数据写入前,如固态存储器出厂前,可先根据用户实际需求确定待写入热数据的最短时长TMIN和最长时长TMAX,以及pSLC的写入码率S,根据最短时长TMIN、最长时长TMAX和写入码率S计算获得待写入热数据的容量范围[TMIN*S,TMAX*S],然后从待写入热数据的容量范围内选取一容量作为缓存区域pSLC的容量,即缓存区域pSLC的容量X满足:TMIN*S≤X≤TMAX*S,然后根据该容量X对闪存区域TLC的部分区域进行模式转换以获得缓存区域pSLC。
或者,根据缓存区域pSLC的可擦写次数PEpSLC、闪存区域TLC的可擦写次数PETLC、数据存储单元的总容量CAPtotal、闪存区域TLC向缓存区域pSLC转换的容量转换系数Ptrf以及数据存储单元的寿命提升倍率N,按照上述公式(1)来确定缓存区域pSLC的容量范围,然后从获取的容量范围内选取一容量作为缓存区域pSLC的容量X,然后根据该容量X对闪存区域TLC的部分区域进行模式转换以获得缓存区域pSLC。
在进行数据写入时,如图5所示,控制单元(如外部控制器)在接收到数据写入指令后,按照预先确定的缓存区域pSLC的写入码率S将待写入热数据写入至缓存区域pSLC并进行持久化存储,直至缓存区域pSLC处于写满状态,如缓存区域pSLC的剩余容量小于或等于预设阈值,将缓存区域pSLC的热数据搬移至闪存区域TLC并持久化存储(闪存区域TLC的数据可称为冷数据)。进一步地,在缓存区域pSLC的热数据搬移至闪存区域TLC后,还判断缓存区域pSLC的热数据是否搬移成功,如果搬移成功,则更新闪存区域TLC的逻辑地址和物理地址的映射表,以为下一次热数据的搬移做准备,并在闪存区域TLC的逻辑地址和物理地址的映射表更新完成后,擦除缓存区域pSLC的热数据,即擦除缓存区域相应的Block(块),以用来存储新的热数据;如果搬移失败,则重新执行搬移操作,直至热数据搬移成功或者搬移次数达到预设次数,停止此次热数据的搬移,至此完成一次热数据的存储。
本实施例中,由于缓存区域pSLC的热数据是持久化缓存且缓存区域pSLC的写操作速度远优于闪存区域TLC,能够更好地保证热数据成功写入且不会丢失,因而即使发生断电,缓存区域的热数据也不会丢失,而且缓存区域pSLC比闪存区域TLC具有更优秀的高低温耐性,即使在极端高低温的工作环境下,也能保证缓存区域pSLC热数据的成功写入以及安全存储。同时,通过相应的计算方法对缓存区域pSLC进行设置,可以使得缓存区域pSLC具有一个较大的容量,使得固态存储器能够缓存足够大的连续的数据,从而通过低频搬移连续大数据的方法控制文件碎片化,进一步解决了写放大问题,大大提升了闪存区域TLC的使用寿命,进而提升了固态存储器的使用寿命。
图6为一个实施例中固态存储器的数据写入装置的结构示意图,其中固态存储器包括数据存储单元,数据存储单元包括缓存区域和闪存区域,如图6所示,固态存储器的数据写入装置包括:指令接收模块61、数据写入模块62、判断模块63和数据搬移模块64。
其中,指令接收模块61用于接收数据写入指令;数据写入模块62用于在指令接收模块接收到数据写入指令后,按照预设写入码率将待写入热数据写入缓存区域,并对写入缓存区域的热数据进行持久化存储;判断模块63用于判断缓存区域是否处于写满状态;数据搬移模块64用于在判断模块判定缓存区域处于写满状态时,将缓存区域的热数据搬移至闪存区域。
在一个实施例中,判断模块63具体用于判断缓存区域的剩余容量是否小于或等于预设阈值;如果是,则判定缓存区域处于写满状态。
在一个实施例中,缓存区域由闪存区域转换获得,固态存储器的数据写入装置还包括:确定模块(未示出),用于按照预设规则确定缓存区域的容量;转换模块(未示出),用于根据确定的缓存区域的容量对闪存区域的部分区域进行模式转换以获得缓存区域。
在一个实施例中,确定模块具体用于获取待写入热数据的最短时长和最长时长;根据最短时长、最长时长和预设写入码率确定待写入热数据的容量范围;根据待写入热数据的容量范围确定缓存区域的容量。
在一个实施例中,确定模块具体用于获取缓存区域的可擦写次数、闪存区域的可擦写次数、数据存储单元的总容量、闪存区域向缓存区域转换的容量转换系数和数据存储单元的寿命提升倍率;根据缓存区域的可擦写次数、闪存区域的可擦写次数、数据存储单元的总容量、闪存区域向缓存区域转换的容量转换系数和数据存储单元的寿命提升倍率确定缓存区域的容量。
在一个实施例中,确定模块通过以下方式确定缓存区域的容量:
((PEh*X)+PEs*(CAPtotal-Ptrf*X))/(PEs*CAPtotal)≥N,
其中,X为缓存区域的容量、PEh为缓存区域的可擦写次数、PEs为闪存区域的可擦写次数、CAPtotal为数据存储单元的总容量、Ptrf为闪存区域向缓存区域转换的容量转换系数、N为数据存储单元的寿命提升倍率。
在一个实施例中,数据搬移模块64还用于判断热数据是否搬移成功;如果是,则更新闪存区域的逻辑地址和物理地址映射表,并擦除缓存区域的热数据。
在一个实施例中,缓存区域为单层式存储区域,闪存区域为多层式存储区域。
需要说明的是,本申请中关于固态存储器的数据写入装置的描述,可参考本申请中关于固态存储器的数据写入方法的描述,具体这里就不再赘述。
图7为一个实施例中固态存储器的结构示意图,如图7所示,固态存储器包括控制单元71和数据存储单元72,控制单元71用于向数据存储单元72写入数据,并在向数据存储单元72写入数据时,执行上述的数据写入方法的步骤。
需要说明的是,本申请中关于固态存储器的描述,可参考本申请中关于固态存储器的数据写入方法的描述,具体这里就不再赘述。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种固态存储器的数据写入方法,其特征在于,所述固态存储器包括数据存储单元,所述数据存储单元包括缓存区域和闪存区域,所述方法包括:
接收数据写入指令;
在接收到所述数据写入指令后,按照预设写入码率将待写入热数据写入所述缓存区域,并对写入所述缓存区域的热数据进行持久化存储;
判断所述缓存区域是否处于写满状态;
如果是,则将所述缓存区域的热数据搬移至所述闪存区域。
2.根据权利要求1所述的固态存储器的数据写入方法,其特征在于,所述判断所述缓存区域是否处于写满状态,包括:
判断所述缓存区域的剩余容量是否小于或等于预设阈值;
如果是,则判定所述缓存区域处于所述写满状态。
3.根据权利要求1所述的固态存储器的数据写入方法,其特征在于,所述缓存区域由所述闪存区域转换获得,所述方法还包括:
按照预设规则确定所述缓存区域的容量;
根据确定的所述缓存区域的容量对所述闪存区域的部分区域进行模式转换以获得所述缓存区域。
4.根据权利要求3所述的固态存储器的数据写入方法,其特征在于,所述按照预设规则确定所述缓存区域的容量,包括:
获取所述待写入热数据的最短时长和最长时长;
根据所述最短时长、所述最长时长和所述预设写入码率确定所述待写入热数据的容量范围;
根据所述待写入热数据的容量范围确定所述缓存区域的容量。
5.根据权利要求3所述的固态存储器的数据写入方法,其特征在于,所述按照预设规则确定所述缓存区域的容量,包括:
获取所述缓存区域的可擦写次数、所述闪存区域的可擦写次数、所述数据存储单元的总容量、所述闪存区域向所述缓存区域转换的容量转换系数和所述数据存储单元的寿命提升倍率;
根据所述缓存区域的可擦写次数、所述闪存区域的可擦写次数、所述数据存储单元的总容量、所述闪存区域向所述缓存区域转换的容量转换系数和所述数据存储单元的寿命提升倍率确定所述缓存区域的容量。
6.根据权利要求5所述的固态存储器的数据写入方法,其特征在于,通过以下方式确定所述缓存区域的容量:
((PEh*X)+PEs*(CAPtotal-Ptrf*X))/(PEs*CAPtotal)≥N,
其中,X为所述缓存区域的容量、PEh为所述缓存区域的可擦写次数、PEs为所述闪存区域的可擦写次数、CAPtotal为所述数据存储单元的总容量、Ptrf为所述闪存区域向所述缓存区域转换的容量转换系数、N为所述数据存储单元的寿命提升倍率。
7.根据权利要求1所述的固态存储器的数据写入方法,其特征在于,在将所述缓存区域的热数据搬移至所述闪存区域之后,还包括:
判断所述热数据是否搬移成功;
如果是,则更新所述闪存区域的逻辑地址和物理地址映射表,并擦除所述缓存区域的热数据。
8.根据权利要求1-7中任一项所述的固态存储器的数据写入方法,其特征在于,所述缓存区域为单层式存储区域,所述闪存区域为多层式存储区域。
9.一种固态存储器的数据写入装置,其特征在于,所述固态存储器包括数据存储单元,所述数据存储单元包括缓存区域和闪存区域,所述装置包括:
指令接收模块,用于接收数据写入指令;
数据写入模块,用于在所述指令接收模块接收到所述数据写入指令后,按照预设写入码率将待写入热数据写入所述缓存区域,并对写入所述缓存区域的热数据进行持久化存储;
判断模块,用于判断所述缓存区域是否处于写满状态;
数据搬移模块,用于在所述判断模块判定所述缓存区域处于所述写满状态时,将所述缓存区域的热数据搬移至所述闪存区域。
10.一种固态存储器,其特征在于,包括控制单元和数据存储单元,所述控制单元用于向所述数据存储单元写入数据,并在向所述数据存储单元写入数据时,执行根据权利要求1-8中任一项所述的数据写入方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010166525.8A CN113392036B (zh) | 2020-03-11 | 2020-03-11 | 固态存储器及其数据写入方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010166525.8A CN113392036B (zh) | 2020-03-11 | 2020-03-11 | 固态存储器及其数据写入方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113392036A true CN113392036A (zh) | 2021-09-14 |
CN113392036B CN113392036B (zh) | 2024-02-02 |
Family
ID=77615542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010166525.8A Active CN113392036B (zh) | 2020-03-11 | 2020-03-11 | 固态存储器及其数据写入方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392036B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138206A (zh) * | 2021-12-09 | 2022-03-04 | 北京紫光芯能科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN116884464A (zh) * | 2023-09-06 | 2023-10-13 | 上海芯存天下电子科技有限公司 | flash芯片的擦除方法、装置及flash芯片 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455283A (zh) * | 2013-08-19 | 2013-12-18 | 华中科技大学 | 一种混合存储系统 |
WO2016002325A1 (ja) * | 2014-07-04 | 2016-01-07 | 日本電気株式会社 | 情報処理システム、情報処理方法、記憶制御装置およびその制御方法と制御プログラム |
CN106843762A (zh) * | 2017-01-17 | 2017-06-13 | 北京联想核芯科技有限公司 | 管理存储区域的方法及固态硬盘 |
CN107093436A (zh) * | 2017-03-10 | 2017-08-25 | 青岛海信移动通信技术股份有限公司 | 预录的音视频数据的存储方法及装置、移动终端 |
CN107357534A (zh) * | 2017-07-18 | 2017-11-17 | 深圳市德名利电子有限公司 | 一种闪存块模式的动态切换方法及系统 |
JP2018063624A (ja) * | 2016-10-14 | 2018-04-19 | 京セラドキュメントソリューションズ株式会社 | メモリーシステム及び画像形成装置 |
CN107943713A (zh) * | 2017-11-22 | 2018-04-20 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘读性能的方法及固态硬盘 |
CN110377233A (zh) * | 2019-07-22 | 2019-10-25 | 深圳忆联信息系统有限公司 | Ssd读性能优化方法、装置、计算机设备及存储介质 |
CN110413224A (zh) * | 2019-06-26 | 2019-11-05 | 深圳佰维存储科技股份有限公司 | 数据存储方法、装置及存储器 |
CN110569002A (zh) * | 2019-09-18 | 2019-12-13 | 深圳市得一微电子有限责任公司 | 一种基于混合模式的闪存设备可变容量装置和方法 |
-
2020
- 2020-03-11 CN CN202010166525.8A patent/CN113392036B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455283A (zh) * | 2013-08-19 | 2013-12-18 | 华中科技大学 | 一种混合存储系统 |
WO2016002325A1 (ja) * | 2014-07-04 | 2016-01-07 | 日本電気株式会社 | 情報処理システム、情報処理方法、記憶制御装置およびその制御方法と制御プログラム |
JP2018063624A (ja) * | 2016-10-14 | 2018-04-19 | 京セラドキュメントソリューションズ株式会社 | メモリーシステム及び画像形成装置 |
CN106843762A (zh) * | 2017-01-17 | 2017-06-13 | 北京联想核芯科技有限公司 | 管理存储区域的方法及固态硬盘 |
CN107093436A (zh) * | 2017-03-10 | 2017-08-25 | 青岛海信移动通信技术股份有限公司 | 预录的音视频数据的存储方法及装置、移动终端 |
CN107357534A (zh) * | 2017-07-18 | 2017-11-17 | 深圳市德名利电子有限公司 | 一种闪存块模式的动态切换方法及系统 |
CN107943713A (zh) * | 2017-11-22 | 2018-04-20 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘读性能的方法及固态硬盘 |
CN110413224A (zh) * | 2019-06-26 | 2019-11-05 | 深圳佰维存储科技股份有限公司 | 数据存储方法、装置及存储器 |
CN110377233A (zh) * | 2019-07-22 | 2019-10-25 | 深圳忆联信息系统有限公司 | Ssd读性能优化方法、装置、计算机设备及存储介质 |
CN110569002A (zh) * | 2019-09-18 | 2019-12-13 | 深圳市得一微电子有限责任公司 | 一种基于混合模式的闪存设备可变容量装置和方法 |
Non-Patent Citations (1)
Title |
---|
姚英彪;王发宽;: "具有磨损均衡意识的混合固态硬盘FTL算法", 计算机学报, pages 207 - 221 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138206A (zh) * | 2021-12-09 | 2022-03-04 | 北京紫光芯能科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN114138206B (zh) * | 2021-12-09 | 2024-03-19 | 北京紫光芯能科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN116884464A (zh) * | 2023-09-06 | 2023-10-13 | 上海芯存天下电子科技有限公司 | flash芯片的擦除方法、装置及flash芯片 |
CN116884464B (zh) * | 2023-09-06 | 2023-12-05 | 上海芯存天下电子科技有限公司 | flash芯片的擦除方法、装置及flash芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN113392036B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240152288A1 (en) | Flash memory controller | |
CN107368429B (zh) | 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法 | |
US20080140918A1 (en) | Hybrid non-volatile solid state memory system | |
US8356152B2 (en) | Initiative wear leveling for non-volatile memory | |
CN110347335B (zh) | 一种固态硬盘数据存储方法、装置 | |
US8145846B2 (en) | Memory system having nonvolatile and buffer memories, and reading method thereof | |
JP5418808B2 (ja) | 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置 | |
US20110029718A1 (en) | Method and system to improve the performance of a multi-level cell (mlc) nand flash memory | |
TW201333696A (zh) | 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 | |
TW201301031A (zh) | 在一記憶體裝置中動態記憶體快取大小的調整 | |
CN107179880B (zh) | 储存装置、其控制单元、及可用于储存装置的数据搬移方法 | |
CN113392036A (zh) | 固态存储器及其数据写入方法、装置 | |
KR20140133427A (ko) | 플래시 메모리에 저장된 데이터를 관리하는 방법 및 관련 메모리 장치 및 제어기 | |
CN102955743A (zh) | 固态储存装置及其损耗平均控制方法 | |
CN107305478B (zh) | 储存装置及其控制单元、可用于储存装置的数据储存方法 | |
CN108563397B (zh) | 存储装置以及数据保存方法 | |
US8583858B2 (en) | Nonvolatile memory controller and nonvolatile storage device | |
CN113467713B (zh) | 数据分离方法及固态硬盘 | |
CN110531935B (zh) | 一种基于物理页相对温度的slc闪存磨损均衡方法 | |
CN112765050B (zh) | NFTL算法适配NAND Flash的方法、存储设备 | |
CN114333927A (zh) | 一种固态存储器数据操作方法及装置 | |
WO2021082107A1 (zh) | 一种提高耗损平均技术效率的方法 | |
CN117666957A (zh) | 提升闪存数据保持能力的方法、装置及存储设备 | |
CN116431077A (zh) | 一种高可靠性ssd存储控制方法 | |
CN113655950A (zh) | 一种应用于电子远传水表的eeprom擦写平衡方法 |
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 |