一般情况下,S-RAID 5只需一组或几组磁盘及其校验数据所在磁盘工作,需要调度其余磁盘进入待机状态,以便获得节能效果。为实现节能,需要根据请求队列的历史信息、I/O访问在逻辑空间的分布区域,感知当前负载流的随机性及其时间空间分布特征,从而进行磁盘节能调度算法设计。
用r =(tarrive,tfinish,status,pos,len)记录请求队列rq中的1个I/O请求,其中tarrive、tfinish、status、pos、len分别表示请求r的到来时间、完成时间、请求状态、起始逻辑地址和请求长度。请求状态包括等待、执行、完成等状态,请求长度以扇区为单位,用.r x表示请求r的参数x。
由请求r的逻辑地址pos到磁盘号j的映射f(r·pos),可以按以下方法求出:
●由pos利用式(3.3)求出该请求所在的组号p、组内块号q及条带号i;
●根据组号p、组内块号q、条带号i,求出pos指向的数据块数据D(i,p·Q + q);
●已知D(i,p·Q + q),根据式(3.1)得,当i + p·Q + q<N-1时,pos所在磁盘j=p·Q + q;否则j=p·Q + q + 1。(www.daowen.com)
对请求队列rq中各个I/O请求,根据其逻辑地址所在的磁盘,划分为N个集合:
其中0≤j<N,称Sj为磁盘j的请求集合,用numj表示集合Sj中元素的个数。
TPM算法虽然不适合基本RAID,但非常适合S-RAID 5,这是由顺序数据存储系统的负载特性和S-RAID 5的数据布局决定的。TPM算法在S-RAID 5中的实现如下:设定磁盘调度的时间阈值tth,系统当前时间为t,如果请求集合Sj中的请求满足式(3.4),则可以调度对应的磁盘j到待机状态。
下次需要访问该磁盘时,再将其调度到运行状态。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。