存储装置及其处理数据的方法技术领域
本发明涉及一种存储装置及其处理数据的方法。
背景技术
闪存(Flash)的物理块存在单层单元模式(SLC,Single-Level cell)和多层单元模式(MLC,Multi-Level cell),所述多层单元模式包括三层单元模式(TLC,Triple-Level cell)。通常在闪存内,将SLC区作为缓存区,TLC区作为存储区。当数据从缓存区转存到存储区时,缓存区内的任意三个块的数据会转存到存储块内的一个块内。如此在对存储块进行大资料的覆盖写时,往往需要先选中存储区内的块并将每个块内不需要覆盖的数据备份到缓存区内以回收这些存储区内的块,才能进行新数据的写入,回收的数据越多就会导致闪存的性能下降。
发明内容
鉴于以上内容,有必要提供一种存储装置及其处理数据的方法,以在大资料的覆盖写时减少回收损耗,提高数据读写性能。
一种存储装置,包括一逻辑处理块,所述逻辑处理块包括:
一记录单元,用于记录存储于所述存储装置内一缓存区内的每一缓存块对应的逻辑块地址;
一排序单元,用于对所记录的逻辑块地址进行排序;
一输出单元,用于将所述缓存块按对应的逻辑块地址的顺序输出至所述存储装置内一存储区。
一种存储装置处理数据的方法,包括:
记录存储于所述存储装置中一缓存区内的每一缓存块对应的逻辑块地址;
对所记录的逻辑块地址进行排序;
将所述缓存块按对应的逻辑块地址的顺序输出至所述存储装置内一存储区。
上述存储装置可实现当缓存块需要从缓存区转存到存储区时,将缓存块按照其逻辑地址的顺序存储于所述存储区,增加了存储区内每一存储块数据的关联性,减少了在大资料覆盖写时存储区内存储块的回收损耗,提高了存储装置的读写性能。
附图说明
图1是本发明存储装置的较佳实施方式的示意图。
图2是图1中逻辑处理块的较佳实施方式的示意图。
图3是图2中记录单元的较佳实施方式的示意图。
图4是本发明存储装置处理数据的方法的较佳实施方式的流程图。
图5是图4中记录存储于存储装置中缓存区内的每一缓存块对应的逻辑块地址步骤的具体流程图。
主要元件符号说明
存储装置100
缓存区110
存储区120
逻辑处理块30
记录单元31
排序单元33
输出单元35
计算模块312
选择模块314
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
下面结合附图及较佳实施方式对本发明作进一步详细描述:
请参考图1及图2,本发明存储装置100包括一缓存区110及一存储区120。所述缓存区110包括一逻辑处理块30。所述逻辑处理块30包括一记录单元31,一排序单元33及一输出单元35。
本实施方式中,所述存储装置100为一闪存,所述缓存区110为单层单元模式,所述存储区120为多层单元模式,其中,所述存储区120为三层单元模式。
所述记录单元31用于记录所述缓存区110内每一缓存块对应的逻辑块地址。其中,逻辑块地址是将数据的逻辑地址划分为若干块后,每一块的逻辑地址的总地址。例如,逻辑块地址为0的逻辑块内可以包括有逻辑地址0-169,称为逻辑块0;逻辑地址170-339被划分到逻辑块地址为1的逻辑块内,称为逻辑块1;逻辑地址340-509被划分到逻辑块地址为2的逻辑块内,称为逻辑块2;以此类推。
请参考图3,所述记录单元31包括一计算模块312及一选择模块314。所述计算模块312用于计算所述缓存区110中每一缓存块内所有缓存数据分别对应的逻辑块地址的数量。所述选择模块314用于选择所述计算模块得出的数量最多的逻辑块地址作为这一缓存块对应的逻辑块地址。例如,所述计算模块312计算得出一缓存块内逻辑块0的数量为10、逻辑块1的数量为30、逻辑块2的数量为15。所述选择模块314选择数量最多的逻辑块,也就是逻辑块1作为所述缓存块对应的逻辑块地址。
所述排序单元33用于对所记录的逻辑块地址进行关联性排序。所述输出单元35用于在将缓存块从缓存区110转存到存储区120时,将所述缓存块按其对应的逻辑块地址的顺序输出。
由于将所述缓存区内的缓存块按照逻辑块地址的关联性转存到了所述存储块内,在下次进行大资料的覆盖写时,增加了存储区120内的存储块的命中率,减少了存储块的回收损耗。例如,当缓存区内有七个缓存块,其逻辑块地址分别为4、10、15、5、9、6、11。经排序单元33按照其关联性排序后,所述七个缓存块的逻辑地址的顺序为4、5、6、9、10、11、15。当需要将这些缓存块从缓存区转存到存储区时,所述输出单元35将所述七个缓存块按照其逻辑块地址的关联性分别转存到所述存储块X、Y、Z内,其中,所述存储块X内存储有逻辑块地址为4、5、6的数据,所述存储块Y内存储有逻辑块地址为9、10、11的数据。当需要对所述存储区120内的数据进行覆盖写,且覆盖写对应的逻辑块地址为9-11,仅需命中所述存储块Y即可,无需命中其他存储块,减少了存储块的回收损耗。
本实施方式中,所述逻辑处理块30设置于所述缓存区110内,其他实施方式中,所述逻辑处理块30不限于设置在所述缓存区110内,如可直接设置在存储装置100内。
图4为本发明存储装置100处理数据的方法的流程图,该方法包括:
S401:记录存储于所述存储装置中缓存区内的每一缓存块对应的逻辑块地址;
S402:对所记录的逻辑块地址进行排序;
S403:将所述缓存块按其逻辑块地址的顺序输出至所述存储装置内的存储区。
请参考图5,其中,所述步骤S401包括:
S411:计算所述缓存区中每一缓存块内所有缓存数据分别对应的逻辑块地址的数量;
S421:选择计算所得出的数量最多的逻辑块地址作为这一缓存块对应的逻辑块地址;
上述存储装置可实现当缓存块需要从缓存区转存到存储区时,将缓存块按照其逻辑地址的顺序存储于所述存储区,增加了存储区内每一存储块数据的关联性,减少了在大资料覆盖写时存储区内存储块的回收损耗,提高了存储装置的读写性能。