Office Action Predictor
Last updated: April 15, 2026
Application No. 18/197,628

PROCESSOR-BASED STORAGE ALLOCATION

Non-Final OA §103
Filed
May 15, 2023
Examiner
WARREN, TRACY A
Art Unit
2137
Tech Center
2100 — Computer Architecture & Software
Assignee
Nvidia Corporation
OA Round
4 (Non-Final)
82%
Grant Probability
Favorable
4-5
OA Rounds
2y 5m
To Grant
89%
With Interview

Examiner Intelligence

Grants 82% — above average
82%
Career Allow Rate
344 granted / 422 resolved
+26.5% vs TC avg
Moderate +8% lift
Without
With
+7.6%
Interview Lift
resolved cases with interview
Typical timeline
2y 5m
Avg Prosecution
22 currently pending
Career history
444
Total Applications
across all art units

Statute-Specific Performance

§101
6.0%
-34.0% vs TC avg
§103
49.0%
+9.0% vs TC avg
§102
17.7%
-22.3% vs TC avg
§112
19.3%
-20.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 422 resolved cases

Office Action

§103
NON-FINAL REJECTION DETAILED ACTION 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 November 3, 2025 has been entered. Response to Amendment The Amendment filed November 3, 2025 has been entered. Claims remain 1-23 pending in the application. Applicant's amendments to the claims have overcome the 35 U.S.C. 102(a)(1) rejections previously set forth in the Final Office Action mailed July 3, 2025. Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claim Rejections - 35 USC § 103 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 (i.e., changing from AIA to pre-AIA ) 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. 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-14, and 16-20 are rejected under 35 U.S.C. 103 as being unpatentable over Foley et al. (US 11,868,612) and Balasubramanian (US 2010/0030931). Regarding claim 1, Foley et al. disclose: A processor comprising: one or more circuits to (FIG. 1 Storage Processor 114A…114B; Col 8, lines 6-10: The two storage processors 114A, 114B (also referred to herein as “SP”) may control the operation of the data storage system 12. The processors may be configured to process requests as may be received from the hosts): cause a first quantity of processors from a second quantity (FIG. 1 Host/Server 14a…14n; FIG. 5; Col 11, lines 53-65) of processors to perform one or more portions of one or more computer programs (Col 1, lines 61-62: Disk arrays are typically used to provide storage space for one or more computer…applications (i.e. computer programs), and the like), the second quantity greater than the first quantity (Col 6, lines 20-24: Each of the host computer systems may perform different types of data operations in accordance with different types of tasks. In the embodiment of FIG. 1, any one of the host computers 14a-14n may issue a data request to the data storage systems 12 to perform a data operation); and cause an amount of storage to be allocated one or more computer programs (Col 5, lines 26-29: the N servers or hosts 14a 14n may access the data storage systems 12, for example, in performing input/output (I/O) operations, data requests, and other operations; Col 5, lines 53-55: The processors included in the host computer systems 14a-14n and management system 16 may be any one of a variety of proprietary or commercially available single or multi-processor system; Col 6, lines 20-24; Col 10, lines 46-56: host 14 sends an I/O request through HBA 112 to data storage system 12. Based on the I/O request, data storage system 12 sends corresponding data requests to disk drives…RAID logic component 150 receives a request from a client such as mapping logic component 160 to determine the amount of storage resources required to perform a storage operation)… Foley et al. do not appear to explicitly teach “based, at least in part, on a proportion of the first quantity of processors with respect to the second quantity of processors.” However, Balasubramanian discloses: based, at least in part, on a proportion of the first quantity of processors with respect to the second quantity of processors (FIG. 2; [0018] process 200 of the storage coordinator 103 proportionally sharing access to the storage shares among a plurality of IO requests received from the one or more hosts 102…If scheduling storage share is enabled, allocate IO ranking value when mapping storage shares (or volumes) to hosts 202. When an IO frame has been sent by a host 203, determine whether the IO ranking of the IO frame is highest among all of the IO attached hosts that have sent IO frames 204. If the IO ranking of the IO frame is highest among all of the IO attached hosts that have sent IO frames 204, propagate the IO stream with appropriate tagged priority 205. Then, clear the IO buffer 206 and IO delivery 207 is complete. If the IO ranking of the IO frame is not highest among all of the IO attached hosts that have sent IO frames 204, schedule the IO based on priority ranking of the other hosts that have sent IO frames and when bandwidth is available 208). Foley et al. and Balasubramanian are analogous art because Foley et al. teach management of storage operations in a storage system and Balasubramanian teaches allocating proportional storage. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of Foley et al. and Balasubramanian before him/her, to modify the teachings of Foley et al. with Balasubramanian’s teachings of allocating proportional storage because doing so would eliminate resource contention conditions that may occur in traditional storage systems when a multitude of hosts are attached to the storage system (Balasubramanian [0006]). Regarding claim 2, Foley et al. further disclose: The processor of claim 1, wherein the allocated storage is a logical volume partition that is accessible to the one or more computer programs (Col 7, line 12-21: The host systems may not address the disk drives of the storage systems directly, but rather access to data may be provided to one or more host systems from what the host systems view as a plurality of logical devices or logical volumes (LVs). The LVs may or may not correspond to the actual disk drives. For example, one or more LVs may reside on a single physical disk drive. Data in a single storage system may be accessed by multiple hosts allowing the hosts to share the data residing therein). Regarding claim 4, Foley et al. further disclose: The processor of claim 1, wherein: the amount of storage to be allocated to the one or more computer programs is further based at least in part on an amount of available storage (Col 11, lines 46-52: Upon determining that the storage resources received for performing a storage operation is not in accordance with the type of storage operation and the amount of the storage resources required for completing the storage operation, RAID logic 150 may reject the storage operation by returning an error message) and an amount of available processors in a cluster of processors (FIG. 1 Host/Server 14a…14n; the availability of the hosts is not be expressly precluded); and the cluster of processors having the second quantity and including the first quantity of processors to perform the one or more portions of the one or more computer programs (FIG. 1 Host/Server 14a…14n). Regarding claim 5, Foley et al. further disclose: The processor of claim 4, wherein the amount of available storage is of a disk storage that is local with respect to the cluster (Col 5, lines 63-65: Each of the host computers 14a-14n, the management system 16 and data storage systems may all be located at the same physical site). Regarding claim 6, Foley et al. further disclose: The processor of claim 5, wherein the amount of available storage is an amount of the disk storage that is not partitioned (FIG. 5 step 404 Based on the determination, allocate the storage resources; the allocation occurs after the request to determination of the amount of storage resources required to perform a storage operation, step 400). Regarding claim 7, Foley et al. further disclose: The processor of claim 4, wherein the amount of processors is a total amount of processors of the cluster that are available (FIG. 1 Host/Server 14a…14n; the availability of the hosts is not be expressly precluded). Regarding claim 8, Foley et al. disclose: A computer-implemented method, comprising: allocating an amount of storage to store data to be used by one or more computer programs (It is noted that the phrase “to be used by” defines the purpose that is served by allocating an amount of data. There are no further limitations relating to how the data is used by the one or more computer programs. Therefore, the phrase is merely a statement of intended use and is not given patentable weight; Col 1, lines 61-62: Disk arrays are typically used to provide storage space for one or more computer…applications (i.e. computer programs), and the like)…to perform the one or more computer programs (Col 5, lines 26-29: the N servers or hosts 14a 14n may access the data storage systems 12, for example, in performing input/output (I/O) operations, data requests, and other operations; Col 5, lines 53-55: The processors included in the host computer systems 14a-14n and management system 16 may be any one of a variety of proprietary or commercially available single or multi-processor system; Col 6, lines 20-24: Each of the host computer systems may perform different types of data operations in accordance with different types of tasks. In the embodiment of FIG. 1, any one of the host computers 14a-14n may issue a data request to the data storage systems 12 to perform a data operation; Col 10, lines 46-56: host 14 sends an I/O request through HBA 112 to data storage system 12. Based on the I/O request, data storage system 12 sends corresponding data requests to disk drives…RAID logic component 150 receives a request from a client such as mapping logic component 160 to determine the amount of storage resources required to perform a storage operation)…a second quantity of processors including one or more processors in addition to the first quantity of processors (Col 6, lines 20-24). Foley et al. do not appear to explicitly teach “based, at least in part, on a proportion of a first quantity processors …with respect to a second quantity of processors.” However, Balasubramanian discloses: based, at least in part, on a proportion of a first quantity processors …with respect to a second quantity of processors (FIG. 2; [0018] process 200 of the storage coordinator 103 proportionally sharing access to the storage shares among a plurality of IO requests received from the one or more hosts 102…If scheduling storage share is enabled, allocate IO ranking value when mapping storage shares (or volumes) to hosts 202. When an IO frame has been sent by a host 203, determine whether the IO ranking of the IO frame is highest among all of the IO attached hosts that have sent IO frames 204. If the IO ranking of the IO frame is highest among all of the IO attached hosts that have sent IO frames 204, propagate the IO stream with appropriate tagged priority 205. Then, clear the IO buffer 206 and IO delivery 207 is complete. If the IO ranking of the IO frame is not highest among all of the IO attached hosts that have sent IO frames 204, schedule the IO based on priority ranking of the other hosts that have sent IO frames and when bandwidth is available 208). The motivation for combining is based on the same rational presented for rejection of independent claim 1. Regarding claim 9, Foley et al. further disclose: The computer-implemented method of claim 8, wherein the amount of storage to store data to be allocated is further based at least in part, on an amount of available storage on a storage that is shared (FIG. 1 Data Storage System 12) by the second quantity of processors including the first quantity of processors of the subset of processors to perform the one or more computer programs (Col 11, lines 46-52: Upon determining that the storage resources received for performing a storage operation is not in accordance with the type of storage operation and the amount of the storage resources required for completing the storage operation, RAID logic 150 may reject the storage operation by returning an error message; FIG. 1 Host/Server 14a…14n; the availability of the hosts is not be expressly precluded). Regarding claim 10, Foley et al. further disclose: The computer-implemented method of claim 8, wherein the amount of storage to store data to be allocated is further based at least in part, on an amount of available processors in a cluster of processors, wherein the amount of available processors is the second quantity of processors (Col 11, lines 46-52: Upon determining that the storage resources received for performing a storage operation is not in accordance with the type of storage operation and the amount of the storage resources required for completing the storage operation, RAID logic 150 may reject the storage operation by returning an error message; FIG. 1 Host/Server 14a…14n; the availability of the hosts is not be expressly precluded). Regarding claim 11, Foley et al. further disclose: The computer-implemented method of claim 10, wherein the cluster of processors includes the first quantity of processors to perform the one or more computer programs (FIG. 1 Host/Server 14a…14n). Regarding claim 12, Foley et al. further disclose: The computer-implemented method of claim 11, wherein the amount of storage to store data to be allocated is stored in a logical volume of a storage (Col 7, line 12-21: The host systems may not address the disk drives of the storage systems directly, but rather access to data may be provided to one or more host systems from what the host systems view as a plurality of logical devices or logical volumes (LVs). The LVs may or may not correspond to the actual disk drives. For example, one or more LVs may reside on a single physical disk drive. Data in a single storage system may be accessed by multiple hosts allowing the hosts to share the data residing therein). Regarding claim 13, Foley et al. further disclose: The computer-implemented method of claim 12, wherein the storage is local with respect to the cluster (Col 5, lines 63-65: Each of the host computers 14a-14n, the management system 16 and data storage systems may all be located at the same physical site). Regarding claim 14, Foley et al. further disclose: The computer-implemented method of claim 12, wherein the storage is a disk storage (FIG. 1 storage devices 17a…17n; Col 2, line 40: a RAID system is an array of multiple disk drives; Col 6, lines 45-49: one or more data storage devices 17a-17n. Unless noted otherwise, data storage devices may be used interchangeably herein to refer to hard disk drive, solid state drives, and/or other known storage devices). Regarding claim 16, Foley et al. further disclose: The computer-implemented method of claim 9, wherein the amount of available storage is an amount of disk storage that is available to be partitioned (FIG. 5 step 404 Based on the determination, allocate the storage resources; the allocation occurs after the request to determination of the amount of storage resources required to perform a storage operation, step 400). Regarding claim 17, Foley et al. disclose: A system comprising: one or more processors to: cause a first quantity of processors from a second quantity of processors to perform one or more portions of one or more computer programs (FIG. 1 Host/Server 14a…14n; FIG. 5; Col 11, lines 53-65) of processors to perform one or more portions of one or more computer programs (Col 1, lines 61-62: Disk arrays are typically used to provide storage space for one or more computer…applications (i.e. computer programs), and the like), the second quantity greater than the first quantity (Col 6, lines 20-24: Each of the host computer systems may perform different types of data operations in accordance with different types of tasks. In the embodiment of FIG. 1, any one of the host computers 14a-14n may issue a data request to the data storage systems 12 to perform a data operation); and cause an amount of storage to be allocated to the one or more computer programs (Col 5, lines 26-29: the N servers or hosts 14a 14n may access the data storage systems 12, for example, in performing input/output (I/O) operations, data requests, and other operations; Col 5, lines 53-55: The processors included in the host computer systems 14a-14n and management system 16 may be any one of a variety of proprietary or commercially available single or multi-processor system; Col 6, lines 20-24; Col 10, lines 46-56: host 14 sends an I/O request through HBA 112 to data storage system 12. Based on the I/O request, data storage system 12 sends corresponding data requests to disk drives…RAID logic component 150 receives a request from a client such as mapping logic component 160 to determine the amount of storage resources required to perform a storage operation)… Foley et al. do not appear to explicitly teach “based, at least in part, on a proportion of the first quantity of processors with respect to the second quantity of processors.” However, Balasubramanian discloses: based, at least in part, on a proportion of the first quantity of processors with respect to the second quantity of processors (FIG. 2; [0018] process 200 of the storage coordinator 103 proportionally sharing access to the storage shares among a plurality of IO requests received from the one or more hosts 102…If scheduling storage share is enabled, allocate IO ranking value when mapping storage shares (or volumes) to hosts 202. When an IO frame has been sent by a host 203, determine whether the IO ranking of the IO frame is highest among all of the IO attached hosts that have sent IO frames 204. If the IO ranking of the IO frame is highest among all of the IO attached hosts that have sent IO frames 204, propagate the IO stream with appropriate tagged priority 205. Then, clear the IO buffer 206 and IO delivery 207 is complete. If the IO ranking of the IO frame is not highest among all of the IO attached hosts that have sent IO frames 204, schedule the IO based on priority ranking of the other hosts that have sent IO frames and when bandwidth is available 208). The motivation for combining is based on the same rational presented for rejection of independent claim 1. Regarding claim 18, Foley et al. further disclose: The system of claim 17, wherein: the amount of storage to be allocated to store data to be used by one or more computer programs is further based at least in part on an amount of available processors in a cluster of processors (FIG. 1 Host/Server 14a…14n; the availability of the hosts is not be expressly precluded); and the cluster of processors is the second quantity of processors (FIG. 1 Host/Server 14a…14n). Regarding claim 19, Foley et al. further disclose: The system of claim 18, wherein the amount of available processors in a cluster of processors is to be determined based at least in part on a total amount of processors of the cluster (FIG. 1 Host/Server 14a…14n; the availability of the hosts is not be expressly precluded). Regarding claim 20, Foley et al. further disclose: The system of claim 17, wherein the amount of storage to be allocated to store data to be used by one or more computer programs is further based at least in part on an amount of available storage (Col 11, lines 46-52: Upon determining that the storage resources received for performing a storage operation is not in accordance with the type of storage operation and the amount of the storage resources required for completing the storage operation, RAID logic 150 may reject the storage operation by returning an error message). Claims 3, 15, and 21-22 are rejected under 35 U.S.C. 103 as being unpatentable over Foley et al. and Balasubramanian as applied to claim 1 above, and further in view of Kong et al. (US 2022/0067570). Regarding claim 3, Foley et al. and Balasubramanian do not appear to explicitly teach while Kong et al. disclose: The processor of claim 1, wherein the data is training data, and the one or more computer programs is to train a neural network using the training data (FIG. 1 Training data 111; [0054] the neural network 200 may be trained using the training data 111). Foley et al., Balasubramanian, and Kong et al. are analogous art because Foley et al. teach management of storage operations in a storage system; Balasubramanian teaches allocating proportional storage; and Kong et al. teach training machine learning models with training data stored in a storage system. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of Foley et al., Balasubramanian, and Kong et al. before him/her, to modify the combined teachings of Foley et al. and Balasubramanian with the teachings of Kong et al. to use training data to train a neural network because such a modification would have amounted to little more than combining “familiar elements according to known methods” and would have been obvious because it would have done “no more than yield predictable results.” (MPEP 2143 I.A.) The combination would enable the data stored in the Foley et al. system to be used to train a neural network. Regarding claim 15, Foley et al. and Balasubramanian do not appear to explicitly teach while Kong et al. disclose: The computer-implemented method of claim 12, wherein the data is training data, and the one or more computer programs is to train a neural network using the training data (FIG. 1 Training data 111; [0054] the neural network 200 may be trained using the training data 111). The motivation for combining is based on the same rational presented for rejection of claim 3. Regarding claim 21, Foley et al. and Balasubramanian do not appear to explicitly teach while Kong et al. disclose: The system of claim 17, wherein the data is training data, and the one or more computer programs is to train a neural network using the training data (FIG. 1 Training data 111; [0054] the neural network 200 may be trained using the training data 111). The motivation for combining is based on the same rational presented for rejection of claim 3. Regarding claim 22, Foley et al. further disclose: The system of claim 21, wherein the allocated storage is a logical volume partition that is accessible to the one or more computer programs (Col 7, line 12-21: The host systems may not address the disk drives of the storage systems directly, but rather access to data may be provided to one or more host systems from what the host systems view as a plurality of logical devices or logical volumes (LVs). The LVs may or may not correspond to the actual disk drives. For example, one or more LVs may reside on a single physical disk drive. Data in a single storage system may be accessed by multiple hosts allowing the hosts to share the data residing therein). Claim 23 is rejected under 35 U.S.C. 103 as being unpatentable over Foley et al. and Balasubramanian as applied to claim 1 above, and further in view of Kong et al. as applied to claim 22 above, and further in view of Cashman et al. (US 2022/0035556). Regarding claim 23, Kong et al. further disclose: The system of claim 22, further comprising deleting…as a result of a determination that a process performed by one or more computer programs to train the neural network has ended ([0014] After the machine learning model is trained using the training data, the training environment may delete the training data). Foley et al., Balasubramanian, and Kong et al. do not appear to explicitly teach “deleting the logical volume partition.” However, Cashman et al. disclose: deleting the logical volume partition (FIG. 4; [0004] The motivation for permanently deleting data may vary; [0006] In a modern storage subsystem that provides virtualization of physical storage, volumes typically make use of regions of the physical storage for the purposes of allocating that physical storage to a volume that is then presented to a host system. In such a system, deletion of the volume would free up the allocated physical storage ready for reuse at a later stage) Foley et al., Balasubramanian, Kong et al., and Cashman et al. are analogous art because Foley et al. teach management of storage operations in a storage system; Balasubramanian teaches allocating proportional storage; Kong et al. teach training machine learning models with training data stored in a storage system; and Cashman et al. teach data storage management. Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of Foley et al., Balasubramanian, Kong et al., and Cashman et al. before him/her, to modify the combined teachings of Foley et al., Balasubramanian, and Kong et al. with the teachings of Cashman et al. because deleting a logical volume when neural network training is complete would free up the allocated physical storage for reuse by other processes (Cashman et al. [0006]). Response to Arguments Applicant’s arguments, filed November 3, 2025, with respect to the rejection of claims have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground of rejection is made in view of Foley et al. and Balasubramanian. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to TRACY A WARREN whose telephone number is (571)270-7288. The examiner can normally be reached M-Th 7:30am-5pm, Alternate F. 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 P. Savla can be reached at 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. /TRACY A WARREN/Primary Examiner, Art Unit 2137
Read full office action

