【技术实现步骤摘要】
基于双链表结构的I/O指令管理方法及装置
[0001]本专利技术属于磁盘阵列读写领域,特别涉及一种基于双链表结构的I/O指令管理方法及装置。
技术介绍
[0002]存储系统是满足大量数据应用读写需求的基础设施,其输入/输出(input/output,I/O)性能直接决定数据读写效率,是影响数据应用整体性能的关键因素。应用层软件下发I/O的策略、RAID卡软硬件对I/O指令的管理和调度、扩展卡Expander的带宽和数据交换性能、底层物理通道的带宽、磁盘本身的访问速率等,每一个环节都可能影响存储系统的I/O性能。
[0003]如图1所示,在典型的磁盘阵列系统中,主机通过RAID(Redundant Array of Independent Disks)卡、扩展卡(Expander)实现对数以千计的物理磁盘的访问,如SAS(Serial Attached SCSI)固态盘、SAS机械盘、SATA(Serial AT Attachment)机械盘等。主机应用层软件下发大量读写磁盘的I/O(input/output)指令,等 ...
【技术保护点】
【技术特征摘要】
1.一种基于双链表结构的I/O指令管理方法,其特征在于,包括:从内存中的I/O指令队列读取I/O指令;根据所述I/O指令的目标磁盘设备生成设备链表,并根据所述I/O指令生成与所述目标磁盘设备相对应的指令链表;通过对物理通道进行轮询,选择空闲状态的第一物理通道;从所述设备链表中选择第一磁盘设备;从所述第一磁盘设备对应的指令链表中选择第一I/O指令;将所述第一I/O指令和所述第一磁盘设备下发至所述第一物理通道。2.根据权利要求1所述的基于双链表结构的I/O指令管理方法,其特征在于,所述根据I/O指令的目标磁盘信息生成设备链表,并根据所述I/O指令生成对应于所述目标磁盘的指令链表,进一步包括:如果当前I/O指令的目标磁盘设备不在所述设备链表中,则将当前目标磁盘设备插入设备链表,同时将当前I/O指令插入当前目标磁盘设备所对应的指令链表中;如果所述当前目标磁盘设备已在设备链表中,则仅将所述当前I/O指令插入当前目标磁盘设备所对应的指令链表中。3.根据权利要求1所述的基于双链表结构的I/O指令管理方法,其特征在于,所述指令链表包括指令发送子链表和数据发送子链表,其中所述指令发送子链表用于表示指令发送请求,即下一帧为指令帧,所述数据发送子链表用于表示数据发送请求,即下一帧为写数据帧;所述从第一磁盘设备对应的指令链表中选择第一I/O指令,进一步包括:根据预先配置的优先级,从所述第一磁盘设备对应的所述指令发送子链表中选择第一指令帧,或从所述第一磁盘设备对应的所述数据发送子链表中选择第一写数据帧。4.根据权利要求1所述的基于双链表结构的I/O指令管理方法,其特征在于,所述将当前I/O指令插入当前目标磁盘设备所对应的指令链表中,进一步包括:根据当前I/O指令的优先级,确定将当前I/O指令挂载到所述指令链表的位置,所述位置包括指令链表的头部、尾部或中部。5.根据权利要求4所述的基于双链表结构的I/O指令管理方法,其特征在于,所述第一I/O指令是所述第一磁盘设备对应的指令链表的链头...
【专利技术属性】
技术研发人员:宁佐林,刘亿民,
申请(专利权)人:无锡众星微系统技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。