SCSI写入缓冲区命令"下载带偏移量的微码并保存" vs"使用save"下载微代码模式

时间:2014-11-25 00:34:41

标签: scsi

我想使用Write Buffer SCSI命令上传磁带机的固件(LTO-6)。 如IBM LTO SCSI Reference部分" 5.2.41.6:MODE [07h]中所述 - 下载带偏移的微码,保存并激活",使用一个或多个WRITE BUFFER命令将微码传输到设备,保存到非易失性存储(页180)。 根据CDB(页132),缓冲区偏移量可以用3个字节表示,参数列表长度也是如此。

据我所知,如果固件大小不能以3个字节(大于约16M)表示,您可能需要使用多个Write Buffer命令,如果是这样,您可以使用偏移量。但是,如果偏移本身不能以超过3个字节表示,则意味着不能在偏移17M处写入(因此不能连续两次使用该命令)。

有人知道这是否真的用于"偏移和保存"模式?

2 个答案:

答案 0 :(得分:0)

您可以使用模式07h(第5.2.17.4节),其中写缓冲区使用移位偏移,因此您可以表示大于16MB的偏移。

答案 1 :(得分:0)

看起来在固件缓冲区中无法上传超过32MB的内容,而且如果你有一个DMA(2个或更多写缓冲区命令的意思是发出它们的值小于最大值(16MB))直接内存访问)限制。

可以使用 Baruch Even 提到的解释,使用带有读取缓冲区命令的模式07h(所有缓冲区ID都不支持,可以通过发出读取缓冲区来检查模式07h和如果不支持,它将返回非法请求。

另一方面,Write Buffer命令部分对任何模式都没有这样的解释。