数据写入方法和装置的制作方法

文档序号:6579474阅读:121来源:国知局
专利名称:数据写入方法和装置的制作方法
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据写入方法和装置。
背景技术
在相关技术中,独立冗余石兹盘阵列(Redundant Array oflndependent Disk; 以下筒称RAID)是由多块i兹盘构成的冗余阵列,可以在操作系统下作为一 个独立的大型存储设备使用。RAID具有数据安全性高、存储容量大、易于管 理的优点。
RAID5是RAID的一种工作模式,为分布式奇偶校验的独立磁盘结构, RAID5将数据块的校验位交互存放于各个硬盘上,以数据块的校验位来保证 数据的安全。因此,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来 重建损坏的数据。由于RAID5阵列既保证了较高的》兹盘空间利用率又具有一 定的数据冗余,在存储系统中得到了广泛的应用。
在RAID5中,如果需要写入新数据的磁盘条带单元的数目比较少,则需 要进行小写操作。在进行小写操作时,首先需要读出该条带单元中的旧数据 (第一个I/0操作)和校验单元数据(第二个I/0操作),随后,将该旧数据、 校验单元数据、以及新数据三者进行一个异或运算操作,得到新4交验数据, 最后,再将新数据(第三个I/O操作)和新校验数据(第四个I/O操作)写入 磁盘。从上面的操作可以看出, 一个RAID5的小写操作需要触发四个I/0操 作和一个异或运算操作,从而影响RAID5的写性能。
目前,针对RAID5的小写操作影响其写性能的问题, 一种解决方案是在 中央处理单元(Central Processing Unit;以下简称CPU)和存储阵列之间增 加一个高速缓存(Cache),小写操作时一旦命中cache,就可以直接在cache层响应主机,在没有命中cache或cache已满时,需要将数据写入磁盘。
在实现本发明过程中,发明人发现现有技术中由于cache是易失性的存 储介质,系统一旦非正常断电,数据的正确性和一致性就容易受到威胁;此 外,在另一种解决方案中,由于待写入的数据还是需要保存到》兹盘上,仍然
会受制于磁盘的i/o性能。

