A high performance, open source SATA2 core
Ashwin A. Mendon, Bin Huang, Ron R. Sass · 2012
This paper describes the design and implementation of an open source FPGA-based SATA2 core. It provides the ability to directly interface with hardware cores which is beneficial for high performance and embedded computing applications. Additionally, the core has a bus interface and DMA engine that makes it available to the operating system through a Linux block device driver. Measurements with solid state drives reveal that our FPGA-based implementation achieves performance close to the disks' theoretical peak. In contrast, we find that software overhead on a modern Linux server prevents exploiting the full potential of these high speed storage devices. Native Command Queueing is supported by the core and the performance results highlight its importance in the context of SSDs, especially for small block transfers. The small size of our SATA core (1.5% of the logic resources on a Virtex-6 FPGA) indicates that an on-chip RAID storage system is feasible.