固態硬盤簡介。 第 2 部分。界面

固態硬盤簡介。 第 2 部分。界面

В 最後部分 循環《SSD入門》我們講了磁盤出現的歷史。 第二部分將介紹與驅動器交互的接口。

處理器和外圍設備之間的通信根據稱為接口的預定義約定進行。 這些協議規範了交互的物理和軟件級別。

接口——系統元素之間交互的一組手段、方法和規則。

接口的物理實現會影響以下參數:

  • 通信通道的吞吐量;
  • 同時連接的設備的最大數量;
  • 發生的錯誤數。

磁盤接口建立在 輸入/輸出端口,這與內存 I/O 相反,不佔用處理器地址空間中的空間。

並行端口和串行端口

根據數據交換的方式,I/O端口分為兩種類型:

  • 平行;
  • 持續的。

顧名思義,並口一次發送一個機器字,由若干位組成。 並行端口是最簡單的數據交換方式,因為它不需要復雜的電路解決方案。 在最簡單的情況下,機器字的每一位都在自己的信號線上發送,並使用兩條服務信號線進行反饋: 數據準備就緒 и 接受數據.

固態硬盤簡介。 第 2 部分。界面
乍一看,並行端口的擴展性很好:更多的信號線 - 一次傳輸更多的位,因此吞吐量更高。 但是,由於信號線數量的增加,它們之間會產生干擾,導致傳輸的信息失真。

串口與並口相反。 數據一次發送一位,這減少了信號線的總數,但使 I/O 控制器複雜化。 發送器控制器一次接收機器字並且必須一次發送一位,而接收器控制器又必須接收這些位並以相同的順序存儲它們。

固態硬盤簡介。 第 2 部分。界面
少量的信號線可以讓你在不受干擾的情況下增加信息傳輸的頻率。

SCSI

固態硬盤簡介。 第 2 部分。界面
小型計算機系統接口 (SCSI) 出現於 1978 年,最初設計用於將各種配置文件的設備組合到一個系統中。 SCSI-1 規範規定最多可連接 8 個設備(連同控制器),例如:

  • 掃描器;
  • 磁帶機(流媒體);
  • 光驅;
  • 磁盤驅動器和其他設備。

SCSI 最初被命名為 Shugart Associates System Interface (SASI),但標準委員會不同意以該公司命名,經過一天的頭腦風暴,小型計算機系統接口 (SCSI) 這個名稱誕生了。 SCSI 之父 Larry Boucher 打算將首字母縮寫詞發音為“性感”,但是 達爾艾倫 閱讀“sсuzzy”(“告訴”)。 隨後,“tell”的發音被牢牢地固定在這個標準中。

在 SCSI 術語中,連接的設備分為兩種類型:

  • 發起人;
  • 目標設備。

發起者向目標設備發送命令,然後目標設備向發起者發送響應。 啟動器和目標連接到公共 SCSI 總線,在 SCSI-1 標準中,該總線的帶寬為 5 MB/s。

使用的“公共總線”拓撲有許多限制:

  • 在總線的末端,需要特殊的設備——終結器;
  • 總線帶寬在所有設備之間共享;
  • 同時連接的設備的最大數量是有限的。

固態硬盤簡介。 第 2 部分。界面

總線上的設備由一個稱為 SCSI 目標 ID. 系統中的每個 SCSI 單元由至少一個邏輯設備表示,該邏輯設備由物理設備中的唯一編號尋址。 邏輯單元號 (倫)。

固態硬盤簡介。 第 2 部分。界面
SCSI 中的命令以以下形式發送 命令描述塊 (Command Descriptor Block,CDB),由操作碼和命令參數組成。 該標準描述了 200 多個命令,分為四類:

  • 強制性 — 必須由設備支持;
  • 選配 - 可以實施;
  • 供應商特定 - 由特定製造商使用;
  • 過時的 - 過時的命令。

在眾多命令中,只有三個命令是設備必須執行的:

  • 測試裝置就緒 ——檢查設備的準備情況;
  • 請求感覺 — 請求上一條命令的錯誤代碼;
  • 咨詢 ——要求設備的主要特性。

目標設備接收並處理命令後,向發起方發送一個狀態碼,描述執行的結果。

