Banked Memory Row Degeneration for Fine Granularity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for producing memory devices from banked memory architectures result in coarse granularity of row sizes, leading to inefficient designs with increased power consumption and reduced performance, as they constrain row degeneration to be the same across all banks, limiting flexibility and efficiency.

Innovation Solution

A method that allows for the selection of a variable number of memory banks and partitions rows among them, enabling finer granularity and efficient design by not constraining the number of banks to be a factor of the total rows, thereby allowing each bank to have a different number of rows, and optimizing peripheral logic usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If row degeneration is constrained to be the same across all banks, then the design process is simplified, but the granularity of row size control becomes coarse

Engineering Contradiction:
Improvedesign process simplicityVSAvoidrow size control granularity
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

The patent divides the memory device into multiple banks, each capable of independent row degeneration. This segmentation allows different row configurations in different banks, enabling fine-grained control over total row count while maintaining manageable design complexity through modular bank-level configuration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic row degeneration capability where the number of rows can be independently adjusted in each bank based on design requirements. This dynamic configuration allows the system to adapt row counts flexibly, achieving precise control over memory capacity and performance characteristics.

Inventive Principle:
Principle #15Dynamics

2Speed

If the number of memory banks is increased, then access speed and power efficiency are improved, but the granularity of row size control becomes coarser

Engineering Contradiction:
Improveaccess speedVSAvoidrow size control granularity
Core Design Contradiction:
SpeedVSManufacturing precision

Solution Approach 1:

By segmenting the memory into multiple banks with independent row degeneration, the patent enables fine-grained control over the total number of rows even as the number of banks increases. Each bank can be independently configured to contribute a specific number of rows, allowing precise control over memory capacity and access characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing different row configurations in different banks based on specific design needs. Each bank can have optimized row counts tailored to local performance requirements, enabling the system to achieve both high access speed through multiple banks and fine-grained row size control through localized configuration.

Inventive Principle:
Principle #3Local quality

3Productivity

If custom design is used for particular implementation, then design efficiency is improved, but reusability and cost-effectiveness deteriorate

Engineering Contradiction:
Improvedesign efficiencyVSAvoiddesign reusability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal banked memory architecture that can be configured for different implementations through parameter specification. The same core architecture can produce custom-optimized designs for specific applications while maintaining reusability across different projects, achieving both design efficiency and adaptability through a flexible parameter-driven configuration system.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent enables custom design efficiency through parameter changes by allowing designers to specify desired properties such as row count, bank count, and configuration parameters. The compiler tool uses these parameters to automatically generate optimized instances of the banked memory architecture, providing custom-tailored designs without requiring complete redesigns, thus maintaining both efficiency and reusability.

Inventive Principle:
Principle #35Parameter changes

4Area of stationary object

If peripheral logic is shared between banks, then area efficiency is improved, but flexibility in row configuration is reduced

Engineering Contradiction:
Improvearea efficiencyVSAvoidrow configuration flexibility
Core Design Contradiction:
Area of stationary objectVSAdaptability or versatility

Solution Approach 1:

The patent segments the memory system into banks with shared peripheral logic, achieving area efficiency through logic reuse. Simultaneously, each bank maintains independent row degeneration capability, providing flexibility in row configuration. This segmentation allows the system to share common infrastructure while enabling customized configurations in each bank.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The shared peripheral logic serves multiple banks universally, improving area efficiency. The patent enhances this universal approach by allowing each bank to independently configure its row count, making the shared logic adaptable to different row configurations across banks, thus maintaining both area efficiency and configuration flexibility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7523420B2Degeneration technique for designing memory devices
Publication Date: 2009.04.21 ARM LTD
  • US7523420B2 patent drawing
  • US7523420B2 patent drawing
  • US7523420B2 patent drawing

AI summary

A system, method and computer program product are provided for producing an instance of a memory device from a banked memory architecture. The banked memory architecture specifies a maximum number of memory banks and a maximum number of rows per memory bank. The method comprises the step of receiving input parameters indicating a number of properties of the memory device, the properties comprising at least a number of rows R for the memory device. Thereafter, a degeneration process is performed on the banked memory architecture in order to produce the instance of a memory device having those properties. The degeneration process comprises the steps of: (i) selecting a number of memory banks B for the instance, where the number is an integer less than or equal to the maximum number of memory banks specified by the banked memory architecture, and B is not constrained to be a factor of R; and (ii) partitioning the number of rows R amongst the selected memory banks such that in each memory bank the number of rows in that memory bank is an integer less than or equal to the maximum number of rows per memory bank specified by the banked memory architecture. This has been found to provide a very flexible technique for producing instances from a banked memory architecture allowing fine granularity in the number of rows provided, which is particularly suitable for highly banked memory architectures.