Virtual Flash Memory Allocation for Server Firmware Consolidation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current server systems are costly due to multiple separate Flash memory components for firmware storage, leading to complex maintenance and updates, increased hardware failure risks, and the need for multiple management software utilities and trained personnel.
Innovation Solution
A method that allocates virtual Flash memory space from a single Flash component to multiple subsystems, allowing each subsystem to recognize and function as if it has its own dedicated Flash memory component, thereby simplifying firmware storage and maintenance by managing all subsystems as a single entity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple separate Flash memory components are used for each subsystem, then each subsystem can have its own dedicated firmware storage, but component costs, board area costs, and maintenance complexity increase
Solution Approach 1:
The patent consolidates multiple separate Flash memory components into a single shared Flash memory component that stores firmware for all subsystems. The system provides virtualized access to this shared storage, allowing each subsystem to access its designated firmware images while appearing to have dedicated storage. This merging approach reduces component count, board area, and maintenance complexity while maintaining firmware storage reliability.
Solution Approach 2:
The single Flash memory component serves multiple functions by storing firmware images for different subsystems (network controller, disk controller, host bus adapter, etc.). The system implements a universal firmware management mechanism that can update and manage firmware for any subsystem through a common interface, eliminating the need for separate management utilities for each component.
2Ease of operation
If each subsystem has its own Flash memory component, then firmware can be stored locally, but the likelihood of hardware failure increases
Solution Approach 1:
By merging multiple Flash memory components into a single shared component, the system reduces the total number of potential failure points. Fewer discrete hardware components mean fewer opportunities for hardware failures, while the shared architecture maintains local access capabilities for each subsystem through virtualized memory mapping.
3Quantity of substance
If multiple Flash memory components are used, then each subsystem can store its firmware, but maintenance and update costs increase
Solution Approach 1:
The system implements a universal firmware management mechanism that provides a single maintenance utility for managing firmware across all subsystems. This unified approach eliminates the need for separate management software for each Flash memory component, reducing development, deployment, and training costs while maintaining the ability to store and update firmware for multiple subsystems.
4Adaptability or versatility
If individual Flash memory components are used for each subsystem, then firmware can be independently managed, but the server is never at a single known code level
Solution Approach 1:
The unified firmware management mechanism provides system-wide code level tracking and management. It maintains a centralized view of firmware versions across all subsystems, ensuring the server operates at a known code level while still allowing independent firmware updates for specific subsystems when needed.
Data Source
AI summary
A mechanism is provided for improved firmware storage and maintenance. For each master device in a plurality of master devices: an amount of Flash memory space required by the master device is identified and the amount of Flash memory space from a Flash component is allocated to the master device as a virtual Flash memory allocation. An initial sector location of the virtual Flash memory allocation in a data structure is recorded as an offset into the Flash component and a length of the virtual Flash memory allocation and device information is also recorded in the data structure. Data that allows the master device to boot up is then loaded into the virtual Flash memory allocation.


