# SSD, SATA, PCIe, NVMe 跟 AHCI ###### tags: `IT` 在思考這些名詞時要先想一下幾個問題 1. 怎麼儲存資料 2. 怎麼傳輸資料 3. 怎麼讓軟體跟硬碟溝通 ## 怎麼儲存資料 儲存資料的硬體目前有分 SSD 跟 一般的 HDD HDD: https://en.wikipedia.org/wiki/Hard_disk_drive SDD: https://en.wikipedia.org/wiki/Solid-state_drive ## 怎麼傳輸資料 PCIe 跟 SATA 則是負責解決如何傳遞資料問題 PCIe 是一個標準,透過 PCIe 做出來的插槽會被叫做 PCIe bus SATA 也是一個標準,透過 SATA 標準做出來的插槽則叫做 SATA bus 那可不可以同時支援 PCIe 跟 SATA ? 答案是有的 叫做 SATAe, 可以同時支援 SATA 跟 PCIe https://en.wikipedia.org/wiki/SATA_Express ## 怎麼讓軟體跟硬碟溝通 軟體跟硬體溝通需要靠介面或者驅動程式 NVMe 跟 AHCI 則提供了一個介面讓軟體可以去存取硬碟 由於 NVMe 是特別針對 PCIe,所以只支援 PCIe AHCI 則是 PCIe 跟 SATA 都有支援,但是效能上就會比 NVMe 還要慢 ## 總結 SSD, HDD -> 儲存裝置 PCIe, SATA -> 傳輸介面(怎麼傳) NVMe, AHCI -> 控制硬碟的控制介面(怎麼跟硬碟溝通) ## Reference https://kknews.cc/digital/bj6byrj.html https://blog.xuite.net/a06315/twblog/454025311-NGFF%E3%80%81M.2%E3%80%81PCIe%E3%80%81NVMe%E6%98%AF%E4%BB%80%E9%BA%BC%3F%3F%3F