CN101620517A - 数据写入方法和装置 - Google Patents

数据写入方法和装置 Download PDF

Info

Publication number
CN101620517A
CN101620517A CN200910160593A CN200910160593A CN101620517A CN 101620517 A CN101620517 A CN 101620517A CN 200910160593 A CN200910160593 A CN 200910160593A CN 200910160593 A CN200910160593 A CN 200910160593A CN 101620517 A CN101620517 A CN 101620517A
Authority
CN
China
Prior art keywords
data
disk
stripe cell
solid state
hard disc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910160593A
Other languages
English (en)
Other versions
CN101620517B (zh
Inventor
方敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2009101605937A priority Critical patent/CN101620517B/zh
Publication of CN101620517A publication Critical patent/CN101620517A/zh
Application granted granted Critical
Publication of CN101620517B publication Critical patent/CN101620517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明提供一种数据写入方法和装置,数据写入方法包括:接收主机下发的小写请求,小写请求中携带有修改数据以及修改数据的位置信息;当判断设置的固态硬盘中不存在与修改数据对应的磁盘条带单元数据时,根据位置信息从相应的磁盘条带单元中读取磁盘条带单元数据,根据修改数据对磁盘条带单元数据进行修改;将修改后的磁盘条带单元数据以预定的数据存储形式存储于固态硬盘中,并向主机返回小写请求响应;将固态硬盘中保存的修改后的磁盘条带单元数据写入磁盘。通过使用固态硬盘对小写操作的数据进行保存,由于固态硬盘是非易失性存储介质及其高读写性能,能够提高磁盘在小写操作时的读写性能,保证了小写操作数据暂存的安全性。

Description

数据写入方法和装置
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据写入方法和装置。
背景技术
在相关技术中,独立冗余磁盘阵列(Redundant Array of Independent Disk;以下简称:RAID)是由多块磁盘构成的冗余阵列,可以在操作系统下作为一个独立的大型存储设备使用。RAID具有数据安全性高、存储容量大、易于管理的优点。
RAID5是RAID的一种工作模式,为分布式奇偶校验的独立磁盘结构,RAID5将数据块的校验位交互存放于各个硬盘上,以数据块的校验位来保证数据的安全。因此,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。由于RAID5阵列既保证了较高的磁盘空间利用率又具有一定的数据冗余,在存储系统中得到了广泛的应用。
在RAID5中,如果需要写入新数据的磁盘条带单元的数目比较少,则需要进行小写操作。在进行小写操作时,首先需要读出该条带单元中的旧数据(第一个I/O操作)和校验单元数据(第二个I/O操作),随后,将该旧数据、校验单元数据、以及新数据三者进行一个异或运算操作,得到新校验数据,最后,再将新数据(第三个I/O操作)和新校验数据(第四个I/O操作)写入磁盘。从上面的操作可以看出,一个RAID5的小写操作需要触发四个I/O操作和一个异或运算操作,从而影响RAID5的写性能。
目前,针对RAID5的小写操作影响其写性能的问题,一种解决方案是在中央处理单元(Central Processing Unit;以下简称:CPU)和存储阵列之间增加一个高速缓存(Cache),小写操作时一旦命中cache,就可以直接在cache层响应主机,在没有命中cache或cache已满时,需要将数据写入磁盘。
在实现本发明过程中,发明人发现现有技术中由于cache是易失性的存储介质,系统一旦非正常断电,数据的正确性和一致性就容易受到威胁;此外,在另一种解决方案中,由于待写入的数据还是需要保存到磁盘上,仍然会受制于磁盘的I/O性能。
发明内容
本发明实施例提供一种数据写入方法和装置,以实现提高在小写操作中磁盘写性能。
本发明实施例提供一种数据写入方法,包括:
接收主机下发的小写请求,小写请求中携带有修改数据以及修改数据的位置信息;
当判断设置的固态硬盘中不存在与修改数据对应的磁盘条带单元数据时,根据位置信息从相应的磁盘条带单元中读取磁盘条带单元数据,根据修改数据对磁盘条带单元数据进行相应修改;
将修改后的磁盘条带单元数据以预定的数据存储形式存储于固态硬盘中,并向主机返回小写请求响应;
将固态硬盘中保存的修改后的磁盘条带单元数据写入磁盘。
本发明实施例提供一种数据写入装置,包括:
接收模块,用于接收主机下发的小写请求,小写请求中携带有修改数据以及修改数据对应的位置信息;
第一修改模块,用于当判断设置的固态硬盘中不存在与修改数据对应的磁盘条带单元数据时,根据位置信息从相应的磁盘条带单元中读取磁盘条带单元数据,根据修改数据对磁盘条带单元数据进行相应修改;
存储模块,用于将修改后的磁盘条带单元数据以预定的数据存储形式存储于固态硬盘中;
发送模块,用于当存储模块将修改后的磁盘条带单元数据存储于固态硬盘中时,向主机返回小写请求响应;
写入模块,用于将固态硬盘中保存的修改后的磁盘条带单元数据写入磁盘。
本发明实施例的数据写入方法和装置,通过使用固态硬盘对小写操作的数据进行保存,由于固态硬盘是非易失性存储介质,避免了现有技术中在非正常断电时,由于将小写操作的数据暂存在易失性存储介质而导致的数据安全性低的缺陷,此外,由于固态硬盘的高读写性能,还避免了由于将小写数据以日志结构保存在磁盘上而导致的受到磁盘读写性能制约的缺陷,实现了提高磁盘在小写操作时的读写性能,保证了小写操作数据暂存的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的数据写入方法的流程图;
图2是本发明实施例的条带单元映射表的示意图;
图3是本发明实施例的磁盘条带单元信息的结构体变量的示意图;
图4是本发明实施例的数据写入方法的详细处理的流程图;
图5是根据本发明实施例的数据写入方法的将数据写入磁盘的流程图;
图6是本发明实施例的数据写入装置的结构示意图;
图7是根据本发明实施例的写入模块的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
下面结合附图和具体实施例进一步说明本发明实施例的技术方案。
根据本发明的实施例,提供了一种数据写入方法,图1是本发明实施例的数据写入方法的流程图,如图1所示,根据本发明实施例的数据写入方法包括如下步骤:
步骤101,接收主机下发的小写请求,该小写请求中携带有修改数据(例如,修改数据为D3’)以及修改数据的位置信息;
也就是说,小写请求中携带有修改数据,并同时指示出磁盘中的磁盘条带下哪个磁盘条带单元中的哪些数据需要根据该修改数据进行修改,即上述位置信息。
步骤102,当判断设置的固态硬盘中不存在与该修改数据对应的磁盘条带单元数据时,根据小写请求中的位置信息从相应的磁盘条带单元中读取磁盘条带单元数据,并根据修改数据对读取的磁盘条带单元数据进行相应修改;
其中,上述磁盘条带单元数据是指该条带单元中的全部数据,例如,读取的磁盘条带单元数据为D1、D2、D3、D4,修改数据为D3’,则根据D3’对D1、D2、D3、D4进行修改;根据小写请求中的位置信息可知,修改数据D3’是对磁盘条带单元数据中的D3进行修改。
步骤103,将修改后的磁盘带单元数据以预定数据存储形式存储于固态硬盘,即,将修改后的磁盘条带单元数据D1、D2、D3’、D4存储于固态硬盘中,并向主机返回小写请求响应。
具体的,在步骤103中,预定数据存储形式可以包括:日志形式;也就是说,将修改后的磁盘条带单元数据D1、D2、D3’、D4以日志的形式保存在固态硬盘中;
此外,从固态硬盘自身结构的角度来说,可以将固态硬盘划分为固态硬盘条带单元,将数据存储于固态硬盘条带单元中,从而可以按照固态硬盘条带号定期进行统计;
为了能够使存储于固态硬盘的数据更加安全,还可以使用固态硬盘组成镜像结构的固态硬盘,将数据保存在镜像结构的固态硬盘中。
在实际应用中,为了节省成本,优选地,可以将两个固态硬盘组成RAID1。RAID 1即为镜象结构,当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作,对于使用RAID1结构的存储设备来说,镜像硬盘相当于一个备份硬盘,从而,提高了数据存储的安全性。
步骤104,将固态硬盘中保存的修改后的磁盘条带单元数据写入磁盘。
在实际应用中,为了后续将固态硬盘上的数据及时、正确地搬移到磁盘上,可以建立一张用于保存固态硬盘条带单元与磁盘条带单元对应关系的条带单元映射表,该条带单元映射表以磁盘条带号为索引。图2是本发明实施例的条带单元映射表的示意图,如图2所示,条带单元映射表中的每一项由A、B、C三个域组成:其中,域A记录磁盘条带号对应的磁盘条带中有几个磁盘条带单元中的磁盘条带单元数据存储在固态硬盘中(即,该磁盘条带中有几个磁盘条带单元在固态硬盘中);B域记录磁盘条带号对应的磁盘条带最后的更新时间;C域记录磁盘条带号对应的磁盘条带中的磁盘条带单元信息的结构体的指针。
图3是本发明实施例的磁盘条带单元信息的结构体变量的示意图,如图3所示,磁盘条带单元信息的结构体变量包括C1、C2、C3三个变量,其中,C1记录磁盘条带单元在磁盘条带中的序号;C2记录磁盘条带单元在固态硬盘中的序号;C3记录指向下一个条带单元信息的结构体的指针。
此外,为了及时地将固态硬盘上的数据写入磁盘,释放固态硬盘上的空间,便于后续连续的小写操作,可以建立一个位图,该位图用于标识固态硬盘中可用的固态硬盘条带单元。根据该位图,就可以方便的查找空闲的固态硬盘条带单元。
通过建立了条带单元映射表以及位图,如果主机下发小写请求,就可以根据条带单元映射表以及位图的记录进行相应的小写操作,下面,结合附图,对主机下发小写请求时根据条带单元映射表以及位图的记录进行小写操作的过程进行详细说明,图4以向RAID5写数据为例对本发明实施例的数据写入方法进行详细描述,如图4所示,包括如下步骤:
步骤401,固态硬盘接收主机下发的小写请求,其中,小写请求中携带有修改数据以及修改数据对应的位置信息;
步骤402,根据小写请求中的位置信息,可以确定磁盘中相应的磁盘条带,在确定了磁盘条带后,根据该磁盘条带的磁盘条带号查询条带单元映射表;
步骤403,根据条带单元映射表的记录,判断修改数据对应的磁盘条带单元数据是否已经在固态硬盘中;如果判断为是,则执行步骤404,否则,则执行步骤405;
步骤404,根据条带单元映射表在固态硬盘中查找到该修改数据对应的磁盘条带单元数据,并对该磁盘条带单元数据进行修改,也就是说,当判断固态硬盘中存在与修改数据对应的磁盘条带单元数据时,可以直接根据修改数据对所述固态硬盘中的所述磁盘条带单元数据进行修改;进入步骤409;
步骤405,根据小写请求中的位置信息从磁盘相应的磁盘条带单元中读取修改数据对应的磁盘条带单元数据,进入步骤406;
步骤406,根据修改数据对相应的磁盘条带单元数据进行修改,进入步骤407;
步骤407,根据位图查找固态硬盘中空闲的固态硬盘条带单元,将修改后的磁盘条带单元数据保存在上述空闲的固态硬盘条带单元中;在数据结构上,可以使用日志结构形式保存数据,具体的,为了提高数据的安全性,还可以使用镜像结构的固态硬盘以日志形式保存修改后的磁盘条带单元数据。
步骤408,根据上述操作的结果对条带单元映射表以及位图进行修改;
由于在将修改后的磁盘条带单元数据存储于上述空闲的固态硬盘条带单元中后,固态硬盘条带单元的存储状态已经变化,因此,需要及时对条带单元映射表以及位图进行修改。
步骤409,固态硬盘向主机返回小写请求响应,进入步骤410;
通过上述处理,本发明实施例将固态硬盘引入磁盘阵列中,利用固态硬盘的高性能读写特性,将要写的数据以日志结构的形式保存到固态硬盘盘上,使小写请求得以及时响应,提高了RAID5的小写性能。
步骤410,将固态硬盘中保存的所述修改后的磁盘条带单元数据写入RAID5中的相应磁盘条带单元中。
具体的,在向主机及时地返回了小写请求响应后,还需要设置一个后台线程,该线程在满足启动条件时启动,为了保证在磁盘空闲时再向磁盘写入数据,以及保证固态硬盘中有足够的存储空间存储最新的数据,该线程具有一定的启动条件,即,在系统空闲、或固态硬盘上的空间已经达到一个预定值后启动该线程。
启动该后台线程后,可以在条带单元映射表中优先选择固态硬盘上符合满写条件的数据将其写入磁盘,具体地,如果有符合满写条件的数据,可以从固态硬盘中获取该磁盘条带的所有修改后的磁盘条带单元数据,根据修改后的磁盘条带单元数据确定校验数据,并将修改后的磁盘条带单元数据和校验数据写入磁盘;如果没有这样的数据,按最近最少使用(Least RecentlyUsed;以下简称LRU)算法在条带单元映射表中选择要写回磁盘的磁盘条带单元,根据该算法选择需要写回磁盘的可能是一个条带单元,也可能是属于同一个条带又不满足满写的几个条带单元,如果满足大写条件,就可以使用大写操作来计算新校验数据。
例如,RAID5中一个条带包括三个数据条带单元一个校验条带单元,如果已经有两个条带单元内容已经在固态硬盘中,此时在计算新的校验数据就可以将不在固态硬盘的另一个数据条带单元中的数据和在固态硬盘中的两个条带单元的新数据做个异或就可以得到新的校验数据了。如果也不满足大写条件,则从磁盘中读取该磁盘条带单元中相应的旧数据和旧校验数据,根据旧数据、旧校验数据、以及相应的修改后的磁盘条带单元数据确定新校验数据,并将相应的修改后的磁盘条带单元数据和新校验数据写入磁盘。也就是说,在不符合满写条件时,如果符合大写就按大写方式处理,即读取不需要修改的那个条带单元的内容和新的条带单元的内容做异或得到新的校验数据,否则就按小写方式处理,具体的,读取需要修改的磁盘条带单元上的旧数据和旧的校验数据,将其和新数据进行异或得到新的校验数据。最后,修改条带单元映射表和位图中相应的项,并回收固态硬盘上的空间。
此外,为了提高存储于固态硬盘中的数据的安全性,还可以使用固态硬盘组成镜像结构,将数据保存在镜像结构的固态硬盘例如RAID1中,既能保证的数据读写的性能,又能降低一个固态硬盘因非正常断电或出现故障时而导致数据丢失的风险。
本发明实施例利用固态硬盘的高性能读写特性,使得小写情况下系统可以尽快地响应主机,提高了RAID5的小写性能,并且,通过查询条带单元映射表能够方便的将固态硬盘中暂时存储的数据写入磁盘,在存在符合满写条件的数据时,能够在写入磁盘时执行满写操作,极大地提高了写入磁盘的速度。
图5是根据本发明实施例的数据写入方法的将数据写入磁盘的流程图,下面,结合图5,对将数据线写入磁盘的处理过程进行详细说明,如图5所示,根据本发明实施例的数据写入方法包括如下处理:
步骤501,在存储系统空闲时,根据条带单元映射表判断固态硬盘中是否存在符合满写条件的磁盘条带的数据,其中,满写条件是指磁盘中一个磁盘条带中的所有磁盘条带单元中的数据均存储于固态硬盘中,并需要将该数据从固态硬盘写入到磁盘。当存在符合满写条件的磁盘条带时,进入步骤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,用于当判断设置的固态硬盘中不存在与所述修改数据对应的磁盘条带单元数据时,根据位置信息从相应的磁盘条带单元中读取磁盘条带单元数据;
其中,上述磁盘条带单元数据是指该条带单元中的全部数据,例如:D1、D2、D3、D4;并根据修改数据D3’对磁盘条带单元数据D1、D2、D3、D4进行修改;
第二修改模块63,用于当所述判断模块的判断结果为所述固态硬盘中存在与所述修改数据对应的磁盘条带单元数据时,根据所述修改数据对所述固态硬盘中的所述磁盘条带单元数据进行修改;
存储模块64,用将修改后的磁盘条带单元数据D1、D2、D3’、D4以预定的数据存储形式存储于固态硬盘中;
具体地,修改后的磁盘条带单元数据包括D1、D2、D3’、D4,将D1、D2、D3’、D4以预定数据存储形式将以日志的形式保存在固态硬盘中,具体的,该预定的数据存储形式可以包括日志形式。
此外,从固态硬盘自身结构的角度来说,可以将固态硬盘划分为固态硬盘条带单元,将数据存储于固态硬盘条带单元中,从而可以按照固态硬盘条带号定期进行统计;
为了能够使存储于固态硬盘的数据更加安全,还可以使用固态硬盘组成镜像结构的固态硬盘,将数据保存在镜像结构的固态硬盘中。
发送模块66,用于当存储模块64将修改后的磁盘条带单元数据存储于固态硬盘中后,向主机返回小写请求响应;
写入模块68,用于将固态硬盘中存储的修改后的磁盘条带单元数据写入磁盘。
具体的,为了及时地将固态硬盘上的数据写入磁盘,释放固态硬盘上的空间,便于后续的连续小写操作,还可以建立一个位图,该位图用于标识固态硬盘中可用的固态硬盘条带单元。根据该位图,就可以方便的查找空闲的固态硬盘条带单元。
通过上述的处理,由于利用固态硬盘的高性能读写特性,提高了RAID5的小写性能;此外,通过将固态硬盘做成磁盘镜像,既保证了数据读写的性能,又防止了非正常断电时或固态硬盘出现故障时数据产生不一致的可能。
图7是根据本发明实施例的写入模块的结构示意图,如图7所示,根据本发明实施例的写入模块包括:第二判断子模块70、第一写入子模块72、第三判断子模块74、第二写入子模块76、第三写入子模块78。下面结合附图,对本发明实施例的数据写入装置进行说明。其中:
第二判断子模块70,用于判断固态硬盘中是否存在符合满写条件的磁盘条带;
其中,满写条件为磁盘条带中所有磁盘条带单元中的数据均需要由固态硬盘重新写入到磁盘。
第一写入子模块72,用于在第二判断子模块70判断为是的情况下,从固态硬盘中获取磁盘条带的所有修改后的磁盘条带单元数据,根据修改后的磁盘条带单元数据确定校验数据,并将修改后的磁盘条带单元数据和校验数据写入磁盘;
第三判断子模块74,用于在第二判断子模块70判断为否的情况下,判断固态硬盘中是否存在符合大写条件的磁盘条带单元;
第二写入子模块76,用于在第三判断子模块74判断为是的情况下,从固态硬盘中获取修改后的符合大写条件的磁盘条带单元数据,根据修改后的符合大写条件的磁盘条带单元数据执行大写操作,以确定新校验数据,并将修改后的符合大写条件的磁盘条带单元数据和该新校验数据写入磁盘;
第三写入子模块78,用于在第三判断子模块74判断为否的情况下,确定需要写回磁盘的磁盘条带单元,从磁盘中读取磁盘条带单元中相应的旧数据和旧校验数据,根据旧数据、旧校验数据、以及固态硬盘中相应的修改后的磁盘条带单元数据确定新校验数据,并将相应的修改后的磁盘条带单元数据和新校验数据写入磁盘。
此外,根据本发明实施例的写入模块还包括:
维护子模块,用于在写入磁盘后,对条带单元映射表以及位图进行相应的修改,其中,条带单元映射表用于保存固态硬盘条带单元与磁盘条带单元的对应关系,位图用于标识固态硬盘中可用的固态硬盘条带单元;
控制子模块,用于设置定时器,在定时器到时的情况下,结束操作,在定时器未到时的情况下,通知第二判断模块执行判断固态硬盘中是否存在符合满写条件的磁盘条带的操作。
借助于上述数据写入装置,通过查询条带单元映射表能够方便的将固态硬盘中暂时存储的数据写入磁盘,在存在符合满写条件的数据时,能够在写入磁盘时执行满写操作,极大地提高了写入磁盘的速度。
需要说明的是,本发明实施例的数据写入装置中可以包括固态硬盘和RAID5的磁盘,也可以独立于固态硬盘或RAID5的磁盘单独存在。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1、一种数据写入方法,其特征在于,包括:
接收主机下发的小写请求,所述小写请求中携带有修改数据以及所述修改数据的位置信息;
当判断设置的固态硬盘中不存在与所述修改数据对应的磁盘条带单元数据时,根据所述位置信息从相应的磁盘条带单元中读取磁盘条带单元数据,根据所述修改数据对所述磁盘条带单元数据进行相应修改;
将修改后的磁盘条带单元数据以预定的数据存储形式存储于所述固态硬盘中,并向所述主机返回小写请求响应;
将所述固态硬盘中保存的所述修改后的磁盘条带单元数据写入磁盘。
2、根据权利要求1所述的方法,其特征在于,所述方法还包括:
当判断所述固态硬盘中存在与所述修改数据对应的磁盘条带单元数据时,根据所述修改数据对所述固态硬盘中的所述磁盘条带单元数据进行相应修改。
3、根据权利要求1所述的方法,其特征在于,所述将修改后的磁盘条带单元数据以预定的数据存储形式存储于所述固态硬盘中包括:
根据位图查找所述固态硬盘中空闲的固态硬盘条带单元,所述位图中标识有所述固态硬盘中空闲的固态硬盘条带单元;
将所述修改后的磁盘条带单元数据以预定的数据存储形式存储于所述空闲的固态硬盘条带单元中。
4、根据权利要求1至3中任一所述的方法,其特征在于:所述判断包括根据设置的条带单元映射表进行判断,所述条带单元映射表中保存有固态硬盘条带单元与磁盘条带单元的对应关系。
5、根据权利要求1至3中任一所述的方法,其特征在于:所述预定的数据存储形式包括日志形式。
6、一种数据写入装置,其特征在于,包括:
接收模块,用于接收主机下发的小写请求,所述小写请求中携带有修改数据以及所述修改数据对应的位置信息;
第一修改模块,用于当判断设置的固态硬盘中不存在与所述修改数据对应的磁盘条带单元数据时,根据所述位置信息从相应的磁盘条带单元中读取磁盘条带单元数据,根据所述修改数据对所述磁盘条带单元数据进行修改;
存储模块,用于将修改后的磁盘条带单元数据以预定的数据存储形式存储于所述固态硬盘中;
发送模块,用于当存储模块将修改后的磁盘条带单元数据存储于所述固态硬盘中时,向所述主机返回小写请求响应;
写入模块,用于将所述固态硬盘中保存的所述修改后的磁盘条带单元数据写入磁盘。
7、根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一判断模块,用于根据条带单元映射表判断与所述修改数据对应的磁盘条带单元数据是否存在于所述固态硬盘中,其中,所述条带单元映射表中保存有所述固态硬盘条带单元与所述磁盘条带单元的对应关系;
第二修改模块,用于当所述判断模块的判断结果为所述固态硬盘中存在与所述修改数据对应的磁盘条带单元数据时,根据所述修改数据对所述固态硬盘中的所述磁盘条带单元数据进行相应修改。
8、根据权利要求6所述的装置,其特征在于,所述存储模块包括:
查找单元,用于根据位图查找所述固态硬盘中空闲的固态硬盘条带单元,所述位图中标识有所述固态硬盘中空闲的固态硬盘条带单元;
存储单元,用于将所述修改后的磁盘条带单元数据以预定的数据存储形式存储于所述空闲的固态硬盘条带单元中。
9、根据权利要求6至8中任一项所述的装置,其特征在于,所述预定的数据存储形式包括日志形式。
CN2009101605937A 2009-08-04 2009-08-04 数据写入方法和装置 Active CN101620517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101605937A CN101620517B (zh) 2009-08-04 2009-08-04 数据写入方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101605937A CN101620517B (zh) 2009-08-04 2009-08-04 数据写入方法和装置

Publications (2)

Publication Number Publication Date
CN101620517A true CN101620517A (zh) 2010-01-06
CN101620517B CN101620517B (zh) 2012-05-30

Family

ID=41513770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101605937A Active CN101620517B (zh) 2009-08-04 2009-08-04 数据写入方法和装置

Country Status (1)

Country Link
CN (1) CN101620517B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833422A (zh) * 2010-03-08 2010-09-15 成都市华为赛门铁克科技有限公司 磁盘阵列的数据处理方法及设备
CN102411518A (zh) * 2010-09-17 2012-04-11 株式会社东芝 控制器、存储装置以及计算机程序产品
CN103870352A (zh) * 2012-12-10 2014-06-18 财团法人工业技术研究院 数据存储与重建的方法与系统
CN104598161A (zh) * 2013-10-31 2015-05-06 腾讯科技(深圳)有限公司 数据读取、写入方法和装置及数据存储结构
CN109947842A (zh) * 2017-07-27 2019-06-28 杭州海康威视数字技术股份有限公司 分布式存储系统中的数据存储方法、装置及系统
CN109981798A (zh) * 2019-04-12 2019-07-05 苏州浪潮智能科技有限公司 一种数据写入方法、系统及电子设备和存储介质
CN111090391A (zh) * 2019-11-08 2020-05-01 苏州浪潮智能科技有限公司 一种提高固态硬盘阵列性能的方法与服务器
CN111597152A (zh) * 2020-05-20 2020-08-28 杭州海康威视系统技术有限公司 固态硬盘文件系统管理方法、装置及电子设备
CN114415968A (zh) * 2022-01-26 2022-04-29 南京晓庄学院 存储系统及其数据写入方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104571959A (zh) * 2014-12-31 2015-04-29 曙光信息产业股份有限公司 数据处理方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306381C (zh) * 2004-08-18 2007-03-21 华为技术有限公司 一种磁盘阵列数据的读写方法及并行读写方法
CN101373628B (zh) * 2008-10-14 2011-12-28 宋涛 固态硬盘
CN101446924B (zh) * 2008-12-16 2013-04-17 成都市华为赛门铁克科技有限公司 一种数据存储及获取方法、系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833422A (zh) * 2010-03-08 2010-09-15 成都市华为赛门铁克科技有限公司 磁盘阵列的数据处理方法及设备
CN102411518A (zh) * 2010-09-17 2012-04-11 株式会社东芝 控制器、存储装置以及计算机程序产品
CN102411518B (zh) * 2010-09-17 2014-10-08 株式会社东芝 控制器、存储装置以及计算机程序产品
CN103870352A (zh) * 2012-12-10 2014-06-18 财团法人工业技术研究院 数据存储与重建的方法与系统
CN104598161A (zh) * 2013-10-31 2015-05-06 腾讯科技(深圳)有限公司 数据读取、写入方法和装置及数据存储结构
CN104598161B (zh) * 2013-10-31 2018-10-30 腾讯科技(深圳)有限公司 数据读取、写入方法和装置及数据存储结构
CN109947842A (zh) * 2017-07-27 2019-06-28 杭州海康威视数字技术股份有限公司 分布式存储系统中的数据存储方法、装置及系统
CN109947842B (zh) * 2017-07-27 2021-06-18 杭州海康威视数字技术股份有限公司 分布式存储系统中的数据存储方法、装置及系统
CN109981798A (zh) * 2019-04-12 2019-07-05 苏州浪潮智能科技有限公司 一种数据写入方法、系统及电子设备和存储介质
CN111090391A (zh) * 2019-11-08 2020-05-01 苏州浪潮智能科技有限公司 一种提高固态硬盘阵列性能的方法与服务器
CN111090391B (zh) * 2019-11-08 2022-07-26 苏州浪潮智能科技有限公司 一种提高固态硬盘阵列性能的方法与服务器
CN111597152A (zh) * 2020-05-20 2020-08-28 杭州海康威视系统技术有限公司 固态硬盘文件系统管理方法、装置及电子设备
CN111597152B (zh) * 2020-05-20 2023-04-21 杭州海康威视系统技术有限公司 固态硬盘文件系统管理方法、装置及电子设备
CN114415968A (zh) * 2022-01-26 2022-04-29 南京晓庄学院 存储系统及其数据写入方法
CN114415968B (zh) * 2022-01-26 2023-04-07 南京晓庄学院 存储系统及其数据写入方法

Also Published As

Publication number Publication date
CN101620517B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
CN101620517B (zh) 数据写入方法和装置
CN102023809B (zh) 存储系统、从存储系统读取数据的方法及写入数据的方法
CN101566931B (zh) 虚拟磁盘驱动系统和方法
CN1280702C (zh) 配置用于独立磁盘冗余阵列存储系统的存储器及其操作方法
CN101236482B (zh) 降级状态下处理数据的方法及独立冗余磁盘阵列系统
CN101377710B (zh) 存储系统以及存储系统的消耗电力降低方法
US9292228B2 (en) Selective raid protection for cache memory
CN103064765B (zh) 数据恢复方法、装置及集群存储系统
US9996557B2 (en) Database storage system based on optical disk and method using the system
US20050166085A1 (en) System and method for reorganizing data in a raid storage system
US5634109A (en) Method and system for enhanced data management efficiency in memory subsystems utilizing redundant arrays of disk memory devices and a nonvolatile cache
CN103534688B (zh) 数据恢复方法、存储设备和存储系统
CN101923441B (zh) 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统
CN111400083B (zh) 数据存储方法及系统、存储介质
US20140075240A1 (en) Storage apparatus, computer product, and storage control method
CN101866307A (zh) 一种基于镜像技术的数据存储方法及装置
CN101567211A (zh) 一种提高磁盘可用性的方法和磁盘阵列控制器
CN104461390A (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
US11874741B2 (en) Data recovery method in storage medium, data recovery system, and related device
CN101916173A (zh) 一种基于raid的数据读写方法及其系统
US20050091452A1 (en) System and method for reducing data loss in disk arrays by establishing data redundancy on demand
CN103729149A (zh) 一种存储数据的方法
CN100478865C (zh) 虚拟磁盘驱动系统和方法
CN101770413A (zh) 冗余磁盘阵列重建的方法及设备
CN104205097B (zh) 一种去重方法装置与系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP03 Change of name, title or address

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: High tech Park No. 88 University of Electronic Science and technology of Sichuan province 611731 Chengdu Tianchen Road

Patentee before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20220831

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 611731 Qingshui River District, Chengdu hi tech Zone, Sichuan, China

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

TR01 Transfer of patent right