SAT:scsi 命令到 ata 命令的转换协议 . scsi ata translate.
对于一个SATA device来说其接收的命令必须遵守SATA和ATA协议。
而对于OS而言,一般都会直接将从文件系统的下发的命令转化成SCSI命令,如果TARGET设备遵从SCSI协议,则进行SAM传输层包装则可以通过HBA卡发往target设备。 而如果target设备是sata设备,则需要进行SAT转化,而SAT转化有多种型式,不同的型式对性能也会产生不同的影响。
1) 在主机端进行SAT转化
在主机端进行SAT转化,是指在插HBA卡的主机上进行SAT转化,以软件的形式进行。包括OS转化,例如LINUX提供的LIBATA和windows 操作系统中提供的ATAPORT驱动都包括这个功能。 在种型式的转化,不需要额外的硬件,成本最低,但是其会影响HOST CPU的使用率。若此HOST连接大量SATA设备,则会影响到IOPS性能。
2)HBA 中进行SAT转化
有些HBA卡可以接受SCSI指令在HBA firmware中将SCSI命令转化成SAT命令。这种转化型式可以减少HOST端软件由于SAT转化所需要的执行时间。HBA中转化和第一种方式同样也是在一个设备中集中进行SAT转化。如果HBA卡接了大量的SATA 设备,其也可能会影响IOPS。 但这种影响可以通过一台电脑上插多块HBA卡减少。
3) 在TARGET端进行SAT转化
在target进行SAT转化,即对SATA盘外加SAM体协接口如SAS。这样这个新的target对外接口型式遵从SCSI协议。而在TARGET内部进行SAT转化。这种将SAT转化分散到磁盘端的型式具有最好的SAT转化性能。因为SAT转化工作被分散到了各个磁盘端,而不会在HOST端或者HBA卡上型成IOPS瓶颈。但这种转化方式也会有最高的成本。
作者联系方式: ggggchen@gmail.com
阅读(1928) | 评论(0) | 转发(0) |