一种三维闪存擦除控制方法及其系统与流程

文档序号:11950044阅读:160来源:国知局
一种三维闪存擦除控制方法及其系统与流程

本发明涉及芯片技术领域,尤其涉及一种三维闪存擦除控制方法及其系统。



背景技术:

对于上层操作系统针对某一段特定逻辑地址进行频繁更新操作,在现有的3D闪存管理技术中,接受频繁更新的逻辑页所在的物理块链长度不断增长,一方面降低了存储器的响应时间,另一方面缩短了存储器的寿命,从而导致芯片性能下降。此问题主要涉及到3D闪存管理技术中如下两个方面的技术细节:

(1)物理块链的组织策略。采用这种方法,一方面,当某个逻辑页更新较频繁时,对应的物理块链不断增长,而块链上的其他物理页得不到有效利用,严重降低了芯片的空间利用率;另一方面,当芯片中无空闲物理块时,将对块链进行大规模擦除操作,回收物理块,针对上面块链中大量物理页未存储数据的物理块,频繁的擦除操作将严重缩短芯片的寿命;

(2)物理块擦除和回收操作。当前技术在擦除和回收物理块时,仅针对最长块链进行回收操作,而未考虑到块链上各个物理块的利用率,当块链上物理块存储的数据较少时,频繁进行擦除操作将严重缩短物理块的寿命,进而严重缩短芯片的寿命。



技术实现要素:

有鉴于此,本发明的目的在于提供一种三维闪存擦除控制方法及其系统,旨在解决现有技术中频繁的擦除操作将严重缩短芯片寿命的问题。

本发明提出一种三维闪存擦除控制方法,所述方法包括:

发出更新逻辑页号的请求信息;

根据所述请求信息计算出对应的逻辑块号和块内偏移页号;

通过查找逻辑块到物理块的映射表,获得物理块链的入口物理块号;

判断所述物理块链的组织形式;

根据所述物理块链的组织形式对物理块进行数据写入或者擦除回收操作。

优选的,所述物理块链的组织形式包括第一种物理块链的组织形式,如果判断所述物理块链的组织形式为所述第一种物理块链的组织形式,则所述根据所述物理块链的组织形式对物理块进行数据写入或者擦除回收操作的步骤包括:

查看所述物理块链上的第一个物理块的第offset物理页是否空闲,若不空闲,则沿着所述物理块链顺次向后查找每个物理块,直到找到第offset物理页为空闲的物理块,并将数据写入空闲的物理块中第offset物理页中;

若所述物理块链中所有物理块的第offset物理页都有数据,则向所述物理块链中添加新的空闲物理块,并将数据写入新的空闲物理块中第offset物理页中;

若无空间再次分配新的物理块,则根据芯片的当前状况对现有的物理块进行擦除回收操作。

优选的,所述物理块链的组织形式还包括第二种物理块链的组织形式,以所述第二种物理块链的组织形式进行组织的所述物理块链包括基本块和多个替换块,其中,如果判断所述物理块链的组织形式为所述第二种物理块链的组织形式,则所述根据所述物理块链的组织形式对物理块进行数据写入或者擦除回收操作的步骤还包括:

查看所述物理块链上的基本块中的第offset物理页是否空闲;

若空闲,则将数据写入所述基本块中空闲的第offset物理页中;

若不空闲,则在所述多个替换块中顺次查找每个替换块的每个物理页是否有空闲页;

若有空闲页,则将数据写入具有空闲物理页的那个替换块中,并标记物理页对应的逻辑页为offset;

若无空闲页,则判断所述物理块链的长度是否小于预设值;

如果小于所述预设值,则向所述物理块链中添加新的空闲物理块,并将数据写入所述空闲物理块中的第一个物理页中;

如果不小于所述预设值,则根据相应信息对所述物理块链进行擦除回收操作,并转换组织形式。

优选的,所述若无空间再次分配新的物理块,则根据芯片的当前状况对现有的物理块进行擦除回收操作的步骤包括:

在所述芯片中寻找其它物理块链,并计算这些物理块链中各自空闲页所占比例;

选择空闲页所占比例最高的物理块链作为新物理块链,将原物理块链中的有效数据复制到以所述第二种物理块链的组织形式进行组织的所述新物理块链中,并对原物理块链进行擦除回收操作。

优选的,所述如果不小于所述预设值,则根据相应信息对所述物理块链进行擦除回收操作,并转换组织形式的步骤包括:

