CN105446913A - 一种数据访问方法及装置 - Google Patents
一种数据访问方法及装置 Download PDFInfo
- Publication number
- CN105446913A CN105446913A CN201410515627.0A CN201410515627A CN105446913A CN 105446913 A CN105446913 A CN 105446913A CN 201410515627 A CN201410515627 A CN 201410515627A CN 105446913 A CN105446913 A CN 105446913A
- Authority
- CN
- China
- Prior art keywords
- memory controller
- access
- logical block
- request
- data
- 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
Links
Abstract
本发明涉及网络存储技术领域,尤其涉及一种数据访问方法及装置,用以解决从存储设备输入输出数据的效率较低的问题,以及一个存储控制器发生故障时,会影响到存储设备中所有逻辑单元的数据的正常输入输出的问题。本发明实施例提供一种数据访问方法,该方法应用于存储系统中,所述存储系统包括主机和存储设备,所述存储设备包括多个存储控制器,包括:所述主机生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN;所述主机根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器;所述主机将生成的所述数据访问请求发送给确定的所述存储控制器。
Description
技术领域
本发明涉及网络存储技术领域,尤其涉及一种数据访问方法及装置。
背景技术
存储区域网(StorageAreaNetwork,SAN)是一个集中式管理的高速存储网络,由多供应商存储系统、存储管理软件、应用程序服务器和网络硬件组成,能够帮助用户充分利用该用户所拥有的存储信息的价值。
如图1所示,为SAN网络的存储结构示意图。多路径软件所属应用服务器通过主机总线适配器(HostBusAdapter,HBA)及SAN网络中的传输设备向SAN中的存储设备发送数据访问请求,也即输入/输出(Input/Output,I/O)请求,存储设备中的控制器(Controller)在接收到该数据访问请求后,根据该数据访问请求访问的逻辑单元号(LogicalUnitNumber,LUN)及逻辑地址对相应位置的存储数据执行I/O操作。
多路径软件通常会将主机下发给存储设备的I/O请求分摊到不同链路和存储控制器上,以实现负载均衡的目的。在进行负载均衡时,多路径软件通常会以I/O为颗粒进行负载均衡,访问一个逻辑单元的多个I/O请求通常会被平均分发到所有控制器上。如图2所示,访问每个逻辑单元号LUN(LUN1~LUN4)所标识的逻辑单元的多个I/O请求被平均分配到每个存储控制器上,具体可以采用轮询分配的方式。
将访问每个逻辑单元的I/O请求平均分配到每个存储控制器上,会导致存储控制器的缓存(Cache)命中率降低,也即从存储控制器的缓存中读取到数据的几率变低。如图3所示,主机连续下发4个请求的数据量相同(都为4k)的I/O请求,地址空间为连续的4k~16K,其中,I/O请求1~4请求访问的逻辑块地址(LogicalBlockAddress,LBA)分别为4k、8k、12k、16k。图3中,每个存储控制器的缓存均未命中,存储控制器只能发起读盘并预读1MB。
显然,这种负载分担方式将会严重降低将数据从存储设备中输入输出的效率;不仅如此,在这种负载分担方式下,一旦一个存储控制器出现故障,将会影响到所有逻辑单元的数据的正常输入输出,导致故障域范围太大。
发明内容
本发明实施例提供一种数据访问方法及装置,用以解决从存储设备输入输出数据的效率较低的问题,以及一个存储控制器发生故障时,会影响到存储设备中所有逻辑单元的数据的正常输入输出的问题。
第一方面,提供一种数据访问方法,该方法应用于存储系统中,所述存储系统包括主机和存储设备,所述存储设备包括多个存储控制器,包括:
所述主机生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN;
所述主机根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器;
所述主机将生成的所述数据访问请求发送给确定的所述存储控制器。
结合第一方面,在第一种可能的实现方式中,所述主机将生成的所述数据访问请求发送给确定的所述存储控制器之后,还包括:
所述主机监测到确定的所述存储控制器的负载超过设定阈值;
所述主机针对确定的所述存储控制器控制访问的每个逻辑单元,执行:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器;其中,所述单位时间访问量为单位时间内执行数据访问请求的次数或单位时间内访问的数据量;
所述主机将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器,包括:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,判断所述各存储控制器中是否存在单个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求;
如果存在,则选择存在的单个存储控制器作为所述协作存储控制器;
否则,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,在各存储控制器中选择最少数量的存储控制器、且选择的存储控制器能共同分担处理访问该逻辑单元的全部数据访问请求,将选择的最少数量的存储控制器作为所述协作存储控制器。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述主机将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器,包括:
所述主机根据选择的最少数量的存储控制器各自当前的负载,以及当前访问该逻辑单元的每个分片的单位时间访问量,确定选择的最少数量的存储控制器中的每个存储控制器分担处理访问该逻辑单元中的至少一个分片的全部数据访问请求;其中,每个逻辑单元包括多个设定大小的分片;
所述主机针对该逻辑单元中的每个分片执行:将后续生成的访问该逻辑单元的每个分片的数据访问请求,发送给确定的分担处理访问该分片的全部数据访问请求的存储控制器。
结合第一方面的第二或第三种可能的实现方式,在第四种可能的实现方式中,所述主机将选择的最少数量的存储控制器作为所述协作存储控制器之后,还包括:
当监测到各存储控制器中存在单个存储控制器能够处理访问该逻辑单元的全部数据访问请求后,重新选择该单个存储控制器作为所述协作存储控制器。
第二方面,提供一种数据访问装置,该装置位于存储系统的主机中,所述存储系统包括所述主机与存储设备,所述存储设备包括多个存储控制器,该装置包括:
生成模块,用于生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN;
确定模块,用于根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器;
发送模块,用于将生成的所述数据访问请求发送给确定的所述存储控制器。
结合第二方面,在第一种可能的实现方式中,所述装置还包括:
监测模块,用于在所述发送模块将生成的所述数据访问请求发送给确定的所述存储控制器之后,监测到确定的所述存储控制器的负载超过设定阈值;
执行模块,用于针对确定的所述存储控制器控制访问的每个逻辑单元,执行:根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器;其中,所述单位时间访问量为单位时间内执行数据访问请求的次数或单位时间内访问的数据量;
所述发送模块还用于,将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述执行模块具体用于:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,判断所述各存储控制器中是否存在单个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求;
如果存在,则选择存在的单个存储控制器作为所述协作存储控制器;
否则,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,在各存储控制器中选择最少数量的存储控制器、且选择的存储控制器能共同分担处理访问该逻辑单元的全部数据访问请求,将选择的最少数量的存储控制器作为所述协作存储控制器。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述发送模块具体用于:
根据选择的最少数量的存储控制器各自当前的负载,以及当前访问该逻辑单元的每个分片的单位时间访问量,确定选择的最少数量的存储控制器中的每个存储控制器分担处理访问该逻辑单元中的至少一个分片的全部数据访问请求;其中,每个逻辑单元包括多个设定大小的分片;
针对该逻辑单元中的每个分片执行:将后续生成的访问该逻辑单元的每个分片的数据访问请求,发送给确定的分担处理访问该分片的全部数据访问请求的存储控制器。
结合第二方面的第二或第三种可能的实现方式,在第四种可能的实现方式中,所述执行模块还用于,将选择的最少数量的存储控制器作为所述协作存储控制器之后,当所述监测模块监测到各存储控制器中存在单个存储控制器能够处理访问该逻辑单元的全部数据访问请求后,重新选择该单个存储控制器作为所述协作存储控制器。
第三方面,提供一种数据访问装置,该装置位于存储系统中,所述存储系统包括所述装置与存储设备,所述存储设备包括多个存储控制器;所述装置包括处理器和存储器,所述存储器存储执行指令,当所述装置运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述执行指令使得所述装置执行如下方法:
生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN;
根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器;
将生成的所述数据访问请求发送给确定的所述存储控制器。
结合第三方面,在第一种可能的实现方式中,所述处理器执行的所述方法中,将生成的所述数据访问请求发送给确定的所述存储控制器之后,还包括:
监测到确定的所述存储控制器的负载超过设定阈值;
针对确定的所述存储控制器控制访问的每个逻辑单元,执行:根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器;其中,所述单位时间访问量为单位时间内执行数据访问请求的次数或单位时间内访问的数据量;
将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器执行的所述方法中,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器,包括:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,判断所述各存储控制器中是否存在单个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求;
如果存在,则选择存在的单个存储控制器作为所述协作存储控制器;
否则,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,在各存储控制器中选择最少数量的存储控制器、且选择的存储控制器能共同分担处理访问该逻辑单元的全部数据访问请求,将选择的最少数量的存储控制器作为所述协作存储控制器。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器执行的所述方法中,将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器,包括:
根据选择的最少数量的存储控制器各自当前的负载,以及当前访问该逻辑单元的每个分片的单位时间访问量,确定选择的最少数量的存储控制器中的每个存储控制器分担处理访问该逻辑单元中的至少一个分片的全部数据访问请求;其中,每个逻辑单元包括多个设定大小的分片;
针对该逻辑单元中的每个分片执行:将后续生成的访问该逻辑单元的每个分片的数据访问请求,发送给确定的分担处理访问该分片的全部数据访问请求的存储控制器。
结合第三方面的第二或第三种可能的实现方式,在第四种可能的实现方式中,所述处理器执行的所述方法中,将选择的最少数量的存储控制器作为所述协作存储控制器之后,还包括:
当监测到各存储控制器中存在单个存储控制器能够处理访问该逻辑单元的全部数据访问请求后,重新选择该单个存储控制器作为所述协作存储控制器。
采用上述方法、装置或设备,将访问存储设备中一个逻辑单元的所有数据访问请求(即I/O请求)都分配给一个存储控制器,也即,由一个存储控制器控制访问一个或多个逻辑单元。这样,不仅可以提高每个存储控制器的缓存命中率,进而提高主机对存储设备的访问效率(即输入输出I/O消息),还可以减少当某个存储控制器发生故障时,对存储设备中所有逻辑单元的正常输入输出的影响。
除此之外,在本发明可选的实现方式中,还提出了当主机监测到任一存储控制器的负载超过设定阈值时,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器的处理方式,从而在提高访问效率的同时,实现了负载均衡,避免了某个存储控制器因负载过重而影响其正常使用的问题。
附图说明
图1为SAN网络的存储结构示意图;
图2为将每个逻辑单元的I/O平均分配到每个存储控制器上的示意图;
图3为主机连续下发4个I/O请求,均未命中缓存的示意图;
图4为本发明实施例中的存储系统40结构示意图;
图5为本发明实施例一提供的数据访问方法流程图;
图6为本发明实施例二提供的数据访问方法流程图;
图7(a)I/O请求分配的初始状态示意图;
图7(b)为由一个存储控制器作为另一存储控制器的协作存储控制器分担其对应的逻辑单元的全部I/O请求的示意图;
图7(c)为采用最少数量的存储控制器作为另一存储控制器的协作存储控制器分担其对应的逻辑单元的全部I/O请求的示意图;
图7(d)为将访问一个逻辑单元的I/O请求分片分配给多个存储控制器的示意图;
图7(e)为将一个逻辑单元的各个分片进行合并,由一个存储控制器处理访问该逻辑单元的全部I/O请求的示意图;
图8为本发明实施例三提供的数据访问装置结构示意图;
图9为本发明实施例四提供的数据访问装置结构示意图。
具体实施方式
本发明实施例中,将访问存储设备中一个逻辑单元的所有数据访问请求(即I/O请求)都分配给一个存储控制器,也即,由一个存储控制器控制访问一个或多个逻辑单元。这样,不仅可以提高每个存储控制器的缓存命中率,进而提高主机对存储设备的访问效率(即输入输出I/O消息),还可以减少当某个存储控制器发生故障时,对存储设备中所有逻辑单元的正常输入输出的影响。除此之外,在本发明优选的实施例中,还提出了当主机监测到任一存储控制器的负载超过设定阈值时,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器的处理方式,从而在提高访问效率的同时,实现了负载均衡,避免了某个存储控制器因负载过重而影响其正常使用的问题。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图4所示,为本发明实施例中的存储系统40结构示意图,该存储系统包括主机41和存储设备42,该存储设备42包括多个存储控制器420和划分成多个逻辑单元(采用逻辑单元号LUN标识)的存储介质(Storage)421,每个存储控制器中设有缓存420a。本发明实施例对主机41侧进行数据访问的方式进行了改进,下面进行具体说明。
如图5所示,为本发明实施例一提供的数据访问方法流程图,该方法应用于存储系统中,所述存储系统包括主机和存储设备,所述存储设备包括多个存储控制器,包括以下步骤:
S501:主机生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN。
这里的数据访问请求即为I/O请求。
该步骤中,主机中的应用在运行过程中产生数据访问请求,数据访问请求中包括访问的存储设备的逻辑单元号LUN,以及具体的逻辑地址。
S502:所述主机根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器。
该步骤中,主机从预先设置的,或调整后的LUN与存储控制器的映射关系中,查找该数据访问请求中包括的LUN对应的存储控制器,确定由查找到的该存储控制器控制访问该LUN所标识的逻辑单元。
S503:所述主机将生成的所述数据访问请求发送给确定的所述存储控制器。
该步骤中,主机将生成的所述数据访问请求发送给相应的存储控制器,由该存储控制器处理该数据访问请求,若该存储控制器的缓存中存储有该数据访问请求所请求的数据,则可以直接从缓存中读取数据,否则,对存储介质执行预读操作,当数据访问请求所请求的逻辑区块(LogicalBlock,LB)大小为4k时,可以从存储介质中预读包括该4k在内的大小为1MB的逻辑区块。
在数据访问过程中,有可能会出现访问某个逻辑单元的单位时间访问量较大,从而导致控制访问该逻辑单元的存储控制器的负载过重的情况出现,基于此,本发明实施例提出了以下优选的实施方式。
具体地,S503之后,还包括:
所述主机监测到确定的所述存储控制器的负载超过设定阈值;
所述主机针对确定的所述存储控制器控制访问的每个逻辑单元,执行:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器;其中,所述单位时间访问量为单位时间内执行数据访问请求的次数或单位时间内访问的数据量;
所述主机将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器。
这里,衡量存储控制器负载情况的负载指标可以是中央处理器(CentralProcessingUnit,CPU)利用率或缓存利用率等,这里并不限定。另外,这里,访问每个逻辑单元的单位时间访问量为单位时间内执行数据访问请求的次数,比如采用IOPS来衡量,IOPS为每秒钟执行I/O操作的次数,全称为Input/OutputOperationsPerSecond;或者,单位时间访问量可以是单位时间内访问的数据量,比如采用带宽来衡量。
在该实施方式下,选择所述协作存储控制器的步骤具体可以是:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,判断所述各存储控制器中是否存在单个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求;
如果存在,则选择存在的单个存储控制器作为所述协作存储控制器;
否则,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,在各存储控制器中选择最少数量的存储控制器、且选择的存储控制器能共同分担处理访问该逻辑单元的全部数据访问请求,将选择的最少数量的存储控制器作为所述协作存储控制器。
在上述步骤中,当存在一个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求时,优选由该存储控制器作为所述协作存储控制器,这样,可以提高该存储控制器的缓存命中率,从而提高数据I/O效率;同时,当该存储控制器发生故障时,只会影响该存储控制控制访问的逻辑单元,不会对其它存储控制器控制访问的逻辑单元产生影响。实际上,这时相当于调整了LUN与存储控制器映射关系。这里,存储控制器能够分担处理访问该逻辑单元的全部数据访问请求是指当选择由该存储控制器负责处理访问该逻辑单元的全部数据访问请求后,该存储控制器的负载不会超过所述设定阈值。
若没有一个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求,则选择多个协作存储控制器共同分担处理访问该逻辑单元的全部数据访问请求,并使这多个协作存储控制器的数量最少化。比如,可以从各存储控制器中选择当前负载率较低的几个存储控制器组成所述协作存储控制器,这样可以使得承担访问该逻辑单元的数据访问请求的存储控制器的数量最少,从而最大程度地提高存储控制器的缓存命中率。
当选择所述最少数量的存储控制器作为所述协作存储控制器时,可以将该逻辑单元分片分配给所述最少数量的存储控制器中的每个存储控制器。这里,将每个逻辑单元划分成多个分片,每个分片占用该逻辑单元中设定大小的逻辑地址范围,访问每个逻辑单元的单位时间访问量为访问该逻辑单元中包括的每个分片的单位时间访问量之和。在进行负载情况监测时,以一个分片为单位,分别监测每个逻辑单元中的每个分片上的I/O情况。
当需要将某个逻辑单元分片分配给多个存储控制器进行控制访问时,可以根据该逻辑单元中各分片的I/O情况及这多个存储控制器的负载情况,为其中每个存储控制器分配该逻辑单元中的一个或多个分片。
也即,所述主机将后续针对该逻辑单元生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器,包括:
根据选择的最少数量的存储控制器各自当前的负载,以及当前访问该逻辑单元的每个分片的单位时间访问量,确定选择的最少数量的存储控制器中的每个存储控制器分担处理访问该逻辑单元中的至少一个分片的全部数据访问请求;其中,每个逻辑单元包括多个设定大小的分片;
所述主机针对该逻辑单元中的每个分片执行:将后续生成的访问该逻辑单元的每个分片的数据访问请求,发送给确定的分担处理访问该分片的全部数据访问请求的存储控制器。
在具体实施过程中,当选择最少数量的存储控制器作为控制访问某个逻辑单元的协作存储控制器后,需要将该逻辑单元分片分配给其中的每个存储控制器进行访问控制,在应用运行过程中,各存储控制器的负载情况可能会发生变化。当监测到各存储控制器中存在单个存储控制器能够处理访问该逻辑单元的全部数据访问请求后,可以将分片后的逻辑单元进行合并,统一由该单个存储控制器来处理访问该逻辑单元的全部数据访问请求,也即重新选择该单个存储控制器作为所述协作存储控制器来控制访问整个逻辑单元。
下面通过一个优选的实施例对本发明实施例进行数据访问的方法作进一步说明。
如图6所示,为本发明实施例二提供的数据访问方法流程图,包括:
S601:主机生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN。
S602:所述主机根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器。
S603:所述主机将生成的所述数据访问请求发送给确定的所述存储控制器。
S604:所述主机监测到确定的所述存储控制器的负载超过设定阈值。
S605:所述主机针对确定的所述存储控制器控制访问的每个逻辑单元,执行:根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,判断所述各存储控制器中是否存在单个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求;如果存在,进入S606,否则进入S607。
S606:选择存在的单个存储控制器分担处理访问该逻辑单元的全部数据访问请求。
S607:根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,在各存储控制器中选择最少数量的存储控制器、且选择的存储控制器能共同分担处理访问该逻辑单元的全部数据访问请求;根据选择的最少数量的存储控制器各自当前的负载,以及当前访问该逻辑单元的每个分片的单位时间访问量,确定选择的最少数量的存储控制器中的每个存储控制器分担处理访问该逻辑单元中的至少一个分片的全部数据访问请求。
S608:所述主机针对该逻辑单元中的每个分片执行:将后续生成的访问该逻辑单元的每个分片的数据访问请求,发送给确定的分担处理访问该分片的全部数据访问请求的存储控制器。
S609:当所述主机监测到各存储控制器中存在单个存储控制器能够处理访问该逻辑单元的全部数据访问请求后,选择该单个存储控制器分担处理访问该逻辑单元的全部数据访问请求。
下面,进行举例说明。首选需要说明的是,通常情况下,不同的存储控制器的处理性能会有所不同,并且不同的业务种类下单位时间访问量也不同。该举例中为了简化描述,假设存储控制器每1%的CPU利用率能处理100IOPS。并假设负载调整的上水位(也即所述设定阈值)为80%CPU利用率。
如图7(a)所示,初始时,分别将5个逻辑单元的I/O请求分配到对应的存储控制器中。运行一段时间后,如图7(b)所示,监测到存储控制器4的负载超过设定阈值,并且此时存储控制器3能够分担一个逻辑单元的全部I/O请求,则后续将访问LUN4的I/O请求全部分配给存储控制器3。继续运行一段时间后,如图7(c)所示,监测到存储控制器4的负载达到设定阈值,并且没有其它存储控制器能够分担处理整个LUN5的I/O请求,则此时将访问LUN5的I/O请求分片分配给存储控制器2和存储控制器4;这里,假设LUN5所标识的逻辑单元的总容量为5GB,访问该逻辑单元的总共10000IOPS中,访问该逻辑单元的每个1GB分片的IOPS数目依次为1000(分片1)、4000(分片2)、2000(分片3)、1000(分片4)和2000(分片5)。因此,可以将访问分片1和2的I/O请求分配给存储控制器2,将访问分片3、4、5的I/O请求分配给存储控制器4,如图7(d)所示。继续运行一段时间后,统计到存储控制器4和存储控制器2的负载较低,存储控制器4足以分担整个LUN5的I/O请求,因此将LUN5的各个分片合并,将后续访问LUN5的所有I/O请求都分配给存储控制器4,如图7(e)所示。
基于同一发明构思,本发明实施例中还提供了一种与数据访问方法对应的数据访问装置、设备,由于该装置、设备解决问题的原理与本发明实施例中的数据访问方法相似,因此该装置和设备的实施可以参见方法的实施,重复之处不再赘述。
如图8所示,为本发明实施例三提供的数据访问装置结构示意图,该装置位于存储系统的主机中,所述存储系统包括所述主机与存储设备,所述存储设备包括多个存储控制器,该装置包括:
生成模块81,用于生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN;
确定模块82,用于根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器;
发送模块83,用于将生成的所述数据访问请求发送给确定的所述存储控制器。
可选地,所述装置还包括:
监测模块84,用于在所述发送模块将生成的所述数据访问请求发送给确定的所述存储控制器之后,监测到确定的所述存储控制器的负载超过设定阈值;
执行模块85,用于针对确定的所述存储控制器控制访问的每个逻辑单元,执行:根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器;其中,所述单位时间访问量为单位时间内执行数据访问请求的次数或单位时间内访问的数据量;
所述发送模块83还用于,将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器。
可选地,所述执行模块85具体用于:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,判断所述各存储控制器中是否存在单个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求;
如果存在,则选择存在的单个存储控制器作为所述协作存储控制器;
否则,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,在各存储控制器中选择最少数量的存储控制器、且选择的存储控制器能共同分担处理访问该逻辑单元的全部数据访问请求,将选择的最少数量的存储控制器作为所述协作存储控制器。
可选地,所述发送模块83具体用于:
根据选择的最少数量的存储控制器各自当前的负载,以及当前访问该逻辑单元的每个分片的单位时间访问量,确定选择的最少数量的存储控制器中的每个存储控制器分担处理访问该逻辑单元中的至少一个分片的全部数据访问请求;其中,每个逻辑单元包括多个设定大小的分片;
针对该逻辑单元中的每个分片执行:将后续生成的访问该逻辑单元的每个分片的数据访问请求,发送给确定的分担处理访问该分片的全部数据访问请求的存储控制器。
可选地,所述执行模块85还用于,将选择的最少数量的存储控制器作为所述协作存储控制器之后,当所述监测模块监测到各存储控制器中存在单个存储控制器能够处理访问该逻辑单元的全部数据访问请求后,重新选择该单个存储控制器作为所述协作存储控制器。
如图9所示,为本发明实施例四提供的数据访问装置结构示意图,该装置位于存储系统中,所述存储系统包括所述装置与存储设备,所述存储设备包括多个存储控制器;所述装置包括处理器91和存储器92,所述存储器92存储执行指令,当所述装置运行时,所述处理器91与所述存储器92之间通过总线93通信,所述处理器91执行所述执行指令使得所述装置执行如下方法:
生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN;
根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器;
将生成的所述数据访问请求发送给确定的所述存储控制器。
可选地,所述处理器91执行的所述方法中,将生成的所述数据访问请求发送给确定的所述存储控制器之后,还包括:
监测到确定的所述存储控制器的负载超过设定阈值;
针对确定的所述存储控制器控制访问的每个逻辑单元,执行:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器;其中,所述单位时间访问量为单位时间内执行数据访问请求的次数或单位时间内访问的数据量;
将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器。
可选地,所述处理器91执行的所述方法中,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器,包括:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,判断所述各存储控制器中是否存在单个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求;
如果存在,则选择存在的单个存储控制器作为所述协作存储控制器;
否则,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,在各存储控制器中选择最少数量的存储控制器、且选择的存储控制器能共同分担处理访问该逻辑单元的全部数据访问请求,将选择的最少数量的存储控制器作为所述协作存储控制器。
可选地,所述处理器91执行的所述方法中,将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器,包括:
根据选择的最少数量的存储控制器各自当前的负载,以及当前访问该逻辑单元的每个分片的单位时间访问量,确定选择的最少数量的存储控制器中的每个存储控制器分担处理访问该逻辑单元中的至少一个分片的全部数据访问请求;其中,每个逻辑单元包括多个设定大小的分片;
针对该逻辑单元中的每个分片执行:将后续生成的访问该逻辑单元的每个分片的数据访问请求,发送给确定的分担处理访问该分片的全部数据访问请求的存储控制器。
可选地,所述处理器91执行的所述方法中,将选择的最少数量的存储控制器作为所述协作存储控制器之后,还包括:
当监测到各存储控制器中存在单个存储控制器能够处理访问该逻辑单元的全部数据访问请求后,重新选择该单个存储控制器作为所述协作存储控制器。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种数据访问方法,其特征在于,该方法应用于存储系统中,所述存储系统包括主机和存储设备,所述存储设备包括多个存储控制器,该方法包括:
所述主机生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN;
所述主机根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器;
所述主机将生成的所述数据访问请求发送给确定的所述存储控制器。
2.如权利要求1所述的方法,其特征在于,所述主机将生成的所述数据访问请求发送给确定的所述存储控制器之后,还包括:
所述主机监测到确定的所述存储控制器的负载超过设定阈值;
所述主机针对确定的所述存储控制器控制访问的每个逻辑单元,执行:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器;其中,所述单位时间访问量为单位时间内执行数据访问请求的次数或单位时间内访问的数据量;
所述主机将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器。
3.如权利要求2所述的方法,其特征在于,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器,包括:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,判断所述各存储控制器中是否存在单个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求;
如果存在,则选择存在的单个存储控制器作为所述协作存储控制器;
否则,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,在各存储控制器中选择最少数量的存储控制器、且选择的存储控制器能共同分担处理访问该逻辑单元的全部数据访问请求,将选择的最少数量的存储控制器作为所述协作存储控制器。
4.如权利要求3所述的方法,其特征在于,所述主机将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器,包括:
所述主机根据选择的最少数量的存储控制器各自当前的负载,以及当前访问该逻辑单元的每个分片的单位时间访问量,确定选择的最少数量的存储控制器中的每个存储控制器分担处理访问该逻辑单元中的至少一个分片的全部数据访问请求;其中,每个逻辑单元包括多个设定大小的分片;
所述主机针对该逻辑单元中的每个分片执行:将后续生成的访问该逻辑单元的每个分片的数据访问请求,发送给确定的分担处理访问该分片的全部数据访问请求的存储控制器。
5.如权利要求3或4所述的方法,其特征在于,所述主机将选择的最少数量的存储控制器作为所述协作存储控制器之后,还包括:
当监测到各存储控制器中存在单个存储控制器能够处理访问该逻辑单元的全部数据访问请求后,重新选择该单个存储控制器作为所述协作存储控制器。
6.一种数据访问装置,其特征在于,该装置位于存储系统的主机中,所述存储系统包括所述主机与存储设备,所述存储设备包括多个存储控制器,该装置包括:
生成模块,用于生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN;
确定模块,用于根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器;
发送模块,用于将生成的所述数据访问请求发送给确定的所述存储控制器。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
监测模块,用于在所述发送模块将生成的所述数据访问请求发送给确定的所述存储控制器之后,监测到确定的所述存储控制器的负载超过设定阈值;
执行模块,用于针对确定的所述存储控制器控制访问的每个逻辑单元,执行:根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器;其中,所述单位时间访问量为单位时间内执行数据访问请求的次数或单位时间内访问的数据量;
所述发送模块还用于,将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器。
8.如权利要求7所述的装置,其特征在于,所述执行模块具体用于:根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,判断所述各存储控制器中是否存在单个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求;如果存在,则选择存在的单个存储控制器作为所述协作存储控制器;否则,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,在各存储控制器中选择最少数量的存储控制器、且选择的存储控制器能共同分担处理访问该逻辑单元的全部数据访问请求,将选择的最少数量的存储控制器作为所述协作存储控制器。
9.如权利要求8所述的装置,其特征在于,所述发送模块具体用于:根据选择的最少数量的存储控制器各自当前的负载,以及当前访问该逻辑单元的每个分片的单位时间访问量,确定选择的最少数量的存储控制器中的每个存储控制器分担处理访问该逻辑单元中的至少一个分片的全部数据访问请求;其中,每个逻辑单元包括多个设定大小的分片;针对该逻辑单元中的每个分片执行:将后续生成的访问该逻辑单元的每个分片的数据访问请求,发送给确定的分担处理访问该分片的全部数据访问请求的存储控制器。
10.如权利要求8或9所述的装置,其特征在于,所述执行模块还用于,选择的最少数量的存储控制器作为所述协作存储控制器之后,当所述监测模块监测到各存储控制器中存在单个存储控制器能够处理访问该逻辑单元的全部数据访问请求后,重新选择该单个存储控制器作为所述协作存储控制器。
11.一种数据访问装置,其特征在于,该装置位于存储系统中,所述存储系统包括所述装置与存储设备,所述存储设备包括多个存储控制器;所述装置包括处理器和存储器,所述存储器存储执行指令,当所述装置运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述执行指令使得所述装置执行如下方法:
生成数据访问请求,所述数据访问请求包括访问的存储设备的逻辑单元号LUN;
根据该LUN与存储控制器的映射关系,确定控制访问该LUN所标识的逻辑单元的存储控制器;
将生成的所述数据访问请求发送给确定的所述存储控制器。
12.如权利要求11所述的装置,其特征在于,所述处理器执行的所述方法中,将生成的所述数据访问请求发送给确定的所述存储控制器之后,还包括:
监测到确定的所述存储控制器的负载超过设定阈值;
针对确定的所述存储控制器控制访问的每个逻辑单元,执行:根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器;其中,所述单位时间访问量为单位时间内执行数据访问请求的次数或单位时间内访问的数据量;
将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器。
13.如权利要求12所述的装置,其特征在于,所述处理器执行的所述方法中,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,从各存储控制器中选择分担处理访问该逻辑单元的数据访问请求的协作存储控制器,包括:
根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,判断所述各存储控制器中是否存在单个存储控制器能够分担处理访问该逻辑单元的全部数据访问请求;
如果存在,则选择存在的单个存储控制器作为所述协作存储控制器;
否则,根据各存储控制器当前的负载,和当前访问该逻辑单元的单位时间访问量,在各存储控制器中选择最少数量的存储控制器、且选择的存储控制器能共同分担处理访问该逻辑单元的全部数据访问请求,将选择的最少数量的存储控制器作为所述协作存储控制器。
14.如权利要求13所述的装置,其特征在于,所述处理器执行的所述方法中,将后续生成的访问该逻辑单元的数据访问请求发送给所述协作存储控制器,包括:
根据选择的最少数量的存储控制器各自当前的负载,以及当前访问该逻辑单元的每个分片的单位时间访问量,确定选择的最少数量的存储控制器中的每个存储控制器分担处理访问该逻辑单元中的至少一个分片的全部数据访问请求;其中,每个逻辑单元包括多个设定大小的分片;
针对该逻辑单元中的每个分片执行:将后续生成的访问该逻辑单元的每个分片的数据访问请求,发送给确定的分担处理访问该分片的全部数据访问请求的存储控制器。
15.如权利要求13或14所述的装置,其特征在于,所述处理器执行的所述方法中,将选择的最少数量的存储控制器作为所述协作存储控制器之后,还包括:
当监测到各存储控制器中存在单个存储控制器能够处理访问该逻辑单元的全部数据访问请求后,重新选择该单个存储控制器作为所述协作存储控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410515627.0A CN105446913B (zh) | 2014-09-29 | 2014-09-29 | 一种数据访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410515627.0A CN105446913B (zh) | 2014-09-29 | 2014-09-29 | 一种数据访问方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105446913A true CN105446913A (zh) | 2016-03-30 |
CN105446913B CN105446913B (zh) | 2018-08-14 |
Family
ID=55557135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410515627.0A Active CN105446913B (zh) | 2014-09-29 | 2014-09-29 | 一种数据访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446913B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107180102A (zh) * | 2017-05-25 | 2017-09-19 | 北京环境特性研究所 | 一种目标特性数据的存储方法和系统 |
CN107911238A (zh) * | 2017-11-13 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种基于ipsan服务器双机备份方法和系统 |
CN110618951A (zh) * | 2018-06-20 | 2019-12-27 | 中兴通讯股份有限公司 | 系统高可用存储控制方法、装置、通信设备及存储介质 |
CN113448893A (zh) * | 2020-03-10 | 2021-09-28 | 联发科技股份有限公司 | 用于控制多个客户端访问单个存储装置的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1804810A (zh) * | 2005-01-14 | 2006-07-19 | 国际商业机器公司 | 用于存储器访问请求的重定向的方法和系统 |
US7779219B2 (en) * | 2004-11-19 | 2010-08-17 | International Business Machines Corporation | Application transparent autonomic availability on a storage area network aware file system |
US7849262B1 (en) * | 2000-06-30 | 2010-12-07 | Emc Corporation | System and method for virtualization of networked storage resources |
CN102129442A (zh) * | 2010-09-20 | 2011-07-20 | 华为技术有限公司 | 一种分布式数据库系统和数据访问方法 |
CN102187322A (zh) * | 2008-10-15 | 2011-09-14 | 松下电器产业株式会社 | 半导体装置及半导体集成电路 |
CN103914412A (zh) * | 2013-01-09 | 2014-07-09 | 国际商业机器公司 | 用于存储设备中的流量优先化的方法,存储设备以及存储系统 |
-
2014
- 2014-09-29 CN CN201410515627.0A patent/CN105446913B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7849262B1 (en) * | 2000-06-30 | 2010-12-07 | Emc Corporation | System and method for virtualization of networked storage resources |
US7779219B2 (en) * | 2004-11-19 | 2010-08-17 | International Business Machines Corporation | Application transparent autonomic availability on a storage area network aware file system |
CN1804810A (zh) * | 2005-01-14 | 2006-07-19 | 国际商业机器公司 | 用于存储器访问请求的重定向的方法和系统 |
CN102187322A (zh) * | 2008-10-15 | 2011-09-14 | 松下电器产业株式会社 | 半导体装置及半导体集成电路 |
CN102129442A (zh) * | 2010-09-20 | 2011-07-20 | 华为技术有限公司 | 一种分布式数据库系统和数据访问方法 |
CN103914412A (zh) * | 2013-01-09 | 2014-07-09 | 国际商业机器公司 | 用于存储设备中的流量优先化的方法,存储设备以及存储系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107180102A (zh) * | 2017-05-25 | 2017-09-19 | 北京环境特性研究所 | 一种目标特性数据的存储方法和系统 |
CN107180102B (zh) * | 2017-05-25 | 2019-12-31 | 北京环境特性研究所 | 一种目标特性数据的存储方法和系统 |
CN107911238A (zh) * | 2017-11-13 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种基于ipsan服务器双机备份方法和系统 |
CN110618951A (zh) * | 2018-06-20 | 2019-12-27 | 中兴通讯股份有限公司 | 系统高可用存储控制方法、装置、通信设备及存储介质 |
CN113448893A (zh) * | 2020-03-10 | 2021-09-28 | 联发科技股份有限公司 | 用于控制多个客户端访问单个存储装置的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105446913B (zh) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10042560B2 (en) | Method and storage array for processing a write data request | |
US8756392B2 (en) | Storage control apparatus and storage system comprising multiple storage control apparatuses | |
US9563463B2 (en) | Computer system and control method therefor | |
US9658779B2 (en) | Computer system and control method for computer system | |
JP5427630B2 (ja) | 動的ページ再割当てストレージシステムにおけるアプリケーション及び階層構成の管理 | |
US9811465B2 (en) | Computer system and cache control method | |
EP2751698B1 (en) | Computer system with processor local coherency for virtualized input/output | |
CN101594309B (zh) | 集群系统中内存资源的管理方法、设备及网络系统 | |
KR20120092930A (ko) | 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법 | |
EP2831715A1 (en) | Information storage system and method of controlling information storage system | |
CN102681952A (zh) | 将数据写入存储设备的方法与存储设备 | |
US20170177489A1 (en) | Data deduplication system and method in a storage array | |
JP2007102762A (ja) | 論理パーティション分割ストレージシステムに於けるリソース管理方法 | |
CN104951239B (zh) | 高速缓存驱动器、主机总线适配器及其使用的方法 | |
CN105446913A (zh) | 一种数据访问方法及装置 | |
US9632718B2 (en) | Converged system and storage system migration method | |
US10635332B2 (en) | Managing data storage arrays on behalf of host computers via specialized LUN-related queries | |
US20160320990A1 (en) | Preferred zone scheduling | |
CN103617024B (zh) | 一种并发数据处理方法、装置和系统 | |
KR102469927B1 (ko) | 분할 메모리 관리장치 및 방법 | |
US11513849B2 (en) | Weighted resource cost matrix scheduler | |
US20220283745A1 (en) | Storage system, path management method, and recording medium | |
CN110308865A (zh) | 存储器系统、计算系统及其操作方法 | |
US11687443B2 (en) | Tiered persistent memory allocation | |
US9015410B2 (en) | Storage control apparatus unit and storage system comprising multiple storage control apparatus units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220915 Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041 Patentee after: Chengdu 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 |