CN117389733B - 一种减少开关链开销的sas i/o调度方法和装置 - Google Patents

一种减少开关链开销的sas i/o调度方法和装置 Download PDF

Info

Publication number
CN117389733B
CN117389733B CN202311399444.2A CN202311399444A CN117389733B CN 117389733 B CN117389733 B CN 117389733B CN 202311399444 A CN202311399444 A CN 202311399444A CN 117389733 B CN117389733 B CN 117389733B
Authority
CN
China
Prior art keywords
target
physical channel
disk
link
sending
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
CN202311399444.2A
Other languages
English (en)
Other versions
CN117389733A (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.)
Wuxi Zhongxing Microsystem Technology Co ltd
Original Assignee
Wuxi Zhongxing Microsystem Technology 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 Wuxi Zhongxing Microsystem Technology Co ltd filed Critical Wuxi Zhongxing Microsystem Technology Co ltd
Priority to CN202311399444.2A priority Critical patent/CN117389733B/zh
Publication of CN117389733A publication Critical patent/CN117389733A/zh
Application granted granted Critical
Publication of CN117389733B publication Critical patent/CN117389733B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)

Abstract

本发明提供了一种减少开关链开销的SAS I/O调度方法和装置,该方法包括,根据SAS HBA的多个物理通道的空闲状态确定要派发的目标物理通道,其中每个物理通道中设置两个发送缓冲器,用于缓存I/O;根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,并将待发送I/O列表中目标磁盘的I/O派发到目标物理通道的发送缓冲器中;当目标物理通道中的发送缓冲器中存在来自与目标物理通道已建链的目标磁盘的I/O时,保持目标物理通道与目标磁盘之间的链路,禁止链路层向所述目标物理通道发送链路关闭指令。本发明的技术方案降低了物理链路的无效传输和开关链开销,提高了链路利用率,提升了SAS存储系统的IOPS性能。

Description

