CN103064638B - 一种处理数据的方法、装置及系统 - Google Patents
一种处理数据的方法、装置及系统 Download PDFInfo
- Publication number
- CN103064638B CN103064638B CN201210568191.2A CN201210568191A CN103064638B CN 103064638 B CN103064638 B CN 103064638B CN 201210568191 A CN201210568191 A CN 201210568191A CN 103064638 B CN103064638 B CN 103064638B
- Authority
- CN
- China
- Prior art keywords
- virtual page
- data
- address
- start address
- storage block
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种处理数据的方法、装置及系统,涉及处理数据技术领域,用以减少文件碎片,提高磁盘阵列缓存预取数据的命中率,以及提高系统的输入输出性能。本发明实施提供的处理数据的方法,包括:磁盘阵列接收主机发送的处理数据的请求信息,并根据请求信息从插入操作的第一起始地址开始插入与待写入数据所需占用的空闲虚拟页个数相等的空闲虚拟页,并向已插入的空闲虚拟页所映射的存储块中写入该待写入数据。
Description
技术领域
本发明涉及处理数据技术领域,尤其涉及一种处理数据的方法、装置及系统。
背景技术
存储域网络(StorageAreaNetwork,简称SAN)技术的虚拟化功能可以将磁盘阵列物理存储空间切片,即将磁盘阵列的所有物理存储空间在逻辑上分成大小相等的若干个部分,可以将每部分称为一个存储块;按照一定的原则将一个或者多个存储块映射为一个虚拟页,若干个虚拟页组成虚拟卷;例如,可以按照磁盘阵列(RedundantArraysofInexpensiveDisks,简称RAID)技术将一个或者多个存储块映射为一个RAID单元,将一个或者多个RAID单元组成一个虚拟页。
在文件系统中,一段连续的文件数据存储于连续的虚拟页所映射的存储块中,若用户指示待写入数据需要写入该文件数据的中间部分,则在主机的控制下,磁盘阵列一般直接为该新数据分配可用虚拟页,以使得该新数据存储于分配的可用虚拟页所映射的存储块中;若用户指示的待删除数据在该文件数据的中间部分时,则在主机的控制下,磁盘阵列一般直接删除待删除数据。
在实现上述处理数据的过程中,发明人发现至少存在如下问题:有新数据需要写入文件数据的中间部分或者从该文件数据的中间部分删除数据,导致系统中文件碎片增多,进而影响系统的输入输出性能。
发明内容
本发明实施例提供一种存储数据的方法、装置及系统,用以减少文件碎片,提高磁盘阵列缓存预取数据的命中率,以及提高系统的输入输出性能。
为达到上述目的,本发明实施例采用的技术方案是,
第一方面,提供一种写入数据的方法,包括:
磁盘阵列接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目以及所述插入操作的第一起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页的首地址为用户指示的开始写入数据的地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;
向已插入的所述空闲虚拟页所映射的存储块中写入所述待写入数据。
第二方面,提供一种写入数据的方法,包括:
磁盘阵列接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目、所述插入操作的第一起始地址以及所述插入操作的第二起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址,且所述第二起始地址为一个虚拟页的中间地址或者尾地址;
根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;
若已插入的所述空闲虚拟页所映射的存储块空间足够存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则向所述已插入的所述空闲虚拟页所映射的存储块存储块中写入所述第一数据和所述待写入数据,使得所述第一数据和所述待写入数据顺序存储;
或者,若已插入的所述空闲虚拟页所映射的存储块空间不足以存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则在所述第一存储块和已插入的所述空闲虚拟页所映射的存储块中搬移所述第一数据,并写入所述待写入数据,使得所述第一数据和所述待写入数据顺序存储。
第三方面,提供一种删除数据的方法,包括:
磁盘阵列接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目,以及所述删除操作的第一起始地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;
根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;
将所述第一数目个完整虚拟页所映射的存储块中的数据删除。
第四方面,提供一种删除数据的方法,包括:
磁盘阵列接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第一起始地址,以及所述删除操作的第二起始地址和/或所述删除操作的第二终止地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;所述删除操作的第二起始地址为用户指示的开始删除数据的地址,所述第二起始地址与所述第一起始地址不重合;所述删除操作的第二终止地址为用户指示的终止删除数据的地址,所述第二终止地址为一个虚拟页的中间地址或首地址;
根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;
将所述第一数目个完整虚拟页所映射的存储块中的数据删除、并将所述第二起始地址与所述第一起始地址之间的虚拟页所映射的存储块中的数据和/或所述第二终止地址与所述待删除数据所占的完整虚拟页的尾地址之间的虚拟页所映射的存储块中的数据删除。
第五方面,提供写入数据的方法,包括:
主机接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;
根据所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;
当所述插入操作的第二起始地址为第一虚拟页的首地址时,确定所述插入操作的第一起始地址为所述第二起始地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目,以及所述插入操作的第一起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
第六方面,提供一种写入数据的方法,包括:
主机接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;
根据所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;
当所述插入操作的第二起始地址不为一个虚拟页的首地址时,确定所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目、所述插入操作的第一起始地址、以及所述插入操作的第二起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
在第一种可能的实现方式中,根据第六方面,将与所述第二起始地址距离最近的一个虚拟页作为所述第一虚拟页。
第七方面,提供一种删除数据的方法,其特征在于,包括:
主机接收用户指示信息,所述指示信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第二起始地址以及所述删除操作的第二终止地址;所述删除操作的第二起始地址为用户指示的开始删除数据的地址;所述删除操作的第二终止地址为用户指示的终止删除数据的地址;在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;
根据所述待删除数据的大小确定所述待删除数据所占的完整虚拟页的第一数目;所述第一数目为正整数;
当所述删除操作的第二起始地址为一个虚拟页的首地址,确定所述删除操作的第一起始地址为所述删除操作的第二起始地址;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目以及所述第一起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据删除;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二终止地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除;
或者,当所述删除操作的第二起始地址不为一个虚拟页的首地址,确定所述删除操作的第一起始地址为所述待删除数据所占的第一个完整虚拟页的首地址;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据删除;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据、所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据、以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除。
第八方面,提供一种磁盘阵列,包括:接收单元以及处理单元,其中,
所述接收单元,用于接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目以及所述插入操作的第一起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页的首地址为用户指示的开始写入数据的地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;并将所述请求信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;并向已插入的所述空闲虚拟页所映射的存储块中写入所述待写入数据。
第九方面,提供一种磁盘阵列,包括:接收单元以及处理单元,其中,
所述接收单元,用于接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目、所述插入操作的第一起始地址以及所述插入操作的第二起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址,且所述第二起始地址为一个虚拟页的中间地址或者尾地址;并将所述请求信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;若已插入的所述空闲虚拟页所映射的存储块空间足够存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则向所述已插入的所述空闲虚拟页所映射的存储块存储块中写入所述第一数据和所述待写入数据,使得所述第一数据和所述待写入数据顺序存储;
或者,若已插入的所述空闲虚拟页所映射的存储块空间不足以存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则在所述第一存储块和已插入的所述空闲虚拟页所映射的存储块中搬移所述第一数据,并写入所述待写入数据,使得所述第一数据和所述待写入数据顺序存储。
第十方面,提供一种磁盘阵列,包括:接收单元以及处理单元,其中,
所述接收单元,用于接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目,以及所述删除操作的第一起始地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;并将所述请求信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;并将所述第一数目个完整虚拟页所映射的存储块中的数据删除。
第十一方面,提供一种磁盘阵列,包括:接收单元以及处理单元,其中,
所述接收单元,用于接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第一起始地址,以及所述删除操作的第二起始地址和/或所述删除操作的第二终止地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;所述删除操作的第二起始地址为用户指示的开始删除数据的地址,所述第二起始地址与所述第一起始地址不重合;所述删除操作的第二终止地址为用户指示的终止删除数据的地址,所述第二终止地址为一个虚拟页的中间地址或首地址;并将所述请求信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;并将所述第一数目个完整虚拟页所映射的存储块中的数据删除、并将所述第二起始地址与所述第一起始地址之间的虚拟页所映射的存储块中的数据和/或所述第二终止地址与所述待删除数据所占的完整虚拟页的尾地址之间的虚拟页所映射的存储块中的数据删除。
第十二方面,提供一种主机,包括:接收单元、处理单元以及发送单元,其中,
所述接收单元,用于接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;并将所述指示信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;当所述插入操作的第二起始地址为第一虚拟页的首地址时,确定所述插入操作的第一起始地址为所述第二起始地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息由所述处理单元传输给所述发送单元,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目,以及所述插入操作的第一起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
第十三方面,提供一种主机,包括:接收单元、处理单元以及发送单元,其中,
所述接收单元,用于接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;并将所述指示信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;当所述插入操作的第二起始地址不为一个虚拟页的首地址时,确定所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息由所述处理单元传输给所述发送单元,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目、所述插入操作的第一起始地址、以及所述插入操作的第二起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
在第一种可能的实现方式中,根据第十三方面,将与所述第二起始地址距离最近的一个虚拟页作为所述第一虚拟页。
第十四方面,提供一种主机,包括:接收单元、处理单元以及发送单元,其中,
所述接收单元,用于接收用户指示信息,所述指示信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第二起始地址以及所述删除操作的第二终止地址;所述删除操作的第二起始地址为用户指示的开始删除数据的地址;所述删除操作的第二终止地址为用户指示的终止删除数据的地址;在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;并将所述指示信息传输给所述处理单元;
所述处理单元,用于根据所述处理单元传输的所述待删除数据的大小确定所述待删除数据所占的完整虚拟页的第一数目;所述第一数目为正整数;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目以及所述第一起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元传输给所述发送单元;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二终止地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元传输给所述发送单元;
或者,当所述删除操作的第二起始地址不为一个虚拟页的首地址,所述处理单元,用于根据所述处理单元传输的所述待删除数据的大小确定所述删除操作的第一起始地址为所述待删除数据所占的第一个完整虚拟页的首地址;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元传输给所述发送单元;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据、所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据、以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元传输给所述发送单元。
第十五方面,提供一种写入数据的系统,包括:上述第八方面或者第九方面提供的任一种磁盘阵列以及上述第十二方面或者第十三方面提供的任一种主机。
第十六方面,提一种删除数据的系统,包括:述第十方面或者第十一方面提供的任一种磁盘阵列以及上述第十四方面提供的任一种主机。
本发明实施例提供的处理数据的方法、装置及系统,磁盘阵列通过在插入操作的第一起始地址插入空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据;或者通过在从删除操作的第一起始地址开始将待删除数据所占的完整虚拟页移至与任一空闲虚拟页相邻的位置,并删除待删除数据,使得更新后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页所映射的存储块中,从而减少了文件碎片的产生,进而提高了磁盘阵列的输入输出性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本发明实施例提供的一种写入数据的方法的流程图;
图1b为本发明实施例提供的另一种写入数据的方法的流程图;
图2为本发明实施例提供的另一种写入数据的方法的示意图;
图3为本发明实施例提供的另一种写入数据的方法的流程图;
图4为本发明实施例提供的另一种写入数据的方法的示意图;
图5为本发明实施例提供的另一种写入数据的方法的示意图;
图6为本发明实施例提供的另一种写入数据的方法的流程图;
图7为本发明实施例提供的一种删除数据的方法的流程图;
图8为本发明实施例提供的一种删除数据的方法的示意图;
图9为本发明实施例提供的另一种删除数据的方法的示意图;
图10为本发明实施例提供的另一种删除数据的方法的示意图;
图11为本发明实施例提供的另一种删除数据的方法的示意图;
图12为本发明实施例提供的一种磁盘阵列的结构示意图;
图13为本发明实施例提供的另一种磁盘阵列的结构示意图;
图14为本发明实施例提供的另一种磁盘阵列的结构示意图;
图15为本发明实施例提供的另一种磁盘阵列的结构示意图;
图16为本发明实施例提供的一种主机的结构示意图;
图17为本发明实施例提供的另一种主机的结构示意图;
图18为本发明实施例提供的另一种主机的结构示意图;
图19为本发明实施例提供的另一种主机的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
主机主要用于控制运算,磁盘阵列主要用于存储并管理与主机相关的数据。磁盘阵列可以为具有完整操作系统的硬件实体,也可以为软件,本实施例以磁盘阵列为具有完整操作系统的硬件实体为例进行说明。
存储域网络(StorageAreaNetwork,简称SAN)技术的虚拟化功能可以将磁盘阵列的物理存储空间分为大小相等的若干存储块,按照一定的原则将一个或者多个存储块映射为一个虚拟页,若干个虚拟页组成虚拟卷;按照虚拟卷中虚拟页的先后顺序为每个虚拟页分配地址(包含首地址、尾地址以及中间地址),一个虚拟页的尾地址和与该虚拟页相邻的后一个虚拟页的首地址相邻,因此磁盘阵列对外呈现的存储空间为连续的虚拟卷。例如,一个虚拟卷中的连续两个虚拟页的地址可以为:虚拟页3的地址为30-39,虚拟页4的地址为40-49,其中,虚拟页3的首地址为30、尾地址为39、中间地址为31-38。
具体的,每个虚拟页所映射的存储块的个数由该磁盘阵列确定,且对于同一个磁盘阵列而言,每个虚拟页的大小相等;一个存储块只能映射一个虚拟页,且虚拟页与存储块的映射关系一旦确立后一般不作改变。
下面对本发明实施例中的部分名词作如下解释:
空闲虚拟页:是指与该虚拟页所映射的所有存储块中均未存储数据的虚拟页;非空闲虚拟页:是指与该虚拟页所映射的部分或者全部存储块中存有数据的虚拟页;至少两个连续的虚拟页的首地址是指,第一个虚拟页的首地址;至少两个连续的虚拟页的尾地址是指,最后一个虚拟页的尾地址。
一方面,参见图1a,为本发明实施例提供的一种写入数据的方法,包括:
101a:主机接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;
示例性的,呈现于主机上的一段连续的文件数据顺序地存储在磁盘阵列的一段连续的虚拟页所映射的存储块中,当有新数据(即待写入数据)需要写入该文件数据时,主机接收用户的指示信息,使得主机根据该指示信息向磁盘阵列申请空闲虚拟页,以使得该待写入数据可以存储于申请的空闲虚拟页所映射的存储块中。本发明实施例提供的方法中的待写入数据插入的位置为:该连续的文件数据中的、除第一个数据和最后一个数据之外的任一中间数据所在的位置。
102a:主机根据所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;
示例性的,主机可以根据多种方式确定该待写入数据所占用的空闲虚拟页的数目,本实施例对此不进行限定,例如,可以根据该待写入数据的大小与虚拟页的大小确定该待写入数据所占用的空闲虚拟页的数目。其中,虚拟页的大小可以预先存储在主机中也可以通过向磁盘阵列发送查询信息获得;待写入数据的大小为用户确定。该待写入数据所需占用的空闲虚拟页的第一数目为正整数,当确定的该待写入数据所占用的空闲虚拟页的数目为非正整数时,可以选择比该非整数大的且与该非正整数临近的整数作为第一数目。例如,当确定的该待写入数据所需占用的空闲虚拟页的数目3.1时,该第一数目为4;当确定的该待写入数据所需占用的空闲虚拟页的数目0.6时,该第一数目为1。
103a:当所述插入操作的第二起始地址为第一虚拟页的首地址时,主机确定所述插入操作的第一起始地址为所述第二起始地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
示例性的,插入操作的第一起始地址为磁盘阵列执行插入空闲虚拟页的操作的地址,由于虚拟页是虚拟卷中的最小单位,因此插入操作的第一起始地址为一个虚拟页的首地址;根据上述本发明实施例提供的方法中的待写入数据插入的位置可知,第一虚拟页所映射的存储块以及与第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据。
当插入操作的第二起始地址(用户指示的待写入数据的起始地址)为第一虚拟页的首地址时,可以将插入操作的第二起始地址作为插入操作的第一起始地址。
104a:主机向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目,以及所述插入操作的第一起始地址;
示例性的,在实现本实施例提供的写入数据的方法中,磁盘阵列不需要利用插入操作的第二起始地址,因此可以不向磁盘阵列发送插入操作的第二起始地址。
105a:磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;
示例性的,可以在虚拟卷中的空闲虚拟页中任意选择第一数目个空闲虚拟页,优选的,选择连续的第一数目个空闲虚拟页。
106a:磁盘阵列向已插入的所述空闲虚拟页所映射的存储块中写入所述待写入数据。
示例性的,向已插入的空闲虚拟页所映射的存储块中写入待写入数据,使得更新后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中。
进一步地,在步骤106a之后,该方法还可以包括:修改写入待写入数据后的文件数据的存储信息,并向主机发送写入结束的响应信息。例如,修改写入待写入数据后的文件数据的起始地址、存储长度等信息。
下面通过具体的实施例对图1所示的方法中磁盘阵列的具体操作过程进行详细说明。
参见图2中的(A),一个连续的文件数据顺序地存储在磁盘阵列的虚拟页0-虚拟页2所映射的存储块中,用网格阴影表示,虚拟页0、1、2的地址为00-09,10-19、20-29,虚拟页3-虚拟页5为空闲虚拟页。
主机向磁盘阵列发送的请求信息包括:待写入数据所占的空闲虚拟页的数目为2个,第二起始地址10。由此可知,该待写入数据所占的空闲虚拟页的第一数目为2,可以将虚拟页1的首地址10作为第一起始地址。
磁盘阵列执行以下动作:
a、从虚拟页1的首地址10开始插入虚拟页3、虚拟页4;
b、将待写入数据写入虚拟页3、虚拟页4所映射的存储块中。
参见图2中的(B),为插入操作完成后虚拟页的排列顺序,其中,斜线标注的阴影部分为待写入数据所占的存储块映射的虚拟页,更新后的文件数据的存储地址为00-49。
当然,写入数据所占的空闲虚拟页的数目可能不为整数,例如,当待写入数据所占的空闲虚拟页的数目为1.3个时,参见图2中的(C),为插入操作完成后虚拟页的排列顺序,更新后的文件数据的存储地址为00-23,30-49。
进一步地,文件数据顺序地存储于连续的虚拟页中与存储于不连续的虚拟页中相比,可以提高磁盘阵列缓存的预取数据的命中率,进而提高磁盘阵列的输入输出性能,相应地提供了主机的输入输出性能。
示例性的,主机在读取虚拟页1所映射的存储块中的数据时,磁盘阵列缓存自动连续地获取虚拟页1之后的虚拟页所映射的存储块中的数据。第一种情况:文件数据顺序地存储于虚拟页1-虚拟页6所映射的存储块中,则下一时刻可以直接从缓存中获取期望的虚拟页(虚拟页2)所映射的存储块中的数据,即磁盘阵列缓存预取数据的命中率高;第二种情况:文件数据顺序地存储于虚拟页1、虚拟页5、虚拟页6、虚拟页2、虚拟页3、虚拟页4所映射的存储块中,则下一时刻期望的虚拟页(虚拟页5)所映射的存储块中的数据可能还未存储于缓存中,即磁盘阵列缓存预取数据的命中率低。
本发明实施例提供的写入数据的方法,磁盘阵列通过在插入操作的第一起始地址插入空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列缓存预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为待写入数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
一方面,参见图1b,为本发明实施例提供的一种写入数据的方法,包括:
101b:磁盘阵列接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目以及所述插入操作的第一起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页的首地址为用户指示的开始写入数据的地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
102b:根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;
103b:向已插入的所述空闲虚拟页所映射的存储块中写入所述待写入数据。
本发明实施例提供的写入数据的方法,磁盘阵列通过在插入操作的第一起始地址插入空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列缓存预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为待写入数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
一方面,参见图3,为本发明实施例提供的一种写入数据的方法,包括:
301:主机接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;
302:主机根据所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;
示例性的,本步骤301-303的相关解释可以参见图1a所示的方法实施例。
303:当所述插入操作的第二起始地址不为一个虚拟页的首地址时,主机确定所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
优选的,将与所述第二起始地址距离最近的一个虚拟页作为所述第一虚拟页。
304:主机向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目、所述插入操作的第一起始地址、以及所述插入操作的第二起始地址;
示例性的,与图1a所示的方法中的步骤104对比,在实现本实施例提供的写入数据的方法中,磁盘阵列需要利用插入操作的第二起始地址,因此需要向磁盘阵列发送插入操作的第二起始地址。磁盘阵列具体如何使用插入操作的第二起始地址,见下文。
示例性的,当用户指示的开始写入数据的地址(第二起始地址)为虚拟页的中间地址或者尾地址时,为了使得更新后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页所映射的存储块中,需将第一数据的物理存储地址改变。下面的步骤305和步骤306为两种磁盘阵列改变第一数据的物理存储地址并写入待写入数据的方案。
305:磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;
示例性的,步骤305的相关解释可以参见图1a所示的方法实施例。
306:若已插入的所述空闲虚拟页所映射的存储块空间足够存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则磁盘阵列向所述已插入的所述空闲虚拟页所映射的存储块存储块中写入所述第一数据和所述待写入数据,使得所述第一数据和所述待写入数据顺序存储;
示例性的,若已插入的空闲虚拟页所映射的存储块空间足够存储第一数据和待写入数据,则步骤307可以包括:磁盘阵列向已插入的空闲虚拟页所映射的第二存储块中写入第一数据,并向第三存储块写入待写入数据,第三存储块为已插入的所述空闲虚拟页所映射的、除所述第二存储块之外的存储块。
当第一起始地址在第二起始地址之前时,说明已插入的空闲虚拟页在第一存储块映射的虚拟页之前,第一数据在待写入数据之前;第二存储块可以为从已插入的虚拟页对应的第一个存储块开始的、与第一存储块存储空间相等的若干个存储块。
当第一起始地址在第二起始地址之后时,说明已插入的空闲虚拟页在第一存储块映射的虚拟页之后,第一数据在待写入数据之后,第二存储块可以为已插入的空闲虚拟页所映射的存储块和/或第一存储块中的、待写入数据所占的存储块之后的空闲存储块开始的、与第一存储块存储空间相等的若干个存储块。
顺序存储为:当第一起始地址在第二起始地址之前时,第一数据所存储的存储块在待写入数据所存储的存储块之前,因此;当第一起始地址在第二起始地址之后时,第一数据所存储的存储块在待写入数据所存储的存储块之后。
示例性的,磁盘阵列可以先写入第一数据再写入待写入数据;或者可以先写入待写入数据再写入第一数据,本发明实施例对此不进行限定,且本发明实施例以前者为例进行说明。
第二存储块中写入第一数据后,第一存储块中的第一数据可以删除也可以不删除,以下对此情况作具体分析。
若已插入的空闲虚拟页所映射的存储块空间足够存储第一数据和待写入数据,则不需要利用第一存储块空间,因此第一存储块中的第一数据可以删除也可以不删除。例如,若第二起始地址为虚拟页2(地址为20-29)的中间地址27,待写入数据占用的虚拟页的数目为2.3,则第一数据所需占用的存储块映射的虚拟页的个数为0.3,该待写入数据所需占用的空闲虚拟页的第一数目为3,插入操作的第一起始地址可以为虚拟页3的首地址30。此情况下,第一数据和待写入数据所需占用的存储块映射的虚拟页的个数为0.3+2.3=2.6,可知,已插入的空闲虚拟页所映射的存储块空间足够存储第一数据和待写入数据,因此该第一存储块中的第一数据可以删除也可以不删除。
307:若已插入的所述空闲虚拟页所映射的存储块空间不足以存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则在所述第一存储块和已插入的所述空闲虚拟页所映射的存储块中搬移所述第一数据,并写入所述待写入数据,使得所述第一数据和所述待写入数据顺序存储。
示例性的,顺序存储为:当第一起始地址在第二起始地址之前时,第一数据所存储的存储块在待写入数据所存储的存储块之前,因此;当第一起始地址在第二起始地址之后时,第一数据所存储的存储块在待写入数据所存储的存储块之后。假设第一数据存储的在存储块1中,那么,搬移第一数据是指:将第一数据存储在除存储块1之外的空闲存储块中,并将存储块1中的第一数据删除。
根据已插入的空闲虚拟页所映射的第二存储块是否足够存储第一数据,该步骤307可以包括以下两种情况:
第一种:已插入的空闲虚拟页所映射的第二存储块足够存储第一数据,则步骤307可以包括:磁盘阵列向已插入的空闲虚拟页所映射的第二存储块中写入第一数据,删除所述第一存储块中的第一数据,并向所述第三存储块和所述第一存储块中写入所述待写入数据。第三存储块为已插入的所述空闲虚拟页所映射的、除所述第二存储块之外的存储块。
若已插入的空闲虚拟页所映射的第二存储块不足以存储第一数据,则步骤307可以包括:磁盘阵列多次搬移第一数据,并将写入所述待写入数据。
由于搬移数据的时间较长,因此搬移的第一数据越少越好,磁盘阵列可以通过调整第一起始地址的位置来调整第一数据的大小,即通过确定第一虚拟页来确定第一数据。优选的,将与所述第二起始地址距离最近的一个虚拟页作为所述第一虚拟页。该优选的方案对应的步骤307为上述第一种情况,下面具体的实施例中均以第一种情况进行说明。
示例性的,若已插入的空闲虚拟页所映射的存储块空间不足以存储第一数据和待写入数据,则需要利用第一存储块空间来存储剩余的待写入数据,因此第一存储块中的第一数据必须删除,当然,在满足剩余的待写入数据有足够的存储空间的情况下可以只删除第一存储块中的部分第一数据;此情况下,需要先删除部分或者全部第一数据,再进行剩余待写入数据的写入。优选的,将第一存储块中的第一数据全部删除;例如,若第二起始地址为虚拟页2(地址为20-29)的中间地址27,待写入数据占用的虚拟页的数目为2.9,则第一数据所需占用的存储块映射的虚拟页的个数为0.3,该待写入数据所需占用的空闲虚拟页的第一数目为3,插入操作的第一起始地址可以为虚拟页3的首地址30。此情况下,第一数据和待写入数据所需占用的存储块映射的映射的虚拟页的个数为0.3+2.9=3.2,可知,已插入的空闲虚拟页所映射的存储块空间不足以存储第一数据和待写入数据,因此第一存储块中的第一数据必须删除。
进一步地,步骤307之后,该方法还可以包括:修改写入待写入数据后的文件数据的存储信息,并向主机发送写入结束的响应信息。例如,修改写入待写入数据后的文件数据的起始地址、存储长度等信息。
下面通过具体的实施例对图3所示的方法中磁盘阵列的具体操作过程进行详细说明。
1)第一起始地址在第二起始地址之前
参见图4中的(A),一个连续的文件数据顺序地存储在磁盘阵列的虚拟页0-虚拟页2所映射的存储块中,用网格阴影表示,虚拟页0、1、2的地址为00-09,10-19、20-29,虚拟页3-虚拟页5为空闲虚拟页。
主机向磁盘阵列发送的请求信息包括:待写入数据所占的空闲虚拟页的数目为1.7个,第二起始地址为13。由此可知,该待写入数据所占的空闲虚拟页的第一数目为2,可以将虚拟页1的首地址10作为第一起始地址。
磁盘阵列执行以下动作:
a、从虚拟页1的首地址10开始插入虚拟页3、虚拟页4;
b、将第一存储块中的第一数据写入第二存储块,并删除第一存储块中的数据;
c、将待写入数据写入第三存储块。
参见图4中的(B),为插入操作完成后虚拟页的排列顺序,更新后的文件数据的存储地址为00-29,33-49。
上述例子为已插入的空闲虚拟页所映射的存储块空间足够存储第一数据和待写入数据的情况,当已插入的空闲虚拟页所映射的存储块空间不足以存储第一数据和待写入数据时,例如,当待写入数据所占的空闲虚拟页的数目为2个时,上述步骤c为:将待写入数据写入第三存储块以及第一存储块中,参见图4(C)为插入操作完成后虚拟页的排列顺序,更新后的文件数据的存储地址为00-49。
2)第一起始地址在第二起始地址之后
参见图5中的(A),一个连续的文件数据顺序地存储在磁盘阵列的虚拟页0-虚拟页2所映射的存储块中,用网格阴影表示,虚拟页0、1、2的地址为00-09,10-19、20-29,虚拟页3-虚拟页5为空闲虚拟页。
主机向磁盘阵列发送的请求信息包括:待写入数据所占的空闲虚拟页的数目为1.3个,第二起始地址为07。由此可知,该待写入数据所占的空闲虚拟页的第一数目为2,可以将虚拟页1的首地址10作为第一起始地址。
磁盘阵列执行以下动作:
a、从虚拟页1的首地址10开始插入虚拟页3、虚拟页4;
b、将第一存储块中的第一数据写入第二存储块,并删除第一存储块中的数据;
c、将从第一存储块开始写入待写入数据。
参见图5中的(B),为插入操作完成后虚拟页的排列顺序,更新后的文件数据的存储地址为00-19,26-49。
上述例子为已插入的空闲虚拟页所映射的存储块空间足够存储第一数据和待写入数据的情况,当已插入的空闲虚拟页所映射的存储块空间不足以存储第一数据和待写入数据,且已插入的空闲虚拟页所映射的存储块空间足够存储第一数据时,例如,当待写入数据所占的空闲虚拟页的数目为2个时,参见图5中的(C),为插入操作完成后虚拟页的排列顺序,更新后的文件数据的存储地址为00-49。
进一步地,文件数据顺序地存储于连续的虚拟页中与存储于不连续的虚拟页中相比,可以提高磁盘阵列缓存的预取数据的命中率,进而提高磁盘阵列的输入输出性能。
本发明实施例提供的写入数据的方法,磁盘阵列通过在插入操作的第一起始地址插入空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列缓存预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
一方面,参见图6,为本发明实施例提供的另一种写入数据的方法,包括:
601:主机确定处理方式为插入操作、插入操作的第二起始地址,以及待写入数据;插入操作的第二起始地址为用户指示的开始写入数据的地址;
602:主机向磁盘阵列发送查询虚拟页的大小的查询信息;
603:磁盘阵列向主机反馈该磁盘阵列的虚拟页的大小;
604:主机根据插入操作的第二起始地址获取插入操作的第一起始地址,并根据待写入数据和虚拟页的大小获取待写入数据所需占用的空闲虚拟页的第一数目,第一数目为正整数,插入操作的第一起始地址为一个虚拟页的首地址或尾地址;
605:主机判断第一起始位置与第二起始地址是否重合;
606:若是,则主机向磁盘阵列发送处理数据的第一请求信息,该第一请求信息包括:处理方式为插入操作、待写入数据、待写入数据所需占用的空闲虚拟页的第一数目,以及插入操作的第一起始地址;
607:磁盘阵列根据该第一请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;
608:磁盘阵列在已插入的空闲虚拟页所映射的存储块中写入待写入数据;
609:磁盘阵列修改文件数据,并向主机发送写入完成的响应信息;
示例性的,向已插入的空闲虚拟页所映射的存储块中写入待写入数据,使得更新后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中。修改文件数据可以包括:修改插入待写入数据后的文件数据的起始地址、存储长度等信息。
610:若否,则主机向磁盘阵列发送处理数据的第二请求信息,该第二请求信息包括:处理方式为插入操作、待写入数据、待写入数据所需占用的空闲虚拟页的第一数目、插入操作的第一起始地址、以及插入操作的第二起始地址;
611:磁盘阵列根据该第二请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;
612:磁盘阵列判断第一起始地址是否在第二起始地址之后;
613:若是,则磁盘阵列将第一数据写入第二存储块中,并从第一存储块开始写入待写入数据;
示例性的,第一数据为第二起始地址与第一起始地址之间的虚拟页对应的第一存储块中的数据。在从第一存储块开始写入待写入数据之前,可以将第一存储块中的第一数据先写入第二存储块中,再将第一存储块中的第一数据删除。第二存储块可以为已插入的空闲虚拟页所映射的存储块和/或第一存储块中的、待写入数据所占的存储块之后的空闲存储块开始的、与第一存储块存储空间相等的若干个存储块。
614:若否,则磁盘阵列将第一数据写入第二存储块中,并从第三存储块开始写入待写入数据;
示例性的,在将第一数据写入第二存储块之后,可以将第一存储块中的第一数据删除。第二存储块可以为从已插入的虚拟页对应的第一个存储块开始的、与第一存储块存储空间相等的若干个存储块。第三存储块可以为已插入的空闲虚拟页对应的除第二存储块之外的存储块。
615:磁盘阵列修改文件数据,并向主机发送写入完成的响应信息。
本发明实施例提供的写入数据的方法,磁盘阵列通过在插入操作的第一起始地址插入空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列缓存预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
一方面,参见图7,为本发明实施例提供的一种删除数据的方法,包括:
701:主机接收用户指示信息,所述指示信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第二起始地址以及所述删除操作的第二终止地址;所述删除操作的第二起始地址为用户指示的开始删除数据的地址;所述删除操作的第二终止地址为用户指示的终止删除数据的地址;在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;
示例性的,呈现于主机上的一段连续的文件数据顺序地存储在磁盘阵列的一段连续的虚拟页中,当有数据(即待删除数据)需要从该文件数据中删除时,主机需要向磁盘阵列发送删除该待删除数据的请求信息。将该文件数据所占的所有虚拟页的集合称为第一虚拟卷,那么,本发明实施例提供的方法中的待删除数据为:该连续的文件数据中的、所占的虚拟页均为一个或者多个完整虚拟页的数据,且该一个或者多个虚拟页中的任一虚拟页均不为该第一虚拟卷中的第一个虚拟页或者最后一个虚拟页;因此,在所述第一数目个完整虚拟页之前和之后的、在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;
删除操作的第一起始地址为磁盘阵列执行移出待删除数据所占的完整虚拟页的操作的地址,由于虚拟页是虚拟卷中的最小单位,因此删除操作的第一起始地址为一个虚拟页的首地址。
702:主机根据所述待删除数据的大小确定所述待删除数据所占的完整虚拟页的第一数目;所述第一数目为正整数;
示例性的,主机可以根据多种方式确定该待删除数据所占的完整虚拟页的第一数目,本实施例对此不进行限定,例如,可以根据该待删除数据的起始地址、终止地址以及虚拟页的大小确定该待删除数据所占的完整虚拟页的第一数目。例如,当确定的该待删除数据的起始地址映射的虚拟页的地址为12,终止位置映射的虚拟页的地址为第43,可知,那么,该待删除数据所占的完整虚拟页为虚拟页3(地址20-29)、虚拟页4(地址30-39),该第一数目为2。
703:判断所述删除操作的第二起始地址是否为一个虚拟页的首地址;
704:若是,主机则确定所述删除操作的第一起始地址为所述删除操作的第二起始地址;
705:当所述删除操作的第二终止地址为一个虚拟页的尾地址时,主机向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目,以及所述第一起始地址;
磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个完整虚拟页中的数据删除。
示例性的,在本方案中,磁盘阵列不需要利用删除操作的第二起始地址和删除操作的第二终止地址,因此可以不向磁盘阵列发送删除操作的第二起始地址和删除操作的第二终止地址。本方案中的待删除数据所占的完整虚拟页的第一数目即为待删除数据所占的完整虚拟页的数目。
将从删除操作的第一起始地址开始的第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,使得删除待删除数据之后的文件数据存储与连续的虚拟页所映射的存储块中。
例如,磁盘阵列的虚拟卷包括:虚拟页1-虚拟页7,呈现于主机上的一段连续的文件数据顺序地存储在该磁盘整列的虚拟页1-虚拟页4所映射的存储块中,那么,非空闲虚拟页为:虚拟页1-虚拟页4,为待删除数据存储在虚拟页2所映射的存储块中,可以将虚拟页2移出至与虚拟页5-虚拟页7中的任一虚拟页相邻的位置。
下面通过具体的实施例对本方案中磁盘阵列的具体操作过程进行详细说明。
参见图8中的(A),一个连续的文件数据顺序地存储在磁盘阵列的虚拟页0-虚拟页2所映射的存储块中,虚拟页0、1、2的地址为00-09,10-19、20-29,虚拟页3-虚拟页5为空闲虚拟页。
主机向磁盘阵列发送的请求信息包括:第二起始地址为10,第二终止地址为19。由此可知,该待删除数据所占的完整虚拟页的第一数目为1,用网格阴影表示,可以将虚拟页1的首地址10作为第一起始地址,待删除数据所占的完整虚拟页的尾地址为第二终止地址。
磁盘阵列执行以下动作:
a、从虚拟页1的首地址开始将虚拟页1移至虚拟页2之后;
b、删除虚拟页1所映射的存储块中的数据。
参见图8中的(B),为删除操作完成后虚拟页的排列顺序,更新后的文件数据的存储地址为00-19。
706:当所述删除操作的第二终止地址不为一个虚拟页的尾地址时,主机向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二终止地址;
磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除。
下面通过具体的实施例对本方案中磁盘阵列的具体操作过程进行详细说明。
参见图9中的(A),一个连续的文件数据顺序地存储在磁盘阵列的虚拟页0-虚拟页2所映射的存储块中,虚拟页0、1、2的地址为00-09,10-19、20-29,虚拟页3-虚拟页5为空闲虚拟页。
主机向磁盘阵列发送的请求信息包括:第二起始地址为10,第二终止地址24。由此可知,该待删除数据所占的完整虚拟页的第一数目为1,用网格阴影表示,可以将虚拟页1的首地址10、作为第一起始地址,待删除数据所占的完整虚拟页的尾地址不为第二终止地址。
磁盘阵列执行以下动作:
a、从虚拟页1的首地址开始将虚拟页1移出至虚拟页2之后;
b、删除虚拟页1所映射的存储块中的数据,以及地址19和地址24之间的虚拟页所映射的存储块中的数据。
参见图9的(B),为删除操作完成后虚拟页的排列顺序,更新后的文件数据的存储地址为00-09,15-19。
707:若否,则主机确定所述删除操作的第一起始地址为所述待删除数据所占的第一个完整虚拟页的首地址;
708:当所述删除操作的第二终止地址为一个虚拟页的尾地址时,主机向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;
磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据删除。
下面通过具体的实施例对本方案中磁盘阵列的具体操作过程进行详细说明。
参见图10中的(A),一个连续的文件数据顺序地存储在磁盘阵列的虚拟页0-虚拟页2所映射的存储块中,虚拟页0、1、2的地址为00-09,10-19、20-29,虚拟页3-虚拟页5为空闲虚拟页。
主机向磁盘阵列发送的请求信息包括:第二起始地址为05,第二终止地址19,由此可知,该待删除数据所占的完整虚拟页的第一数目为1,用网格阴影表示,可以将虚拟页1的首地址10、作为第一起始地址,待删除数据所占的完整虚拟页的尾地址为第二终止地址。
磁盘阵列执行以下动作:
a、从虚拟页1的首地址开始将虚拟页1移出至虚拟页2之后;
b、删除虚拟页1所映射的存储块中的数据,以及地址05和地址10之间的虚拟页所映射的存储块中的数据。
参见图10的(B),为删除操作完成后虚拟页的排列顺序,更新后的文件数据的存储地址为00-04,10-19。
709:当所述删除操作的第二终止地址不为一个虚拟页的尾地址时,主机向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;
磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据、所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据、以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除。
下面通过具体的实施例对本方案中磁盘阵列的具体操作过程进行详细说明。
参见图11中的(A),一个连续的文件数据顺序地存储在磁盘阵列的虚拟页0-虚拟页2所映射的存储块中,虚拟页0、1、2的地址为00-09,10-19、20-29,虚拟页3-虚拟页5为空闲虚拟页。
主机向磁盘阵列发送的请求信息包括:第二起始地址为05,第二终止地址24,由此可知,该待删除数据所占的完整虚拟页的第一数目为1,用网格阴影表示,可以将虚拟页1的首地址10、作为第一起始地址,待删除数据所占的完整虚拟页的尾地址不为第二终止地址。
磁盘阵列执行以下动作:
a、从虚拟页1的首地址开始将虚拟页1移出至虚拟页2之后;
b、删除虚拟页1所映射的存储块中的数据、地址5和地址10之间的虚拟页所映射的存储块中的数据以及地址19与地址24之间的虚拟页所映射的存储块中的数据。
参见图11的(B),为删除操作完成后虚拟页的排列顺序,更新后的文件数据的存储地址为00-04,15-19。
进一步地,本实施例提供的四种方案中对磁盘阵列的移动虚拟页和删除数据的两个动作的执行顺序不作限定。
该四个方案还可以包括:修改删除待删除数据后的文件数据的存储信息,并向主机发送删除结束的响应信息。例如,修改删除待删除数据后的文件数据的起始地址、存储长度等信息。
进一步地,文件数据顺序地存储于连续的虚拟页中与存储于不连续的虚拟页中相比,可以提高磁盘阵列缓存的预取数据的命中率,进而提高磁盘阵列的输入输出性能。
本发明实施例提供的删除数据的方法,磁盘阵列通过在从删除操作的第一起始地址开始将待删除数据所占的完整虚拟页移至与任一空闲虚拟页相邻的位置,并删除待删除数据,使得删除待删除数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列缓存预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接删除待删除数据,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
一方面,参见图12,为本发明实施例提供的一种磁盘阵列120,包括:接收单元1201以及处理单元1202,其中,
所述接收单元1201,用于接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目以及所述插入操作的第一起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页的首地址为用户指示的开始写入数据的地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;并将所述请求信息传输给所述处理单元1202;
所述处理单元1202,用于根据所述接收单元1201传输的所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;并向已插入的所述空闲虚拟页所映射的存储块中写入所述待写入数据。
本发明实施例提供的磁盘阵列,通过在插入操作的第一起始地址插入空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了缓存预取数据的命中率,进而提高了该装置的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
本发明实施例还提供一种磁盘阵列120,也可以参见图12,包括:接收单元1201以及处理单元1202,其中,
所述接收单元1201,用于接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目、所述插入操作的第一起始地址以及所述插入操作的第二起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址,且所述第二起始地址为一个虚拟页的中间地址或者尾地址;并将所述请求信息传输给所述处理单元1202;
所述处理单元1202,用于根据所述接收单元1201传输的所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;若已插入的所述空闲虚拟页所映射的存储块空间足够存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则向所述已插入的所述空闲虚拟页所映射的存储块存储块中写入所述第一数据和所述待写入数据,使得所述第一数据和所述待写入数据顺序存储;或者,若已插入的所述空闲虚拟页所映射的存储块空间不足以存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则在所述第一存储块和已插入的所述空闲虚拟页所映射的存储块中搬移所述第一数据,并写入所述待写入数据,使得所述第一数据和所述待写入数据顺序存储。
本发明实施例提供的磁盘阵列,通过在插入操作的第一起始地址插入空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了缓存预取数据的命中率,进而提高了该装置的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
参见图13,为本发明实施例提供的另一种磁盘阵列120,包括:接收器1301、存储器1302以及与该接收器1301、存储器1302连接的处理器1303,其中,
接收器1301,用于接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目以及所述插入操作的第一起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页的首地址为用户指示的开始写入数据的地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
存储器1302用于存储一组代码,该代码用于控制处理器1303根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;并向已插入的所述空闲虚拟页所映射的存储块中写入所述待写入数据。
本发明实施例提供的磁盘阵列,通过在插入操作的第一起始地址插入空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了缓存预取数据的命中率,进而提高了该装置的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
本发明实施例还提供一种磁盘阵列120,参见图13,包括:接收器1301、存储器1302以及与该接收器1301、存储器1302连接的处理器1303,其中,
接收器1301,用于接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目、所述插入操作的第一起始地址以及所述插入操作的第二起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址,且所述第二起始地址为一个虚拟页的中间地址或者尾地址;
存储器1302用于存储一组代码,该代码用于控制处理器1303根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;若已插入的所述空闲虚拟页所映射的存储块空间足够存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则向所述已插入的所述空闲虚拟页所映射的存储块存储块中写入所述第一数据和所述待写入数据,使得所述第一数据和所述待写入数据顺序存储;或者,若已插入的所述空闲虚拟页所映射的存储块空间不足以存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则在所述第一存储块和已插入的所述空闲虚拟页所映射的存储块中搬移所述第一数据,并写入所述待写入数据,使得所述第一数据和所述待写入数据顺序存储。
本发明实施例提供的磁盘阵列,通过在插入操作的第一起始地址插入空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了缓存预取数据的命中率,进而提高了该装置的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
一方面,参见图14,本发明实施例提供一种磁盘阵列140,包括:接收单元1401、处理单元1402,其中,
所述接收单元1401,用于接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目,以及所述删除操作的第一起始地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;并将所述请求信息传输给所述处理单元1402;
所述处理单元1402,用于根据所述接收单元1401传输的所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;并将所述第一数目个完整虚拟页所映射的存储块中的数据删除。
本发明实施例提供的磁盘阵列,通过在从删除操作的第一起始地址开始将待删除数据所占的第一虚拟页移除,并删除待删除数据,使得删除待删除数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了缓存预取数据的命中率,进而提高了该装置的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
本发明实施例还提供一种磁盘阵列140,参见图14,包括:接收单元1401、处理单元1402,其中,
所述接收单元1401,用于接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第一起始地址,以及所述删除操作的第二起始地址和/或所述删除操作的第二终止地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;所述删除操作的第二起始地址为用户指示的开始删除数据的地址,所述第二起始地址与所述第一起始地址不重合;所述删除操作的第二终止地址为用户指示的终止删除数据的地址,所述第二终止地址为一个虚拟页的中间地址或首地址;并将所述请求信息传输给所述处理单元1402;
所述处理单元1402,用于根据所述接收单元1401传输的所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;并将所述第一数目个完整虚拟页所映射的存储块中的数据删除、并将所述第二起始地址与所述第一起始地址之间的虚拟页所映射的存储块中的数据和/或所述第二终止地址与所述待删除数据所占的完整虚拟页的尾地址之间的虚拟页所映射的存储块中的数据删除。
本发明实施例提供的磁盘阵列,通过在从删除操作的第一起始地址开始将待删除数据所占的第一虚拟页移除,并删除待删除数据,使得删除待删除数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了缓存预取数据的命中率,进而提高了该装置的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
参见图15,本发明实施例提供一种磁盘阵列140,包括:接收器1501、存储器1502以及与该接收器1501、存储器1502连接的处理器1503,其中,
接收器1501,用于接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目,以及所述删除操作的第一起始地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;
存储器1502用于存储一组代码,该代码用于控制处理器1503根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;并将所述第一数目个完整虚拟页所映射的存储块中的数据删除。
本发明实施例提供的磁盘阵列,通过在从删除操作的第一起始地址开始将待删除数据所占的第一虚拟页移除,并删除待删除数据,使得删除待删除数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了缓存预取数据的命中率,进而提高了该装置的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
本发明实施例还提供一种磁盘阵列140,参见图15,包括:接收器1501、存储器1502以及与该接收器1501、存储器1502连接的处理器1503,其中,
,接收器1501,用于接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第一起始地址,以及所述删除操作的第二起始地址和/或所述删除操作的第二终止地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;所述删除操作的第二起始地址为用户指示的开始删除数据的地址,所述第二起始地址与所述第一起始地址不重合;所述删除操作的第二终止地址为用户指示的终止删除数据的地址,所述第二终止地址为一个虚拟页的中间地址或首地址;
存储器1502用于存储一组代码,该代码用于控制处理器1503根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;并将所述第一数目个完整虚拟页所映射的存储块中的数据删除、并将所述第二起始地址与所述第一起始地址之间的虚拟页所映射的存储块中的数据和/或所述第二终止地址与所述待删除数据所占的完整虚拟页的尾地址之间的虚拟页所映射的存储块中的数据删除。
本发明实施例提供的磁盘阵列,通过在从删除操作的第一起始地址开始将待删除数据所占的第一虚拟页移除,并删除待删除数据,使得删除待删除数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了缓存预取数据的命中率,进而提高了该装置的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
一方面,参见图16,为本发明实施例提供的一种主机160,包括:确接收单元1601、处理单元1602以及发送单元1603,其中,
所述接收单元1601,用于接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;并将所述指示信息传输给所述处理单元1602;
所述处理单元1602,用于根据所述接收单元1601传输的所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;当所述插入操作的第二起始地址为第一虚拟页的首地址时,确定所述插入操作的第一起始地址为所述第二起始地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
所述发送单元1603,用于向磁盘阵列发送处理数据的请求信息,所述请求信息由所述处理单元1602传输给所述发送单元1603,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目,以及所述插入操作的第一起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
本发明实施例提供的主机,通过获取并向磁盘阵列发送插入操作的第一起始地址、以及插入空闲虚拟页的第一数目,使得磁盘阵列在插入操作的第一起始地址插入第一数目个空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,进而使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列缓存预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
本发明实施例还提供的一种主机160,参见图16,包括:确接收单元1601、处理单元1602以及发送单元1603,其中,
所述接收单元1601,用于接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;并将所述指示信息传输给所述处理单元1602;
所述处理单元1602,用于根据所述接收单元1601传输的所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;当所述插入操作的第二起始地址不为一个虚拟页的首地址时,确定所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
优选的,将与所述第二起始地址距离最近的一个虚拟页作为所述第一虚拟页。
所述发送单元1603,用于向磁盘阵列发送处理数据的请求信息,所述请求信息由所述处理单元1602传输给所述发送单元1603,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目、所述插入操作的第一起始地址、以及所述插入操作的第二起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
本发明实施例提供的主机,通过获取并向磁盘阵列发送插入操作的第一起始地址、以及插入空闲虚拟页的第一数目,使得磁盘阵列在插入操作的第一起始地址插入第一数目个空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,进而使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列缓存预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
参见图17,本发明实施例提供一种主机160,包括:存储器1701、发送器1702、接收器1703,与该存储器1701、发送器1702、接收器1703连接的处理器1704,其中,
接收器1703用于,接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;
存储器1701用于存储一组代码,该代码用于控制处理器1704执行如下动作:根据所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;当所述插入操作的第二起始地址为第一虚拟页的首地址时,确定所述插入操作的第一起始地址为所述第二起始地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
以及控制发送器1702向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目、所述插入操作的第一起始地址、以及所述插入操作的第二起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
本发明实施例提供的主机,通过获取并向磁盘阵列发送插入操作的第一起始地址、以及插入空闲虚拟页的第一数目,使得磁盘阵列在插入操作的第一起始地址插入第一数目个空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,进而使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列缓存预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
本发明实施例还提供一种主机160,参见图17,包括:存储器1701、发送器1702、接收器1703,与该存储器1701、发送器1702、接收器1703连接的处理器1704,其中,
接收器1703用于,接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;
存储器1701用于存储一组代码,该代码用于控制处理器1704执行如下动作:根据所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;当所述插入操作的第二起始地址不为一个虚拟页的首地址时,确定所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
优选的,将与所述第二起始地址距离最近的一个虚拟页作为所述第一虚拟页。
以及控制发送器1702向、磁盘阵列发送处理数据的请求信息,、所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目、所述插入操作的第一起始地址、以及所述插入操作的第二起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
本发明实施例提供的主机,通过获取并向磁盘阵列发送插入操作的第一起始地址、以及插入空闲虚拟页的第一数目,使得磁盘阵列在插入操作的第一起始地址插入第一数目个空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,进而使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列缓存预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
一方面,参见图18,为本发明实施例的提供一种主机180,包括:接收单元1801、处理单元1802以及发送单元1803,其中,
所述接收单元1801,用于接收用户指示信息,所述指示信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第二起始地址以及所述删除操作的第二终止地址;所述删除操作的第二起始地址为用户指示的开始删除数据的地址;所述删除操作的第二终止地址为用户指示的终止删除数据的地址;在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;并将所述指示信息传输给所述处理单元1802;
所述处理单元1802,用于根据所述处理单元1802传输的所述待删除数据的大小确定所述待删除数据所占的完整虚拟页的第一数目;所述第一数目为正整数;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则所述发送单元1803,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目以及所述第一起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元1802传输给所述发送单元1803;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则所述发送单元1803,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二终止地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元1802传输给所述发送单元1803。
或者,当所述删除操作的第二起始地址不为一个虚拟页的首地址,所述处理单元1802,用于根据所述处理单元1802传输的所述待删除数据的大小确定所述删除操作的第一起始地址为所述待删除数据所占的第一个完整虚拟页的首地址;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则所述发送单元1803,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元1802传输给所述发送单元1803;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则所述发送单元1803,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据、所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据、以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元1802传输给所述发送单元1803。
本发明实施例提供的主机,通过获取并向磁盘阵列发送删除操作的第一起始地址、以及删除待删除数据所占的第一虚拟页的第一数目,使得磁盘阵列在从删除操作的第一起始地址开始将待删除数据所占的第一虚拟页移除,并删除待删除数据,进而使得删除待删除数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
参见图19,为本发明实施例的提供一种主机180,包括:存储器1901、发送器1902、接收器1903,以及与该存储器1901、发送器1902、接收器1903连接的处理器1904,其中,
接收器1903用于,接收用户指示信息,所述指示信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第二起始地址以及所述删除操作的第二终止地址;所述删除操作的第二起始地址为用户指示的开始删除数据的地址;所述删除操作的第二终止地址为用户指示的终止删除数据的地址;在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;
存储器1901用于存储一组代码,该代码用于控制处理器1904执行如下动作:根据所述待删除数据的大小确定所述待删除数据所占的完整虚拟页的第一数目;所述第一数目为正整数;
以及若所述删除操作的第二终止地址为一个虚拟页的尾地址,则控制发送器1902向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目以及所述第一起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据删除;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则控制发送器1902向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二终止地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除。
或者,当所述删除操作的第二起始地址不为一个虚拟页的首地址,控制控制器1904根据所述待删除数据的大小确定所述删除操作的第一起始地址为所述待删除数据所占的第一个完整虚拟页的首地址;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则控制发送器1902向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据删除;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则控制发送器1902向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据、所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据、以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除。
本发明实施例提供的主机,通过获取并向磁盘阵列发送删除操作的第一起始地址、以及删除待删除数据所占的第一虚拟页的第一数目,使得磁盘阵列在从删除操作的第一起始地址开始将待删除数据所占的第一虚拟页移除,并删除待删除数据,进而使得删除待删除数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
一方面,为本发明实施例的提供一种写入数据的系统,包括:上述实施例提供的任一种磁盘阵列120,以及主机160。
本发明实施例提供的写入数据的系统,主机通过获取并向磁盘阵列发送插入操作的第一起始地址、以及插入空闲虚拟页的第一数目,使得磁盘阵列在插入操作的第一起始地址插入第一数目个空闲虚拟页,并在该空闲虚拟页所映射的存储块中写入待写入数据,进而使得插入待写入数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
一方面,本发明实施例的还提供一种删除数据的系统,包括:上述实施例上述实施例提供的任一种磁盘阵列140,以及主机180。
本发明实施例提供的删除数据的系统,主机通过获取并向磁盘阵列发送删除操作的第一起始地址以及待删除数据所占的第一虚拟页的第一数目,使得磁盘阵列在从删除操作的第一起始地址开始将待删除数据所占的第一虚拟页移除,并删除待删除数据,进而使得删除待删除数据后的文件数据可以顺序地存储于磁盘阵列的连续的虚拟页中,从而减少了文件碎片的产生,提高了磁盘阵列预取数据的命中率,进而提高了系统的输入输出性能,解决了现有技术中直接为新数据分配可用虚拟页,导致的更新后的文件数据分布于虚拟卷上不连续的虚拟页中,使得系统中文件碎片增多,进而影响系统的输入输出性能的问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(RandomAccessMemory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (18)
1.一种写入数据的方法,其特征在于,包括:
磁盘阵列接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目以及所述插入操作的第一起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页的首地址为用户指示的开始写入数据的地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;
向已插入的所述空闲虚拟页所映射的存储块中写入所述待写入数据。
2.一种写入数据的方法,其特征在于,包括:
磁盘阵列接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目、所述插入操作的第一起始地址以及所述插入操作的第二起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址,且所述第二起始地址为一个虚拟页的中间地址或者尾地址;
根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;
若已插入的所述空闲虚拟页所映射的存储块空间足够存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则向所述已插入的所述空闲虚拟页所映射的存储块存储块中写入所述第一数据和所述待写入数据,使得所述第一数据和所述待写入数据顺序存储;
或者,若已插入的所述空闲虚拟页所映射的存储块空间不足以存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则在所述第一存储块和已插入的所述空闲虚拟页所映射的存储块中搬移所述第一数据,并写入所述待写入数据,使得所述第一数据和所述待写入数据顺序存储。
3.一种删除数据的方法,其特征在于,包括:
磁盘阵列接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目,以及所述删除操作的第一起始地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;
根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;
将所述第一数目个完整虚拟页所映射的存储块中的数据删除。
4.一种删除数据的方法,其特征在于,包括:
磁盘阵列接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第一起始地址,以及所述删除操作的第二起始地址和/或所述删除操作的第二终止地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;所述删除操作的第二起始地址为用户指示的开始删除数据的地址,所述第二起始地址与所述第一起始地址不重合;所述删除操作的第二终止地址为用户指示的终止删除数据的地址,所述第二终止地址为一个虚拟页的中间地址或首地址;
根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;
将所述第一数目个完整虚拟页所映射的存储块中的数据删除、并将所述第二起始地址与所述第一起始地址之间的虚拟页所映射的存储块中的数据和/或所述第二终止地址与所述待删除数据所占的完整虚拟页的尾地址之间的虚拟页所映射的存储块中的数据删除。
5.一种写入数据的方法,其特征在于,包括:
主机接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;
根据所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;
当所述插入操作的第二起始地址为第一虚拟页的首地址时,确定所述插入操作的第一起始地址为所述第二起始地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目,以及所述插入操作的第一起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
6.一种写入数据的方法,其特征在于,包括:
主机接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;
根据所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;
当所述插入操作的第二起始地址不为一个虚拟页的首地址时,确定所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目、所述插入操作的第一起始地址、以及所述插入操作的第二起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
7.根据权利要求6所述的写入数据的方法,其特征在于,将与所述第二起始地址距离最近的一个虚拟页作为所述第一虚拟页。
8.一种删除数据的方法,其特征在于,包括:
主机接收用户指示信息,所述指示信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第二起始地址以及所述删除操作的第二终止地址;所述删除操作的第二起始地址为用户指示的开始删除数据的地址;所述删除操作的第二终止地址为用户指示的终止删除数据的地址;在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;
根据所述待删除数据的大小确定所述待删除数据所占的完整虚拟页的第一数目;所述第一数目为正整数;
当所述删除操作的第二起始地址为一个虚拟页的首地址,确定所述删除操作的第一起始地址为所述删除操作的第二起始地址;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目以及所述第一起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据删除;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二终止地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除;
或者,当所述删除操作的第二起始地址不为一个虚拟页的首地址,确定所述删除操作的第一起始地址为所述待删除数据所占的第一个完整虚拟页的首地址;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据删除;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据、所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据、以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除。
9.一种磁盘阵列,其特征在于,包括:接收单元以及处理单元,其中,
所述接收单元,用于接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目以及所述插入操作的第一起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页的首地址为用户指示的开始写入数据的地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;并将所述请求信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;并向已插入的所述空闲虚拟页所映射的存储块中写入所述待写入数据。
10.一种磁盘阵列,其特征在于,包括:接收单元以及处理单元,其中,
所述接收单元,用于接收主机发送的处理数据的请求信息,所述请求信息包括:处理方式为插入操作、待写入数据、所述待写入数据所需占用的空闲虚拟页的第一数目、所述插入操作的第一起始地址以及所述插入操作的第二起始地址;所述第一数目为正整数;所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址,且所述第二起始地址为一个虚拟页的中间地址或者尾地址;并将所述请求信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页;若已插入的所述空闲虚拟页所映射的存储块空间足够存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则向所述已插入的所述空闲虚拟页所映射的存储块存储块中写入所述第一数据和所述待写入数据,使得所述第一数据和所述待写入数据顺序存储;
或者,若已插入的所述空闲虚拟页所映射的存储块空间不足以存储所述第二起始地址与所述第一起始地址之间的虚拟页所映射的第一存储块中的第一数据和所述待写入数据,则在所述第一存储块和已插入的所述空闲虚拟页所映射的存储块中搬移所述第一数据,并写入所述待写入数据,使得所述第一数据和所述待写入数据顺序存储。
11.一种磁盘阵列,其特征在于,包括:接收单元以及处理单元,其中,
所述接收单元,用于接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目,以及所述删除操作的第一起始地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;并将所述请求信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;并将所述第一数目个完整虚拟页所映射的存储块中的数据删除。
12.一种磁盘阵列,其特征在于,包括:接收单元以及处理单元,其中,
所述接收单元,用于接收主机发送的处理数据操作的请求信息,所述请求信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第一起始地址,以及所述删除操作的第二起始地址和/或所述删除操作的第二终止地址;所述第一数目为正整数;所述删除操作的第一起始地址为所述第一数目个完整虚拟页的首地址,在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;所述删除操作的第二起始地址为用户指示的开始删除数据的地址,所述第二起始地址与所述第一起始地址不重合;所述删除操作的第二终止地址为用户指示的终止删除数据的地址,所述第二终止地址为一个虚拟页的中间地址或首地址;并将所述请求信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置;并将所述第一数目个完整虚拟页所映射的存储块中的数据删除、并将所述第二起始地址与所述第一起始地址之间的虚拟页所映射的存储块中的数据和/或所述第二终止地址与所述待删除数据所占的完整虚拟页的尾地址之间的虚拟页所映射的存储块中的数据删除。
13.一种主机,其特征在于,包括:接收单元、处理单元以及发送单元,其中,
所述接收单元,用于接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;并将所述指示信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;当所述插入操作的第二起始地址为第一虚拟页的首地址时,确定所述插入操作的第一起始地址为所述第二起始地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息由所述处理单元传输给所述发送单元,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目,以及所述插入操作的第一起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
14.一种主机,其特征在于,包括:接收单元、处理单元以及发送单元,其中,
所述接收单元,用于接收用户指示信息,所述指示信息包括:处理方式为插入操作、所述插入操作的第二起始地址以及待写入数据;所述插入操作的第二起始地址为用户指示的开始写入数据的地址;并将所述指示信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述待写入数据的大小确定所述待写入数据所需占用的空闲虚拟页的第一数目;所述第一数目为正整数;当所述插入操作的第二起始地址不为一个虚拟页的首地址时,确定所述插入操作的第一起始地址为第一虚拟页的首地址,所述第一虚拟页所映射的存储块以及与所述第一虚拟页相邻的前一个虚拟页所映射的存储块中均存储有数据;
所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息由所述处理单元传输给所述发送单元,所述请求信息包括:所述处理方式为插入操作、所述待写入数据、所述第一数目、所述插入操作的第一起始地址、以及所述插入操作的第二起始地址;以使得所述磁盘阵列根据所述请求信息从所述第一起始地址开始插入所述第一数目个空闲虚拟页,并写入所述待写入数据。
15.根据权利要求14所述的主机,其特征在于,将与所述第二起始地址距离最近的一个虚拟页作为所述第一虚拟页。
16.一种主机,其特征在于,包括:接收单元、处理单元以及发送单元,其中,
所述接收单元,用于接收用户指示信息,所述指示信息包括:处理方式为删除操作、待删除数据所占的完整虚拟页的第一数目、所述删除操作的第二起始地址以及所述删除操作的第二终止地址;所述删除操作的第二起始地址为用户指示的开始删除数据的地址;所述删除操作的第二终止地址为用户指示的终止删除数据的地址;在所述第一数目个完整虚拟页之前和之后的、与所述第一数目个完整虚拟页相邻的虚拟页所映射的存储块中存储有数据;并将所述指示信息传输给所述处理单元;
所述处理单元,用于根据所述接收单元传输的所述待删除数据的大小确定所述待删除数据所占的完整虚拟页的第一数目;所述第一数目为正整数;
当所述删除操作的第二起始地址为一个虚拟页的首地址,所述处理单元,用于确定所述删除操作的第一起始地址为所述删除操作的第二起始地址;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目以及所述第一起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元传输给所述发送单元;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二终止地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元传输给所述发送单元;
或者,当所述删除操作的第二起始地址不为一个虚拟页的首地址,所述处理单元,用于根据所述处理单元传输的所述待删除数据的大小确定所述删除操作的第一起始地址为所述待删除数据所占的第一个完整虚拟页的首地址;
若所述删除操作的第二终止地址为一个虚拟页的尾地址,则所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据以及所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元传输给所述发送单元;
若所述删除操作的第二终止地址不为一个虚拟页的尾地址,则所述发送单元,用于向磁盘阵列发送处理数据的请求信息,所述请求信息包括:所述处理方式为删除操作、所述第一数目、所述第一起始地址以及所述第二起始地址;以使得所述磁盘阵列根据所述请求信息将从所述删除操作的第一起始地址开始的所述第一数目个完整虚拟页,移至与任一空闲虚拟页相邻的位置,并将所述第一数目个所述完整虚拟页所映射的存储块中的数据、所述第一起始地址与所述第二起始地址之间的虚拟页所映射的存储块中的数据、以及所述待删除数据所占的完整虚拟页的尾地址与所述第二终止地址之间的虚拟页所映射的存储块中的数据删除,所述请求信息由所述处理单元传输给所述发送单元。
17.一种写入数据的系统,其特征在于,包括:权利要求9或10所述的磁盘阵列以及权利要求13-15任一项所述的主机。
18.一种删除数据的系统,其特征在于,包括:权利要求11或12所述的磁盘阵列以及权利要求16所述的主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210568191.2A CN103064638B (zh) | 2012-12-24 | 2012-12-24 | 一种处理数据的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210568191.2A CN103064638B (zh) | 2012-12-24 | 2012-12-24 | 一种处理数据的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103064638A CN103064638A (zh) | 2013-04-24 |
CN103064638B true CN103064638B (zh) | 2016-03-30 |
Family
ID=48107282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210568191.2A Active CN103064638B (zh) | 2012-12-24 | 2012-12-24 | 一种处理数据的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103064638B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530319B (zh) * | 2013-09-16 | 2017-12-15 | 华为技术有限公司 | 一种操作请求的处理方法和装置 |
CN106802811B (zh) * | 2016-11-28 | 2020-03-10 | 硅谷数模半导体(北京)有限公司 | 程序写入方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145064A (en) * | 1996-08-28 | 2000-11-07 | Canon Information Systems Research Australia Pty Ltd | Method of efficiently updating hashed page tables |
US7051054B1 (en) * | 2000-05-30 | 2006-05-23 | Dphi Acquisitions, Inc. | Method and apparatus for emulating read/write file system on a write-once storage disk |
CN101251788A (zh) * | 2008-03-07 | 2008-08-27 | 威盛电子股份有限公司 | 储存单元管理方法及系统 |
CN101387985A (zh) * | 2007-09-10 | 2009-03-18 | 索尼株式会社 | 信息处理装置、记录方法和计算机程序 |
-
2012
- 2012-12-24 CN CN201210568191.2A patent/CN103064638B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145064A (en) * | 1996-08-28 | 2000-11-07 | Canon Information Systems Research Australia Pty Ltd | Method of efficiently updating hashed page tables |
US7051054B1 (en) * | 2000-05-30 | 2006-05-23 | Dphi Acquisitions, Inc. | Method and apparatus for emulating read/write file system on a write-once storage disk |
CN101387985A (zh) * | 2007-09-10 | 2009-03-18 | 索尼株式会社 | 信息处理装置、记录方法和计算机程序 |
CN101251788A (zh) * | 2008-03-07 | 2008-08-27 | 威盛电子股份有限公司 | 储存单元管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103064638A (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210165737A1 (en) | Namespace mapping optimization in non-volatile memory devices | |
CN106708425B (zh) | 分布式多模存储管理 | |
US11687446B2 (en) | Namespace change propagation in non-volatile memory devices | |
CN110612511B (zh) | 使用流选择性地向分配区域中存储数据 | |
US7543129B2 (en) | Storage system and storage area allocation method configuring pool areas each including logical volumes having identical allocation unit size | |
CN109376123B (zh) | 管理文件的方法、分布式存储系统和管理节点 | |
CN104765575B (zh) | 信息存储处理方法 | |
WO2019099238A1 (en) | Namespace mapping structural adjustment in non-volatile memory devices | |
KR102007650B1 (ko) | 세그먼트 그룹을 고려하는 세그먼트 클리닝 장치 및 방법 | |
EP3296996A1 (en) | Method for processing data, storage apparatus, solid state disk and storage system | |
CA2511304C (en) | Dual journaling store method and storage medium thereof | |
CN109791522B (zh) | 数据迁移的方法、系统及智能网卡 | |
CN113485636B (zh) | 一种数据访问方法、装置和系统 | |
JP2005011316A (ja) | 記憶領域割当方法、システム及び仮想化装置 | |
WO2020053744A1 (en) | System and method for storing data using ethernet drives and ethernet open-channel drives | |
TW201118877A (en) | Flash memory device, data storage system, and operation method of a data storage system | |
CN109144406B (zh) | 分布式存储系统中元数据存储方法、系统及存储介质 | |
CN104765574A (zh) | 数据云端存储方法 | |
KR102347841B1 (ko) | 메모리제어장치 및 메모리제어장치의 동작 방법 | |
US20160283379A1 (en) | Cache flushing utilizing linked lists | |
CN103064638B (zh) | 一种处理数据的方法、装置及系统 | |
CN104778100A (zh) | 一种安全备份数据的方法 | |
US11775194B2 (en) | Data storage method and apparatus in distributed storage system, and computer program product | |
US20200042478A1 (en) | Performance improvement for an active-active distributed non-alua system with address ownerships | |
US9557935B2 (en) | Computing system including storage system and method of writing data thereof |
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 |