发明内容
本发明实施例提供一种数据写入方法和装置,以实现提高在小写操作中 磁盘写性能。
本发明实施例提供一种数据写入方法,包括
接收主机下发的小写请求,小写请求中携带有修改数据以及修改数据的 位置信息;
当判断设置的固态硬盘中不存在与修改数据对应的磁盘条带单元数据 时,根据位置信息从相应的磁盘条带单元中读取磁盘条带单元数据,根据修 改数据对磁盘条带单元数据进行相应修改;
将修改后的磁盘条带单元数据以预定的数据存储形式存储于固态硬盘 中,并向主机返回小写请求响应;
将固态硬盘中保存的修改后的磁盘条带单元数据写入磁盘。
本发明实施例提供一种数据写入装置,包括
接收模块,用于接收主机下发的小写请求,小写请求中携带有修改数据 以及修改数据对应的位置信息;
第一修改模块,用于当判断设置的固态硬盘中不存在与修改数据对应的 磁盘条带单元数据时,根据位置信息从相应的磁盘条带单元中读取磁盘条带 单元数据,根据修改数据对磁盘条带单元数据进行相应修改;
存储模块,用于将修改后的磁盘条带单元数据以预定的数据存储形式存储于固态硬盘中;
发送模块,用于当存储模块将修改后的磁盘条带单元数据存储于固态硬 盘中时,向主才几返回小写请求响应;
写入模块,用于将固态硬盘中保存的修改后的磁盘条带单元数据写入磁盘。
本发明实施例的数据写入方法和装置,通过使用固态硬盘对小写操作的 数据进行保存,由于固态硬盘是非易失性存储介质,避免了现有技术中在非 正常断电时,由于将小写操作的数据暂存在易失性存储介质而导致的数据安 全性低的缺陷,此外,由于固态硬盘的高读写性能,还避免了由于将小写数 据以日志结构保存在^f兹盘上而导致的受到^f兹盘读写性能制约的缺陷,实现了 提高磁盘在小写操作时的读写性能,保证了小写操作数据暂存的安全性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下 面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在 不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图l是本发明实施例的数据写入方法的流程图; 图2是本发明实施例的条带单元映射表的示意图; 图3是本发明实施例的磁盘条带单元信息的结构体变量的示意图; 图4是本发明实施例的数据写入方法的详细处理的流程图; 图5是根据本发明实施例的数据写入方法的将数据写入磁盘的流程图; 图6是本发明实施例的数据写入装置的结构示意图; 图7是根据本发明实施例的写入模块的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。 下面结合附图和具体实施例进一步说明本发明实施例的技术方案。 根据本发明的实施例,提供了一种数据写入方法,图l是本发明实施例 的数据写入方法的流程图,如图l所示,根据本发明实施例的数据写入方法
包括如下步骤
步骤IOI,接收主机下发的小写请求,该小写请求中携带有修改数据 (例如,修改数据为D3,)以及修改数据的位置信息;
也就是说,小写请求中携带有修 文数据,并同时指示出磁盘中的磁盘条 带下哪个磁盘条带单元中的哪些数据需要根据该修改数据进行修改,即上述 位置信息。
步骤102,当判断设置的固态硬盘中不存在与该修改数据对应的磁盘 条带单元数据时,根据小写请求中的位置信息从相应的磁盘条带单元中读取 石兹盘条带单元数据,并根据修改数据对读取的》兹盘条带单元数据进行相应修 改;
其中,上述磁盘条带单元数据是指该条带单元中的全部数据,例如,读 取的磁盘条带单元数据为Dl、 D2、 D3、 D4,修 支数据为D3',则根据D3, 对D1、 D2、 D3、 D4进行修改;根据小写请求中的位置信息可知,修改数据 D3,是对磁盘条带单元数据中的D3进行修改。
步骤103,将修改后的磁盘带单元数据以预定数据存储形式存储于固态 硬盘,即,将修改后的》兹盘条带单元数据D1、 D2、 D3'、 D4存储于固态硬 盘中,并向主积逸回小写请求响应。
具体的,在步骤103中,预定数据存储形式可以包括日志形式;也就 是说,将修改后的磁盘条带单元数据D1、 D2、 D3'、 D4以日志的形式保存 在固态硬盘中;此外,从固态硬盘自身结构的角度来说,可以将固态硬盘划分为固态硬 盘条带单元,将数据存储于固态硬盘条带单元中,从而可以按照固态硬盘条
带号定期进行统计;
为了能够使存储于固态硬盘的数据更加安全,还可以使用固态硬盘组成 镜像结构的固态硬盘,将数据保存在镜像结构的固态硬盘中。
在实际应用中,为了节省成本,优选地,可以将两个固态石更盘组成RAID 1 。 RAID1即为镜象结构,当主硬盘损坏时,镜像硬盘就可以代替主硬盘工 作,对于使用RAID1结构的存储设备来说,镜像硬盘相当于一个备份硬 盘,从而,提高了数据存储的安全性。
步骤104,将固态硬盘中保存的修改后的磁盘条带单元数据写入磁盘。
在实际应用中,为了后续将固态硬盘上的数据及时、正确地搬移到磁盘 上,可以建立一张用于保存固态硬盘条带单元与磁盘条带单元对应关系的条 带单元映射表,该条带单元映射表以》兹盘条带号为索引。图2是本发明实施 例的条带单元映射表的示意图,如图2所示,条带单元映射表中的每一项由 A、 B、 C三个域组成其中,域A记录磁盘条带号对应的磁盘条带中有几个 磁盘条带单元中的磁盘条带单元数据存储在固态硬盘中(即,该磁盘条带中 有几个磁盘条带单元在固态硬盘中);B域记录磁盘条带号对应的磁盘条带 最后的更新时间;C域记录磁盘条带号对应的磁盘条带中的磁盘条带单元信 息的结构体的指针。
图3是本发明实施例的磁盘条带单元信息的结构体变量的示意图,如图 3所示,磁盘条带单元信息的结构体变量包括C1、 C2、 C3三个变量,其中, Cl记录磁盘条带单元在磁盘条带中的序号;C2记录磁盘条带单元在固态硬 盘中的序号;C3记录指向下一个条带单元信息的结构体的指针。
此外,为了及时地将固态硬盘上的数据写入磁盘,释放固态硬盘上的空 间,便于后续连续的小写操作,可以建立一个位图,该位图用于标识固态硬 盘中可用的固态硬盘条带单元。根据该位图,就可以方便的查找空闲的固态硬盘条带单元。
通过建立了条带单元映射表以及位图,如果主机下发小写请求,就可以 根据条带单元映射表以及位图的记录进行相应的小写操作,下面,结合附图, 对主机下发小写请求时根据条带单元映射表以及位图的记录进行小写操作的
过程进行详细说明,图4以向RAID5写数据为例对本发明实施例的数据写入 方法进行详细描述,如图4所示,包括如下步骤
步骤401,固态硬盘接收主机下发的小写请求,其中,小写请求中携带 有修改数据以及修改数据对应的位置信息;
步骤402,根据小写请求中的位置信息,可以确定磁盘中相应的磁盘条 带,在确定了磁盘条带后,根据该磁盘条带的磁盘条带号查询条带单元映射 表;
步骤403,根据条带单元映射表的记录,判断修改数据对应的磁盘条带 单元数据是否已经在固态硬盘中;如果判断为是,则执行步骤404,否则, 则执行步骤405;
步骤404,根据条带单元映射表在固态硬盘中查找到该修改数据对应的 磁盘条带单元数据,并对该磁盘条带单元数据进行修改,也就是说,当判断 固态硬盘中存在与修改数据对应的磁盘条带单元数据时,可以直接根据修改 数据对所述固态硬盘中的所述磁盘条带单元数据进行修改;进入步骤409;
步骤405,根据小写请求中的位置信息从磁盘相应的磁盘条带单元中读 取修改数据对应的石兹盘条带单元数据,进入步骤406;
步骤406,根据修改数据对相应的磁盘条带单元数据进行修改,进入步 骤407;
步骤407,根据位图查找固态硬盘中空闲的固态硬盘条带单元,将修改 后的磁盘条带单元数据保存在上述空闲的固态硬盘条带单元中;在数据结构 上,可以使用日志结构形式保存数据,具体的,为了提高数据的安全性,还 可以使用镜像结构的固态硬盘以日志形式保存修改后的磁盘条带单元数据。步骤408,根据上述操作的结果对条带单元映射表以及位图进行修改;
由于在将修改后的磁盘条带单元数据存储于上述空闲的固态硬盘条带单 元中后,固态硬盘条带单元的存储状态已经变化,因此,需要及时对条带单 元映射表以及位图进行修改。
步骤409,固态硬盘向主机返回小写请求响应,进入步骤410;
通过上述处理,本发明实施例将固态硬盘引入磁盘阵列中,利用固态硬 盘的高性能读写特性,将要写的数据以日志结构的形式保存到固态硬盘盘上, 使小写请求得以及时响应,提高了 RAID5的小写性能。
步骤410,将固态硬盘中保存的所述修改后的磁盘条带单元数据写入 RAID5中的相应磁盘条带单元中。
具体的,在向主机及时地返回了小写请求响应后,还需要设置一个后台 线程,该线程在满足启动条件时启动,为了保证在^f兹盘空闲时再向》兹盘写入 数据,以及保证固态硬盘中有足够的存储空间存储最新的数据,该线程具有 一定的启动条件,即,在系统空闲、或固态硬盘上的空间已经达到一个预定 值后启动该线程。
启动该后台线程后,可以在条带单元映射表中优先选择固态硬盘上符合 满写条件的数据将其写入》兹盘,具体地,如果有符合满写条件的数据,可以 从固态硬盘中获取该磁盘条带的所有修改后的磁盘条带单元数据,根据修改 后的磁盘条带单元数据确定校验数据,并将修改后的磁盘条带单元数据和校 验数据写入;兹盘;如果没有这样的数据,按最近最少使用(Least Recently Used;以下筒称LRU)算法在条带单元映射表中选择要写回磁盘的磁盘条带 单元,根据该算法选择需要写回磁盘的可能是一个条带单元,也可能是属于 同一个条带又不满足满写的几个条带单元,如果满足大写条件,就可以使用 大写操作来计算新校验数据。
例如,RAID5中一个条带包括三个数据条带单元一个校验条带单元,如 果已经有两个条带单元内容已经在固态硬盘中,此时在计算新的校验数据就可以将不在固态硬盘的另 一个数据条带单元中的数据和在固态硬盘中的两个 条带单元的新数据做个异或就可以得到新的校验数据了 。如果也不满足大写 条件,则从磁盘中读取该》兹盘条带单元中相应的旧数据和旧校验数据,根据 旧数据、旧校验数据、以及相应的修改后的磁盘条带单元数据确定新校验数 据,并将相应的修改后的磁盘条带单元数据和新校验数据写入磁盘。也就是 说,在不符合满写条件时,如果符合大写就按大写方式处理,即读取不需要
据,否则就按小写方式处理,具体的,读取需要修改的磁盘条带单元上的旧 数据和旧的校验数据,将其和新数据进行异或得到新的校验数据。最后,修 改条带单元映射表和位图中相应的项,并回收固态硬盘上的空间。
此外,为了提高存储于固态硬盘中的数据的安全性,还可以使用固态硬
盘组成镜像结构,将数据保存在镜像结构的固态硬盘例如RAID1中,既能保 证的数据读写的性能,又能降低一个固态硬盘因非正常断电或出现故障时而 导致数据丟失的风险。
本发明实施例利用固态硬盘的高性能读写特性,使得小写情况下系统可 以尽快地响应主机,提高了 RAID5的小写性能,并且,通过查询条带单元映 射表能够方便的将固态硬盘中暂时存储的数据写入磁盘,在存在符合满写条 件的数据时,能够在写入磁盘时执行满写操作,极大地提高了写入磁盘的速 度。
图5是根据本发明实施例的数据写入方法的将数据写入磁盘的流程图, 下面,结合图5,对将数据线写入》兹盘的处理过程进行详细说明,如图5所 示,根据本发明实施例的数据写入方法包括如下处理
步骤501,在存储系统空闲时,根据条带单元映射表判断固态硬盘中是 否存在符合满写条件的》兹盘条带的数据,其中,满写条件是指i兹盘中一个》兹 盘条带中的所有磁盘条带单元中的数据均存储于固态硬盘中,并需要将该数 据从固态硬盘写入到磁盘。当存在符合满写条件的》兹盘条带时、,进入步骤502,否则进入步骤505;
步骤502,从固态硬盘中获取与该磁盘条带对应的所有修改后的磁盘条 带单元数据;
步骤503,根据修改后的磁盘条带单元数据确定校验数据;
步骤504,将修改后的磁盘条带单元数据和校验数据写入该磁盘条带单
元;
步骤505,根据条带单元映射表判断固态硬盘中是否存在符合大写条件 的磁盘条带单元的数据;如果判断为是,则进入步骤506,否则,进入步骤 509;
步骤506,从固态硬盘中获取修改后的符合大写条件的磁盘条带单元数
据;
步骤507,根据修改后的符合大写条件的磁盘条带单元数据执行大写操 作,以确定新校验数据;
步骤508,将修改后的符合大写条件的磁盘条带单元数据和该新校验数 据写入石兹盘,进入步骤513;
步骤509,根据LRU算法确定需要写回磁盘的磁盘条带单元;
具体的,可以将在固态硬盘中存储时间最长的磁盘条带确定为需要写回 磁盘的磁盘条带单元。
步骤510,从磁盘中读取磁盘条带单元中相应的旧数据和旧校验数据;
步骤511,根据旧数据、旧校验数据、以及固态硬盘中相应的修改后的 磁盘条带单元数据确定新校验数据;
步骤512,将相应的修改后的磁盘条带单元数据和新校验数据写入磁盘, 进入步骤513;
步骤513,对条带单元映射表以及位图进行相应的修改。 优选地,还可以设置一个定时器,并在条带单元映射表以及位图进行修 改后,需要判断该定时器是否到时;如果到时,则结束操作;否则重新执行操作。
如上所述,通过查询条带单元映射表能够方便的将固态硬盘中暂时存储 的数据写入磁盘,在存在符合满写条件的数据时,能够在写入磁盘时执行满 写操作,极大地提高了写入磁盘的速度。
根据本发明的另一实施例,提供了一种数据写入装置,图6是本发明实 施例的数据写入装置的结构示意图,如图6所示,根据本发明实施例的数据 写入装置包括接收模块60、第一判断模块61,第一修改模块62、第二修改 模块63,存储模块64、发送模块66、写入模块68。下面,对上述数据写入 装置中的各个模块进行详细说明。
接收模块60,用于接收主机下发的小写请求,该小写请求中携带有修改 数据以及修改数据对应的位置信息;
其中,位置信息是指磁盘中的磁盘条带下哪个磁盘条带单元中的哪些数 据需要根据修改数据(例如D3,)进行修改。
第 一判断模块61 ,用于根据条带单元映射表判断与所述修改数据对应的 磁盘条带单元数据是否存在于所述固态硬盘中,其中,所述条带单元映射表 中保存有所述固态硬盘条带单元与所述磁盘条带单元的对应关系;
具体的,在实际应用中,为了后续能够将固态硬盘上的数据及时、正确 地搬移到磁盘上,建立有一张用于保存固态硬盘条带单元与磁盘条带单元对 应关系的条带单元映射表,该条带单元映射表以》兹盘条带号为索引。该条带 单元映射表中的各个域以及变量可以参照图2和图3进行理解,在此不再赘 述。
第一修改模块62,用于当判断设置的固态硬盘中不存在与所述修改数据 对应的磁盘条带单元数据时,根据位置信息从相应的磁盘条带单元中读取J兹 盘条带单元数据;
其中,上述磁盘条带单元数据是指该条带单元中的全部数据,例如Dl、 D2、 D3、 D4;并根据修改数据D3,对磁盘条带单元数据Dl、 D2、 D3、 D4进行修改;
第二修改模块63 ,用于当所述判断模块的判断结果为所述固态硬盘中存 在与所述修改数据对应的磁盘条带单元数据时,根据所述修改数据对所述固 态硬盘中的所述磁盘条带单元数据进行修改;
存储模块64,用将修改后的磁盘条带单元数据Dl、 D2、 D3'、 D4以预 定的数据存储形式存储于固态硬盘中;
具体地,修改后的磁盘条带单元数据包括Dl、 D2、 D3'、 D4,将Dl、 D2、 D3,、 D4以预定数据存储形式将以日志的形式保存在固态硬盘中,具体 的,该预定的数据存储形式可以包括日志形式。
此外,从固态硬盘自身结构的角度来说,可以将固态硬盘划分为固态硬 盘条带单元,将数据存储于固态硬盘条带单元中,从而可以按照固态硬盘条 带号定期进行统计;
为了能够使存储于固态硬盘的数据更加安全,还可以使用固态硬盘组成 镜像结构的固态硬盘,将^t据保存在镜像结构的固态硬盘中。
发送模块66,用于当存储模块64将修改后的磁盘条带单元数据存储于 固态硬盘中后,向主机返回小写请求响应;
写入模块68,用于将固态硬盘中存储的修改后的磁盘条带单元数据写入 磁盘。
具体的,为了及时地将固态硬盘上的数据写入磁盘,释放固态硬盘上的
空间,便于后续的连续小写梯:作,还可以建立一个位图,该位图用于标识固 态硬盘中可用的固态硬盘条带单元。根据该位图,就可以方便的查找空闲的 固态硬盘条带单元。
通过上述的处理,由于利用固态硬盘的高性能读写特性,提高了RAID5 的小写性能;此外,通过将固态硬盘做成磁盘镜像,既保证了数据读写的性 能,又防止了非正常断电时或固态硬盘出现故障时数据产生不一致的可能。
图7是根据本发明实施例的写入模块的结构示意图,如图7所示,根据本发明实施例的写入模块包括第二判断子模块70、第一写入子模块72、第 三判断子模块74、第二写入子模块76、第三写入子模块78。下面结合附图,
对本发明实施例的数据写入装置进行说明。其中
第二判断子模块70,用于判断固态硬盘中是否存在符合满写条件的磁盘
条带;
其中,满写条件为磁盘条带中所有磁盘条带单元中的数据均需要由固态 硬盘重新写入到磁盘。
第一写入子模块72,用于在第二判断子模块70判断为是的情况下,从 固态硬盘中获取磁盘条带的所有修改后的磁盘条带单元数据,根据修改后的 磁盘条带单元数据确定校验数据,并将修改后的磁盘条带单元数据和校验数 据写入磁盘;
第三判断子模块74,用于在第二判断子模块70判断为否的情况下,判 断固态硬盘中是否存在符合大写条件的磁盘条带单元;
第二写入子模块76,用于在第三判断子模块74判断为是的情况下,从 固态硬盘中获取修改后的符合大写条件的磁盘条带单元数据,根据修改后的 符合大写条件的磁盘条带单元数据执行大写操作,以确定新校验数据,并将 修改后的符合大写条件的磁盘条带单元数据和该新校验数据写入磁盘;
第三写入子模块78,用于在第三判断子模块74判断为否的情况下,确 定需要写回i兹盘的i兹盘条带单元,从磁盘中读取磁盘条带单元中相应的旧数
据和旧校验数据,根据旧数据、旧校验数据、以及固态硬盘中相应的修改后 的磁盘条带单元数据确定新校验数据,并将相应的修改后的磁盘条带单元数 据和新校验数据写入磁盘。
此外,根据本发明实施例的写入模块还包括
维护子模块,用于在写入磁盘后,对条带单元映射表以及位图进行相应 的修改,其中,条带单元映射表用于保存固态硬盘条带单元与磁盘条带单元 的对应关系,位图用于标识固态硬盘中可用的固态硬盘条带单元;控制子模块,用于设置定时器,在定时器到时的情况下,结束操作,在 定时器未到时的情况下,通知第二判断模块执行判断固态硬盘中是否存在符 合满写条件的磁盘条带的操作。
借助于上述数据写入装置,通过查询条带单元映射表能够方便的将固态 硬盘中暂时存储的数据写入i兹盘,在存在符合满写条件的数据时,能够在写 入磁盘时执行满写操作,极大地提高了写入磁盘的速度。
需要说明的是,本发明实施例的数据写入装置中可以包括固态硬盘和
RAID5的磁盘,也可以独立于固态硬盘或RAID5的磁盘单独存在。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实 施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部 分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可 读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台 计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施 例或者实施例的某些部分所述的方法。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其 限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或 者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技 术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种数据写入方法,其特征在于,包括接收主机下发的小写请求,所述小写请求中携带有修改数据以及所述修改数据的位置信息;当判断设置的固态硬盘中不存在与所述修改数据对应的磁盘条带单元数据时,根据所述位置信息从相应的磁盘条带单元中读取磁盘条带单元数据,根据所述修改数据对所述磁盘条带单元数据进行相应修改;将修改后的磁盘条带单元数据以预定的数据存储形式存储于所述固态硬盘中,并向所述主机返回小写请求响应;将所述固态硬盘中保存的所述修改后的磁盘条带单元数据写入磁盘。
2、 根据权利要求1所述的方法,其特征在于,所述方法还包括当判断所述固态硬盘中存在与所述修改数据对应的磁盘条带单元数据 时,根据所述修改数据对所述固态硬盘中的所述磁盘条带单元数据进行相应 修改。
3、 根据权利要求1所述的方法,其特征在于,所述将修改后的磁盘条带 单元数据以预定的数据存储形式存储于所述固态硬盘中包括根据位图查找所述固态硬盘中空闲的固态硬盘条带单元,所述位图中标 识有所述固态硬盘中空闲的固态硬盘条带单元;将所述修改后的磁盘条带单元数据以预定的数据存储形式存储于所述空 闲的固态硬盘条带单元中。
4、 根据权利要求1至3中任一所述的方法,其特征在于所述判断包括 根据设置的条带单元映射表进行判断,所述条带单元映射表中保存有固态硬 盘条带单元与》兹盘条带单元的对应关系。
5、 根据权利要求1至3中任一所述的方法,其特征在于所述预定的数 据存储形式包括日志形式。
6、 一种数据写入装置,其特征在于,包括接收模块,用于接收主机下发的小写请求,所述小写请求中携带有修改数据以及所述修改数据对应的位置信息;第 一修改模块,用于当判断设置的固态硬盘中不存在与所述修改数据对 应的磁盘条带单元数据时,根据所述位置信息从相应的磁盘条带单元中读取 磁盘条带单元数据,根据所述修改数据对所述磁盘条带单元数据进行修改;存储模块,用于将修改后的磁盘条带单元数据以预定的数据存储形式存 储于所述固态硬盘中;发送模块,用于当存储模块将修改后的磁盘条带单元数据存储于所述固 态石更盘中时,向所述主机返回小写请求响应;写入模块,用于将所述固态硬盘中保存的所述修改后的磁盘条带单元数 据写入磁盘。
7、 根据权利要求6所述的装置,其特征在于,所述装置还包括 第一判断模块,用于根据条带单元映射表判断与所述修改数据对应的磁盘条带单元数据是否存在于所述固态硬盘中,其中,所述条带单元映射表中 保存有所述固态硬盘条带单元与所述磁盘条带单元的对应关系;第二修改模块,用于当所述判断模块的判断结果为所述固态硬盘中存在 与所述修改数据对应的磁盘条带单元数据时,根据所述修改数据对所述固态 硬盘中的所述磁盘条带单元数据进行相应修改。
8、 根据权利要求6所述的装置,其特征在于,所述存储模块包括 查找单元,用于根据位图查找所述固态硬盘中空闲的固态硬盘条带单元,所述位图中标识有所述固态硬盘中空闲的固态硬盘条带单元;存储单元,用于将所述修改后的磁盘条带单元数据以预定的数据存储形 式存储于所述空闲的固态硬盘条带单元中。
9、 根据权利要求6至8中任一项所述的装置,其特征在于,所述预定的 数据存储形式包括日志形式。
全文摘要
本发明提供一种数据写入方法和装置,数据写入方法包括接收主机下发的小写请求,小写请求中携带有修改数据以及修改数据的位置信息;当判断设置的固态硬盘中不存在与修改数据对应的磁盘条带单元数据时,根据位置信息从相应的磁盘条带单元中读取磁盘条带单元数据,根据修改数据对磁盘条带单元数据进行修改;将修改后的磁盘条带单元数据以预定的数据存储形式存储于固态硬盘中,并向主机返回小写请求响应;将固态硬盘中保存的修改后的磁盘条带单元数据写入磁盘。通过使用固态硬盘对小写操作的数据进行保存,由于固态硬盘是非易失性存储介质及其高读写性能,能够提高磁盘在小写操作时的读写性能,保证了小写操作数据暂存的安全性。
文档编号G06F3/06GK101620517SQ20091016059
公开日2010年1月6日 申请日期2009年8月4日 优先权日2009年8月4日
发明者敏 方 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1