Prosecution Insights
Last updated: April 18, 2026
Application No. 18/674,820

METHOD FOR SECURE, SIMPLE, AND FAST SPECULATIVE EXECUTION

Final Rejection §103§112
Filed
May 25, 2024
Examiner
ALLI, KASIM A
Art Unit
2183
Tech Center
2100 — Computer Architecture & Software
Assignee
Purdue Research Foundation
OA Round
2 (Final)
66%
Grant Probability
Favorable
3-4
OA Rounds
3y 1m
To Grant
99%
With Interview

Examiner Intelligence

Grants 66% — above average
66%
Career Allow Rate
120 granted / 183 resolved
+10.6% vs TC avg
Strong +38% interview lift
Without
With
+38.3%
Interview Lift
resolved cases with interview
Typical timeline
3y 1m
Avg Prosecution
21 currently pending
Career history
204
Total Applications
across all art units

Statute-Specific Performance

§101
3.7%
-36.3% vs TC avg
§103
49.4%
+9.4% vs TC avg
§102
16.8%
-23.2% vs TC avg
§112
24.2%
-15.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 183 resolved cases

Office Action

§103 §112
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 . Response to Amendment This office action is in response to the amendment filed on 01/24/2026. Claims 1-17 are pending. Claims 1, 3-9, and 11-17 are amended. The amendment to the Drawings filed 01/24/2026 is objected to under 35 U.S.C. 132(a) because it introduces new matter into the disclosure. 35 U.S.C. 132(a) states that no amendment shall introduce new matter into the disclosure of the invention. The added material which is not supported by the original disclosure is as follows: the SFACT shown in Fig. 5 being 4-way set associative, each way having a source tag and destination, and the specific example of the Branch instruction PC and Destination branch target, were not found to be described in the original disclosure. Applicant is required to cancel the new matter in the reply to this Office Action. Drawings The drawings are objected to for the follow reasons: Fig. 2 and Fig. 5 are not in compliance with 37 CFR 1.84(p)(3) because they include text placed upon shaded surfaces. The drawings are objected to under 37 CFR 1.83(a). The drawings must show every feature of the invention specified in the claims. Therefore, a reorder buffer (as described in claim 3) and a coarse-grained set of locations augmented with a bit mask and associated with the one or more virtual memory locations (as described in claim 6) must be shown or the feature(s) canceled from the claim(s). No new matter should be entered. Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance. Response to Arguments Applicant’s arguments, see Remarks page 3, filed 01/24/2026, with respect to the rejection(s) of claim(s) 1 under 35 U.S.C. 103 that Solomatnikov does not teach validating upon reaching commit have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made over Lee US 2008/0256346 in view of Solomatnikov US 2019/0286443, Von Praun US 2009/0177871, and Hennessy “Computer Architecture, A Quantitative Approach”. Claim Objections Claims 7, 12-13, and 15 are objected to because of the following informalities: Claim 7- delete “entries” and replace “table” with --tables-- in line 2 to clarify that this limitation is referring to each of the one or more memory tables introduced in claim 1 Claim 12- insert --the-- before “previous” in line 3 to clarify that this refers to the previous combinations of source-destination pairs introduced in claim 9 Claim 13- insert --the-- before “previous” in line 3 to clarify that this refers to the previous combinations of source-destination pairs introduced in claim 9 Claim 15- delete “entries” and replace “table” with --tables-- in line 2 to clarify that this limitation is referring to each of the one or more memory tables introduced in claim 9 Appropriate correction is required. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 11 and 14 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claim 11 recites “the source” in line 2. It is unclear whether this refers to the source of the new pair or one of the old pairs introduced in claim 9. For purposes of examination, this will be interpreted as the source of any pair. Claim 14 recites “the one or more virtual memory locations associated with each of the source and the destination” in lines 1-2. There is insufficient antecedent basis for this limitation in the claim as the claim does not introduce each of the source and the destination of the NEW-PAIR or OLD-PAIRs being associated with one or more virtual memory locations. 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. Claims 1-2, 4-5, 7-8 are rejected under 35 U.S.C. 103 as being unpatentable over Lee US 2008/0256346 in view of Solomatnikov US 2019/0286443, Von Praun US 2009/0177871, and Hennessy “Computer Architecture, A Quantitative Approach”. Regarding claim 1, Lee teaches: 1. A method of verifying authenticity of a speculative control-flow instruction, comprising: receiving a new source-destination pair (NEW-PAIR), wherein the source represents a control-flow instruction identified by an associated source memory location where the control-flow instruction is located and the destination represents an associated destination memory location where a next instruction to be executed is located ([0057]-[0059]: the LUT receives the branch instruction address (i.e., an associated source memory location where the control-flow instruction is located) and the branch target address (i.e., a destination/associated destination memory location where a next instruction to be executed is located)); checking the NEW-PAIR against one or more memory tables each having memory source-destination pairs (OLD-PAIRS) ([0057]-[0059]: the combination of the branch instruction address and the branch target address (i.e., the pair) is checked against the LUT, which has memory source-destination pairs, see Fig. 3 ); if the NEW-PAIR exists in the one or more memory tables, fetching the destination of the NEW-PAIR ([0045] and [0057]: if the pair exists in the LUT, the branch instruction is valid and is executed, which would involve fetching the instruction at the destination of the branch); if the NEW-PAIR does not exist in the one or more memory tables, then the source of the NEW-PAIR is nullified ([0045] and [0058]: if the pair does not exist in the LUT, the branch is invalid and the execution unit does not execute the branch instruction, i.e., the source in nullified). Lee does not teach: receiving a new speculative source-destination pair (NEW-PAIR), wherein the source represents a speculative control-flow instruction identified by an associated source virtual memory location where the speculative control-flow instruction is located and the destination represents an associated destination virtual memory location where a next instruction to be executed is located, wherein the speculative control-flow instruction represents either a non-control-flow instruction mis-speculated as a control-flow instruction or an actual control-flow instruction; the one or more memory tables each having memory source-destination pairs (OLD-PAIRS) associated with previous combinations of source-destination pairs that have successfully cleared as non-speculative source-destination pairs upon reaching commit in prior executions if the NEW-PAIR does not exist in the one or more memory tables, i) waiting until the speculation of the source of the NEW-PAIR has cleared as being non-speculative or one or more program counter clock cycles later, ii) updating the one or more memory tables, wherein the updating is associated with inclusion of the NEW-PAIR as a new authentic pair, and iii) fetching an instruction of the non-speculative destination of the NEW-PAIR; and if the speculation of the source of the NEW-PAIR does not clear as non-speculative, then the source of the NEW-PAIR is nullified. However, Solomatnikov teaches: receiving a speculative control flow instruction, wherein the speculative control-flow instruction represents either a non-control-flow instruction mis-speculated as a control-flow instruction or an actual control-flow instruction ([0054]-[0055] describes that speculative execution may continue at step 530 or may be constrained at 540 based on the entry for the control flow instruction being activated, which indicates that the control flow instruction received for steps 510-520 is a speculative instruction); checking if the speculative control flow instruction is associated with an activated entry (analogous to Lee checking if a pair is in the LUT), see [0053], the activated entry being associated a previously validated control flow instruction ([0057]: an entry is activated if the prediction is validated, see also [0019] describing that the entry may be activated after the first time the control flow instruction is executed or the first time a prediction based on the entry is validated); if the speculative control flow instruction is not associated with an activated entry (analogous to a branch not being in the LUT in Lee), i) waiting until the speculation of the source has cleared as being non-speculative or one or more program counter clock cycles later ([0056]: the control flow instruction may execute without speculation at step 542, that is, step 542 waits until speculation of the control flow instruction clears as being non-speculative), ii) updating the entry, wherein the updating is associated with inclusion of the PAIR as a new authentic pair ([0057]: step 548 activates the entry if the control flow instruction is validated), and iii) fetching the instruction of the non-speculative destination ([0056]: continuing execution of the control flow instruction without speculative execution indicates that the instruction of the non-speculative destination of the control flow instruction will be fetched); It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Lee to support speculative control flow instructions as taught by Solomatnikov such that the combination would check speculative control flow instructions against the LUT, which would include previous combinations of source and destination addresses that have been validated/cleared as non-speculative, and if the pair does not exist in the LUT, the combination would wait for the control flow instruction to be non-speculatively executed (i.e., clear as non-speculative), update the LUT to include the new PAIR, and fetch the non-speculative destination of the PAIR (when the pair is executed non-speculatively), and if the speculation does not clear as non-speculative, then the branch would be verified as invalid/nullified. One of ordinary skill in the art would have been motivated to make this modification to support speculative execution, which would enable the processor to achieve higher performance by avoiding pipeline delays (Solomatnikov [0054]). While Solomatnikov teaches determining the results of a control flow instruction before determining if the prediction for the control flow instruction is validated, see [0056]-[0057], The combination of Lee and Solomatnikov does not explicitly teach the validated control flow instruction successfully clearing as non-speculative upon reaching commit in prior executions; or an associated source virtual memory location and an associated destination virtual memory location. However, Von Praun teaches speculative computation that becomes non-speculative at the time of commit, see [0048]. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the combination of Lee in view of Solomotnikov to validate control flow instructions that successfully clear as non-speculative upon reaching commit as taught by Von Praun such that the LUT of the combination would include previous combinations of source and destination addresses that have been validated/cleared as non-speculative upon reaching commit in previous executions. One of ordinary skill in the art would have been motivated to make this modification to ensure that the control flow instructions are validated upon reaching commit, which would strengthen the validation of the control flow instructions (as results determined at commit would be more valid that results that have not reached commit). The combination of Lee, Solomatnikov, and Von Praun does not teach: an associated source virtual memory location and an associated destination virtual memory location. However, Hennessy teaches using virtual memory mapped to physical memory, see B-41. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Lee in view of Solomatnikov to use virtual memory mapped to physical memory as taught by Hennessey such that the addresses used by the combination, including the source and destination memory locations associated with the pairs, would be virtual addresses. One of ordinary skill in the art would have been motivated to make this modification to relieve programmers of the burden of managing program accesses to physical memory and to simplify loading a program for execution (Hennessy B-41-B-42). Regarding claim 2, Lee in view of Solomatnikov, Von Praun, and Hennessy teaches: 2. The method of claim 1, wherein the one or more memory tables includes a Speculative instruction Fetch Access Control Table (SFACT) housing authentic source-destination pairs (the LUT of the combination stores/houses validated/authentic source-destination pairs (as Solomatnikov teaches validating/authenticating the control flow instruction at step 545 of Fig. 5) and is a SFACT in the sense that it controls fetch access of speculative control flow instructions by ensuring that the speculative control flow instruction is verified before its target is fetched (otherwise the control flow instruction is invalidated/not executed, see Lee [0045])). Regarding claim 4, Lee in view of Solomatnikov, Von Praun, and Hennessy teaches: 4. The method of claim 1, wherein the step of checking the NEW-PAIR against one or more memory tables includes using the source of the NEW-PAIR to look up previous combinations of source-destination pairs that have successfully cleared as non- speculative source-destination pairs (OLD-PAIRS) (Lee [0059] teaches checking if the combination of the branch instruction address and the branch target address are in the LUT, which indicates that both the branch instruction address (i.e., the source) and the branch target address are used to look up the LUT for previous combinations of pairs that successfully cleared as non-speculative (in the combination)). Regarding claim 5, Lee in view of Solomatnikov, Von Praun, and Hennessy teaches: 5. The method of claim 1, wherein the step of checking the NEW-PAIR against one or more memory tables includes using the destination of the NEW-PAIR to look up previous combinations of source-destination pairs that have successfully cleared as non- speculative source-destination pairs (OLD-PAIRS) (Lee [0059] teaches checking if the combination of the branch instruction address and the branch target address are in the LUT, which indicates that both the branch instruction address and the branch target address (i.e., the destination) are used to look up the LUT for previous combinations of pairs that successfully cleared as non-speculative (in the combination)). Regarding claim 7, Lee in view of Solomatnikov, Von Praun, and Hennessy teaches: 7. The method of claim 1, wherein each of the one or more memory table entries associated with the previous combinations of source-destination pairs that have successfully cleared as non-speculative source-destination pairs (OLD PAIRS) are amended via hardware or software control (the combination updates/amends entries in the LUT with pairs that have cleared as non-speculative (see Solomatnikow Fig. 5 teaching activating/updating an entry at step 548 once the prediction is validated at step 545), which is done via hardware or software control since any step in a processor occurs under hardware or software control). Regarding claim 8, Lee in view of Solomatnikov, Von Praun, and Hennessy teaches: 8. The method of claim 1, wherein the source of the NEW-PAIR or the OLD-PAIRs is i) a complete instruction or ii) a micro-operation included in a complex instruction comprising a plurality of micro- operations (Lee [0057]: the source is a branch instruction, which is a complete instruction). Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over Lee US 2008/0256346 in view of Solomatnikov US 2019/0286443, Von Praun US 2009/0177871, Hennessy “Computer Architecture, A Quantitative Approach”, and Favor US 2022/0107784. Regarding claim 3, Lee in view of Solomatnikov, Von Praun, and Hennessy teaches: 3. The method of claim 1, Lee in view of Solomatnikov, Von Praun, and Hennessy does not teach: wherein the speculation of the source of the NEW-PAIR is cleared as non-speculative when the source reaches the head of a Reorder Buffer. However, Favor teaches allocating entries for instructions in a ROB that is managed as a FIFO where entries are deallocated when they retire, see [0054] and [0060] It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the processor of Lee in view of Solomatnikov, Von Praun, and Hennessy to include a ROB for tracking instructions as taught by Favor such that a speculative control flow instruction is cleared as non-speculative when it gets deallocated from the head of the ROB. One of ordinary skill in the art would have been motivated to make this modification to efficiently support out-of-order instruction execution (Favor [0055] and [0060]). Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Lee US 2008/0256346 in view of Solomatnikov US 2019/0286443, Von Praun US 2009/0177871, Hennessy “Computer Architecture, A Quantitative Approach”, and Zhang US 2008/0263315. Regarding claim 6, Lee in view of Solomatnikov, Von Praun, and Hennessy teaches: 6. The method of claim 1, Lee in view of Solomatnikov, Von Praun, and Hennessy does not teach: wherein the one or more virtual memory locations associated with each of the source and the destination of the NEW-PAIR or the OLD-PAIRs are represented as a coarse-grained set of locations augmented with a bit mask to identify one or more finer-grain locations contained within the coarse-grained set. However, Zhang teaches a segment/mask addressing mode which divides memory locations into segments and identifies locations in a segment using a mask, see [0022]-[0026]. Examiner notes that while the description may be directed to register addressing, the teaching apply more broadly to memory addressing. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the LUT of Lee in view of Solomatnikov, Von Praun, and Hennessy to use the segment/mask address taught by Zhang such that the combination would represent the source and destinations as segments (i.e., a course-grained set of locations) augmented with a mask (i.e., a bit mask to identify finer-grain locations). One of ordinary skill in the art would have been motivated to make this modification to improve addressing efficiency (Zhang [0022] and [0027]). Claims 9-10, 12-13, 15-16 are rejected under 35 U.S.C. 103 as being unpatentable over Lee US 2008/0256346 in view of Solomatnikov US 2019/0286443. Regarding claim 9, Lee teaches: 9. A method of verifying authenticity of a speculative control-flow instruction, comprising: receiving a new source-destination pair (NEW-PAIR), wherein the source represents a control-flow instruction identified by an associated physical source memory location where the control-flow instruction is located and the destination represents an associated destination physical memory location where a next instruction to be executed is located ([0057]-[0059]: the LUT receives the branch instruction address (i.e., an associated source physical memory location where the control-flow instruction is located) and the branch target address (i.e., a destination/associated destination physical memory location where a next instruction to be executed is located)); checking the NEW-PAIR against one or more memory tables each having memory source-destination pairs (OLD-PAIRS) ([0057]-[0059]: the combination of the branch instruction address and the branch target address (i.e., the pair) is checked against the LUT, which has memory source-destination pairs, see Fig. 3, and the pairs represent associated physical memory locations in the storage unit/physical memory which stores the instructions, see [0036]); if the NEW-PAIR exists in the one or more memory tables, fetching the destination of the NEW-PAIR ([0045] and [0057]: if the pair exists in the LUT, the branch instruction is valid and is executed, which would involve fetching the instruction at the destination of the branch); if the NEW-PAIR does not exist in the one or more memory tables, then the source of the NEW-PAIR is nullified ([0045] and [0058]: if the pair does not exist in the LUT, the branch is invalid and the execution unit does not execute the branch instruction, i.e., the source in nullified). Lee does not teach: receiving a new speculative source-destination pair (NEW-PAIR), wherein the source represents a speculative control-flow instruction identified by an associated source physical memory location where the speculative control-flow instruction is located and the destination represents an associated destination physical memory location where a next instruction to be executed is located, wherein the speculative control-flow instruction represents either a non-control-flow instruction mis-speculated as a control-flow instruction or an actual control-flow instruction; the one or more memory tables each having memory source-destination pairs (OLD-PAIRS) associated with previous combinations of source-destination pairs that have successfully cleared as non-speculative source-destination pairs; if the NEW-PAIR does not exist in the one or more memory tables, i) waiting until the speculation of the source of the NEW-PAIR has cleared as being non-speculative or one or more program counter clock cycles later, ii) updating the one or more memory tables, wherein the updating is associated with inclusion of the NEW-PAIR as a new authentic pair, and iii) fetching a non-speculative destination of the NEW-PAIR; and if the speculation of the source of the NEW-PAIR does not clear as non-speculative, then the source of the NEW-PAIR is nullified. However, Solomatnikov teaches: receiving a speculative control flow instruction, wherein the speculative control-flow instruction represents either a non-control-flow instruction mis-speculated as a control-flow instruction or an actual control-flow instruction ([0054]-[0055] describes that speculative execution may continue at step 530 or may be constrained at 540 based on the entry for the control flow instruction being activated, which indicates that the control flow instruction received for steps 510-520 is a speculative instruction); checking if the speculative control flow instruction is associated with an activated entry (analogous to Lee checking if a pair is in the LUT), see [0053], the activated entry being associated a previously validated control flow instruction ([0057]: an entry is activated if the prediction is validated, see also [0019] describing that the entry may be activated after the first time the control flow instruction is executed or the first time a prediction based on the entry is validated); if the speculative control flow instruction is not associated with an activated entry (analogous to a branch not being in the LUT in Lee), i) waiting until the speculation of the source has cleared as being non-speculative or one or more program counter clock cycles later ([0056]: the control flow instruction may execute without speculation at step 542, that is, step 542 waits until speculation of the control flow instruction clears as being non-speculative), ii) updating the entry, wherein the updating is associated with inclusion of the PAIR as a new authentic pair ([0057]: step 548 activates the entry if the control flow instruction is validated), and iii) fetching the non-speculative destination ([0056]: continuing execution of the control flow instruction without speculative execution indicates that the instruction of the non-speculative destination of the control flow instruction will be fetched); It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Lee to support speculative control flow instructions as taught by Solomatnikov such that the combination would check speculative control flow instructions against the LUT, which would include previous combinations of source and destination addresses that have been validated/cleared as non-speculative, and if the pair does not exist in the LUT, the combination would wait for the control flow instruction to be non-speculatively executed (i.e., clear as non-speculative), update the LUT to include the new PAIR, and fetch the non-speculative destination of the PAIR (when the pair is executed non-speculatively), and if the speculation does not clear as non-speculative, then the branch would be verified as invalid/nullified. One of ordinary skill in the art would have been motivated to make this modification to support speculative execution, which would enable the processor to achieve higher performance by avoiding pipeline delays (Solomatnikov [0054]). Regarding claim 10, Lee in view of Solomatnikov teaches: 10. The method of claim 9, wherein the one or more memory tables includes a Speculative instruction Fetch Access Control Table (SFACT) housing authentic source- destination pairs (the LUT of the combination stores/houses validated/authentic source-destination pairs (as Solomatnikov teaches validating/authenticating the control flow instruction at step 545 of Fig. 5) and is a SFACT in the sense that it controls fetch access of speculative control flow instructions by ensuring that the speculative control flow instruction is verified before its target is fetched (otherwise the control flow instruction is invalidated/not executed, see Lee [0045])). Regarding claim 12, Lee in view of Solomatnikov teaches: 12. The method of claim 9, wherein the step of checking the NEW-PAIR against one or more memory tables includes using the source of the NEW-PAIR to look up previous combinations of source-destination pairs that have successfully cleared as non- speculative source-destination pairs (OLD-PAIRs) (Lee [0059] teaches checking if the combination of the branch instruction address and the branch target address are in the LUT, which indicates that both the branch instruction address (i.e., the source) and the branch target address are used to look up the LUT for previous combinations of pairs that successfully cleared as non-speculative (in the combination)). Regarding claim 13, Lee in view of Solomatnikov teaches: 13. The method of claim 9, wherein the step of checking the NEW-PAIR against one or more memory tables includes using the destination of the NEW-PAIR to look up previous combinations of source-destination pairs that have successfully cleared as non- speculative source-destination pairs (OLD-PAIRs) (Lee [0059] teaches checking if the combination of the branch instruction address and the branch target address are in the LUT, which indicates that both the branch instruction address and the branch target address (i.e., the destination) are used to look up the LUT for previous combinations of pairs that successfully cleared as non-speculative (in the combination)). Regarding claim 15, Lee in view of Solomatnikov teaches: 15. The method of claim 9, wherein each of the one or more memory table entries associated with the previous combinations of source-destination pairs that have successfully cleared as non-speculative source-destination pairs (OLD-PAIRS) are amended via hardware or software control (the combination updates/amends entries in the LUT with pairs that have cleared as non-speculative (see Solomatnikow Fig. 5 teaching activating/updating an entry at step 548 once the prediction is validated at step 545), which is done via hardware or software control since any step in a processor occurs under hardware or software control). Regarding claim 16, Lee in view of Solomatnikov teaches: 16. The method of claim 9, wherein the source of the NEW-PAIR or the OLD-PAIRs is i) a complete instruction or ii) a micro-operation included in a complex instruction comprising a plurality of micro- operations (Lee [0057]: the source is a branch instruction, which is a complete instruction). Claims 11 and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Lee US 2008/0256346 in view of Solomatnikov US 2019/0286443, and Favor US 2022/0107784. Regarding claim 11, Lee in view of Solomatnikov teaches: 11. The method of claim 9, Lee in view of Solomatnikov does not teach: wherein the speculation of the source of the NEW-PAIR is cleared as non-speculative when the source reaches the head of a Reorder Buffer. However, Favor teaches allocating entries for instructions in a ROB that is managed as a FIFO where entries are deallocated when they retire, see [0054] and [0060] It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the processor of Lee in view of Solomatnikov and Hennessy to include a ROB for tracking instructions as taught by Favor such that a speculative control flow instruction is cleared as non-speculative when it gets deallocated from the head of the ROB. One of ordinary skill in the art would have been motivated to make this modification to efficiently support out-of-order instruction execution (Favor [0055] and [0060]). Regarding claim 17, Lee in view of Solomatnikov teaches: 17. The method of claim 9, Lee in view of Solomatnikov does not teach: wherein the associated source physical memory location and the associated destination physical memory location are presented as partial addresses and the step of checking the NEW-PAIR against one or more memory tables includes finding a best match. However, Favor teaches using a tag/partial address to access a memory, see [0070]. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Lee in view of Solomatnikov to access the LUT using partial source and destination addresses/tags as taught by Favor such that the combination would select/find an entry with matching tags, i.e., a best match. One of ordinary skill in the art would have been motivated to make this modification to reduce the number of bits required for accessing entries in the LUT, which would reduce hardware requirements. Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Lee US 2008/0256346 in view of Solomatnikov US 2019/0286443, and Zhang US 2008/0263315. Regarding claim 14, Lee in view of Solomatnikov teaches: 14. The method of claim 9, Lee in view of Solomatnikov does not teach: wherein the one or more virtual memory locations associated with each of the source and the destination of the NEW-PAIR or the OLD-PAIRs are represented as a coarse-grained set of locations augmented with a bit mask to identify one or more finer-grain locations contained within the coarse-grained set. However, Zhang teaches a segment/mask addressing mode which divides memory locations into segments and identifies locations in a segment using a mask, see [0022]-[0026]. Examiner notes that while the description may be directed to register addressing, the teaching apply more broadly to memory addressing. It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify the LUT of Lee in view of Solomatnikov and Hennessy to use the segment/mask address taught by Zhang such that the combination would represent the source and destinations as segments (i.e., a course-grained set of locations) augmented with a mask (i.e., a bit mask to identify finer-grain locations). One of ordinary skill in the art would have been motivated to make this modification to improve addressing efficiency (Zhang [0022] and [0027]). Conclusion 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 extension fee 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 date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to KASIM ALLI whose telephone number is (571)270-1476. The examiner can normally be reached Monday - Friday 9am 5pm. 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, Andrew Caldwell can be reached on (571) 272-3702. 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. /KASIM ALLI/Examiner, Art Unit 2182 /JYOTI MEHTA/Supervisory Patent Examiner, Art Unit 2183
Read full office action

Prosecution Timeline

May 25, 2024
Application Filed
Jun 29, 2024
Response after Non-Final Action
Aug 22, 2025
Non-Final Rejection — §103, §112
Jan 22, 2026
Applicant Interview (Telephonic)
Jan 22, 2026
Examiner Interview Summary
Jan 24, 2026
Response Filed
Mar 31, 2026
Final Rejection — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12578963
IMPLIED FENCE ON STREAM OPEN
2y 5m to grant Granted Mar 17, 2026
Patent 12541369
EXECUTING PHANTOM LOOPS IN A MICROPROCESSOR
2y 5m to grant Granted Feb 03, 2026
Patent 12536131
VECTOR COMPUTATIONAL UNIT
2y 5m to grant Granted Jan 27, 2026
Patent 12498930
STORE TO LOAD FORWARDING USING HASHES
2y 5m to grant Granted Dec 16, 2025
Patent 12468530
ASSOCIATIVELY INDEXED CIRCULAR BUFFER
2y 5m to grant Granted Nov 11, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
66%
Grant Probability
99%
With Interview (+38.3%)
3y 1m
Median Time to Grant
Moderate
PTA Risk
Based on 183 resolved cases by this examiner. Grant probability derived from career allow 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