US2023244416A1PendingUtilityA1

Communicating a programmable atomic operator to a memory controller

Assignee: MICRON TECHNOLOGY INCPriority: Oct 20, 2020Filed: Mar 27, 2023Published: Aug 3, 2023
Est. expiryOct 20, 2040(~14.2 yrs left)· nominal 20-yr term from priority
Inventors:Tony M. Brewer
G06F 3/0659G06F 3/0679G06F 3/0604G06F 3/0644G06F 9/3004G06F 12/0857G06F 12/06G06F 12/0895G06F 2212/1024G06F 2212/1041G06F 15/7825G06F 2212/1028G06F 13/1668Y02D10/00
69
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Devices and techniques for communicating a programmable atomic operator to a memory controller are described herein. A memory controller can receive a memory request and extract a command indicator that indicates a programmable atomic operator (PAO) command from the memory request. The memory controller can then extract a PAO index from the request and invoke the PAO based on the PAO index.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A memory controller comprising:
 an interface configured to receive a memory request;   a kernel memory configured to hold multiple atomic operator kernels, each atomic operator kernel held by the kernel memory at a respective index; and   processing circuitry configured to:
 locate, in response to a generic programmable atomic operator command in the memory request, an atomic operator kernel in the kernel memory based on an index in the memory request; and 
 execute the atomic operator kernel located in the kernel memory to satisfy the memory request. 
   
     
     
         2 . The memory controller of  claim 1 , wherein the kernel memory is divided into partitions, and wherein each index into the kernel memory corresponds to a start address or an end address of a single partition in the partitions. 
     
     
         3 . The memory controller of  claim 1 , wherein the processing circuitry is configured to:
 receive, via the interface, a request to load the atomic operator kernel;   write the atomic operator kernel into an open segment of the kernel memory; and   return the index as part of a response to the request to load the atomic operator kernel.   
     
     
         4 . The memory controller of  claim 1 , wherein the memory controller is a chiplet in a chiplet system, and wherein the memory request originated with another chiplet in the chiplet system. 
     
     
         5 . The memory controller of  claim 1 , wherein the memory request is contained in a packet. 
     
     
         6 . The memory controller of  claim 5 , wherein an indicator for the generic programmable atomic operator command is in a first thirty-six bits of a header for the packet. 
     
     
         7 . The memory controller of  claim 6 , wherein the index is a field of the header. 
     
     
         8 . The memory controller of  claim 7 , wherein the field is in an extension portion of the header. 
     
     
         9 . The memory controller of  claim 7 , wherein the header includes an argument to the atomic operator kernel in the kernel memory. 
     
     
         10 . The memory controller of  claim 9 , wherein the argument is in an extension portion of the header, and wherein the extension portion of the header is configured to hold one, two, three, or four arguments to the atomic operator kernel. 
     
     
         11 . A method comprising:
 locating an atomic operator kernel in kernel memory of a memory controller based on an index in a memory request that also includes a generic programmable atomic operator command, the memory request received at an interface of the memory controller, the kernel memory configured to hold multiple atomic operator kernels at respective indices; and   executing the atomic operator kernel located at the kernel memory to satisfy the memory request.   
     
     
         12 . The method of  claim 11 , wherein the kernel memory is divided into partitions, and wherein each index into the kernel memory corresponds to a start address or an end address of a single partition in the partitions. 
     
     
         13 . The method of  claim 11 , comprising:
 receiving, via the interface, a request to load the atomic operator kernel;   writing the atomic operator kernel into an open segment of the kernel memory; and   returning the index as part of a response to the request to load the atomic operator kernel.   
     
     
         14 . The method of  claim 11 , wherein the memory controller is a chiplet in a chiplet system, and wherein the memory request originated with another chiplet in the chiplet system. 
     
     
         15 . The method of  claim 11 , wherein the memory request is contained in a packet. 
     
     
         16 . The method of  claim 15 , wherein an indicator for the generic programmable atomic operator command is in a first thirty-six bits of a header for the packet. 
     
     
         17 . The method of  claim 16 , wherein the index is a field of the header. 
     
     
         18 . The method of  claim 17 , wherein the field is in an extension portion of the header. 
     
     
         19 . The method of  claim 17 , wherein the header includes an argument to the atomic operator kernel in the kernel memory. 
     
     
         20 . The method of  claim 19 , wherein the argument is in an extension portion of the header, and wherein the extension portion of the header is configured to hold one, two, three, or four arguments to the atomic operator kernel.

Join the waitlist — get patent alerts

Track US2023244416A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.