nvme理解

這幾日再看nvme的資料,感覺茫然無序,這是近幾年出來的東西,比較新在網上找不到相關介紹說明,所以只能自己慢慢啃了。一下把自己的理解大概講講,有不正之處請大家及時指出,好及時改過。

  1. nvme走的是pcie的協議,有了底層協議保證,我們才能對nvme去進行code,nvme有以下優點。
    不需要不可緩存/ MMIO寄存器讀取命令中提交或完成路徑。
    最大的一個MMIO寄存器寫命令提交路徑是必要的。
    多達65535個I/O隊列支持,每個I/O隊列支持多達64K的傑出的命令。
    優先級與每個I/O隊列有明確的仲裁機制有關。
    所有的信息來完成一個4KB讀請求包含在64命令本身,確保高效率的小的I/O操作。
    效率和精簡指令集。
    MSI和MSI-X支持中斷聚集。
    支持多個命名空間。
    有效支持I/O虛擬化架構如SR-IOV。
    健壯的錯誤報告和管理能力。
    支持多路徑I/O和命名空間的共享。
  2. nvme本身的規範特別多,基本的就是他與主機通信的管理採用的是隊列這種數據結構,用一個環形的隊列,管理各種命令,而命令分爲管理命令,每個io命令,每種命令都成對出現,包括提交隊列和完成隊列。大的數據是控制器直接接收過來的,裏面包括很多個命名空間,命名空間裏面有很多的邏輯塊地址lba。
發佈了19 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章