Prosecution Insights
Last updated: April 19, 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

Final Rejection §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
2 (Final)
79%
Grant Probability
Favorable
3-4
OA Rounds
2y 3m
To Grant
96%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allow Rate
220 granted / 277 resolved
+24.4% vs TC avg
Strong +16% interview lift
Without
With
+16.2%
Interview Lift
resolved cases with interview
Typical timeline
2y 3m
Avg Prosecution
24 currently pending
Career history
301
Total Applications
across all art units

Statute-Specific Performance

§101
6.6%
-33.4% vs TC avg
§103
46.2%
+6.2% vs TC avg
§102
23.8%
-16.2% vs TC avg
§112
13.4%
-26.6% vs TC avg
Black line = Tech Center average estimate • Based on career data from 277 resolved cases

Office Action

§103
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 Objections Claim 10 is objected to because of the following informalities: the last two lines of the claim appear to have typos corresponding to the “I/O”. Appropriate correction is required. 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-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 a time dependency corresponding to accesses of blocks of the volume and locations of the accessed blocks. (¶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). Palmer 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 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. 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 a plurality of sequential input/output (I/0) workloads in an I/0 stream of superimposed workloads accessing a same volume, the detecting being based on a time dependency corresponding to accesses of blocks of 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). ¶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). Palmer may not explicitly teach calculating a sequentiality factor 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 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 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 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
Read full office action

Prosecution Timeline

Jul 21, 2022
Application Filed
Oct 31, 2023
Response after Non-Final Action
Sep 13, 2025
Non-Final Rejection — §103
Dec 06, 2025
Interview Requested
Dec 15, 2025
Applicant Interview (Telephonic)
Dec 16, 2025
Examiner Interview Summary
Dec 17, 2025
Response Filed
Mar 02, 2026
Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12596485
HOST DEVICE GENERATING BLOCK MAP INFORMATION, METHOD OF OPERATING THE SAME, AND METHOD OF OPERATING ELECTRONIC DEVICE INCLUDING THE SAME
2y 5m to grant Granted Apr 07, 2026
Patent 12554417
DISTRIBUTED DATA STORAGE CONTROL METHOD, READABLE MEDIUM, AND ELECTRONIC DEVICE
2y 5m to grant Granted Feb 17, 2026
Patent 12535954
STORAGE DEVICE AND OPERATING METHOD THEREOF
2y 5m to grant Granted Jan 27, 2026
Patent 12530120
Maximizing Data Migration Bandwidth
2y 5m to grant Granted Jan 20, 2026
Patent 12530118
DATA PROCESSING METHOD AND RELATED DEVICE
2y 5m to grant Granted Jan 20, 2026
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
79%
Grant Probability
96%
With Interview (+16.2%)
2y 3m
Median Time to Grant
Moderate
PTA Risk
Based on 277 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