Memory Access Controller for Conflict-Free Data Output

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In arithmetic processing devices, the varying data read sizes of memory access requests can lead to conflicts and delays in data output, resulting in deteriorated processing performance due to misalignment in the issuance and output orders of memory access requests and responses.

Innovation Solution

A memory access controller that coordinates memory access by outputting read commands at conflict-avoiding timings, using buffers to store and manage data output based on an output start timing, and delaying subsequent data outputs to maintain the correct reception order of memory access requests, thereby ensuring data is output in the intended order and preventing collisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory access requests with different data read sizes are processed sequentially without coordination, then the memory can be accessed continuously, but data output conflicts and order misalignment occur

Engineering Contradiction:
Improvememory access throughputVSAvoiddata output order correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The memory access controller determines the data read size of each memory access request in advance and coordinates the output timing of read commands accordingly. By performing this preliminary sizing and timing coordination, the system ensures that data is output in the correct order while maintaining continuous memory access throughput.

Inventive Principle:
Principle #10Preliminary action

2Speed

If subsequent memory access requests are processed immediately without delay control, then processing speed is improved, but output collisions and data order errors occur

Engineering Contradiction:
Improverequest processing speedVSAvoidoutput collisions
Core Design Contradiction:
SpeedVSObject-generated harmful factors

Solution Approach 1:

The system dynamically adjusts the output timing of subsequent memory access requests based on the data read size of preceding requests. When a subsequent request would cause an output collision, its output timing is delayed appropriately. This dynamic timing adjustment maintains high processing speed while preventing output collisions and data order errors.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11797462B2Arithmetic processing device and memory access method
Publication Date: 2023.10.24 FUJITSU LTD
  • US11797462B2 patent drawing
  • US11797462B2 patent drawing
  • US11797462B2 patent drawing

AI summary

A memory is accessed based on memory access requests that has different data read sizes. A memory access method includes outputting each of read commands corresponding to the plurality of memory access requests to a memory at a timing that avoids conflict of read data output from the memory; generating an output start timing of the data read from the memory to an outside; retaining the data read from the memory in each of buffers, and causing any of the plurality of buffers to output data based on the output start timing; and delaying, in a case of receiving a subsequent memory access request during execution of memory access corresponding to a preceding memory access request, the output start timing of data from the buffer corresponding to the subsequent memory access request from the output start timing of data from the buffer corresponding to the preceding memory access request.