本发明专利技术提供一种数据写入方法和装置,数据写入方法包括:接收主机下发的小写请求,小写请求中携带有修改数据以及修改数据的位置信息;当判断设置的固态硬盘中不存在与修改数据对应的磁盘条带单元数据时,根据位置信息从相应的磁盘条带单元中读取磁盘条带单元数据,根据修改数据对磁盘条带单元数据进行修改;将修改后的磁盘条带单元数据以预定的数据存储形式存储于固态硬盘中,并向主机返回小写请求响应;将固态硬盘中保存的修改后的磁盘条带单元数据写入磁盘。通过使用固态硬盘对小写操作的数据进行保存,由于固态硬盘是非易失性存储介质及其高读写性能,能够提高磁盘在小写操作时的读写性能,保证了小写操作数据暂存的安全性。
【技术实现步骤摘要】
本专利技术涉及数据存储
,尤其涉及一种数据写入方法和装置。
技术介绍
在相关技术中,独立冗余石兹盘阵列(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,将固态硬盘中保存的修改后的磁盘条带单元数据写入磁盘。在实际应用中,为了后续将固态硬盘上的数据及时、正确地搬移到磁盘 上,可以建立一张用于保存固态硬盘条带单元与磁盘条带单元对应关系本文档来自技高网...
【技术保护点】
一种数据写入方法,其特征在于,包括: 接收主机下发的小写请求,所述小写请求中携带有修改数据以及所述修改数据的位置信息; 当判断设置的固态硬盘中不存在与所述修改数据对应的磁盘条带单元数据时,根据所述位置信息从相应的磁盘条带单元中读 取磁盘条带单元数据,根据所述修改数据对所述磁盘条带单元数据进行相应修改; 将修改后的磁盘条带单元数据以预定的数据存储形式存储于所述固态硬盘中,并向所述主机返回小写请求响应; 将所述固态硬盘中保存的所述修改后的磁盘条带单元数据写入 磁盘。
【技术特征摘要】
【专利技术属性】
技术研发人员:方敏,
申请(专利权)人:成都市华为赛门铁克科技有限公司,
类型:发明
国别省市:90[中国|成都]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。