CN103530066B - 一种数据存储方法、装置及*** - Google Patents

一种数据存储方法、装置及*** Download PDF

Info

Publication number
CN103530066B
CN103530066B CN201310420222.4A CN201310420222A CN103530066B CN 103530066 B CN103530066 B CN 103530066B CN 201310420222 A CN201310420222 A CN 201310420222A CN 103530066 B CN103530066 B CN 103530066B
Authority
CN
China
Prior art keywords
frame
available memory
jbod
address designation
written
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
Application number
CN201310420222.4A
Other languages
English (en)
Other versions
CN103530066A (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 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 Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310420222.4A priority Critical patent/CN103530066B/zh
Publication of CN103530066A publication Critical patent/CN103530066A/zh
Priority to PCT/CN2014/085990 priority patent/WO2015035887A1/zh
Application granted granted Critical
Publication of CN103530066B publication Critical patent/CN103530066B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开一种数据存储方法,包括:在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧转发给存储控制器,所述主机接收所述存储控制器响应所述第一命令帧返回的可用存储器信息,所述可用存储器信息包括JBOD磁盘簇的地址标识和可用存储器的地址标识,构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入可用存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识。本发明实施例提供的数据存储方法,对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据的数据帧发送到待写入的存储器,提高了数据存储效率。

Description

一种数据存储方法、装置及***
技术领域
本发明涉及数据存储领域,尤其涉及一种数据存储方法、装置及***。
背景技术
现有的数据存储方法中,主机在读、写数据时,读、写命令及待读、写的数据都需要经过存储控制器,当具有多个主机时,存储控制器的负荷达到最大后,就无法继续接入更多的主机,如果继续接入主机,存储控制器的数据存储速度就会变慢。
现有的高端存储使用多存储控制器的方式,例如,提供四控、八控存储控制器进行存储扩展,每个控制器中均包括Cache(缓存)板,每一个Cache中均包括:块元数据、读、写缓存数据,多个Cache间也要进行数据同步,因此,随着存储控制器挂接存储器的增多,Cache的容量也会随之增加,提高了存储成本,并且,当接入的主机、挂接的存储器数量的增加,需要进行大量的数据读写时,存储控制器的数据处理速度同样会变慢,数据存储效率较低。
发明内容
本发明实施例提供一种数据存储方法、装置及***,该方法可直接将待写的数据发送至确定的待写入可用存储器中,提高数据存储的效率。
第一方面,本发明实施例提供一种数据存储方法,包括:主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧转发给存储控制器;
所述主机接收所述存储控制器响应所述第一命令帧返回的可用存储器信息,所述可用存储器信息包括磁盘簇JBOD的地址标识和可用存储器的地址标识;
所述主机构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入可用存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识。
结合第一方面,在第一方面的第一种可能的实现方式中,所述主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧转发给存储控制器之前,包括:
所述主机向所述存储控制器发送请求存储器信息命令帧;
所述主机接收所述请求存储器信息命令帧的响应信息,所述响应信息中包括:收到响应消息的存储控制器所挂载的可用存储器的地址标识,建立与各个所述可用存储器的地址标识对应的存储器四元组编号;
所述主机建立包括所述存储器四元组编号、存储控制器的地址标识、所述存储控制器控制的JBOD挂载的存储器的地址标识的存储映射关系。
结合第一方面,或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,包括:
主机在检测到写命令时,选择存储器的四元组编号,通过所述存储映射关系,获取选择到的存储器的四元组编号对应的存储控制器的地址标识;
所述主机根据已获取的存储控制器的地址标识作为目的地址生成所述第一命令帧。
结合第一方面,在第一方面的第三中可能的实施方式中,所述主机构造包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识,包括:
所述主机通过在所述JBOD的地址标识和所述可用存储器的地址标识中选择待写入的JBOD及待写入的可用存储器,得到待写入的JBOD的地址标识及待写入的可用存储器的地址标识,其中,所述待写入的可用存储器挂载在所述待写入的JBOD;
所述主机构造包括待写数据、待写入的JBOD的地址标识及待写入的可用存储器的地址标识的数据帧。
结合第一方面,在第一方面的第四中可能的实施方式中,
存储控制器在接收到主机发送的第一命令帧时,计算可用存储器信息,所述可用存储器信息包括JBOD的地址标识和可用存储器的地址标识;
所述存储控制器构造包括待写数据的第二命令帧,并将构造得到的所述第二命令帧发送至JBOD;
所述存储控制器若接收所述JBOD响应所述第二命令帧返回的传输完成准备帧,将所述传输准备完成帧与所述计算得到的可用存储器信息转发至所述主机。
结合第一方面,在第一方面的第五中可能的实施方式中,包括:
JBOD接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至可用存储器的地址标识所指示的可用存储器;
所述JBOD接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向所述存储控制器回复传输准备完成帧;
当所述JBOD接收主机发送的数据帧后,将所述数据帧转发至对应的待写入的可用存储器,收到数据帧的待写入的可用存储器对所述数据帧中的待写入数据进行存储。
第二方面,本发明实施例提供了一种数据存储装置,包括:
检测模块,用于所述主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧转发给存储控制器;
控制模块,用于所述主机接收所述存储控制器响应所述第一命令帧返回的可用存储器信息,所述可用存储器信息包括磁盘簇JBOD的地址标识和可用存储器的地址标识;
构造模块,用于所述主机构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入可用存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识。
结合第二方面,在第二方面的第一种可能的实施方式中,在所述检测模块之前,包括:
发送模块,用于所述主机向所述存储控制器发送请求存储器信息命令帧;
创建模块,用于所述主机接收所述请求存储器信息命令帧的响应信息,所述响应信息中包括:收到响应消息的存储控制器所挂载的可用存储器的地址标识,建立与各个所述可用存储器的地址标识对应的存储器四元组编号;
映射模块,用于所述主机建立包括所述存储器四元组编号、存储控制器的地址标识、所述存储控制器控制的JBOD挂载的存储器的地址标识的存储映射关系。
结合第二方面,或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述检测模块,包括:
获取单元,用于所述主机在检测到写命令时,选择存储器的四元组编号,通过所述存储映射关系,获取选择到的存储器的四元组编号对应的存储控制器的地址标识;
生成单元,用于所述主机根据已获取的存储控制器的地址标识作为目的地址生成所述第一命令帧。
结合第二方面,在第二方面的第三中可能的实施方式中,所述构造模块,包括:
选择单元,用于所述主机通过所述JBOD的地址标识和所述可用存储器的地址标识中选择待写入的JBOD及待写入的可用存储器,得到待写入的JBOD的地址标识及待写入的可用存储器的地址标识,其中,所述待写入的可用存储器挂载在所述待写入的JBOD;
构造单元,用于所述主机构造包括待写数据、待写入的JBOD的地址标识及待写入的可用存储器的地址标识的数据帧。
结合第二方面,在第二方面的第四中可能的实施方式中,包括:
计算模块,用于存储控制器在接收到主机发送的第一命令帧时,计算可用存储器信息,所述可用存储器信息包括JBOD的地址标识和可用存储器的地址标识;
执行模块,用于所述存储控制器构造包括待写数据的第二命令帧,并将构造得到的所述第二命令帧发送至JBOD;
转发模块,用于所述存储控制器若接收所述JBOD响应所述第二命令帧返回的传输完成准备帧,将所述传输准备完成帧与所述计算得到的可用存储器信息转发至所述主机。
结合第二方面,在第二方面的第五中可能的实施方式中,包括:
第一接收模块,用于JBOD接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至对应的可用存储器的地址标识所指示地址的可用存储器;
第二接收模块,用于所述JBOD接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向所述存储控制器回复传输准备完成帧;
处理模块,用于当所述JBOD当接收主机发送的数据帧后,将所述数据帧转发至对应的待写入的可用存储器,收到数据帧的待写入的可用存储器对所述数据帧中的待写入数据进行存储。
第三方面,本发明实施例提供一种数据存储***,包括:主机、存储控制器、JBOD,其中,
所述主机,用于在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧发给存储控制器,接收所述存储控制器响应所述第一命令帧返回的可用存储器信息,所述可用存储器信息包括磁盘簇JBOD的地址标识和可用存储器的地址标识,构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识;
所述存储控制器,用于在接收到主机发送的第一命令帧时,计算可用存储器信息,所述可用存储器信息包括JBOD的地址标识和可用存储器的地址标识,构造第二命令帧,并将构造得到的所述第二命令帧发送至JBOD,若接收所述JBOD响应所述第二命令帧返回的传输完成准备帧,将所述传输准备完成帧与所述计算得到的可用存储器信息转发至所述主机;
所述JBOD,用于接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至可用存储器的地址标识所指示的可用存储器,接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向所述存储控制器回复传输准备完成帧,当所述JBOD接收主机发送的数据帧后,将所述数据帧转发至对应的待写入的可用存储器,收到数据帧的待写入的可用存储器对所述数据帧中的待写入数据进行存储。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的数据存储方法第一实施例流程示意图;
图2是本发明实施例的数据存储方法第二实施例流程示意图;
图3是本发明实施例的数据存储方法第三实施例流程示意图;
图4是本发明实施例的数据存储方法第四实施例流程示意图;
图5是本发明实施例的数据存储方法第五实施例流程示意图;
图6是本发明实施例数据存储方法第六实施例流程示意图;
图7是本发明实施例数据存储装置第一实施例结构示意图;
图8是本发明实施例数据存储装置第二实施例结构示意图;
图9是本发明实施例数据存储装置第三实施例结构示意图;
图10是本发明实施例数据存储装置第四实施例结构示意图;
图11是本发明实施例数据存储装置第五实施例结构示意图;
图12是本发明实施例数据存储***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明实施例的数据存储方法第一实施例流程示意图,本发明实施例的所述方法可以由包括服务器、终端等主机设备来执行,具体的,包括:
S101、主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的第一命令帧发送给存储控制器。
具体地,可用存储器信息包括JBOD(英文全称为:JustaBunchofDisks,磁盘簇)的地址标识和可用存储器的地址标识,可用存储器的地址标识即可用存储器的SAS地址,SAS(英文全称为:SerialAttachedSCSI),意为串行连接SCSI接口,串行连接小型计算机***的接口。
应当理解,第一命令帧中包括:可用存储器的SAS地址及操作***中的命令描述块,主机端协议程序将第一命令帧封装在以太帧中发送给存储控制器。
S102、主机接收存储控制器响应第一命令帧返回的可用存储器信息。
具体地,主机接收存储控制器响应所述第一命令帧返回的传输准备完成帧,解析传输准备完成帧,所述传输准备完成帧中包括可用的存储器信息。
S103、主机构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识。
具体地,主机通过JBOD的地址标识和可用存储器的地址标识中随机选择待写入的JBOD及待写入的可用存储器,得到待写入的JBOD的地址标识及待写入的可用存储器的地址标识。
主机构造包括待写数据、待写入的JBOD的地址标识及待写入的可用存储器的地址标识的数据帧,主机将所述数据帧发送至JBOD,再由JBOD将所述数据帧转发给待写入的可用存储器。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图2,是本发明实施例的数据存储方法第二实施例流程示意图,本发明实施例的所述方法可以由包括服务器、终端等主机设备来执行,具体的,包括:
S201、主机向存储控制器发送请求存储器信息命令帧。
具体地,主机向存储控制器发送请求存储器信息命令帧,请求存储器信息命令帧用于主机命令存储控制器上报其控制的所有存储器的信息。
S202、主机接收请求存储器信息命令帧的响应信息,响应信息中包括:收到响应消息的存储控制器所挂载的可用存储器的地址标识,建立与各个所述可用存储器的地址标识对应的存储器四元组编号。
具体地,主机按照存储控制器上报的可用存储器的地址标识,建立与各个可用存储器的地址标识对应的存储器四元组编号:例如:<host:channel:id:lun>,并将可用存储器加入到操作***中。
S203、主机建立包括存储器四元组编号、存储控制器的地址标识、所述存储控制器控制的JBOD挂载的存储器的地址标识的存储映射关系。
具体地,建立存储器四元组编号、存储控制器的地址标识、所述存储控制器对应的JBOD挂载的存储器的地址标识的映射关系,是为了选择一个存储器的四元组编号,通过所述存储映射关系,获取选择到的存储器的四元组编号对应的存储控制器的地址标识。
S204、主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧发送给存储控制器。
具体地,可用存储器信息包括JBOD(英文全称为:JustaBunchofDisks,磁盘簇)的地址标识和可用存储器的地址标识,可用存储器的地址标识即可用存储器的SAS地址,SAS(英文全称为:SerialAttachedSCSI),意为串行连接SCSI接口,串行连接小型计算机***的接口。
应当理解,第一命令帧中包括:可用存储器的SAS地址及操作***中的命令描述块,主机端协议程序将第一命令帧封装在以太帧中发送给对应的存储控制器。
主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,具体包括:主机在检测到写命令时,选择一个存储器的四元组编号,通过已建立的存储映射关系,获取选择到的存储器的四元组编号对应的存储控制器的地址标识,主机根据已获取的存储控制器的地址标识作为目的地址生成所述第一命令帧。
S205、主机接收所述存储控制器响应所述第一命令帧返回的可用存储器信息。
具体地,主机接收存储控制器响应所述第一命令帧返回的传输准备完成帧,解析传输准备完成帧,所述传输准备完成帧中包括可用的存储器信息。
S206、主机构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识。
具体地,主机通过JBOD的地址标识和可用存储器的地址标识中随机选择待写入的JBOD及待写入的可用存储器,得到待写入的JBOD的地址标识及待写入的可用存储器的地址标识,其中,待写入的可用存储器挂载在待写入的JBOD。
主机构造包括待写数据、待写入的JBOD的地址标识及待写入的可用存储器的地址标识的数据帧,主机将所述数据帧发送至JBOD,再由JBOD将所述数据帧转发给待写入的可用存储器。
S207、主机接收存储控制器转发的应答帧。
具体地,当待写入的可用存储器完成数据存储后,待写入的可用存储器发送应答帧至存储控制器,存储控制器将应答帧转发至主机,主机接收存储控制器转发的应答帧,完成数据存储。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图3,是本发明实施例的数据存储方法的第三实施例流程示意图,本发明实施例的所述方法可以用于进行数据存储管理的存储控制器来执行,具体的,所述方法包括:
S301、存储控制器在接收到主机发送的第一命令帧时,计算可用存储器信息。
具体地,可用存储器信息包括:JBOD的地址标识和可用存储器的地址标识。
S302、存储控制器构造第二命令帧,并将构造得到的所述第二命令帧发送至JBOD。
具体地,存储控制器端协议程序构造第二命令帧,并将第二命令帧封装成以太帧后发送至JBOD。
S303、存储控制器若接收JBOD响应第二命令帧返回的传输完成准备帧,将传输准备完成帧与计算得到的可用存储器信息转发至所述主机。
具体地,JBOD接收到第二命令帧后,JBOD向存储控制器返回传输完成准备帧,存储控制器将所述传输准备完成帧与计算得到的可用存储器信息共同封装在以太帧中,转发至主机。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图4,是本发明实施例的数据存储方法第四实施例流程示意图,本发明实施例的所述方法可以由管理多个存储器的磁盘簇来执行,具体的,包括:
S401、JBOD接收存储控制器发送的第二命令帧,并将第二命令帧转发至对应的可用存储器的地址标识所指示地址的可用存储器。
具体地,JBOD的以太网卡接收到存储控制器发送的以太帧,从以太帧中解析出第二命令帧,并将第二命令帧发送给SAS驱动,SAS驱动将第二命令帧写入SASHBA,SASHBA将第二命令帧转发给可用存储器的地址标识所指示的可用存储器。
需要知道的是,SAS(英文全称为:SerialAttachedSCSI),意为串行连接SCSI接口,即串行连接小型计算机***接口;HBA(英文全称为:HostBusAdapter),意为主机总线适配器,是一个使计算机在服务器和存储装置间提供输入/输出(I/O)处理和物理连接的电路板和/或集成电路适配器。
S402、JBOD接收可用存储器响应第二命令帧返回的传输准备完成帧后,向存储控制器回复传输准备完成帧。
具体地,可用存储器收到第二命令帧后,向SASHBA发送传输准备完成帧,SASHBA发出中断,SAS驱动调用JBOD端协议程序向存储控制器回复传输准备完成帧。
S403、当JBOD接收主机发送的数据帧后,将数据帧转发至对应的待写入的可用存储器,收到数据帧的待写入的可用存储器对数据帧中的待写入数据进行存储。
具体地,JBOD以太网卡接收到主机发送的以太帧,JBOD端协议程序从以太帧中解析出数据帧,将所述数据帧发送给SAS驱动,SAS驱动将数据帧写入SASHBA,SASHBA将数据帧转发至对应的待写入的可用存储器的地址标识所指示的待写入的可用存储器,收到数据帧的待写入的可用存储器对数据帧中的待写入数据进行存储。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图5,是本发明实施例的数据存储方法第五实施例流程示意图,本发明实施例的所述方法可以由管理多个存储器的磁盘簇来执行,具体的,包括:
S501、JBOD接收存储器上报的地址帧,所述地址帧包括所述可用存储器的地址标识。
具体地,JBODHBA与存储器为直连的连接方式,JBOD通过地址帧收集挂载在JBOD下的存储器的地址标识,应当理解,所述地址帧包括可用存储器的地址标识。
S502、JBOD解析每一个上报的地址帧,存储所述存储器的地址标识以便对每一个地址帧对应的存储器进行管理。
具体地,JBOD通过JBOD端协议程序解析每一个上报的地址帧,对存储器进行管理,确认可用存储器的地址标识。
S503、JBOD接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至对应的可用存储器的地址标识所指示地址的可用存储器。
具体地,JBOD以太网卡接收到存储控制器发送的以太帧,从以太帧中解析出第二命令帧,并将第二命令帧发送给SAS驱动,SAS驱动将第二命令帧写入SASHBA,SASHBA将第二命令帧转发给对应的可用存储器的地址标识所指示地址的可用存储器。
S504、JBOD接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向存储控制器回复传输准备完成帧。
具体地,可用存储器向SASHBA回复传输准备完成帧,SASHBA发出中断,SAS驱动调用JBOD端协议程序向存储控制器回复传输准备完成帧。
S505、当JBOD接收主机发送的数据帧后,将数据帧转发至对应的待写入的可用存储器,收到数据帧的待写入的可用存储器对数据帧中的待写入数据进行存储。
具体地,JBOD以太网卡接收到主机发送的以太帧,JBOD端协议程序从以太帧中解析出数据帧,将所述数据帧发送给SAS驱动,SAS驱动将数据帧写入SASHBA,SASHBA将数据帧转发至对应的可用存储器的地址标识所指示地址的可用存储器,收到数据帧的待写入的可用存储器对数据帧中的待写入数据进行存储。
S506、JBOD接收所述存储器发送的应答帧,将应答帧转发至存储控制器。
当可用存储器完成数据存储后,向SASHBA回复应答帧,SAS驱动调用JBOD端协议程序向存储控制器回复应答帧,所述应答帧为在所述存储器完成数据存储后回复给所述存储器的响应消息。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图6,是本发明实施例数据存储方法第六实施例流程示意图,本发明实施例的所述方法为主机、存储控制器、磁盘簇之间的数据交互过程,具体的,包括:
S1、主机存储控制器发送请求存储器信息命令帧。
具体地,主机根据存储控制器的地址标识,与存储控制器进行通信,向对应地址标识的存储控制器发送请求存储器信息命令帧,所述请求存储器信息命令帧用于主机命令存储控制器上报其控制的所有存储器的信息。
S2、主机接收响应信息。
具体地,存储控制器接收请求存储器信息命令帧后向主机返回可用存储器响应信息,响应信息中包括主机需要的可用存储器的地址标识(SAS地址)。
S3、JBOD接收存储器上报的地址帧,所述地址帧包括所述可用存储器的地址标识。
具体地,JBODHBA与存储器为直连的连接方式,JBOD通过对端设备上报的地址帧收集挂载在JBOD下的存储器的地址标识,应当理解,所述地址帧包括可用存储器的地址标识。
S4、JBOD解析每一个上报的地址帧,存储所述存储器的地址标识以便对每一个地址帧对应的存储器进行管理。
具体地,JBOD通过JBOD端协议程序解析每一个上报的地址帧,对存储器进行管理,确认可用存储器的地址标识。
S5、主机建立包括存储器四元组编号、存储控制器的地址标识、所述存储控制器控制的JBOD挂载的存储器的地址标识的存储映射关系。
具体地,主机将存储控制器上报的存储器按照四元组<host:channel:id:lun>的编号方式进行编号,并将存储器加入到操作***中,本发明实施例提供建立四元组编号、JBOD的地址标识、可用存储器的地址标识映射关系,是为了说明在该数据存储方案下的具体路由方法。
S6、主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧发送给存储控制器。
具体地,可用存储器信息包括JBOD的地址标识和可用存储器的地址标识。第一命令帧中包括:存储控制器的地址标识及操作***中的命令描述块,主机端协议程序将第一命令帧封装在以太帧中发送给对应的存储控制器。
主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,具体包括:主机在检测到写命令时,选择一个存储器的四元组编号,通过已建立的存储映射关系,获取选择到的存储器的四元组编号对应的存储控制器的地址标识,主机根据已获取的存储控制器的地址标识作为目的地址生成所述第一命令帧。
S7、存储控制器接收主机发送的第一命令帧后,计算可用存储器信息。
具体地,存储控制器接收主机发送的第一命令帧,将第一命令帧发送至存储器虚拟化程序进行虚拟化处理,计算可用存储器信息,其中,可用存储器信息包括JBOD的地址标识和可用存储器的地址标识。
S8、主机接收存储控制器响应所述第一命令帧返回的可用存储器信息。
具体地,主机接收存储控制器响应所述第一命令帧返回的传输准备完成帧,解析传输准备完成帧,得到可用存储器信息,应当理解,传输准备完成帧是存储控制器向JBOD发送第二命令帧后根据该JBOD返回的响应信息构造生成的。
S9、存储控制器构造包括待写数据的第二命令帧,并将构造得到的所述第二命令帧发送至JBOD。
具体地,存储控制器端协议程序根据待写数据构造第二命令帧,并将第二命令帧封装成以太帧后发送至JBOD。
S10、JBOD接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至对应的可用存储器的地址标识所指示地址的可用存储器。
具体地,JBOD以太网卡接收到存储控制器发送的以太帧,从以太帧中解析出第二命令帧,并将第二命令帧发送给SAS驱动,SAS驱动将第二命令帧写入SASHBA,SASHBA将第二命令帧转发给对应的可用存储器的地址标识所指示地址的可用存储器。
S11、JBOD接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向述存储控制器回复传输准备完成帧。
具体地,可用存储器向SASHBA回复传输准备完成帧,SASHBA发出中断,SAS驱动调用JBOD端协议程序向存储控制器回复传输准备完成帧。
S12、存储控制器若接收JBOD响应所述第二命令帧返回的传输完成准备帧,将传输准备完成帧与计算得到的可用存储器信息发送至所述主机。
S13、主机构造包括待写数据的数据帧。
具体地,主机通过JBOD的地址标识和可用存储器的地址标识中随机选择待写入的JBOD及待写入的可用存储器,得到待写入的JBOD的地址标识及待写入的可用存储器的地址标识,构造包括待写数据、待写入的JBOD的地址标识及待写入的可用存储器的地址标识的数据帧,将所述数据帧发送至JBOD,再由JBOD将所述数据帧转发给待写入的可用存储器。
S14、JBOD当接收主机发送的数据帧时,将数据帧转发至对应的待写入的可用存储器的地址标识所指示的待写入的可用存储器。
具体地,JBOD以太网卡接收到主机发送的以太帧,JBOD端协议程序从以太帧中解析出数据帧,将所述数据帧发送给SAS驱动,SAS驱动将数据帧写入SASHBA,SASHBA将数据帧转发至对应的待写入可用存储器的地址标识所指示地址的待写入的可用存储器。
S15、JBOD接收所述存储器发送的应答帧,将所述应答帧转发至存储控制器。
S16、主机接收存储控制器转发的应答帧。
具体地,存储器完成数据存储后,存储器回复应答帧至JBOD,JBOD将应答帧转发至存储控制器,存储控制器将应答帧转发至主机,完成数据存储。应当理解,应答帧为JBOD在完成数据存储后回复给所述存储控制器的响应消息。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图7,是本发明第一实施例数据存储装置结构示意图,所述装置1包括:检测模块10、控制模块11、构造模块12,其中,
检测模块10,用于主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧发送给存储控制器。
具体地,可用存储器信息包括JBOD(英文全称:JustaBunchofDisks,磁盘簇)的地址标识和可用存储器的地址标识,可用存储器的地址标识即可用存储器的SAS地址,SAS(英文全称为:SerialAttachedSCSI,意为串行连接SCSI接口,串行连接小型计算机***的接口)。
应当理解,第一命令帧中包括:存储控制器的地址标识及操作***中的命令描述块,主机端协议程序将第一命令帧封装在以太帧中发送给对应的存储控制器。
控制模块11,用于主机接收存储控制器响应所述第一命令帧返回的可用存储器信息。
具体地,主机接收存储控制器响应所述第一命令帧返回的传输准备完成帧,解析传输准备完成帧,所述传输准备完成帧中包括可用的存储器信息。
构造模块12,用于所述主机构造并发送包括待写数据的数据帧,数据帧携带有可用存储器的地址标识作为待写入可用存储器的地址标识,数据帧的目标地址为JBOD的地址标识。
具体地,主机通过JBOD的地址标识和可用存储器的地址标识中随机选择待写入的JBOD及待写入的可用存储器,得到待写入的JBOD的地址标识及待写入的可用存储器的地址标识,主机构造包括待写数据、待写入的JBOD的地址标识及待写入的可用存储器的地址标识的数据帧,将所述数据帧发送至JBOD,再由JBOD将所述数据帧转发给待写入的可用存储器。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图8,是本发明第二实施例数据存储装置结构示意图,所述装置2为图7中所述装置1的优化,所述装置2包括:发送模块20、创建模块21、映射模块22、检测模块23、控制模块24、构造模块25、应答帧接收模块26,其中,
发送模块20,用于主机向所述存储控制器发送请求存储器信息命令帧。
具体地,发送模块20存储控制器的地址标识,与存储控制器进行通信,向对应地址的存储控制器发送请求存储器信息命令帧,所述请求存储器信息命令帧用于主机命令存储控制器上报存储器信息。
创建模块21,用于所述主机接收所述请求存储器信息命令帧的响应信息,所述响应信息中包括:收到响应消息的存储控制器所挂载的可用存储器的地址标识,建立与各个所述可用存储器的地址标识对应的存储器四元组编号。
具体地,主机按照存储控制器上报的可用存储器的地址标识,建立与各个可用存储器的地址标识对应的存储器四元组编号:例如:<host:channel:id:lun>,并将可用存储器加入到操作***中。
映射模块22,用于主机建立包括所述存储器四元组编号、存储控制器的地址标识、所述存储控制器控制的JBOD挂载的存储器的地址标识的存储映射关系。
具体地,建立存储器四元组编号、存储控制器的地址标识、所述存储控制器对应的JBOD挂载的存储器的地址标识的映射关系,是为了选择一个存储器的四元组编号,通过所述存储映射关系,获取选择到的存储器的四元组编号对应的存储控制器的地址标识。
检测模块23,用于在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧发送给存储控制器。
获取单元231,用于所述主机在检测到写命令时,选择存储器的四元组编号,通过所述存储映射关系,获取选择到的存储器的四元组编号对应的存储控制器的地址标识。
生成单元232,用于所述主机根据已获取的存储控制器的地址标识作为目的地址生成所述第一命令帧。
控制模块24,用于接收所述存储控制器响应所述第一命令帧返回的可用存储器信息。
具体地,传输准备完成帧中包括可用的存储器信息,应当理解,传输准备完成帧是存储控制器向JBOD发送第二命令帧后根据该JBOD返回的响应信息构造生成的。
接收单元241,用于接收存储控制器响应所述第一命令帧返回的传输准备完成帧;
解析单元242,用于解析所述请求所述传输准备完成帧,得到可用存储器信息;
具体地,响应模块24接收存储控制器响应所述第一命令帧返回的传输准备完成帧,解析传输准备完成帧,得到可用存储器信息,应当理解,传输准备完成帧是存储控制器向JBOD发送第二命令帧后根据该JBOD返回的响应信息构造生成的。
构造模块25,用于主机构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识。
所述构造模块25包括:
选择单元251,用于主机通过所述JBOD的地址标识和所述可用存储器的地址标识中选择待写入的JBOD及待写入的可用存储器,得到待写入的JBOD的地址标识及待写入的可用存储器的地址标识,其中,所述待写入的可用存储器挂载在所述待写入的JBOD;
构造单元252,用于主机构造包括待写数据、待写入的JBOD的地址标识及待写入的可用存储器的地址标识的数据帧。
具体地,构造模块25通过获取待传输的数据,构造包括可用存储器信息及待传输的数据的数据帧,因此,数据帧中包括待传输的数据及可用存储器信息,主机将数据帧封装在以太帧中发送给对应的JBOD,JBOD将具有待写数据的数据帧存储到可用存储器的地址标识所指示地址的存储器。
应答帧接收模块26,用于接收存储控制器转发的应答帧。
具体地,当待写入的可用存储器完成数据存储后,待写入的可用存储器发送应答帧至存储控制器,存储控制器将应答帧转发至主机,主机接收存储控制器转发的应答帧,完成数据存储。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图9,是本发明第三实施例数据存储装置结构示意图,所述装置3包括:计算模块30、执行模块31、转发模块32,其中,
计算模块30,用于存储控制器在接收到主机发送的第一命令帧时,计算可用存储器信息。
具体地,存储控制器接收主机发送的第一命令帧,将第一命令帧发送至存储器虚拟化程序进行虚拟化处理,计算可用存储器信息,其中,可用存储器信息包括JBOD的地址标识和可用存储器的地址标识。
执行模块31,用于存储控制器构造包括待写数据的第二命令帧,并将构造得到的第二命令帧发送至JBOD。
具体地,执行模块31根据待写数据构造第二命令帧,并将第二命令帧封装成以太帧后发送至JBOD。
转发模块32,用于存储控制器若接收所述JBOD响应所述第二命令帧返回的传输完成准备帧,将所述传输准备完成帧与计算得到的可用存储器信息转发至所述主机。
具体地,存储控制器将第二命令帧发送至JBOD后,JBOD向存储控制器返回传输完成准备帧,存储控制器将所述传输准备完成帧与计算得到的可用存储器信息共同封装在以太帧中,转发至主机。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图10,是本发明第四实施例数据存储装置结构示意图,所述装置4包括:第一接收模块40、第二接收模块41、处理模块42,其中,
第一接收模块40,用于JBOD接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至对应的可用存储器的地址标识所指示地址的可用存储器。
具体地,JBOD以太网卡接收到存储控制器发送的以太帧,从以太帧中解析出第二命令帧,并将第二命令帧发送给SAS驱动,SAS驱动将第二命令帧写入SASHBA,SASHBA将第二命令帧转发给对应的可用存储器的地址标识所指示地址的可用存储器。
第二接收模块41,用于所述JBOD接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向所述存储控制器回复传输准备完成帧。
具体地,可用存储器向SASHBA回复传输准备完成帧,SASHBA发出中断,SAS驱动调用JBOD端协议程序向存储控制器回复传输准备完成帧。
处理模块42,用于当JBOD当接收主机发送的数据帧后,将所述数据帧转发至对应的待写入的可用存储器,收到数据帧的待写入的可用存储器对所述数据帧中的待写入数据进行存储。
具体地,JBOD以太网卡接收到主机发送的以太帧,JBOD端协议程序从以太帧中解析出数据帧,将所述数据帧发送给SAS驱动,SAS驱动将数据帧写入SASHBA,SASHBA将数据帧转发至对应的待写入的可用存储器的地址标识所指示地址的待写入的可用存储器。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图11,是本发明第五实施例数据存储装置结构示意图,所述装置5是图10中所述装置4的优化,包括:地址帧接收模块50、解析模块51、第一接收模块52、第二接收模块53、第三接收模块54、回复模块55,其中,
地址帧接收模块50,用于JBOD接收存储器上报的地址帧,所述地址帧包括所述可用存储器的地址标识。
具体地,JBODHBA与存储器为直连的连接方式,JBOD通过对端设备上报的地址帧收集挂载在JBOD下的存储器的地址标识,应当理解,所述地址帧包括可用存储器的地址标识。
解析模块51,用于JBOD解析每一个上报的地址帧,存储所述存储器的地址标识以便对每一个地址帧对应的存储器进行管理。
具体地,JBOD通过JBOD端协议程序解析每一个上报的地址帧,对存储器进行管理,确认可用存储器的地址标识。
第一接收模块52,用于JBOD接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至对应的可用存储器的地址标识所指示地址的可用存储器。
具体地,JBOD以太网卡接收到存储控制器发送的以太帧,从以太帧中解析出第二命令帧,并将第二命令帧发送给SAS驱动,SAS驱动将第二命令帧写入SASHBA,SASHBA将第二命令帧转发给对应的可用存储器的地址标识所指示地址的可用存储器。
第二接收模块53,用于JBOD接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向所述存储控制器回复传输准备完成帧。
具体地,可用存储器向SASHBA回复传输准备完成帧,SASHBA发出中断,SAS驱动调用JBOD端协议程序向存储控制器回复传输准备完成帧。
处理模块54,用于JBOD当接收主机发送的数据帧时,将数据帧转发至对应的可用存储器的地址标识所指示地址的可用存储器,收到数据帧的待写入的可用存储器对所述数据帧中的待写入数据进行存储。
具体地,JBOD以太网卡接收到主机发送的以太帧,JBOD端协议程序从以太帧中解析出数据帧,将所述数据帧发送给SAS驱动,SAS驱动将数据帧写入SASHBA,SASHBA将数据帧转发至对应的待写入的可用存储器的地址标识所指示地址的待写入的可用存储器。
回复模块55,用于JBOD接收所述存储器发送的应答帧,将所述应答帧发送至存储控制器。
当可用存储器完成数据存储后,向SASHBA回复应答帧,SAS驱动调用JBOD端协议程序向存储控制器回复应答帧,所述应答帧为在所述存储器完成数据存储后回复给所述存储器的响应消息。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
请参见图12,是本发明实施例数据存储***结构示意图,具体地,所述***6包括:主机61、存储控制器62、JBOD63,其中,
所述主机61,包括终端、服务器,执行:在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧发给存储控制器,接收所述存储控制器响应所述第一命令帧返回的可用存储器信息,所述可用存储器信息包括磁盘簇JBOD的地址标识和可用存储器的地址标识,构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识;
所述存储控制器62,用于进行数据存储管理,执行:在接收到主机发送的第一命令帧时,计算可用存储器信息,所述可用存储器信息包括JBOD的地址标识和可用存储器的地址标识,构造第二命令帧,并将构造得到的所述第二命令帧发送至JBOD,若接收所述JBOD响应所述第二命令帧返回的传输完成准备帧,将所述传输准备完成帧与所述计算得到的可用存储器信息转发至所述主机。
所述JBOD63,用于管理多个存储器,执行:接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至可用存储器的地址标识所指示的可用存储器,接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向所述存储控制器回复传输准备完成帧,当所述JBOD接收主机发送的数据帧后,将所述数据帧转发至对应的待写入的可用存储器,收到数据帧的待写入的可用存储器对所述数据帧中的待写入数据进行存储。
本发明实施例提供的数据存储方法,存储控制器仅用于通过一些命令帧获取JBOD的地址标识和可用存储器的地址标识,然后由主机将包括待写的数据的数据帧直接发送到待写入的可用存储器中,存储控制器不再用于缓存数据,待写的数据不必通过存储控制器进行中转,因此,本方案对缓存的要求较低,节约了存储成本,同时,主机直接将包括待写的数据数据帧发送到待写入的可用存储器,提高了数据存储效率。
应当理解,上述第一命令帧和第二命令帧并不是表示顺序关系,而是为了区别不同的命令帧。而不是表示数量单位。同样的,第一接收模块、第二接收模块也不是为了表示顺序关系,而是为了表示不同的接收模块。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为***、方法或者计算机程序产品。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体***、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的本地计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

1.一种数据存储方法,其特征在于,包括:
主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧发给存储控制器;
所述主机接收所述存储控制器响应所述第一命令帧返回的可用存储器信息,所述可用存储器信息包括磁盘簇JBOD的地址标识和可用存储器的地址标识;
所述主机构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入可用存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识。
2.如权利要求1所述的方法,其特征在于,所述主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧转发给存储控制器之前,包括:
所述主机向所述存储控制器发送请求存储器信息命令帧;
所述主机接收所述请求存储器信息命令帧的响应信息,所述响应信息中包括:收到响应消息的存储控制器所挂载的可用存储器的地址标识,建立与各个所述可用存储器的地址标识对应的存储器四元组编号;
所述主机建立包括所述存储器四元组编号、存储控制器的地址标识、所述存储控制器控制的JBOD挂载的存储器的地址标识的存储映射关系。
3.如权利要求2所述的方法,其特征在于,所述主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,包括:
主机在检测到写命令时,选择存储器的四元组编号,通过所述存储映射关系,获取选择到的存储器的四元组编号对应的存储控制器的地址标识;
所述主机根据已获取的存储控制器的地址标识作为目的地址生成所述第一命令帧。
4.如权利要求1所述的方法,其特征在于,所述主机构造包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识,包括:
所述主机通过在所述JBOD的地址标识和所述可用存储器的地址标识中选择待写入的JBOD及待写入的可用存储器,得到待写入的JBOD的地址标识及待写入的可用存储器的地址标识,其中,所述待写入的可用存储器挂载在所述待写入的JBOD;
所述主机构造包括待写数据、待写入的JBOD的地址标识及待写入的可用存储器的地址标识的数据帧。
5.如权利要求1所述的方法,其特征在于,包括:
存储控制器在接收到主机发送的第一命令帧时,计算可用存储器信息,所述可用存储器信息包括JBOD的地址标识和可用存储器的地址标识;
所述存储控制器构造第二命令帧,并将构造得到的所述第二命令帧发送至JBOD;
所述存储控制器若接收所述JBOD响应所述第二命令帧返回的传输完成准备帧,将所述传输准备完成帧与所述计算得到的可用存储器信息转发至所述主机。
6.如权利要求1所述的方法,其特征在于,包括:
JBOD接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至可用存储器的地址标识所指示的可用存储器;
所述JBOD接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向所述存储控制器回复传输准备完成帧;
当所述JBOD接收主机发送的数据帧后,将所述数据帧转发至对应的待写入的可用存储器,收到数据帧的待写入的可用存储器对所述数据帧中的待写入数据进行存储。
7.一种数据存储装置,其特征在于,包括:
检测模块,用于主机在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧转发给存储控制器;
控制模块,用于所述主机接收所述存储控制器响应所述第一命令帧返回的可用存储器信息,所述可用存储器信息包括磁盘簇JBOD的地址标识和可用存储器的地址标识;
构造模块,用于所述主机构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入可用存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识。
8.如权利要求7所述的装置,其特征在于,在所述检测模块之前,包括:
发送模块,用于所述主机向所述存储控制器发送请求存储器信息命令帧;
创建模块,用于所述主机接收所述请求存储器信息命令帧的响应信息,所述响应信息中包括:收到响应消息的存储控制器所挂载的可用存储器的地址标识,建立与各个所述可用存储器的地址标识对应的存储器四元组编号;
映射模块,用于所述主机建立包括所述存储器四元组编号、存储控制器的地址标识、所述存储控制器控制的JBOD挂载的存储器的地址标识的存储映射关系。
9.如权利要求8所述的装置,其特征在于,所述检测模块,包括:
获取单元,用于所述主机在检测到写命令时,选择存储器的四元组编号,通过所述存储映射关系,获取选择到的存储器的四元组编号对应的存储控制器的地址标识;
生成单元,用于所述主机根据已获取的存储控制器的地址标识作为目的地址生成所述第一命令帧。
10.如权利要求7所述的装置,其特征在于,所述构造模块,包括:
选择单元,用于所述主机通过在所述JBOD的地址标识和所述可用存储器的地址标识中选择待写入的JBOD及待写入的可用存储器,得到待写入的JBOD的地址标识及待写入的可用存储器的地址标识,其中,所述待写入的可用存储器挂载在所述待写入的JBOD;
构造单元,用于所述主机构造包括待写数据、待写入的JBOD的地址标识及待写入的可用存储器的地址标识的数据帧。
11.如权利要求7所述的装置,其特征在于,包括:
计算模块,用于存储控制器在接收到主机发送的第一命令帧时,计算可用存储器信息,所述可用存储器信息包括JBOD的地址标识和可用存储器的地址标识;
执行模块,用于所述存储控制器构造第二命令帧,并将构造得到的所述第二命令帧发送至JBOD;
转发模块,用于所述存储控制器若接收所述JBOD响应所述第二命令帧返回的传输完成准备帧,将所述传输准备完成帧与所述计算得到的可用存储器信息转发至所述主机。
12.如权利要求7所述的装置,其特征在于,包括:
第一接收模块,用于JBOD接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至可用存储器的地址标识所指示的可用存储器;
第二接收模块,用于所述JBOD接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向所述存储控制器回复传输准备完成帧;
处理模块,用于当所述JBOD接收主机发送的数据帧后,将所述数据帧转发至对应的待写入的可用存储器,收到数据帧的待写入的可用存储器对所述数据帧中的待写入数据进行存储。
13.一种数据存储***,其特征在于,包括:主机、存储控制器、JBOD,其中,
所述主机,用于在检测到写命令时,生成用于获取可用存储器信息的第一命令帧,并将生成的所述第一命令帧发给存储控制器,接收所述存储控制器响应所述第一命令帧返回的可用存储器信息,所述可用存储器信息包括磁盘簇JBOD的地址标识和可用存储器的地址标识,构造并发送包括待写数据的数据帧,所述数据帧携带有所述可用存储器的地址标识作为待写入存储器的地址标识,所述数据帧的目标地址为JBOD的地址标识;
所述存储控制器,用于在接收到主机发送的第一命令帧时,计算可用存储器信息,所述可用存储器信息包括JBOD的地址标识和可用存储器的地址标识,构造第二命令帧,并将构造得到的所述第二命令帧发送至JBOD,若接收所述JBOD响应所述第二命令帧返回的传输完成准备帧,将所述传输准备完成帧与所述计算得到的可用存储器信息转发至所述主机;
所述JBOD,用于接收存储控制器发送的第二命令帧,并将所述第二命令帧转发至可用存储器的地址标识所指示的可用存储器,接收所述可用存储器响应所述第二命令帧返回的传输准备完成帧后,向所述存储控制器回复传输准备完成帧,当所述JBOD接收主机发送的数据帧后,将所述数据帧转发至对应的待写入的可用存储器,收到数据帧的待写入的可用存储器对所述数据帧中的待写入数据进行存储。
CN201310420222.4A 2013-09-16 2013-09-16 一种数据存储方法、装置及*** Active CN103530066B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310420222.4A CN103530066B (zh) 2013-09-16 2013-09-16 一种数据存储方法、装置及***
PCT/CN2014/085990 WO2015035887A1 (zh) 2013-09-16 2014-09-05 一种数据存储方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310420222.4A CN103530066B (zh) 2013-09-16 2013-09-16 一种数据存储方法、装置及***

Publications (2)

Publication Number Publication Date
CN103530066A CN103530066A (zh) 2014-01-22
CN103530066B true CN103530066B (zh) 2016-05-18

Family

ID=49932119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310420222.4A Active CN103530066B (zh) 2013-09-16 2013-09-16 一种数据存储方法、装置及***

Country Status (2)

Country Link
CN (1) CN103530066B (zh)
WO (1) WO2015035887A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530066B (zh) * 2013-09-16 2016-05-18 华为技术有限公司 一种数据存储方法、装置及***
CN104038550B (zh) * 2014-06-18 2018-01-23 华为技术有限公司 数据通信方法及其装置、存储***
WO2016086342A1 (zh) * 2014-12-01 2016-06-09 华为技术有限公司 数据写入的方法、装置、设备和存储***
CN106844234B (zh) * 2015-12-04 2020-01-03 成都华为技术有限公司 数据写入方法及装置、双活***
EP3493046B1 (en) 2017-01-25 2022-04-13 Huawei Technologies Co., Ltd. Data processing system, method, and corresponding device
CN106873917A (zh) * 2017-02-24 2017-06-20 深圳市中博睿存信息技术有限公司 一种基于磁盘的对象存储***
CN109376052A (zh) * 2018-09-10 2019-02-22 联想(北京)有限公司 一种监测硬盘状态的方法、电子设备
CN111488127B (zh) * 2020-04-16 2023-01-10 苏州浪潮智能科技有限公司 基于磁盘簇的数据并行存储方法、装置以及数据读取方法
CN113259264B (zh) * 2021-07-07 2021-11-09 北京国科天迅科技有限公司 数据传输方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493756A (zh) * 2009-03-11 2009-07-29 威盛电子股份有限公司 数据写入方法与装置
CN101504594A (zh) * 2009-03-13 2009-08-12 杭州华三通信技术有限公司 一种数据存储方法和装置
CN102622189A (zh) * 2011-12-31 2012-08-01 成都市华为赛门铁克科技有限公司 存储虚拟化的装置、数据存储方法及***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328305B2 (en) * 2003-11-03 2008-02-05 Network Appliance, Inc. Dynamic parity distribution technique
KR100923990B1 (ko) * 2007-02-13 2009-10-28 삼성전자주식회사 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템
CN103530066B (zh) * 2013-09-16 2016-05-18 华为技术有限公司 一种数据存储方法、装置及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493756A (zh) * 2009-03-11 2009-07-29 威盛电子股份有限公司 数据写入方法与装置
CN101504594A (zh) * 2009-03-13 2009-08-12 杭州华三通信技术有限公司 一种数据存储方法和装置
CN102622189A (zh) * 2011-12-31 2012-08-01 成都市华为赛门铁克科技有限公司 存储虚拟化的装置、数据存储方法及***

Also Published As

Publication number Publication date
CN103530066A (zh) 2014-01-22
WO2015035887A1 (zh) 2015-03-19

Similar Documents

Publication Publication Date Title
CN103530066B (zh) 一种数据存储方法、装置及***
CN107229415B (zh) 一种数据写方法、数据读方法及相关设备、***
KR101378270B1 (ko) Sas 확장기를 포함하는 저장 시스템에서 데이터 판독을 가능하게 하기 위한 방법, 시스템 및 sas 확장기 디바이스
KR20190105492A (ko) Fpga 기반 가속화를 위한 새로운 ssd 구조
US11966612B2 (en) Solid-state disk (SSD) data migration
EP2557494A1 (en) Storage apparatus and data copy method between thin-provisioning virtual volumes
EP2751698B1 (en) Computer system with processor local coherency for virtualized input/output
CN111352583A (zh) 具有发起方模式的固态驱动
CN112527186B (zh) 一种存储***、存储节点和数据存储方法
EP2667296A1 (en) Method and apparatus of data processing
CN106126374B (zh) 数据写入方法、数据读取方法及装置
CN107924289A (zh) 计算机***和访问控制方法
CN104092717A (zh) 消息处理方法及***、消息目的端设备与分布式消息***
JP2010097563A (ja) ネットワークストレージシステム、ディスクアレイ装置、ホスト装置、アクセス制御方法、データアクセス方法
US20180364948A1 (en) Data Processing Method, Related Device, and Storage System
CN103955441A (zh) 一种设备管理***、方法及一种io扩展接口
CN103828332A (zh) 数据处理方法、装置、存储控制器和机柜
KR20190027312A (ko) 페이지 비트맵을 포함하는 효율적인 트랜잭션 테이블
CN107817962B (zh) 一种远程控制方法、装置、控制服务器及存储介质
US9971520B2 (en) Processing read and write requests
CN103929475A (zh) 一种以太网架构的硬盘存储***及硬盘数据操作方法
WO2017067297A1 (zh) 对nas设备中视频数据的读写方法及装置
CN114490540B (zh) 数据存储方法、介质、装置和计算设备
JP2007004710A (ja) ストレージアクセス方式、データ転送装置、ストレージアクセス方法、及びプログラム
CN109542674A (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