SCSI(SCSI-2 和 Ultra SCSI 規範)的進一步改進擴展了使用的命令列表,並將連接設備的數量增加到 16 個,總線上的數據交換速率高達 640 MB/s。 由於 SCSI 是一個並行接口,增加數據交換的頻率與最大電纜長度的減少相關,並導致使用不便。

從 Ultra-3 SCSI 標准開始,出現了對“熱插拔”的支持——在電源打開時連接設備。

第一個已知的 SCSI SSD 是 M-Systems FFD-350,於 1995 年發布。 該光盤成本高,未被廣泛使用。

目前,並行 SCSI 不是流行的磁盤接口,但命令集仍在 USB 和 SAS 接口中積極使用。

亞太旅遊協會/亞太旅遊協會

固態硬盤簡介。 第 2 部分。界面
接口 ATA (高級技術附件),也稱為 PATA (Parallel ATA)由西部數據於1986年開發。 IDE 標準的營銷名稱(Eng. Integrated Drive Electronics - “驅動器內置電子設備”)強調了一項重要的創新:驅動控制器集成到驅動器中,而不是在單獨的擴展板上。

將控制器置於驅動器內的決定立即解決了幾個問題。 首先,驅動器到控制器的距離縮短了,這對驅動器的性能產生了積極影響。 其次,內置控制器僅針對特定類型的驅動器“銳化”,因此更便宜。

固態硬盤簡介。 第 2 部分。界面
ATA和SCSI一樣,採用的是並行I/O方式,這體現在所使用的電纜上。 使用 IDE 接口連接驅動器需要 40 芯電纜,也稱為扁平電纜。 最近的規範使用 80 線短截線,其中一半以上是接地環路,以減少高頻干擾。

ATA 電纜上有兩到四個連接器,其中一個連接到主板,其餘連接到驅動器。 在一個迴路中連接兩個設備時,其中一個必須配置為 碩士, 第二個作為 奴隸. 第三個設備只能以只讀模式連接。

固態硬盤簡介。 第 2 部分。界面
跳線的位置決定了特定設備的作用。 與設備相關的術語“主機”和“從機”並不完全正確,因為對於控制器而言,所有連接的設備都是從機。

ATA-3 的一項特殊創新是外觀 自我監控, 分析和報告技術 (SMART). 五家公司(IBM、Seagate、Quantum、Conner 和 Western Digital)已聯手標準化硬盤健康評估技術。

自 1998 年發布的標準第 33.3 版以來,就一直支持固態硬盤。 此版本的標準提供高達 XNUMX MB/s 的數據傳輸速率。

該標準對ATA線纜提出了嚴格的要求:

  • 羽流必須是扁平的;
  • 最大火車長度 18 英寸(45.7 厘米)。

又短又寬的火車很不方便,而且會影響冷卻。 隨著標準的每個後續版本,提高傳輸頻率變得越來越困難,ATA-7 從根本上解決了這個問題:並行接口被串行接口取代。 之後,ATA 獲得了 Parallel 一詞並被稱為 PATA,而該標準的第七版獲得了不同的名稱 - Serial ATA。 SATA 版本編號從一開始。

的SATA

固態硬盤簡介。 第 2 部分。界面
串行 ATA (SATA) 標準於 7 年 2003 月 XNUMX 日推出,通過以下更改解決了其前身存在的問題:

  • 並口換成串口;
  • 寬 80 線電纜替換為 7 線;
  • “公共總線”拓撲結構已被“點對點”連接所取代。

儘管 SATA 1.0(SATA/150,150 MB/s)比 ATA-6(UltraDMA/130,130 MB/s)略快,但向串行通信的轉變為速度“奠定了基礎”。

ATA 中用於數據傳輸的 1.0 條信號線被兩對雙絞線取代:一根用於傳輸,另一根用於接收。 SATA 連接器的設計更能抵抗多次重新連接,SATA XNUMX 規範使熱插拔成為可能。

驅動器上的某些引腳比其他所有引腳都短。 這樣做是為了支持“熱插拔”(Hot Swap)。 在替換過程中,設備以預定順序“丟失”和“找到”線路。

