Memory Controller Multi-Core Job Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory systems experience delayed event processing due to completion delays in specific jobs, leading to reduced response speed to hosts.

Innovation Solution

A memory system with a memory controller that utilizes multiple cores to monitor events and perform distributed execution of jobs by selecting appropriate cores to run specific firmwares, dividing jobs into sub-jobs, and storing information in shared memory for efficient execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single core executes a target job, then the job can be completed, but the event processing completion time is delayed

Engineering Contradiction:
Improveevent processing speedVSAvoidjob completion delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the target job into multiple sub-jobs that can be executed in parallel by different cores. The control core divides the workload and distributes sub-jobs to worker cores, enabling simultaneous execution and reducing overall completion time while improving event processing productivity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple cores are used for distributed execution, then processing speed improves, but system complexity increases

Engineering Contradiction:
Improvejob execution speedVSAvoidcore coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a control core as an intermediary that manages the coordination between worker cores. The control core handles job segmentation, sub-job distribution, and result aggregation, simplifying the complexity of multi-core coordination by centralizing control functions while enabling parallel execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements a universal firmware loading mechanism where the control core can load and manage firmwares for multiple worker cores. This multi-functional approach allows the same control infrastructure to handle diverse job types and core configurations, reducing system complexity through standardized management.

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

3Speed

If job execution is distributed across multiple cores, then response speed to host improves, but firmware management complexity increases

Engineering Contradiction:
Improveresponse speed to hostVSAvoidfirmware management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements a self-service firmware management system where worker cores automatically load and execute firmwares based on sub-job assignments from the control core. This automated approach eliminates manual firmware configuration for each core, reducing management complexity while enabling fast parallel response to host requests.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11640263B2Memory system and operating method thereof
Publication Date: 2023.05.02 SK HYNIX INC
  • US11640263B2 patent drawing
  • US11640263B2 patent drawing
  • US11640263B2 patent drawing

AI summary

Embodiments of the present disclosure relate to a memory system and an operating method thereof. According to the embodiments of the present disclosure, the memory system may include a plurality of cores, a control core, and a shared memory. When processing the event, the control core may select a first core executing a target job requiring distributed execution among the plurality of cores, and the first core may run a first firmware among the plurality of firmwares to execute the target job. The control core may select a second core to execute the target job together with the first core, and may control the second core to run the first firmware. The control core may control the first core and the second core to perform distributed execution of the target job.