UniPro
UniPro is a high-speed interface technology for interconnecting integrated circuits in mobile and mobile-influenced electronics. The various versions of the UniPro protocol are created within the MIPI Alliance, an organization that defines specifications targeting mobile and mobile-influenced applications.
The UniPro technology and associated physical layers aim to provide high-speed data communication, low-power operation, low pin count, small silicon area, data reliability and robustness.
UniPro version 1.6 concentrates on enabling high-speed point to point communication between chips in mobile electronics. UniPro has provisions for supporting networks consisting of up to 128 UniPro devices. Network features are planned in future UniPro releases. In such a networked environment, pairs of UniPro devices are interconnected via so-called links while data packets are routed toward their destination by UniPro switches. These switches are analogous to the routers used in wired LAN based on gigabit Ethernet. But unlike a LAN, the UniPro technology was designed to connect chips within a mobile terminal, rather than to connect computers within a building.
History and aims
The initiative to develop the UniPro protocol came forth out of a pair of research projects at respectively Nokia Research Center and Philips Research. Both teams independently arrived at the conclusion that the complexity of mobile systems could be reduced by splitting the system design into well-defined functional modules interconnected by a network.The key assumptions were thus that the networking paradigm gave modules well-structured, layered interfaces and that it was time to improve the system architecture of mobile systems to make their hardware- and software design more modular. In other words, the goals were to counteract the rising development costs, development risks and time-to-market impact of increasingly complex system integration.
In 2004, both companies jointly founded what is now MIPI's UniPro Working Group. Such multi-company collaboration was considered essential to achieve interoperability between components from different component vendors and to achieve the necessary scale to drive the new technology.
The name of both the working group and the standard, UniPro, reflects the need to support a wide range of modules and wide range of data traffic using a single protocol stack. Although other connectivity technologies exist which also support a wide range of applications, the inter-chip interfaces used in mobile electronics are still diverse which differs significantly from the computer industry.
In January 2011, UniPro Version 1.40 was completed. Its main purpose is full support for a new Physical Layer: M-PHY® including support for power modes change and peer device configuration. In July 2012 UniPro v1.40 has been upgraded to UniPro v1.41 to support the newer higher speed M-PHY v2.0. The UniPro v1.4x specifications have been released together with a formal specification model.
The final draft of Version 1.6 of the UniPro specification was completed in August 2013. Its acknowledgements list 19 engineers from 12 companies and organizations: Agilent, Cadence, IEEE-ISTO,Intel, nVidia, Nokia, Qualcomm, Samsung, STMicroelectronics, Synopsys, Texas Instruments and Toshiba.
The UniPro v1.6 Specification is an update to the UniPro v1.41.00 Specification, and consists solely of the UniPro specification document, SDL is no longer supported.
The UniPro v1.6 Specification references the following documents:
- Specification for M-PHY®, Version 3.0
- Specification for Device Descriptor Block, Version 1.0
On January 30, 2018, JEDEC published the UFS 3.0 standard which uses MIPI M-PHY v4.1 and MIPI UniProSM v1.8 for mobile memory with data rates up to 2900 MB/s.
Main features
- gigabit/s - serial technology with a number of bandwidth scaling options
- generic - can be used for a wide range of applications and data traffic types
- scalable - from individual links to a network with up to 128 UniPro devices
- low-power - optimized for small battery-powered systems
- reliability - data errors detected and correctable via retransmission
- hardware friendly - can be implemented entirely in hardware where needed
- software friendly - similar concepts to familiar network technologies
- bandwidth utilization - provides features to manage congestion and control arbitration
- shareable - different traffic types and UniPro devices can share pins and wires
- testable - since version 1.1, UniPro mandates features to facilitate automated conformance testing
Layered architecture
Multiple applications
UniPro's strict layering enables it to be used for a wide range of applications:- UFS: Universal Flash Storage. Next generation mass storage devices specified by JEDEC with a support for data throughput of up to 300MB/sec, in the first generation, and support command queuing features to raise the random read/write speed.
- CSI-3: 3rd generation MIPI Camera Serial Interface features a scalable high bandwidth interface, a guaranteed data transmission and a command set for basic component initialization and configuration.
- GBT: MIPI Gigabit Trace. A network independent protocol for transporting trace data over high-speed interfaces such as UniPort-M or USB3.0.
- DSI-2: 2nd generation MIPI Display Serial Interface.
- PIE: Processor Emulation Interface. This application protocol conveys traditional memory-based read/write transactions as found on processor busses. Data streaming applications, command/response-type protocols, and tunneling of popular protocols from other domains are also supported and specifically encouraged because they tend to increase system-level modularity and interoperability due to their higher abstraction level.
- UniPort-M : Enables general purpose extension interface to connect peripheral devices such as graphic accelerators, modules such as Google's ARA Project
- UniPort-D : Enables general purpose extension with D-PHY, note that D-PHY is not a supported physical layer for UniPro beyond UniPro specification v1.41
Alternative physical layers
UniPorts
These PHY technologies are covered in separate MIPI specifications and a MIPI PHY specification for L1. As there are two PHY technologies, these are respectively known as UniPort-D and UniPort-M.Phased roadmap
The UniPro 1.0 specification was approved by the MIPI Board of Directors on January 14, 2008. UniPro 1.1, that was completed in July 2009, aims to improve readability, provides a reference model for two of the four UniPro protocol layers, and provides features to facilitate automated conformance testing.The architects designing UniPro intended from the start to release the technology as a step-wise roadmap with backward compatibility. UniPro 1.1 is designed to be fully backwards compatible with UniPro 1.0. The main purpose of UniPro 1.40 and UniPro v1.41 is to support an additional physical layer, the M-PHY. Furthermore, UniPort-M features local and remote control of a peer UniPro device that can be used for example to control various supported power modes of the link.
Planned roadmap steps beyond UniPro v1.4x aim to provide specifications for network-capable endpoint and network switch devices.
The UniPro v1.6 Specification was designed to ensure interoperability with UniPro v1.41.00 when using the M-PHY physical layer. As D-PHY is no longer supported on v1.60, backwards compatibility for D-PHY operation cannot be maintained.
Scope and applicability
UniPro and its underlying physical layer were designed to support low power operation needed for battery-operated systems. These features range from power-efficient high-speed operation to added low-power modes during idle or low bandwidth periods on the network. Actual power behavior is, however, highly dependent on system design choices and interface implementation.The UniPro protocol can support a wide range of applications and associated traffic types. Example chip-to-chip interfaces encountered in mobile systems:
- Mass storage file transfer : 6 Gbit/s
- 24M pixel camera @30fps : 9Gbit/s
- Chip-to-chip connectivity: 1Gbit to 24Gbit/s
Applications which are currently believed to be less suitable for UniPro are:
- low-bandwidth control - unless multiplexed with other traffic
- high-quality audio samples
- interfaces to dynamic memory
Versions and roadmap
Version | Text freeze | Formal release | Description |
UniPro 0.80.00 | 6 September 2006 | 26 February 2007 | Technology preview of UniPro 1.0 |
UniPro 1.00.00 | 25 August 2007 | 14 January 2008 | Limited changes compared to UniPro 1.0. All the basics for a chip-to-chip link via the D-PHY |
UniPro 1.10.00 | 29 July 2009 | 22 January 2010 | "Hardened": formal reference models for 2 protocol layers; readability and testability improvements |
UniPro 1.40.00 | 31 January 2011 | 28 April 2011 | "M-PHY": support for a new physical layer technology. M-PHY v1.0 with HS-G1. Formal reference model for the whole stack. Peer Configuration. Versioning. |
UniPro 1.41.00 | 4 May 2012 | 30 July 2012 | Upgrade to support M-PHY v2.0 with HS-G2 |
UniPro 1.60.00 | 6 August 2013 | 30 September 2013 | Upgrade to support M-PHY v3.0 with HS-Gear3, Power Reduction during M-PHY Sleep and Stall States, Scrambling for EMI MitiUpgrade to support M-PHY v3.0 with HS-Gear3gation, Removal of D-PHY and SDL Reference |
UniPro 1.8 | Upgrade to support M-PHY v4.1 with HS-Gear4 | ||
future releases | t.b.d. | t.b.d. | "Endpoint": fully networkable endpoint including inband configuration protocol. "Switches": network switches. Sharing of the link between several applications. Dynamic Connection Management. Hot Plugging. Security features. Real Time Traffic Class. |
Protocol stack architecture
The UniPro protocol stack follows the classical OSI reference architecture. For practical reasons, OSI's Physical Layer is split into two sub-layers: Layer 1 and Layer 1.5 which abstracts from differences between alternative Layer 1 technologies.The UniPro specification itself covers Layers 1.5, 2, 3, 4 and the DME. The Application Layer is out of scope because different uses of UniPro will require different LA protocols. The Physical Layer is covered in separate MIPI specifications in order to allow the PHY to be reused by other protocols if needed.
OSI Layers 5 and 6 are, where applicable, counted as part of the Application Layer.
Discussion of value proposition
UniPro and system integration
UniPro is specifically targeted by MIPI to simplify the creation of increasingly complex products. This implies a relatively long-term vision about future handset architectures composed of modular subsystems interconnected via stable, standardized, but flexible network interfaces. It also implies a relatively long-term vision about the expected or desired structure of the mobile handset industry, whereby components can readily interoperate and components from competing suppliers are to some degree plug compatible.Similar architectures have emerged in other domains for similar reasons of interoperability and economy of scale. It is nevertheless too early to predict how rapidly UniPro will be adopted by the mobile phone industry.
High bandwidth and costs
High speed interconnects like UniPro, USB or PCI Express typically cost more than low speed interconnects. This is for example because of the silicon area occupied by the required mixed-signal circuitry, as well as due to the complexity and buffer space required to automatically correct bit errors. UniPro's cost and complexity may thus be an issue for certain low bandwidth UniPro devices.Adoption rate
As Metcalfe postulated, the value of a network technology scales with the square of the number of devices which use that technology. This makes any new cross-vendor interconnect technology only as valuable as the commitment of its proponents and the resulting likelihood that the technology will become self-sustaining. Although UniPro is backed by a number of major companies and that the UniPro incubation time is more or less in line with comparable technologies, adoption rate is presumed to be main concern about the technology. This is especially true because the mobile industry has virtually no track record on hardware standards which pertain to the internals of the product.A key driver for UniPro adoption is JEDEC Universal Flash Storage v2.0 which uses MIPI UniPro and M-PHY as the basis for the standard. There are several implementation of the standard which are expected to hit the market
Availability of application protocols
Interoperability requires more than just alignment between the peer UniPro devices on protocol layer L1-L4: it also means aligning on more application-specific data formats, commands and their meaning, and other protocol elements. This is a known intrinsically unsolvable problem in all design methodologies: you can agree on standard and reusable "plumbing", but that doesn't automatically get you alignment on the detailed semantics of even a trivial command like ChangeVolume or the format of a media stream.Practical approaches thus call for a mix of several approaches:
- If the previous generation interconnect worked, there was some kind of solution. Consider reusing/tunneling/porting it with minimal changes.
- There are many reusable application-specific industry standards.
- Tunnel major technologies over UniPro. If you interact with the IP world, it is sensible to provide IP-over-UniPro.
- Use application-specific software drivers. This only works for limited data rates and pushes the interoperability problem into an internal software interoperability problem, but is a well understood approach.
- Turn existing software interfaces into protocols. In some cases the transformation can be simple or even automated if the original APIs have the right architecture.
Licensing