Network Firmware Update Using Parallel Verification and Decompression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The challenge of updating software in network devices, particularly in storage systems, is the requirement for significant resources and the need to perform updates without stopping IO operations, which is not feasible with limited memory allocation.
Innovation Solution
A method involving a controller that stores compressed firmware data, performs signature verification and decompression in parallel, and updates the network device using divided blocks to minimize memory requirements and allow continuous operation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If a large amount of memory area is allocated to the update process, then the software update can be performed smoothly, but the system cannot maintain continuous operation during the update
Solution Approach 1:
The memory space is divided into two separate regions: an active region that stores currently running software and an inactive region that stores updated software. This segmentation allows the system to maintain continuous operation in the active region while performing updates in the inactive region, thus resolving the contradiction between smooth update process and continuous operation.
Solution Approach 2:
The updated software is prepared and stored in the inactive region before the actual update is activated. This preliminary action allows the system to validate the updated software and prepare it in advance, then switch to it without interrupting the current operation, ensuring both smooth updates and continuous operation.
2Adaptability or versatility
If the interface device software size is large, then the software functionality is enhanced, but the memory resources required for update increase
Solution Approach 1:
The patent implements a nested memory structure where the inactive region is embedded within the overall memory architecture of the interface device. This nested arrangement allows the large software update data to be stored efficiently within the existing memory hierarchy without requiring external expansion, thus accommodating enhanced functionality while managing memory resources effectively.
Solution Approach 2:
The patent changes the memory allocation parameters by designating specific portions of the memory as active and inactive regions. This parameter change allows the system to dynamically manage memory resources during the update process, enabling large software updates to be performed by utilizing the inactive region without permanently increasing the total memory footprint required for operation.
3Reliability
If the software update is performed without stopping IO, then the system availability is maintained, but the resource allocation becomes constrained
Solution Approach 1:
The patent extracts the software update process from the active operational region and places it in the inactive region. This extraction allows the update process to be performed independently without interfering with the ongoing IO operations in the active region, thus maintaining system availability while simplifying resource allocation by clearly separating update and operational resources.
Data Source
AI summary
An information processing device includes a controller and an interface device. The controller stores a compressed file including new firmware for the interface device, and sends at least part of compressed data in the compressed file to the interface device. The interface device performs a signature verification process and a decompressing process on the received compressed data in parallel.