一年多之後,即 2004 年 3 月,SATA 規範的第二版發布。 除了加速高達 2.0 Gb/s 之外,SATA XNUMX 還引入了技術 本機命令隊列 (NCQ)。 支持 NCQ 的設備能夠獨立組織傳入命令的執行順序,以實現最佳性能。

固態硬盤簡介。 第 2 部分。界面
接下來三年,SATA 工作組致力於改進現有規範,2.6 版引入了緊湊型 Slimline 和微型 SATA (uSATA) 連接器。 這些連接器是原始 SATA 連接器的較小版本,專為筆記本電腦中的光驅和小型驅動器而設計。

雖然第二代 SATA 為 HDD 提供了足夠的帶寬,但 SSD 需要更多帶寬。 2009 年 6 月,第三版 SATA 規範發布,帶寬增加到 XNUMX Gb/s。

固態硬盤簡介。 第 2 部分。界面
SATA 3.1 版本中特別關注固態驅動器。 Mini-SATA (mSATA) 連接器已經出現,旨在連接筆記本電腦中的固態驅動器。 與 Slimline 和 uSATA 不同,新連接器看起來像 PCIe Mini,儘管它與 PCIe 不兼容。 除了新的連接器之外,SATA 3.1 還擁有將 TRIM 命令與讀寫命令排隊的能力。

TRIM 命令通知 SSD 沒有攜帶有效載荷的數據塊。 在 SATA 3.1 之前,此命令會刷新緩存並暫停 I/O 操作,然後是 TRIM 命令。 這種方法在刪除操作期間降低了磁盤性能。

SATA 規範沒有跟上 SSD 訪問速度的快速增長,導致 2013 年在 SATA 3.2 標準中做出了妥協,稱為 SATA Express。 開發人員沒有再次將 SATA 的帶寬加倍,而是使用了廣泛使用的 PCIe 總線,其速度超過 6 Gb/s。 支持 SATA Express 的驅動器擁有自己的外形規格,稱為 M.2。

SAS

固態硬盤簡介。 第 2 部分。界面
與ATA“競爭”的SCSI標準也沒有停滯不前,在Serial ATA出現僅一年後的2004年,又重生為串行接口。 新界面的名稱是 Serial Attached SCSI - 串行連接SCSI (SAS)。

儘管 SAS 繼承了 SCSI 命令集,但變化很大:

  • 串行接口;
  • 帶電源的29線電纜;
  • 點對點連接

SCSI 術語也得到了繼承。 控制器仍然稱為發起者,連接的設備稱為目標。 所有目標設備和啟動器組成一個 SAS 域。 在 SAS 中,連接帶寬不取決於域中的設備數量,因為每個設備都使用自己的專用通道。

一個SAS域中同時連接的設備的最大數量,根據規範,超過16個,並且使用標識符代替SCSI ID來尋址 全球名稱 (WWN)。

WWN 是一個 16 字節長的唯一標識符,類似於 SAS 設備的 MAC 地址。

固態硬盤簡介。 第 2 部分。界面
儘管 SAS 和 SATA 連接器之間存在相似之處,但這些標準並不完全兼容。 但是,SATA 驅動器可以連接到 SAS 連接器,但反之則不行。 使用 SATA 隧道協議 (STP) 確保 SATA 驅動器和 SAS 域之間的兼容性。

SAS-1 標準的第一個版本的帶寬為 3 Gb/s,而最現代的 SAS-4 將這個數字提高了 7 倍:22,5 Gb/s。

PCIe

固態硬盤簡介。 第 2 部分。界面
Peripheral Component Interconnect Express(PCI Express,PCIe)是一種用於數據傳輸的串行接口,出現於2002年。 開發由英特爾發起,隨後轉移到一個特殊的組織——PCI Special Interest Group。

串行 PCIe 接口也不例外,成為並行 PCI 的邏輯延續,旨在連接擴展卡。

PCI Express 與 SATA 和 SAS 有很大不同。 PCIe 接口具有可變數量的通道。 行數等於 1 的冪,範圍從 16 到 XNUMX。

PCIe中的術語“通道”並不是指特定的信號通道,而是指由以下信號通道組成的單獨的全雙工通信鏈路:

  • 接收+和接收-;
  • 傳輸+和傳輸-;
  • 四根地線。

