Universal Memory Interface (UMI)
UMI is a transaction based standard for accessing memory through request-response message exchange patterns. Our design philosophy: make everything addressable and keep it simple.
UMI includes five distinct abstraction layers:
- Protocol: Protocol/application specific payload (Ethernet, PCIe)
- Transaction: Address based request-response messaging
- Signal: Latency insensitive signaling (packet, ready, valid)
- Link: Communication integrity (flow control, reliability)
- Physical: Electrical signaling (electrons, wires, etc.)
Architecture
Key Features
- independent request and response channels
- word sizes up to 1024 bits
- up to 256 word transfers per transaction
- atomic transaction support
- quality of service support
- protection and security support
- reserved opcodes for users and future expansion
To learn more about UMI, please see the GitHub repo.