【技术实现步骤摘要】
一种数据写入、读取方法和装置
本专利技术属于数据存储
,尤其涉及一种数据写入、读取方法和装置。
技术介绍
目前,3D闪存主要采用电荷捕获闪存(ChargeTrapFlash,简称CTF)技术和垂直堆叠制程技术。CTF技术与传统的浮栅极技术的区别在于:CTF技术使用一层极薄的氮化硅薄膜来捕获电荷并储存电子。在CTF技术中,数据被临时存放在非传导层中一个由氮化硅组成的“单元格”中,并用绝缘的氮化硅薄膜来充当电子的隔离层。当需要读取数据时,对数据进行“解禁”,可以对储存流进行更好的控制。但是,CTF技术受温度的影响较大,高温条件下会造成电子的损耗。另外,芯片频繁的写入和擦除会使温度升高,进而加剧电子损耗,最终降低芯片的存储新能。垂直堆叠制程技术制造的3D闪存使用垂直堆叠结构,其主要特点是在垂直方向是一个圆柱体结构,这样在进行频繁的擦除和读写后,3D闪存的温度升高,会使得圆柱体中顶部氧化层和底部氧化层电子分布不均匀导致电荷的损耗,进而降低3D闪存的存储性能。另外,由于3D闪存中的物理块呈垂直结构,水平方向上临近的是不同的物理块,在读数据进行读写操作时,对某一物理块中物理页的读写不仅存在相同物理块间的干扰,还存在不同物理块间的干扰,使得存储的数据差错率增加,重要数据的可靠性降低。
技术实现思路
本专利技术提供一种数据写入、读取方法和装置,旨在解决现有的3D闪存中,由于在频繁的擦除和读写后,使得3D闪存的温度升高,进而导致3D闪存存储性能降低的问题,以及在对数据进行读写时,由于临近的物理块之间相互干扰造成的数据存储的可靠性降低的问题。本专利技术提供的一种数据写入方法 ...
【技术保护点】
一种数据写入方法,其特征在于,所述方法包括:获取待写入3D闪存的数据和所述数据的逻辑页号;判断配置在二级存储器中的缓存链表中是否存在所述逻辑页号;若所述缓存链表中存在所述逻辑页号,则将所述数据更新在所述缓存链表中所述逻辑页号对应的位置;若所述缓存链表中不存在所述逻辑页号,则当所述缓存链表写满时,将所述缓存链表的表尾的数据移至所述3D闪存中,并将所述数据及所述数据的逻辑页号写入所述表头,当所述缓存链表未写满时,将所述数据及所述数据的逻辑页号写入所述缓存链表。
【技术特征摘要】
1.一种数据写入方法,其特征在于,所述方法包括:获取待写入3D闪存的数据和所述数据的逻辑页号;判断配置在二级存储器中的缓存链表中是否存在所述逻辑页号;若所述缓存链表中存在所述逻辑页号,则将所述数据更新在所述缓存链表中所述逻辑页号对应的位置;若所述缓存链表中不存在所述逻辑页号,则当所述缓存链表写满时,将所述缓存链表的表尾的数据移至所述3D闪存中,并将所述数据及所述数据的逻辑页号写入所述表头,当所述缓存链表未写满时,将所述数据及所述数据的逻辑页号写入所述缓存链表。2.根据权利要求1所述的方法,其特征在于,所述缓存链表包括一级缓存链表和二级缓存链表,则所述判断配置在二级存储器中的缓存链表中是否存在所述逻辑页号,具体包括:判断所述一级缓存链表或所述二级缓存链表中是否存在所述逻辑页号;所述若所述缓存链表中存在所述逻辑页号,则将所述数据更新在所述缓存链表中所述逻辑页号对应的位置,具体包括:若所述一级缓存链表存在所述逻辑页号,则将所述数据更新在所述一级缓存链表中所述逻辑页号对应的位置;若所述二级缓存链表存在所述逻辑页号,则将所述数据更新在所述二级缓存链表中所述逻辑页号对应的位置。3.根据权利要求2所述的方法,其特征在于,所述将所述数据更新在所述一级缓存链表中所述逻辑页号对应的位置之后,还包括:判断所述逻辑页号对应的数据是否为第二次写入;若是,则将更新后的数据和所述逻辑页号移至所述二级缓存链表的表头。4.根据权利要求3所述的方法,其特征在于,所述将所述数据更新在所述二级缓存链表中所述逻辑页号对应的位置之后,还包括:判断更新后的数据是否位于所述二级缓存链表的表头;若是,则将所述更新后的数据和所述逻辑页号移至所述一级缓存链表的表头;若否,则将所述更新后的数据和所述逻辑页号移至所述二级缓存链表的表头。5.根据权利要求2所述的方法,其特征在于,所述若所述缓存链表中不存在所述逻辑页号,则当所述缓存链表写满时,将所述缓存链表的表尾的数据移至所述3D闪存中,并将所述数据及所述数据的逻辑页号写入所述表尾,当所述缓存链表未写满时,将所述数据及所述数据的逻辑页号写入所述缓存链表,具体包括:若所述一级缓存链表和所述二级缓存链表中均不存在所述逻辑页号,则判断所述一级缓存链表是否写满;若所述一级缓存链表已写满,则判断所述二级缓存链表是否写满,并当所述二级缓存链表已写满时,将所述二级缓存链表的表尾的数据移至所述3D闪存的物理块中,将所述一级缓存链表的表尾的数据移至所述二级缓存链表的表头,并将所述数据和所述逻辑页号写入所述一级缓存链表的表头,以及当所述二级缓存链表未写满时,将所述一级缓存链表的表尾的数据移至所述二级缓存链表的表头,并将所述数据和所述逻辑页号写入所述一级缓存链表的表头;若所述一级缓存链表未写满,则将所述数据和所述逻辑页号写入所述一级缓存链表中的表头。6.根据权利要求5所述的方法,其特征在于,所述将所述二级缓存链表的表尾的数据移至所述3D闪存的物理块中,具体包括:根据所述表尾的数据的逻辑页号,在预置的映射表中查找所述表尾的数据的逻辑块号,并判断预置的最近擦除链表中是否存在所述逻辑块号,所述映射表及所述最近擦除链表预置在所述3D闪存中;若否,则将所述表尾的数据写入到所述3D闪存中所述逻辑块号对应的物理块中,并在所述最近擦除链表中记录所述逻辑块号对应的物理块的物理块号和擦除次数1;若是,则判断所述逻辑块号对应的物理块的擦除次数是否大于预置的擦除次数;若大于,则将所述表尾的数据写入所述3D闪存中的预置的空闲链表中擦除次数最少的物理块。7.一种数据读取方法,其特征在于,所述方法包括:获取待读取数据的逻辑页号,并判断设置在二级存储器中的缓存链表中是否存在所述逻辑页号;若是,则读取所述缓存链表中所述逻辑页号对应的数据;若否,则根据所述逻辑页号在3D闪存的物理块中查找所述逻辑页号对应的数据并读取。8.根据权利要求7所述的方法,其特征在于,所述缓存链表包括一级缓存链表和二级缓存链表,则所述判断设置在二级存储器中的缓存链表中是否存在所述逻辑页号,具体包括:判断所述一级缓存链表中或所述二级缓存链表中是否存在所述逻辑页号;则所述若是,则读取所述缓存链表中所述逻辑页号对应的数据,具体包括:若所述一级缓存链表中存在所述逻辑页号,则读取所述一级缓存链表中所述逻辑页号对应的数据;若所述二级缓存链表中存在所述逻辑页号,则读取所述二级缓存链表中所述逻辑页号对应的数据;所述若否,则根据所述逻辑页号在3D闪存的物理块中查找所述逻辑页号对应的数据并读取,具体包括:若所述一级缓存链表中和所述二级缓存链表中均不存在所述逻辑页号...
【专利技术属性】
技术研发人员:王毅,黄江帆,梁悦锋,许文豪,陈林,柯晓阳,
申请(专利权)人:深圳大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。