CN111367823B - 一种写入有效数据的方法以及装置 - Google Patents
一种写入有效数据的方法以及装置 Download PDFInfo
- Publication number
- CN111367823B CN111367823B CN201811595581.2A CN201811595581A CN111367823B CN 111367823 B CN111367823 B CN 111367823B CN 201811595581 A CN201811595581 A CN 201811595581A CN 111367823 B CN111367823 B CN 111367823B
- Authority
- CN
- China
- Prior art keywords
- target data
- mapping table
- mapping
- slc block
- data
- 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
Links
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
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
本发明一种写入有效数据的方法以及装置,所述方法包括:接收上位机发送的数据写入指令,根据所述数据写入指令,写入数据,并在所述映射表中,增加数据的逻辑地址与SLC Block中存储数据的物理地址之间的映射关系,检测所述映射表中映射关系的个数是否达到第一预设值,检测所述SLC Block是否写满,若映射关系的个数达到第一预设值,且所述SLC Block没有写满,将所述SLC Block中,无效目标数据消除,生成锁定映射表,满足条件时将所述锁定映射表中的映射关系,更新至最终有效映射表中。本发明提供的一种数据替换的方法以及装置,通过垃圾回收机制,消除SLC Block中无效目标数据,利用临时的映射表,实现数据逻辑地址,与SLC Block中只存储有效数据的物理地址互相映射的问题。
Description
技术领域
本发明涉及非易失存储器领域,特别是一种写入有效数据的方法以及装置。
背景技术
垃圾回收机制是指在非易失存储器使用时,如果不进行垃圾回收,非易失存储器的数据存储块迟早都会被消耗空,因为我们在不断的分配存储空间而不进行回收,除非存储空间无限大,我们可以任性的分配而不回收,但是事实并非如此,所以,垃圾回收是必须的。
现有的非易失存储器数据存储块包括SLC Block(Single-Level Cell)单层式存储单元,以及TLC Block(Triple-Level Cell)三层式存储单元,在将数据优先写入SLCBlock时,会在高速缓存中建立一个临时的映射表,针对SLC Block可能含有无效写入数据的情况,如何利用临时的映射表,实现非易失存储器最终有效映射表中,数据逻辑地址,与SLC Block中只存储有效数据的物理地址互相映射的方法暂时还没有。
发明内容
鉴于上述问题,本发明提供一种写入有效数据的方法以及装置,解决了现有技术中非易失存储器数据优先写入SLC Block时,如何利用临时的映射表,实现非易失存储器最终有效映射表中,数据逻辑地址,与SLC Block中只存储有效数据的物理地址互相映射的问题。
本发明实施例提供了一种写入有效数据的方法,所述方法应用于非易失存储器,所述非易失存储器包括:映射表和SLC Block,所述映射表为目标数据的逻辑地址,与SLCBlock中存储目标数据的物理地址之间映射关系的表,所述SLC Block为存储目标数据的存储块,所述SLC Block中存储的目标数据包括:有效目标数据和无效目标数据,所述方法包括:
接收上位机发送的用于写入目标数据的数据写入指令;
根据所述数据写入指令,将目标数据写入所述SLC Block,并在所述映射表中,增加目标数据的逻辑地址与SLC Block中存储目标数据的物理地址之间的映射关系;
检测所述映射表中映射关系的个数是否达到第一预设值;
检测所述SLC Block是否写满;
若所述映射表中映射关系的个数达到第一预设值,且所述SLC Block没有写满,将所述SLC Block中,无效目标数据消除,使得目标数据的逻辑地址,与SLC Block中存储有效目标数据的物理地址相互映射,并根据目标数据的逻辑地址,与SLC Block中存储有效目标数据的物理地址之间的映射关系,生成锁定映射表;
当所述锁定映射表中映射关系的个数达到第一预设值,且所述SLC Block写满,将所述锁定映射表中的映射关系,更新至最终有效映射表中,所述最终有效映射表为,所述非易失存储器中目标数据逻辑地址与SLC Block中写满的,只存储有效目标数据的物理地址之间映射关系的表。
可选地,检测所述映射表中映射关系的个数是否达到第一预设值,检测所述SLCBlock是否写满,所述方法还包括:
若所述映射表中映射关系的个数没有达到第一预设值,且所述SLCBlock写满,将所述SLC Block中无效目标数据消除,使得所述SLC Block继续写入目标数据,直至所述映射表中映射关系的个数达到第一预设值。
可选地,检测所述映射表中映射关系的个数是否达到第一预设值,检测所述SLCBlock是否写满,所述方法还包括:
若所述映射表中映射关系的个数没有达到第一预设值,且所述SLC Block没有写满,则所述目标数据继续写入所述SLC Block,并在所述映射表中,增加目标数据的逻辑地址与SLC Block中存储目标数据的物理地址之间的映射关系。
可选地,将所述锁定映射表中的映射关系,更新至最终有效映射表中,包括:
将所述锁定映射表中的映射关系,更新至最终有效映射表中,写满的,只存储有效目标数据的SLC Block不进行有效目标数据搬移操作。
可选地,将所述锁定映射表中的映射关系,更新至最终有效映射表后,所述方法还包括:
清除所述映射表以及所述锁定映射表的映射关系,释放所述映射表以及所述锁定映射表所占容量。
本发明实施例还提供了一种写入有效数据的装置,所述装置应用于非易失存储器,所述非易失存储器包括:映射表和SLC Block,所述映射表为目标数据的逻辑地址,与SLC Block中存储目标数据的物理地址之间映射关系的表,所述SLC Block为存储目标数据的存储块,所述SLC Block中存储的目标数据包括:有效目标数据和无效目标数据,所述装置包括:
接收模块,用于接收上位机发送的用于写入目标数据的数据写入指令;
写入增加模块,用于根据所述数据写入指令,将目标数据写入所述SLC Block,并在所述映射表中,增加目标数据的逻辑地址与SLC Block中存储目标数据的物理地址之间的映射关系;
第一检测模块,用于检测所述映射表中映射关系的个数是否达到第一预设值;
第二检测模块,用于检测所述SLC Block是否写满;
消除锁定模块,用于若所述映射表中映射关系的个数达到第一预设值,且所述SLCBlock没有写满,将所述SLC Block中,无效目标数据消除,使得目标数据的逻辑地址,与SLCBlock中存储有效目标数据的物理地址相互映射,并根据目标数据的逻辑地址,与SLCBlock中存储有效目标数据的物理地址之间的映射关系,生成锁定映射表;
更新模块,用于当所述锁定映射表中映射关系的个数达到第一预设值,且所述SLCBlock写满,将所述锁定映射表中的映射关系,更新至最终有效映射表中,所述最终有效映射表为,所述非易失存储器中目标数据逻辑地址与SLC Block中写满的,只存储有效目标数据的物理地址之间映射关系的表。
可选地,所述装置还包括:
消除写入模块,用于若所述映射表中映射关系的个数没有达到第一预设值,且所述SLC Block写满,将所述SLC Block中无效目标数据消除,使得所述SLC Block继续写入数据,直至所述映射表中映射关系的个数达到第一预设值。
可选地,所述装置还包括:
清除释放模块,用于清除所述映射表以及所述锁定映射表的映射关系,释放所述映射表以及所述锁定映射表所占容量。
与现有技术相比,本发明提供的一种写入有效数据的方法以及装置,通过检测映射表的映射关系个数达到第一预设值,且SLC Block没有写满时,消除SLC Block中无效目标数据,使得只含有效目标数据的SLC Block物理地址与目标数据逻辑地址互相映射,利用临时的映射表,实现非易失存储器最终有效映射表中,数据逻辑地址,与SLC Block中只存储有效数据的物理地址互相映射的问题。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明一种写入有效数据方法的流程图;
图2是本发明一种写入有效数据方法另一步骤的流程图;
图3是本发明一种写入有效数据方法另一情况的流程图;
图4是本发明一种写入有效数据装置的框图;
图5是本发明一种写入有效数据装置的另一框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,仅仅是本发明一部分实施例,而不是全部的实施例,并不用于限定本发明。
参照图1,示出了一种写入有效数据方法的流程图,该方法应用于非易失存储器,非易失存储器包括:映射表和SLC Block,映射表为目标数据的逻辑地址,与SLC Block中存储目标数据的物理地址之间映射关系的表,SLC Block为存储目标数据的存储块,SLCBlock中存储的目标数据包括:有效目标数据和无效目标数据,写入有效数据具体方法可以包括如下步骤:
步骤101:接收上位机发送的用于写入目标数据的数据写入指令。
本发明实施例中,在非易失存储器中SLC形式的1个存储单元可存放1bit(位)的数据,只需要两种电压就可以实现数据的表达,其相对于TLC来说,数据访问所需时间短,因此传输速度更块,并且稳定性高,所以将数据写入SLC Block,利用SLC Block的稳定性好,读写速度快的特性,使非易失存储器能更好的工作。而在对非易失存储器进行数据写入时,会在非易失存储器的高速缓存中,建立一个临时的映射表,该临时的映射表中存储着写入目标数据的逻辑地址,与SLC Block中存储目标数据的物理地址之间的映射关系。本发明实施例对目标数据写入非易失存储器的工作方式不做具体限定。
步骤102:根据数据写入指令,将目标数据写入SLC Block,并在映射表中,增加目标数据的逻辑地址与SLC Block中存储目标数据的物理地址之间的映射关系。
本发明实施例中,在将目标数据写入SLC Block时,同时在缓存的映射表中,会自动增加目标数据的逻辑地址,与SLC Block中存储目标数据的物理地址之间的映射关系,例如目标数据的逻辑地址是10,则在SLC Block中物理地址为10的SLC Block中写入目标数据,这样在映射表中就生成一个映射关系,逻辑地址10对应物理地址10。本发明实施例对增加映射关系的具体方式不做具体限定。
步骤103:检测映射表中映射关系的个数是否达到第一预设值。
本发明实施例中,将目标数据写入SLC Block,同时垃圾回收机制开始工作,周期性的检测各项条件是否符合垃圾回收机制运作的要求,在垃圾回收机制开始工作后,会定期检测映射表中映射关系的个数是否达到第一预设值,本发明实施例中第一预设值为2K,即映射表中映射关系的个数是否达到2048个,本发明实施例,非易失存储器中规定,对应这2048个映射关系的数据,在非易失存储器中占有的物理容量大小应该为,1024个SLC Block的物理容量大小,即当写入数据的逻辑地址,与SLC Block中存储有效目标数据的物理地址映射关系个数达到2048时,存储有效目标数据占有1024个SLC Block的物理容量。本发明实施例对检测映射表映射关系的具体方式,第一预设值的具体数据不做具体限定。
步骤104:检测SLC Block是否写满。
本发明实施例中,在垃圾回收机制开始工作后,会定期检测SLC Block是否被写满,本发明实施例,非易失存储器规定,对应2048个映射关系的数据,在非易失存储器中1024个SLC Block都是有效数据,把这1024个SLC Block存储有效数据的SLC Block称作锁定SLC Block,假设这1024个SLC Block种有一个SLC Block存储的是无效数据,则对应2048个映射关系的数据,有1025个SLC Block才存储完这些数据,即存储完对应2048个映射关系的数据,需要2两个锁定SLC Block,后一个锁定SLC Block没有存满。本发明实施例对检测SLC Block是否写满的具体方式具体限定。
步骤105:若映射表中映射关系的个数达到第一预设值,且SLC Block没有写满,将SLC Block中,无效目标数据消除,使得目标数据的逻辑地址,与SLC Block中存储有效目标数据的物理地址相互映射,并根据目标数据的逻辑地址,与SLC Block中存储有效目标数据的物理地址之间的映射关系,生成锁定映射表。
本发明实施例中,目标数据写入SLC Block中的可能是无效数据,无效数据是指对应于同一个逻辑地址的,旧的SLC Block中的数据,例如:逻辑地址0对应SLC Block中page0,对逻辑地址0写入一个数据,此时page0中就会写入一个数据,再一次对逻辑地址0写入一个数据,此时page1中就会写入一个数据,这样垃圾回收机制会认定page0中的数据就是无效数据,若是对逻辑地址0进行三次写入,则page0和page1中的数据都是无效数据,只有page2中的数据才是有效数据,需要说明的是,为什么用户要对page0进行多次写入,例如:若是page0的数据不再被使用,或者用户认为page0数据写入错误,需要进行修改,可以采用两种方式,一是发送擦除指令将page0的数据擦除,二是直接再一次对page0进行数据写入,采用第一种方式的缺点是,因为非易失存储器进行擦除操作是以块为单位进行的,所以当需要擦除page0的数据时,page0所在的块中的其他page的数据也会被擦除,这是用户不想得到的结果,并且擦除操作时间很长,用户需要等待擦除结束后才可以继续写入,这种使用非易失存储器的方式效率极为低下,一般不会采用这样的方式,而会采用第二种方式进行对page0的再一次写入。需要说明的是,因为SLC Block中存储的目标数据包括:有效目标数据和无效目标数据,所以极端情况下,可能SLC Block中存储的目标数据全都是无效数据,但是无效数据依然会占用SLC Block。当映射表中映射关系的个数达到2048个,对应这2048个映射关系的数据本应该占有1024个SLC Block,但因一部分SLC Block中有无效数据的存在,使得这1024个SLC Block没有存储完数据,所以数据继续往下一组1024个SLCBlock存储,直到将数据存储完毕,这时将存储数据的SLC Block中,无效数据消除,使得数据的逻辑地址,与SLC Block中存储有效数据的物理地址相互映射,即对应2048个映射关系的数据,在非易失存储器中占有1024个SLC Block,此时,非易失存储器根据数据的逻辑地址,与SLC Block中存储有效目标数据的物理地址之间的映射关系,生成一个新的映射表,称为锁定映射表。本发明实施例对消除无效数据,生成新映射表的方式不做具体限定。
步骤106:当锁定映射表中映射关系的个数达到第一预设值,且SLC Block写满,将锁定映射表中的映射关系,更新至最终有效映射表中,最终有效映射表为,非易失存储器中目标数据逻辑地址与SLC Block中写满的,只存储有效目标数据的物理地址之间映射关系的表。
本发明实施例中,根据步骤105,每当映射表中映射关系的个数达到2048个,并且对应2048个映射关系的数据,在非易失存储器中占有1024个SLC Block,就将锁定映射表中的映射关系都更新到最终有效映射表中,但1024个SLC Block中有效数据不进行数据搬移操作,最终有效映射表不存储在缓存中,而是存储在非易失存储器的映射表存储区中,该表为,非易失存储器中数据逻辑地址与SLC Block中写满的,只存储有效目标数据的物理地址之间映射关系的表。本发明实施例对更新映射表的具体方式,以及各映射表存储的区域不做具体限定。
可选地,参照图2,在步骤106后还可以包括如下步骤:
步骤107:清除映射表以及锁定映射表的映射关系,释放映射表以及锁定映射表所占容量。
本发明实施例中,当把数据的映射关系都更新到最终有效映射表后,非易失存储器会将缓存中的映射表以及锁定映射表中的映射关系全部清除,释放这两个表占用的容量,以等待下次数据的写入。本发明实施例对清除映射关系的具体方式不做具体限定。
可选地,参照图3,在步骤103和步骤105的进行中,根据条件是否满足,有不同的目标数据处理情况,其还包括如下步骤:
步骤200:若映射表中映射关系的个数没有达到第一预设值,且SLC Block写满,将SLC Block中无效目标数据消除,使得SLC Block继续写入目标数据,直至映射表中映射关系的个数达到第一预设值。
本发明实施例中,因为非易失存储器中包括很多个SLC Block,而且无效目标数据也会占用SLC Block,所以规定对应2048个映射关系的数据,如果有2048个SLC Block还没有存储完数据,就将2048个SLC Block中无效数据消除,使得SLC Block继续写入目标数据,直至映射表中映射关系的个数达到2048个。本发明实施例对消除无效数据的具体方式不做具体限定。
步骤300:若映射表中映射关系的个数没有达到第一预设值,且SLC Block没有写满,则目标数据继续写入SLC Block,并在映射表中,增加目标数据的逻辑地址与SLC Block中存储目标数据的物理地址之间的映射关系。
本发明实施例中,垃圾回收机制检测映射表中映射关系没有达到2048个,并且SLCBlock也没有被写满,则不进行垃圾回收操作,目标数据将继续写入SLC Block,同时继续在映射表中增加映射关系。
举例说明,非易失存储器根据写入指令,开始将数据写入SLC Block,在将数据写入SLC Block时,同时在缓存的映射表中,会自动增加数据的逻辑地址,与SLC Block中存储目标数据的物理地址之间的映射关系,同时垃圾回收机制开始工作,周期性的检测各项条件是否符合垃圾回收机制运作的要求。非易失存储器进行写入系统数据是从逻辑地址0开始写入,则对应的在SLC Block中物理地址0的地方写入系统数据,在垃圾回收机制开始工作后,会定期检测映射表中映射关系的个数是否达到2048个,SLC Block是否被写满。
当垃圾回收机制检测到映射表中映射关系个数达到2048,已写入数据的SLCBlock有1600个,超过了1024个,有576个SLC Block含有无效数据,消除这576个SLC Block中的无效数据,使得对应2048个映射关系的数据,占有1024个SLC Block,此时在缓存中生成一个锁定映射表,之后将映射表中的映射关系映射到最终有效映射表中。
因为无效目标数据也会占用SLC Block,所以有可能SLC Block先被写满,即2048个SLC Block还没有存储完数据,意味着含有数据的SLC Block中有大量的含无效数据的SLC Block,此时将含无效数据的SLC Block中无效目标数据消除,使得SLC Block继续写入数据,直至映射表中映射关系的个数达到2048个。
若检测映射表中映射关系的个数没有达到2048个,且SLC Block没有写满,则数据继续写入SLC Block,并在映射表中,增加目标数据的逻辑地址与SLC Block中存储目标数据的物理地址之间的映射关系,此时垃圾回收机制不进行垃圾回收,需要写入的数据直接写入SLC Block,直到满足垃圾回收机制进行垃圾回收的条件。
需要说明的是,本发明实施例并不限定数据的类型,垃圾回收机制的周期性检测是根据具体情况设定的时间,并没有固定时间,可以根据用户的具体需求来设定,当然可以理解的是,若是将周期时间设置比较长,则非易失存储器的工作效率相比较于设置时间短的要高一些。
需要说明的是,上述数据是为了使得实施例更加清晰易懂而例举的简单实施例,并不代表所有非易失存储器的指标,并且因为非易失存储器采用的元器件的制作工艺质量不同,所以能达到的工作状态会有差异,上述数据是满足一般制作工艺情况下,经过大量的仿真实验得出的数据,并不代表所有非易失存储器的指标。
参照图4,示出了一种写入有效数据装置的框图,该装置包括:
接收模块310,用于接收上位机发送的用于写入目标数据的数据写入指令;
写入增加模块320,用于根据数据写入指令,将目标数据写入SLC Block,并在映射表中,增加目标数据的逻辑地址与SLC Block中存储目标数据的物理地址之间的映射关系;
第一检测模块330,用于检测映射表中映射关系的个数是否达到第一预设值;
第二检测模块340,用于检测SLC Block是否写满;
消除锁定模块350,用于若映射表中映射关系的个数达到第一预设值,且SLCBlock没有写满,将SLC Block中,无效目标数据消除,使得目标数据的逻辑地址,与SLCBlock中存储有效目标数据的物理地址相互映射,并根据目标数据的逻辑地址,与SLCBlock中存储有效目标数据的物理地址之间的映射关系,生成锁定映射表;
更新模块360,用于当锁定映射表中映射关系的个数达到第一预设值,且SLCBlock写满,将锁定映射表中的映射关系,更新至最终有效映射表中,最终有效映射表为,非易失存储器中目标数据逻辑地址与SLC Block中写满的,只存储有效目标数据的物理地址之间映射关系的表。
可选地,参照图5,该装置还包括:
消除写入模块370,用于若映射表中映射关系的个数没有达到第一预设值,且SLCBlock写满,将SLC Block中无效目标数据消除,使得SLC Block继续写入数据,直至映射表中映射关系的个数达到第一预设值。
清除释放模块380,用于清除映射表以及锁定映射表的映射关系,释放映射表以及锁定映射表所占容量。
通过上述实施例,本发明在对非易失存储器进行数据写入时,在符合条件时清除SLC Block无效数据,释放出的SLC Block还可以继续写入数据,保障了SLC Block中数据的有效性,在映射表映射关系个数满足预设条件,并且SLC Block写满有效数据后,再将映射表更新到最终的有效映射表中,使得写入非易失存储器的数据都为有效数据,并且因为是在缓存中建立临时映射表,不用对非易失存储器的最终有效映射表进行频繁操作,提高了非易失存储器的工作效率。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种写入有效数据的方法以及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种写入有效数据的方法,其特征在于,所述方法应用于非易失存储器,所述非易失存储器包括:映射表和SLC Block,所述映射表为目标数据的逻辑地址,与SLC Block中存储目标数据的物理地址之间映射关系的表,所述SLC Block为存储目标数据的存储块,所述SLC Block中存储的目标数据包括:有效目标数据和无效目标数据,所述方法包括:
接收上位机发送的用于写入目标数据的数据写入指令;
根据所述数据写入指令,将目标数据写入所述SLC Block,并在所述映射表中,增加目标数据的逻辑地址与SLC Block中存储目标数据的物理地址之间的映射关系;
检测所述映射表中映射关系的个数是否达到第一预设值;
检测所述SLC Block是否写满;
若所述映射表中映射关系的个数达到第一预设值,且所述SLC Block没有写满,将所述SLC Block中,无效目标数据消除,使得目标数据的逻辑地址,与SLC Block中存储有效目标数据的物理地址相互映射,并根据目标数据的逻辑地址,与SLC Block中存储有效目标数据的物理地址之间的映射关系,生成锁定映射表;
当所述锁定映射表中映射关系的个数达到第一预设值,且所述SLC Block写满,将所述锁定映射表中的映射关系,更新至最终有效映射表中,所述最终有效映射表为,所述非易失存储器中目标数据逻辑地址与SLC Block中写满的,只存储有效目标数据的物理地址之间映射关系的表。
2.根据权利要求1所述的方法,其特征在于,检测所述映射表中映射关系的个数是否达到第一预设值,检测所述SLC Block是否写满,所述方法还包括:
若所述映射表中映射关系的个数没有达到第一预设值,且所述SLC Block写满,将所述SLC Block中无效目标数据消除,使得所述SLC Block继续写入目标数据,直至所述映射表中映射关系的个数达到第一预设值。
3.根据权利要求1所述的方法,其特征在于,检测所述映射表中映射关系的个数是否达到第一预设值,检测所述SLC Block是否写满,所述方法还包括:
若所述映射表中映射关系的个数没有达到第一预设值,且所述SLC Block没有写满,则所述目标数据继续写入所述SLC Block,并在所述映射表中,增加目标数据的逻辑地址与SLC Block中存储目标数据的物理地址之间的映射关系。
4.根据权利要求1所述的方法,其特征在于,将所述锁定映射表中的映射关系,更新至最终有效映射表中,包括:
将所述锁定映射表中的映射关系,更新至最终有效映射表中,写满的,只存储有效目标数据的SLC Block不进行有效目标数据搬移操作。
5.根据权利要求1所述的方法,其特征在于,将所述锁定映射表中的映射关系,更新至最终有效映射表后,所述方法还包括:
清除所述映射表以及所述锁定映射表的映射关系,释放所述映射表以及所述锁定映射表所占容量。
6.一种写入有效数据的装置,其特征在于,所述装置应用于非易失存储器,所述非易失存储器包括:映射表和SLC Block,所述映射表为目标数据的逻辑地址,与SLC Block中存储目标数据的物理地址之间映射关系的表,所述SLC Block为存储目标数据的存储块,所述SLC Block中存储的目标数据包括:有效目标数据和无效目标数据,所述装置包括:
接收模块,用于接收上位机发送的用于写入目标数据的数据写入指令;
写入增加模块,用于根据所述数据写入指令,将目标数据写入所述SLC Block,并在所述映射表中,增加目标数据的逻辑地址与SLC Block中存储目标数据的物理地址之间的映射关系;
第一检测模块,用于检测所述映射表中映射关系的个数是否达到第一预设值;
第二检测模块,用于检测所述SLC Block是否写满;
消除锁定模块,用于若所述映射表中映射关系的个数达到第一预设值,且所述SLCBlock没有写满,将所述SLC Block中,无效目标数据消除,使得目标数据的逻辑地址,与SLCBlock中存储有效目标数据的物理地址相互映射,并根据目标数据的逻辑地址,与SLCBlock中存储有效目标数据的物理地址之间的映射关系,生成锁定映射表;
更新模块,用于当所述锁定映射表中映射关系的个数达到第一预设值,且所述SLCBlock写满,将所述锁定映射表中的映射关系,更新至最终有效映射表中,所述最终有效映射表为,所述非易失存储器中目标数据逻辑地址与SLC Block中写满的,只存储有效目标数据的物理地址之间映射关系的表。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
消除写入模块,用于若所述映射表中映射关系的个数没有达到第一预设值,且所述SLCBlock写满,将所述SLC Block中无效目标数据消除,使得所述SLC Block继续写入数据,直至所述映射表中映射关系的个数达到第一预设值。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
清除释放模块,用于清除所述映射表以及所述锁定映射表的映射关系,释放所述映射表以及所述锁定映射表所占容量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811595581.2A CN111367823B (zh) | 2018-12-25 | 2018-12-25 | 一种写入有效数据的方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811595581.2A CN111367823B (zh) | 2018-12-25 | 2018-12-25 | 一种写入有效数据的方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367823A CN111367823A (zh) | 2020-07-03 |
CN111367823B true CN111367823B (zh) | 2022-03-29 |
Family
ID=71210176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811595581.2A Active CN111367823B (zh) | 2018-12-25 | 2018-12-25 | 一种写入有效数据的方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367823B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080087771A (ko) * | 2008-08-11 | 2008-10-01 | (주)세인정보통신 | 이미지 파일을 이용한 낸드 플래시메모리 고속 데이터 기록 |
CN101770426A (zh) * | 2008-12-31 | 2010-07-07 | 深圳市朗科科技股份有限公司 | 存储方法及存储设备 |
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
CN103186350A (zh) * | 2011-12-31 | 2013-07-03 | 北京快网科技有限公司 | 混合存储系统及热点数据块的迁移方法 |
CN103530062A (zh) * | 2012-07-03 | 2014-01-22 | 群联电子股份有限公司 | 数据存储方法、存储器控制器与存储器存储装置 |
-
2018
- 2018-12-25 CN CN201811595581.2A patent/CN111367823B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080087771A (ko) * | 2008-08-11 | 2008-10-01 | (주)세인정보통신 | 이미지 파일을 이용한 낸드 플래시메모리 고속 데이터 기록 |
CN101770426A (zh) * | 2008-12-31 | 2010-07-07 | 深圳市朗科科技股份有限公司 | 存储方法及存储设备 |
CN103186350A (zh) * | 2011-12-31 | 2013-07-03 | 北京快网科技有限公司 | 混合存储系统及热点数据块的迁移方法 |
CN103530062A (zh) * | 2012-07-03 | 2014-01-22 | 群联电子股份有限公司 | 数据存储方法、存储器控制器与存储器存储装置 |
CN103136121A (zh) * | 2013-03-25 | 2013-06-05 | 中国人民解放军国防科学技术大学 | 一种固态盘的缓存管理方法 |
Non-Patent Citations (2)
Title |
---|
SRFTL: An Adaptive Superblock-Based Real-Time Flash Translation Layer for NAND Flash Memory;X. Li;《2014 IEEE Intl Conf on High Performance Computing and Communications》;20150312;332-339 * |
基于NAND Flash的高速大容量固态记录器设计;赵忠文;《全国第三届信号和智能信息处理与应用学术交流会专刊》;20091101;327-330 * |
Also Published As
Publication number | Publication date |
---|---|
CN111367823A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7594067B2 (en) | Enhanced data access in a storage device | |
CN110781096B (zh) | 用于通过预测需求时间来执行垃圾收集的设备和方法 | |
US8028120B2 (en) | System with flash memory device and data recovery method thereof | |
KR101465789B1 (ko) | 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법 | |
USRE44052E1 (en) | Flash memory management method | |
CN102693184B (zh) | 处理具有非易失性存储器的系统的动态和静态数据 | |
US9367451B2 (en) | Storage device management device and method for managing storage device | |
US20140089564A1 (en) | Method of data collection in a non-volatile memory | |
US10740013B2 (en) | Non-volatile data-storage device with spare block pools using a block clearing method | |
EP2423819A1 (en) | Memory mapping techniques | |
US20080120488A1 (en) | Apparatus and method of managing nonvolatile memory | |
US7287117B2 (en) | Flash memory and mapping control apparatus and method for flash memory | |
US20130166828A1 (en) | Data update apparatus and method for flash memory file system | |
US20100287330A1 (en) | Method for writing data into flash memory | |
US10083181B2 (en) | Method and system for storing metadata of log-structured file system | |
CA2758235A1 (en) | Device and method for storage, retrieval, relocation, insertion or removal of data in storage units | |
KR101150654B1 (ko) | 비휘발성 메모리 상의 데이터 관리 방법 및 기계 판독 가능한 매체 | |
KR20170084675A (ko) | 메모리 내의 데이터를 액세스하는 방법과 이를 이용하는 메모리 장치 | |
CN111367823B (zh) | 一种写入有效数据的方法以及装置 | |
KR20150139383A (ko) | 반도체 장치 | |
CN111367460A (zh) | 一种系统数据处理的方法以及装置 | |
CN111367824B (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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |