一种数据写入方法及存储设备技术

技术编号:11213704 阅读:96 留言:0更新日期:2015-03-27 00:17
本发明专利技术提供一种数据写入方法及存储设备,所述方法应用于存储设备中,所述存储设备包括处理器、内存和存储介质,所述存储介质中的数据块以树结构组织,所述树的叶子节点用于保存数据块,所述树的父节点和根节点用于保存索引数据,所述索引数据用于索引所述数据块,所述方法由所述处理器执行,包括:接收多个数据块,写入所述内存;在所述内存中修改所述多个数据块;从所述修改后的多个数据块中确定至少两个数据块,所述至少两个数据块的索引数据相同;为所述至少两个数据块分配在所述存储介质中的存储地址,根据所述分配的存储地址,将所述至少两个数据块写入所述存储介质;修改指向所述至少两个数据块的索引数据。

【技术实现步骤摘要】
一种数据写入方法及存储设备
本专利技术涉及电子
,尤其涉及一种数据写入方法及存储设备。
技术介绍
SSD (英文:Solid State Drive ;中文:固态硬盘)相比于传统的机械硬盘,具有读写速度快、防震、体积小,零噪音等优点,被人们广泛使用。一般SSD的写入次数有限。 现有技术中,修改SSD上的数据块采用ROW(英文!Redirect1n On Write ;中文:写时重定向)技术。现有基于ROW技术在SSD上构建文件系统一般会把整个文件系统组织成一棵树状结构。树状结构中的叶子节点用于保存数据块,父节点及根为索引数据,索引数据用于索引数据块。 当修改SSD上的数据块时,首先在内存中修改,然后为修改后的数据块在SSD上分配存储地址,为了能够索引到修改后的数据块,需要对修改后的数据块的索引数据进行更新。更新完毕后,文件系统会产生一个新的树根,以替换掉旧的树根。 现有技术中,每次修改数据块,都会导致索引数据被改写。当修改的数据量大时,会导致大量索引数据被改写,对于SSD来说会造成很大的写开销,导致SSD性能及寿命下降。并且现有技术中必须等文件系统产生新的树根后才能将修改后的数据块从内存中删除,内存利用率低。 因此,现有技术存在的技术问题是:每次修改数据块都会相应地修改它的索引数据,对SSD造成较大的写开销,导致SSD性能及寿命下降。
技术实现思路
本专利技术实施例提供一种数据写入方法及存储设备,用于解决现有技术中存在的每次修改数据块都会相应地修改它的索引数据,对SSD造成较大的写开销,导致SSD性能及寿命下降的技术问题,实现了减小修改数据块对SSD造成的写开销,提高SSD性能,延长SSD的寿命的技术效果。 本专利技术实施例第一方面提供了一种数据写入方法,所述方法应用于存储设备中,所述存储设备包括处理器、内存和存储介质,所述存储介质中的数据块以树结构组织,所述树的叶子节点用于保存数据块,所述树的父节点和根节点用于保存索引数据,所述索引数据用于索引所述数据块,所述方法由所述处理器执行,包括: 接收多个数据块,写入所述内存; 在所述内存中修改所述多个数据块; 从所述修改后的多个数据块中确定至少两个数据块,所述至少两个数据块的索引数据相同; 为所述至少两个数据块分配在所述存储介质中的存储地址,根据所述分配的存储地址,将所述至少两个数据块写入所述存储介质; 修改指向所述至少两个数据块的索引数据。 结合第一方面,在第一种可能的实现方式中,在所述修改指向所述至少两个数据块的索引数据之前,所述方法还包括: 将所述至少两个数据块从所述内存中删除。 结合第一方面,在第二种可能的实现方式中,所述修改指向所述至少两个数据块的索引数据,具体包括: 为所述至少两个数据块创建记录表,记录所述至少两个数据块在所述存储介质中的存储地址; 根据所述记录表,在所述内存中修改指向所述至少两个数据块的索引数据,修改后的所述至少两个数据块的索引数据指向所述至少两个数据块的存储地址; 将所述修改后的所述至少两个数据块的索引数据写入所述存储介质。 本专利技术实施例第二方面提供了一种存储设备,所述存储设备包括处理器、内存和存储介质,所述存储介质中的数据块以树结构组织,所述树的叶子节点用于保存数据块,所述树的父节点和根节点用于保存索引数据,所述索引数据用于索引所述数据块,所述处理器用于: 接收多个数据块,写入所述内存; 在所述内存中修改所述多个数据块; 从所述修改后的多个数据块中确定至少两个数据块,所述至少两个数据块的索引数据相同; 为所述至少两个数据块分配在所述存储介质中的存储地址,根据所述分配的存储地址,将所述至少两个数据块写入所述存储介质; 修改指向所述至少两个数据块的索引数据。 结合第二方面,在第一种可能的实现方式中,所述处理器还用于: 在所述修改指向所述至少两个数据块的索引数据之前,将所述至少两个数据块从所述内存中删除。 结合第二方面,在第二种可能的实现方式中,处理器具体用于: 为所述至少两个数据块创建记录表,记录所述至少两个数据块在所述存储介质中的存储地址; 根据所述记录表,在所述内存中修改指向所述至少两个数据块的索引数据,修改后的索引数据指向所述至少两个数据块的存储地址; 将所述修改后的所述至少两个数据块的索引数据写入所述存储介质。 本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点: 本专利技术实施例中,首先在内存中修改多个数据块,然后从修改后的多个数据块中确定索引数据相同的至少两个数据块,接着将至少两个数据块写入到存储介质,最后修改指向至少两个数据块的索引数据。 相比现有技术中每次将修改后的数据块从内存写入存储介质后,都要对修改后的数据块的索引数据进行更新的技术方案,本专利技术实施例中从修改后的数据块中确定索引数据相同的至少两个数据块,将索引数据相同的至少两个数据块从内存写入存储介质后,对至少两个数据块共同的索引数据进行批量更新,所以减小了对索引数据进行更新的次数,实现了减小修改数据块对存储设备造成的写开销。 【附图说明】 为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对本专利技术或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。 图1为本专利技术实施例提供的信息处理方法适用的文件系统的示意图; 图2为本专利技术实施例提供的信息处理方法的流程图; 图3为本专利技术实施例中更新索引数据的流程图; 图4为本专利技术实施例提供的存储设备的硬件结构示意图。 【具体实施方式】 本专利技术实施例提供一种数据写入方法及存储设备,用于解决现有技术中存在的每次修改数据块都会相应地修改它的索引数据,对SSD造成较大的写开销,导致SSD性能及寿命下降的技术问题,实现了减小修改数据块对SSD造成的写开销,提高SSD性能,延长SSD的寿命的技术效果。 本专利技术实施例中,首先在内存中修改多个数据块,然后从修改后的多个数据块中确定索引数据相同的至少两个数据块,接着将至少两个数据块写入到存储介质,最后修改指向至少两个数据块的索引数据。 相比现有技术中每次将修改后的数据块从内存写入存储介质后,都要对修改后的数据块的索引数据进行更新的技术方案,本专利技术实施例中从修改后的数据块中确定索引数据相同的至少两个数据块,将索引数据相同的至少两个数据块从内存写入存储介质后,对至少两个数据块共同的索引数据进行批量更新,所以减小了对索引数据进行更新的次数,实现了减小修改数据块对存储设备造成的写开销。 为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独本文档来自技高网...
一种数据写入方法及存储设备

【技术保护点】
一种数据写入方法,所述方法应用于存储设备中,所述存储设备包括处理器、内存和存储介质,所述存储介质中的数据块以树结构组织,所述树的叶子节点用于保存数据块,所述树的父节点和根节点用于保存索引数据,所述索引数据用于索引所述数据块,所述方法由所述处理器执行,包括:接收多个数据块,写入所述内存;在所述内存中修改所述多个数据块;从所述修改后的多个数据块中确定至少两个数据块,所述至少两个数据块的索引数据相同;为所述至少两个数据块分配在所述存储介质中的存储地址,根据所述分配的存储地址,将所述至少两个数据块写入所述存储介质;修改指向所述至少两个数据块的索引数据。

【技术特征摘要】
1.一种数据写入方法,所述方法应用于存储设备中,所述存储设备包括处理器、内存和存储介质,所述存储介质中的数据块以树结构组织,所述树的叶子节点用于保存数据块,所述树的父节点和根节点用于保存索引数据,所述索引数据用于索引所述数据块,所述方法由所述处理器执行,包括: 接收多个数据块,写入所述内存; 在所述内存中修改所述多个数据块; 从所述修改后的多个数据块中确定至少两个数据块,所述至少两个数据块的索引数据相同; 为所述至少两个数据块分配在所述存储介质中的存储地址,根据所述分配的存储地址,将所述至少两个数据块写入所述存储介质; 修改指向所述至少两个数据块的索引数据。2.如权利要求1所述的方法,其特征在于,在所述修改指向所述至少两个数据块的索引数据之前,所述方法还包括: 将所述至少两个数据块从所述内存中删除。3.如权利要求1所述的方法,其特征在于,所述修改指向所述至少两个数据块的索引数据,包括: 为所述至少两个数据块创建记录表,记录所述至少两个数据块在所述存储介质中的存储地址; 根据所述记录表,在所述内存中修改指向所述至少两个数据块的索引数据,修改后的所述至少两个数据块的索引数据指向所述至少两个数据块的存储地址; 将所述修改后的...

【专利技术属性】
技术研发人员:叶茂
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1