Prosecution Timeline

May 15, 2023
Application Filed
Jun 07, 2024
Non-Final Rejection — §103
Oct 15, 2024
Response Filed
Jan 02, 2025
Final Rejection — §103
Jun 06, 2025
Request for Continued Examination
Jun 11, 2025
Response after Non-Final Action
Jul 02, 2025
Final Rejection — §103
Oct 03, 2025
Response after Non-Final Action
Nov 03, 2025
Request for Continued Examination
Nov 12, 2025
Response after Non-Final Action
Dec 01, 2025
Non-Final Rejection — §103
Apr 03, 2026
Response Filed

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12578855
REMOTE POOLED MEMORY DEVICE
2y 5m to grant Granted Mar 17, 2026
Patent 12578887
BOOT PROCESS TO IMPROVE DATA RETENTION IN MEMORY DEVICES
2y 5m to grant Granted Mar 17, 2026
Patent 12572312
MEMORY DEVICE OPERATION BASED ON DEVICE CHARACTERISTICS
2y 5m to grant Granted Mar 10, 2026
Patent 12572306
VERIFYING CHUNKS OF DATA BASED ON READ-VERIFY COMMANDS
2y 5m to grant Granted Mar 10, 2026
Patent 12572286
REDUCING ENERGY COMSUMPTION OF SELF-MANAGED DRAM MODULES
2y 5m to grant Granted Mar 10, 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

4-5
Expected OA Rounds
82%
Grant Probability
89%
With Interview (+7.6%)
2y 5m
Median Time to Grant
High
PTA Risk
Based on 422 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in for Full Analysis

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

Free tier: 3 strategy analyses per month