Memory Device Debugging via Internal Controller Microcode

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current debugging systems are inadequate for microcode instructions executing on memory devices, as they lack the ability to halt or correlate debugging operations between host processing resources and memory devices, limiting concurrent debugging capabilities.

Innovation Solution

The implementation of a memory device with sensing circuitry and a controller that can execute microcode instructions, including the detection of debug bits within microcode instructions to halt operations and perform debugging routines directly on the memory device, allowing for concurrent debugging with host systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If debugging operations are performed externally on host processing resources, then debugging capability is provided, but power consumption increases and processing performance decreases due to external communications

Engineering Contradiction:
Improvepower consumptionVSAvoiddebugging system complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent merges the debugging functionality into the memory device itself by integrating a controller that can execute microcode instructions and perform debugging operations internally. This eliminates the need for separate external debugging hardware, reducing power consumption associated with external communications while providing comprehensive debugging capability within the memory device.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory device is designed to perform debugging operations on itself through internal controller execution of debug microcode instructions. The controller can detect debug bits, halt operations, and execute debugging routines autonomously within the memory device, enabling self-diagnosis and self-debugging without requiring external host processing resources.

Inventive Principle:
Principle #25Self-service

2Productivity

If debugging operations are performed externally on host processing resources, then debugging capability is provided, but processing performance decreases due to external communications

Engineering Contradiction:
Improveprocessing performanceVSAvoiddebugging system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The debugging functionality is merged into the memory device's internal controller, allowing debugging operations to be executed locally without external communications. This eliminates performance degradation caused by data transfer delays and external processing, while the unified controller architecture manages both memory operations and debugging tasks efficiently.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system prepares debug microcode instructions and sets debug bits in advance within the memory device's internal storage. When debugging is needed, the controller can immediately execute these pre-prepared instructions without requiring external communication or setup, thereby maintaining high processing performance while enabling debugging capability.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If debug bits are detected within microcode instructions, then debugging operations can be halted and performed on memory device, but device complexity increases

Engineering Contradiction:
Improvedebugging capabilityVSAvoidmemory device complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The controller is designed with multi-functionality, serving both as a memory management unit and a debugging execution engine. The same controller that manages normal memory operations also detects debug bits, halts operations, and executes debugging routines, eliminating the need for separate dedicated debugging hardware and reducing overall device complexity while enhancing adaptability.

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

Solution Approach 2:

The debugging functionality is nested within the existing memory device architecture. Debug microcode instructions are stored within the memory device's instruction storage, and the controller executes these nested debugging routines as part of its normal operation flow. This nested structure allows debugging capability to be integrated without adding significant external complexity.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10388393B2Apparatus and methods for debugging on a host and memory device
Publication Date: 2019.08.20 MICRON TECHNOLOGY INC
  • US10388393B2 patent drawing
  • US10388393B2 patent drawing
  • US10388393B2 patent drawing

AI summary

The present disclosure includes apparatus and methods for debugging on a host and memory device. An example apparatus comprises a memory device having an array of memory cells. Sensing circuitry is coupled to the array. The sensing circuitry includes a sense amplifier and a compute component configured to perform logical operations on the memory device. A controller is coupled to the array and sensing circuitry to control performance of the logical operations. An interface is configured to receive a debugging indication and to cause the controller to halt a logical operation on the memory device.