區塊裝置會實作 BlockImplQuery 和 BlockImplQueue。支援讀取、寫入和清除作業。如果在寫入作業與清除作業之間失去電力,寫入 USB 大量儲存裝置的變更可能不會保存到裝置中。在實際寫入實體媒體時,驅動程式庫沒有機制可通知駕駛人在堆疊中的較高位置。就 USB 大量儲存空間而言,當裝置確認寫入作業時,系統會將寫入作業視為已完成。
核心裝置
核心裝置會做為區塊裝置和 USB 堆疊之間的介面。核心會接受來自區塊裝置的要求,並將其轉換為 USB 要求,而 USB 要求最終會透過 USB 堆疊傳送至硬體。系統會針對每個要求執行下列步驟:
要求已新增至佇列。
該要求會由工作站執行緒接收。
要求中儲存的 SCSI 指令會傳送至裝置。
要求狀態會從裝置還原。
系統會叫用完成回呼,通知區塊裝置層已完成要求。
某些 USB 大量儲存裝置可能有多個區塊裝置,例如磁碟陣列。在這種情況下,核心驅動程式會為每個磁碟建立一個區塊裝置。