存储 频道

I/O路径的逻辑成分- 设备驱动程序

设备驱动程序

在存储网络环境下,主机I / O控制器和存储设备的驱动程序是极端重要的部分。驱动程序是服务器软件中把数据传输到硬件的最后一步,也是从硬件接收数据的第一步。卷管理器和设备驱动程序的通信或者通过一个内部的功能,或者通过操作系统的某种机制。每一种情况下,设备驱动程序都接收I / O请求,并把该请求转换成适当的格式,通知目标设备。
 
设备驱动程序往往是使人惊讶和受挫的根源,由于设备驱动程序必须具有代码小、速度快且精度高的特性,所以开发及故障排除都很困难。设备驱动程序一般都在系统级运行,一旦出错,将会导致系统瘫痪和数据丢失。设备驱动程序必须适应于实际的中断和延迟,本质上,设备驱动程序是物理的,而不是逻辑的。开发存储网络设备的驱动程序是件很困难的工作,千万不要闭门造车。
 
设备驱动程序有时按模块化的分层方式设计,这就可能实现独立的主机(软件)和设备(硬件) 功能。依照这个方法,对一层做微小的改变并不影响到其他层,因而减少了产生问题的可能性。这个思想类似于网络的协议栈,它在各个相邻层之间定义明确的接口。
 
更高层的设备驱动程序具有可编程的接口,这样既简化了存储管理的开发工作,又简化了其他应用厂商的开发。它的例子之一是A d a p t e c的高级S C S I编程接口A S P I,这样的接口减少了在整体开发和系统测试两个方面的工作量,因而有利于软件和硬件的创新。
 
在基于串行S C S I的技术中,设备驱动程序的设计已经考虑使用模块化方法。在产生全新的设备和网络技术驱动程序时,保持操作系统的接口不变,因此,安装存储网络而不必改变它的上层软件是可能的。尽管模块化设计的优越性是显而易见的,但它却未发挥存储网络的所有潜力。图2 - 2 1是一个双层设备驱动程序的例子,它使加入新的设备独立于软件,因而更加简单。
0
相关文章