一种I/O请求消息的处理方法及控制器与流程

文档序号:12926981阅读:来源:国知局
一种I/O请求消息的处理方法及控制器与流程

技术特征:
1.一种I/O请求消息的处理方法,所述方法应用于存储系统中,所述存储系统包括主机和存储设备,所述存储设备包括控制器、缓存和磁盘,其特征在于,所述方法包括:所述控制器接收所述主机发送的M个输入/输出I/O请求消息,M为大于1的自然数,其中每个所述I/O请求消息中包含起始地址,所述起始地址为逻辑块地址LBA;将所述M个I/O请求消息写入所述缓存;从所述缓存中获得N个I/O请求消息,所述N个I/O请求消息是所述M个I/O请求消息中最早接收的I/O请求消息的集合,其中,N为大于1的自然数,并且N小于或等于M,且获得的I/O请求消息的数目N等于截止时间T除以单个请求的处理时间,所述单个请求的处理时间是由磁盘类型和I/O请求消息的长度共同决定;按照每个所述I/O请求消息的起始地址将所述N个I/O请求消息排序,以获得K个I/O请求消息,其中,K为大于1的自然数;从所述缓存中获得所述K个I/O请求消息;将所述K个I/O请求消息依次发送给所述磁盘。2.根据权利要求1所述的方法,其特征在于,所述每个所述I/O请求消息中还包括长度;所述按照每个所述I/O请求消息的起始地址将所述N个I/O请求消息排序,以获得K个I/O请求消息,包括:按照每个所述I/O请求消息的起始地址,对所述N个I/O请求消息排序,以获得按照起始地址排序的N个I/O请求消息;依据每个I/O请求消息中包含的起始地址和长度,判断相邻的两个所述I/O请求消息是否连续;若相邻的两个所述I/O请求消息连续,将两个所述I/O请求消息的长度的和作为所述两个所述I/O请求消息中前一个所述I/O请求消息的长度,并删除后一个所述I/O请求消息,以合并相邻的两个所述I/O请求消息,获得按照起始地址排序的K个I/O请求消息,K小于或等于N。3.根据权利要求1所述的方法,其特征在于,所述控制器接收所述主机发送的M个I/O请求消息之后,所述方法还包括:按照接收时间从远到近的顺序,对所述M个I/O请求消息进行排序。4.一种控制器,所述控制器应用于存储设备,所述存储设备还包括缓存和硬盘,所述存储设备应用于存储系统,所述存储系统还包括主机;其特征在于,所述控制器包括:接收单元,用于接收所述主机发送的M个输入/输出I/O请求消息,M为大于1的自然数,其中每个所述I/O请求消息中包含起始地址,所述起始地址为逻辑块地址LBA;写入单元,用于将所述M个I/O请求消息写入所述缓存;获取单元,用于从所述缓存中获得N个I/O请求消息,所述N个I/O请求消息是所述M个I/O请求消息中最早接收的I/O请求消息的集合,其中,N为大于1的自然数,并且N小于或等于M,且获得的I/O请求消息的数目N等于截止时间T除以单个请求的处理时间,所述单个请求的处理时间是由磁盘类型和I/O请求消息的长度共同决定;处理单元,用于按照每个所述I/O请求消息的起始地址将所述N个I/O请求消息排序,以获得K个I/O请求消息,其中,K为大于1的自然数;读取单元,用于从所述缓存中获得所述K个I/O请求消息;发送单元,用于将所述K个I/O请求消息依次发送给所述磁盘。5.根据权利要求4所述的控制器,其特征在于,所述每个所述I/O请求消息中还包括长度;所述处理单元具体用于:按照每个所述I/O请求消息的起始地址,对所述N个I/O请求消息排序,以获得按照起始地址排序的N个I/O请求消息;依据每个I/O请求消息中包含的起始地址和长度,判断相邻的两个所述I/O请求消息是否连续;若相邻的两个所述I/O请求消息连续,将两个所述I/O请求消息的长度的和作为所述两个所述I/O请求消息中前一个所述I/O请求消息的长度,并删除后一个所述I/O请求消息,以合并相邻的两个所述I/O请求消息,获得按照起始地址排序的K个I/O请求消息,K小于或等于N。6.根据权利要求4所述的控制器,其特征在于,所述处理单元,还用于按照接收时间从远到近的顺序,对所述M个I/O请求消息进行排序。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1