Memory Controller Block Sorting for Multi-Memory Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory controllers underutilize multiple memories when the data transfer rate between the host and the memory controller exceeds the rate between the controller and a single memory, leading to decreased system access performance.

Innovation Solution

A method and memory controller that sorts blocks of multiple memories in a non-sequential successive order to ensure equal access to both memories, allowing simultaneous access and increasing utilization and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the memory controller sequentially accesses blocks from multiple memories, then the access process is simple, but the utilization rate of memories decreases and access performance is reduced

Engineering Contradiction:
Improvememory utilization rateVSAvoidblock sorting complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller performs preliminary sorting of blocks from multiple memories before actual data access. By pre-organizing blocks in a non-sequential successive order and mapping them to sequential disk logical addresses, the system prepares the memory structure in advance to enable simultaneous access during operation, thereby improving memory utilization rate without complicating the actual access process

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the memory access process into two independent parts: (1) block sorting and address mapping, which is performed in advance; and (2) actual data access, which can proceed simultaneously. This segmentation allows the complex sorting operation to be separated from the access operation, enabling simple sequential access from the host's perspective while achieving simultaneous memory access underneath

Inventive Principle:
Principle #1Segmentation

2Productivity

If the memory controller sequentially accesses blocks from multiple memories, then the control logic is simple, but the system access performance is limited

Engineering Contradiction:
Improvesystem access performanceVSAvoidaccess control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary sorting of memory blocks and establishes the mapping relationship between non-sequential successive blocks and sequential disk logical addresses before actual access. This pre-preparation enables the memory controller to access multiple memories simultaneously during operation, significantly improving system access performance while keeping the control logic manageable through pre-computed mappings

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mapping mechanism that translates sequential disk logical addresses into non-sequential successive block addresses across multiple memories. This intermediary layer (the address mapping table) allows the host to issue simple sequential access commands while the memory controller translates them into simultaneous multi-memory operations, improving performance without increasing visible complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If the memory controller uses sequential address mapping for multiple memories, then the mapping is simple, but the data transfer rate is not fully utilized

Engineering Contradiction:
Improvedata transfer rateVSAvoidaddress mapping complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The memory controller performs preliminary sorting of blocks from multiple memories and pre-establishes the mapping between non-sequential successive blocks and sequential disk logical addresses. This pre-organization enables the system to fully utilize the data transfer rate by allowing simultaneous access to multiple memories, as the mapping complexity is resolved in advance rather than during data transfer

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The address mapping is segmented into two independent parts: (1) the mapping relationship establishment, which is performed in advance by sorting blocks; and (2) the actual data transfer, which proceeds at full speed using the pre-established mappings. This segmentation allows the system to achieve high data transfer rates without the mapping complexity interfering with the actual data movement process

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12131043B2Method and memory controller for accessing multiple memories
Publication Date: 2024.10.29 RAYMX MICROELECTRONICS CORP
  • US12131043B2 patent drawing
  • US12131043B2 patent drawing
  • US12131043B2 patent drawing

AI summary

A method and a memory controller for accessing a plurality of memories are provided. The method includes sorting a plurality of blocks of a plurality of memories to correspond to a plurality of disk logical addresses that are sequentially sorted. The plurality of blocks of the plurality of memories include M first blocks of a first memory and N second blocks of a second memory, where M and N are each an integer greater than 1, and the M first blocks of the first memory and the N second blocks of the second memory in the plurality of disk logical addresses are sorted in a non-sequential successive order.