IOV Host Controller Virtual Transfer Request List Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional flash-memory-based storage device standards like UFS and eMMC are designed for single I/O clients, failing to efficiently manage and provide access to multiple I/O clients in virtualization environments, where multiple hosts need to interact with a single flash-memory-based storage device as if it were a single host.
Innovation Solution
The implementation of an Input/Output Virtualization (IOV) host controller (IOV-HC) that provides a shared transfer request list (TRL) with virtual TRLs, allowing multiple I/O clients to access the flash-memory-based storage device by using client register interfaces (CRIs) with their own virtual TRLs, defined by TRL slot offset and count registers, enabling transparent processing of transfer requests and responses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a conventional host controller provides a transfer request list for a single I/O client, then the access control and data processing is simple, but the system cannot support multiple I/O clients in virtualization environments
Solution Approach 1:
The patent segments the single transfer request list into multiple virtual transfer request lists, each associated with a different I/O client. Each virtual TRL is managed separately with its own descriptors and state, allowing independent control and processing for each client while sharing the same physical storage device. This segmentation enables multi-client support without requiring complete redesign of the storage interface.
Solution Approach 2:
The host controller acts as an intermediary between multiple I/O clients and the flash-memory-based storage device. It receives transfer requests from multiple clients, maps them to appropriate virtual TRLs, and coordinates access to the physical storage device. This intermediary role allows the storage device to maintain a simplified single-client interface while supporting multiple clients through the host controller's virtualization layer.
2Reliability
If multiple I/O clients share a single transfer request list, then the device structure remains simple, but access conflicts and data corruption may occur
Solution Approach 1:
The patent divides the transfer request list into separate virtual TRLs for each I/O client, ensuring that each client has its own dedicated list of transfer descriptors. This segmentation prevents access conflicts and data corruption by isolating client requests, while the host controller manages the mapping between virtual and physical TRLs.
Solution Approach 2:
The host controller performs preliminary mapping and allocation of virtual TRLs to physical TRLs before transfer requests are processed. This preliminary action ensures that each client's requests are properly routed to the correct virtual list, preventing conflicts and ensuring data correctness before actual data transfer occurs.
3Adaptability or versatility
If the flash-memory-based storage device operates as a single-client device, then the interface protocol is simple, but it cannot efficiently serve multiple hosts in virtualization environments
Solution Approach 1:
The patent implements a universal host controller that can serve multiple I/O clients while maintaining compatibility with single-client flash-memory-based storage devices. The host controller provides multi-functionality by managing virtual TRLs for different clients, enabling the same physical device to be accessed by multiple hosts in virtualization environments without requiring changes to the storage device itself.
Solution Approach 2:
The host controller serves as an intermediary layer that translates multiple client requests into appropriate access patterns for the single-client storage device. It maintains the simplicity of the original interface protocol while adding virtualization capabilities, allowing the storage device to remain unchanged while supporting multi-host access through the host controller's mediation.
Data Source
AI summary
An input/output virtualization (IOY) host controller (HC) (IOV-HC) of a flash-memory-based storage device is disclosed. In one aspect, an IOV-HC is coupled to input/output (I/O) clients via corresponding client register interfaces (CRIs), and is also coupled to a flash-memory-based storage device. The IOV-HC comprises transfer request list (TRL) slot offset registers indicating slots of a shared TRL that are assigned as base slots to each of the CRIs. The IOV-HC further comprises TRL slot count registers indicating how many slots of the shared TRL are assigned to each of the CRIs. When a transfer request (TR) directed to the flash-memory-based storage device is received from a CRI, the IOV-HC is configured to map the TR to a slot of the shared TRL based on a TRL slot offset register and a TRL slot count register of the plurality of TRL slot count registers corresponding to the CRI.


