Bytewide Write-Enable Memory Compression for Better Array Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques for converting user-designed memory into hardware implementations often result in poor memory utilization due to mismatches between the dimensions of the user-designed memory and the aspect ratios of physical memory elements, leading to underutilization of memory elements.

Innovation Solution

A method that involves designing a core memory array, identifying groups of nodes for compression into physical memory elements, and generating input and output circuitry using a data replicator and write enable generator to efficiently map and write data into physical memory elements, allowing for increased memory utilization by compressing multiple nodes into a single element.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If user-designed memory dimensions are directly mapped to physical memory elements, then implementation is simple, but memory utilization is poor

Engineering Contradiction:
Improveimplementation simplicityVSAvoidmemory utilization
Core Design Contradiction:
Ease of manufactureVSQuantity of substance

Solution Approach 1:

The physical memory element is segmented into multiple virtual nodes through the compression architecture. Each physical memory element is divided into N segments, where each segment corresponds to a virtual node in the user-defined memory. This segmentation allows a single physical element to serve multiple logical memory locations, improving utilization while maintaining simple mapping through address decoding.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple virtual memory nodes are nested within a single physical memory element. The compression logic nests N virtual node addresses within one physical element's address space, allowing the physical element to contain multiple logical memory locations. This nesting achieves high memory utilization without complex external mapping.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Quantity of substance

If multiple nodes are compressed into a single physical memory element, then memory utilization is improved, but write operation complexity increases

Engineering Contradiction:
Improvememory utilizationVSAvoidwrite operation complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The write enable signal is applied partially to only the selected node within the compressed group rather than to all nodes. The compression logic activates the write enable for exactly one node at a time based on the address, performing partial action on the replicated data. This avoids the complexity of selective writing to multiple nodes while maintaining simple write circuitry.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Compression logic acts as an intermediary between the write interface and the physical memory element. This intermediary receives the write enable signal and address, determines which node is selected, and conditionally enables writing to only that specific node. The intermediary simplifies the overall system by handling the complexity internally while presenting a simple write interface externally.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If data is replicated before transmission to physical memory elements, then compression efficiency is improved, but input circuitry complexity increases

Engineering Contradiction:
Improvecompression efficiencyVSAvoidinput circuitry complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The data replication function is merged with the compression logic in a single integrated circuit block. Rather than having separate replication and compression circuits, the design combines these functions into one unit that simultaneously replicates data to multiple virtual nodes and compresses them into the physical memory element. This merging reduces overall input circuitry complexity while maintaining high compression efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11100267B1Multi dimensional memory compression using bytewide write enable
Publication Date: 2021.08.24 XILINX INC
  • US11100267B1 patent drawing
  • US11100267B1 patent drawing
  • US11100267B1 patent drawing

AI summary

Embodiments herein describe techniques for designing a compressed hardware implementation of a user-designed memory. In one example, a user defines a memory in hardware description language (HDL) with a depth (D) and a width (W). To compress the memory, a synthesizer designs a core memory array representing the user-defined memory. Using addresses, the synthesizer can identify groups of nodes in the array that can be compressed into a memory element. The synthesizer designs input circuitry such as a data replicator and a write enable generator for generating the inputs and control signals for the groups. The synthesizer can then implement the design in an integrated circuit where each group of nodes maps to a single memory element, thereby resulting in a compressed design.