Prosecution Insights
Last updated: July 17, 2026
Application No. 17/870,606

SEPARATING SEQUENTIAL I/O WORKLOADS ACCESSING A VOLUME IN AN I/O STREAM OF MULTIPLE SUPERIMPOSED SEQUENTIAL I/O WORKLOADS

Non-Final OA §101§103
Filed
Jul 21, 2022
Examiner
BLUST, JASON W
Art Unit
2132
Tech Center
2100 — Computer Architecture & Software
Assignee
International Business Machines Corporation
OA Round
3 (Non-Final)
79%
Grant Probability
Favorable
3-4
OA Rounds
0m
Est. Remaining
95%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allowance Rate
224 granted / 283 resolved
+24.2% vs TC avg
Strong +16% interview lift
Without
With
+16.2%
Interview Lift
resolved cases with interview
Typical timeline
2y 4m
Avg Prosecution
22 currently pending
Career history
309
Total Applications
across all art units

Statute-Specific Performance

§101
2.0%
-38.0% vs TC avg
§103
78.1%
+38.1% vs TC avg
§102
13.2%
-26.8% vs TC avg
§112
3.0%
-37.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 283 resolved cases

Office Action

§101 §103
CTNF 17/870,606 CTNF 91044 Notice of Pre-AIA or AIA Status 07-03-aia AIA 15-10-aia The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA. Continued Examination Under 37 CFR 1.114 07-42-04 AIA A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 5/5/2026 has been entered. Response to Arguments 07-37 AIA Applicant's arguments filed 5/5/2026 have been fully considered but they are not persuasive. ¶29 of Palmer teaches that the command history table may be implemented as a FIFO (first in, first out) data structure, and as such, each entry is indicative of the relative temporal ordering of which the access requests were received. As the entries in this table are used to detect new streams, the analysis is at least “based on” the time/order the requests were received . 07-37-11 AIA Applicant's arguments fail to comply with 37 CFR 1.111(b) because they amount to a general allegation that the claims define a patentable invention without specifically pointing out how the language of the claims patentably distinguishes them from the references. 07-37-12 AIA Applicant's arguments do not comply with 37 CFR 1.111(c) because they do not clearly point out the patentable novelty which he or she thinks the claims present in view of the state of the art disclosed by the references cited or the objections made. Further, they do not show how the amendments avoid such references or objections. 07-37-13 AIA In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller , 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). Claim Rejections - 35 USC § 101 07-04-01 AIA 07-04 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1-7, 9-14, 16-20 are rejected under 35 U.S.C. 101 because the claimed invention lacks patentable utility. There is no patentable utility of just “detecting” and “calculating” if nothing useful is ever done with the data/information that has been detected/calculated. Claim Rejections - 35 USC § 103 07-20-aia AIA 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. 07-21-aia AIA Claim (s) 1-4, 9, 17, and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Palmer (US 2020/0285582) . In regards to claims 1 and 17, taking claim 17 as exemplary Palmer teaches detecting individual sequential input/output (I/0) workloads in a stream of superimposed I/O workloads accessing a same physical volume, the detecting being based on analyzing timestamps corresponding to a plurality of block access events stored in [a table], the timestamps indicating relative temporal ordering of the plurality of block access events of a given individual sequential I/O workload. (¶15 incoming read commands (i.e. a stream) are compared with current actively tracked sequential streams (sequential I/O workloads) in the active stream table and a command history table (i.e. time dependency) to determine if the access is part of a currently tracked sequential stream(i.e. is a continuation of an active stream on the active stream table) or a new one (i.e. is a continuation of a previous access that was the start of a new stream, and is on the command history table). Fig. 4, ¶26, the active stream table also include a last modified indication 412 (i.e. time dependency). ¶29 teaches each read command from the host system 120 includes a logical block address (accesses of blocks). ¶16, fig. 1 teaches memory subsystem 110 connected to host system 120, which can be an SSD (physical volume), which contains a controller with a processor) ¶24 teaches the methods can be performed by a combination of hardware and set of instructions executed on a processing device). Fig.4 and 5 show that the active stream table tracks a starting LBA, ending LBA and most recent command size (i.e. locations of accessed blocks) and the command history table tracks the starting LBA and length (locations of accessed blocks). ¶29 teaches that the command history table may be implemented as a FIFO (first in, first out) data structure, and as such, each entry is indicative of the relative temporal ordering of which the access requests were received. Palmer may not explicitly teach plurality of block access events are stored in a table of accessed blocks of the physical volume, the time dependency being based on timestamps of when individual ones of the accessed blocks are accessed. (bolded for emphasis) Palmer does teach two tables that are used, the active stream table 400 (fig. 4) and the command history table 500 (fig. 5), the active stream table has a last modified indication 412, according to ¶49 is to “indicate a time of the current modification to the entry” (i.e. a timestamp of when the indicated block was last accessed). ¶29 teaches that the command history table may be implemented as a FIFO (first in, first out) data structure, and as such, each entry is indicative of the relative temporal ordering of which the access requests were received. It would have been obvious to one of ordinary skill in the art to modify the teachings of Palmer such that active stream table 400 and the command history table 500 could be combined into a single table that tracks both active streams and accesses that were not assigned to a stream (i.e. potentially the start of a new stream). One of ordinary skill in the art could have combined these two tables into a single table and used the combined table to identify if incoming accesses belonged to an already active stream or not, and if not, used the timestamps of other accesses along with the location of the blocks to detect a new stream and been able to achieve predictable results. The rationale to support a conclusion that the claim would have been obvious is that all the claimed elements were known in the prior art and one skilled in the art could have combined the elements as claimed by known methods with no change in their respective functions, and the combination yielded nothing more than predictable results to one of ordinary skill in the art. (see MPEP 2143 I. A.) In regards to claims 2 and 18, Palmer teaches wherein the individual sequential I/O workloads are detected by analyzing accesses to sequential blocks in the volume during a predefined period of time and/or across a predefined number of accesses to the volume. (¶15 incoming read commands (i.e. a stream) are compared with current actively tracked sequential streams (sequential I/O workloads) in the active stream table and a command history table (i.e. time dependency) to determine if the access is part of a currently tracked sequential stream or a new one. Fig. 4, ¶26, the active stream table also include a last modified indication 412 (i.e. time dependency). ¶25 and 30 teaches that the table(s) can support a predefined number of entries (i.e. a predefined number of accesses to the volume). ¶48 also teaches that a predefined age threshold (period of time) can be set for when data can be evicted from the table(s). In regards to claim 3, Palmer teaches wherein the individual sequential I/O workloads are detected even when temporally consecutive accesses to the volume access nonsequential blocks. ( ¶15, 26, fig. 4., as the active stream table has multiple entries, and a history table exists, the consecutive accesses from the host can be accesses to nonsequential blocks and the sequential streams (individual sequential I/O workloads) are still detected. In regards to claim 4, Palmer teaches wherein the detecting is based only on information in the table. (¶15 incoming read commands (i.e. a stream) are compared with current actively tracked sequential streams (sequential I/O workloads) in the active stream table and a command history table (i.e. time dependency) to determine if the access is part of a currently tracked sequential stream. Note, claim 1 above combined the two tables. In regards to claim 9, Palmer teaches wherein the method is performed by a storage system having the volume. ( ¶16, 19, fig. 1 teaches memory subsystem 110 (storage system) which can be an SSD (physical volume) has a controller that performs the readahead management functions . 07-21-aia AIA Claim (s) 5-8, 10-16, 19-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Palmer (US 2020/0285582) in view of Speight (US 2009/0198907) . In regards to claims 5 and 19, Palmer may not explicitly teach comprising calculating a sequentiality factor for each of the sequential I/O workloads wherein the sequentiality factors for the respective sequential I/O workloads are calculated based on a formula that includes as variables: a number of I/Os in a sequential stream of the corresponding sequential I/O workload and a total number of I/Os against the volume during performance of said number of I/Os in the particular sequential stream of the corresponding sequential I/O workload. However, Speight teaches in ¶36 that the rate of data consumption for each of the streams (sequential workloads) can be evaluated to determine a priority (sequentiality factor) which is then used to modify the frequency (i.e. order of prefetches) of prefetches for each sequential stream relative to each other. It would have been obvious to one of ordinary skill in the art prior to the effective filing date of the claimed invention to have incorporated the teachings of Speight to improve the system of Palmer. This allows the system to dynamically adjust the order/frequency of when data for each of the streams is prefetched. The motivation for such a modification is that the efficiency of the catch can be improved via an increased hit rate and minimizing late/early prefetching. In regards to claims 6, Palmer and Speight further teaches wherein the sequentiality factor for each sequential I/O workload is calculated based on a formula that includes as variables: a number of I/Os in a sequential stream of the sequential I/0 workload and a total number of I/Os against the volume during performance of said number of I/Os. Palmer teaches in ¶52-58 that the command size of an identified active stream vs. other streams can be used to determine the amount of the read-ahead cache assigned to each stream, and that a fairness policy can be used to determine how the read-ahead cache is populated for the identified streams. Speight teaches in ¶36 that the rate of data consumption for each of the streams (sequential workloads) is evaluated to determine a priority (sequentiality factor) for each of the streams relative to each other (i.e. the priority for each stream is proportional to the rate (number of access per a unit of time of a sequential workload) compared to all the other streams (i.e. total number of I/Os per a unit time)). It would have been obvious to one of ordinary skill in the art prior to the effective filing date of the claimed invention to have incorporated the teachings of Palmer and Speight to improve the system of Palmer by taking into account the I/Os of the individual streams in order to calculate a “sequentiality factor” that would allow a fair split between all of the active streams based on their actual usage. This allows the system to dynamically adjust the order/frequency of when data for each of the streams is prefetched. The motivation for such a modification is that the efficiency of the catch can be improved via an increased hit rate and minimizing late/early prefetching. In regards to claim 13, Palmer further teaches the time dependency is derived from a table of accessed blocks, the table including the locations of the accessed blocks and indications of times of accesses of the individual accessed blocks. ( Fig. 4, ¶26, the active stream table also include a last modified indication 412 (i.e. time dependency). ¶29 teaches each read command from the host system 120 includes a logical block address (accesses of blocks). ¶16, fig. 1 teaches memory subsystem 110 connected to host system 120, which can be an SSD (physical volume), which contains a controller with a processor) ¶24 teaches the methods can be performed by a combination of hardware and set of instructions executed on a processing device). Fig.4 and 5 show that the active stream table tracks a starting LBA, ending LBA and most recent command size (i.e. locations of accessed blocks) and the command history table tracks the starting LBA and length (locations of accessed blocks). In regards to claims 7, 14 and 20 Speight further teaches comprising determining a preferred order of read ahead of blocks for one or more of the sequential I/0 workloads based on the sequentiality factors. (¶36 the priority (sequentiality factor) is then used to adjust the order of prefetches (read ahead blocks) for each stream). In regards to claim 8 and 15, Speight further teaches comprising performing read ahead of blocks for one or more of the sequential I/0 workloads according to the preferred order. (¶36 prefetches (read ahead of blocks) are performed in the queued order) In regards to claim 10, Palmer teaches detecting individual sequential input/output (I/0) workloads in a stream of superimposed I/O workloads accessing a same physical volume, the detecting being based on analyzing timestamps corresponding to a plurality of block access events stored in [a table], the timestamps indicating relative temporal ordering of the plurality of block access events of a given individual sequential I/O workload. (¶15 incoming read commands (i.e. a stream) are compared with current actively tracked sequential streams (sequential I/O workloads) in the active stream table and a command history table (i.e. time dependency) to determine if the access is part of a currently tracked sequential stream(i.e. is a continuation of an active stream on the active stream table) or a new one (i.e. is a continuation of a previous access that was the start of a new stream, and is on the command history table). Fig. 4, ¶26, the active stream table also include a last modified indication 412 (i.e. time dependency). ¶29 teaches each read command from the host system 120 includes a logical block address (accesses of blocks). ¶16, fig. 1 teaches memory subsystem 110 connected to host system 120, which can be an SSD (physical volume), which contains a controller with a processor) ¶24 teaches the methods can be performed by a combination of hardware and set of instructions executed on a processing device). Fig.4 and 5 show that the active stream table tracks a starting LBA, ending LBA and most recent command size (i.e. locations of accessed blocks) and the command history table tracks the starting LBA and length (locations of accessed blocks). ¶29 teaches that the command history table may be implemented as a FIFO (first in, first out) data structure, and as such, each entry is indicative of the relative temporal ordering of which the access requests were received. Palmer may not explicitly teach plurality of block access events are stored in a table of accessed blocks of the physical volume, the time dependency being based on timestamps of when individual ones of the accessed blocks are accessed. (bolded for emphasis) Palmer does teach two tables that are used, the active stream table 400 (fig. 4) and the command history table 500 (fig. 5), the active stream table has a last modified indication 412, according to ¶49 is to “indicate a time of the current modification to the entry” (i.e. a timestamp of when the indicated block was last accessed). ¶29 teaches that the command history table may be implemented as a FIFO (first in, first out) data structure, and as such, each entry is indicative of the relative temporal ordering of which the access requests were received. It would have been obvious to one of ordinary skill in the art to modify the teachings of Palmer such that active stream table 400 and the command history table 500 could be combined into a single table that tracks both active streams and accesses that were not assigned to a stream (i.e. potentially the start of a new stream). One of ordinary skill in the art could have combined these two tables into a single table and used the combined table to identify if incoming accesses belonged to an already active stream or not, and if not, used the timestamps of other accesses along with the location of the blocks to detect a new stream and been able to achieve predictable results. The rationale to support a conclusion that the claim would have been obvious is that all the claimed elements were known in the prior art and one skilled in the art could have combined the elements as claimed by known methods with no change in their respective functions, and the combination yielded nothing more than predictable results to one of ordinary skill in the art. (see MPEP 2143 I. A.) Palmer may not further explicitly teach and/or make obvious calculating sequentiality factors for the plurality of sequential I/O workloads, wherein the sequentiality factors for the respective sequential I/O workloads are calculated based on a formula that includes as variables: a number of I/Os in a sequential stream of the corresponding sequential I/O workload and a total number of I/Os against the volume during performance of said number of I/Os in of the corresponding sequential I/O the particular sequential stream I/O workload. Palmer does teach in ¶52-58 that the command size of an identified active stream vs. other streams can be used to determine the amount of the read-ahead cache assigned to each stream, and that a fairness policy can be used to determine how the read-ahead cache is populated for the identified streams. Speight teaches in ¶36 that the rate of data consumption for each of the streams (sequential workloads) is evaluated to determine a priority (sequentiality factor) for each of the streams relative to each other (i.e. the priority for each stream is proportional to the rate (number of access per a unit of time of a sequential workload) compared to all the other streams (i.e. total number of I/Os per a unit time)). It would have been obvious to one of ordinary skill in the art prior to the effective filing date of the claimed invention to have incorporated the teachings of Palmer and Speight to improve the system of Palmer by taking into account the I/Os of the individual streams in order to calculate a “sequentiality factor” that would allow a fair split between all of the active streams based on their actual usage. This allows the system to dynamically adjust the order/frequency of when data for each of the streams is prefetched. The motivation for such a modification is that the efficiency of the catch can be improved via an increased hit rate and minimizing late/early prefetching. In regards to claim 11, Palmer and Speight may not explicitly teach the time dependency being derived from a single table of accessed blocks of the physical volume, the time dependency being based on timestamps of when individual ones of the accessed blocks are accessed. (bolded for emphasis) Palmer does teach two tables that are used, the active stream table 400 (fig. 4) and the command history table 500 (fig. 5), the active stream table has a last modified indication 412, according to ¶49 is to “indicate a time of the current modification to the entry” (i.e. a timestamp of when the indicated block was last accessed). It would have been obvious to one of ordinary skill in the art to modify the teachings of Palmer such that active stream table 400 and the command history table 500 could be combined into a single table that tracks both active streams and accesses that were not assigned to a stream (i.e. potentially the start of a new stream). One of ordinary skill in the art could have combined these two tables into a single table and used the combined table to identify if incoming accesses belonged to an already active stream or not, and been able to achieve predictable results. The rationale to support a conclusion that the claim would have been obvious is that all the claimed elements were known in the prior art and one skilled in the art could have combined the elements as claimed by known methods with no change in their respective functions, and the combination yielded nothing more than predictable results to one of ordinary skill in the art. (see MPEP 2143 I. A.) In regards to claim 12, Palmer teaches wherein the individual sequential I/0 workloads are detected by analyzing accesses to sequential blocks in the volume during a period of time and/or across a number of accesses to the volume. (¶15 incoming read commands (i.e. a stream) are compared with current actively tracked sequential streams (sequential I/O workloads) in the active stream table and a command history table (i.e. time dependency) to determine if the access is part of a currently tracked sequential stream or a new one. Fig. 4, ¶26, the active stream table also include a last modified indication 412 (i.e. time dependency). In regards to claim 16, Palmer teaches wherein the method is performed by a storage system having the volume. ( ¶16, 19, fig. 1 teaches memory subsystem 110 (storage system) which can be an SSD (physical volume) has a controller that performs the readahead management functions. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to JASON W BLUST whose telephone number is (571)272-6302. The examiner can normally be reached 12-8:30 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, Hosain Alam can be reached at (571) 272-3978. 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. /JASON W BLUST/Primary Examiner, Art Unit 2132 Application/Control Number: 17/870,606 Page 2 Art Unit: 2132 Application/Control Number: 17/870,606 Page 3 Art Unit: 2132 Application/Control Number: 17/870,606 Page 4 Art Unit: 2132 Application/Control Number: 17/870,606 Page 5 Art Unit: 2132 Application/Control Number: 17/870,606 Page 6 Art Unit: 2132 Application/Control Number: 17/870,606 Page 7 Art Unit: 2132 Application/Control Number: 17/870,606 Page 8 Art Unit: 2132 Application/Control Number: 17/870,606 Page 9 Art Unit: 2132 Application/Control Number: 17/870,606 Page 10 Art Unit: 2132 Application/Control Number: 17/870,606 Page 11 Art Unit: 2132 Application/Control Number: 17/870,606 Page 12 Art Unit: 2132 Application/Control Number: 17/870,606 Page 13 Art Unit: 2132
Read full office action

