Storage Device Controller Dynamic Reconfiguration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized computing systems, existing storage devices face performance issues due to shared CPU and storage resources among multiple users, leading to reduced computational efficiency as they struggle to meet unique workload requirements of each user simultaneously.
Innovation Solution
A storage device with a reconfiguration module that dynamically adjusts its configuration in real-time to accommodate user-selected applications and data, utilizing a combination of centralized and distributed control architectures to optimize resource allocation and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple users share the CPU and storage resources on a server, then the server can host several users simultaneously, but system performance is negatively impacted and computational efficiency is reduced
Solution Approach 1:
The patent segments the monolithic server storage system into distributed storage devices, each with its own controller capable of independent operation. Each storage device can be reconfigured to serve different users with different workloads, allowing multiple users to be hosted simultaneously without performance degradation from resource contention.
Solution Approach 2:
The storage device controllers are designed to be dynamically reconfigurable, allowing the system to adapt storage resources in real-time based on user requirements. This dynamic reconfiguration enables the system to optimize performance for each user's specific workload while maintaining the ability to host multiple users.
2Ease of operation
If the server uses its cycles to manage and match user requirements to storage resources, then user requirements can be satisfied, but the computational efficiency of the server is reduced
Solution Approach 1:
The patent implements self-service by enabling storage device controllers to autonomously manage their own configuration and workload assignment. Each controller can independently reconfigure itself to match user requirements without consuming server CPU cycles, thereby maintaining high computational efficiency while still satisfying user needs.
Solution Approach 2:
The storage device controllers act as intermediaries between users and storage resources. They handle the complexity of matching user requirements to appropriate storage configurations locally, freeing the server from this management task and preserving server computational efficiency.
3Adaptability or versatility
If storage devices need to support different usage schemes for virtualization, then virtual users with unique requirements can be served, but the storage devices struggle to meet requirements simultaneously
Solution Approach 1:
The patent designs storage device controllers with multi-functionality, enabling a single controller to support multiple usage schemes and virtualization scenarios. Each controller can be reconfigured to handle different types of workloads (e.g., database operations, file storage, analytics) and serve multiple virtual users with unique requirements simultaneously through dynamic reconfiguration.
Data Source
AI summary
Devices, systems, and methods are provided for dynamically reconfiguring storage devices with applications in real-time to meet user needs, such as running different applications. The devices, systems, and methods relate to a storage device that includes memory for data storage and a controller for storing data in the memory. The controller includes a processor configured to receive an indication to reconfigure the controller with an application that is user-selected; receive the application; reconfigure the controller with the application such that the controller is enabled to run the application; receive an indication to run the application with a set of data as input; receive the set of data; run the application with the set of data as input; and generate resulting data from running the application with the set of data as input.


