lb:logic block
lba: logic block address
lu: logic unit (對應乙個邏輯儲存實體)
vpd: vital product data scsi 協議規定的scsi裝置產品資料。
兩大等級:full provison和logical block provision
1)full provision就是沒有任何供給策略,所有的lb在裝置上都有physical block對應。
2)logical block provision 並不是所有的lb在裝置上都有physical block對應。
1)resource provison
2)thin provison
裝置不能保證所有的lba都有足夠的資源對映,也就是說lb數量可以大於裝置所有physical block支援的量。
2)anchor:lba有對應的phyical block,當時此物理資源類似於暫留的意思。
2.1 .1 獲取logical block provison 能力
通過inquiry 命令查詢vpd page 0xb2(logical block provision頁)。
4個字段:
1)lbpu(logical block provision unmap)
支援scsi命令unmap
2)lbpws(logical block provision write same)
支援scsi命令write same(16)with unmap bit
3)lbpws10(logical block provision write same 10)
支援scsi命令write same(10)with unmap bit
注:如果乙個裝置即支援write same 16 with unmap和write same 10 with unmap,且它支援write same 32,那麼它一定得支援write same 32 with unmap
4)lbprz(logical block provision read zero)
從處於provison的logical block讀出的資料為0(如果設定為xx1),或者預設值(此欄位設定為010b)。
如果lbprz為000,那麼裝置不能保證從unmap block讀取的資料。
5)anc_sup(anchor support)
支援anchor命令。
read capacity 16 命令返回時刻,可以反饋當前logical block的provison狀態
1)lbpme(logical block provision management enable )
當設定為1時刻,表示支援logical provision
2)lbprz(logical block provsion read zero)
為1表示,當前從provison 的lba讀取的資料硬體保障為0或者特定值。
2.2.1 unmap命令
對指定位置開始的一段lba啟動unmap操作。
注:通過unmap命令我們不能期望後續read返回特定的資料值(例如0)。如果需要這樣的話應該使用write same with
2.2.2 write same 10 with unmap
write same 10 命令帶unmap欄位設定為1會將此字段unmap。
2.2.3 write same 16 with unmap
write same16 命令帶unmap 欄位為1會將此字段unmap。
注:對於write same 16 with unmap和write same 10 with unmap,如果命令資料區域寫入的字段將導致unmap操作後,read去讀的資料和協議定義不一致的時候,那麼這個unmap操作無效,只會執行正常的write same動作。
通過get lba status命令可以獲取裝置當前指定lba的provision狀態(也可以獲取所有的provison狀態下的lba)。
注:如果此裝置(lu)是full provision,那麼status為0.
SCSI硬碟的優勢
1 速度快 伺服器使用的 硬碟轉速快,可以達到每分鐘7200或10000轉,甚至更高 它還配置了較大 一般為2mb或4mb 的回寫式 快取 平均訪問時間比較短 外部傳輸率和內部傳輸率更高,採用ultra wide scsi ultra2 wide scsi ultra160 scsi ultra32...
iSCSI 中 SCSI 讀寫請求處理分析
iscsi initiator 是通過 scsi command pdu 向 target 發出 scsi 請求,target 接收請求,執行 scsi 命令,然後返回資料以及 scsi 狀態。在 scsi 任務執行時,initiator target 之間會涉及大量資料 i o。rfc3720 中...
scsi裝置的請求處理函式(request fn
每個塊裝置驅動程式的核心就是它的請求處理函式,即請求佇列中對應的request fn函式 struct request queue下面分析scsi裝置的請求處理函式 static struct scsi device scsi alloc sdev struct scsi target starge...