一种减少开关链开销的SAS I/O调度方法和装置
技术领域
本发明属于存储系统领域,特别涉及一种减少开关链开销的SAS I/O调度方法和装置。
背景技术
在服务器存储系统架构中,HBA(Host Bus Adapter,总线适配器)通常作为主机和外围存储设备之间连接的桥梁,可以扩展服务器外围存储设备连接的数量,而且能够支持不同接口协议之间的转换,丰富了服务器系统的功能,同时满足了多样化系统应用场景。SAS(串行SCSI)HBA内部可以包含一个或多个SAS控制器。SAS控制器通过SAS总线与多级SASExpander扩展器连接,起到扩展存储网络的作用,从而可以连接大规模SAS/SATA磁盘。SAS通信业务中,每次执行发帧操作之前,都需要先发起open地址帧执行建链操作,然后才能执行正式的业务帧发送操作。在完成业务帧操作之后,还需要通过Done原语和Close原语的交互来关闭链路,将链路释放给其他设备使用。图1示出了SAS I/O发帧过程示意图。
在1级扩展器(Expander)场景下,开链时间一般大于300ns,关链时间一般大于100ns;如果是多级Expander级联,开关链时间将更长。而1个4K I/O的有效数据传输时间大约5000ns左右,如果单个I/O开关链1次,则开关链时间占比接近1O%(实际情况下可能多于1次)。因此,如何减少开关链开销的占比,是提升SAS存储系统IOPS(每秒完成的I/O处理个数)性能的关键所在。
图2示出了典型的SAS I/O调度示意图。存储系统中,HBA侧一般通过1个多通道的宽端口访问多个硬盘。尽管图2中的1个PHY代表1个物理通道,但硬盘数可能远多于HBA物理通道数。这种情况下,会存在多块硬盘竞争同一个物理通道的情况。
如图3所示,在HBA侧由派发单元DPH执行派发时,一般先选择一个空闲通道,然后通过轮询的方式选择一个需要访问的目标磁盘,从目标磁盘的待处理I/O缓存中选择1个I/O进行派发。
SAS物理通道收到派发指令后,完成组帧操作,发起建链,链路建立成功后完成业务帧的发送。在完成一个业务帧的发送之后,一般会直接发送Done原语,准备关链,等待下一次调度。此时如果目标盘利用SAS全双工的特性返回其他I/O的数据,由于HBA侧已经发送done原语,也无法再继续利用当前链路继续发送其他业务帧数据。
即时发送Done原语的优点是每个磁盘能够得到比较公平的调度。然而其缺点是可能会发生频繁开关链的情况,使得开关链时间占用链路有效时间的比例较高,导致图4所示的单链路单I/O的情况,特别是在小I/O场景中占比将会更高,因为无论是大I/O场景还是小I/O场景,开关链的时间都是固定的。
发明内容
本发明的目的在于提供一种减少开关链开销的SAS I/O调度方法和装置,旨在减少开关链时间在链路有效时间的占比。
根据本发明的第一方面,提供了一种减少开关链开销的SAS I/O调度方法,包括:
根据SAS HBA的多个物理通道的空闲状态确定要派发的目标物理通道,其中每个物理通道中设置两个发送缓冲器,用于缓存I/O命令或I/O数据;
根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,并将待发送I/O列表中目标磁盘的I/O命令或I/O数据派发到所述目标物理通道的发送缓冲器中;
当所述目标物理通道中的发送缓冲器中存在来自与目标物理通道已建链的目标磁盘的I/O命令或I/O数据时,保持所述目标物理通道与所述目标磁盘之间的链路,禁止链路层向所述目标物理通道发送链路关闭指令。
优选地,所述根据SAS HBA的多个物理通道的空闲状态确定要派发的目标物理通道,进一步包括:
当所述多个物理通道中有空闲物理通道时,选择空闲物理通道作为目标物理通道;
当没有空闲物理通道时,在多个物理通道之间进行轮询,选择发送缓冲器未满的物理通道作为目标物理通道。
优选地,所述根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,进一步包括:
当所述多个磁盘中有空闲磁盘时,将空闲磁盘的I/O命令或I/O数据派发到所述目标物理通道,其中所述空闲磁盘是当前在任何物理通道上都没有执行业务传输的磁盘;
当所述目标磁盘不是空闲磁盘时,在所述目标物理通道上继续派发已建链的目标磁盘的I/O命令或I/O数据。
优选地,所述将待发送I/O列表中目标磁盘的I/O命令或I/O数据派发到所述目标物理通道的发送缓冲器中,进一步包括:
如果没有空闲物理通道,并且所述目标物理通道的发送缓冲器未满,则将与所述目标物理通道已建链的目标磁盘的I/O命令或I/O数据派发到所述目标物理通道的空闲发送缓冲器中。
优选地,所述根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,进一步包括:
当所述目标磁盘超过预先配置的最大I/O发送长度时,则停止连续派发所述目标磁盘的I/O命令或I/O数据。
优选地,所述禁止链路层向所述目标物理通道发送链路关闭指令,进一步包括:
禁止所述链路层向所述目标物理通道发送Done原语。
根据本发明的第二方面,提供了一种减少开关链开销的SAS I/O调度装置,包括:
物理通道选择单元,用于根据SAS HBA的多个物理通道的空闲状态确定要派发的目标物理通道,其中每个物理通道中设置两个发送缓冲器,用于缓存I/O命令或I/O数据;
磁盘调度单元,用于根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,并将待发送I/O列表中目标磁盘的I/O命令或I/O数据派发到所述目标物理通道的发送缓冲器中;
链路保持单元,用于当所述目标物理通道中的发送缓冲器中存在来自与目标物理通道已建链的目标磁盘的I/O命令或I/O数据时,保持目标物理通道与目标磁盘之间的链路,禁止链路层向所述目标物理通道发送链路关闭指令。
相比于现有技术,本发明的技术方案降低了物理链路的无效传输和开关链开销,提高了链路利用率,进而提升了SAS存储系统的IOPS性能。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可以通过在说明书、权利要求书以及附图中所指出的结构和流程来实现和获取。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图进行简单介绍,显而易见的是,下面描述中的附图仅仅是本发明的某些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1是根据现有技术的典型SAS I/O发帧过程示意图。
图2是根据现有技术的典型SAS I/O存储系统结构图。
图3是根据现有技术的典型SAS I/O调度架构示意图。
图4是根据现有技术的物理通道上的SAS I/O传输过程示意图。
图5是根据本发明的优化后的SAS I/O传输过程示意图。
图6是根据本发明的减少开关链开销的SAS I/O调度方法的主要流程图。
图7是根据本发明的典型SAS I/O调度架构示意图。
图8是根据本发明优化后的SAS I/O调度流程示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
基于以上分析,本发明提出了一种减少开关链开销的SAS I/O调度方法。通过降低开关链时间在物理通道上业务传输时间上的占比,以提高IOPS性能。为了减少开关链时间,本发明在一次开链情况下,尽可能发送较多的I/O。优化后物理通道上的I/O传输示意图如图5所示。为了避免某一个设备长时间占用物理链路,影响不同磁盘之间的调度公平性,本发明进一步通过监控链路状态来自适应地控制I/O派发策略,使得数据传输更加高效和均衡。
在图5的物理通道结构的基础上,参见图6的流程图,本发明提供的所述高性能减少开关链开销的SAS I/O调度方法包括:
步骤101:根据SAS HBA的多个物理通道的空闲状态确定要派发的目标物理通道,其中每个物理通道中设置两个发送缓冲器,用于缓存I/O命令或I/O数据。
如图7所示,可以在每个物理通道中设置两个发送I/O命令或I/O数据的发送缓冲器Tx buffer,用于缓存待发送I/O命令或I/O数据。在发送第一个发送缓冲器的I/O时调度第二个发送缓冲器的I/O,包括获取I/O相关的上下文和发送数据等信息,为I/O的发送提前做好准备。两个Tx buffer实现乒乓操作,Tx buffer 1的I/O发送完毕后,立即执行Txbuffer 2中的I/O发送操作。
参见图8所示的优化后的SAS I/O调度流程示意图。为了实现均衡调度,当有空闲物理通道时,优先选择空闲物理通道作为目标物理通道。当没有空闲物理通道时,在多个物理通道之间进行RR轮询,选择发送缓冲器Tx buffer未满的物理通道作为目标物理通道。在进一步的实施例中,可以选择发送缓冲器的空闲空间最大的物理通道。
步骤102:根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,并将待发送I/O列表中目标磁盘的I/O命令或I/O数据派发到所述目标物理通道的发送缓冲器中。
当确定物理通道之后,需要确定存在待派发I/O命令或I/O数据的目标磁盘。为了实现均衡调度,优先将空闲磁盘的I/O命令或I/O数据派发到所确定的目标物理通道,其中空闲磁盘是当前在任何物理通道上都没有执行业务传输的磁盘。在一个具体的实施例中,在目标物理通道是空闲物理通道并且目标磁盘是空闲磁盘的情况下,当空闲物理通道收到派发指令后,执行组帧操作,与目标磁盘发起建链。如果目标物理通道不是空闲通道并且目标磁盘不是空闲磁盘,则在该物理通道上继续派发已建链的目标磁盘的I/O命令或I/O数据。在又一具体的实施例中,如果没有空闲物理通道,并且目标物理通道的发送缓冲器未满,则将与目标物理通道已建链的目标磁盘的I/O派发到目标物理通道的空闲发送缓冲器中。
步骤103:当所述目标物理通道中的发送缓冲器中存在来自与目标物理通道已建链的目标磁盘的I/O命令或I/O数据时,保持目标物理通道与目标磁盘之间的链路,禁止链路层向所述目标物理通道发送链路关闭指令。
在进一步的实施例中,实时监控每个已建立的链路的状态。确定当前通道的目标磁盘的状态,并当前链路是否已经接收到done原语,或者当前链路是否以及发送done原语。一旦当前链路发送done原语,则禁止向该链路派发I/O。
为了避免Link层提前发送Done原语,当发送缓冲器I/O非空且列表中的I/O命令或I/O数据对应的目标磁盘与当前链路对应的目标磁盘匹配时,禁止Link层发送Done原语。也就是说,仅当发送缓冲器中不包含针对已建链的目标磁盘的I/O命令或I/O数据时,才允许Link层发送Done原语以执行关链操作。
为了保证调度器与I/O发送引擎之间的配合,增加一个Done原语发送计时器,对Done原语发送操作执行如下控制:
如果接收到对端的Done原语,则启动所述Done原语发送计时器,并且当计时器超时范围内没有接收到新的I/O发送请求时,允许链路层发送Done原语,关闭该链路;如果在计时器超时之前接收到新的I/O发送请求,则在执行I/O发送操作之后发送Done原语;
如果没有接收到对端的Done原语,如果该链路的发送缓冲器中的I/O发送完毕,且没有新的I/O发送请求,直接发送Done原语关闭当前链路。
在优选的实施例中,为了保证磁盘之间的均衡性,对每个磁盘的最大I/O发送长度进行限制。当超过预先配置的发送长度后,如果其他通道均为忙状态并且存在其他磁盘的待发送I/O命令或I/O数据,则禁止连续派发当前磁盘的I/O命令或I/O数据,而是强制派发其他磁盘的I/O命令或I/O数据。
可见,本发明提出的减少开关链开销的SAS I/O调度方法和装置,与传统的SAS存储系统相比,降低了物理链路的无效传输和开关链开销,提高了链路利用率,进而提升了SAS存储系统的IOPS性能。
相应地,本发明在第二方面提供了一种减少开关链开销的SAS I/O调度装置,包括:
物理通道选择单元,用于根据SAS HBA的多个物理通道的空闲状态确定要派发的目标物理通道,其中每个物理通道中设置两个发送缓冲器,用于缓存I/O命令或I/O数据;
磁盘调度单元,用于根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,并将待发送I/O列表中目标磁盘的I/O命令或I/O数据派发到所述目标物理通道的发送缓冲器中;
链路保持单元,用于当所述目标物理通道中的发送缓冲器中存在来自与目标物理通道已建链的目标磁盘的I/O命令或I/O数据时,保持目标物理通道与目标磁盘之间的链路,禁止链路层向所述目标物理通道发送链路关闭指令。
上述装置可通过前述方面的实施例提供的减少开关链开销的SAS I/O调度方法实现,具体的实现方式可以参见减少开关链开销的SAS I/O调度方法的实施例中的描述,在此不再赘述。
可以理解,上述实施例中描述的存储拓扑结构和接口类型、数量等仅为举例。本领域技术人员还可以根据使用需要,对以上多个实施例的方法步骤和存储结构进行容易想到的组合和调整,而不应将本发明的构思限制于上述示例的具体结构和步骤。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