Prosecution Timeline

Show 4 earlier events
Dec 15, 2025
Applicant Interview (Telephonic)
Dec 16, 2025
Examiner Interview Summary
Dec 17, 2025
Response Filed
Mar 05, 2026
Final Rejection mailed — §101, §103
May 05, 2026
Response after Non-Final Action
Jun 05, 2026
Request for Continued Examination
Jun 08, 2026
Response after Non-Final Action
Jun 18, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12656958
Conflict Avoidance for Bank-Shared Circuitry that supports Usage-Based Disturbance Mitigation
2y 2m to grant Granted Jun 16, 2026
Patent 12596485
HOST DEVICE GENERATING BLOCK MAP INFORMATION, METHOD OF OPERATING THE SAME, AND METHOD OF OPERATING ELECTRONIC DEVICE INCLUDING THE SAME
2y 2m to grant Granted Apr 07, 2026
Patent 12554417
DISTRIBUTED DATA STORAGE CONTROL METHOD, READABLE MEDIUM, AND ELECTRONIC DEVICE
1y 3m to grant Granted Feb 17, 2026
Patent 12535954
STORAGE DEVICE AND OPERATING METHOD THEREOF
1y 2m to grant Granted Jan 27, 2026
Patent 12530120
Maximizing Data Migration Bandwidth
2y 5m to grant Granted Jan 20, 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
79%
Grant Probability
95%
With Interview (+16.2%)
2y 4m (~0m remaining)
Median Time to Grant
High
PTA Risk
Based on 283 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