NVDIMM Firmware Update via High-Speed Memory Interface
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional firmware update methods for storage backed memory packages, such as NVDIMM, are slow due to the low bit-rate and high signaling overhead of the host-to-controller interface, particularly the I2C bus, which can take hours for updates of several megabytes, impacting system availability and performance.
Innovation Solution
The firmware update is transferred via the high-throughput memory interface, with the host writing the update to the volatile portion and then triggering a save, allowing the controller to copy it to the non-volatile portion, enabling verification and installation, thereby bypassing the slow host-to-controller interface.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If firmware update is transferred via the host-to-controller interface (I2C bus), then the update can be reliably transmitted, but the update time becomes excessively long (hours for several megabytes)
Solution Approach 1:
The patent introduces the volatile memory portion as an intermediary to facilitate firmware updates. Instead of directly transferring firmware from host to controller via the slow I2C interface, the firmware is first written to the volatile memory portion through the fast memory interface, then copied to the non-volatile portion by the controller. This intermediary approach enables high-speed firmware updates while maintaining reliability.
Solution Approach 2:
The patent utilizes the volatile memory portion as a temporary storage dimension to bypass the slow host-to-controller interface. By writing firmware to volatile memory through the high-speed memory interface and then having the controller copy it to non-volatile memory, the system effectively adds a temporal dimension to the firmware update process, separating the fast write operation from the final storage operation.
2Productivity
If firmware update time is reduced using high-throughput interface, then system availability improves, but the complexity of the update process increases
Solution Approach 1:
The controller automatically performs the copy operation from volatile memory to non-volatile memory without requiring additional host intervention. Once the host writes the firmware image to the volatile memory portion and signals a save operation, the controller self-manages the transfer to non-volatile storage, verification, and installation, reducing the apparent complexity for the host system.
Solution Approach 2:
The patent performs preliminary verification of the firmware image during the copy operation from volatile to non-volatile memory. The controller validates the firmware image before installation, and maintains the ability to rollback if verification fails, thereby preparing the system in advance for potential issues and reducing the need for complex post-update recovery procedures.
3Ease of operation
If traditional I2C interface is used for firmware update, then the host-to-controller communication is simple, but the system availability decreases during update
Solution Approach 1:
The patent segments the firmware update process into distinct phases: (1) host writes firmware image to volatile memory portion through the memory interface, (2) controller copies firmware from volatile to non-volatile portion, (3) controller verifies and installs firmware. This segmentation allows the host to initiate the update quickly through the fast memory interface while the controller handles the time-consuming copy and verification operations independently, maintaining system availability.
Data Source
AI summary
Devices and techniques for firmware update in storage backed memory are disclosed herein. A firmware image can be stored to a volatile portion of the memory package in response to receiving the firmware image via a first interface of the memory package. A save indication can be received at a second interface of the memory package. The firmware image can be transferred from the volatile portion of the memory package to a non-volatile portion of the memory package based on the save indication. A firmware update indication can be received at the second interface. A firmware update of the memory package can be performed based on the firmware update indication.