1.一种减少开关链开销的SAS I/O调度方法,其特征在于,包括:
根据SAS HBA的多个物理通道的空闲状态确定要派发的目标物理通道,其中每个物理通道中设置两个发送缓冲器,用于缓存I/O命令或I/O数据;所述两个发送缓冲器实现乒乓操作,在第一发送缓冲器的I/O发送的同时调度第二发送缓冲器的I/O,获取I/O上下文和发送数据等信息,以使第一发送缓冲器的I/O发送完毕后立即执行第二发送缓冲器中的I/O发送;
根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,并将待发送I/O列表中目标磁盘的I/O命令或I/O数据派发到所述目标物理通道的发送缓冲器中;
当所述目标物理通道中的发送缓冲器中存在来自与目标物理通道已建链的目标磁盘的I/O命令或I/O数据时,保持所述目标物理通道与所述目标磁盘之间的链路,禁止链路层向所述目标物理通道发送链路关闭指令;
所述根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,进一步包括:
当所述多个磁盘中有空闲磁盘时,将空闲磁盘的I/O命令或I/O数据派发到所述目标物理通道,其中所述空闲磁盘是当前在任何物理通道上都没有执行业务传输的磁盘;
当所述目标磁盘不是空闲磁盘时,在所述目标物理通道上继续派发已建链的目标磁盘的I/O命令或I/O数据;
所述方法进一步包括:
在所述目标物理通道是空闲物理通道并且所述目标磁盘是空闲磁盘的情况下,当所述空闲物理通道收到派发指令后,执行组帧操作,与目标磁盘发起建链;
在没有空闲物理通道并且所述目标物理通道的发送缓冲器未满的情况下,将与目标物理通道已建链的目标磁盘的I/O派发到所述目标物理通道的空闲发送缓冲器中;
所述禁止链路层向所述目标物理通道发送链路关闭指令,进一步包括:
实时监控每个已建立的链路的状态,确定当前通道的目标磁盘的状态,判断当前链路是否已经接收到Done原语,或者当前链路是否已经发送Done原语,一旦当前链路发送Done原语,则禁止向该链路派发I/O;
当发送缓冲器I/O非空并且列表中的I/O命令或I/O数据对应的目标磁盘与当前链路对应的目标磁盘匹配时,禁止所述链路层向所述目标物理通道发送Done原语,仅当所述发送缓冲器中不包含针对已建链的目标磁盘的I/O命令或I/O数据时,才允许所述链路层向所述目标物理通道发送Done原语以执行关链操作。
2.根据权利要求1所述的减少开关链开销的SAS I/O调度方法,其特征在于,所述根据SAS HBA的多个物理通道的空闲状态确定要派发的目标物理通道,进一步包括:
当所述多个物理通道中有空闲物理通道时,选择空闲物理通道作为目标物理通道;
当没有空闲物理通道时,在多个物理通道之间进行轮询,选择发送缓冲器未满的物理通道作为目标物理通道。
3.根据权利要求1所述的减少开关链开销的SAS I/O调度方法,其特征在于,所述根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,进一步包括:
当所述目标磁盘超过预先配置的最大I/O发送长度时,则停止连续派发所述目标磁盘的I/O命令或I/O数据。
4.一种减少开关链开销的SAS I/O调度装置,其特征在于,包括:
物理通道选择单元,用于根据SAS HBA的多个物理通道的空闲状态确定要派发的目标物理通道,其中每个物理通道中设置两个发送缓冲器,用于缓存I/O命令或I/O数据;所述两个发送缓冲器实现乒乓操作,在第一发送缓冲器的I/O发送的同时调度第二发送缓冲器的I/O,获取I/O上下文和发送数据等信息,以使第一发送缓冲器的I/O发送完毕后立即执行第二发送缓冲器中的I/O发送;
磁盘调度单元,用于根据多个磁盘的空闲状态和建链状态确定待调度的目标磁盘,并将待发送I/O列表中目标磁盘的I/O命令或I/O数据派发到所述目标物理通道的发送缓冲器中;
链路保持单元,用于当所述目标物理通道中的发送缓冲器中存在来自与目标物理通道已建链的目标磁盘的I/O命令或I/O数据时,保持目标物理通道与目标磁盘之间的链路,禁止链路层向所述目标物理通道发送链路关闭指令;
所述磁盘调度单元进一步配置为:
当所述多个磁盘中有空闲磁盘时,将空闲磁盘的I/O命令或I/O数据派发到所述目标物理通道,其中所述空闲磁盘是当前在任何物理通道上都没有执行业务传输的磁盘;
当所述目标磁盘不是空闲磁盘时,在所述目标物理通道上继续派发已建链的目标磁盘的I/O命令或I/O数据;
在所述目标物理通道是空闲物理通道并且所述目标磁盘是空闲磁盘的情况下,当所述空闲物理通道收到派发指令后,执行组帧操作,与目标磁盘发起建链;
在没有空闲物理通道并且所述目标物理通道的发送缓冲器未满的情况下,将与目标物理通道已建链的目标磁盘的I/O派发到所述目标物理通道的空闲发送缓冲器中;
所述链路保持单元,进一步用于:
实时监控每个已建立的链路的状态,确定当前通道的目标磁盘的状态,判断当前链路是否已经接收到Done原语,或者当前链路是否已经发送Done原语,一旦当前链路发送Done原语,则禁止向该链路派发I/O;
当发送缓冲器I/O非空并且列表中的I/O命令或I/O数据对应的目标磁盘与当前链路对应的目标磁盘匹配时,禁止所述链路层向所述目标物理通道发送Done原语,仅当所述发送缓冲器中不包含针对已建链的目标磁盘的I/O命令或I/O数据时,才允许所述链路层向所述目标物理通道发送Done原语以执行关链操作。
5.根据权利要求4所述的减少开关链开销的SAS I/O调度装置,其特征在于,所述物理通道选择单元进一步配置为:
当所述多个物理通道中有空闲物理通道时,选择空闲物理通道作为目标物理通道;
当没有空闲物理通道时,在多个物理通道之间进行轮询,选择发送缓冲器未满的物理通道作为目标物理通道。
6.根据权利要求4所述的减少开关链开销的SAS I/O调度装置,其特征在于,所述磁盘调度单元进一步配置为:
当所述目标磁盘超过预先配置的最大I/O发送长度时,则停止连续派发所述目标磁盘的I/O命令或I/O数据。
CN202311399444.2A 2023-10-25 2023-10-25 一种减少开关链开销的sas i/o调度方法和装置 Active CN117389733B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311399444.2A CN117389733B (zh) 2023-10-25 2023-10-25 一种减少开关链开销的sas i/o调度方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311399444.2A CN117389733B (zh) 2023-10-25 2023-10-25 一种减少开关链开销的sas i/o调度方法和装置