获取以所述第二种物理块链的组织形式进行组织的所述物理块链中的以往数据读操作次数与数据访问总次数的比值;

当所述比值大于1/2时,对所述物理块链进行擦除回收操作后,组建的新物理块链将以所述第一种物理块链的组织形式进行组织,并将原物理块链中的有效数据复制到组建的新物理块链中;

当所述比值不大于1/2时,对所述物理块链进行擦除回收操作后,组建的新物理块链将以所述第二种物理块链的组织形式进行组织,并将原物理块链中的有效数据复制到组建的新物理块链中。

另一方面,本发明还提供一种三维闪存擦除控制系统,所述识别系统包括:

请求模块,用于发出更新逻辑页号的请求信息;

计算模块,用于根据所述请求信息计算出对应的逻辑块号和块内偏移页号;

映射模块,用于通过查找逻辑块到物理块的映射表,获得物理块链的入口物理块号;

判断模块,用于判断所述物理块链的组织形式;

处理模块,用于根据所述物理块链的组织形式对物理块进行数据写入或者擦除回收操作。

优选的,所述物理块链的组织形式包括第一种物理块链的组织形式,如果所述判断模块判断所述物理块链的组织形式为所述第一种物理块链的组织形式,则所述处理模块具体用于:

查看所述物理块链上的第一个物理块的第offset物理页是否空闲,若不空闲,则沿着所述物理块链顺次向后查找每个物理块,直到找到第offset物理页为空闲的物理块,并将数据写入空闲的物理块中第offset物理页中;

若所述物理块链中所有物理块的第offset物理页都有数据,则向所述物理块链中添加新的空闲物理块,并将数据写入新的空闲物理块中第offset物理页中;

若无空间再次分配新的物理块,则根据芯片的当前状况对现有的物理块进行擦除回收操作。

优选的,所述物理块链的组织形式还包括第二种物理块链的组织形式,以所述第二种物理块链的组织形式进行组织的所述物理块链包括基本块和多个替换块,其中,如果所述判断模块判断所述物理块链的组织形式为所述第二种物理块链的组织形式,则所述处理模块具体还用于:

查看所述物理块链上的基本块中的第offset物理页是否空闲;

若空闲,则将数据写入所述基本块中空闲的第offset物理页中;

若不空闲,则在所述多个替换块中顺次查找每个替换块的每个物理页是否有空闲页;

若有空闲页,则将数据写入具有空闲物理页的那个替换块中,并标记物理页对应的逻辑页为offset;

若无空闲页,则判断所述物理块链的长度是否小于预设值;

如果小于所述预设值,则向所述物理块链中添加新的空闲物理块,并将数据写入所述空闲物理块中的第一个物理页中;

如果不小于所述预设值,则根据相应信息对所述物理块链进行擦除回收操作,并转换组织形式。

优选的,所述处理模块具体还用于:

在所述芯片中寻找其它物理块链,并计算这些物理块链中各自空闲页所占比例;

选择空闲页所占比例最高的物理块链作为新物理块链,将原物理块链中的有效数据复制到以所述第二种物理块链的组织形式进行组织的所述新物理块链中,并对原物理块链进行擦除回收操作。

优选的,所述处理模块具体还用于:

获取以所述第二种物理块链的组织形式进行组织的所述物理块链中的以往数据读操作次数与数据访问总次数的比值;

当所述比值大于1/2时,对所述物理块链进行擦除回收操作后,组建的新物理块链将以所述第一种物理块链的组织形式进行组织,并将原物理块链中的有效数据复制到组建的新物理块链中;

当所述比值不大于1/2时,对所述物理块链进行擦除回收操作后,组建的新物理块链将以所述第二种物理块链的组织形式进行组织,并将原物理块链中的有效数据复制到组建的新物理块链中。

本发明提供的技术方案针对不同数据操作特征,构建不同的物理块链逻辑组织形式,从而降低对物理块链擦除和回收的响应时间,延长芯片的寿命,同时通过改进擦除回收策略,挑选更加合适的物理块链进行擦除操作,从而延长芯片的整体寿命。

附图说明

图1为本发明一实施方式中三维闪存擦除控制方法流程图;

图2为本发明一实施方式中三维闪存擦除控制系统10的内部结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明具体实施方式提供了一种三维闪存擦除控制方法,所述方法主要包括如下步骤:

S1、发出更新逻辑页号的请求信息;

S2、根据所述请求信息计算出对应的逻辑块号和块内偏移页号;

