存储系统页内脏数据索引方法和装置制造方法及图纸

技术编号:18732225 阅读:17 留言:0更新日期:2018-08-22 02:58
本发明专利技术公开了一种存储系统页内脏数据索引方法装置,该方法包括:获取存储页的存储点的点数量以及脏数据分布信息;根据点数量和脏数据分布信息创建位图;根据脏数据分布信息创建扩展段集合,并获取扩展段集合中扩展段的当前扩展段个数;根据点数量,获取目标存储页以位图索引脏数据的第一存储代价;根据当前扩展段个数和段容量,获取目标存储页以扩展段索引脏数据的第二存储代价;根据第一存储代价和第二存储代价,确定基于位图方式或扩展段方式索引目标存储页中的脏数据。本发明专利技术降低了写入数据量,降低了同步操作的延时,间接提高了系统的性能,同时也降低了闪存设备的磨损,提高了闪存设备的使用寿命。

Storage system page viscera data indexing method and device

The invention discloses a storage system page visceral data index method device, which comprises: acquiring the number of storage points and dirty data distribution information of the storage page; creating bitmaps according to the number of points and dirty data distribution information; creating a set of extended segments according to dirty data distribution information; and acquiring the expansion in the set of extended segments. The first storage cost of bitmap-based dirty data indexing is obtained according to the number of points; the second storage cost of bitmap-based dirty data indexing is determined according to the number and capacity of current extended segments; and the second storage cost of bitmap-based dirty data indexing is determined according to the first storage cost and the second storage cost. Index the dirty data in the target storage page by way or extended segment. The invention reduces the amount of writing data, reduces the delay of synchronous operation, indirectly improves the performance of the system, reduces the wear and tear of the flash memory device, and improves the service life of the flash memory device.

