Microcode-Based Memory Controller for Flash Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory controllers face challenges in balancing complexity and extendibility while maintaining high performance, particularly in efficiently controlling multiple flash memories, with hard-wired logic being complex and inflexible, and firmware-based designs being simpler but lower in performance.

Innovation Solution

A memory system with a top control sequencer and channel control sequencers that utilize microcodes to control memory devices, where the host processor generates and transfers microcodes to execute operations, reducing the load on the host processor and allowing for adaptability to changing specifications by modifying the microcodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a hard-wired logic memory controller is used to control instruction sequences of flash memory, then performance is improved, but device complexity increases and extendibility is limited

Engineering Contradiction:
ImproveperformanceVSAvoiddesign complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a microcode-based intermediary layer between the host processor and flash memory devices. The memory controller executes microcode instructions that act as intermediaries to manage complex flash memory operations, thereby improving performance without directly hard-wiring the controller logic. This intermediary microcode layer handles the complexity internally while presenting a simpler interface to the host.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the control parameter from fixed hard-wired logic to programmable microcode instructions. By storing control sequences as microcode in memory rather than hard-wiring them, the system can dynamically change control parameters through software updates, improving both performance and extendibility while reducing design complexity.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If a firmware-based memory controller is used to control instruction sequences of flash memory, then device complexity is reduced and extendibility is improved, but performance decreases

Engineering Contradiction:
ImproveextendibilityVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the control functionality into multiple components: a top control sequencer for high-level coordination and channel control sequencers for device-specific operations. This segmentation allows the system to maintain simplicity and extendibility through modular firmware while achieving high performance through specialized microcode routines for each segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by pre-loading microcode instructions into the control sequencers before execution. The microcode is generated by the host processor and transferred to the memory controller in advance, allowing the controller to execute optimized instruction sequences without real-time processing overhead, thus improving performance while maintaining firmware-based flexibility.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If a memory controller is designed to efficiently control multiple flash memories, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improveefficiency in controlling multiple flash memoriesVSAvoidcontroller design complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements universality through a top control sequencer that manages multiple channel control sequencers, each capable of controlling different flash memory devices. This multi-functional architecture allows a single controller design to efficiently manage multiple flash memories with varying specifications through a unified microcode-based control mechanism, improving productivity without proportionally increasing complexity.

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

Data Source

PatentUS8335871B2Memory system and method of driving the same
Publication Date: 2012.12.18 SAMSUNG ELECTRONICS CO LTD
  • US8335871B2 patent drawing
  • US8335871B2 patent drawing
  • US8335871B2 patent drawing

AI summary

Provided are a memory system and a method of driving the same. The method includes setting microcodes in a top control sequencer and multiple channel control sequencers, and executing the microcode set in the top control sequencer. The method may further include checking execution results of the microcode.