Publications (2)

Publication Number Publication Date
CN117389733A CN117389733A (zh) 2024-01-12
CN117389733B true CN117389733B (zh) 2024-04-26

Family

ID=89438747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311399444.2A Active CN117389733B (zh) 2023-10-25 2023-10-25 一种减少开关链开销的sas i/o调度方法和装置

Country Status (1)

Country Link
CN (1) CN117389733B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106102141A (zh) * 2016-05-31 2016-11-09 广东欧珀移动通信有限公司 一种基于数据包的处理方法及装置
CN111182330A (zh) * 2019-08-15 2020-05-19 腾讯科技(深圳)有限公司 视频播放方法及装置
CN112463064A (zh) * 2020-12-07 2021-03-09 无锡众星微系统技术有限公司 基于双链表结构的i/o指令管理方法及装置
CN112506431A (zh) * 2020-12-03 2021-03-16 无锡众星微系统技术有限公司 基于磁盘设备属性的i/o指令调度方法及装置
CN114020677A (zh) * 2021-11-08 2022-02-08 无锡众星微系统技术有限公司 一种stp连接管理方法和装置
CN116700604A (zh) * 2023-02-20 2023-09-05 无锡众星微系统技术有限公司 一种基于sas hba的数据传输方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311044B2 (en) * 2013-12-04 2016-04-12 Oracle International Corporation System and method for supporting efficient buffer usage with a single external memory interface

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106102141A (zh) * 2016-05-31 2016-11-09 广东欧珀移动通信有限公司 一种基于数据包的处理方法及装置
CN111182330A (zh) * 2019-08-15 2020-05-19 腾讯科技(深圳)有限公司 视频播放方法及装置
CN112506431A (zh) * 2020-12-03 2021-03-16 无锡众星微系统技术有限公司 基于磁盘设备属性的i/o指令调度方法及装置
CN112463064A (zh) * 2020-12-07 2021-03-09 无锡众星微系统技术有限公司 基于双链表结构的i/o指令管理方法及装置
CN114020677A (zh) * 2021-11-08 2022-02-08 无锡众星微系统技术有限公司 一种stp连接管理方法和装置
CN116700604A (zh) * 2023-02-20 2023-09-05 无锡众星微系统技术有限公司 一种基于sas hba的数据传输方法

