The UFS interface is based on master/slave architecture. Direct device-to-device communication is not supported. The information flow is packet based and the packets are sent in a request/response method where the Initiator sends a request to a Target and the Target must always respond. There is only one UFS host controller on the physical interface and most requests are typically initiated by the UFS host controller. The requests initiated by UFS device could be an interrupt or any other request for service actions.
The communication between the UFS host controller and the device is layer oriented. The UFS specification defines the following layers:
- UFS communication is layered communication architecture. The information is packetized at different layer with the appropriate header.
- UFS InterConnect Layer (UIC) - the UIC Layer is based on MIPI M-PHY and the MIPI UniPro stack:
- MIPI M-PHY supports two signaling schemes: Low-Speed mode with pulse-with-modulation (PWM) signaling scheme and High-Speed Burst mode with Non-Return-to-Zero (NRZ) signaling scheme. The UIC Layer defines the electrical characteristics of the port and the physical connection between devices, and between UFS host controller and devices.
- MIPI UniPro is responsible managing the UIC Layer. It also provides mechanisms to exchange information in a reliable and power efficient method.
- UFS Transport Protocol UTP Layer - tthe UTP Layer is responsible for encapsulating the protocol into the appropriate frame structure for the UIC layer. A subset of the SCSI commands, defined in the SCSI Architecture Model Specification (see SCSI Architecture Model), is supported.
- UFS Host Controller - the UFS Host Controller is responsible for managing the interface and the data transfer. This includes interface management, power management, and control. Also included in the UFS host controller is the data transfer and programming model.