SAS(串行連接 SCSI)仍然是任務關鍵型存儲子系統的首選接口。SAS 24G不僅僅是上一代SAS 2GB的12倍減速帶,而是對該技術的重大改革。
在之前的博客 - 解碼SAS 24G:新的編碼和功能中,我們研究了最近推出的128b / 150b編碼,SAS協議層(SPL)數據包和前向糾錯(FEC),以支持22.5Gbps的傳輸。SPL 數據包是一個 150 位塊,包含 2 位標頭、128 位 SPL 數據包有效負載和 20 位 FEC。SPL 數據包的 FEC 字段有助于錯誤檢測和恢復。繼續 SAS 博客系列,我們將在這篇文章中介紹二進制基元、擴展二進制基元和基元參數。
二進制基元和擴展二進制基元
基元是用于提供鏈接的控制或狀態的特殊雙字。基元在鏈接上很容易識別,因為它們在 dword 的第一個字節位置有一個控制字符。在 Gen5 傳輸時,四個基元組合成一個 SPL 基元數據包,數據包標頭設置為 01b。 SPL 引入了兩種新的基元類型:二進制基元和擴展二進制基元。
二進制基元是占據 SPL 基元數據包中 dword 位置的 32 位二進制數據。與傳統的 SAS 基元(ACK、RRDY 等)不同,二進制基元在第一個字節位置不包含控制字符。在 dword 模式鏈接上不會觀察到這些基元,因為它們缺少用于檢測的控制字符。發送器將 SPL 數據包的原始同步選擇或控制 1/2/3 字段設置為 01b,以指示該位置的 dword 是二進制原語。APTA 控制原語(例如:APTA_ADJUST (*))和幀結束標識符(例如:B_EOF (*))是標準定義的一些二進制原語。
擴展二進制基元是 128 位二進制數據,占用 SPL 數據包中數據包有效負載描述符的 128 位。此類型的基元將“基元同步選擇”字段設置為 10b。到目前為止定義的擴展二進制基元是PACKET_SYNC、PACKET_SYNC_LOST、LINK_RATE_MANAGEMENT和END_TRAIN。
二進制和擴展二進制原語僅在以數據包模式運行的鏈路上觀察到。接收器通過在基元段的“基元同步選擇”、“控制 01”、“控制 1”或“控制 2”字段中查找特定模式 (3b) 來區分二進制基元和舊版 SAS 基元。當接收方在 SPL 數據包有效負載的基元同步字段中檢測到 10b 時,它會檢測到擴展的二進制基元。
基元參數
SPL 數據包結構允許將其他可變長度參數數據與基元相關聯。此參數數據在傳達與基元關聯的附加信息時很有用。基元參數僅出現在 SPL 基元段內,并且始終與基元或二進制基元相關聯。CONTROL10、CONTROL1 或 CONTROL2 中的值 3b 表示存在與上述基元關聯的基元參數。由于參數數據的長度可以是可變的,因此參數長度字段定義參數數據的長度。
SPL 為 CLOSE 和 OPEN_REJECT(重試類)基元定義基元參數。SPL 為OPEN_REJECT重試類基元定義了一個 4 字節參數數據,可用于指定延遲,在此之后可以重試打開幀。CLOSE 基元參數是為擴展器設備定義的。它的長度為 12 字節,擴展器將擴展公平優先級信息傳送到連接的擴展器設備。端點不會為 CLOSE 發起基元參數,如果收到一個基元參數,則忽略該參數。
shenhbj;gt
-
接口
+關注
關注
33文章
8526瀏覽量
150860 -
存儲
+關注
關注
13文章
4266瀏覽量
85685 -
SAS
+關注
關注
2文章
522瀏覽量
32835
發布評論請先 登錄
相關推薦
評論