訂閱
糾錯
加入自媒體

一文了解SATA協(xié)議

概述

SATA是一種基于行業(yè)標(biāo)準(zhǔn)的串行硬件驅(qū)動器接口,以連續(xù)串行的方式傳輸數(shù)據(jù),支持熱插拔,主要用于SATA主機(jī)與大容量存儲設(shè)備之間的數(shù)據(jù)傳輸。

目前,SATA一共發(fā)展了三代,分別為SATA1、SATA2和SATA3,向后兼容,每一代SATA具有相應(yīng)的傳輸功能定義,并且它們的傳輸速率也不盡相同。SATA1的傳輸速率只有150MB/s,SATA2擴(kuò)展為300MB/s,SATA3將端口的傳輸速率提升至6Gbit/s。

SATA3協(xié)議一共分為五層:應(yīng)用層、命令層、傳輸層、鏈路層和物理層。由于命令層包含于應(yīng)用層,因此在某些文獻(xiàn)中,將應(yīng)用層和命令層進(jìn)行了合并,統(tǒng)稱為應(yīng)用層,這樣SATA3協(xié)議一共分為四層。根據(jù)SATA接口協(xié)議,SATA主機(jī)端和設(shè)備端實現(xiàn)通信時,各層之間進(jìn)行對等交互。

本文對SATA協(xié)議做簡單介紹。

01

物理層

02

鏈路層

03

傳輸層

04

命令層/應(yīng)用層

總結(jié)

應(yīng)用層:負(fù)責(zé)所有ATA命令的解析和執(zhí)行,向處理器報告硬盤的運(yùn)行狀態(tài),發(fā)起數(shù)據(jù)讀寫請求,完成硬盤工作模式的設(shè)置和讀取等。

命令層:負(fù)責(zé)解析ATA指令,做出相應(yīng)的回應(yīng),并指導(dǎo)傳輸層構(gòu)建FIS。

傳輸層:負(fù)責(zé)構(gòu)建和解析FIS,完成組幀和解幀,調(diào)整命令層和鏈路層之間的數(shù)據(jù)格式,完成主機(jī)和設(shè)備的命令交互和數(shù)據(jù)傳遞。

鏈路層:SATA鏈路層執(zhí)行過程為:主機(jī)端發(fā)送數(shù)據(jù),計算其32bit的CRCR校驗和,并將該校驗和與發(fā)送的有效數(shù)據(jù)進(jìn)行加擾,放在有效數(shù)據(jù)幀的最后一幀,經(jīng)過8B/10B編碼后傳輸至物理層;設(shè)備端接收數(shù)據(jù),對接收的有效數(shù)據(jù)進(jìn)行8B/10B解碼以及解擾操作,計算本組數(shù)據(jù)的CRC校驗和,并與設(shè)備端接收的校驗和比較。

物理層:物理層位于協(xié)議的最底層,其功能是通過OOB(Out-of-Band)信號的檢測以及原語交互,實現(xiàn)主機(jī)端控制器與設(shè)備端控制器的鏈路初始化和速度協(xié)商,并將主機(jī)和設(shè)備的鏈路狀態(tài)向鏈路層反饋,建立數(shù)據(jù)通道,實現(xiàn)串并轉(zhuǎn)換、并串轉(zhuǎn)換等操作。目前,Xilinx的高速收發(fā)器可支持物理層設(shè)計與實現(xiàn),并且包含了8B/10B編解碼等功能。

文章圖片來源網(wǎng)絡(luò),更多關(guān)于SATA協(xié)議的詳細(xì)說明,可參考:

[1] Serial ATA International Organization. Serial ATA International Organization: Serial ATA Revision 3.0 specification.

[2] Mindshare,Inc.SATA Storage Technology.

聲明: 本文由入駐維科號的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標(biāo)題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號