iWave - SATA AHCI Host Controller IP
SATA which stands for Serial Advanced Technology Attachment is the serial interface between the Host and SATA drives such as Hard Disk Drives (HDDs) and Solid State Drives (SSDs). SATA is an evolution of the parallel ATA interface that was developed for use as an interconnect for desktop PCs, servers and enterprise systems to connect a host system to peripheral ATA storage devices.
The iW-SATA AHCI host controller IP is compatible with Serial ATA Revision 2.6 & Advanced Host Controller Interface 1.3.1 and supports features like Native command Queuing (NCQ), auto speed negotiation, all Non-Packet mode commands with extended LBA support. The IP is exhaustively tested at standard data rates of 1.5 Gbps (Gen 1) and 3.0 Gbps (Gen 2) with multiple Hard Disk Drives and Solid State Devices using Linux OS.
From the layered architecture, we see that the IP consist of AHCI controller which provides a simple interface for Host bus adapters. DMA engine implemented improves the performance and communicates with transport layer where different protocols are implemented to support the full command set. The FIS generated in Transport layer will be then passed to Link layer which takes care of flow control, CRC calculation and scrambling/descrambling of data. The Physical layer comprises of transceiver available in the industry standard FPGAs. The auto speed negotiation feature of the IP adjusts the transceiver data rate to maximum data rate supported by the SATA device.
The block diagram describes the demo of Video Storage and Playback on iW-Cyclone V Soc development kit. In the demo, the video file stored in the USB device will be written to the SATA HDD. The stored video will be then read from SATA HDD and displayed on LCD. The data from the USB will be written to SATA HDD using the HPS via DDR3 memory. During read-back, data from SATA HDD is buffered to HPS DDR3 which is then streamed on the LCD display using Altera’s VIP suite.
The iW-SATA AHCI host controller IP can be easily targeted to any FPGA device having a single transceiver channel. The IP can also be used in non processor based FPGAs where AHCI controller will be disabled.
The IP can be targeted to embedded Systems applications which uses SATA disk as storage system. The target applications also include Consumer Electronics and Portable devices like Tablets, PDAs and Digital communication and RAID controllers.
For more details click here.
Deepak B – Senior Engineer (Hardware)
iWave Systems Technologies Pvt. Ltd.