2023年10月11日 星期三

解析 NVM Express - 透過Linux OS 解析M.2 NVMe SSD

在之前,我撰寫了三篇有關NVMe的文章 ,分別是"原理NVM Express - NVMe Submission Queue & Completion Queue (SQ & CQ)"、"原理NVM Express - Admin Command Set"和"原理NVM Express - NVM Command Set",只要有了這三篇的基本知識,我們就有足夠的能力可以去解析我們主機板上任何一個M.2 NVMe device的一些資訊和如何操作它。接下來這篇文章會使用x86系統並安裝Ubuntu OS,然後隨意安裝市面上的一款M.2 NVMe SSD到主機板上,透過Linux command line的方式來解析此M.2 NVMe SSD的能力和如何透過I/O command去讀寫namespace,並且提供一些在Linux中非常實用的CLI。


2023年9月13日 星期三

原理NVM Express - NVM Command Set

NVM subsystem中,可能會存在多個controllers,每一個controller可能會去存取某些特定namespaceNamespace由多個logical blocks所組成,而logical blockscontroller存取data的最小單位。而一個logical blockssize為何,可以為512 bytes, 1 KiB, 4 KiB…等,主要透過Identify commandIdentify Namespace data structure(INDS)的內容可以得知,單位為bytes


2023年2月19日 星期日

原理NVM Express - Admin Command Set

根據上一篇文章原理NVM Express - NVMe Submission Queue & Completion Queue (SQ & CQ),介紹了Host Software和Controller是如何透過Submission Queue和Completion Queue來溝通,而且還有提到Admin Queue和I/O Queue的差別,接下來的篇幅將會詳細介紹提交到Admin Queue的Command Set。

解析 NVM Express - 透過Linux OS 解析M.2 NVMe SSD

在之前,我撰寫了三篇有關NVMe的文章 ,分別是" 原理NVM Express - NVMe Submission Queue & Completion Queue (SQ & CQ) "、" 原理NVM Express - Admi...