S3、通过查找逻辑块到物理块的映射表,获得物理块链的入口物理块号;

S4、判断所述物理块链的组织形式;

S5、根据所述物理块链的组织形式对物理块进行数据写入或者擦除回收操作。

本发明提供的一种三维闪存擦除控制方法针对不同数据操作特征,构建不同的物理块链逻辑组织形式,从而降低对物理块链擦除和回收的响应时间,延长芯片的寿命,同时通过改进擦除回收策略,挑选更加合适的物理块链进行擦除操作,从而延长芯片的整体寿命。

以下将对本发明所提供的一种三维闪存擦除控制方法进行详细说明。

请参阅图1,为本发明一实施方式中三维闪存擦除控制方法流程图。

在步骤S1中,发出更新逻辑页号的请求信息。

在本实施方式中,由芯片的操作系统向存储器管理系统发出更新第log_page逻辑页的请求信息。

在步骤S2中,根据所述请求信息计算出对应的逻辑块号和块内偏移页号。

在本实施方式中,存储器管理系统根据所述请求信息计算出对应的逻辑块号log_block和块内偏移页号offset。

在步骤S3中,通过查找逻辑块到物理块的映射表,获得物理块链的入口物理块号。

在本实施方式中,存储器管理系统通过查找逻辑块到物理块的映射表,获得物理块链的入口物理块号。

在步骤S4中,判断所述物理块链的组织形式。

在本实施方式中,采用两种物理块链组织形式共存的方式,令操作系统给出的逻辑页号为log_page,每个物理块拥有page_per_block个物理页,则该逻辑页对应的逻辑块号为log_block=log_page/page_per_block,其在块内的物理页偏移位置为offset=log_page%page_per_block。

在本实施方式中,这两种物理块链组织形式包括第一种物理块链的组织形式和第二种物理块链的组织形式。

其中,第一种物理块链的组织形式为:依据log_block查找逻辑块号到物理块号的映射表,获得请求的逻辑页对应的物理块链的入口物理块号,而操作系统请求的对逻辑号log_page的操作数据,仅存储在物理块链中每个物理块的第offset物理页上,如果需要对该逻辑页数据进行更新,则需要在其最新数据所在的物理块的下一个物理块中,第offset页进行更新。

第二种物理块链的组织形式为:将物理块链划分为“基本块”和多个“替换块”,其中,物理块链的第一个物理块,即入口物理块为“基本块”,其后块链中的其他块为“替换块”;对于“基本块”,仍然按照第一种物理块链的组织形式,对于逻辑页号为log_page的逻辑页中的数据,仅存储在“基本块”中的第(log_page%page_per_block)物理页中,而对于多个“替换块”,对于逻辑页的更新请求,将根据请求时间先后,按顺序写入多个“替换块”中的物理页中。同时,为了保证对该形式块链有较快响应时间,规定每个物理块链中只能包含4个“替换块”,当“替换块”无空间进行更新时,则对物理块链进行擦除回收操作,并根据对该物理块链对应的逻辑块中读操作所占比例来判定是否将其转化为第一种组织形式的物理块链。

在步骤S5中,根据所述物理块链的组织形式对物理块进行数据写入或者擦除回收操作。

在本实施方式中,如果步骤S4判断所述物理块链的组织形式为所述第一种物理块链的组织形式,则所述根据所述物理块链的组织形式对物理块进行数据写入或者擦除回收操作的步骤S5包括:

查看所述物理块链上的第一个物理块的第offset物理页是否空闲,若不空闲,则沿着所述物理块链顺次向后查找每个物理块,直到找到第offset物理页为空闲的物理块,并将数据写入空闲的物理块中第offset物理页中;

若所述物理块链中所有物理块的第offset物理页都有数据,则向所述物理块链中添加新的空闲物理块,并将数据写入新的空闲物理块中第offset物理页中;

若无空间再次分配新的物理块,则根据芯片的当前状况对现有的物理块进行擦除回收操作。

在本实施方式中,所述若无空间再次分配新的物理块,则根据芯片的当前状况对现有的物理块进行擦除回收操作的步骤包括:

在所述芯片中寻找其它物理块链,并计算这些物理块链中各自空闲页所占比例;

选择空闲页所占比例最高的物理块链作为新物理块链,将原物理块链中的有效数据复制到以所述第二种物理块链的组织形式进行组织的所述新物理块链中,并对原物理块链进行擦除回收操作。

