Prosecution Insights
Last updated: July 05, 2026
Application No. 18/490,810

CLEAR PREFETCH STREAM ON DETECTION OF PIPELINE FLUSH

Final Rejection §103
Filed
Oct 20, 2023
Examiner
THAMMAVONG, PRASITH
Art Unit
2137
Tech Center
2100 — Computer Architecture & Software
Assignee
International Business Machines Corporation
OA Round
4 (Final)
87%
Grant Probability
Favorable
5-6
OA Rounds
1m
Est. Remaining
95%
With Interview

Examiner Intelligence

Grants 87% — above average
87%
Career Allowance Rate
471 granted / 542 resolved
+31.9% vs TC avg
Moderate +8% lift
Without
With
+7.9%
Interview Lift
resolved cases with interview
Typical timeline
2y 10m
Avg Prosecution
20 currently pending
Career history
576
Total Applications
across all art units

Statute-Specific Performance

§101
1.9%
-38.1% vs TC avg
§103
61.0%
+21.0% vs TC avg
§102
24.0%
-16.0% vs TC avg
§112
7.5%
-32.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 542 resolved cases

Office Action

§103
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 . The Examiner acknowledges the applicant's submission of the amendment dated 1/2/26, which has been entered. 1. ACKNOWLEDGEMENT OF REFERENCES CITED BY APPLICANT Information Disclosure Statement As required by M.P.E.P. ' 609 (C), the applicant's submission of the Information Disclosure Statement, dated 10/7/25, is acknowledged by the examiner and the cited references have been considered in the examination of the claims now pending. As required by M.P.E.P. ' 609 C(2), a copy of the PTOL-1449 initialed and dated by the examiner is attached to the instant office action. 2. REJECTIONS BASED ON PRIOR ART 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 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. 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 Sugumar (US 11663130) in view of Gilbert (US 20140208039) and Osanai (US 20060271767). With respect to claim 8, the Sugumar reference teaches a computer system, the computer system comprising: one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage media, and program instructions stored on at least one of the one or more tangible storage media for execution by at least one of the one or more processors via at least one of the one or more memories, (see fig. 4; and corresponding specification text) wherein the computer system is capable of performing a method comprising: identifying one or more prefetch streams; (column 3, line 48-64, where there is a buffer (e.g., a speculative fill buffer) for storing cache lines of data while the instruction that pulled them from the memory system is still being executed speculatively. FIG. 4 shows example of where the buffer may be located relative to a processor pipeline (e.g., next to the first level data cache)) saving a memory access instruction that created or advanced a selected prefetch stream from the one or more prefetch streams; (column 13, lines 21-33, where integrated circuit 400 includes a buffer 450 with entries that are each configured to store a cache line of data and a tag that includes an indication of a status of the cache line stored in the entry. The status can take values from a set that includes speculative, validated, and cancelled) However, the Sugumar reference does not explicitly teach determining that a predicted branch was predicted incorrectly; in response to determining that the predicting branch was predicted incorrectly, detecting a pipeline flush prior to the saved memory access instruction; and stopping a portion of the selected prefetch stream that follows the saved memory access instruction based on the detected pipeline flush and on a type of the saved memory access instruction, wherein upon determining that the type of the memory access instruction is an advance type instruction selected from a load instruction or a store instruction, performing the stopping by pausing the selected prefetch stream. The Gilbert reference teaches it is conventional to have: determining that a predicted branch was predicted incorrectly; (paragraph 31, where upon reaching the execute stage 134, if the execute condition specified for the loop ending conditional branch instruction has evaluated opposite to its prediction, [i.e. the branch was predicted incorrectly] any pipeline speculative execution of instructions on the wrong instruction path are corrected, for example by flushing the pipeline, and such a correction may include canceling pending prefetches that are associated with the wrong instruction path) in response to determining that the predicting branch was predicted incorrectly, detecting a pipeline flush prior to the saved memory access instruction; (paragraph 31, where upon reaching the execute stage 134, if the execute condition specified for the loop ending conditional branch instruction has evaluated opposite to its prediction, any pipeline speculative execution of instructions on the wrong instruction path are corrected, for example by flushing the pipeline, and such a correction may include canceling pending prefetches that are associated with the wrong instruction path) and stopping a portion of the selected prefetch stream that follows the saved memory access instruction based on the detected pipeline flush and on a type of the saved memory access instruction. (paragraph 31, where upon reaching the execute stage 134, if the execute condition specified for the loop ending conditional branch instruction has evaluated opposite to its prediction, any pipeline speculative execution of instructions on the wrong instruction path are corrected, for example by flushing the pipeline, and such a correction may include canceling pending prefetches that are associated with the wrong instruction path) It would have been obvious to a person of ordinary skill in the art before the claimed invention was effectively filed to modify the Sugumar reference to have wherein determining that a predicted branch was predicted incorrectly; in response to determining that the predicting branch was predicted incorrectly, detecting a pipeline flush prior to the saved memory access instruction; and stopping a portion of the selected prefetch stream that follows the saved memory access instruction based on the detected pipeline flush and on a type of the saved memory access instruction, as taught by the Gilbert reference. The suggestion/motivation for doing so would have been to have reducing of cache pollution by use of a prefetch logic that recognizes exits from software loops or function returns to cancel any pending prefetch request operations. (Gilbert, abstract) However, the combination of the Sugumar and Gilbert references does not explicitly teach wherein upon determining that the type of the memory access instruction is an advance type instruction selected from a load instruction or a store instruction, performing the stopping by pausing the selected prefetch stream. The Osanai reference teaches it is conventional to have wherein upon determining that the type of the memory access instruction is an advance type instruction selected from a load instruction or a store instruction, performing the stopping by pausing the selected prefetch stream. (paragraph 67, where in one embodiment, DL1 535 is configured to perform partial address comparisons on the addresses of instructions while the instructions are in pipeline 510, in load queue 515 (where load-type instructions are buffered), or in store queue 520 (where store-type instructions are stored). When a full comparison establishes a dependency for a suspended instruction, any level-2 data pre-fetch operations are cancelled [i.e. prefetching is cancelled when a ‘type’ of command, including loads and stores, establishes a dependency for a suspended instruction during comparisons]) It would have been obvious to a person of ordinary skill in the art before the claimed invention was effectively filed to modify the combination of the Sugumar and Gilbert references to have wherein upon determining that the type of the memory access instruction is an advance type instruction selected from a load instruction or a store instruction, performing the stopping by pausing the selected prefetch stream, as taught by the Osanai reference. The suggestion/motivation for doing so would have been to have prevent a dependent load instruction from loading "bad" data. (Osanai, paragraph 72) Therefore it would have been obvious to combine the Sugumar, Gilbert, and Osanai references for the benefits shown above to obtain the invention as specified in the claim. With respect to claim 9, the combination of the Sugumar, Gilbert, and Osanai references teaches the computer system of claim 8, wherein a type of the saved memory access instruction includes a hardware type instruction and a software type instruction. (Sugumar, column 9, lines 52-59, where a prefetch request can be or can include a software prefetch request such that an explicit prefetch instruction that is inserted into the pipeline 104 includes a particular address to be prefetched. A prefetch request can be or can include a hardware prefetch that is performed by hardware within the processor (e.g., the processor core 102)) With respect to claim 10, the combination of the Sugumar, Gilbert, and Osanai references teaches the computer system of claim 8, wherein the type of the memory access instruction is a hardware advance type instruction, and the stopping includes pausing the selected prefetch stream. (Sugumar, column 9, lines 52-59, where a prefetch request can be or can include a software prefetch request such that an explicit prefetch instruction that is inserted into the pipeline 104 includes a particular address to be prefetched. A prefetch request can be or can include a hardware prefetch that is performed by hardware within the processor (e.g., the processor core 102)); and column 14, line 39 to column 15, line 5, where if the load instruction is determined to have resulted from a misprediction and is flushed from the processor pipeline, then the status of the entry 520 may be changed to cancelled by updating the indication of status 580 for the entry 520. Cancelled entries may be subject to deletion or release and overwritten with new data) With respect to claim 11, the combination of the Sugumar, Gilbert, and Osanai references teaches the computer system of claim 10, wherein the type of the memory access instruction is, more specifically, a load instruction or a store instruction. (Sugumar, see fig. 6; and where FIG. 6 is a flow chart of an example of a technique 600 for executing a load instruction with cache replacement mechanisms for speculative execution) With respect to claim 12, the combination of the Sugumar, Gilbert, and Osanai references teaches the computer system of claim 11, further comprising: upon determining that the type of the memory access instruction is a create type instruction, performing the stopping by cancelling the selected prefetch stream. (Sugumar, column 16, lines 25-35, where If (at step 645) the load instruction is flushed from the pipeline, then, responsive to the load instruction being flushed from the processor pipeline, updating 650 the tag of the first entry to indicate the status is cancelled. In some implementations, a context switch by a processor core including the processor pipeline may cause all entries in the buffer marked as speculative to be cancelled) With respect to claim 13, the combination of the Sugumar, Gilbert, and Osanai references teaches the computer system of claim 8, further comprising: loading a prefetch stream from the one or more prefetch streams into a destination cache memory. (Sugumar, see fig. 4; and column 12, line 62 to column 13, line 13, where FIG. 4 is a block diagram of an example of an integrated circuit 400 for executing instructions with cache replacement mechanisms for speculative execution) With respect to claim 14, the combination of the Sugumar, Gilbert, and Osanai references teaches the computer system of claim 13, wherein the detecting is performed by a dedicated prefetch flush detection module. (Sugumar, see fig. 4; and column 12, line 62 to column 13, line 13, where FIG. 4 is a block diagram of an example of an integrated circuit 400 for executing instructions with cache replacement mechanisms for speculative execution) Claims 1-7 are processor-implemented method implementation of claims 8-14, and rejected under a similar rationale as shown above. Claims 15-20 are computer program product implementation of claims 8-14, and rejected under a similar rationale as shown above. 3. ARGUMENTS CONCERNING PRIOR ART REJECTIONS Rejections - USC 102/103 Applicant's arguments (see pages 7-9 of the remarks) and amendments with respect to claims 1-20 have been considered, and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Osanai to teach the newly added limitations as shown in the rejections above. 4. CLOSING COMMENTS 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 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 PRASITH THAMMAVONG whose telephone number is (571) 270-1040. The examiner can normally be reached Monday - Friday 12-8 PM EST. 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, Arpan Savla can be reached on (571) 272-1077. 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. /PRASITH THAMMAVONG/ Primary Examiner, Art Unit 2137
Read full office action

