UFS is a simple, high performance, serial interface and is primarily for use in mobile systems between host processing and non volatile memory mass storage devices.UFS host controller interface is responsible for managing the interface between host software and UFS device and data transfer. It also does the interface management, power management and control.
UniPro specification defines a layered protocol for interconnecting Devices and components within mobile systems such as cellular telephones, handheld computers, digital cameras and multimedia devices. UniPro enables these devices and components to utilize MIPI PHY layers in order to exchange data at high data rates with low pin counts and at low energy per transferred bit.
MPHY is the PHY layer to transfer the symbols across UFS device and UFS host. Upto 4 lanes per direction can be used which would provide a very high speed serial data transfer across chips.
For UFS applications Unipro is the link layer and MPHY is the PHY layer.
- Complaint with UFS 1.0 spec, UFS Host Controller Interface V1.0, MIPI UniPro V1.41, MIPI M-PHY spec v2.0.
- Lanes of each sub link (TX and RX) can be programmed separately up to 4lanes.
- M-PHY LS and HS data rates HS1X, HS2X supported. .[3Gbps-6Gbps per lane in HS mode]
- Supports configurable outstanding commands/Query request UPIU for UTP layer in UFS device.
- Supports 32 UTP Transfer request descriptors and 8 UTP Task Management Descriptors for UFS host.
- Complete control of UIC layer by UFS host.
- Interrupt aggregation timer threshold and Interrupt aggregation timeout supported.
- Decoding and Encoding of all the UPIU’s supported.
- Priority arbitration between command, query, and task management UPIU’s and indexed based processing within command and Query UPIU’s.
- Error Reporting and Handling supported.
- AXI3 and AHB used for easy integration into SOC.
- RTL code
- Detailed design document
- Verification environment
- Test cases
- Synthesis environment/scripts
- Design Guide
- Synthesis guide
Block Diagram of the MIPI Controller - UFS_HOST