Prosecution Insights
Last updated: October 26, 2026
Application No. 19/311,422

METHOD FOR PROLONGING SERVICE LIFE OF STORAGE DRIVE AND RELATED APPARATUS

Non-Final OA §102§103§112
Filed
Aug 27, 2025
Priority
Feb 28, 2023 — CN 202310223534.X +1 more
Examiner
TALUKDAR, ARVIND
Art Unit
Tech Center
Assignee
Huawei Technologies Co., Ltd.
OA Round
1 (Non-Final)
80%
Grant Probability
Favorable
1-2
OA Rounds
1y 7m
Est. Remaining
84%
With Interview

Examiner Intelligence

Grants 80% — above average
80%
Career Allowance Rate
460 granted / 574 resolved
+20.1% vs TC avg
Minimal +4% lift
Without
With
+4.3%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
29 currently pending
Career history
617
Total Applications
across all art units

Statute-Specific Performance

§101
8.2%
-31.8% vs TC avg
§103
53.5%
+13.5% vs TC avg
§102
14.2%
-25.8% vs TC avg
§112
12.9%
-27.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 574 resolved cases

Office Action

§102 §103 §112
DETAILED ACTION Claims 1-20 are pending. Priority: Feb. 28, 2023(FP) Assignee: Huawei 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 § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claim(s) 1-9, 10-18 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claim 1 recites “monitoring a first indicator of the storage drive while the storage drive is at a first level,” but the claim does not previously introduce a storage drive. The preamble recites only “A method, comprising.” Accordingly, “the storage drive” lacks antecedent basis. Because claims 2-9 depend from claim 1, those claims incorporate the same deficiency. Claim 10 introduces “A storage system,” but subsequently recites that the processor is configured to execute instructions “to enable the data storage system to perform operations.” No “data storage system” has previously been introduced. It is therefore unclear whether “the data storage system” is intended to refer to the previously recited “storage system” or to a different system. Because claims 11-18 depend from claim 10, those claims incorporate the same deficiency Claim Rejections - 35 USC § 102 The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claim(s) 1, 5-7, 9, 10, 14-16, 18-19 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Swaminathan et al.(2021/0089226). As per claim 1, Swaminathan discloses: A method, comprising: monitoring a first indicator of the storage drive while the storage drive is at a first level(Swaminathan, [0025 -- controller 115 can track and monitor wear on the storage devices of drive array 120 through storing endurance information for respective storage devices in endurance factor data ], [0045 -- In step 302, wear leveling program 300 monitors endurance factors of each storage device. In one embodiment, wear leveling program 300 tracks counts of usage of storage devices in drive array 130 (e.g., P/E cycles), storing data in endurance factor data], [0049 -- wear leveling program 300 monitors endurance factor information of drives relative to endurance tiers]); and adjusting the storage drive from the first level to a second level when the first indicator does not meet a first condition(Swaminathan, [0049 -- In this example, wear leveling program 300 tracks the real-time endurance factor value to determine if, based on real-time usage information, the endurance factor value of drive 132C drops from Tier B to Tier C (e.g., endurance factor value drops below 50%)], [0051 -- wear leveling program 300 reassigns storage devices to endurance tiers based on updated endurance factor information]), wherein the storage drive has a plurality of levels, the plurality of levels comprise the first level and the second level(Swaminathan, [0027 -- Endurance tiers correspond to levels of remaining endurance (i.e., remining drive life) for storage devices. In example embodiments, controller 115 assigns storage devices to one of: Tier A, Tier B, or Tier C.], [0040 -- tier assignment program 200 assigns each storage device to a respective endurance tier based on the determined endurance factor]), an indicator requirement of the storage drive at the first level is higher than an indicator requirement of the storage drive at the second level(Swaminathan, [0027 -- controller 115 defines the endurance tiers based on a percentage of calculated remaining endurance for a respective drive]), and levels of the storage drive are classified based on indicators of the storage drive(Swaminathan, [0037 -- tier assignment program 200 determines an endurance factor for each storage device], [0040 -- tier assignment program 200 assigns each storage device to a respective endurance tier based on the determined endurance factor.]-[0041 -- controller 115 and endurance factor data 116, controller 115 defines the endurance tiers based on a percentage of calculated remaining endurance for a respective drive], [0053 -- wear leveling program 300 determines updated respective endurance factor values for drive 132A, drive 132B, drive 132C, and drive 132D… Wear leveling program 300 utilizes the determined respective updated endurance factor values to reassign each storage device to the corresponding updated endurance tier]). Claim(s) 5-7, 9 are directed to method steps corresponding the operations implemented by the system of claim(s) 14-16, 18, respectively and therefore the corresponding teachings and citations are incorporated herein. As per claim 10, Swaminathan discloses: A storage system(Swaminathan, [0017 -- computing system 110, communicatively connected to drive array]), comprising: a controller and a storage drive(Swaminathan, [0022 -- Computing system 110 includes controller…controller 115 operates to manage usage of storage devices within drive array]), wherein the controller comprises memory and at least one processor, the memory stores computer program instructions and data, and the at least one processor is configured to execute and invoke the computer program instructions and the data in the memory(Swaminathan, [0059 -- Computer system 400 includes processor(s) 401, cache 403, memory 402, persistent storage 405, communications unit 407, input/output (I/O) interface(s) 406, and communications fabric]-[0062 -- Software and data 410 can be stored in persistent storage 405 for access and/or execution by one or more of the respective processor(s)]), to enable the data storage system to perform operations comprising: monitoring a first indicator of the storage drive while the storage drive is at a first level(Swaminathan, [0025 -- controller 115 can track and monitor wear on the storage devices of drive array 120 through storing endurance information for respective storage devices in endurance factor data ], [0045 -- In step 302, wear leveling program 300 monitors endurance factors of each storage device. In one embodiment, wear leveling program 300 tracks counts of usage of storage devices in drive array 130 (e.g., P/E cycles), storing data in endurance factor data], [0049 -- wear leveling program 300 monitors endurance factor information of drives relative to endurance tiers]); and adjusting the storage drive from the first level to a second level when the first indicator does not meet a first condition(Swaminathan, [0049 -- In this example, wear leveling program 300 tracks the real-time endurance factor value to determine if, based on real-time usage information, the endurance factor value of drive 132C drops from Tier B to Tier C (e.g., endurance factor value drops below 50%)], [0051 -- wear leveling program 300 reassigns storage devices to endurance tiers based on updated endurance factor information]), wherein the storage drive has a plurality of levels, the plurality of levels comprise the first level and the second level(Swaminathan, [0027 -- Endurance tiers correspond to levels of remaining endurance (i.e., remining drive life) for storage devices. In example embodiments, controller 115 assigns storage devices to one of: Tier A, Tier B, or Tier C.], [0040 -- tier assignment program 200 assigns each storage device to a respective endurance tier based on the determined endurance factor]), an indicator requirement of the storage drive at the first level is higher than an indicator requirement of the storage drive at the second level(Swaminathan, [0027 -- controller 115 defines the endurance tiers based on a percentage of calculated remaining endurance for a respective drive]), and levels of the storage drive are classified based on indicators of the storage drive(Swaminathan, [0037 -- tier assignment program 200 determines an endurance factor for each storage device], [0040 -- tier assignment program 200 assigns each storage device to a respective endurance tier based on the determined endurance factor.]-[0041 -- controller 115 and endurance factor data 116, controller 115 defines the endurance tiers based on a percentage of calculated remaining endurance for a respective drive], [0053 -- wear leveling program 300 determines updated respective endurance factor values for drive 132A, drive 132B, drive 132C, and drive 132D… Wear leveling program 300 utilizes the determined respective updated endurance factor values to reassign each storage device to the corresponding updated endurance tier]). As per claim 14, the storage system of Swaminathan recited in claim 10 is incorporated, in addition, Swaminathan discloses: wherein the first indicator comprises a first reliability indicator(Swaminathan, [0039 -- tier assignment program 200 can communicate with a drive controller of the new drive to determine historical usage and endurance factor information associated with the drive.], [0026 -- controller 115 (via tier management program 200 and wear leveling program 300) utilizes endurance factor data (e.g., rated and used P/E cycles, etc.) for drives in drive array), and the first condition comprises: the first reliability indicator falls within a corresponding range of the reliability indicator of the storage drive at the first level(Swaminathan, [0029 -- tier management program 200 assigns storage devices to respective endurance tiers,], [0041 -- controller 115 and endurance factor data 116, controller 115 defines the endurance tiers based on a percentage of calculated remaining endurance for a respective drive (based on data in endurance factor data]). As per claim 15, the storage system of Swaminathan recited in claim 11 is incorporated, in addition, Swaminathan discloses: wherein the first reliability indicator comprises a quantity of bad tracks(Swaminathan, [0039 -- tier assignment program 200 can determine that endurance factor data 116 does not include historical information associated with a drive of drive array 120. In this example embodiment, tier assignment program 200can identify the drive as a new drive and then perform a check on an amount of P/E cycles performed on the drive]), and the first condition comprises: during reading of data of a preset capacity from the storage drive(Swaminathan , [0045 -- as an external application utilizes storage space in drive array 120 for read/write operations, wear leveling program 300 monitors the impact of the usage on endurance of storage devices and updates associated information in endurance factor data]), the obtained quantity of bad tracks does not exceed a second value(Swaminathan, [0027 -- Endurance tiers correspond to levels of remaining endurance (i.e., remining drive life) for storage devices], [0041 -- with regard to controller 115 and endurance factor data 116, controller 115 defines the endurance tiers based on a percentage of calculated remaining endurance for a respective drive]). As per claim 16, the storage system of Swaminathan recited in claim 14 is incorporated, in addition, Swaminathan discloses: wherein the first indicator further comprises a first performance indicator(Swaminathan, [0045 -- wear leveling program 300 monitors endurance factors of each storage device. In one embodiment, wear leveling program 300 tracks counts of usage of storage devices in drive array]), and adjusting the storage drive from the first level to the second level when the first indicator does not meet the first condition comprises: obtaining a corresponding range of the reliability indicator of the storage drive at each level(Swaminathan, [0029 -- wear leveling program 300 monitors endurance factors of each storage device in drive array], [0041 -- with regard to controller 115 and endurance factor data 116, controller 115 defines the endurance tiers based on a percentage of calculated remaining endurance for a respective drive]); and adjusting the storage drive from the first level to the second level when the first reliability indicator does not meet the first condition(Swaminathan, [0047 -- In an example embodiment, endurance factor data 116 includes expected wear information and specified wear leveling parameters]) and the first reliability indicator falls within a corresponding range of the reliability indicator of the storage drive at the second level(Swaminathan, [0046 -- Wear leveling program 300 can update endurance factor data accordingly. For example, a drive controller of drive 132C sends drive usage information that includes real-time P/E cycle data for drive]), and wherein: when it is determined that the first performance indicator falls within a corresponding range of the performance indicator of the storage drive at a specific level(Swaminathan, [0046 -- Wear leveling program 300 can update endurance factor data accordingly. For example, a drive controller of drive 132C sends drive usage information that includes real-time P/E cycle data for drive]), and the level is different from the second level(Swaminathan, [0045 -- wear leveling program 300 monitors the storage devices in drive array]), the storage drive is adjusted to a level corresponding to a lower indicator requirement among the level and the second level(Swaminathan, [0048 -- wear leveling program 300 monitors the wear rate of drives to determine whether the wear rate of one or more drives is too fast/high, or remains within an expected specification. In additional examples, wear leveling program 300 determines whether a group of drives (e.g., drives in a LUN) are wearing similarly]). As per claim 18, the storage system of Swaminathan recited in claim 10 is incorporated, in addition, Swaminathan discloses: wherein the storage drive comprises a solid-state drive(Swaminathan, [0031 -- drive 132A through drive 132N of storage drawer 130 are representative of a heterogeneous array of SSDs in drive array], [0032 -- each instance of drive 132A through drive 132N includes a drive controller (e.g., operating in firmware) that provides operational information to controller 115, which include endurance factor information for the respective drives.]) As per claim 19, Swaminathan discloses: A non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium stores a computer program or instructions, and when the computer program or the instructions are executed by a computer(Swaminathan, [0020 -- In various embodiments of the present invention, computing system 110 may be a workstation, personal computer, personal digital assistant, mobile phone, or any other device capable of executing computer readable program instructions, in accordance with embodiments of the present invention]), the computer is enabled to perform operations comprising: monitoring a first indicator of a storage drive, wherein the storage drive is at a first level(Swaminathan, [0025 -- controller 115 can track and monitor wear on the storage devices of drive array 120 through storing endurance information for respective storage devices in endurance factor data ], [0045 -- In step 302, wear leveling program 300 monitors endurance factors of each storage device. In one embodiment, wear leveling program 300 tracks counts of usage of storage devices in drive array 130 (e.g., P/E cycles), storing data in endurance factor data], [0049 -- wear leveling program 300 monitors endurance factor information of drives relative to endurance tiers]); and adjusting the storage drive from the first level to a second level when the first indicator does not meet a first condition, wherein the storage drive has a plurality of levels(Swaminathan, [0049 -- In this example, wear leveling program 300 tracks the real-time endurance factor value to determine if, based on real-time usage information, the endurance factor value of drive 132C drops from Tier B to Tier C (e.g., endurance factor value drops below 50%)], [0051 -- wear leveling program 300 reassigns storage devices to endurance tiers based on updated endurance factor information]), the plurality of levels comprise the first level and the second level(Swaminathan, [0027 -- Endurance tiers correspond to levels of remaining endurance (i.e., remining drive life) for storage devices. In example embodiments, controller 115 assigns storage devices to one of: Tier A, Tier B, or Tier C.], [0040 -- tier assignment program 200 assigns each storage device to a respective endurance tier based on the determined endurance factor]), an indicator requirement of the storage drive at the first level is higher than an indicator requirement of the storage drive at the second level(Swaminathan, [0027 -- controller 115 defines the endurance tiers based on a percentage of calculated remaining endurance for a respective drive]), and levels of the storage drive are classified based on indicators of the storage drive(Swaminathan, [0037 -- tier assignment program 200 determines an endurance factor for each storage device], [0040 -- tier assignment program 200 assigns each storage device to a respective endurance tier based on the determined endurance factor.]-[0041 -- controller 115 and endurance factor data 116, controller 115 defines the endurance tiers based on a percentage of calculated remaining endurance for a respective drive], [0053 -- wear leveling program 300 determines updated respective endurance factor values for drive 132A, drive 132B, drive 132C, and drive 132D… Wear leveling program 300 utilizes the determined respective updated endurance factor values to reassign each storage device to the corresponding updated endurance tier]). 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. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claim(s) 2-3, 11-12, 20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Swaminathan et al.(20210089226), and further in view of Bernat et al.(2023/0118103). Claim(s) 2-3 are directed to method steps corresponding the operations implemented by the system of claim(s) 11-12 respectively and therefore the corresponding teachings and citations are incorporated herein. As per claim 11, the storage system of Swaminathan recited in claim 10 is incorporated, in addition, Swaminathan does not explicitly disclose the following, however Bernat discloses: wherein the first indicator comprises a first performance indicator(Bernat, [0217 -- The one or more operating parameter may include, for example, read latency, write latency, input/output operations per second (IOPS′), power consumption rate, error rates for one or more errors, throughput, average response time, or any other quantifiable metric that can be used to describe the performance of a storage device. Each operating parameter may be associated with a defined performance range]), and the first condition comprises: the first performance indicator falls within a corresponding range of the performance indicator of the storage drive at the first level(Bernat, [0227 -- determining 502 whether the storage device is operating outside of a defined performance range for one or more operating parameters after the selected rehabilitative action has been executed can include profiling 504 I/O performance on the storage device], [0262 -- The one or more rules for handling the I/O performance exhibited at each test point may include, for example, a rule specifying that when a storage device is at 25% of its expected lifecycle… the one or more rules for handling the I/O performance exhibited at each test point may include a rule specifying that when a storage device is at 75% of its expected lifecycle, a read request should be serviced through rebuilding the data targeted by the read request using RAID or RAID-like data stored on other storage devices in the storage array when the latency of a pending read request hits a time threshold]). Therefore it would have been obvious to a POSITA at the time of filing to incorporate the features of Bernat into the storage system of Swaminathan for the benefit of responding in a way that reduces performance impact without prematurely replacing a healthy device by monitoring whether a storage device is outside a defined performance range and determines whether that condition is attributable to a rehabilitative action(Bernat, 0263). As per claim 12 the storage system of Swaminathan recited in claim 11 is incorporated, in addition, Swaminathan does not explicitly disclose the following, however Bernat discloses: wherein the first performance indicator comprises read/write latency of an input/output (I/O)(Bernat, [0260 -- various aspects of I/O performance at the next test point may be measured 1008. For example, the average latency may be measured, the latency of the slowest 1% of I/O operations may be measured, the latency of the slowest 0.1% of I/O operations may be measured, the latency of the slowest 0.01% of I/O operations may be measured, and so on. Readers will appreciate that the latency of the slowest I/O operations may be measured to collect worst-case performance metrics]), and the first condition comprises: in a cumulative first time period(Bernat, [0260 -- performing one or more sub-series of random read requests at a particular transfer size and queue depth for a predetermined period of time, performing one or more sub-series of sequential read requests at a particular transfer size and queue depth for a predetermined period of time]), a proportion of I/Os with read/write latency not exceeding a first value on the storage drive(Bernat, [0265 -- he storage device is operating outside of the defined performance range when a number of issued storage operations having latencies exceeding a latency threshold exceeds a defined number of issued transactions]) is greater than or equal to a first threshold(Bernat, [0260 -- the average latency may be measured, the latency of the slowest 1% of I/O operations may be measured, the latency of the slowest 0.1% of I/O operations may be measured, the latency of the slowest 0.01% of I/O operations may be measured, and so on]), wherein the first threshold is greater than 0 and less than 1(Bernat, [0262 -- a read request should be serviced through rebuilding the data targeted by the read request using RAID or RAID-like data stored on other storage devices in the storage array when the latency of a pending read request hits a time threshold that matches the slowest 1% of read requests identified during testing of the storage device]). Therefore it would have been obvious to a POSITA at the time of filing to incorporate the features of Bernat into the storage system of Swaminathan for the benefit of responding in a way that reduces performance impact without prematurely replacing a healthy device by monitoring whether a storage device is outside a defined performance range and determines whether that condition is attributable to a rehabilitative action(Bernat, 0263). As per claim 20, the CRM system of Swaminathan recited in claim 19 is incorporated, in addition, Swaminathan does not explicitly disclose the following, however Bernat discloses: wherein the first indicator comprises a first performance indicator(Bernat, [0217 -- The one or more operating parameter may include, for example, read latency, write latency, input/output operations per second (IOPS′), power consumption rate, error rates for one or more errors, throughput, average response time, or any other quantifiable metric that can be used to describe the performance of a storage device. Each operating parameter may be associated with a defined performance range), and the first condition comprises: the first performance indicator falls within a corresponding range of the performance indicator of the storage drive at the first level(Bernat, [0227 -- determining 502 whether the storage device is operating outside of a defined performance range for one or more operating parameters after the selected rehabilitative action has been executed can include profiling 504 I/O performance on the storage device], [0262 -- The one or more rules for handling the I/O performance exhibited at each test point may include, for example, a rule specifying that when a storage device is at 25% of its expected lifecycle… the one or more rules for handling the I/O performance exhibited at each test point may include a rule specifying that when a storage device is at 75% of its expected lifecycle, a read request should be serviced through rebuilding the data targeted by the read request using RAID or RAID-like data stored on other storage devices in the storage array when the latency of a pending read request hits a time threshold]). Therefore it would have been obvious to a POSITA at the time of filing to incorporate the features of Bernat into the storage system of Swaminathan for the benefit of responding in a way that reduces performance impact without prematurely replacing a healthy device by monitoring whether a storage device is outside a defined performance range and determines whether that condition is attributable to a rehabilitative action(Bernat, 0263). Claim(s) 4, 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Swaminathan et al.(20210089226), and further in view of Roberts(2020/0042208). Claim 4 is directed to method steps corresponding the operations implemented by the system of claim 13 and therefore the corresponding teachings and citations are incorporated herein. As per claim 13, the storage system of Swaminathan recited in claim 11 is incorporated, in addition, Swaminathan does not explicitly disclose the following, however Roberts discloses: wherein adjusting the storage drive from the first level to the second level when the first indicator does not meet the first condition(Roberts, [0048 -- These received performance values may enable the receiving storage device to organize storage devices 120.1-120.8 and assign them to appropriate storage tiers 220.1-220.3 by comparing the performance values to the tiering criteria parameters. In another example, initiate tiering command 206 may cause each of storage devices 120.1-120.8 to evaluate its own performance values against the tiering criteria parameters and self-identify the corresponding storage tier]) comprises: obtaining a corresponding range of the performance indicator of the storage drive at each level(Roberts, [0046 -- Tiering criteria command 204 may provide tiering criteria parameters to storage devices ][0074 -- For each performance indicator, tiering criteria 322.2 may define a performance metric range or threshold for describing the performance characteristic and determining whether each storage device meets the performance characteristic]); and adjusting the storage drive from the first level to the second level when the first performance indicator does not meet the first condition(Roberts, [0048 -- These received performance values may enable the receiving storage device to organize storage devices 120.1-120.8 and assign them to appropriate storage tiers 220.1-220.3 by comparing the performance values to the tiering criteria parameters. In another example, initiate tiering command 206 may cause each of storage devices 120.1-120.8 to evaluate its own performance values against the tiering criteria parameters and self-identify the corresponding storage tier]) and the first performance indicator falls within a corresponding range of the performance indicator of the storage drive at the second level(Roberts, [0080 -- reconfiguration module 322.6 may enable tier manager 322 to repeatedly identify device tiering criteria 322.2, discover storage device performance characteristic values through peer discovery module 322.3, and organize storage devices 120 into new tier configurations 322.1 over the operating life of tiered storage array]). Therefore it would have been obvious to a POSITA at the time of filing to incorporate the features of Roberts into the storage system of Swaminathan for the benefit of a more distributed approach that lets storage devices participate in tier configuration and management themselves by distributing tier management across peer storage devices. A storage device stores peer identifiers, queries peers for performance characteristics or receives their self-assigned tiers, and uses tiering criteria to organize the devices into a tier configuration (Roberts, 0064-0072). Claim(s) 8, 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Swaminathan et al.(2021/0089226), and further in view of Hayashida et al.(2018/0260135). Claim 8 is directed to method steps corresponding the operations implemented by the system of claim 17 and therefore the corresponding teachings and citations are incorporated herein. As per claim 17, the storage system of Swaminathan recited in claim 10 is incorporated, in addition, Swaminathan does not explicitly disclose the following, however Hayashida discloses: wherein the storage drive stores different types of data at different levels(Hayashida, [0023 -- in one embodiment, if the NVM devices include TLC NAND, eMLC NAND, and NVRAM devices, the controller uses at least the following heuristics to create the rules for managing the memory devices: frequently accessed (“hot”) data should not be stored in a TLC memory, infrequently accessed (“cold”) data should be stored in a TLC memory, frequently accessed data should be stored in an NVRAM memory or an SLC memory, byte addressable], [0026 -- as controller 114 of FIG. 1A, dynamically allocates memory to namespaces to satisfy a user's SLA requirements. Such dynamic allocation of memory includes but is not limited to techniques such as auto-tiering]), the storage drive stores a first type of data at the first level, the storage drive stores a second type of data at the second level(Hayashida, [0026 -- The controller dynamically stores “cold” data on high capacity, low performance physical devices (e.g., namespace portion 270b in TLC device 246), stores “hot” data on higher performance physical devices (e.g., namespace portion 270a in eMLC device 242) and stores very low latency, frequently accessed data on very low latency, high performance physical devices]), and an indicator requirement corresponding to the first type of data is higher than an indicator requirement corresponding to the second type of data(Hayashida, [0025 -- the performance of an eMLC NAND-type memory satisfies the defined performance (e.g., medium latency and IOPS)], [0026 -- Such dynamic allocation of memory includes but is not limited to techniques such as auto-tiering (e.g., autonomously mapping “cold” data onto lower performance media and mapping “hot” data onto higher performance media), creating a write buffer with low latency, and using high-endurance media such as NVRAM]). Therefore it would have been obvious to a POSITA at the time of filing to incorporate the features of Hayashida into the storage system of Swaminathan for the benefit of integrating heterogeneous solid state devices into such environments while still allowing flexible by a controller inside the drive discovers what memory types with a controller that discovers the capabilities of different memory types, receives user-defined storage parameters, and creates namespaces that satisfy those parameters. The controller can assign different memory devices or portions of devices to a namespace based on capacity, QoS, latency, endurance, or related goals. It may also autonomously move data are present and learns their characteristics (Hayashida, 0027, 0032, 0036). Notes The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Gupta et al.(20200409568) involves an industrial monitoring system that gathers sensor data from machines and can change which sensor channels are being sampled when needed. The system is built to support vibration and other machine-condition measurements, including data used to create an operational deflection shape (“ODS”) visualization. A reference sensor stays connected at a fixed location while other sensors are routed through a multiplexer or similar switching resource. The data collector can monitor incoming values, compare them to stored threshold information, and raise an alarm if a channel goes out of range. When an alarm or other trigger occurs, the system can switch to an alternate routing plan that focuses on related channels(Gupta, 0013-0015). Dedrick(20190278498) involves automatically tuning how much spare storage is reserved inside a set of solid-state drives (SSDs). The system watches each SSD’s actual usage and wear over time, rather than relying only on a fixed factory rating. It collects telemetry such as host writes, media writes, program/erase cycles, and raw bit error ratios. From that history, it estimates how long each drive is likely to remain in acceptable condition. If a drive appears healthier than needed for its target life, the system can expose more of its capacity to users by reducing overprovisioning(Dedrick, [0017]-[0023]). Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to ARVIND TALUKDAR whose telephone number is (303)297-4475. The examiner can normally be reached M-F, 10 am-6pm 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. Arvind Talukdar Primary Examiner Art Unit 2132 /ARVIND TALUKDAR/Primary Examiner, Art Unit 2132
Read full office action

Prosecution Timeline

Aug 27, 2025
Application Filed
Oct 05, 2026
Non-Final Rejection mailed — §102, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12769663
COHERENCY BYPASS TAGGING FOR READ-SHARED DATA
3y 10m to grant Granted Oct 20, 2026
Patent 12762065
MEMORY DEVICE HAVING CACHE STORING CACHE DATA AND SCRUB DATA
3y 11m to grant Granted Oct 13, 2026
Patent 12730743
APPARATUSES, SYSTEMS, AND METHODS FOR STORING MEMORY METADATA
2y 7m to grant Granted Sep 08, 2026
Patent 12726367
Storage of Data and Metadata in a Storage Network
1y 7m to grant Granted Sep 01, 2026
Patent 12724552
METHOD FOR OPERATING MEMORY DEVICE
1y 7m to grant Granted Sep 01, 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

1-2
Expected OA Rounds
80%
Grant Probability
84%
With Interview (+4.3%)
2y 9m (~1y 7m remaining)
Median Time to Grant
Low
PTA Risk
Based on 574 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