A method of storing data, the method comprises the following steps: small computer system interface structure SCSI request to join the request queue; according to the SCSI request to construct the SCSI command, and then submitted to the driver; by the SCSI command from the data stored in SCSI storage, SCSI layer to complete the input and output IO. After applying the embodiment of the invention, the delay of the IO can be avoided so as to improve the overall working performance.
【技术实现步骤摘要】
本申请涉及信息存储
,更具体地,涉及。
技术介绍
目前在Linux系统中,通过在内核构造BIO请求,能够异步提交用户态数据。BIO请求是通用块层向底层提交IO请求的一种通用描述,BIO请求的引入,能够统一不同块设备的IO接口。因为需要兼顾各种块设备的兼容性要求,通过BIO层的IO请求有着非常复杂的处理流程。BIO层会使用Ν00Ρ,CFQ等多种调度算法对IO进行合并和排序,并将IO提交给专门的处理线程进行下发。这样,就存在线程切换和调度算法的开销,导致cpu占用率大大上升,并加大了 IO延迟。参见附图1是基于Iinux系统的AIO的IO流程示意图。101、用户提交异步输入/输出ΑΙ0。102、在AIO内核接口构造块的输入和输出(BIO)请求。bio是Iinux内核中通用块层的一个核心数据结构,描述了块设备的I/o操作,它联系了内存缓冲区与块设备。103、将BIO请求加入请求队列。104、调度请求队列中BIO请求。105、根据BIO请求构造SCSI命令提交至底层驱动。106、SCSI层存储设备通过SCSI命令存储数据,SCSI层完成10。107、判断IO是否正确返回。108、若IO正确返回,则完成10。109、若块层处理错误,执行110。110、IO需要重试,则执行103 ;10不需要重试,则执行108。可见,在102-105中先将BIO请求排队,然后由BIO请求构造SCIS请求。在BIO请求排队的过程耗费时间,相应地增大了 IO延迟。此外,107-110中需要进行通用块层的错误处理。而若在通用块层的IO返回时,已经过了错误处理,并且隐藏具 ...
【技术保护点】
一种存储数据的方法,其特征在于,所述方法包括:将构造的小型计算机系统接口SCSI请求加入请求队列;根据所述SCSI请求构造SCSI命令,然后提交底层驱动;由SCSI命令从SCSI存储设备中存储数据后,SCSI层完成输入输出IO。
【技术特征摘要】
1.一种存储数据的方法,其特征在于,所述方法包括: 将构造的小型计算机系统接口 SCSI请求加入请求队列; 根据所述SCSI请求构造SCSI命令,然后提交底层驱动; 由SCSI命令从SCSI...
【专利技术属性】
技术研发人员:陈国民,
申请(专利权)人:创新科存储技术有限公司,创新科存储技术深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。