查看: 1047|回复: 0

SATA主机控制器

[复制链接]

该用户从未签到

发表于 2015-11-11 14:44:49 | 显示全部楼层 |阅读模式
分享到:
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

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条



手机版|小黑屋|与非网

GMT+8, 2024-12-29 23:41 , Processed in 0.120758 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.