區塊裝置會實作 BlockImplQuery 和 BlockImplQueue。支援讀取、寫入和清除作業。如果寫入作業和清除作業之間發生斷電,寫入 USB 大容量儲存裝置的變更可能不會保留在裝置上。驅動程式沒有機制可通知堆疊中較高的驅動程式,寫入作業實際寫入實體媒體的時間。就 USB 大量儲存裝置而言,裝置確認寫入作業後,即視為完成。
核心裝置
核心裝置是區塊裝置和 USB 堆疊之間的介面。核心會接受來自區塊裝置的要求,並將其轉換為 USB 要求,最終透過 USB 堆疊傳送至硬體。系統會針對每項要求執行下列步驟:
要求會加入佇列。
工作執行緒會擷取要求。
系統會將要求中儲存的 SCSI 指令傳送至裝置。
從裝置讀回要求狀態。
系統會叫用完成回呼,通知區塊裝置層要求已完成。
部分 USB 大量儲存裝置可能有多個區塊裝置,例如磁碟陣列。在這種情況下,核心驅動程式會為每個磁碟建立一個區塊裝置。