Flash Memory Controller Token Allocation for VM Write Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveflash memory device lifetimeVSAvoidwrite bandwidth
Core Design Contradiction:
Duration of action of stationary objectVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvewrite access simplicityVSAvoidfair resource distribution
Core Design Contradiction:
Ease of operationVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9081504B2Write bandwidth management for flash devices
Publication Date: 2015.07.14 LENOVO INT LTD
  • US9081504B2 patent drawing
  • US9081504B2 patent drawing
  • US9081504B2 patent drawing

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.