Prosecution Insights
Last updated: October 04, 2026
Application No. 18/620,529

MULTIPLEXED-RANK DUAL INLINE MEMORY MODULE (MRDIMM) VIRTUAL CONTROLLER MODE

Non-Final OA §103
Filed
Mar 28, 2024
Priority
Oct 19, 2023 — provisional 63/544,807
Examiner
WU, STEPHANIE
Art Unit
2133
Tech Center
2100 — Computer Architecture & Software
Assignee
Advanced Micro Devices Inc.
OA Round
3 (Non-Final)
81%
Grant Probability
Favorable
3-4
OA Rounds
1m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 81% — above average
81%
Career Allowance Rate
254 granted / 313 resolved
+26.2% vs TC avg
Strong +18% interview lift
Without
With
+18.4%
Interview Lift
resolved cases with interview
Typical timeline
2y 7m
Avg Prosecution
9 currently pending
Career history
330
Total Applications
across all art units

Statute-Specific Performance

§101
2.7%
-37.3% vs TC avg
§103
68.9%
+28.9% vs TC avg
§102
9.3%
-30.7% vs TC avg
§112
18.3%
-21.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 313 resolved cases

Office Action

§103
DETAILED ACTION Claims 1-20 are pending in this application. 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 . Claim Rejections - 35 USC § 103 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. Claim(s) 1-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Magro et al. (U.S. PGPub No. 2018/0018105) hereinafter Magro’105 in view of Magro et al. (U.S. PGPub No. 2022/0058141) hereinafter Magro’141 in view of Zhang et al. (U.S. PGPub No. 2024/0053898). Claim 1 Magro (2018/0018105) teaches: A memory controller, comprising: a command queue stage for storing decoded memory access requests; P. 0034 and FIG. 5 Command queue 520 is a queue of memory access requests received, and stores the address fields decoded by address generator 522 an arbitration stage operable to select first and second memory commands from the command queue stage for first and second pseudo-channels, respectively, using a shared resource […] FIG. 6 and P. 0042 Command queue 520 stores the decoded memory access request in an entry 610 in command queue 520, which has a first field 612 for storing the decoded sub-channel number; P. 0043 and FIG. 6 Arbiter 538 picks eligible memory access requests for issuance independently for each sub-channel from command queue 520, and uses timing block 534 a dispatch queue having a downstream port […] P. 0045 arbiter 538 picks a memory access request stored in command queue 520 and provides it to dispatch queue 514 Magro’105 does not explicitly teach the arbitration stage having a shared resource and dedicated resources for each of the first and second pseudo-channels. Magro (2022/0058141) teaches: an arbitration stage operable to select first and second memory commands from the command queue stage for first and second pseudo-channels, respectively, using a shared resource and at least one dedicated resource for each of the first and second pseudo-channels FIG. 5 and P. 0056 selector 541 picks the corresponding write access from either of the command sub-queues 520, 521 based on the command selected by each respective arbiter 538, 539 for dispatch to the memory channel; FIG. 8 and P. 0070 command sub-queues 800, 802 (analogous to sub-queues 520, 521) correspond to a first sub-channel, command sub-queues 804, 806 (analogous to sub-queues 520, 521) correspond to a second sub-channel It would have been obvious to a person with ordinary skill in the art at the effective filing date of the application to include the invention of Magro’105 with the arbitration stage having a shared resource and dedicated resources for each of the first and second pseudo-channels taught by Magro’141 The motivation being a single controller may run two separate channels independently (see Magro’141 P. 0033) The systems of Magro’105 and Magro’141 do not explicitly teach the dispatch queue sending data of the first and second memory commands in a time-multiplexed manner. Zhang (2024/0053898) teaches: a dispatch queue having a downstream port for conducting first data of the first memory commands that is time-multiplexed with second data of the second memory commands. P. 0062 when the register and divided clock driver receives a read command (RD), it sends the read command (referred to CMD PC0 for pseudo channel PC0 and CMD PC1 for pseudo channel PC1) to pseudo channels PC0 and PC1 separately, and pseudo channels PC0 and PC1 send the data to the combined data buffer separately; P. 0057 high-bandwidth DDR DIMM 100 further includes a combined data buffer configured to interleave data of pseudo channels PC0 and PC1 It would have been obvious to a person with ordinary skill in the art at the effective filing date of the application to include the invention of Magro’105 and Magro’141 with the dispatch queue sending data of the first and second memory commands in a time-multiplexed manner taught by Zhang The motivation being data can be read faster and more effectively (see Zhang P. 0070) The systems of Magro’105, Magro’141 and Zhang are analogous because they are from the “same field of endeavor” and from the same “problem solving area.” Namely, they are both from the field of memory systems. Therefore it would have been obvious to combine Magro’105 and Magro’141 with Zhang to obtain the invention as recited in claims 1-11. Claim 2 Magro (2018/0018105) teaches: The memory controller of claim 1, further comprising: an address decoder having an upstream port for receiving memory access requests, and P. 0034 and FIG. 5 Address generator 522 decodes addresses of memory access requests received from data fabric 250 a downstream port coupled to the command queue stage for providing the decoded memory access requests including a pseudo-channel number. P. 0042 Address generator 522 sends the decoded memory access request including the decoded sub-channel number to command queue 520 Claim 3 The systems of Magro’105 and Zhang do not explicitly teach the command queue stage having separate command queues for each pseudo-channel. Magro (2022/0058141) teaches: The memory controller of claim 1, wherein the command queue stage comprises: a first command queue having an upstream port for receiving decoded memory access requests for the first pseudo-channel, and a downstream port; and FIG. 5 and P. 0059 Address generator 522 sends the decoded memory access request including the decoded sub-channel number to command sub-queues 520, 521 [command queue stage]; FIG. 8 and P. 0070 read and write queues are employed for each sub-channel such that each command sub-queues 800, 802 [first command queue] store both read and write memory access requests; P. 0058 selector 541 selects and dispatches a preferred memory access request 543 from among the provided memory access requests from the command sub-queues (e.g. queues 800 and 802) a second command queue having an upstream port for receiving decoded memory access requests for the second pseudo-channel, and a downstream port. FIG. 8 and P. 0070 command sub-queues queues 804, 806 [second command queue] include similar components to receive decoded commands and dispatch a selected command It would have been obvious to a person with ordinary skill in the art at the effective filing date of the application to include the invention of Magro’105 and Zhang with the command queue stage having separate command queues for each pseudo-channel taught by Magro’141 The motivation being a single controller may run two separate channels independently (see Magro’141 P. 0033) The systems of Magro’105, Zhang and Magro’141 are analogous because they are from the “same field of endeavor” and from the same “problem solving area.” Namely, they are both from the field of memory systems. Therefore it would have been obvious to combine Magro’105 and Zhang with Magro’141 to obtain the invention as recited in claim 3. Claim 4 Magro (2022/0058141) teaches: The memory controller of claim 1, wherein the at least one dedicated resource for each of the first and second pseudo-channels the arbitration stage comprises: a first plurality of sub-arbiters for selecting decoded memory access requests of the first pseudo-channel; and FIG. 5 and P. 0056 selector 541 picks the corresponding write access from either of the command sub-queues 520, 521 based on the command selected by each respective arbiter 538, 539 for dispatch to the memory channel; FIG. 8 and P. 0070 command sub-queues 800, 802 (analogous to sub-queues 520, 521) correspond to a first sub-channel a second plurality of sub-arbiters for selecting decoded memory access requests of the second pseudo-channel. FIG. 5 and P. 0056 selector 541 picks the corresponding write access from either of the command sub-queue 520 or command sub-queue 521 based on the command selected by each respective arbiter 538 or arbiter 539 for dispatch to the memory channel; FIG. 8 and P. 0070 command sub-queues 804, 806 (analogous to sub-queues 520, 521) correspond to a second sub-channel Claim 5 Magro (2022/0058141) teaches: The memory controller of claim 4, wherein the first plurality of sub-arbiters comprises: a first page hit sub-arbiter for selecting decoded memory access requests to open pages of the first pseudo-channel; and P. 0063-64 Each arbiter 538, 539 (e.g. corresponding to sub-queues 800, 802 in FIG. 8) evaluate page table (PGT) information 600 to select a winning memory access request 606 and 608 that is provided to the selector 541. PGT information 600 represents whether a DRAM page is open. Page hit (PH) means that the page that is needed is already “ACTIVE” a first page miss sub-arbiter for selecting decoded memory access requests to closed pages of precharged banks of the first pseudo-channel. P. 0063-64 PGT information 600 represents whether a DRAM page is in the closed state (i.e. meaning it was pre-charged) and thus no page on a bank is opened. Page Miss (PM) means that the page needed is not open in the DRAM Claim 6 Magro (2022/0058141) teaches: The memory controller of claim 5, wherein the second plurality of sub-arbiters comprises: a second page hit sub-arbiter for selecting decoded memory access requests to open pages of the second pseudo-channel; and P. 0063-64 Each arbiter 538, 539 (e.g. corresponding to sub-queues 804, 806 in FIG. 8) evaluate page table (PGT) information 600 to select a winning memory access request 606 and 608 that is provided to the selector 541. PGT information 600 represents whether a DRAM page is open. Page hit (PH) means that the page that is needed is already “ACTIVE” a second page miss sub-arbiter for selecting decoded memory access requests to closed pages of precharged banks of the second pseudo-channel, P. 0063-64 PGT information 600 represents whether a DRAM page is in the closed state (i.e. meaning it was pre-charged) and thus no page on a bank is opened. Page Miss (PM) means that the page needed is not open in the DRAM wherein the shared resource comprises a page conflict sub-arbiter for selecting decoded memory access requests to closed pages in banks with another page that is open in the first and second pseudo-channels. P. 0065 The first level arbitration is performed by arbiters 538 and 539 to select a winning entry to pass to the second level arbitration logic 612 [shared resource]; P. 0066 second level arbitration logic 612 picks one winner from arbiters 538 and 539 based on criteria such as page hit information. For example, page hits are favored over page misses. Claim 7 Magro (2018/0018105) teaches: The memory controller of claim 1, wherein the command queue stage comprises: a common command queue having an upstream port for receiving memory access requests for a selected one of the first pseudo-channel and the second pseudo-channel, and a downstream port. FIG. 6 and P. 0042 Address generator 522 sends the decoded memory access request including the decoded sub-channel number to command queue 520; P. 0043 Arbiter 538 picks eligible memory access requests independently for each sub-channel from command queue 520 Claim 8 Magro (2022/0058141) teaches: The memory controller of claim 7, wherein the arbitration stage comprises: a plurality of sub-arbiters having an upstream port coupled to the command queue stage, and FIG. 5 and P. 0055 arbiters 538 and 539 select a command from command sub-queues 520 and 421 respectively a downstream port coupled to the dispatch queue, for selecting decoded memory access requests of the first pseudo-channel and the second pseudo-channel. FIG. 5 and P. 0056 selector 541 picks the corresponding write access from either of the command sub-queues 520, 521 based on the command selected by each respective arbiter 538, 539 for dispatch to the memory channel Claim 9 Magro (2022/0058141) teaches: The memory controller of claim 8, wherein the plurality of sub-arbiters comprises: at least one dedicated sub-arbiter for each of the first and second pseudo-channels; and FIG. 5 and P. 0055 arbiters 538 and 539 select a command from command sub-queues 520 and 421 respectively; FIG. 8 and P. 0070 command sub-queues 800, 802 (analogous to sub-queues 520, 521) correspond to a first sub-channel and command sub-queues 804, 806 (e.g. a second instance of sub-queues 520, 521) correspond to a second sub-channel Magro (2018/0018105) teaches: at least one shared sub-arbiter for both the first pseudo-channel and the second pseudo-channel. P. 0043 and FIG. 5 Arbiter 538 picks eligible memory access requests independently for each sub-channel from command queue 520 Claim 10 Magro (2022/0058141) teaches: The memory controller of claim 9, wherein the at least one dedicated sub-arbiter for each of the first and second pseudo-channels comprises: a page hit sub-arbiter for selecting decoded memory access requests to open pages of a respective pseudo-channel. P. 0063-64 Each arbiter 538, 539 (e.g. corresponding to sub-queues 800, 802 in FIG. 8) evaluate page table (PGT) information 600 to select a winning memory access request 606 and 608 that is provided to the selector 541. PGT information 600 represents whether a DRAM page is open. Page hit (PH) means that the page that is needed is already “ACTIVE” Claim 11 Magro (2022/0058141) teaches: The memory controller of claim 9, wherein the at least one shared sub-arbiter for both the first pseudo-channel and the second pseudo-channel comprises: a page conflict sub-arbiter for selecting decoded memory access requests to closed pages in banks with another page that is open in a respective pseudo-channel. P. 0065 The first level arbitration is performed by arbiters 538 and 539 to select a winning entry to pass to the second level arbitration logic 612 [shared resource]; P. 0066 second level arbitration logic 612 picks one winner from arbiters 538 and 539 based on criteria such as page hit information. For example, page hits are favored over page misses. Claim 12 Magro (2018/0018105) teaches: A data processing system, comprising: a plurality of data processor cores each for generating memory access requests; FIG. 2 and P. 0034 CPU cores 212, 214 send memory access requests a data fabric; and FIG. 2 and P. 0022 data fabric 250 at least one memory controller, FIG. 2 and P. 0025 memory controllers 290 (292, 294) wherein the data fabric selectively routes the memory access requests and memory access responses between the plurality of data processor cores and the at least one memory controller, FIG. 2 and P. 0022 CPU cores 212, 214 provide memory access requests to data fabric 250; P. 0034 memory access requests are received from data fabric 250 wherein each of the at least one memory controller comprises: a command queue stage for storing decoded memory access requests; P. 0025 and FIG. 2 Data fabric 250 routes memory access requests between any memory accessing agent (e.g. cores 212, 214) and memory controllers 290 an arbitration stage operable to select first and second memory commands from the command queue stage for first and second pseudo-channels using a shared resource […] FIG. 6 and P. 0042 Command queue 520 stores the decoded memory access request in an entry 610 in command queue 520, which has a first field 612 for storing the decoded sub-channel number; P. 0043 and FIG. 6 Arbiter 538 picks eligible memory access requests for issuance independently for each sub-channel from command queue 520, and uses timing block 534 a dispatch queue […] P. 0045 arbiter 538 picks a memory access request stored in command queue 520 and provides it to dispatch queue 514 Magro’105 does not explicitly teach the arbitration stage having a shared resource and dedicated resources for each of the first and second pseudo-channels. Magro (2022/0058141) teaches: an arbitration stage operable to select first and second memory commands from the command queue stage for first and second pseudo-channels using a shared resource and at least one dedicated resource for each of the first and second pseudo-channels; and FIG. 5 and P. 0056 selector 541 picks the corresponding write access from either of the command sub-queues 520, 521 based on the command selected by each respective arbiter 538, 539 for dispatch to the memory channel; FIG. 8 and P. 0070 command sub-queues 800, 802 (analogous to sub-queues 520, 521) correspond to a first sub-channel, command sub-queues 804, 806 (analogous to sub-queues 520, 521) correspond to a second sub-channel It would have been obvious to a person with ordinary skill in the art at the effective filing date of the application to include the invention of Magro’105 with the arbitration stage having a shared resource and dedicated resources for each of the first and second pseudo-channels taught by Magro’141 The motivation being a single controller may run two separate channels independently (see Magro’141 P. 0033) The systems of Magro’105 and Magro’141 do not explicitly teach the dispatch queue sending data of the first and second memory commands in a time-multiplexed manner. Zhang (2024/0053898) teaches: a dispatch queue having first and second upstream ports for receiving the first memory commands and the second memory commands, and a downstream port for conducting first data of the first memory commands time-multiplexed with second data of the second memory commands. P. 0062 when the register and divided clock driver receives a read command (RD), it sends the read command (referred to CMD PC0 for pseudo channel PC0 and CMD PC1 for pseudo channel PC1) to pseudo channels PC0 and PC1 separately, and pseudo channels PC0 and PC1 send the data to the combined data buffer separately; P. 0057 high-bandwidth DDR DIMM 100 further includes a combined data buffer configured to interleave data of pseudo channels PC0 and PC1 It would have been obvious to a person with ordinary skill in the art at the effective filing date of the application to include the invention of Magro’105 and Magro’141 with the dispatch queue sending data of the first and second memory commands in a time-multiplexed manner taught by Zhang The motivation being data can be read faster and more effectively (see Zhang P. 0070) The systems of Magro’105, Magro’141 and Zhang are analogous because they are from the “same field of endeavor” and from the same “problem solving area.” Namely, they are both from the field of memory systems. Therefore it would have been obvious to combine Magro’105 and Magro’141 with Zhang to obtain the invention as recited in claims 12-15. Claim 13 Magro (2022/0058141) teaches: The data processing system of claim 12, wherein: the command queue stage comprises: a first command queue having an upstream port for receiving decoded memory access requests for the first pseudo-channel, and a downstream port; and FIG. 5 and P. 0059 Address generator 522 sends the decoded memory access request including the decoded sub-channel number to command sub-queues 520, 521 [command queue stage]; FIG. 8 and P. 0070 read and write queues are employed for each sub-channel such that each command sub-queues 800, 802 [first command queue] store both read and write memory access requests; P. 0058 selector 541 selects and dispatches a preferred memory access request 543 from among the provided memory access requests from the command sub-queues (e.g. queues 800 and 802) a second command queue having an upstream port for receiving decoded memory access requests for the second pseudo-channel, and a downstream port, and the arbitration stage comprises: FIG. 8 and P. 0070 command sub-queues queues 804, 806 [second command queue] include similar components to receive decoded commands and dispatch a selected command a first plurality of sub-arbiters for selecting decoded memory access requests of the first pseudo-channel; and FIG. 5 and P. 0056 selector 541 picks the corresponding write access from either of the command sub-queues 520, 521 based on the command selected by each respective arbiter 538, 539 for dispatch to the memory channel; FIG. 8 and P. 0070 command sub-queues 800, 802 (analogous to sub-queues 520, 521) correspond to a first sub-channel a second plurality of sub-arbiters for selecting decoded memory access requests of the second pseudo-channel. FIG. 5 and P. 0056 selector 541 picks the corresponding write access from either of the command sub-queue 520 or command sub-queue 521 based on the command selected by each respective arbiter 538 or arbiter 539 for dispatch to the memory channel; FIG. 8 and P. 0070 command sub-queues 804, 806 (analogous to sub-queues 520, 521) correspond to a second sub-channel Claim 14 Magro (2018/0018105) teaches: The data processing system of claim 12, wherein: the command queue stage comprises: a common command queue having an upstream port for receiving memory access requests for a selected one of the first pseudo-channel and the second pseudo-channel, and a downstream port, and FIG. 6 and P. 0042 Address generator 522 sends the decoded memory access request including the decoded sub-channel number to command queue 520; P. 0043 Arbiter 538 picks eligible memory access requests independently for each sub-channel from command queue 520 Magro (2022/0058141) teaches: the arbitration stage comprises: a plurality of sub-arbiters having an upstream port coupled to the command queue stage, and FIG. 5 and P. 0055 arbiters 538 and 539 select a command from command sub-queues 520 and 421 respectively a downstream port coupled to the dispatch queue, for selecting decoded memory access requests of the first pseudo-channel and the second pseudo-channel. FIG. 5 and P. 0056 selector 541 picks the corresponding write access from either of the command sub-queues 520, 521 based on the command selected by each respective arbiter 538, 539 for dispatch to the memory channel Claim 15 Magro (2018/0018105) teaches: The data processing system of claim 12, further comprising: a physical interface circuit coupled to an output of the dispatch queue; and FIG. 3 and P. 0030 Physical interface 316 connects memory channel controller 314 (which contains dispatch queue 514, see FIG. 5) to PHY 330 over a bus that conforms to the DDR-PHY a memory coupled to the physical interface circuit comprising a multiplexed-rank dual inline memory module (MRDIMM). P. 0016 and FIG. 1 Memory channel 130 includes a set of dual inline memory modules (DIMMs) connected to a DDRx bus 132 Claim 16 Magro (2018/0018105) teaches: A method for accessing a memory, comprising: storing memory access requests in a command queue stage, wherein each memory access request accesses one of a first pseudo-channel and a second pseudo-channel of the memory; P. 0034 and FIG. 5 Command queue 520 is a queue of memory access requests received, and stores the address fields decoded by address generator 522; FIG. 6 and P. 0042 a decoded memory access request has a first field 612 for storing the decoded sub-channel number arbitrating among the memory access requests in an arbitration stage to obtain first arbitration winners for the first pseudo-channel and second arbitration winners for the second pseudo-channel using a shared resource […] P. 0043 and FIG. 6 Arbiter 538 picks eligible memory access requests for issuance independently for each sub-channel from command queue 520, and uses timing block 534 Magro’105 does not explicitly teach the arbitration stage having a shared resource and dedicated resources for each of the first and second pseudo-channels. Magro (2022/0058141) teaches: arbitrating among the memory access requests in an arbitration stage to obtain first arbitration winners for the first pseudo-channel and second arbitration winners for the second pseudo-channel using a shared resource and at least one dedicated resource for each of the first and second pseudo-channels; FIG. 5 and P. 0056 selector 541 picks the corresponding write access from either of the command sub-queues 520, 521 based on the command selected by each respective arbiter 538, 539 for dispatch to the memory channel; FIG. 8 and P. 0070 command sub-queues 800, 802 (analogous to sub-queues 520, 521) correspond to a first sub-channel, command sub-queues 804, 806 (analogous to sub-queues 520, 521) correspond to a second sub-channel It would have been obvious to a person with ordinary skill in the art at the effective filing date of the application to include the invention of Magro’105 with the arbitration stage having a shared resource and dedicated resources for each of the first and second pseudo-channels taught by Magro’141 The motivation being a single controller may run two separate channels independently (see Magro’141 P. 0033) The systems of Magro’105 and Magro’141 do not explicitly teach the dispatch queue sending data of the first and second memory commands in a time-multiplexed manner. Zhang (2024/0053898) teaches: overlapping first memory access requests of the first pseudo-channel and second memory access requests of the second pseudo-channel on a command and address bus by a dispatch queue stage; and P. 0062 the first pseudo channel PC0 and the second pseudo channel PC1 send data associated with a host command to the combined data buffer separately; P. 0064 and FIG. 3 when data of both pseudo channel PC0 and pseudo channel PC1 arrive, the data D2 and D3 of pseudo channel PC0 is interleaved with the data D0 and D1 of pseudo channel PC time-division multiplexing first data of the first memory access requests and second data of the second memory access requests by the dispatch queue stage. P. 0062 when the register and divided clock driver receives a read command (RD), it sends the read command (referred to CMD PC0 for pseudo channel PC0 and CMD PC1 for pseudo channel PC1) to pseudo channels PC0 and PC1 separately, and pseudo channels PC0 and PC1 send the data to the combined data buffer separately; P. 0057 high-bandwidth DDR DIMM 100 further includes a combined data buffer configured to interleave data of pseudo channels PC0 and PC1 It would have been obvious to a person with ordinary skill in the art at the effective filing date of the application to include the invention of Magro’105 and Magro’141 with the dispatch queue sending data of the first and second memory commands in a time-multiplexed manner taught by Zhang The motivation being data can be read faster and more effectively (see Zhang P. 0070) The systems of Magro’105, Magro’141 and Zhang are analogous because they are from the “same field of endeavor” and from the same “problem solving area.” Namely, they are both from the field of memory systems. Therefore it would have been obvious to combine Magro’105 and Magro’141 with Zhang to obtain the invention as recited in claims 16-20. Claim 17 Magro (2018/0018105) teaches: The method of claim 16, wherein the storing comprises: storing memory access requests for both the first pseudo-channel and the second pseudo-channel in a common command queue. FIG. 6 and P. 0042 Address generator 522 sends the decoded memory access request including the decoded sub-channel number to command queue 520; P. 0043 Arbiter 538 picks eligible memory access requests independently for each sub-channel from command queue 520 Claim 18 Magro (2018/0018105) teaches: The method of claim 16, wherein the arbitrating comprises: arbitrating among the memory access requests using an arbitration stage having a sub-arbiter common to both the first pseudo-channel and the second pseudo-channel. P. 0043 and FIG. 5 Arbiter 538 picks eligible memory access requests independently for each sub-channel from command queue 520 Claim 19 Zhang (2024/0053898) teaches: The method of claim 16, wherein the overlapping and time-division multiplexing comprises: overlapping and time-division multiplexing using a dispatch queue common to both the first pseudo-channel and the second pseudo-channel. P. 0057 each group of pseudo channels PC0 and PC1 correspond to one combined data buffer Claim 20 Magro (2018/0018105) teaches: The method of claim 16, further comprising: receiving memory access requests by an address decoder circuit; P. 0034 and FIG. 5 Address generator 522 decodes addresses of memory access requests received from data fabric 250 decoding a corresponding pseudo-channel for each of the memory access requests; and P. 0041 address generator 522 decodes the address of each memory access request into a sub-channel number “SC” sending a decoded memory access request with a decoded pseudo-channel to the command queue stage. P. 0042 Address generator 522 sends the decoded memory access request including the decoded sub-channel number to command queue 520 Response to Arguments Applicant's arguments filed 10/16/2025 have been fully considered but they are not persuasive. The arguments regarding claims 3-6, 8-11, 13 and 14 mention Magro’141 teaching an arbiter architecture that sorts commands by sub-channel in FIG. 8, but states the architecture does not time-multiplex data from both pseudo-channels. The examiner respectfully notes the claims require the arbitration stage to 1) select first and second memory commands for first and second pseudo-channels, and 2) contain a shared resource and at least one dedicated resource per pseudo-channel. The arbitration state is not required to time-multiplex data for both the first and second commands. Further, the rejection is in view of Magro’105, Magro’141 and Zhang. Zhang P. 0062 teaches the first and second pseudo channels PC0 and PC1 sending their data to a combined data buffer separately, where the data from PC0 and PC1 are interleaved by the combined data buffer in P. 0064. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Takano et al (U.S. Patent No. 10949121) teaches a queue block for each bank including a sub-queue for each plane, where each of the queues store associated commands Magro et al (U.S. Patent No. 10684969) teaches multiple arbitration stages for selecting a command from a command queue Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 STEPHANIE WU whose telephone number is (571)272-0257. The examiner can normally be reached 1pm to 6pm, and 10pm to 1am Eastern time (10am to 3pm, and 7pm to 10pm Pacific time). 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, Rocio Del Mar Perez-Velez can be reached at (571) 270-5935. 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. /STEPHANIE WU/Primary Examiner, Art Unit 2133
Read full office action

Prosecution Timeline

Mar 28, 2024
Application Filed
Aug 26, 2025
Non-Final Rejection mailed — §103
Oct 16, 2025
Response Filed
Jan 06, 2026
Final Rejection mailed — §103
Mar 04, 2026
Request for Continued Examination
Mar 13, 2026
Response after Non-Final Action
Oct 01, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12724540
WEAR LEVELING FOR NON-VOLATILE MEMORY USING DATA WRITE COUNTERS
2y 11m to grant Granted Sep 01, 2026
Patent 12710871
METHODS AND DEVICES FOR FILE READ LATENCY REDUCTION
4y 10m to grant Granted Aug 18, 2026
Patent 12639006
STORAGE APPARATUS AND DATA PROCESSING METHOD
2y 7m to grant Granted May 26, 2026
Patent 12619529
PERIODIC AND ACTIVITY-BASED MEMORY MANAGEMENT
2y 2m to grant Granted May 05, 2026
Patent 12572305
DATA PROCESSING METHOD AND APPARATUS
2y 3m to grant Granted Mar 10, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
81%
Grant Probability
99%
With Interview (+18.4%)
2y 7m (~1m remaining)
Median Time to Grant
High
PTA Risk
Based on 313 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month