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 .
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 Gordon (US 11,074,173) and further in view of “Adaptive resource provisioning method using application-aware machine learning based on job history in heterogeneous infrastructures.” Henceforth referred to as Choi et al.
Consider claim 1, Gordon et al. in view of Choi et al. discloses a method of over-provisioning a storage drive, the method comprising: receiving a service request identifying a service that requires the storage drive; generating, using a service model trained using historical service requests, a predicted write profile comprising a predicted write usage for the service; generating, using a drive model, a predicted performance for the storage drive based on the predicted write profile and one or more attributes of the storage drive; determining over-provisioning amount for the storage drive based on a relationship between the predicted write profile and the predicted performance for the storage drive; initializing the storage drive to operate using the over-provisioning amount; and causing the storage drive to perform the service using the over-provisioning amount (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a dynamically over-provisioned storage space that uses machine learning models that are trained to set the correct amount of over-provisioning for the memory system based on desired outcomes/memory performance. Both performance parameters and system inherent parameters are used to dynamically alter the over-provisioning. Gordon et al. also discloses applications (services) and performing functions at the application level, but Gordon et al. does not explicitly state that the ML models are being modeled per application however, Choi et al. does teach this feature. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
It would have been obvious to a person of ordinary skill in the art at the time the invention was made to modify the Machine learning models of Gordon et al. to be tailored to services (applications/jobs) because doing so can gratify user requests regarding its applications and enhance resource usage effectiveness (Choi et al.: end of abstract.).
Consider claim 2, Gordon et al. in view of Choi et al. discloses the method of claim 1, further comprising: accessing historical data associating a plurality of historical services with a plurality of historical write profiles, wherein each historical write profile of the plurality of historical write profiles comprises a frequency of host writes of a historical service; and training the service model to generate predicted write profiles for services based on the historical data (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a plurality of machine learning models that are trained on memory access (history) such as read and write access rates. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 3, Gordon et al. in view of Choi et al. discloses the method of claim 1, wherein determining the over-provisioning amount further comprises: generating a plurality of predicted write-amplification amounts corresponding to respective over-provisioning amounts; and selecting the over-provisioning amount based on comparing the predicted write profile and the plurality of predicted write-amplification amounts to a specified endurance rating for the storage drive (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a dynamically over-provisioned storage space that uses machine learning models that are trained to set the correct amount of over-provisioning for the memory system based on desired outcomes/memory performance. Both performance parameters, such as write amplification, and system inherent parameters, such as endurance, are used to dynamically alter the over-provisioning.).
Consider claim 4, Gordon et al. in view of Choi et al. discloses the method of claim 1, further comprising: generating a measured write profile by monitoring write operations of the service while the storage drive performs the service; determining an updated over-provisioning amount based on the measured write profile; initializing an additional storage drive to operate using the updated over- provisioning amount; relocating the service to the additional storage drive; and causing the additional storage drive to perform the service using the updated over-provisioning amount (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a dynamically over-provisioned storage space that uses machine learning models that are trained to set the correct amount of over-provisioning for the memory system based on desired outcomes/memory performance. The machine learning models are trained on the data and are used to dynamically modify the overprovisioning. An application may use more than one storage device therefore multiple storage drives and be dynamically updated based on system behavior. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 5, Gordon et al. in view of Choi et al. discloses the method of claim 1, further comprising: determining that the service ended; receiving an additional service request identifying an additional service; generating, using the service model, an additional predicted write profile for the additional service; determining an updated over-provisioning amount based on the additional predicted write profile; initializing the storage drive to operate using the updated over-provisioning amount; and causing the storage drive to perform the additional service using the updated over-provisioning amount (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses multiple applications and multiple ML models. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 6, Gordon et al. in view of Choi et al. discloses the method of claim 1, further comprising: selecting the storage drive from a plurality of storage drives based on comparing the predicted write profile and a remaining life for each storage drive of the plurality of storage drives (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses that life expectancy and machine learning models are used.).
Consider claim 7, Gordon et al. in view of Choi et al. discloses the method of claim 1, further comprising: accessing a measured write profile of the storage drive; generating, using an aging model, a predicted end of life for the storage drive based on the measured write profile and the one or more attributes of the storage drive; and based on the storage drive satisfying the predicted end of life for the storage drive, discontinuing use of the storage drive (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a dynamically over-provisioned storage space that uses machine learning models that are trained to set the correct amount of over-provisioning for the memory system based on desired outcomes/memory performance. Both performance parameters and system inherent parameters are used to dynamically alter the over-provisioning. Life expectancy is considered. The system can set a minimum target endurance for a drive to be selected. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 8, Gordon et al. in view of Choi et al. discloses a computing system comprising: one or more processors; and a memory storing instructions that, when executed by the one or more processors, cause the computing system to: receive a service request identifying a service that requires a storage drive; generate, using a service model trained using historical service requests, a predicted write profile for the service; generate, using a drive model, a predicted performance for the storage drive based on the predicted write profile and one or more attributes of the storage drive; determine an over-provisioning amount based on a relationship between the predicted write profile and the predicted performance of the storage drive; initialize the storage drive to operate using the over- provisioning amount; and cause the storage drive to perform the service using the over- provisioning amount (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a dynamically over-provisioned storage space that uses machine learning models that are trained to set the correct amount of over-provisioning for the memory system based on desired outcomes/memory performance. Both performance parameters and system inherent parameters are used to dynamically alter the over-provisioning. Gordon et al. also discloses applications (services) and performing functions at the application level, but Gordon et al. does not explicitly state that the ML models are being modeled per application however, Choi et al. does teach this feature. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
It would have been obvious to a person of ordinary skill in the art at the time the invention was made to modify the Machine learning models of Gordon et al. to be tailored to services (applications/jobs) because doing so can gratify user requests regarding its applications and enhance resource usage effectiveness (Choi et al.: end of abstract.).
Consider claim 9, Gordon et al. in view of Choi et al. discloses the computing system of claim 8, further comprising instructions that, when executed by the one or more processors, cause the computing system to: determine the over-provisioning amount based on a specified endurance rating for the storage drive; monitor whether the storage drive, when performing the service, deviates from the specified endurance rating; and based on determining that the storage drive deviates from the specified endurance rating, modifying the over-provisioning amount (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a dynamically over-provisioned storage space that uses machine learning models that are trained to set the correct amount of over-provisioning for the memory system based on desired outcomes/memory performance. Both performance parameters and system inherent parameters are used to dynamically alter the over-provisioning. Life expectancy is considered. The system can set a minimum target endurance for a drive to be selected. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 10, Gordon et al. in view of Choi et al. discloses the computing system of claim 8, further comprising instructions that, when executed by the one or more processors, cause the computing system to determine the over-provisioning amount based on the predicted write profile and an endurance specification for the storage drive (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a dynamically over-provisioned storage space that uses machine learning models that are trained to set the correct amount of over-provisioning for the memory system based on desired outcomes/memory performance. Both performance parameters and system inherent parameters are used to dynamically alter the over-provisioning. Life expectancy is considered. The system can set a minimum target endurance for a drive to be selected. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 11, Gordon et al. in view of Choi et al. discloses the computing system of claim 8, further comprising instructions that, when executed by the one or more processors, cause the computing system to: assign an additional service to the storage drive, the additional service corresponding to an additional predicted write profile; determine an updated over-provisioning amount using the additional predicted write profile and write specifications of the storage drive; reinitialize the storage drive to operate using the updated over-provisioning amount; and cause the storage drive to perform the additional service using the updated over-provisioning amount (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses multiple applications and multiple ML models. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 12, Gordon et al. in view of Choi et al. discloses the computing system of claim 11, further comprising instructions that, when executed by the one or more processors, cause the computing system to cause the storage drive to perform the additional service based on a difference between a measured write usage for the service and an additional predicted write usage corresponding to the additional predicted write profile (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses multiple applications and multiple ML models. Write access rates are used to adjust over-provisioning. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 13, Gordon et al. in view of Choi et al. discloses the computing system of claim 11, further comprising instructions that, when executed by the one or more processors, cause the computing system to cause the storage drive to perform the additional service based on the additional predicted write profile, the updated over-provisioning amount, and a specified endurance rating of the storage drive (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses multiple applications and multiple ML models. Write access rates are used to adjust over-provisioning. Life expectancy is considered. The system can set a minimum target endurance for a drive to be selected. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 14, Gordon et al. in view of Choi et al. discloses the computing system of claim 8, further comprising instructions that, when executed by the one or more processors, cause the computing system to: determine whether a measured write profile of the service deviates from the predicted write profile by more than a predefined threshold; based on determining that the measured write profile of the service deviates from the predicted write profile by more than a predefined threshold, determine an updated over- provisioning amount based on the measured write profile; initialize an additional storage drive to operate using the updated amount of over- provisioning amount; relocate the service to the additional storage drive; and cause the additional storage drive to perform the service using the updated over-provisioning amount (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a dynamically over-provisioned storage space that uses machine learning models that are trained to set the correct amount of over-provisioning for the memory system based on desired outcomes/memory performance. The machine learning models are trained on the data and are used to dynamically modify the overprovisioning. An application may use more than one storage device therefore multiple storage drives and be dynamically updated based on system behavior. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 15, Gordon et al. in view of Choi et al. discloses a non-transitory computer-readable medium, storing instructions that, when executed by at least one, cause a computing system to: receive a request identifying a service that requires a storage drive; determine, based on a relationship between a predicted write profile for the service and a predicted performance for the storage drive, an over-provisioning amount for the storage drive when performing the service; cause the storage drive to perform the service using the over-provisioning amount; generating a measured write profile by monitoring write operations of the service while the storage drive performs the service; and based on determining that the measured write profile deviates from the predicted write profile, modify the over-provisioning amount (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a dynamically over-provisioned storage space that uses machine learning models that are trained to set the correct amount of over-provisioning for the memory system based on desired outcomes/memory performance. Both performance parameters and system inherent parameters are used to dynamically alter the over-provisioning. Gordon et al. also discloses applications (services) and performing functions at the application level, but Gordon et al. does not explicitly state that the ML models are being modeled per application however, Choi et al. does teach this feature. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
It would have been obvious to a person of ordinary skill in the art at the time the invention was made to modify the Machine learning models of Gordon et al. to be tailored to services (applications/jobs) because doing so can gratify user requests regarding its applications and enhance resource usage effectiveness (Choi et al.: end of abstract.).
Consider claim 16, Gordon et al. in view of Choi et al. discloses the non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the computing system to: generate, using a service model, a predicted write profile for the service and determine the over-provisioning amount based on a specified endurance rating of the storage drive and the predicted write profile (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses multiple applications and multiple ML models. Write access rates are used to adjust over-provisioning. Life expectancy is considered. The system can set a minimum target endurance for a drive to be selected. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 17, Gordon et al. in view of Choi et al. discloses the non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the computing system to: train a service model to generate predicted write profiles using historical data comprising a plurality of service descriptions for a plurality of historical services associated with a plurality of historical write profiles, wherein each historical write profile of the plurality of historical write profiles comprises a frequency of host writes of the plurality of historical services and generate, using the service model, the predicted write profile for the service. (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a plurality of machine learning models that are trained on memory access (history) such as read and write access rates. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 18, Gordon et al. in view of Choi et al. discloses the non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the computing system to: generate a predicted write usage and a predicted write distribution value representing a ratio of random writes to host writes, a ratio of sequential writes to the host writes, a ratio of the sequential writes to the random writes, or a combination thereof generate the predicted write profile based on a service description for the service, the predicted write usage and the predicted write distribution value; and determine the over-provisioning amount based on a predicted write amplification corresponding the over-provisioning amount, the predicted write usage, and the predicted write distribution value (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses a dynamically over-provisioned storage space that uses machine learning models that are trained to set the correct amount of over-provisioning for the memory system based on desired outcomes/memory performance. Both performance parameters and system inherent parameters are used to dynamically alter the over-provisioning. Gordon et al. also discloses applications (services) and performing functions at the application level, a sequential write ratio is used. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 19, Gordon et al. in view of Choi et al. discloses the non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the computing system to: determine the predicted write profile based on a service description for the service; and a predicted write usage, and determine the over-provisioning amount based comparing the predicted write usage to a threshold over-provisioning value (Gordon et al.: abstract, Col. 2 lines 48-53, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses multiple applications and multiple ML models. Minimum write access rates are used to adjust over-provisioning. Choi et al. abstract, introduction, Section 2.1 page 3539 second column last paragraph, Section 2.2 beginning of second paragraph, teaches that provisioning of resources can be performed at an application level by modeling the job (service/application) history using ML models to adjust resource usage per application, adaptively (dynamically).).
Consider claim 20, Gordon et al. in view of Choi et al. discloses the non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the computing system to: determine the over-provisioning amount based on at least one of: a scheduled replacement date for the storage drive, a first tradeoff between predicted write amplification and available storage space on the storage drive, a second tradeoff between predicted write performance and the available storage space on the storage drive, or a third tradeoff between an endurance specification for the storage drive and the available storage space on the storage drive (Gordon et al.: abstract, Col. 2 lines 48-57, Col. 3-4 lines 60-6, Col. 6 lines 5-8 and 50-67, Col. 7 lines 1-16 and 32-43, Col. 27-28 lines 65-57, Col. 29 lines 9-50, Col. 31 lines 3-19, 30-33, Col. 33 lines 19-36, Col. 34 lines 11-15 and 29-33, Col. 35 lines 23-27 and 49-66, Col. 38 lines 48-50 discloses considered performance parameters like number of devices, read/write latencies, write amplification ratios, read access ratios, write access ratios, endurance and storage space.).
Response to Arguments
Applicant's arguments filed 5/13/2026 have been fully considered but they are not persuasive. The applicant argues that Gordon does not teach generating an over-provisioning amount based on various predictions for a service and a storage device as now claimed. However, Gordon teaches using the inherent parameters of the memory plus target performance parameters that are desired to be achieved to set the over-provisioning using machine learning. Choi et al. is introduced to describe that the target performance parameters can be parameters based on the requirements and history of a service/application. Therefore the combination teaches using the storage device properties plus the performance requirements of the particular service/application using machine learning modeling to predict an over-provisioning of resources.
Conclusion
THIS ACTION IS MADE FINAL. 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 MICHAEL ALSIP whose telephone number is (571)270-1182. The examiner can normally be reached M-F 9-5.
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, Reginald G. Bragdon can be reached at (571)272-4204. 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.
/MICHAEL ALSIP/Primary Examiner, Art Unit 2139