Folded FIFO Memory Generator for Unused Cell Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional FIFO memory implementations lead to inefficiencies due to mismatched physical characteristics, resulting in unused memory cells and increased power consumption and space requirements.

Innovation Solution

The method involves folding the depth and width of the FIFO memory to identify corresponding memory element dimensions, allowing for efficient storage by using a memory element with different dimensions than the FIFO, such as a 128×1 FIFO being implemented as a 16×8 memory element, where each row stores 8 bits, thereby utilizing all storage locations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a 128×1 FIFO is implemented using RAM with 8-bit wide rows, then the FIFO can store 128 entries, but 7 bits of each row remain unused leading to wasted space and power consumption

Engineering Contradiction:
Improvestorage capacityVSAvoidpower consumption
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent changes the dimensional parameters of the memory structure by folding the FIFO into a three-dimensional array configuration. Instead of using a conventional 2D memory array with wasted space, the invention reorganizes the storage into multiple banks with specific depth, width, and height parameters that precisely match the FIFO requirements, eliminating unused memory cells and optimizing power consumption.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If a 128×1 FIFO is implemented using RAM with 8-bit wide rows, then the FIFO can store 128 entries, but the hardware system requires more space than necessary

Engineering Contradiction:
Improvestorage capacityVSAvoidhardware area
Core Design Contradiction:
Quantity of substanceVSArea of stationary object

Solution Approach 1:

The patent transforms the memory dimensional parameters by creating a folded structure with specific depth, width, and height values. This reconfiguration allows the memory to achieve the required 128-entry capacity while minimizing the physical area by eliminating unused memory cells that would exist in a conventional flat memory arrangement.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a third dimension to the memory structure by organizing the FIFO into a three-dimensional array with depth, width, and height parameters. This dimensional transformation allows efficient packing of storage elements and eliminates the wasted space inherent in two-dimensional memory arrangements, thereby reducing the overall hardware area.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If conventional generators produce synthesizable code for FIFO memories, then different FIFO variations can be generated, but physical characteristics lead to inefficiencies with unused memory cells

Engineering Contradiction:
ImproveFIFO variationVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent modifies the memory dimensional parameters by implementing a folded structure with configurable depth, width, and height. This allows the generation of different FIFO variations with optimized parameters that eliminate unused memory cells, thereby reducing power consumption while maintaining the ability to produce various FIFO configurations through synthesizable code.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If conventional generators produce synthesizable code for FIFO memories, then different FIFO variations can be generated, but the hardware system requires more area than necessary

Engineering Contradiction:
ImproveFIFO variationVSAvoidhardware area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent optimizes the memory dimensional parameters by folding the FIFO into a three-dimensional structure with specific depth, width, and height values. This allows the generation of different FIFO variations while minimizing the hardware area by eliminating unused memory cells that would be present in conventional implementations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies dimensional transformation by organizing the FIFO memory into a three-dimensional array structure. This dimensional change enables efficient space utilization and reduces the overall hardware area while maintaining the capability to generate various FIFO configurations through parameter adjustment.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9189199B2Folded FIFO memory generator
Publication Date: 2015.11.17 NVIDIA CORP
  • US9189199B2 patent drawing
  • US9189199B2 patent drawing
  • US9189199B2 patent drawing

AI summary

Synthesizable code representing first-in-first out (FIFO) memories may be used to produce FIFO memories in a hardware element or system. To more efficiently use a memory element that stores the data in a FIFO, a code generator may generate a wrapper that enables the FIFO to use a memory element with different dimension (i.e., depth and width) than the FIFO's dimensions. For example, the wrapper enables a 128 deep, 1 bit wide FIFO to store data in a memory element with 16 rows that store 8 bits each. To any system communicating with the FIFO, the FIFO behaves like a 128×1 FIFO even though the FIFO is implemented using a 16×8 memory element. To do so, the code generator may generate a wrapper which enables the folded memory element to behave like a memory element that was not folded.