CN109445680B - 一种对硬盘进行管理的方法及装置 - Google Patents
一种对硬盘进行管理的方法及装置 Download PDFInfo
- Publication number
- CN109445680B CN109445680B CN201810950578.1A CN201810950578A CN109445680B CN 109445680 B CN109445680 B CN 109445680B CN 201810950578 A CN201810950578 A CN 201810950578A CN 109445680 B CN109445680 B CN 109445680B
- Authority
- CN
- China
- Prior art keywords
- hard disk
- time period
- link
- connection
- identification information
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Abstract
本申请公开了一种对硬盘进行管理的方法及装置,属于通信领域。所述方法应用于包括建立模块、转换电路和P个硬盘的设备,建立模块和转换电路之间存在m条链路每个硬盘连接到转换电路,该方法包括:建立模块在第一目标链路上接收第一硬盘发送的连接请求,第一硬盘为P个硬盘中的任一个硬盘;在第一目标链路为链路集合中的链路以及接收该连接请求的时间在当前时间周期的第一时间段内时,拒绝在第一目标链路上建立与第一硬盘之间的第一连接。本申请能够避免大量的读写请求堵在启动器中。
Description
技术领域
本申请涉及通信领域,特别涉及一种对硬盘进行管理的方法及装置。
背景技术
目前的终端设备可以连接至少一个硬盘,终端设备中的处理器可以通过启动器和至少一个交换芯片与该至少一个硬盘连接。其中,该至少一个交换芯片串联成一个串联电路,位于该串联电路一端的交换芯片与启动器连接,启动器再与处理器连接,每个交换芯片上还连接有至少一个硬盘,从而实现处理器与至少一个硬盘之间的连接。
启动器与该串联电路之间包括m条链路,m为大于1的整数。启动器可以接收处理器发送的针对某个硬盘的读写请求,从该m条链路中为该读写请求请求一条链路,在该条链路上建立与该硬盘之间的连接,通过该连接向该硬盘发送该读写请求,发送完断开该连接,以释放该链路。当某个硬盘需要向处理器发送数据时,该硬盘从该m条链路中为该读写请求请求一条链路,在该条链路上建立与启动器之间的连接,通过该连接向启动器发送数据;启动器接收该数据并向处理器转发该数据。其中,该硬盘在发送完数据后不会断开该连接,而是由启动器在检测到该连接存在的时间达到预设的最大连接时间时断开该连接,并释放该链路。该硬盘发送完数据到启动器检测到该连接存在的时间到达最大连接时间之间的这段时间往往较长,在这段时间内该连接占用的链路不能被启动器用于发送读写请求且在这段时间内该硬盘往往也不会向处理器发送数据,导致在这段时间内该链路被空闲。
在实现本申请的过程中,发明人发现现有技术至少存在以下问题:
硬盘请求到链路的概率往往大于启动器为读写请求请求到链路的概率,通常硬盘的数目多于m个,这样可能导致m个链路同时被硬盘占用,在硬盘请求到链路时该链路会在较长时间内被空闲,所以目前的链路利用率较低,这样当处理器向启动器发送大量的读写请求时,可能存在较大一部分读写请求,启动器可能长时间不能为该部分读写请求请求到链路,导致该部分读写请求堵在启动器中,不能被发送出去。
发明内容
为了避免大量的读写请求堵在启动器中,本申请实施例提供了一种对硬盘进行管理的方法及装置。所述技术方案如下:
第一方面,本申请实施例提供了一种对硬盘进行管理的方法,所述方法应用于包括建立模块、转换电路和P个硬盘的设备,所述建立模块和所述转换电路之间存在m条链路,m为大于1的整数,P为大于m的整数,所述P个硬盘中的每个硬盘连接到所述转换电路。所述建立模块在第一目标链路上接收第一硬盘发送的连接请求,所述第一硬盘为所述P个硬盘中的任一个硬盘;在所述第一目标链路为链路集合中的链路以及接收所述连接请求的时间在当前时间周期的第一时间段内时,所述建立模块拒绝在所述第一目标链路上建立与所述第一硬盘之间的第一连接,所述当前时间周期包括所述第一时间段和除所述第一时间段以外的第二时间段,所述链路集合包括所述m条链路中至少一条的链路。如此在第一时间段内第一目标链路不会被硬盘占用,这样对于发送给硬盘的读写请求,启动器(即建立模块)可以在第一目标链路上建立与硬盘的连接并通过该连接向硬盘发送该读写请求,启动器在发送完该读写请求后立即释放第一目标链路,这样启动器就可以在第一目标链路上立即给其他硬盘发送读写请求,也就是说在每个时间周期的第一时间段内启动器可以在第一目标链路上连续向硬盘发送在第一时间段之前的第二时间段内接收且还未发送的各读写请求和在第一时间段内接收的各读写请求,又由于相邻两个第一时间段之间只间隔一个第二时间段,这样读写请求在启动器中被堵住的时间不超过第二时间段的时间长度,避免了大量的读写请求长时间堵在启动器中。
在第一方面的一种可能的实现方式中,在所述第一目标链路为所述链路集合中的链路以及接收所述连接请求的时间在所述当前时间周期的第二时间段内时,所述建立模块在所述第一目标链路上建立与所述第一硬盘之间的第一连接。这样在第二时间段内可以在所述第一目标链路上建立与所述第一硬盘之间的第一连接,可以减小对硬盘的影响。
在第一方面的一种可能的实现方式中,所述建立模块包括所述第一目标链路对应的寄存器,所述建立检测检测所述寄存器是否存储有标识信息,所述标识信息用于指示所述建立模块是否拒绝建立所述第一硬盘在所述第一目标链路上请求建立的连接,如果检测出存储有所述标识信息,则根据所述标识信息确定接收所述连接请求的时间在当前时间周期的时间段。这样可以通过第一目标链路的寄存器中存储的内容,确定接收所述连接请求的时间所在当前时间周期的时间段。
在第一方面的一种可能的实现方式中,在所述第一时间段开始时将所述寄存器存储的标识信息更新为第一标识信息,所述第一标识信息用于指示所述建立模块拒绝建立所述第一硬盘在所述第一目标链路上请求建立的连接;在所述第二时间段开始时将所述寄存器存储的标识信息更新为第二标识信息,所述第二标识信息用于指示所述建立模块在所述第一目标链路上建立所述第一硬盘请求建立的连接。这样可以可以实现交替地向所述寄存器中写入第一标识信息和第二标识信息。
在第一方面的一种可能的实现方式中,在所述寄存器存储有所述第一标识信息时,所述建立模块确定接收所述连接请求的时间在当前时间周期的第一时间段;在所述寄存器存储有所述第二标识信息时,所述建立模块确定接收所述连接请求的时间在当前时间周期的第二时间段。这样通过第一标识信息实现在第一时间段内拒绝在第一目标链路上建立第一硬盘请求建立的第一连接,避免了在第一时间段内第一目标链路被硬盘占用。
在第一方面的一种可能的实现方式中,所述设备包括计时器,所述计时器用于从零开始计时并每当计时时间达到预设周期长度时继续从零开始计时;这样可以通过读取所述计时器计时的当前时间,便可以得到接收所述连接请求的时间,进而确定接收所述连接请求的时间在当前时间周期的时间段。
在第一方面的一种可能的实现方式中,所述设备还包括处理器,所述处理器与所述建立模块连接,在所述第一时间段内且所述建立模块存储有在所述第一时间段开始之前接收并未发送的来自所述处理器的第一读写请求时,所述第一读写请求包括第二硬盘的标识,所述第二硬盘为所述P个硬盘中的任一个硬盘,所述建立模块根据所述第二硬盘的标识,在第二目标链路上建立与所述第二硬盘之间的第二连接,通过所述第二连接向所述第二硬盘发送所述第一读写请求,所述第二目标链路为所述链路集合中的任一条链路。这样在第一时间段内通过链路集合中的链路将第一时间段之前接收的各读写请求发送出去,避免了大量的读写请求长时间堵在建立模块中。
在第一方面的一种可能的实现方式中,所述设备还包括处理器,所述处理器与所述建立模块连接,在所述第一时间段内,所述建立模块接收所述处理器发送的第二读写请求,所述第二读写请求包括第三硬盘的标识,所述第三硬盘为所述P个硬盘中的任一个硬盘;所述建立模块根据所述第三硬盘的标识,在第三目标链路上建立与所述第三硬盘之间的第三连接,通过所述第三连接向所述第三硬盘发送所述第二读写请求,所述第三目标链路为所述链路集合中的任一条链路。这样在第一时间段内通过链路集合中的链路将第一时间段内接收的各读写请求发送出去,避免了第一时间段内读写请求堵在建立模块中,提高了读写请求的发送效率。
在第一方面的一种可能的实现方式中,所述建立模块在检测出所述第一连接存在的时间长度达到预设时间长度时,断开与所述第一硬盘之间的所述第一连接。
在第一方面的一种可能的实现方式中,所述建立模块用于通过所述转换电路读写所述P个硬盘。
在第一方面的一种可能的实现方式中,所述建立模块按时间周期周期性循环地对硬盘进行管理,所述第一时间段的时间长度小于所述第二时间段的时间长度。这可以减少对硬盘发送数据产生的影响。
第二方面,本申请实施例提供了一种对硬盘进行管理的装置,用于执行第一方面或第一方面的任意一种可能的实现方式中的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能的实现方式的方法的单元。
第三方面,本申请实施例提供了一种对硬盘进行管理的装置,所述装置包括:至少一个控制器,至少一个存储器和至少一个端口,所述至少一个控制器通过总线与所述至少一个存储器和至少一个端口连接;所述至少一个存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述至少一个控制器执行,所述一个或多个程序包含用于进行第一方面或第一方面的任意一种可能的实现方式的方法的指令。
第四方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括在计算机可读存储介质中存储的计算机程序,并且所述计算程序通过控制器进行加载来实现上述第一方面或第一方面的任意可能的实现方式的方法。
第五方面,本申请实施例提供了一种非易失性计算机可读存储介质,用于存储计算机程序,所述计算机程序通过处理器进行加载来执行上述第一方面或第一方面的任意可能的实现方式的方法的指令。
第六方面,本申请提实施例供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现上述第一方面或第一方面的任意可能的实现方式的方法。
附图说明
图1-1是本申请实施例提供的一种设备结构示意图;
图1-2是本申请实施例提供的另一种设备结构示意图;
图1-3是本申请实施例提供的另一种设备结构示意图;
图1-4是本申请实施例提供的另一种设备结构示意图;
图1-5是本申请实施例提供的另一种设备结构示意图;
图1-6是本申请实施例提供的另一种设备结构示意图;
图2是本申请实施例提供的一种对硬盘进行管理的方法流程图;
图3是本申请实施例提供的另一种对硬盘进行管理的方法流程图;
图4是本申请实施例提供的一种对硬盘进行管理的装置结构示意图;
图5是本申请实施例提供的另一种对硬盘进行管理的装置结构示意图。
具体实施方式
下面将结合附图对本申请实施方式作进一步地详细描述。
参见图1-1,本申请实施例提供了一种设备,该设备可以为服务器、个人计算机(Personal Computer,PC)或笔记本电脑等,包括:
处理器1,总线系统2,存储器3、输入接口4和输出接口5。该处理器1、存储器3、输入接口4和输出接口5之间通过总线系统2连接。
存储器3用于存储包括程序、指令或代码。处理器1用于执行存储器3中的程序、指令或代码,控制输入接口4接收信号以及控制输出接口5发送信号。
可选的,上述处理器1可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个集成电路。
上述总线系统2可以包括一通路,在上述组件之间传送信息。
上述输入接口4和输出接口5用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
参见图1-2,上述存储器3可以包括内存31和P个硬盘32,处理器1可以通过总线系统2与内存31连接,该设备还包括建立模块6和转换电路7,处理器1可以通过总线系统2与建立模块6连接,建立模块6通过转换电路7与该P个硬盘32连接。
可选的,建立模块6可以为启动器或者是其他器件,在接下来的描述中建立模块6以启动器为例进行说明,对于建立模块6为其他器件的例子就不再一一列举说明。
可选的,参见图1-3,启动器6与转换电路7之间包括m条链路,该P个硬盘32连接在转换电路7上,m和P均为大于1的整数,且P大于m。
该m条链路可以是物理链路,例如该m条链路可以是m条光缆或m条电缆。
启动器6,用于接收处理器1发送的读写请求,该读写请求包括硬盘的标识,在该m条链路中选择一条空闲链路,在该选择的链路上建立与该硬盘的标识对应的硬盘之间的连接,通过该连接向该硬盘发送该读写请求,发送完该读写请求后断开该连接,以释放该连接占用的链路。
对于该P个硬盘32中的每个硬盘,该硬盘需要发送数据时,向转换电路7发送用于请求建立连接的连接请求;转换电路7在该m条链路中选择一条空闲链路,通过该选择的链路向启动器6发送该连接请求;启动器6接收该连接请求,在该选择的链路上建立与该硬盘之间的连接;然后硬盘通过该连接向启动器6发送数据,启动器6再将该数据转发至处理器1。
该硬盘在发送完数据后不会断开该连接,而是由启动器6在检测到该连接存在的时间达到预设的最大连接时间时断开该连接,并释放该连接占用的链路。该硬盘发送完数据到启动器6检测到该连接存在的时间到达最大连接时间之间的这段时间往往较长,在这段时间内该连接占用的链路不能被启动器6用于发送读写请求且在这段时间内该硬盘往往也不会向处理器1发送数据,导致在这段时间内该链路被空闲。
其中,需要说明的是:读写请求包括读请求或写请求,硬盘在接收到读请求时,准备需要被读取的数据,准备完需要读取的数据后向启动器6发送连接请求,请求建立与启动器6之间的连接并通过该连接发送该数据。或者,硬盘在接收到写请求时,准备用于存储被写入的数据的存储空间,准备完该存储空间后向启动器6发送连接请求,请求建立与启动器6之间的连接并通过该连接发送通知消息和该存储空间的容量等信息,以使启动器6向该硬盘写数据。准备数据或准备存储空间都需要较长的时间,所以启动器6在发送读请求或写请求后,就断开与硬盘之间的连接,以释放被占用的链路。
参见图1-3,启动器6可以直接通过总线系统2与设备的处理器1相连。或者,参见图1-4,启动器6可以与交换器8相连,交换器8通过总线系统2与设备的处理器1相连。其中,设备的处理器1可以通过交换器8与多个启动器6相连,还可以通过交换器8与除启动器6以外的其他设备相连。
可选的,启动器6与交换器8之间可以通过外设部件互连标准(PeripheralComponent Interconnect,PCI)总线相连。
参见图1-5,转换电路7包括Q个串联的转换芯片71,每个转换芯片71上还连接有至少一个硬盘,Q为大于或等于1的整数。
在转换电路7中任意相邻的两个转换芯片71之间存在至少一条链路,将转换电路7中与启动器6直接相连的转换芯片71称为第一个转换芯片,第一个转换芯片与启动器6之间存在m条链路。
可选的,任意相邻的两个转换芯片之间存在的每条链路可以为物理链路,例如可以为电缆或光缆等。
参见图1-6,启动器6包括控制单元61、第一端口62和m个第二端口63,控制单元61与第一端口62和该m个第二端口63电连接;第一端口62连接至总线系统2。
可选的,上述第一端口62可以为PCI端口等,上述第二端口63可以为串行连接小型计算机系统接口(Serial Attached SCSI,SAS)级连端口等。
第一个转换芯片71包括处理单元711、m个第一端口712、至少一个第二端口713、至少一个第三端口714和存储单元715;处理单元711与该m个第一端口712、该至少一个第二端口713、该至少一个第三端口714和该存储单元715连接。
可选的,上述第一端口712和第二端口713可以为SAS级连端口,上述第三端口714可以为硬盘插槽等。
该m条链路中的每条链路对应启动器6中的一个第二端口63以及对应第一个转换芯片71中的一个第一端口712,该条链路的一端连接到其对应的第二端口63,该条链路的另一端连接到其对应的第一端口712。对于与第一个转换芯片71连接的至少一个硬盘32中的每个硬盘32,该硬盘32通过物理链路连接到第一个转换芯片71上的一个第三端口714上。
对于第i个转换芯片,i=2、3……Q,第i个转换芯片包括处理单元711、至少一个第一端口712、至少一个第二端口713、至少一个第三端口714和存储单元715;处理单元711与该至少一个第一端口712、至少一个第二端口713、至少一个第三端口714和存储单元715连接。对于第i个转换芯片与第i-1个转换芯片之间的至少一条链路中的每条链路,该链路对应第i个转换芯片中的一个第一端口712以及对应第i-1个转换芯片中的一个第二端口713,该链路的一端连接到其对应的第二端口713,该链路的另一端连接到其对应的第一端口712。
可选的,启动器6与第一个转换芯片71之间使用SAS协议进行通信,任意相邻的两个转换芯片之间也使用SAS协议进行通信,以及任一个转换芯片与硬盘之间使用SAS协议进行通信。
可选的,启动器6建立与某个硬盘之间的连接的过程,可以为:
启动器6中的控制单元61从m条链路中选择一个空闲链路,通过与该选择的链路连接的第二端口63在该选择的链路上发送连接请求,该连接请求包括该硬盘的标识。第一个转换芯片71中的处理单元711通过第一个转换芯片71中的与该选择的链路连接的第一端口712接收该连接请求,在确定该硬盘是连接在第一个转换芯片71上的硬盘时,则确定第一个转换芯片中的第三端口714,其中该硬盘通过物理链路连到该第三端口714,第一转换芯片的处理单元711通过该第三端口714在该物理链路上发送该连接请求,将该硬盘的标识和该第一端口712的端口号之间的对应关系保存在第一个转换芯片中的存储单元715的上行路由表中,以及将该硬盘的标识和该第三端口714的端口号之间的对应关系保存在第一个转换芯片中的存储单元715的下行路由表中。该硬盘从该物理链路上接收该连接请求,在该物理链路上发送包括该硬盘的标识的确认消息(ACK);第一个转换芯片71中的处理单元711通过与该物理链路连接的第三端口714接收该确认消息,根据该确认消息中的该硬盘的标识从第一个转换芯片中的存储单元715的上行路由表中查找出对应的第一端口712的端口号,通过该第一端口712的端口号对应的第一端口712发送该确认消息,启动器6中的控制单元61通过启动器6中的第二端口63接收该确认消息,以实现建立启动器6与该硬盘之间的连接。此时该连接包括在启动器6与第一个转换芯片之间的该链路上建立的启动器6与第一个转换芯片之间连接和第一个转换芯片与该硬盘之间的连接。
如果该硬盘不是连接在第一个转换芯片上的硬盘(假设该硬盘连接在第w个转换芯片上,w=2、3……Q),第一个转换芯片中的处理单元711从第一个转换芯片与第二个转换芯片之间的至少一条链路中选择一个空闲链路,通过与该选择的链路连接的第二端口713在该选择的链路上发送连接请求。第j个转换芯片中的处理单元711通过第j个转换芯片中的一个第一端口712接收该连接请求,j=2、3……w-1,在确定该硬盘不是连接在第j个转换芯片71上的硬盘时,从第j个转换芯片与第j+1个转换芯片之间的至少一条链路中选择一个空闲链路,通过与该选择的链路连接的第二端口713在该选择的链路上发送连接请求,以及将该硬盘的标识和该第一端口712的端口号之间的对应关系保存在第j个转换芯片中的存储单元715的上行路由表中,将该硬盘的标识和该第二端口713的端口号之间的对应关系保存在第j个转换芯片中的存储单元715的下行路由表中。其中,该连接请求经过第二个转换芯片、第三个转换芯片直至第w-1个转换芯片,并由第w-1个转换芯片转发至第w个转换芯片。
第w个转换芯片中的处理单元711通过第w个转换芯片中的一个第一端口712接收该连接请求,在确定该硬盘是连接在第w个转换芯片上的硬盘时,则确定第w个转换芯片中的第三端口714,其中该硬盘通过物理链路连到该第三端口714,第w个转换芯片的处理单元711通过该第三端口714在该物理链路上发送该连接请求,并将该硬盘的标识和该第一端口712的端口号之间的对应关系保存在第w个转换芯片中的存储单元715的上行路由表中,以及将该硬盘的标识和该第三端口714的端口号之间的对应关系保存在第w个转换芯片中的存储单元715的下行路由表中。该硬盘从该物理链路上接收该连接请求,在该物理链路上发送包括该硬盘的标识的确认消息;第w个转换芯片中的处理单元711通过与该物理链路连接的第三端口714接收该确认消息,根据该确认消息中的该硬盘的标识从第w个转换芯片中的存储单元715的上行路由表中查找出对应的第一端口712的端口号,通过该第一端口712的端口号对应的第一端口712发送该确认消息。
第j个转换芯片中的处理单元711通过第j个转换芯片中的一个第二端口713接收该确认消息,根据该确认消息中的该硬盘的标识从第j个转换芯片中的存储单元715的上行路由表中查找出对应的第一端口712的端口号,通过该第一端口712的端口号对应的第一端口712发送该确认消息。其中,该确认消息经过第w-1个转换芯片、第w-2个转换芯片直至第二个转换芯片,并由第二个转换芯片转发至第一个转换芯片。第一个转换芯片中的处理单元711通过第一个转换芯片71中的一个第二端口713接收该确认消息,根据该确认消息中的该硬盘的标识从第一个转换芯片中的存储单元715的上行路由表中查找出对应的第一端口712的端口号,通过该第一端口712的端口号对应的第一端口712在链路上发送该确认消息,启动器6中的控制单元61通过与该链路相连的第二端口713接收该确认消息,以实现建立启动器6与该硬盘之间的连接。此时,该连接包括在启动器6与第一个转换芯片之间的一条链路上建立的启动器6与第一个转换芯片之间的连接、在第一个转换芯片与第二个转换芯片之间的一条链路上建立的第一个转换芯片与第二个转换芯片之间连接、……、在第w-1个转换芯片与第w个转换芯片之间的某条链路上建立的第w-1个转换芯片与第w个转换芯片之间连接,以及第w个转换芯片与该硬盘之间的连接。
对于上述每个转换芯片,该转换芯片连接至少一个硬盘,该硬盘通过物理链路连接到该转换芯片上的一个第三端口上,该转换芯片的存储单元中存储有硬盘的标识与第三端口的端口号之间的对应关系。所以该转换芯片在接收到包括硬盘的标识的连接请求时,根据该硬盘的标识,查找存储单元的硬盘的标识与第三端口的端口号之间的对应关系;如果查找出对应的第三端口的端口号,则确定该硬盘是连接到该转换芯片上的硬盘以及确定该第三端口的端口号对应的第三端口;如果没有查找出对应的第三端口的端口号,则确定该硬盘不是连接到该转换芯片上的硬盘。
可选的,对于每个硬盘,该硬盘建立与启动器之间的连接的过程,可以为:
该硬盘是第v个转换芯片上连接的硬盘,v=1、2……Q,该硬盘在其与第v个转换芯片之间的物理链路上向第v个转换芯片发送连接请求,该连接请求包括该硬盘的标识。第v个转换芯片的处理单元711通过第v个转换芯片中的与该物理链路连接的第三端口714接收该连接请求。
如果v等于1,即第v个转换芯片为与启动器连接的第一个转换芯片,第一个转换芯片中的处理单元711在第一个转换芯片与启动器6之间的m条链路中选择一个空闲链路,通过与该选择的链路连接的第一端口712在该选择的链路上向启动器6转发该连接请求,以及将该硬盘的标识和该第三端口714的端口号之间的对应关系保存在第一个转换芯片中的存储单元715的下行路由表中,将该硬盘的标识和该第一端口712的端口号之间的对应关系保存在第一个转换芯片中的存储单元715的上行路由表中。启动器6中的控制单元61通过与该选择的链路相连的第二端口63从该选择的链路上接收该连接请求。启动器6的控制单元61通过该第二端口63在该选择的链路上向第一个转换芯片发送确认消息,该确认消息包括该硬盘的标识。第一个转换芯片中的处理单元711通过与该选择的链路相连的第一端口712接收该确认消息,根据该硬盘的标识从第一个转换芯片中的存储单元715的下行路由表中查找对应的第三端口714的端口号,通过该第三端口714的端口号对应的第三端口向该硬盘发送该确认消息,该硬盘接收该确认消息,实现建立与该硬盘与启动器6之间的连接。
如果v大于1,第v个转换芯片中的处理单元711在第v个转换芯片与第v-1个转换芯片之间的至少一条链路中选择一个空闲链路,通过与该选择的链路相连的第一端口712在该选择的链路上向第v-1个转换芯片转发该连接请求,以及将该硬盘的标识和该第三端口714的端口号之间的对应关系保存在第v个转换芯片中的存储单元715的下行路由表中,将该硬盘的标识和该第一端口的端口号之间的对应关系保存在第v个转换芯片中的存储单元715的上行路由表中。第x个转换芯片中的处理单元711通过第x个转换芯片中的一个第二端口713接收该连接请求,x=v-1、v-2……2,在第x个转换芯片与第x-1个转换芯片之间的至少一条链路中选择一个空闲链路,通过与该选择的链路相连的第一端口712在该选择的链路上向第x-1个转换芯片转发该连接请求,以及将该硬盘的标识和该第二端口713的端口号之间的对应关系保存在第x个转换芯片中的存储单元715的下行路由表中,将该硬盘的标识和该第一端口712的端口号之间的对应关系保存在第x个转换芯片中的存储单元715的上行路由表中。其中,该连接请求经过第v-1个转换芯片、第v-2个转换芯片直至第二个转换芯片,并由第二个转换芯片转发至第一个转换芯片。第一个转换芯片中的处理单元711通过第一个转换芯片中的一个第二端口713接收第二个转换芯片转发的该连接请求后,在第一个转换芯片与启动器6之间的m条链路中选择一个空闲链路,通过与该选择的链路连接的第一端口712在该选择的链路上向启动器6转发该连接请求,以及将该硬盘的标识和该第二端口713的端口号之间的对应关系保存在第一个转换芯片中的存储单元715的下行路由表中,将该硬盘的标识和该第一端口712的端口号之间的对应关系保存在第一个转换芯片中的存储单元715的上行路由表中。启动器6中的控制单元61通过与该选择的链路相连的第二端口63从该选择的链路上接收该连接请求。
启动器6的控制单元61通过该第二端口63在该选择的链路上向第一个转换芯片发送确认消息,该确认消息包括该硬盘的标识。第一个转换芯片中的处理单元711通过与该选择的链路相连的第一端口712接收该确认消息,根据该硬盘的标识从第一个转换芯片中的存储单元715的下行路由表中查找对应的第二端口713的端口号,通过该第二端口713的端口号对应的第二端口向第二个转换芯片71发送该确认消息。第x个转换芯片的处理单元711通过第x个转换芯片的一个第一端口712接收第x-1个转换芯片发送的该确认消息,根据该硬盘的标识从第x个转换芯片中的存储单元715的下行路由表中查找对应的第二端口713的端口号,通过该第二端口713的端口号对应的第二端口713向第x+1个转换芯片发送该确认消息。其中,该确认消息经过第二个转换芯片、第三个转换芯片直至第v-1个转换芯片,并由第v-1个转换芯片转发至第v个转换芯片。第v个转换芯片中的处理单元711通过第v个转换芯片中的一个第一端口712接收第v-1个转换芯片发送的该确认消息,根据该硬盘的标识从第v个转换芯片中的存储单元715的下行路由表中查找对应的第三端口714的端口号,通过该第三端口714的端口号对应的第三端口向该硬盘发送该确认消息,该硬盘接收该确认消息,实现建立与该硬盘与启动器6之间的连接。
其中,需要说明的是:硬盘请求到链路的概率往往大于启动器6为读写请求请求到链路的概率,由于硬盘的数目P大于m,这样可能导致m个链路同时被m个硬盘占用,又由于在硬盘请求到链路时该链路会在较长时间内被空闲,所以目前的链路利用率较低,这样当处理器1向启动器6发送大量的读写请求时,可能存在较大一部分读写请求,启动器6可能长时间不能为该部分读写请求请求到链路,导致该部分读写请求堵在启动器6中,不能被发送出去。
在硬盘的数目P大于m的情况下存在大量的读写请求堵在启动器6中的问题,在本申请中列举了如下几个用于建立硬盘与启动器之间的连接的实施例,通过如下列举的任一实施例建立硬盘与启动器之间的连接,可以避免大量的读写请求堵在启动器6中。另外,除了通过如下列举的实施例来解决该问题外,还可以通过其他方式来解决该问题,对于其他方式在本申请中不再一一穷举。
参见图2,本申请实施例提供了一种对硬盘进行管理的方法,该方法可以应用上述图1-1至1-6所示的系统中,该方法的执行主体可以为启动器,包括:
步骤201:启动器在第一目标链路上接收第一硬盘发送的连接请求,第一目标链路为启动器与转换电路之间的任一条链路,第一硬盘为P个硬盘中的任一个硬盘。
转换电路包括Q个串联的转换芯片,Q为大于或等于1的整数,每个转换芯片上连接有至少一个硬盘。在转换电路中第一个转换芯片与启动器之间存在m条链路,m为大于1的整数,P大于m,第i个转换芯片和第i+1个转换芯片之间存在至少一条链路,i=1、2……Q。
第一硬盘是第v个转换芯片上连接的硬盘,v=1、2……Q,第一硬盘需要发送数据时,第一硬盘在其与第v个转换芯片之间的物理链路上向第v个转换芯片发送连接请求,该连接请求包括第一硬盘的标识。第v个转换芯片的处理单元通过第v个转换芯片中的与该物理链路连接的第三端口接收该连接请求。
如果v等于1,即第v个转换芯片为与启动器连接的第一个转换芯片,第一个转换芯片中的处理单元在第v个转换芯片与启动器之间的m条链路中选择一个空闲链路,为了便于说明称该选择的链路为第一目标链路,通过与第一目标链路连接的第一端口在第一目标链路上向启动器转发该连接请求,以及将该硬盘的标识和该第三端口的端口号之间的对应关系保存在第一个转换芯片中的存储单元的下行路由表中,将该硬盘的标识和该第一端口的端口号之间的对应关系保存在第一个转换芯片中的存储单元的上行路由表中。启动器中的控制单元通过与第一目标链路相连的第二端口从第一目标链路上接收该连接请求。
如果v大于1,第v个转换芯片中的处理单元在第v个转换芯片与第v-1个转换芯片之间的至少一条链路中选择一个空闲链路,通过与该选择的链路相连的第一端口在该选择的链路上向第v-1个转换芯片转发该连接请求,以及将该硬盘的标识和该第二端口的端口号之间的对应关系保存在第v个转换芯片中的存储单元的下行路由表中,将该硬盘的标识和该第一端口的端口号之间的对应关系保存在第v个转换芯片中的存储单元的上行路由表中。第x个转换芯片中的处理单元通过一个第二端口接收该连接请求,x=v-1、v-2……2,在第x个转换芯片与第x-1个转换芯片之间的至少一条链路中选择一个空闲链路,通过与该选择的链路相连的第一端口在该选择的链路上向第x-1个转换芯片转发该连接请求,以及将该硬盘的标识和该第二端口的端口号之间的对应关系保存在第x个转换芯片中的存储单元的下行路由表中,将该硬盘的标识和该第一端口的端口号之间的对应关系保存在第x个转换芯片中的存储单元的上行路由表中。其中,该连接请求经过第v-1个转换芯片、第v-2个转换芯片直至第二个转换芯片,并由第二个转换芯片转发至第一个转换芯片。第一个转换芯片中的处理单元通过一个第二端口接收第二个转换芯片转发的该连接请求后,在第一个转换芯片与启动器之间的m条链路中选择一个空闲链路,为了便于说明称该选择的链路为第一目标链路,通过与第一目标链路连接的第一端口在第一目标链路上向启动器转发该连接请求,以及将该硬盘的标识和该第二端口的端口号之间的对应关系保存在第一个转换芯片中的存储单元的下行路由表中,将该硬盘的标识和该第一端口的端口号之间的对应关系保存在存第一个转换芯片中的储单元的上行路由表中。启动器中的控制单元通过与第一目标链路相连的第二端口从第一目标链路上接收该连接请求。
步骤202:启动器获取第一目标链路的标识信息,如果该标识信息为第一标识信息,则执行步骤203,如果该标识信息为第二标识信息,则执行步骤204。
该标识信息用于指示启动器是否拒绝建立硬盘在第一目标链路上请求建立的连接。其中,该标识信息包括第一标识信息和第二标识信息,第一标识信息用于指示启动器拒绝建立硬盘在第一目标链路上请求建立的连接,第二标识信息用于指示启动器可以在第一目标链路上建立硬盘请求建立的连接。
对于启动器与第一个转换芯片之间的m条链路,在启动器中存在该m条链路中的每条链路对应的寄存器。
在执行本步骤之前,可以由启动器中的控制单元或设备的处理器从该m条链路中选择m1条链路组成链路集合,m1为大于或等于1的整数,向链路集合中的每条链路对应的寄存器写入标识信息。
可选的,通常m1的取值可以为1、2或3等数值。
对于该m1条链路,可以从该m条链路中随机选择m1链路,或者,选择预设的m1链路,或者,从该m条链路中选择编号最小的m1链路,或者,从该m条链路中选择编号最大的m1条链路。
对于链路集合中的任一链路,向该链路对应的寄存器交替写入第一标识信息和第二标识信息。
其中,可以定义预设周期长度的时间周期,并定义每个时间周期包括第一时间段和第二时间段。第一时间段的时间长度和第二时间段的时间长度可以是固定不变的,即每个时间周期包括的第一时间段的时间长度相等,每个时间周期包括的第二时间段的时间长度相等。或者,第一时间段的时间长度和第二时间段的时间长度也可以是可变的,即可以存在一些时间周期,这些时间周期包括的第一时间段的时间长度可以不相等,或这些时间周期包括的第二时间段的时间长度可以不相等。
对于每个时间周期,在该时间周期的第一时间段开始时将该链路对应的寄存器中存储的标识信息更新为第一标识信息,在该时间周期的第二时间段开始时将该链路对应的寄存器中存储的标识信息更新为第二标识信息,由于时间周期周期性循环,如此实现向该链路对应的寄存器交替写入第一标识信息和第二标识信息。
可选的,对于链路集合中的每个链路,可以为每个链路定义相同的时间周期,这样在每个时间周期的第一时间段开始时将每个链路对应的寄存器中存储的标识信息更新为第一标识信息,以及在每个时间周期的第二时间段开始时将每个链路对应的寄存器中存储的标识信息更新为第二标识信息。
也可以为每个链路定义不同的时间周期,这样在该链路对应时间周期的第一时间段开始时将该链路对应的寄存器中存储的标识信息更新为第一标识信息,以及在该链路对应时间周期的第二时间段开始时将该链路对应的寄存器中存储的标识信息更新为第二标识信息。
可选的,该时间周期的第一时间段可以用一个第一计时器来实现,该时间周期的第二时间段可以用一个第二计时器来实现,这样交替写入第一标识信息和第二标识信息的实现过程可以为:
在向该链路对应的寄存器写入第一标识信息时,即为一个时间周期的第一时间段开始时,为第一标识信息设置第一计时器,第一计时器从零开始计时。在第一计时器计时时长达到第一时间段的时间长度时,即在第一时间段的结束以及第二时间段的开始时,向该链路对应的寄存器写入第二标识信息,写入第二标识信息后第二标识信息会覆盖存储在该寄存器中的第一标识信息,即将该寄存器中存储的标识信息更新为第二标识信息,为第二标识信息设置第二计时器,第二计时器从零开始计时。在第二计时器计时时长达到第二时间段的时间长度时,即在第二时间段的结束以及第一时间段的开始时,向该链路对应的寄存器写入第一标识信息,写入第一标识信息后第一标识信息会覆盖存储在该寄存器中的第二标识信息,即将该寄存器中存储的标识信息更新为第一标识信息,为第一标识信息设置第一计时器,第一计时器从零开始计时。如此实现向该链路对应的寄存器交替写入第一标识信息和第二标识信息。
可选的,第一标识信息用于指示启动器在第一计时器计时的时间内(即在第一时间段内)拒绝建立硬盘请求在该链路上建立的连接。第二标识信息用于指示启动器在第二计时器计时的时间内(即在第二时间段内)可以在该链路建立硬盘请求建立的连接。
在本步骤中,启动器中的控制单元判断第一目标链路对应的寄存器中是否保存有标识信息;如果保存有标识信息,则确定第一目标链路为链路集合中的链路,从第一目标链路对应的寄存器读取该标识信息,对该标识信息进行判断,如果判断出该标识信息为第一标识信息,则执行步骤203,如果判断出该标识信息为第二标识信息,则执行步骤204;如果没有保存标识信息,则确定第一目标链路不是链路集合中的链路,则执行步骤204。
第一目标链路对应的寄存器没有保存标识信息的情况,可能包括如下两种情况,其中一种可能是该寄存器没有保存任何信息,另一种情况可能是该寄存器保存的信息并不是在本步骤中定义的标识信息。
步骤203:启动器拒绝在第一目标链路上建立与第一硬盘之间的第一连接。
启动器拒绝的实现方式有多种,在本步骤中列举了如下两种实现方式,对于其他实现方式就不再一一列举。该两种实现方式如下所示:
第一种实现方式,启动器向第一硬盘发送拒绝响应消息,以实现拒绝在第一目标链路上建立与第一硬盘之间的第一连接。
其中,该拒绝响应消息的传输路径可以与该连接请求的传输路径相同,即该拒绝请求经过的各链路与该连接请求经过的各链路相同。详细实现过程如下:
启动器中的控制单元通过与第一目标链路相连的第二端口在第一目标链路上发送拒绝响应消息,该拒绝响应消息包括第一硬盘的标识。第一个转换芯片中的处理单元通过第一个转换芯片中的与第一目标链路相连的第一端口接收该拒绝响应消息,根据该拒绝响应消息包括的第一硬盘的标识,从第一个转换芯片中的存储单元中的下行路由表中查找出对应的端口号。
如果v等于1,即第v个转换芯片为与启动器连接的第一个转换芯片,则第一个转换芯片中的处理单元查找的端口号为第三端口的端口号,通过该第三端口的端口号对应的第三端口向第一硬盘发送该拒绝响应消息。
如果v大于1,第一个转换芯片中的处理单元查找的端口号为第二端口的端口号,通过该第二端口的端口号对应的第二端口向第二个转换芯片发送该拒绝响应消息。第x个转换芯片的处理单元通过第x个转换芯片中的一个第一端口接收第x-1个转换芯片发送的该拒绝响应消息,x=2、3……v-1,根据第一硬盘的标识从第x个转换芯片的中存储单元的下行路由表中查找对应的第二端口的端口号,通过该第二端口的端口号对应的第二端口向第x+1个转换芯片发送该拒绝响应消息。其中,该拒绝响应消息经过第二个转换芯片、第三个转换芯片直至第v-1个转换芯片,并由第v-1个转换芯片转发至第v个转换芯片。第v个转换芯片中的处理单元通过第v个转换芯片中的一个第一端口接收第v-1个转换芯片发送的该拒绝响应消息,根据第一硬盘的标识从第v个转换芯片中的存储单元的下行路由表中查找对应的第三端口的端口号,通过该第三端口的端口号对应的第三端口向第一硬盘发送该拒绝响应消息。
第一硬盘在接收该拒绝响应消息后,可以停止继续请求建立连接,或者,可以继续请求建立连接。
对于上述的每个转换芯片,该转换芯片中的处理单元在接收拒绝响应消息后,可以在其存储单元的上行路由表中删除包括第一硬盘的标识的记录,以及在存储单元的下行路由表中删除包括第一硬盘的标识的记录。
当第一硬盘继续请求建立连接时,第一硬盘向第v个转换芯片发送连接请求,如果v等于1,即第v个转换芯片为与启动器连接的第一个转换芯片,第一个转换芯片在其与启动器之间的m-1条链路中选择一个空闲链路,该m-1链路为除第一目标链路以外的其他链路,在选择的链路上向启动器转发该连接请求。启动器再从上述步骤201开始执行本实施例的方法。
如果v大于1,该连接请求经过第v个转换芯片、第v-1转换芯片……第二个转换芯片转发至第一个转换芯片,第一个转换芯片在其与启动器之间的m-1条链路中选择一个空闲链路,该m-1链路为除第一目标链路以外的其他链路,在选择的链路上向启动器转发该连接请求。启动器再从上述步骤201开始执行本实施例的方法。
第二种实现方式,启动器可以直接丢弃第一硬盘发送的连接请求并停止向第一硬盘发送确认消息,以实现拒绝在第一目标链路上建立与第一硬盘之间的第一连接。
如果启动器在第一目标链路上建立与第一硬盘的第一连接,则启动器根据该连接请求向第一硬盘发送确认消息,第一硬盘根据该确认消息在第一目标链路上建立与启动器之间的第一连接。由于在本步骤中,启动器拒绝在第一目标链路上建立与第一硬盘之间的第一连接,所以启动器直接丢弃第一硬盘发送的连接请求并停止向第一硬盘发送确认消息。
第一硬盘在发送完连接请求后可以计时,当计时时间达到预设时间阈值时,还未接收到启动器发送的确认消息,则确定出启动器拒绝与其建立连接,则停止继续请求建立连接,或者,可以继续请求建立连接。其中第一硬盘继续请求建立连接的详细过程可以参见上述第一种实现方式中的相关内容,在此不再详细说明。
其中,对于上述的每个转换芯片,该转换芯片检测到没有接收到关于第一硬盘的消息的时间达到预设时间阈值时,可以在其存储单元的上行路由表中删除包括第一硬盘的标识的记录,以及在其存储单元的下行路由表中删除包括第一硬盘的标识的记录。可选的,关于第一硬盘的消息可以为包括第一硬盘的标识的消息。
步骤204:启动器在第一目标链路上建立与第一硬盘之间的第一连接。
启动器向第一硬盘发送确认消息,使得第一硬盘根据该确认消息在第一目标链路上建立与启动器之间的第一连接。
可选的,该确认消息的传输路径可以与该连接请求的传输路径相同,即该确认消息经过的各链路与该连接请求经过的各链路相同。详细发送过程可以为:
启动器中的控制单元通过与第一目标链路相连的第二端口在第一目标链路上发送确认消息,该确认消息包括第一硬盘的标识。第一个转换芯片中的处理单元通过第一个转换芯片中的与第一目标链路相连的第一端口接收该确认消息,根据该确认消息包括的第一硬盘的标识,从第一个转换芯片中的存储单元中的下行路由表中查找出对应的端口号。
其中第一硬盘为连接到第v个转换芯片上的硬盘,如果v等于1,即第v个转换芯片为与启动器连接的第一个转换芯片,则第一个转换芯片中的处理单元查找的端口号为第三端口的端口号,通过该第三端口的端口号对应的第三端口向第一硬盘发送该确认消息。
如果v大于1,第一个转换芯片中的处理单元查找的端口号为第二端口的端口号,通过该第二端口的端口号对应的第二端口向第二个转换芯片发送该确认消息。第x个转换芯片的处理单元通过第x个转换芯片的一个第一端口接收第x-1个转换芯片发送的该确认消息,x=2、3、……v-1,根据第一硬盘的标识从第x个转换芯片的存储单元的下行路由表中查找对应的第二端口的端口号,通过该第二端口的端口号对应的第二端口向第x+1个转换芯片发送该确认消息。其中,该确认消息经过第二个转换芯片、第三个转换芯片直至第v-1个转换芯片,并由第v-1个转换芯片转发至第v个转换芯片。第v个转换芯片中的处理单元通过第v个转换芯片中的一个第一端口接收第v-1个转换芯片发送的该确认消息,根据第一硬盘的标识从第v个转换芯片的存储单元的下行路由表中查找对应的第三端口的端口号,通过该第三端口的端口号对应的第三端口向第一硬盘发送该确认消息。
第一硬盘可以通过第一连接向启动器发送数据,启动器接收该数据,然后向设备的处理器发送该数据。详细实现过程可以为:
如果v等于1,即第v个转换芯片为与启动器连接的第一个转换芯片,第一硬盘在其与第一个转换芯片之间的物理链路上发送包括第一硬盘的标识的数据;第一个转换芯片中的处理单元通过与该物理链路连接的第三端口接收该数据,根据该数据中的第一硬盘的标识从第一个转换芯片中的存储单元的上行路由表中查找出对应的第一端口的端口号,通过该第一端口的端口号对应的第一端口在第一目标链路上发送该数据,启动器中的控制单元通过与第一目标链路相连的第二端口接收该数据。
如果v大于1,第一硬盘在其与第v个转换芯片之间的物理链路上发送包括第一硬盘的标识的数据;第v个转换芯片中的处理单元通过与该物理链路连接的第三端口接收该数据,根据该数据中的第一硬盘的标识从第v个转换芯片中的存储单元的上行路由表中查找出对应的第一端口的端口号,通过该第一端口的端口号对应的第一端口在链路上发送该数据。
第y个转换芯片中的处理单元通过第y个转换芯片中一个的第二端口接收该数据,y=v-1、v-2……2,根据该数据中的第一硬盘的标识从第y个转换芯片中的存储单元的上行路由表中查找出对应的第一端口的端口号,通过该第一端口的端口号对应的第一端口发送该数据。其中,该数据经过第v-1个转换芯片、第v-2个转换芯片直至第二个转换芯片,并由第二个转换芯片转发至第一个转换芯片。第一个转换芯片中的处理单元通过第一个转换芯片中的一个第二端口接收该数据,根据该数据中的第一硬盘的标识从第一个转换芯片中的存储单元的上行路由表中查找出对应的第一端口的端口号,通过该第一端口的端口号对应的第一端口在第一目标链路上发送该数据,启动器中的控制单元通过与第一目标链路相连的第二端口接收该数据。
在建立完第一连接后,启动器检测第一连接存在的时间长度,在检测出第一连接存在的时间长度达到预设时间长度时,断开与第一硬盘之间的第一连接,以释放出第一连接占用的第一目标链路。
可选的,对于上述提及的时间周期,时间周期包括第一时间段和第二时间段,第一时间段的时间长度小于第二时间段的时间长度。例如,第二时间段的时间长度可以是第一时间段的时间长度的M倍,M为大于1的整数,例如M的取值可以为10至20范围内的任一取值,如可以取值10、12、15、18或20等数值。由于在第二时间段不会影响硬盘请求建立连接,所以在第一时间段的时间长度小于第二时间段的时间长度时,可以减小对硬盘请求建立连接的影响。在第二时间段的时间长度可以是第一时间段的时间长度的M倍,M越大,对硬盘请求建立连接的影响越小,甚至可以达到忽略不计的程度。
可选的,链路集合中的每个链路可以对应相同时间周期或可以对应不同时间周期。
当链路集合中的每个链路对应不同时间周期时,即每个链路对应的时间周期包括的第一时间段的起始时间和/或时间长度可能不同,每个链路对应的时间周期包括的第二时间段的起始时间和/或时间长度可能不同。对于第一目标链路,在第一目标链路对应时间周期的第一时间段内,如果启动器存有在第一时间段开始之前接收且未发送的来自设备的处理器的第一读写请求时,第一读写请求包括第二硬盘的标识,第二硬盘为该P个硬盘中的任一个硬盘,启动器可以根据第二硬盘的标识,在第一目标链路上建立与第二硬盘之间的第二连接,通过第二连接向第二硬盘发送第一读写请求。
以及,在第一目标链路对应时间周期的第一时间段内,启动器接收设备的处理器发送的第二读写请求,第二读写请求包括第三硬盘的标识,第三硬盘为该P个硬盘中的任一个硬盘;启动器可以根据第三硬盘的标识,在第一目标链路上建立与第三硬盘之间的第三连接,通过第三连接向第三硬盘发送第二读写请求。
其中,在第一时间段内,第一目标链路处于空闲状态,除第一目标链路以外的其他链路可能被硬盘占用,这样启动器中存在读写请求或接收到读写请求时,优先选择在第一目标链路上建立第二连接或第三连接。
可选的,启动器建立与第二硬盘之间的第二连接的实现过程,可以为:
启动器中的控制单元通过与第一目标链路连接的第二端口在第一目标链路上发送连接请求,该连接请求包括第二硬盘的标识。第一个转换芯片中的处理单元通过第一个转换芯片中的与第一目标链路连接的第一端口接收该连接请求,在确定第二硬盘是连接在第一个转换芯片上的硬盘时,则确定第一个转换芯片中的第三端口,其中第二硬盘通过物理链路连到该第三端口,第一个转换芯片的处理单元通过该第三端口在该物理链路上发送该连接请求,将第二硬盘的标识和该第一端口的端口号之间的对应关系保存在第一个转换芯片中的存储单元的上行路由表中,以及将第二硬盘的标识和该第三端口的端口号对应保存在第一个转换芯片中的存储单元的下行路由表中。第二硬盘从该物理链路上接收该连接请求,在该物理链路上发送包括第二硬盘的标识的确认消息;第一个转换芯片中的处理单元通过与该物理链路连接的第三端口接收该确认消息,根据该确认消息中的第二硬盘的标识从第一个转换芯片中的存储单元的上行路由表中查找出对应的第一端口的端口号,通过该第一端口的端口号对应的第一端口在第一目标链路上发送该确认消息,启动器中的控制单元通过与第一目标链路相连的第二端口接收该确认消息,以实现建立启动器与该硬盘之间的第二连接。
如果第二硬盘不是连接在第一个转换芯片上的硬盘(假设第二硬盘连接在第w个转换芯片上,w=2、3……Q),第一个转换芯片中的处理单元从第一个转换芯片与第二个转换芯片之间的至少一条链路中选择一个空闲链路,通过与该选择的链路连接的第二端口在该选择的链路上发送连接请求,以及将第二硬盘的标识和该第一端口的端口号对应保存在第一个转换芯片中的存储单元的上行路由表中,将第二硬盘的标识和该第二端口的端口号对应保存在第一个转换芯片中的存储单元的下行路由表中。第j个转换芯片中的处理单元通过第j个转换芯片中的一个第一端口接收第j-1个转换芯片发送的该连接请求,j=2、3……w-1,在确定第二硬盘不是连接在第j个转换芯片上的硬盘时,从第j个转换芯片与第j+1个转换芯片之间的至少一条链路中选择一个空闲链路,通过与该选择的链路连接的第二端口在该选择的链路上发送连接请求,以及将第二硬盘的标识和该第一端口的端口号对应保存在第j个转换芯片中的存储单元的上行路由表中,将第二硬盘的标识和该第二端口的端口号对应保存在第j个转换芯片中的存储单元的下行路由表中。其中,该连接请求经过第二个转换芯片、第三个转换芯片直至第w-1个转换芯片,并由第w-1个转换芯片转发至第w个转换芯片。
第w个转换芯片中的处理单元通过第w个转换芯片中的一个第一端口接收该连接请求,在确定第二硬盘是连接在第w个转换芯片上的硬盘时,则确定第w个转换芯片中的第三端口,其中第二硬盘通过物理链路连到该第三端口,第w个转换芯片的处理单元通过该第三端口在该物理链路上发送该连接请求,将第二硬盘的标识和该第一端口的端口号对应保存在第w个转换芯片中的存储单元的上行路由表中,以及将第二硬盘的标识和该第三端口的端口号对应保存在第w个转换芯片中的存储单元的下行路由表中。第二硬盘从该物理链路上接收该连接请求,在该物理链路上发送包括第二硬盘的标识的确认消息;第w个转换芯片中的处理单元通过与该物理链路连接的第三端口接收该确认消息,根据该确认消息中第二硬盘的标识从第w个转换芯片中的存储单元的上行路由表中查找出对应的第一端口的端口号,通过该第一端口的端口号对应的第一端口在链路上发送该确认消息。
第j个转换芯片中的处理单元通过第j个转换芯片中一个的第二端口接收该确认消息,根据该确认消息中的第二硬盘的标识从第j个转换芯片中的存储单元的上行路由表中查找出对应的第一端口的端口号,通过该第一端口的端口号对应的第一端口发送该确认消息。其中,该确认消息经过第w-1个转换芯片、第w-2个转换芯片直至第二个转换芯片,并由第二个转换芯片转发至第一个转换芯片。第一个转换芯片中的处理单元通过第一个转换芯片中的一个第二端口接收该确认消息,根据该确认消息中的第二硬盘的标识从第一个转换芯片中的存储单元的上行路由表中查找出对应的第一端口的端口号,通过该第一端口的端口号对应的第一端口在第一目标链路上发送该确认消息,启动器中的控制单元通过与第一目标链路相连的第二端口接收该确认消息,以实现建立启动器与第二硬盘之间的第二连接。
可选的,建立完启动器与第二硬盘之间的第二连接,启动器可以通过第二连接向第二硬盘发送第一读写请求,实现过程为:
启动器中的控制单元通过与第一目标链路相连的第二端口在第一目标链路上发送第一读写请求,第一读写请求包括第二硬盘的标识。第一个转换芯片中的处理单元通过第一个转换芯片中的与第一目标链路相连的第一端口接收第一读写请求,根据第一读写请求包括的第二硬盘的标识,从第一个转换芯片中的存储单元中的下行路由表中查找出对应的端口号。
其中第二硬盘为连接到第w个转换芯片上的硬盘,如果w等于1,即第w个转换芯片为与启动器连接的第一个转换芯片,则第一个转换芯片中的处理单元查找的端口号为第三端口的端口号,通过该第三端口的端口号对应的第三端口向第二硬盘发送第一读写请求。
如果w大于1,第一转换芯片中的处理单元查找的端口号为第二端口的端口号,通过该第二端口的端口号对应的第二端口向第二个转换芯片发送第一读写请求。第j个转换芯片的处理单元通过一个第一端口接收第j-1个转换芯片发送的第一读写请求,根据第二硬盘的标识从第j个转换芯片的存储单元的下行路由表中查找对应的第二端口的端口号,通过该第二端口的端口号对应的第二端口向第j+1个转换芯片发送第一读写请求。其中,第一读写请求经过第二个转换芯片、第三个转换芯片直至第w-1个转换芯片,并由第w-1个转换芯片转发至第w个转换芯片。第w个转换芯片中的处理单元通过一个第一端口接收第w-1个转换芯片发送的第一读写请求,根据第二硬盘的标识从第w个转换芯片的存储单元的下行路由表中查找对应的第三端口的端口号,通过该第三端口的端口号对应的第三端口向第二硬盘发送第一读写请求。
可选的,启动器建立与第三硬盘之间的第三连接以及发送第二读写请求的实现过程可以参见上述描述,在此不再详细说明。
可选的,当每个链路集合中的每个链路对应相同时间周期时,在当前时间周期的第一时间段,如果启动器存储有在第一时间段开始之前接收并未发送的来自设备的处理器发送的第一读写请求时,第一读写请求包括第二硬盘的标识,第二硬盘为该P个硬盘中的任一个硬盘,启动器可以根据第二硬盘的标识,在第二目标链路上建立与第二硬盘之间的第二连接,通过第二连接向第二硬盘发送第一读写请求,第二目标链路为该链路集合中的任一条链路。
以及,在当前时间周期的第一时间段,启动器接收设备的处理器发送的第二读写请求,第二读写请求包括第三硬盘的标识,第三硬盘为该P个硬盘中的任一个硬盘;启动器可以根据第三硬盘的标识,在第三目标链路上建立与第三硬盘之间的第三连接,通过第三连接向第三硬盘发送第二读写请求,第三目标链路为该链路集合中的任一条链路。
其中,在第一时间段内,链路集合中的链路处于空闲状态,除链路集合以外的其他链路可能被硬盘占用,这样启动器中存在读写请求或接收到读写请求时,优先选择在链路集合中的链路上建立第二连接或第三连接。
可选的,启动器在第二目标链路上建立第二连接以及发送第一读写请求的实现过程,在第三目标链路上建立第三连接以及发送第二读写请求的实现过程可以参见上述描述,在此不再详细说明。
在本申请实施例中,第一目标链路对应的标识信息包括第一标识信息和第二标识信息,交替地为第一目标链路设置第一标识信息和第二标识信息,这样在标识信息为第一标识信息的时间段内,即在当前时间周期的第一时间段内,通过第一标识信息指示启动器拒绝在第一目标链路上建立硬盘请求建立的连接,如此在第一时间段内第一目标链路不会被硬盘占用,这样对于发送给硬盘的读写请求,启动器可以在第一目标链路上建立与硬盘的连接并通过该连接向硬盘发送该读写请求,启动器在发送完该读写请求后立即释放第一目标链路,这样启动器就可以在第一目标链路上立即给其他硬盘发送读写请求,也就是说在每个时间周期的第一时间段内启动器可以在第一目标链路上连续向硬盘发送在第一时间段之前的第二时间段内接收且还未发送的各读写请求和在第一时间段内接收的各读写请求,又由于相邻两个第一时间段之间只间隔一个第二时间段,这样读写请求在启动器中被堵住的时间不超过第二时间段的时间长度,避免了大量的读写请求长时间堵在启动器中。
参见图3,本申请实施例提供了一种对硬盘进行管理的方法,该方法可以应用上述图1-1至1-6所示的系统中,该方法的执行主体可以为启动器,包括:
步骤301:启动器在第一目标链路上接收第一硬盘发送的连接请求,第一目标链路为启动器与转换电路之间的任一条链路,第一硬盘为P个硬盘中的任一个硬盘。
其中,启动器接收连接请求的详细实现方式可以参见上述步骤201中的相关内容,在此不再详细说明。
步骤302:启动器判断第一目标链路是否为链路集合中的链路,链路集合包括启动器与转换电路之间的至少一条链路,如果是,则执行步骤303,如果否,则执行步骤305。
对于启动器与第一个转换芯片之间的m条链路,在执行本步骤之前,可以由启动器中的控制单元或设备的处理器从该m条链路中选择m1条链路组成链路集合。
对于该m1条链路,可以从该m条链路中随机选择m1链路,或者,选择预设的m1链路,或者,从该m条链路中选择编号最小的m1链路,或者,从该m条链路中选择编号最大的m1条链路。
可选的,可以将选择m1条链路的编号组成链路集合。
在本步骤中,启动器中的控制单元可以获取第一目标链路的编号,如果第一目标链路的编号与该链路集合中的某条链路的编号相同,则判断第一目标链路是链路集合中的链路,如果第一目标链路的编号与该链路集合中的每条链路的编号不同,则判断第一目标链路不是链路集合中的链路。
步骤303:启动器获取接收该连接请求的时间所在的时间段,如果该时间段为当前时间周期的第一时间段,则执行步骤304,如果该时间段为当前时间周期的第二时间段,则执行步骤305。
在本步骤中存在一个计时器,该计时器周期性地计时,该计时器可以从零开始计时,每当计时时间达到预设周期长度时从零开始计时。
可选的,该计时器可以位于设备的处理器中或启动器中。
可选的,在本步骤中将每个时间周期分成两个时间段,分别为第一时间段和第二时间段,第一时间段的时间长度小于第二时间段的时间长度。例如,假设一个时间周期的周期长度为600ms,对于每个时间周期,将该时间周期的前100ms的时间段划分为第一时间段,将该时间周期的后500ms的时间段划分为第二时间段。
在本步骤中,启动器从该计时器读取当前时间,得到接收该连接请求的时间,确定该时间所在的时间段,然后对该时间段进行判断。例如,启动器从该计时器读取当前时间为50ms,得到接收该连接请求的时间为50ms,确定该时间所在的时间段为0至100ms的第一时间段,即当前时间所在的时间段为当前时间周期的第一时间段。
步骤304:启动器拒绝在第一目标链路上建立与第一硬盘之间的第一连接。
其中,启动器拒绝建立第一连接的详细实现方式可以参见上述步骤203中的相关内容,在此不再详细说明。
可选的,在第一时间段内,如果启动器存储有在第一时间段开始之前接收并未发送的来自设备的处理器的第一读写请求时,第一读写请求包括第二硬盘的标识,第二硬盘为该P个硬盘中的任一个硬盘,启动器可以根据第二硬盘的标识,在第二目标链路上建立与第二硬盘之间的第二连接,通过第二连接向第二硬盘发送第一读写请求,第二目标链路为链路集合中的任一个链路。
可选的,在第一时间段内,启动器接收设备的处理器发送的第二读写请求,第二读写请求包括第三硬盘的标识,第三硬盘为该P个硬盘中的任一个硬盘;启动器可以根据第三硬盘的标识,在第三目标链路上建立与第三硬盘之间的第三连接,通过第三连接向第三硬盘发送第二读写请求,第三目标链路为链路集合中的任一个链路。
其中,在第一时间段内,链路集合中的链路处于空闲状态,除链路集合以外的其他链路可能被硬盘占用,这样启动器中存在来自设备处理器的读写请求或接收到来自设备处理器的读写请求时,优先选择在链路集合中的链路上建立连接。
步骤305:启动器在第一目标链路上建立与第一硬盘之间的第一连接。
其中,启动器建立第一连接的详细实现方式可以参见上述步骤204中的相关内容,在此不再详细说明。
其中,步骤304和步骤305的执行顺序没有先后之分,启动器根据步骤303中的判断结果,来决定执行步骤304或执行步骤305。
在本申请实施例中,启动器从第一目标链路上接收硬盘发送的连接请求,如果第一目标链路为链路集合中的链路且当前时间所在的时间段为当前时间周期的第一时间段,则启动器拒绝在第一目标链路上建立硬盘请求建立的连接,第一目标链路为链路集合中的任一链路,如此在第一时间段内链路集合中的各链路不会被硬盘占用,这样对于发送给硬盘的读写请求,启动器可以在链路集合中的链路上建立与硬盘的连接并通过该连接向硬盘发送该读写请求,启动器在发送完该读写请求后立即释放该链路,这样启动器就可以在该链路上立即给其他硬盘发送读写请求,也就是说在每个时间周期的第一时间段内启动器可以在链路集合中的链路上连续向硬盘发送在第一时间段之前的第二时间段内接收且还未发送的各读写请求和在第一时间段内接收的各读写请求,又由于相邻两个第一时间段之间只间隔一个第二时间段,这样读写请求在启动器中被堵住的时间不超过第二时间段的时间长度,避免了大量的读写请求长时间堵在启动器中。
参见图4,本申请实施例提供了一种对硬盘进行管理的装置400,所述装置400可以为上述任一实施例中的启动器,所述装置400应用于包括所述装置400、转换电路和P个硬盘的设备,所述装置400和转换电路之间存在m条链路,m为大于1的整数,P为大于m的整数,所述P个硬盘中的每个硬盘连接到所述转换电路,所述装置400包括:
接收单元401,用于在第一目标链路上接收第一硬盘发送的连接请求,所述第一硬盘为该P个硬盘中的任一个硬盘;
处理单元402,用于在所述第一目标链路为链路集合中的链路以及接收所述连接请求的时间在当前时间周期的第一时间段内时,拒绝在所述第一目标链路上建立与所述第一硬盘之间的第一连接,当前时间周期包括第一时间段和除第一时间段以外的第二时间段,所述链路集合包括所述m条链路中至少一条的链路。
可选的,所述处理单元402,还用于在所述第一目标链路为所述链路集合中的链路以及接收所述连接请求的时间在当前时间周期的第二时间段内时,在所述第一目标链路上建立与所述第一硬盘之间的第一连接。
可选的,所述设备还包括处理器,所述处理器与所述装置400连接,所述装置400还包括:发送单元403;
所述处理单元402,还用于在所述第一时间段内且所述装置存储有在所述第一时间段开始之前接收并未发送的来自所述处理器的第一读写请求时,所述第一读写请求包括第二硬盘的标识,所述第二硬盘为所述P个硬盘中的任一个硬盘,根据所述第二硬盘的标识,在第二目标链路上建立与所述第二硬盘之间的第二连接,所述第二目标链路为所述链路集合中的任一条链路;所述发送单元403,用于通过所述第二连接向所述第二硬盘发送所述第一读写请求;或者,
所述接收单元401,还用于在所述第一时间段内,接收所述处理器发送的第二读写请求,所述第二读写请求包括第三硬盘的标识,所述第三硬盘为所述P个硬盘中的任一个硬盘;所述处理单元402,还用于根据所述第三硬盘的标识,在第三目标链路上建立与所述第三硬盘之间的第三连接,所述第三目标链路为所述链路集合中的任一条链路;所述发送单元403,用于通过所述第三连接向所述第三硬盘发送所述第二读写请求。
可选的,所述装置400包括所述第一目标链路对应的寄存器,所述处理单元402,还用于:
检测所述寄存器是否存储有标识信息,所述标识信息用于指示所述处理单元402是否拒绝建立所述第一硬盘在所述第一目标链路上请求建立的连接,如果检测出存储有所述标识信息,则根据所述标识信息确定接收所述连接请求的时间在当前时间周期的时间段。
可选的,所述标识信息包括第一标识信息和第二标识信息,所述处理单元402,还用于:
在所述第一时间段开始时将所述寄存器存储的标识信息更新为第一标识信息,所述第一标识信息用于指示所述处理单元402拒绝建立所述第一硬盘在所述第一目标链路上请求建立的连接;
在所述第二时间段开始时将所述寄存器存储的标识信息更新为第二标识信息,所述第二标识信息用于指示所述处理单元402在所述第一目标链路上建立所述第一硬盘请求建立的连接。
可选的,所述处理单元402,用于:
在所述寄存器存储有所述第一标识信息时,确定接收所述连接请求的时间在当前时间周期的第一时间段;
在所述寄存器存储有所述第二标识信息时,确定接收所述连接请求的时间在当前时间周期的第二时间段。
可选的,所述设备包括计时器,所述计时器用于从零开始计时并每当计时时间达到预设周期长度时继续从零开始计时;
所述处理单元402,还用于读取所述计时器计时的当前时间,得到接收所述连接请求的时间,确定接收所述连接请求的时间在当前时间周期的时间段。
可选的,所述处理单元402,还用于在检测出所述第一连接存在的时间长度达到预设时间长度时,断开与所述第一硬盘之间的第一连接。
可选的,所述装置400按时间周期周期性循环对硬盘进行管理,所述第一时间段的时间长度小于所述第二时间段的时间长度。
在本申请实施例中,接收单元在第一目标链路上接收到第一硬盘发送的连接请求,由于第一目标链路为链路集合中的链路,处理单元在当前时间位于当前时间周期的第一时间段时,拒绝在第一目标链路上建立与第一硬盘之间的第一连接,如此在第一时间段内第一目标链路不会被硬盘占用,这样对于发送给硬盘的读写请求,可以在第一目标链路上建立与硬盘的连接并通过该连接向硬盘发送该读写请求,在发送完该读写请求后立即释放第一目标链路,就可以在第一目标链路上立即给其他硬盘发送读写请求,也就是说在每个时间周期的第一时间段内可以在第一目标链路上连续向硬盘发送在第一时间段之前的第二时间段内接收且还未发送的各读写请求和在第一时间段内接收的各读写请求,又由于相邻两个第一时间段之间只间隔一个第二时间段,这样读写请求在启动器中被堵住的时间不超过第二时间段的时间长度,避免了大量的读写请求长时间堵在所述装置中。
参见图5,图5所示为本申请实施例提供的一种对硬盘进行管理的装置500示意图。该装置500包括至少一个控制器501、至少一个存储器502、至少一个端口503和总线504。
该装置500是一种硬件结构的装置,可以用于实现图4所述的装置中的功能单元或图1-6所示的实施例中功能单元。例如,本领域技术人员可以想到图4所示的装置400中的处理单元402或图1-6所示实施例中的控制单元61可以通过该至少一个控制器501调用至少一个存储器502中的代码来实现,图4所示的装置400中的接收单元401、发送单元403可以通过至少一个端口503来实现。
上述总线504可包括一通路,在上述组件之间传送信息。上述存储器502可以包括至少一个寄存器。上述控制器501可以是由多个电子元器件组成的集成电路。
可选的,该装置500包括至少一个控制器501、至少一个存储器502、至少一个端口503和总线504可以在一块或多块半导体材料上进行加工得到。该半导体材料可以是硅晶圆等材料。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (17)
1.一种对硬盘进行管理的方法,其特征在于,所述方法应用于包括建立模块、转换电路和P个硬盘的设备,所述建立模块和所述转换电路之间存在m条链路,m为大于1的整数,P为大于m的整数,所述P个硬盘中的每个硬盘连接到所述转换电路,所述方法包括:
所述建立模块在第一目标链路上接收第一硬盘发送的连接请求,所述第一硬盘为所述P个硬盘中的任一个硬盘;
在所述第一目标链路为链路集合中的链路以及接收所述连接请求的时间在当前时间周期的第一时间段内时,所述建立模块拒绝在所述第一目标链路上建立与所述第一硬盘之间的第一连接,所述当前时间周期包括所述第一时间段和除所述第一时间段以外的第二时间段,所述链路集合包括所述m条链路中至少一条的链路。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一目标链路为所述链路集合中的链路以及接收所述连接请求的时间在所述当前时间周期的第二时间段内时,所述建立模块在所述第一目标链路上建立与所述第一硬盘之间的第一连接。
3.如权利要求1或2所述的方法,其特征在于,所述设备还包括处理器,所述处理器与所述建立模块连接,所述方法还包括:
在所述第一时间段内且所述建立模块存储有在所述第一时间段开始之前接收并未发送的来自所述处理器的第一读写请求时,所述第一读写请求包括第二硬盘的标识,所述第二硬盘为所述P个硬盘中的任一个硬盘,所述建立模块根据所述第二硬盘的标识,在第二目标链路上建立与所述第二硬盘之间的第二连接,通过所述第二连接向所述第二硬盘发送所述第一读写请求,所述第二目标链路为所述链路集合中的任一条链路;或者,
在所述第一时间段内,所述建立模块接收所述处理器发送的第二读写请求,所述第二读写请求包括第三硬盘的标识,所述第三硬盘为所述P个硬盘中的任一个硬盘,根据所述第三硬盘的标识,在第三目标链路上建立与所述第三硬盘之间的第三连接,通过所述第三连接向所述第三硬盘发送所述第二读写请求,所述第三目标链路为所述链路集合中的任一条链路。
4.如权利要求1或2所述的方法,其特征在于,所述建立模块包括所述第一目标链路对应的寄存器,所述接收第一硬盘发送的连接请求之后,所述方法还包括:
检测所述寄存器是否存储有标识信息,所述标识信息用于指示所述建立模块是否拒绝建立所述第一硬盘在所述第一目标链路上请求建立的连接,如果检测出存储有所述标识信息,则根据所述标识信息确定接收所述连接请求的时间在当前时间周期的时间段。
5.如权利要求4所述的方法,其特征在于,所述检测所述寄存器是否存储有预设的标识信息之前,所述方法还包括:
在所述第一时间段开始时将所述寄存器存储的标识信息更新为第一标识信息,所述第一标识信息用于指示所述建立模块拒绝建立所述第一硬盘在所述第一目标链路上请求建立的连接;
在所述第二时间段开始时将所述寄存器存储的标识信息更新为第二标识信息,所述第二标识信息用于指示所述建立模块在所述第一目标链路上建立所述第一硬盘请求建立的连接。
6.如权利要求5所述的方法,其特征在于,所述根据所述标识信息确定接收所述连接请求的时间在当前时间周期的时间段,包括:
在所述寄存器存储有所述第一标识信息时,所述建立模块确定接收所述连接请求的时间在当前时间周期的第一时间段;
在所述寄存器存储有所述第二标识信息时,所述建立模块确定接收所述连接请求的时间在当前时间周期的第二时间段。
7.如权利要求1或2所述的方法,其特征在于,所述设备包括计时器,所述计时器用于从零开始计时并每当计时时间达到预设周期长度时继续从零开始计时;
所述接收第一硬盘发送的连接请求之后,还包括:
读取所述计时器计时的当前时间,得到接收所述连接请求的时间,确定接收所述连接请求的时间在当前时间周期的时间段。
8.如权利要求1或2所述的方法,其特征在于,所述建立模块用于通过所述转换电路读写所述P个硬盘。
9.如权利要求1或2所述的方法,其特征在于,所述建立模块按时间周期周期性循环地对硬盘进行管理,所述第一时间段的时间长度小于所述第二时间段的时间长度。
10.一种对硬盘进行管理的装置,其特征在于,所述装置应用于包括所述装置、转换电路和P个硬盘的设备,所述装置和所述转换电路之间存在m条链路,m为大于1的整数,P为大于m的整数,所述P个硬盘中的每个硬盘连接到所述转换电路,所述装置包括:
接收单元,用于在第一目标链路上接收第一硬盘发送的连接请求,所述第一硬盘为所述P个硬盘中的任一个硬盘;
处理单元,用于在所述第一目标链路为链路集合中的链路以及接收所述连接请求的时间在当前时间周期的第一时间段内时,拒绝在所述第一目标链路上建立与所述第一硬盘之间的第一连接,所述当前时间周期包括所述第一时间段和除所述第一时间段以外的第二时间段,所述链路集合包括所述m条链路中至少一条的链路。
11.如权利要求10所述的装置,其特征在于,所述处理单元,还用于在所述第一目标链路为所述链路集合中的链路以及接收所述连接请求的时间在所述当前时间周期的第二时间段内时,在所述第一目标链路上建立与所述第一硬盘之间的第一连接。
12.如权利要求10或11所述的装置,其特征在于,所述设备还包括处理器,所述处理器与所述装置连接,所述装置还包括:发送单元;
所述处理单元,还用于在所述第一时间段内且所述装置存储有在所述第一时间段开始之前接收并未发送的来自所述处理器的第一读写请求时,所述第一读写请求包括第二硬盘的标识,所述第二硬盘为所述P个硬盘中的任一个硬盘,根据所述第二硬盘的标识,在第二目标链路上建立与所述第二硬盘之间的第二连接,所述第二目标链路为所述链路集合中的任一条链路;所述发送单元,用于通过所述第二连接向所述第二硬盘发送所述第一读写请求;或者,
所述接收单元,还用于在所述第一时间段内,接收所述设备的处理器发送的第二读写请求,所述第二读写请求包括第三硬盘的标识,所述第三硬盘为所述P个硬盘中的任一个硬盘;所述处理单元,还用于根据所述第三硬盘的标识,在第三目标链路上建立与所述第三硬盘之间的第三连接,所述第三目标链路为所述链路集合中的任一条链路;所述发送单元,用于通过所述第三连接向所述第三硬盘发送所述第二读写请求。
13.如权利要求10或11所述的装置,其特征在于,所述装置包括所述第一目标链路对应的寄存器,所述处理单元,还用于:
检测所述寄存器是否存储有标识信息,所述标识信息用于指示所述处理单元是否拒绝建立所述第一硬盘在所述第一目标链路上请求建立的连接,如果检测出存储有所述标识信息,则根据所述标识信息确定接收所述连接请求的时间在当前时间周期的时间段。
14.如权利要求13所述的装置,其特征在于,所述处理单元,还用于:
在所述第一时间段开始时将所述寄存器存储的标识信息更新为第一标识信息,所述第一标识信息用于指示所述处理单元拒绝建立所述第一硬盘在所述第一目标链路上请求建立的连接;
在所述第二时间段开始时将所述寄存器存储的标识信息更新为第二标识信息,所述第二标识信息用于指示所述处理单元在所述第一目标链路上建立所述第一硬盘请求建立的连接。
15.如权利要求14所述的装置,其特征在于,所述处理单元,用于:
在所述寄存器存储有所述第一标识信息时,确定接收所述连接请求的时间在当前时间周期的第一时间段;
在所述寄存器存储有所述第二标识信息时,确定接收所述连接请求的时间在当前时间周期的第二时间段。
16.如权利要求10或11所述的装置,其特征在于,所述设备包括计时器,所述计时器用于从零开始计时并每当计时时间达到预设周期长度时继续从零开始计时;
所述处理单元,还用于读取所述计时器计时的当前时间,得到接收所述连接请求的时间,确定接收所述连接请求的时间在当前时间周期的时间段。
17.如权利要求10或11所述的装置,其特征在于,所述时间周期周期性循环,所述第一时间段的时间长度小于所述第二时间段的时间长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810950578.1A CN109445680B (zh) | 2018-08-20 | 2018-08-20 | 一种对硬盘进行管理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810950578.1A CN109445680B (zh) | 2018-08-20 | 2018-08-20 | 一种对硬盘进行管理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109445680A CN109445680A (zh) | 2019-03-08 |
CN109445680B true CN109445680B (zh) | 2020-03-31 |
Family
ID=65532610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810950578.1A Active CN109445680B (zh) | 2018-08-20 | 2018-08-20 | 一种对硬盘进行管理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109445680B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291575A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种数据中心故障时的处理方法和设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8112564B2 (en) * | 2005-06-28 | 2012-02-07 | Intel Corporation | Hard disk drive staggered spin-up mechanism |
EP2071469B1 (en) * | 2006-12-20 | 2012-05-16 | Fujitsu Limited | Communication processing method, device and program |
WO2009060459A2 (en) * | 2007-11-09 | 2009-05-14 | Plurality | Shared memory system for a tightly-coupled multiprocessor |
US8589629B2 (en) * | 2009-03-27 | 2013-11-19 | Advanced Micro Devices, Inc. | Method for way allocation and way locking in a cache |
US9146610B2 (en) * | 2010-09-25 | 2015-09-29 | Intel Corporation | Throttling integrated link |
US9015396B2 (en) * | 2012-09-18 | 2015-04-21 | Apple Inc. | Reducing latency in a peripheral component interconnect express link |
US9864694B2 (en) * | 2015-05-04 | 2018-01-09 | Arm Limited | Tracking the content of a cache using a way tracker having entries with a cache miss indicator |
-
2018
- 2018-08-20 CN CN201810950578.1A patent/CN109445680B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291575A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种数据中心故障时的处理方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109445680A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109792409B (zh) | 用于在拥塞事件期间丢弃消息的方法、系统和计算机可读介质 | |
CN106850402B (zh) | 消息的传输方法和装置 | |
CN108494676B (zh) | 数据传输方法、装置、数据收发设备、系统及存储介质 | |
EP3116189A1 (en) | Service link selection control method and device | |
CN101873269B (zh) | 数据转发设备和端口缓存的分配方法 | |
CN101651629B (zh) | 一种cpu接收报文分级动态调度的方法及设备 | |
CN110430135B (zh) | 一种报文处理方法和装置 | |
EP3185598B1 (en) | Application registration method and apparatus | |
CN111801911B (zh) | 业务功能链拥塞跟踪 | |
CN115277407A (zh) | 网口配置处理方法、装置、电子设备和存储介质 | |
CN111884875A (zh) | 一种离线设备确定方法及装置 | |
CN109445680B (zh) | 一种对硬盘进行管理的方法及装置 | |
JP2012147104A (ja) | ネットワークノード | |
CN109286564B (zh) | 一种报文转发方法及装置 | |
CN112714159A (zh) | 消息转发方法和装置、存储介质及电子装置 | |
CN105204888B (zh) | 硬件功能更新方法及动态更新硬件功能的装置 | |
CN108390828B (zh) | 报文转发方法及装置 | |
WO2019165855A1 (zh) | 一种报文传输的方法及装置 | |
CN112152940A (zh) | 报文处理方法、装置以及系统 | |
CN105635989A (zh) | 一种群组数据的处理方法和基站以及终端 | |
CN114401218A (zh) | 一种数据报文的旁路转发方法及装置 | |
CN102752189A (zh) | 一种处理报文的方法及设备 | |
CN108111431B (zh) | 业务数据发送方法、装置、计算设备及计算机可读存储介质 | |
CN113630388B (zh) | 一种单向传输方法、装置、计算机设备以及可读存储介质 | |
CN112866133A (zh) | 用于获取共用最大分段大小mss的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |