IP Library Granted Patent US 12704966
Granted Patent B1
US 12704966 · App. 19/174,133 · Granted Aug 11, 2026

Memory controller with shared command buffering for enhanced page-hit optimization

Inventors: Soon Chieh Lim (Bayan Lepas, MY); Jing Ye Teh (Bayan Lepas, MY); Brendan Zhi Cheng Wong (Bayan Lepas, MY)
Assignee: SKYECHIP BERHAD
G06F3/0613G06F3/0659G06F3/0673
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 12704966
App. No.
19/174,133
Granted
Aug 11, 2026
Kind
B1
Abstract

A command buffer for a memory controller comprises a plurality of entries or storing a plurality of commands sequentially, characterized in that each entry includes a main command field, a plurality of shared command fields; a load pointer configured to indicate a next available shared command field for loading a new command targeting the same page; and a pop pointer configured to indicate a next shared command field in which the command is to be moved to the main command field after the command is removed. The method of operating a memory controller is also disclosed herein.

Claims (28)

1 . A command buffer for a memory controller, comprising:

a plurality of entries for storing a plurality of commands sequentially, each entry of the plurality of entries comprises:

a main command field,

a plurality of shared command fields,

wherein the main command field and the plurality of shared command fields of each entry are configured to store the commands targeting a same page, defined as having a same row and bank addresses and differing only in a least significant bits of a column address;

a load pointer configured to indicate a next available shared command field for loading a new command targeting the same page; and

a pop pointer configured to indicate a next shared command field in which the command is to be moved to the main command field after the command is removed.

2 . The command buffer of claim 1 , wherein each entry of the plurality of entries further comprises a validity bit for indicating validity of the commands in the entry.

3 . The command buffer of claim 1 , wherein each entry is configured to store two or four commands.

4 . The command buffer of claim 1 , wherein the load pointer is incremented by 1 when a new command is stored in the shared command field of the entry.

5 . The command buffer of claim 1 , wherein the pop pointer is incremented by 1 when the command in the main command field is removed.

6 . The command buffer of claim 1 , wherein the load pointer and the pop pointer are configured to indicate a first slot of the shared command fields when the command targeting a new page is loaded into the main command field, or all the commands in shared command fields are removed.

7 . A method of operating a memory controller comprising:

receiving a plurality of commands in a plurality of entries of a command buffer, each entry plurality of entries comprises:

a main command field,

a plurality of shared command fields,

a load pointer indicating a next available shared command field for loading a new command targeting a same page, and

a pop pointer configured to indicate a next shared command field in which the command is to be moved to the main command field;

identifying commands targeting a same page as the command in the main command field, defined as having a same row and bank addresses and differing only in a least significant bits of a column address;

loading the identified commands targeting the same page into the shared command fields according to the load pointer;

incrementing the load pointer by 1, upon loading the shared command field to indicate a subsequent shared command field for loading the command;

removing the command which has been processed from the main command field;

moving the command from the shared command field as indicated by the pop pointer into the main command field; and

incrementing the pop pointer by 1, upon moving the command from the shared command field to indicate subsequent shared command field for moving the command into the main command field.

8 . The method of claim 7 , wherein merging the commands into a single command is disallowed for entries containing shared commands.

9 . The method of claim 7 , further comprising:

a mechanism for blocking read commands from loading into the main command field when a write command to the same address, defined as having the same row and bank addresses, is pending in the main command field.

10 . The method of claim 9 , wherein said blocking mechanism is deactivated when all write commands to said address, defined as having the same row and bank addresses, have been processed and removed from the main command field.