【技术实现步骤摘要】
存储系统页内脏数据索引方法和装置
本专利技术涉及存储设备
,尤其涉及一种存储系统页内脏数据索引方法和装置。
技术介绍
固态硬盘(SolidStateDrives)是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。由于其高读写带宽、低访问延迟、低功耗等特点被广泛应用。以闪存为基础构建的固态盘采用闪存转换层(FlashTranslationLayer,FTL)对闪存的读写擦除进行管理,并向软件系统提供与传统磁盘相同的读写接口。闪存转换层(FTL)主要包含三种功能:地址映射、垃圾回收和磨损均衡。在固态盘内部,闪存芯片(package)通过不同的通道(Channel)连接到闪存控制器。在闪存芯片中,封装有多个闪存颗粒(die),每个颗粒可以独立执行指令。每个颗粒包含多个闪存片(plane),每个闪存片拥有独立的寄存器,可提供多闪存片之间的流水指令执行。通过不同级别的并发,固态盘可提供充足的访问带宽。这一特性被称为闪存设备的内部并发。在文件系统(即存储系统)中,使用页高速缓存(即存储系统的存储页)来缓存最近操作的数据,以加速读写过程。当需要读取数据时,首先在页高速缓存中查找该部分内容是否驻留在内存中,如果找到,则直接返回数据,不再需要启动昂贵的设备操作;如果没找到,再到闪存中进行读取。当需要进行写操作时,不再直接把数据写入到设备中,而是把数据写入到页高速缓存后将相应页面标记为脏,然后直接返回,当用户发出同步调用或操作系统后台线程启动同步操作时,将页高速缓存中的脏页面写入到闪存设备中。在这种模式下,一次写操作涉及到一个页面(即存储页),则该页面会被整个标记为脏,后续会全部写入到闪存设备中,即使本次写操作仅仅涉及到该页面的很少一部分。这使得写入数据量大大增加,不仅增加了同步操作的延时,降低了文件系统或存储系统的性能,而且增加了闪存设备的磨损,大大降低了其寿命。
技术实现思路
本专利技术的主要目的在于提供一种存储系统页内脏数据索引方法和装置,旨在解决存储系统中写入数据量大、增加闪存设备磨损的技术问题。为实现上述目的,本专利技术提供的一种存储系统页内脏数据索引方法,所述存储系统页内脏数据索引方法包括:获取存储系统中目标存储页中存储点的点数量,并获取所述目标存储页中脏数据在各个存储点中的脏数据分布信息;根据所述点数量和脏数据分布信息创建位图,并根据所述脏数据分布信息创建扩展段集合,并获取扩展段集合中扩展段的当前扩展段个数和段容量;根据所述点数量,获取所述目标存储页以位图索引脏数据的第一存储代价;根据所述当前扩展段个数和段容量,获取所述目标存储页以扩展段索引脏数据的第二存储代价;根据第一存储代价和第二存储代价,确定基于位图方式或扩展段方式索引所述目标存储页中的脏数据。可选地,所述获取存储系统中目标存储页中存储点的点数量,并获取所述目标存储页中脏数据在各个存储点中的脏数据分布信息的步骤包括:获取存储系统中目标存储页的页容量和目标存储页中存储点的点容量,并根据所述页容量和点容量得出存储点的点数量,并获取所述目标存储页中脏数据在各个存储点中的脏数据分布信息;其中当存储点为脏数据,对应位图中的数据位为肯定标识;当存储点为脏数据,对应位图中的数据位为否定标识;扩展段集合中一个扩展段对应所述目标存储页中一个脏数据段,每个扩展段包括偏移子段和长度子段,并根据偏移子段和长度子段的数据位个数得出扩展段的段容量。可选地,所述根据第一存储代价和第二存储代价,确定基于位图方式或扩展段方式索引所述目标存储页中的脏数据包括:若第一存储代价小于第二存储代价,则基于位图方式索引所述目标存储页中的脏数据;若第二存储代价小于第一存储代价,则基于扩展段方式索引所述目标存储页中的脏数据。可选地,所述根据第一存储代价和第二存储代价,确定基于位图方式或扩展段方式索引所述目标存储页中的脏数据包括:获取所述目标存储页以位图索引脏数据的第一查询代价;根据所述当前扩展段个数,获取所述目标存储页以扩展段索引脏数据的第二查询代价;根据第一存储代价和第一查询代价,得出所述目标存储页以位图索引脏数据的第一总代价;根据第二存储代价和第二查询代价,得出所述目标存储页以扩展段索引脏数据的第二总代价;若第一总代价小于第二总代价,则基于位图方式索引所述目标存储页中的脏数据;若第二总代价小于第一总代价,则基于扩展段方式索引所述目标存储页中的脏数据。可选地,所述根据第一存储代价和第一查询代价,得出所述目标存储页以位图索引脏数据的第一总代价的步骤包括:根据预设公式、第一存储代价和第一查询代价,得出所述目标存储页以位图索引脏数据的第一总代价;所述根据第二存储代价和第二查询代价,得出所述目标存储页以扩展段索引脏数据的第二总代价的步骤包括:根据预设公式、第二存储代价和第二查询代价,得出所述目标存储页以扩展段索引脏数据的第二总代价;其中,预设公式为Cost=p*Storage+q*Query,Cost为总代价、p为第一预设系数、Storage为存储代价、q为第二预设系数、Query为查询代价、p+q=1;其中,所述存储系统的存储容量越大,p越小;存储系统的存储容量越小,p越大。可选地,所述根据所述脏数据分布信息创建扩展段集合,并获取扩展段集合的当前扩展段个数的步骤之后包括:当检测到脏数据分布信息更新时,更新所述扩展段集合中各个扩展段的偏移子段和长度子段中数据;根据更新后的各个扩展段的偏移子段和长度子段,对各个扩展段进行合并,以将存在交集的扩展段合并为一个新的扩展段,并将进行扩展段合并后的扩展段集合中扩展段个数作为新的当前扩展段个数。本专利技术还提供一种存储系统页内脏数据索引装置,所述存储系统页内脏数据索引装置包括:获取模块,用于获取存储系统中目标存储页中存储点的点数量,并获取所述目标存储页中脏数据在各个存储点中的脏数据分布信息;位图创建模块,用于根据所述点数量和脏数据分布信息创建位图;扩展段创建模块,用于根据所述脏数据分布信息创建扩展段集合,并获取扩展段集合中扩展段的当前扩展段个数和段容量;代价获取模块,用于根据所述点数量,获取所述目标存储页以位图索引脏数据的第一存储代价;根据所述当前扩展段个数和段容量,获取所述目标存储页以扩展段索引脏数据的第二存储代价;索引模块,用于根据第一存储代价和第二存储代价,确定基于位图方式或扩展段方式索引所述目标存储页中的脏数据。可选地,所述获取模块用于:获取存储系统中目标存储页的页容量和目标存储页中存储点的点容量,并根据所述页容量和点容量得出存储点的点数量,并获取所述目标存储页中脏数据在各个存储点中的脏数据分布信息;其中当存储点为脏数据,对应位图中的数据位为肯定标识;当存储点为脏数据,对应位图中的数据位为否定标识;扩展段集合中一个扩展段对应所述目标存储页中一个脏数据段,每个扩展段包括偏移子段和长度子段,并根据偏移子段和长度子段的数据位个数得出扩展段的段容量。可选地,所述索引模块用于:若第一存储代价小于第二存储代价,则基于位图方式索引所述目标存储页中的脏数据;若第二存储代价小于第一存储代价,则基于扩展段方式索引所述目标存储页中的本文档来自技高网
...