上述步骤是以第一种物理块链的组织形式进行组织的物理块链遇到空间不足情况时采取的擦除回收策略,将空闲物理块分配给请求更新的物理块链。

在本实施方式中,如果步骤S4判断所述物理块链的组织形式为所述第二种物理块链的组织形式,则所述根据所述物理块链的组织形式对物理块进行数据写入或者擦除回收操作的步骤S5还包括:

查看所述物理块链上的基本块中的第offset物理页是否空闲;

若空闲,则将数据写入所述基本块中空闲的第offset物理页中;

若不空闲,则在所述多个替换块中顺次查找每个替换块的每个物理页是否有空闲页;

若有空闲页,则将数据写入具有空闲物理页的那个替换块中,并标记物理页对应的逻辑页为offset;

若无空闲页,则判断所述物理块链的长度是否小于预设值;

如果小于所述预设值,则向所述物理块链中添加新的空闲物理块,并将数据写入所述空闲物理块中的第一个物理页中;

如果不小于所述预设值,则根据相应信息对所述物理块链进行擦除回收操作,并转换组织形式。

在本实施方式中,所述如果不小于所述预设值,则根据相应信息对所述物理块链进行擦除回收操作,并转换组织形式的步骤具体包括:

获取以所述第二种物理块链的组织形式进行组织的所述物理块链中的以往数据读操作次数与数据访问总次数的比值;

当所述比值大于1/2时,对所述物理块链进行擦除回收操作后,组建的新物理块链将以所述第一种物理块链的组织形式进行组织,并将原物理块链中的有效数据复制到组建的新物理块链中;

当所述比值不大于1/2时,对所述物理块链进行擦除回收操作后,组建的新物理块链将以所述第二种物理块链的组织形式进行组织,并将原物理块链中的有效数据复制到组建的新物理块链中。

在本实施方式中,第一种物理块链组织形式是针对频繁读取某一逻辑地址的数据情况而设计的,采用第一种物理块链组织形式,可以快速找到对应逻辑页最近更新数据所在的物理位置,保证了较短的访问延迟。第二种物理块链组织形式是针对某一逻辑页频繁更新的情况而设计的,采用第二种物理块链组织形式,可以有效防止频繁更新的逻辑页占用大量的物理块,使得物理块链过长,而实际存储的数据较少,物理块链中存在大量未被使用的物理页的情况发生;而进行擦除操作时,由于过长的物理块链,一方面降低访问的延迟时间,另一方面会缩短芯片的寿命。

在本实施方式中,在擦除回收操作方面,本发明的方法更加灵活,通过在一定条件下,对两种组织形式的物理块链进行相互转换,既保证了读取数据的效率,也防止物理块链过长导致更新数据延迟时间较长,以及芯片寿命的缩短的问题发生,提高了系统的整体性能。

本发明提供的一种三维闪存擦除控制方法,在物理块链的组织上采用两种物理块链组织形式,分别采取相应的数据访问和存放策略,保证了较短的读操作延迟时间和数据更新的延迟时间;在擦除回收物理块链的策略上,本发明通过对空闲物理页占物理块链中比例的统计,以及对物理块链读操作占总操作比例的统计,制定出两种形式物理块链在擦除回收操作中相互转化的条件,保证物理块链既能满足频繁的读操作,也能满足对特定逻辑页频繁的更新操作的要求,从而缩短系统响应时间,提高系统的性能。也就是说,针对不同数据操作特征,构建不同的物理块链逻辑组织形式,从而降低对物理块链擦除和回收的响应时间,延长芯片的寿命,同时通过改进擦除回收策略,挑选更加合适的物理块链进行擦除操作,从而延长芯片的整体寿命。

本发明具体实施方式还提供一种三维闪存擦除控制系统10,主要包括:

请求模块11,用于发出更新逻辑页号的请求信息;

计算模块12,用于根据所述请求信息计算出对应的逻辑块号和块内偏移页号;

映射模块13,用于通过查找逻辑块到物理块的映射表,获得物理块链的入口物理块号;

判断模块14,用于判断所述物理块链的组织形式;

处理模块15,用于根据所述物理块链的组织形式对物理块进行数据写入或者擦除回收操作。

本发明提供的一种三维闪存擦除控制系统10针对不同数据操作特征,构建不同的物理块链逻辑组织形式,从而降低对物理块链擦除和回收的响应时间,延长芯片的寿命,同时通过改进擦除回收策略,挑选更加合适的物理块链进行擦除操作,从而延长芯片的整体寿命。

