|
SATA主機控制器
SATA Host控制器
SATA Host Controller
基于FPGA的SATA主機控制器
基于FPGA的SATA Host控制器
本人在北京工作7年以上,非常熟悉Spartan-6, Virtex-5/Virtex-6/7 Series/UltraScale Series FPGA,從事FPGA外圍接口設計,非常熟悉SATA協議,設計調試了多個基于SATA接口的固態大容量存儲設備.
基于FPGA的SATA主機控制器特性如下:
1. 支持SATA 1(1.5Gbps)、SATA 2(3Gbps)以及SATA 3(6Gbps)
2. 符合SATA Rev 3.0規范
3. 實現Phy Layer(物理層)協議,包括OOB等
4. 實現Link Layer(鏈路層)協議,包括8B/10B編解碼,擾碼,CRC,流量控制,成幀/解幀,通信握手序列等
5. 實現Transport Layer(傳輸層)協議,包括FIS構造和解析,錯誤重傳機制等
6. 實現Command Layer(命令層)協議,包括Software Reset協議,PIO Data-In協議,PIO Data-Out協議,DMA-In協議,DMA-Out協議等
7. 實現Application Layer(應用層)協議,包括設備自檢,執行IDENTIFY DEVICE command(獲取設備參數),DATA SET MANAGEMENT command(Trim),DMA控制器
8. 實現SATA設備帶電熱插拔
9. 利用多個SATA Host Controller,可以組成RAID陣列控制器
基于FPGA的SATA主機控制器接口特性如下:
1. 支持1.5Gbps, 3Gbps, 6Gbps線速率
2. 提供FIFO數據流接口,支持扁平式地址訪問(只需提供首扇區地址和總扇區長度,控制器內置DMA控制器實現連續的扇區地址管理訪問),實現大流量數據的讀寫
3. 提供雙端口RAM接口,支持單個扇區地址訪問,實現512-byte字節數據的讀寫
4. 提供雙端口RAM接口,支持1~16個扇區地址訪問,實現最多8192-byte字節數據的讀寫
5. 提供雙端口RAM接口,支持1~16個512-byte block(LBA Range Entry列表),實現Trim功能
6. 提供SATA Host寄存器接口,包括狀態和錯誤寄存器輸出
7. 提供設備自檢狀態輸出、設備參數輸出(設備最大可用扇區數等)、Trim支持
本人已經在多個SSD(英特爾,三星,美光,OCZ,金士頓等)上測試驗證,控制器性能如下:
1. SATA 2接口,連續寫速度大于230MB/s,連續讀速度大于250MB/s.
2. SATA 3接口,連續寫速度大于520MB/s,連續讀速度大于540MB/s.
通過集成多個SATA主機控制器以及Raid控制器,實現對多個SSD的并行讀寫,也就是RAID 0方式的讀寫。
如有SATA相關方面的技術合作,可聯系我。
聯系方式:neteasy163z@163.com
|
|