Flash Memory Controller Token Allocation for VM Write Bandwidth
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized environments, flash memory devices are not intelligently partitioning limited write bandwidth among virtual machines (VMs), leading to resource sharing issues where aggressive VMs dominate access, potentially starving other VMs due to conventional, VM-agnostic controllers that do not manage write transactions effectively.
Innovation Solution
A flash memory controller computes the contemporaneous bandwidth of write requests and allocates tokens to VMs, allowing access only with tokens, redistributing unused tokens and providing additional tokens during bursts to ensure fair access, thereby managing write access intelligently and fairly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If write transactions are throttled to reduce erase cycles, then flash memory device lifetime is extended, but available write bandwidth decreases
Solution Approach 1:
The patent segments the flash memory device's write bandwidth into discrete allocatable units called tokens. The controller divides the total available write bandwidth among multiple virtual machines by allocating a specific number of tokens to each VM, enabling fine-grained control over bandwidth distribution while maintaining overall system productivity despite throttling.
Solution Approach 2:
The patent implements dynamic bandwidth allocation where token distribution among virtual machines can be adjusted in real-time based on current system conditions, VM priorities, and bandwidth availability. This dynamic approach allows the system to adapt to changing workloads while maintaining the throttled write rate that extends device lifetime.
2Ease of operation
If write bandwidth is freely available to any VM, then ease of operation is maintained, but resource sharing becomes unfair and some VMs may starve
Solution Approach 1:
The patent introduces tokens as an intermediary mechanism between virtual machines and the flash memory device. These tokens serve as a fair distribution medium that mediates access requests, ensuring each VM receives equitable bandwidth allocation without complex negotiation or starvation issues, while maintaining operational simplicity through automatic token management by the controller.
Solution Approach 2:
The patent implements a feedback mechanism where the controller monitors token usage, VM performance, and flash memory status to dynamically adjust token allocation. This feedback loop ensures fair resource distribution by reallocating tokens based on actual bandwidth consumption and VM priorities, preventing any single VM from dominating resources while maintaining ease of operation.
Data Source
AI summary
Embodiments of the present invention provide a flash memory device write-access management amongst different virtual machines (VMs) in a virtualized computing environment. In one embodiment, a virtualized computing data processing system can include a host computer with at least one processor and memory and different VMs executing in the host computer. The system also can include a flash memory device coupled to the host computer and accessible by the VMs. Finally, a flash memory controller can manage access to the flash memory device. The controller can include program code enabled to compute a contemporaneous bandwidth of requests for write operations for the flash memory device, to allocate a corresponding number of tokens to the VMs, to accept write requests to the flash memory device from the VMs only when accompanied by a token and to repeat the computing, allocating and accepting after a lapse of a pre-determined time period.