PCIe 通道的數量直接影響連接的最大帶寬。 當前的 PCI Express 4.0 標准允許您在單條線路上實現 1.9 GB / s,使用 31.5 條線路時可以達到 16 GB / s。

固態硬盤簡介。 第 2 部分。界面
固態硬盤的“胃口”增長得非常快。 SATA 和 SAS 都無法增加帶寬以跟上 SSD 的步伐,這導致了 PCIe 連接的 SSD 的推出。

雖然 PCIe 附加卡是用螺絲固定的,但 PCIe 是可熱插拔的。 短針 PRSNT(英文 present - present)確保卡完全安裝在插槽中。

通過 PCIe 連接的固態驅動器由單獨的標準監管 非易失性存儲器主機控制器接口規範 並體現在各種形式因素中,但我們將在下一部分中討論它們。

遠程驅動器

創建大型數據倉庫時,需要允許您連接位於服務器外部的驅動器的協議。 該領域的第一個解決方案是 互聯網 SCSI (iSCSI),由 IBM 和 Cisco 於 1998 年開發。

iSCSI 協議背後的想法很簡單:SCSI 命令被“包裝”到 TCP/IP 數據包中並發送到網絡。 儘管是遠程連接,但它會給客戶一種驅動器已在本地連接的錯覺。 基於 iSCSI 的存儲區域網絡 (SAN) 可以構建在現有網絡基礎設施上。 iSCSI 的使用顯著降低了組織 SAN 的成本。

iSCSI 有一個“高級”選項 - 光纖通道協議 (FCP)。 使用 FCP 的 SAN 建立在專用的光纖通信線路上。 這種方式需要額外的光網絡設備,但穩定且吞吐量高。

有許多協議可用於通過計算機網絡發送 SCSI 命令。 然而,只有一種標準可以解決相反的問題並允許您通過 SCSI 總線發送 IP 數據包 - SCSI 上的 IP.

大多數 SAN 協議使用 SCSI 命令集來管理驅動器,但也有例外,例如簡單的 以太網上的 ATA (範圍)。 AoE 協議在以太網數據包中發送 ATA 命令,但驅動器在系統中顯示為 SCSI。

隨著 NVM Express 驅動器的出現,iSCSI 和 FCP 協議不再滿足 SSD 快速增長的需求。 出現了兩種解決方案:

  • 移除服務器外部的 PCI Express 總線;
  • 創建 NVMe over Fabrics 協議。

移除 PCIe 總線會創建複雜的交換硬件,但不會更改協議。

NVMe over Fabrics 協議已成為 iSCSI 和 FCP 的良好替代方案。 NVMe-oF 使用光纖鏈路和 NVM Express 命令集。

DDR-T

固態硬盤簡介。 第 2 部分。界面
iSCSI 和 NVMe-oF 標準解決了將遠程驅動器連接為本地驅動器的問題,而英特爾則走另一條路,讓本地驅動器盡可能靠近處理器。 選擇落在連接 RAM 的 DIMM 插槽上。 最大 DDR4 帶寬為 25 GB/s,比 PCIe 總線快得多。 這就是英特爾® 傲騰™ DC 持久內存固態盤的誕生方式。

發明了一種將驅動器連接到 DIMM 插槽的協議 DDR-T, 與 DDR4 物理和電氣兼容,但需要一個特殊的控制器來識別內存條和驅動器之間的區別。 訪問驅動器的速度低於訪問 RAM,但高於訪問 NVMe。

DDR-T 僅適用於英特爾® Cascade Lake 一代處理器或更高版本。

結論

幾乎所有的接口都經歷了從串行到並行數據傳輸的漫長過程。 SSD 速度飛速增長,昨天 SSD 還讓人好奇,而今天 NVMe 不再令人感到意外。

在我們的實驗室 選擇實驗室 您可以自己測試 SSD 和 NVMe 驅動器。

只有註冊用戶才能參與調查。 登入, 請。

NVMe 驅動器會在不久的將來取代傳統 SSD 嗎?

  • 企業排放佔全球 55.5%是100

  • 企業排放佔全球 44.4%80號

180 位用戶投票。 28 名用戶棄權。

來源: www.habr.com

添加評論