请参阅图2,所示为本发明一实施方式中三维闪存擦除控制系统10的结构示意图。在本实施方式中,三维闪存擦除控制系统10主要包括请求模块11、计算模块12、映射模块13、判断模块14以及处理模块15。

请求模块11,用于发出更新逻辑页号的请求信息。

计算模块12,用于根据所述请求信息计算出对应的逻辑块号和块内偏移页号。

映射模块13,用于通过查找逻辑块到物理块的映射表,获得物理块链的入口物理块号。

判断模块14,用于判断所述物理块链的组织形式。

处理模块15,用于根据所述物理块链的组织形式对物理块进行数据写入或者擦除回收操作。

在本实施方式中,所述物理块链的组织形式包括第一种物理块链的组织形式,如果所述判断模块14判断所述物理块链的组织形式为所述第一种物理块链的组织形式,则所述处理模块15具体用于:

查看所述物理块链上的第一个物理块的第offset物理页是否空闲,若不空闲,则沿着所述物理块链顺次向后查找每个物理块,直到找到第offset物理页为空闲的物理块,并将数据写入空闲的物理块中第offset物理页中;

若所述物理块链中所有物理块的第offset物理页都有数据,则向所述物理块链中添加新的空闲物理块,并将数据写入新的空闲物理块中第offset物理页中;

若无空间再次分配新的物理块,则根据芯片的当前状况对现有的物理块进行擦除回收操作。

在本实施方式中,所述处理模块15具体还用于:

在所述芯片中寻找其它物理块链,并计算这些物理块链中各自空闲页所占比例;

选择空闲页所占比例最高的物理块链作为新物理块链,将原物理块链中的有效数据复制到以所述第二种物理块链的组织形式进行组织的所述新物理块链中,并对原物理块链进行擦除回收操作。

在本实施方式中,所述物理块链的组织形式还包括第二种物理块链的组织形式,以所述第二种物理块链的组织形式进行组织的所述物理块链包括基本块和多个替换块,其中,如果所述判断模块14判断所述物理块链的组织形式为所述第二种物理块链的组织形式,则所述处理模块15具体还用于:

查看所述物理块链上的基本块中的第offset物理页是否空闲;

若空闲,则将数据写入所述基本块中空闲的第offset物理页中;

若不空闲,则在所述多个替换块中顺次查找每个替换块的每个物理页是否有空闲页;

若有空闲页,则将数据写入具有空闲物理页的那个替换块中,并标记物理页对应的逻辑页为offset;

若无空闲页,则判断所述物理块链的长度是否小于预设值;

如果小于所述预设值,则向所述物理块链中添加新的空闲物理块,并将数据写入所述空闲物理块中的第一个物理页中;

如果不小于所述预设值,则根据相应信息对所述物理块链进行擦除回收操作,并转换组织形式。

在本实施方式中,所述处理模块15具体还用于:

获取以所述第二种物理块链的组织形式进行组织的所述物理块链中的以往数据读操作次数与数据访问总次数的比值;

当所述比值大于1/2时,对所述物理块链进行擦除回收操作后,组建的新物理块链将以所述第一种物理块链的组织形式进行组织,并将原物理块链中的有效数据复制到组建的新物理块链中;

当所述比值不大于1/2时,对所述物理块链进行擦除回收操作后,组建的新物理块链将以所述第二种物理块链的组织形式进行组织,并将原物理块链中的有效数据复制到组建的新物理块链中。

本发明提供的一种三维闪存擦除控制系统10,在物理块链的组织上采用两种物理块链组织形式,分别采取相应的数据访问和存放策略,保证了较短的读操作延迟时间和数据更新的延迟时间;在擦除回收物理块链的策略上,本发明通过对空闲物理页占物理块链中比例的统计,以及对物理块链读操作占总操作比例的统计,制定出两种形式物理块链在擦除回收操作中相互转化的条件,保证物理块链既能满足频繁的读操作,也能满足对特定逻辑页频繁的更新操作,从而缩短系统响应时间,调高系统的性能。也就是说,本发明提供的一种三维闪存擦除控制系统10针对不同数据操作特征,构建不同的物理块链逻辑组织形式,从而降低对物理块链擦除和回收的响应时间,延长芯片的寿命,同时通过改进擦除回收策略,挑选更加合适的物理块链进行擦除操作,从而延长芯片的整体寿命。

值得注意的是,上述实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1