Status Management in Storage Backed Memory Packages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage backed memory systems, particularly NVDIMM-N devices, a race condition occurs due to the speed mismatch between the host and the controller, leading to misinterpretation of status bits, resulting in operational failures during commands like catastrophic save operations.

Innovation Solution

Modifying the I2C bus interface to inspect host messages and set advertised status indications proactively, ensuring the 'busy bit' is set before the host re-reads the status, using a decoder to match command attributes with a set of advertised statuses and modify the corresponding status registers accordingly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the controller processes commands at its own speed, then the controller can complete operations accurately, but the host may misinterpret status bits due to speed mismatch, causing race conditions

Engineering Contradiction:
Improvestatus bit interpretation accuracyVSAvoidcontroller processing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The decoder proactively sets the busy bit before the controller completes the operation, based on command attribute matching. This preliminary action ensures the host sees an accurate status before attempting to re-read, preventing race conditions caused by speed mismatch between host and controller

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The decoder acts as an intermediary between the host and controller, intercepting I2C bus messages and manipulating status bits independently of the controller's processing speed. This mediator ensures the host receives accurate status information without being constrained by the controller's slower processing pace

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the host re-reads status quickly, then productivity is improved, but race conditions occur when the host assumes premature completion

Engineering Contradiction:
Improveoperation completion speedVSAvoidoperational failure prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback by continuously monitoring command attributes and updating status bits accordingly. The decoder provides real-time feedback to the host about operation status, allowing the host to re-read efficiently while the decoder ensures accuracy by setting bits based on actual command processing state

Inventive Principle:
Principle #23Feedback

3Measurement precision

If the decoder inspects all host messages, then status management accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvestatus bit accuracyVSAvoiddecoder complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The decoder applies local quality by focusing its inspection efforts only on specific command attributes that correspond to advertised statuses. Rather than analyzing all messages uniformly, the decoder selectively matches command attributes to relevant status bits, improving accuracy while minimizing complexity through targeted processing

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11934671B2Status management in storage backed memory package
Publication Date: 2024.03.19 MICRON TECHNOLOGY INC
  • US11934671B2 patent drawing
  • US11934671B2 patent drawing
  • US11934671B2 patent drawing

AI summary

Devices and techniques for status management in storage backed memory are disclosed herein. An encoded message can be received at a first interface of the memory package. Here, the memory package also includes a second interface to a host. The message can be decoded to obtain a decoded message that includes an attribute. The attribute can be compared a set of attributes that correspond to an advertised status of the memory package. The comparison enables a determination that the attribute is in the set of attributes. The advertised status of the memory package can then be modified in response to the determination that the attribute is in the set of attributes.