Also Published As

Publication number Publication date
CN117389733A (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
US10412017B2 (en) Transfer device, transfer method, and computer program product
US5831985A (en) Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system
US6549960B1 (en) Architecture and apparatus for implementing 100 MBPS and GBPS ethernet address
CN106533872B (zh) 用于提高fc-ae-1553总线传输效率的系统
US6850998B2 (en) Disk array system and a method for controlling the disk array system
US20040015654A1 (en) Storage subsystem, information processing system and method of controlling I/O interface
CN110636139B (zh) 一种云负载均衡的优化方法及系统
JPH02103649A (ja) 制御装置および情報処理システム
CN112769905B (zh) 一种基于numa架构的飞腾平台下高性能网卡性能优化方法
CN104904169A (zh) 调整线程优先级以改进点到点(p2p)器件之间的吞吐量
US20080270643A1 (en) Transfer system, initiator device, and data transfer method
CN1335563A (zh) 总线系统和其数据传输方法
CN103650401B (zh) 一种移动终端内部通信方法
CN115086310B (zh) 一种高吞吐量、低延迟的数据包转发方法
CN116192772A (zh) 一种基于空间缓存的cpu收发包调度装置及方法
CN117389733B (zh) 一种减少开关链开销的sas i/o调度方法和装置
CN116827474A (zh) 一种时间敏感网络流量传输方法及系统
EP1506487B1 (en) Dma controller system including real-time data communication features
CN116471242A (zh) 基于rdma的发送端、接收端、数据传输系统及方法
CN115955441A (zh) 一种基于tsn队列的管理调度方法、装置
CN109800202A (zh) 一种基于pcie的数据传输系统、方法及装置
US20060067311A1 (en) Method of processing packet data at a high speed
US9619005B2 (en) Apparatus and method for saving power of USB device
US20050132099A1 (en) Network system, and device, method and program for controlling host interface
KR102260820B1 (ko) 대칭적 인터페이스 기반 인터럽트 신호 처리 장치 및 방법

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