Address Translation Circuit for Storage Class Memory Wear Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage class memory technologies, such as resistive RAM and flash-based memory, suffer from wear issues due to repeated program cycles, leading to data loss over time, which can disrupt processor operations and require complex management to maintain data integrity and performance.

Innovation Solution

A memory controller with an address translation circuit is implemented to manage storage class memory by distributing write operations, moving data to less worn blocks, and maintaining an address translation table to hide wear leveling activities from the processor, ensuring seamless data access and extending memory lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If storage class memory is used for processor memory, then write performance is significantly faster than hard drives, but the memory cells suffer from wear and gradual breakdown

Engineering Contradiction:
Improvewrite performanceVSAvoidmemory cell durability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a memory controller as an intermediary between the processor and storage class memory. The memory controller implements wear leveling algorithms that distribute write operations across different memory blocks, preventing any single block from experiencing excessive wear. This mediator layer transparently manages the mapping between logical addresses and physical memory locations, allowing the processor to benefit from fast write performance while the memory cells are protected from premature breakdown through intelligent write distribution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Duration of action of stationary object

If wear leveling operations are implemented to manage memory wear, then memory lifespan is extended, but the system requires complex management operations including moving data between blocks

Engineering Contradiction:
Improvememory lifespanVSAvoidmanagement complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The patent extracts the wear leveling management complexity from the processor domain and places it entirely within the memory controller. The memory controller independently handles all wear leveling operations, including tracking block wear status, making decisions about data relocation, and updating address translation tables. This extraction allows the processor to access memory using simple logical addresses without needing to understand or participate in the complex wear leveling management, thereby extending memory lifespan while containing complexity within the memory controller subsystem.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If data is moved between different memory blocks for wear leveling, then wear is distributed evenly, but the address mapping becomes dynamic requiring translation operations

Engineering Contradiction:
Improvewear distributionVSAvoidaddress translation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-allocating and pre-mapping memory blocks before they are fully utilized. The memory controller maintains an address translation table that is proactively updated whenever wear leveling requires data movement, rather than waiting for address conflicts to occur. This preliminary updating of address mappings ensures that wear distribution is maintained while address translations are resolved efficiently before they impact processor operations, reducing the complexity of real-time address management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10754789B1Address translation for storage class memory in a system that includes virtual machines
Publication Date: 2020.08.25 AMAZON TECH INC
  • US10754789B1 patent drawing
  • US10754789B1 patent drawing
  • US10754789B1 patent drawing

AI summary

Provided are systems and methods for an address translation circuit for a memory controller. The address translation circuit can include an address translation table. A first set of rows in the address translation table can be associated with all virtual machine identifiers supported by the memory controller. A second set of rows can be associated with only a particular virtual machine identifier. The address translation circuit can receive an input address for a transaction to processor memory. The address translation circuit can determine an index by inputting the input address into a hash function. The address translation circuit can read a row from the address translation table using the index. The address translation circuit can determine whether an entry in the row includes the address translation for the input address. The address translation circuit can generate and output a translated address using the address translation.