IP Library › Granted Patent US 11,449,427
Granted Patent B2
US 11,449,427 · App. 16/790,024 · Granted Sep 20, 2022

Microprocessor-based system memory manager hardware accelerator

Inventor: Andrey Kuyel (Minsk, BY)
Assignee: SK hynix Inc.
G06F12/0855G06F9/3802G06F11/073G06F11/0727G06F11/0751G06F11/0793G06F12/0862G06F12/10G06F13/28G06F2212/1024G06F2212/608G06F2212/6028
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,449,427
App. No.
16/790,024
Filed
Feb 13, 2020
Granted
Sep 20, 2022
Kind
B2
Art Unit
2113
USPC
714/15
Abstract

Systems and methods reduce processor access time to different system memories. One such system comprises a tightly-coupled memory (TCM) that stores a first of N parts of a firmware binary image; multiple memory regions, which store a second to Nth part of the firmware binary image respectively, each of the memory regions being coupled to a bus; a processor coupled to the TCM and that executes the parts of the firmware binary image; and a memory manager hardware accelerator coupled between the processor and the bus, and that predicts which part of the firmware image is to be executed next, while the processor executes a different part of the firmware image.

Claims (25)

1. A memory manager hardware accelerator, comprising:

a controller and command processor (CCP) module configured to control data flow and to determine which internal commands are to be executed;

a processor instructions analyzer operably coupled to a processor and to the CCP module, the processor instructions analyzer being configured to search for processor specific branch instructions, among instructions committed to the processor and among binary executable code preloaded to an accelerator cache, and to generate a transaction to notify the CCP module when the specific branch instructions are detected;

a cache manager configured to hold data and notify the CCP module as to whether data required by the CCP module is present in the cache manager; and

a direct memory access (DMA) engine configured to transfer data from a target address to the cache manager under the control of the CCP module.

2. The memory manager hardware accelerator of claim 1 , wherein the processor instruction analyzer supports detection of specific internal commands including at least one of preload data, preload data without cache update, invalidate selected cache, invalidate all cache, update virtual to physical mapping table entry, and DMA transfer.

3. The memory manager hardware accelerator of claim 2 , wherein a virtual to physical address translation table includes virtual start addresses, respective virtual end addresses, respective physical start addresses, an executable region flag.

4. The memory manager hardware accelerator of claim 1 , wherein the CCP module stores a translation of virtual addresses to respective physical addresses.

5. The memory manager hardware accelerator of claim 4 , wherein the CCP module initiates data transfer by the DMA engine from a source memory location to the cache manager.

6. A memory system, comprising:

a tightly-coupled memory (TCM) configured to store a first of N parts of a firmware binary image;

multiple memory regions configured to store a second to Nth part of the firmware binary image respectively, each of the memory regions being operably coupled to a bus;

a processor operably coupled to the TCM and configured to execute the parts of the firmware binary image; and

a memory manager hardware accelerator operably coupled between the processor and the bus and configured to predict which part of the firmware image is to be executed next, while the processor executes a different part of the firmware image.

7. The memory system of claim 6 , wherein firmware source code is compiled for a single virtual memory map view independently of locations of the N parts of the firmware image.

8. The memory system of claim 7 , wherein the memory manager hardware accelerator is configured to convert virtual addresses to corresponding physical addresses, which configuration is dynamically changeable.

9. The memory system of claim 6 , wherein the memory manager hardware accelerator is configured to analyze data including executable binary code and searches for branch instructions.

10. A method of operating a memory manager hardware accelerator in a memory system, the method comprising:

detecting a data error in the memory system;

initiating a first error recovery process;

preloading a second error recovery process including associated initial code in the memory manager hardware accelerator, while performing the first error recovery process;

executing the initial code for the second error recovery process when the first error recovery process fails;

loading next part of the code for the second error recovery process during execution of the initial code in the second error recovery process; and

executing the next part of he code for the second error recovery process.

11. The method of claim 10 , wherein the first error recovery process is a common error recovery process and the second error recovery process is a complex error recovery process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2020
From: KUYEL, ANDREY
To: SK HYNIX INC.
Reel/Frame 051813/0019 →
Continuity (1)
Related Publication 20210255956A1 · Aug 19, 2021