DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Other Refs: Wicki (US 9135175) Distributed Cache Coherency; Ro (US 20240241828)
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-4, 6, 7-12, 14, 17-19 are rejected under 35 U.S.C. 103 as being unpatentable over Lee (US 20250053336) and in view of Kalamatianos (US 20220188233 A1) and further in view of Kim (US 20220253247)(hereinafter “Kim247)
Claim 1. Lee discloses A system (eg., [0044] Referring to FIG. 2, a computing system 100 ) comprising:
a memory (eg., 0041, 0045 Fig. 2 - CXL devices 140, 180 and 185 may correspond to the plurality of memory devices 15, 16 and 17 in FIG. 1.);
a processing-in-memory processor associated with the memory (eg., 0041 - memory device having a processing-in-memory (PIM) feature);
a memory controller, the memory controller configured to: (eg., Fig. 3 0053-0054 - controller 145)
receive a memory request for the processing-in-memory processor, wherein the memory request is associated with a region of the memory (eg., 0041 - memory operations may include one or more computations performed in a memory device having a processing-in-memory (PIM) feature.);
schedule writing, into the memory, cached data associated with the region of the memory (eg., 0039 - The request generator RQG may generate requests for requesting a memory access such as a write operation and a read operation based on an address corresponding to the memory region; [0059] The command scheduler 165 may provide scheduled commands CMD_S to the memory 170 by scheduling commands ; [0063] The second buffer 163 may receive the rearranged data RDTA and may provide the all or some of the plurality of hosts 101, 102 and 103 with the rearranged data RDTA by a receiving order as an output data ODTA.); and
Lee does not disclose, but Kalamatianos discloses
a plurality of memory requests, the plurality of memory requests including a memory request for the processing-in-memory processor, the memory request associated with a region of the memory (eg. 0011 - PIM instructions are placed in a PIM queue and are eventually dispatched to the PIM device for execution … data is present in a cache)…; ., [0012] If the data to be used by a PIM read instruction is in a cache and the data is marked dirty, a PIM read request will wait to be dispatched until the data is flushed from the cache to memory; [0038] In some examples, after a PIM request is issued by a processor core 106, 108, 110, 112, the PIM request is received by the coherency synchronizer 134. The coherency synchronizer 134 performs cache operation on the various caches of the core complexes 102, 104 to ensure that any cache entries for virtual and/or physical addresses identified in the PIM request remain coherent. For example, when a PIM request includes as an operand a virtual and/or physical address,)
scheduling the memory request of the processing-in-memory processor until the cached data is transmitted from the memory controller to the memory (eg., 0012 - a PIM read request will wait to be dispatched until the data is flushed from the cache to memory.; 0038 - After the appropriate cache operations have completed, the PIM request is transmitted to the memory controller 136 for offloading to the PIM device).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, providing the benefit of a coherency synchronizer that synchronizes cache states for a plurality of processor cores (see Kalamatianos, 0015) to ensure that data that is resident in a cache and is to be used in execution of a PIM instruction is flushed from the cache to memory (0010).
Lee in view of Kalamatianos does not disclose, but Kim247 discloses
buffer (eg. [0049] FIG. 2, a memory controller 220 may include, a PIM request queue 223, a PIM request reorderer 224, a request scheduler 225, a command generator 226, a command queue 227; [0050] The request queue 221 may store a plurality of commands received from a host core 210; 0051 PIM commands for executing one or more operations in a memory 230.)
adjust an order of the buffered memory requests by delaying (eg. 0056] The request scheduler 225 may perform scheduling on a plurality of commands stored in the request queue 221… request scheduler 225 may change an ordering of a read command, a read command, and a write command stored in the request queue 221)
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, with Kim247, providing the benefit of performance of an electronic device including the host core and the PIM memory may be effectively improved (see Kim247 0064).
Claim 2. Lee discloses wherein the cached data corresponds to memory write requests from a host configured to access the memory via the memory controller (eg., 0039 - a write operation and a read operation based on an address corresponding to the memory region exclusively allocated to each host.).
Claim 3. Lee discloses wherein the memory controller is further configured to identify the region of the memory based on one or more memory requests including the memory request of the processing-in-memory processor (eg., 0039 - requesting a memory access such as a write operation and a read operation based on an address corresponding to the memory region exclusively allocated to each host.; 0041 - the memory operations may include one or more computations performed in a memory device having a processing-in-memory (PIM) ).
Claim 4. Lee discloses a host (eg., 0036 Fig. 1 - host 11); and
a command queue configured to buffer memory requests from the host (eg., [0077] Referring to FIGS. 3 and 6, the CXL device 140 may provide the internal data IDTA11, IDTA2, IDTA12 and IDTA3 to the first buffer 157 according to an order requested by the plurality of hosts),
wherein the memory controller is configured to adjust an order of the memory requests (eg., 0007 - generates output data by rearranging the internal data)
Lee does not disclose, but Kalamatianos discloses
such that one or more memory requests associated with the region of the memory are scheduled prior to the memory request of the processing-in-memory processor (eg., 0012 - a PIM read request will wait to be dispatched until the data is flushed from the cache to memory).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, providing the benefit of a coherency synchronizer that synchronizes cache states for a plurality of processor cores (see Kalamatianos, 0015) to ensure that data that is resident in a cache and is to be used in execution of a PIM instruction is flushed from the cache to memory (0010).
Lee in view of Kalamatianos does not disclose, but Kim247 discloses
Command queue … plurality of memory requests (eg. [0049] FIG. 2, a memory controller 220 may include, a PIM request queue 223, a PIM request reorderer 224, a request scheduler 225, a command generator 226, a command queue 227; [0050] The request queue 221 may store a plurality of commands received from a host core 210; 0051 PIM commands for executing one or more operations in a memory 230.)
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, with Kim247, providing the benefit of performance of an electronic device including the host core and the PIM memory may be effectively improved (see Kim247 0064).
Claim 6. Lee does not disclose, but Kalamatianos discloses
a coherence directory configured to buffer the cached data, wherein the memory controller is further configured to obtain the cached data from the coherence directory in response to receiving the memory request for the processing-in-memory processor (eg., 0038 - coherency synchronizer 134 performs cache operation on the various caches of the core complexes 102, 104 to ensure that any cache entries for virtual and/or physical addresses identified in the PIM request remain coherent. ).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, providing the benefit of a coherency synchronizer that synchronizes cache states for a plurality of processor cores (see Kalamatianos, 0015) to ensure that data that is resident in a cache and is to be used in execution of a PIM instruction is flushed from the cache to memory (0010).
Claim 7. Lee discloses A method (eg., [0044] Referring to FIG. 2, a computing system 100 ) comprising:
receiving a memory request, wherein the memory request is associated with a region of a memory (eg., 0041 - memory operations may include one or more computations performed in a memory device having a processing-in-memory (PIM) feature.);
writing, to the memory, cached data associated with the region of the memory (eg., 0039 - The request generator RQG may generate requests for requesting a memory access such as a write operation and a read operation based on an address corresponding to the memory region; [0059] The command scheduler 165 may provide scheduled commands CMD_S to the memory 170 by scheduling commands ; [0063] The second buffer 163 may receive the rearranged data RDTA and may provide the all or some of the plurality of hosts 101, 102 and 103 with the rearranged data RDTA by a receiving order as an output data ODTA.); and
Lee does not disclose, but Kalamatianos discloses
a plurality of memory requests, the plurality of memory requests including a memory request for a processing-in-memory processor, wherein the memory request associated with a region of the memory (eg. 0011 - PIM instructions are placed in a PIM queue and are eventually dispatched to the PIM device for execution … data is present in a cache)…; ., [0012] If the data to be used by a PIM read instruction is in a cache and the data is marked dirty, a PIM read request will wait to be dispatched until the data is flushed from the cache to memory; [0038] In some examples, after a PIM request is issued by a processor core 106, 108, 110, 112, the PIM request is received by the coherency synchronizer 134. The coherency synchronizer 134 performs cache operation on the various caches of the core complexes 102, 104 to ensure that any cache entries for virtual and/or physical addresses identified in the PIM request remain coherent. For example, when a PIM request includes as an operand a virtual and/or physical address,)
the memory request of the processing-in-memory processor until the cached data is transmitted from the memory controller to the memory (eg., 0012 - a PIM read request will wait to be dispatched until the data is flushed from the cache to memory.; 0038 - After the appropriate cache operations have completed, the PIM request is transmitted to the memory controller 136 for offloading to the PIM device).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, providing the benefit of a coherency synchronizer that synchronizes cache states for a plurality of processor cores (see Kalamatianos, 0015) to ensure that data that is resident in a cache and is to be used in execution of a PIM instruction is flushed from the cache to memory (0010).
Lee in view of Kalamatianos does not disclose, but Kim247 discloses
Cached data (eg. [0049] FIG. 2, a memory controller 220 may include, a PIM request queue 223, a PIM request reorderer 224, a request scheduler 225, a command generator 226, a command queue 227; [0050] The request queue 221 may store a plurality of commands received from a host core 210; 0051 PIM commands for executing one or more operations in a memory 230.)
delay scheduling (eg. 0056] The request scheduler 225 may perform scheduling on a plurality of commands stored in the request queue 221… request scheduler 225 may change an ordering of a read command, a read command, and a write command stored in the request queue 221)
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, with Kim247, providing the benefit of performance of an electronic device including the host core and the PIM memory may be effectively improved (see Kim247 0064).
Claim 8 is rejected for reasons similar to Claim 2 above.
Claim 9. Lee does not disclose, but Kalamatianos discloses
flushing the cached data from one or more caches in response to receiving the memory request for the processing-in-memory processor (eg., 0013 0059 - to flush out PIM data from the caches, all younger PIM requests from the same thread need to wait as well.).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, providing the benefit of a coherency synchronizer that synchronizes cache states for a plurality of processor cores (see Kalamatianos, 0015) to ensure that data that is resident in a cache and is to be used in execution of a PIM instruction is flushed from the cache to memory (0010).
Claim 10 is rejected for reasons similar to Claim 3 above.
Claim 11. Lee discloses buffering, in a command queue of a memory controller, memory requests from one or more processors (eg., 0059] The command scheduler 165 may provide scheduled commands CMD_S to the memory 170 by scheduling commands CMDs included in the packets PKTa, PKTb and PKTc, and the memory 170 may generate internal data IDTAs by performing memory operations corresponding to the scheduled commands CMD_S and may provide the internal data IDTAs to the first buffer 157.)
Claim 12 is rejected for reasons similar to Claim 4 above.
Claim 14 is rejected for reasons similar to Claim 6 above.
Claim 17. Lee discloses
using hardware comparator logic of a memory controller (eg., 0077 - arbiter 161 )
Lee does not disclose, but Kalamatianos discloses
wherein the write requests dependent on the memory request are identified … configured to perform a processing-in-memory address comparison with addresses of the write requests. (eg., 0014 - I/O die logic is also configured to issue, based on the physical memory address, a cache probe to one or more of the caches prior to receiving the PIM instruction for dispatch to the PIM device. In some implementations, the cache probe is issued to one or more caches to invalidate or flush data associated with the physical memory address..).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, providing the benefit of a coherency synchronizer that synchronizes cache states for a plurality of processor cores (see Kalamatianos, 0015) to ensure that data that is resident in a cache and is to be used in execution of a PIM instruction is flushed from the cache to memory (0010).
Lee in view of Kalamatianos does not disclose, but Kim247 discloses
buffering the memory request for the processing-in-memory processor in a separate queue from a processing-in-memory command queue until any write requests dependent on the memory request for the processing-in-memory processor are processed, (eg.,. [0052] Fig. 2 - The PIM request queue 223 may store identified PIM commands. ; [0058] The command queue 227 may store commands generated by or transmitted from the command generator 226.; ).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, with Kim247, providing the benefit of a research on processing in memory (PIM) is being conducted for a semiconductor memory device that combines, with a memory function, a function of a processor configured to perform an operation (see Kim247, 0003).
Claim 18. Lee discloses A device (eg., [0044] FIG. 3, device 140 ) comprising:
a processing-in-memory processor associated with the memory (eg., 0041 - memory device having a processing-in-memory (PIM) feature);
a memory controller, the memory controller configured to: (eg., Fig. 3 0053-0054 - controller 145)
receive a memory request for the processing-in-memory processor, wherein the memory request is associated with a region of the memory (eg., 0041 - memory operations may include one or more computations performed in a memory device having a processing-in-memory (PIM) feature.);
writing, into the memory, the region of the memory (eg., 0039 - The request generator RQG may generate requests for requesting a memory access such as a write operation and a read operation based on an address corresponding to the memory region; [0059] The command scheduler 165 may provide scheduled commands CMD_S to the memory 170 by scheduling commands ; [0063] The second buffer 163 may receive the rearranged data RDTA and may provide the all or some of the plurality of hosts 101, 102 and 103 with the rearranged data RDTA by a receiving order as an output data ODTA.); and
Lee does not disclose, but Kalamatianos discloses
a plurality of memory requests, the plurality of memory requests including a memory request for a processing-in-memory processor, wherein the memory request associated with a region of the memory (eg. 0011 - PIM instructions are placed in a PIM queue and are eventually dispatched to the PIM device for execution … data is present in a cache)…; ., [0012] If the data to be used by a PIM read instruction is in a cache and the data is marked dirty, a PIM read request will wait to be dispatched until the data is flushed from the cache to memory; [0038] In some examples, after a PIM request is issued by a processor core 106, 108, 110, 112, the PIM request is received by the coherency synchronizer 134. The coherency synchronizer 134 performs cache operation on the various caches of the core complexes 102, 104 to ensure that any cache entries for virtual and/or physical addresses identified in the PIM request remain coherent. For example, when a PIM request includes as an operand a virtual and/or physical address,)
the memory request of the processing-in-memory processor until the is transmitted from the memory controller to the memory (eg., 0012 - a PIM read request will wait to be dispatched until the data is flushed from the cache to memory.; 0038 - After the appropriate cache operations have completed, the PIM request is transmitted to the memory controller 136 for offloading to the PIM device).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, providing the benefit of a coherency synchronizer that synchronizes cache states for a plurality of processor cores (see Kalamatianos, 0015) to ensure that data that is resident in a cache and is to be used in execution of a PIM instruction is flushed from the cache to memory (0010).
Lee in view of Kalamatianos does not disclose, but Kim247 discloses
cached data associated with the region of memory (eg. [0049] FIG. 2, a memory controller 220 may include, a PIM request queue 223, a PIM request reorderer 224, a request scheduler 225, a command generator 226, a command queue 227; [0050] The request queue 221 may store a plurality of commands received from a host core 210; 0051 PIM commands for executing one or more operations in a memory 230.)
schedule; delay scheduling (eg. 0056] The request scheduler 225 may perform scheduling on a plurality of commands stored in the request queue 221… request scheduler 225 may change an ordering of a read command, a read command, and a write command stored in the request queue 221)
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, with Kim247, providing the benefit of performance of an electronic device including the host core and the PIM memory may be effectively improved (see Kim247 0064).
Claim 19 is rejected for reasons similar to Claim 4 above.
Claims 5, 13 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Lee (US 20250053336) and in view of Kalamatianos (US US 20220188233 A1) and Kim247 (cited above) and further in view of Kim (US 20200356305 A1)(hereinafter “Kim305”)
Claim 5. Lee does not disclose, but Kalamatianos discloses
wherein the memory controller is further configured to … after the one or more memory requests associated with the region of the memory are transmitted from the memory controller to the memory, wherein updating the ready bit enables scheduling the memory request of the processing-in-memory processor. (eg., 0066 - the PIM instruction waits at the coherency synchronizer 134 until the responses have been received, at which time the PIM instruction can be dispatched to the memory controller.).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, providing the benefit of a coherency synchronizer that synchronizes cache states for a plurality of processor cores (see Kalamatianos, 0015) to ensure that data that is resident in a cache and is to be used in execution of a PIM instruction is flushed from the cache to memory (0010).
Lee in view of Kalamatianos and Kim247 does not disclose, but Kim305 discloses
update a ready bit of the memory request of the processing-in-memory processor in the command queue (eg. [0043] The memory controller 100 may also insert a PIM bit in a corresponding command generated from a memory request or a PIM request and provide the corresponding command to the memory device 200. ).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, and Kim247 with Kim305, providing the benefit of a to generate a PIM command from a PIM request requiring a processing operation in the memory device, and to schedule the PIM command together with the memory command (see Kim305, 0008).
Claim 13 is rejected for reasons similar to Claim 5 above.
Claim 20. Lee discloses
wherein the memory controller is configured to: adjust an order of the memory requests (eg., 0007 - generates output data by rearranging the internal data)
Lee does not disclose, but Kalamatianos discloses
, such that one or more memory of the plurality of memory requests associated with the region of the memory are scheduled prior to the memory request of the processing-in-memory processor (eg., 0012 - a PIM read request will wait to be dispatched until the data is flushed from the cache to memory).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, providing the benefit of a coherency synchronizer that synchronizes cache states for a plurality of processor cores (see Kalamatianos, 0015) to ensure that data that is resident in a cache and is to be used in execution of a PIM instruction is flushed from the cache to memory (0010).
Lee in view of Kalamatianos and Kim247 does not disclose, but Kim305 discloses
update a ready bit of the memory request of the processing-in-memory processor in the command queue after the one or more memory requests associated with the region of the memory are transmitted from the memory controller to the memory, wherein updating the ready bit enables scheduling the memory request of the processing-in-memory processor (eg. [0043] The memory controller 100 may also insert a PIM bit in a corresponding command generated from a memory request or a PIM request and provide the corresponding command to the memory device 200. ).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, and Kim247 with Kim305, providing the benefit of a to generate a PIM command from a PIM request requiring a processing operation in the memory device, and to schedule the PIM command together with the memory command (see Kim305, 0008).
Claims 15, 16 are rejected under 35 U.S.C. 103 as being unpatentable over Lee (US 20250053336) and in view of Kalamatianos (US 20220188233 A1) and Kim247 (cited above) and further in view of Agarwal (US US 11625251 B1)
Claim 15. Lee in view of Kalamatianos and Kim247 does not disclose, but Agrawal discloses
receiving one or more markers to release write requests to the memory; and responsive to processing the one or more markers, writing, to the memory, the cached data associated with the region of the memory (eg., col 6:4-13 - PP level coherence directory 160 flushes first dirty data from at least one of cache 130A and 130B into the plurality of memory addresses based on a result of the second query. for each memory address marked as dirty in step 318, PP level coherence directory 160 may instruct host 115 to flush the corresponding dirty cache lines in cache 130A and/or cache 130B. The flush may result in memory write commands to update memory banks 185A and/or 185B with the latest data from cache 130A and 130B.).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, and Kim247 with Agrawal, providing the benefit of a need for a solution to the technical problem of how to reduce coherence directory controller overhead when processing broadcast PIM or PNM commands (see Agrawal, col 2:9-12).
Claim 16. Lee in view of Kalamatianos and Kim247 does not disclose, but Agrawal discloses
wherein the one or more markers to release write requests to the memory are processed to release the write requests from at least one of a coherence directory configured to buffer the cached data or an interface between the coherence directory and a memory controller (eg., col 6:4-13 - PP level coherence directory 160 flushes first dirty data from at least one of cache 130A and 130B into the plurality of memory addresses based on a result of the second query. for each memory address marked as dirty in step 318, PP level coherence directory 160 may instruct host 115 to flush the corresponding dirty cache lines in cache 130A and/or cache 130B. The flush may result in memory write commands to update memory banks 185A and/or 185B with the latest data from cache 130A and 130B.).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, and Kim247 with Agrawal, providing the benefit of a need for a solution to the technical problem of how to reduce coherence directory controller overhead when processing broadcast PIM or PNM commands (see Agrawal, col 2:9-12).
Response to Arguments
Applicant's arguments filed 1/9/2026 have been fully considered but they are not persuasive.
For claims 1, 7 and 18, Applicant argues that that the cited references do not disclose the amended limitations. The Office disagrees.
In the present OA, the updated combination of references render the amended limitations as obvious.
Specifically, Lee does not disclose, but Kalamatianos discloses
a plurality of memory requests, the plurality of memory requests including a memory request for the processing-in-memory processor, the memory request associated with a region of the memory (eg. 0011 - PIM instructions are placed in a PIM queue and are eventually dispatched to the PIM device for execution … data is present in a cache)…; ., [0012] If the data to be used by a PIM read instruction is in a cache and the data is marked dirty, a PIM read request will wait to be dispatched until the data is flushed from the cache to memory; [0038] In some examples, after a PIM request is issued by a processor core 106, 108, 110, 112, the PIM request is received by the coherency synchronizer 134. The coherency synchronizer 134 performs cache operation on the various caches of the core complexes 102, 104 to ensure that any cache entries for virtual and/or physical addresses identified in the PIM request remain coherent. For example, when a PIM request includes as an operand a virtual and/or physical address,)
scheduling the memory request of the processing-in-memory processor until the cached data is transmitted from the memory controller to the memory (eg., 0012 - a PIM read request will wait to be dispatched until the data is flushed from the cache to memory.; 0038 - After the appropriate cache operations have completed, the PIM request is transmitted to the memory controller 136 for offloading to the PIM device).
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, providing the benefit of a coherency synchronizer that synchronizes cache states for a plurality of processor cores (see Kalamatianos, 0015) to ensure that data that is resident in a cache and is to be used in execution of a PIM instruction is flushed from the cache to memory (0010).
Lee in view of Kalamatianos does not disclose, but Kim discloses
buffer (eg. [0049] FIG. 2, a memory controller 220 may include, a PIM request queue 223, a PIM request reorderer 224, a request scheduler 225, a command generator 226, a command queue 227; [0050] The request queue 221 may store a plurality of commands received from a host core 210; 0051 PIM commands for executing one or more operations in a memory 230.)
adjust an order of the buffered memory requests by delaying (eg. 0056] The request scheduler 225 may perform scheduling on a plurality of commands stored in the request queue 221… request scheduler 225 may change an ordering of a read command, a read command, and a write command stored in the request queue 221)
It would have been obvious to one of ordinary skill in the art prior to the filing date of the claimed invention to modify the system with PIM processing as disclosed by Lee with Kalamatianos, with Kim, providing the benefit of performance of an electronic device including the host core and the PIM memory may be effectively improved (see Kim 0064).
Applicant’s arguments for dependent claims are based on their respective base independent claims 1, 7, 18, which are addressed above.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to GAUTAM SAIN whose telephone number is (571)270-3555. The examiner can normally be reached M-F 9-5.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jared Rutz can be reached at 571-272-5535. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/GAUTAM SAIN/Primary Examiner, Art Unit 2135