Memory Data Balancing via Segment Inversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory devices face challenges in efficiently balancing data storage, leading to increased latency, power consumption, and reduced reliability due to the need to test multiple inversion possibilities for achieving target weights in data packets.

Innovation Solution

The implementation of a process that divides data packets into segments and uses a sequential and cumulative inversion method to achieve target weights within a specific range, reducing the number of hypotheses tested and encoding bits required, thereby minimizing latency and overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple inversion possibilities are tested to achieve target weights in data packets, then reliability of data storage is improved, but latency and power consumption increase

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The data packet is divided into multiple segments, and inversion operations are performed on individual segments rather than the entire packet. This segmentation allows the system to test fewer hypotheses (only segment inversions needed to reach target weight) instead of testing all possible inversions of the complete packet, thereby reducing latency while maintaining reliability through controlled inversion operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple inversion possibilities are tested to achieve target weights in data packets, then reliability of data storage is improved, but power consumption increases

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

By segmenting the data packet and performing inversion operations only on specific segments rather than the entire packet, the computational workload and associated power consumption are significantly reduced. The system only needs to evaluate a limited number of segment inversion hypotheses to achieve the target weight, avoiding the exponential power cost of testing all possible packet inversions while preserving data storage reliability.

Inventive Principle:
Principle #1Segmentation

3Productivity

If sequential and cumulative inversion method is used to achieve target weights, then the number of hypotheses tested is reduced, but device complexity increases

Engineering Contradiction:
Improveencoding efficiencyVSAvoidencoding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary segmentation of the data packet into predefined segments before the inversion operation. This preliminary action establishes a structured framework that guides the sequential and cumulative inversion process, allowing the system to efficiently test only the necessary hypotheses (segment inversions) to reach the target weight. The pre-established segment structure reduces the complexity of the inversion logic compared to evaluating all possible packet inversions from scratch.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11733913B2Balancing data for storage in a memory device
Publication Date: 2023.08.22 MICRON TECHNOLOGY INC
  • US11733913B2 patent drawing
  • US11733913B2 patent drawing
  • US11733913B2 patent drawing

AI summary

Methods, systems, and devices related to balancing data are described. Data may be communicated using an original set of bits that may be partitioned into segments. Each of the original set of bits may have a first value or a second value, where a weight of the original set of bits may be based on a quantity of the set of bits that have the first value. If the weight of the original set of bits is outside of a target weight range, a different, encoded set of bits may be used to represent the data, the encoded set of bits having a weight within the target weight range. The encoded set of bits may be identified based an inversion of the original set of bits in a one-at-a-time and cumulative fashion. The encoded set of bits may be stored in place of the original set of bits.