Unaligned Access Adapter for Programmable Chip Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems face limitations in allowing unaligned memory access, particularly for programmable devices, leading to unpredictable results or performance inefficiencies, as they require aligned access operations, which can be burdensome for developers and reduce application performance.

Innovation Solution

An unaligned access adapter is used to determine if a memory access request is aligned or unaligned, forwarding aligned requests directly while processing multiple aligned requests to provide a correct response for unaligned accesses, allowing unaligned memory access without modifying the processor or other components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If aligned memory access is required for wide memory, then memory access reliability is improved, but ease of operation deteriorates due to alignment restrictions

Engineering Contradiction:
Improvememory access reliabilityVSAvoidease of operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

An unaligned access adapter is introduced as an intermediary component between the master component and wide memory. The adapter receives unaligned access requests from the master component, internally converts them into multiple aligned access requests to the memory, and combines the results to generate the correct unaligned access response. This mediator approach allows the master component to operate with unaligned addresses while the memory maintains its alignment requirements, thus improving ease of operation without sacrificing reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If unaligned memory access is allowed directly, then ease of operation is improved, but manufacturing precision deteriorates due to undefined or incorrect results

Engineering Contradiction:
Improveease of operationVSAvoidaccess precision
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The unaligned memory access operation is segmented into multiple aligned access operations. When the adapter receives an unaligned access request, it divides the access into multiple smaller aligned requests that can be correctly handled by the wide memory. The adapter then combines the results of these segmented operations to produce the correct unaligned access result. This segmentation approach maintains access precision by ensuring each individual memory access operates within alignment constraints while still supporting unaligned access semantics.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If software processing is used to handle unaligned access, then adaptability is improved, but productivity deteriorates due to processing overhead

Engineering Contradiction:
ImproveadaptabilityVSAvoidproductivity
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent replaces software-based unaligned access handling with a hardware adapter implementation. Instead of using software routines to detect and handle unaligned accesses (which incur processing overhead and reduce productivity), the adapter performs alignment conversion automatically in hardware. This mechanical substitution eliminates the software processing overhead while maintaining full adaptability for both aligned and unaligned access patterns, thus improving productivity without sacrificing versatility.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8219785B1Adapter allowing unaligned access to memory
Publication Date: 2012.07.10 TAHOE RES LTD
  • US8219785B1 patent drawing
  • US8219785B1 patent drawing
  • US8219785B1 patent drawing

AI summary

Methods and apparatus are provided for allowing a master component such as a processor on a programmable chip to access memory using unaligned addresses. An adapter connected to a master component determines if a master component memory access request is aligned. If the access request is aligned, the request is forwarded to memory and a response is provided to the master component. If the access request is unaligned, the adapter sends multiple access requests to memory and processes the responses in order to provide a correct response to the master component.