Prosecution Timeline

Show 7 earlier events
Jul 16, 2025
Applicant Interview (Telephonic)
Jul 17, 2025
Request for Continued Examination
Jul 22, 2025
Response after Non-Final Action
Oct 01, 2025
Non-Final Rejection mailed — §103
Dec 10, 2025
Applicant Interview (Telephonic)
Dec 10, 2025
Examiner Interview Summary
Jan 02, 2026
Response Filed
May 04, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12670100
TECHNIQUES FOR PRE-FETCHING INFORMATION USING PATTERN DETECTION
1y 10m to grant Granted Jun 30, 2026
Patent 12639225
STATUS REPORTING FOR STORAGE DEVICE
2y 6m to grant Granted May 26, 2026
Patent 12632197
Universal Flash Storage Device With Partial Buffer Flush and Flush Resume Functions
2y 5m to grant Granted May 19, 2026
Patent 12625808
CACHE MEMORY SUPPORTING DATA OPERATIONS WITH PARAMETRIZED LATENCY AND THROUGHPUT
3y 2m to grant Granted May 12, 2026
Patent 12625798
Apparatus and Method for Address Generation, Data Buffer, and Artificial Intelligence Chip
3y 1m to grant Granted May 12, 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

5-6
Expected OA Rounds
87%
Grant Probability
95%
With Interview (+7.9%)
2y 10m (~1m remaining)
Median Time to Grant
High
PTA Risk
Based on 542 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