【技术保护点】
1.一种存储系统页内脏数据索引方法,其特征在于,所述存储系统页内脏数据索引方法包括:获取存储系统中目标存储页中存储点的点数量,并获取所述目标存储页中脏数据在各个存储点中的脏数据分布信息;根据所述点数量和脏数据分布信息创建位图,并根据所述脏数据分布信息创建扩展段集合,并获取扩展段集合中扩展段的当前扩展段个数和段容量;根据所述点数量,获取所述目标存储页以位图索引脏数据的第一存储代价;根据所述当前扩展段个数和段容量,获取所述目标存储页以扩展段索引脏数据的第二存储代价;根据第一存储代价和第二存储代价,确定基于位图方式或扩展段方式索引所述目标存储页中的脏数据。

【技术特征摘要】
1.一种存储系统页内脏数据索引方法,其特征在于,所述存储系统页内脏数据索引方法包括:获取存储系统中目标存储页中存储点的点数量,并获取所述目标存储页中脏数据在各个存储点中的脏数据分布信息;根据所述点数量和脏数据分布信息创建位图,并根据所述脏数据分布信息创建扩展段集合,并获取扩展段集合中扩展段的当前扩展段个数和段容量;根据所述点数量,获取所述目标存储页以位图索引脏数据的第一存储代价;根据所述当前扩展段个数和段容量,获取所述目标存储页以扩展段索引脏数据的第二存储代价;根据第一存储代价和第二存储代价,确定基于位图方式或扩展段方式索引所述目标存储页中的脏数据。2.如权利要求1所述的存储系统页内脏数据索引方法,其特征在于,所述获取存储系统中目标存储页中存储点的点数量,并获取所述目标存储页中脏数据在各个存储点中的脏数据分布信息的步骤包括:获取存储系统中目标存储页的页容量和目标存储页中存储点的点容量,并根据所述页容量和点容量得出存储点的点数量,并获取所述目标存储页中脏数据在各个存储点中的脏数据分布信息;其中当存储点为脏数据,对应位图中的数据位为肯定标识;当存储点为脏数据,对应位图中的数据位为否定标识;扩展段集合中一个扩展段对应所述目标存储页中一个脏数据段,每个扩展段包括偏移子段和长度子段,并根据偏移子段和长度子段的数据位个数得出扩展段的段容量。3.如权利要求2所述的存储系统页内脏数据索引方法,其特征在于,所述根据第一存储代价和第二存储代价,确定基于位图方式或扩展段方式索引所述目标存储页中的脏数据包括:若第一存储代价小于第二存储代价,则基于位图方式索引所述目标存储页中的脏数据;若第二存储代价小于第一存储代价,则基于扩展段方式索引所述目标存储页中的脏数据。4.如权利要求2所述的存储系统页内脏数据索引方法,其特征在于,所述根据第一存储代价和第二存储代价,确定基于位图方式或扩展段方式索引所述目标存储页中的脏数据包括:获取所述目标存储页以位图索引脏数据的第一查询代价;根据所述当前扩展段个数,获取所述目标存储页以扩展段索引脏数据的第二查询代价;根据第一存储代价和第一查询代价,得出所述目标存储页以位图索引脏数据的第一总代价;根据第二存储代价和第二查询代价,得出所述目标存储页以扩展段索引脏数据的第二总代价;若第一总代价小于第二总代价,则基于位图方式索引所述目标存储页中的脏数据;若第二总代价小于第一总代价,则基于扩展段方式索引所述目标存储页中的脏数据。5.如权利要求4所述的存储系统页内脏数据索引方法,其特征在于,所述根据第一存储代价和第一查询代价,得出所述目标存储页以位图索引脏数据的第一总代价的步骤包括:根据预设公式、第一存储代价和第一查询代价,得出所述目标存储页以位图索引脏数据的第一总代价;所述根据第二存储代价和第二查询代价,得出所述目标存储页以扩展段索引脏数据的第二总代价的步骤包括:根据预设公式、第二存储代价和第二查询代价,得出所述目标存储页以扩展段索引脏数据的第二总代价;其中,预设公式为Cost=p*Storage+q*Query,Cost为总代价、p为第一预设系数、Storage为存储代价、q为第二预设系数、Query为查询代价、p+q=1;其中,所述存储系统的存储容量越大,p越小;存储系统的存储容量越小,p越大。6.如权利要求2至5任意一项所述的存储系统页内脏数据索引方法,其特征在于,所述根据所述脏数据分布信息创建扩展段集合,并获取扩展段集合的当前扩展段个数的步骤之后包括:当检测到脏数据分布信息更新时,更新所述扩展段集合中各个扩展段的偏移子段和长度子段中数据;...

【专利技术属性】
技术研发人员:罗圣美舒继武陆游游杨洪章
申请(专利权)人:中兴通讯股份有限公司清华大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1