Dynamic Memory Allocation for Firmware Modules in Data Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices face challenges with limited non-volatile cache memory space, where only a subset of firmware modules have statically allocated memory, leaving others without allocation, which is inefficient in managing dynamic conditions such as power loss and head-disc collisions.

Innovation Solution

Implementing a dynamic memory allocation system that allows non-volatile memory to be dynamically altered based on the status of the data storage device, reallocating space among firmware modules according to different usage modes in response to events like power loss or head-disc collisions, enabling repeated use of memory portions for varying conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static memory allocation is used for firmware modules, then memory management is simple, but memory space is wasted when certain firmware modules are not activated

Engineering Contradiction:
Improvememory management complexityVSAvoidmemory space utilization
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic memory allocation where the controller adjusts memory usage modes based on device status changes. Different firmware modules are activated or deactivated according to operational conditions (normal mode, power loss mode, head-disc collision mode), and memory allocation dynamically shifts to support only the currently needed modules, eliminating waste while maintaining manageability through automated status-based transitions

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes memory allocation parameters based on device status. The controller monitors operational conditions and transitions between predefined memory usage modes, each with optimized allocation configurations for specific firmware modules. This parameter-based approach allows flexible adaptation to different operational scenarios without requiring complex real-time calculation or manual reconfiguration

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If memory space is increased to accommodate all firmware modules, then all modules can access memory, but device cost and memory size increase

Engineering Contradiction:
Improvefirmware module accessibilityVSAvoidmemory size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Rather than provisioning memory for all possible firmware modules simultaneously, the system dynamically activates only the subset of modules needed for the current operational mode. The controller manages memory allocation based on device status, ensuring that sufficient memory is available for active modules while keeping the physical memory size minimal by leveraging temporal multiplexing of memory resources across different operational states

Inventive Principle:
Principle #15Dynamics

3Stability of the object's composition

If static memory allocation is used, then memory configuration is fixed, but the device cannot adapt to different operational conditions such as power loss or head-disc collisions

Engineering Contradiction:
Improvememory configuration stabilityVSAvoiddevice adaptability to operational conditions
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent establishes a dynamic memory allocation system where the controller monitors device status and transitions between predefined memory usage modes based on operational conditions. Each mode (normal operation, power loss detection, head-disc collision) has an optimized memory configuration that activates specific firmware modules and allocates memory accordingly. This dynamic approach maintains stability through structured mode transitions while achieving adaptability to various operational scenarios

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system pre-defines multiple memory usage modes with optimized allocations for different operational conditions. Rather than calculating optimal allocation in real-time during events, the controller has predetermined configurations ready for immediate activation when status changes occur. This preliminary preparation enables rapid adaptation to power loss, head-disc collisions, or other events without complex real-time decision-making

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11016665B2Event-based dynamic memory allocation in a data storage device
Publication Date: 2021.05.25 SEAGATE TECH LLC
  • US11016665B2 patent drawing
  • US11016665B2 patent drawing
  • US11016665B2 patent drawing

AI summary

A data storage device that includes data storage media, with at least one of the data storage media having a plurality of embedded firmware modules. The data storage media include a non-volatile memory having different usage modes, with each different usage mode being associated with a different status of the data storage device, and each of the different usage modes having different space allocation configurations for data generated by the plurality of embedded firmware modules. A controller communicatively coupled to the non-volatile memory. The controller determines a change in the status of the data storage device and, in response to the change in the status of the data storage device, dynamically alters the usage mode of the non-volatile memory from a first one of the usage modes to a second one of the usage modes.