DETAILED ACTION
Claims 1-20 are presented for examination.
Claims 1, 5, 15, 16, 19 are amended.
Claims 1-20 remain pending.
This office action is in response to RCE of application on 20-FEB-2026, addressing Claims and Arguments filed on 16-JAN-2026.
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 .
Continued Examination Under 37 CFR 1.114
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 20-FEB-2026 has been entered.
Response to Arguments
Applicant's arguments filed 16-JAN-2026 have been fully considered but they are not persuasive.
1. Regarding Applicant’s arguments that the Agarwal and Helmick references do not individually teach the entirety of the newly amended limitation of “each of the plurality of RU handles being associated with a different error correction process”, In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). That is, obviousness can be found by combining the teachings from the two references, instead of relying on a single reference teaching the entirety of a limitation. For example, the previous rejection of claim 1 relied on Helmick to teach the dividing of memory into Reclaim Units and RU Handles with their own selected configuration characteristics, and on Agarwal to for teaching other configuration settings that can be applied to memory allocations, including providing the teachings for the previously presented first error correction process and second error correction process. The claim was found to be an obvious combination of the two references because one of ordinary skill in the art could reasonably include the error correction process configuration settings with the other configuration characteristics of the Reclaim Units.
2. Further, with regards to the particular new limitation of each of the plurality of RU handles being associated with a different error correction process, one of ordinary skill in the art would recognize that the same teachings applied for the first RU handle associated with the first error correction process and the second RU handle associated with the second error correction process can obviously be extended for an indefinite number of RU handles associated with an indefinite number of error correction processes. This is further supported by the references specifically describing systems with an ambiguous number N RU Handles (Helmick [0086]), and a variety of different error correction settings that could yield a different error correction process (Agarwal [0052]) for each of the ambiguous number N RU handles of Helmick. Therefore, the new limitation is an obvious embodiment of the combination of references.
3. Although not argued, Applicant has also included amendments to claims 5 and 16 to describe garbage collection-related limitations associated with each individual RU handle, which are addressed in the updated rejections below with the same grounds of rejection.
Claim Objections
Claims 5 and 16 are objected to because of the following informalities:
Claim 5, line 4 recites “folding the data”. However, there are various elements in the claim that can be interpreted as “the data”, such in claim 1, lines 13 and 17, and in claim 5, line 2.
Similarly, Claim 16, line 5 also recites “folding the data”, which can refer to elements in claim 15, lines 10 and 14, and in claim 16, line 3.
Appropriate correction is required.
For the examination of claims 5 and 16 over prior art, “folding the data” is interpreted to refer to the data being garbage collected, as described in the same claims 5 and 16, repsectively.
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.
Claims 1-5, 8-9, 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over
HELMICK et al., U.S. Pub. No. 20240012580 (hereinafter “Helmick”) in view of
Agarwal et al., U.S. Pub. No. 20210405893 (hereinafter “Agarwal”).
Regarding claim 1: Helmick teaches: A system comprising:
a set of memory components of a memory sub-system; and (Fig. 9 and [0114], Helmick teaches a storage device 904 with storage components)
at least one processing device operatively coupled to the set of memory components, the at least one processing device being programmed to perform operations comprising: (Fig. 12 and [0169], Helmick teaches an example embodiment of a machine that can implement the disclosure of Helmick, including a processor that executes instructions stored in memory, interpreted as a processing device coupled to memory components that is programmed to perform the operations.)
generating a first reclaim unit (RU) handle of a plurality of RU handles that is associated with a first data storage policy field, and a second RU handle of the plurality of RU handles that is associated with a second data storage policy field… each of the plurality of RU handles being associated with a different configuration setting ([0061], Helmick teaches that reclaim unit handles are used to identify reclaim units they correspond to, described plurally. [0134], Helmick teaches that the way a reclaim unit can be composed may be based on certain aspects such as the level of tolerance for bit errors for the data. The aspects of the reclaim units are interpreted as the claimed data storage policy fields, and since Helmick teaches a plurality of them, in combination with the teachings that the reclaim units handles are used to identify reclaim units, the claimed first and second reclaim unit handles of a plurality of RU handles, each associated with a first and second data storage policy field is obvious over Helmick. Further, since in [0086] and [0130], Helmick teaches an ambiguous number of RU Handles and the ability for each RU handle to be given its own configuration settings, the each of the plurality being associated with a different configuration is taught.)
Enabling a host to select an individual RU handle from the plurality of RU handles based on a corresponding data storage policy field associated with the individual RU handle, the host selecting between the first RU handle and the second RU handle for storing a set of data based on a data type corresponding to the set of data ([0061-0063], Helmick teaches that a host may specify in the fields of commands, a specific reclaim unit to use for operations according to the reclaim unit handle used, the specifying is interpreted to be the claimed enabling of a host to select an individual RU handle from the plurality of RU handles. Furthermore, in [0128-0129], Helmick teaches that specific information about the data in a reclaim unit, for a reclaim unit handle, may be sent from the storage device to the host. In combination with the teachings of generating the reclaim units associated with data storage policies, the claimed enabling the host to select an individual RU handle from the plurality of RU handles based on a corresponding data storage policy field associated with the individual RU handle. The selection between the first RU handle and the second RU handle based on the data type is obvious given the aforementioned first and second RU handles generated based on different data storage policies.)
controlling storage of data to the set of memory components based on the updated configuration information ([0048], Helmick teaches that a storage device performs corresponding data operations based on information relating to data locality. The data locality information would include the current configuration.)
Storing the set of data to a portion of the set of memory components associated with the individual RU handle selected by the host. ([0048], Helmick teaches that based on receiving a data operation request with an indication relating to data locality (like an RU handle), the storage device may actually perform a corresponding data operation based on information relating to the data to be stored in a write command.)
While Helmick generally teaches RU handles associated with data storage policy according to error tolerance and accumulation-related characteristics, Helmick does not appear to explicitly disclose data storage policy fields corresponding to first error correction processes.
However, Agarwal teaches a first data storage policy field corresponding to a first error correction process, or a second data storage policy field corresponding to a second error correction process, each of the plurality of application allocations being associated with a different error correction process ([0038] and [0052-0053], Agarwal teaches a variety of different error correction settings that can be applied for various different units of data, and that such data units may be various kinds of allocations for applications. The error correction settings are interpreted to be the claimed data storage policy fields corresponding to error correction processes, and given the variety of different settings, a first and a second are obvious. Further, one of ordinary skill in the art could reasonably extend this to an ambiguous number of applications, each being associated with a different error correction process.)
Helmick and Agarwal are analogous art because they are from the same field of endeavor, memory device configuration.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Helmick and Agarwal to achieve the result of a system which generates one or more RU handles associated with data storage policy fields corresponding to their own error correction processes, which a host is enabled to select individual RU handles between, based on a data type of the data, which updates configuration information within the storage based on the data storage policy instructions received from the host and controls storage of data accordingly, which can store data to a portion of the set of memory components associated with a selected RU handle by the host.
One of ordinary skill in the art would have been motivated to make this modification in order to allow the host to dynamically vary the reliability and performance trade-offs in how the storage device is configured as discussed in Agarwal [0005].
Regarding claim 2: The combination of Helmick and Agarwal teaches all limitations of claim 1, from which claim 2 depends.
Helmick/Agarwal further teaches the memory sub-system includes Flexible Data Placement (FDP) ([0035], Helmick teaches that a storage device may implement a flexible data placement scheme.)
Regarding claim 3: The combination of Helmick and Agarwal teaches all limitations of claim 2, from which claim 3 depends.
Helmick/Agarwal further teaches grouping the set of memory components into a plurality of reclaim groups (RGs), each RG of the plurality of RGs comprising a subset of RUs. ([0061], Helmick teaches that reclaim units can be arranged in reclaim groups.)
Regarding claim 4: The combination of Helmick and Agarwal teaches all limitations of claim 3, from which claim 4 depends.
Helmick/Agarwal further teaches the data storage policy instruction defines a size for each of the subset of RUs ([0068], Helmick teaches that reclaim units may be of any size, and may contain a set amount of erase blocks. Moreover, in [0097], Reclaim units are composed by selecting one or more erase blocks based on arrangement rules.)
Regarding claim 5: The combination of Helmick and Agarwal teaches all limitations of claim 3, from which claim 5 depends.
Helmick/Agarwal further teaches performing a garbage collection on data stored in a first RU of a first RG of the plurality of RGs; and during the garbage collection operation, folding the data exclusively using RUs within the first RG without folding the data to any RU of a second RG of a plurality of RGs ([0145-0152] and Fig. 11, Helmick teaches that a garbage collection may be performed on RUs, including an embodiment where RU handle data is isolated such that when a garbage collection is performed, data from RUs within one RU handle is kept together and not associated with other RU handles and that the copied data can then be read using the same RU handle, which is interpreted to be folding data exclusively using RUs within a first RG when garbage collection is performed on data in a first RU of a first RG.)
Regarding claim 8: The combination of Helmick and Agarwal teaches all limitations of claim 1, from which claim 8 depends.
Helmick/Agarwal further teaches generating a log that includes a list of different data storage policy instructions; ([0051-0052], Agarwal teaches configuration settings that can contains various configuration setting types such as for error correction or redundancy and corresponding parameter values.).
Helmick/Agarwal further teaches communicating the log to the host ([0054], Agarwal teaches that a storage management interface, which contains the configuration settings, may be exposed directly to a host system)
One of ordinary skill in the art would have been motivated to make this modification in order to enable the user to navigate the configuration settings and to make modifications as discussed in Agarwal [0055] “For example, configuration interface 540.2 may enable a user to receive and navigate the default configuration settings 530 and related parameter values. Configuration interface 540.2 may provide or support an editor for modifying parameters and storing them as different application sets.”
Regarding claim 9: The combination of Helmick and Agarwal teaches all limitations of claim 8, from which claim 9 depends.
Helmick/Agarwal further teaches the host generates the data storage policy instruction in response to selecting the data storage policy instruction from the log received from the memory sub-system. ([0085-0092], Agarwal teaches that after a user has viewed and modified various storage configuration parameters, the storage device receives the set of configuration settings for use).
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as claim 8.
Regarding claim 15: Helmick teaches: A method comprising:
generating a first reclaim unit (RU) handle of a plurality of RU handles that is associated with a first data storage policy field, and a second RU handle of the plurality of RU handles that is associated with a second data storage policy field… each of the plurality of RU handles being associated with a different configuration setting ([0061], Helmick teaches that reclaim unit handles are used to identify reclaim units they correspond to, described plurally. [0134], Helmick teaches that the way a reclaim unit can be composed may be based on certain aspects such as the level of tolerance for bit errors for the data. The aspects of the reclaim units are interpreted as the claimed data storage policy fields, and since Helmick teaches a plurality of them, in combination with the teachings that the reclaim units handles are used to identify reclaim units, the claimed first and second reclaim unit handles of a plurality of RU handles, each associated with a first and second data storage policy field is obvious over Helmick. Further, since in [0086] and [0130], Helmick teaches an ambiguous number of RU Handles and the ability for each RU handle to be given its own configuration settings, the each of the plurality being associated with a different configuration is taught.)
Enabling a host to select an individual RU handle from the plurality of RU handles based on a corresponding data storage policy field associated with the individual RU handle, the host selecting between the first RU handle and the second RU handle for storing a set of data based on a data type corresponding to the set of data ([0061-0063], Helmick teaches that a host may specify in the fields of commands, a specific reclaim unit to use for operations according to the reclaim unit handle used, the specifying is interpreted to be the claimed enabling of a host to select an individual RU handle from the plurality of RU handles. Furthermore, in [0128-0129], Helmick teaches that specific information about the data in a reclaim unit, for a reclaim unit handle, may be sent from the storage device to the host. In combination with the teachings of generating the reclaim units associated with data storage policies, the claimed enabling the host to select an individual RU handle from the plurality of RU handles based on a corresponding data storage policy field associated with the individual RU handle. The selection between the first RU handle and the second RU handle based on the data type is obvious given the aforementioned first and second RU handles generated based on different data storage policies.)
controlling storage of data to the set of memory components based on the updated configuration information ([0048], Helmick teaches that a storage device performs corresponding data operations based on information relating to data locality. The data locality information would include the current configuration.)
Storing the set of data to a portion of the set of memory components associated with the individual RU handle selected by the host. ([0048], Helmick teaches that based on receiving a data operation request with an indication relating to data locality (like an RU handle), the storage device may actually perform a corresponding data operation based on information relating to the data to be stored in a write command.)
While Helmick generally teaches RU handles associated with data storage policy according to error tolerance and accumulation-related characteristics, Helmick does not appear to explicitly disclose data storage policy fields corresponding to first error correction processes.
However, Agarwal teaches a first data storage policy field corresponding to a first error correction process, or a second data storage policy field corresponding to a second error correction process, each of the plurality of application allocations being associated with a different error correction process ([0038] and [0052-0053], Agarwal teaches a variety of different error correction settings that can be applied for various different units of data, and that such data units may be various kinds of allocations for applications. The error correction settings are interpreted to be the claimed data storage policy fields corresponding to error correction processes, and given the variety of different settings, a first and a second are obvious. Further, one of ordinary skill in the art could reasonably extend this to an ambiguous number of applications, each being associated with a different error correction process.)
Helmick and Agarwal are analogous art because they are from the same field of endeavor, memory device configuration.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Helmick and Agarwal to achieve the result of a system which generates one or more RU handles associated with data storage policy fields corresponding to their own error correction processes, which a host is enabled to select individual RU handles between, based on a data type of the data, which updates configuration information within the storage based on the data storage policy instructions received from the host and controls storage of data accordingly, which can store data to a portion of the set of memory components associated with a selected RU handle by the host.
One of ordinary skill in the art would have been motivated to make this modification in order to allow the host to dynamically vary the reliability and performance trade-offs in how the storage device is configured as discussed in Agarwal [0005].
Regarding claim 16: The combination of Helmick and Agarwal teaches all limitations of claim 15, from which claim 16 depends.
Helmick/Agarwal further teaches the memory sub-system includes Flexible Data Placement (FDP) ([0035], Helmick teaches that a storage device may implement a flexible data placement scheme.)
Helmick/Agarwal further teaches performing a garbage collection on data stored in a first RU of a first RG of the plurality of RGs; and during the garbage collection operation, folding the data exclusively using RUs within the first RG without folding the data to any RU of a second RG of a plurality of RGs ([0145-0152] and Fig. 11, Helmick teaches that a garbage collection may be performed on RUs, including an embodiment where RU handle data is isolated such that when a garbage collection is performed, data from RUs within one RU handle is kept together and not associated with other RU handles and that the copied data can then be read using the same RU handle, which is interpreted to be folding data exclusively using RUs within a first RG when garbage collection is performed on data in a first RU of a first RG.)
Regarding claim 17: The combination of Helmick and Agarwal teaches all limitations of claim 16, from which claim 17 depends.
Helmick/Agarwal further teaches grouping the set of memory components into a plurality of reclaim groups (RGs), each RG of the plurality of RGs comprising a subset of reclaim units (RUs) ([0061], Helmick teaches that reclaim units can be arranged in reclaim groups.)
Regarding claim 18: The combination of Helmick and Agarwal teaches all limitations of claim 17, from which claim 18 depends.
Helmick/Agarwal further teaches the data storage policy instruction defines a size for each of the subset of Rus ([0068], Helmick teaches that reclaim units may be of any size, and may contain a set amount of erase blocks. Moreover, in [0097], Reclaim units are composed by selecting one or more erase blocks based on arrangement rules)
Regarding claim 19: Helmick teaches:
A non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processing device, cause the at least one processing device to perform operations comprising:
generating a first reclaim unit (RU) handle of a plurality of RU handles that is associated with a first data storage policy field, and a second RU handle of the plurality of RU handles that is associated with a second data storage policy field… each of the plurality of RU handles being associated with a different configuration setting ([0061], Helmick teaches that reclaim unit handles are used to identify reclaim units they correspond to, described plurally. [0134], Helmick teaches that the way a reclaim unit can be composed may be based on certain aspects such as the level of tolerance for bit errors for the data. The aspects of the reclaim units are interpreted as the claimed data storage policy fields, and since Helmick teaches a plurality of them, in combination with the teachings that the reclaim units handles are used to identify reclaim units, the claimed first and second reclaim unit handles of a plurality of RU handles, each associated with a first and second data storage policy field is obvious over Helmick. Further, since in [0086] and [0130], Helmick teaches an ambiguous number of RU Handles and the ability for each RU handle to be given its own configuration settings, the each of the plurality being associated with a different configuration is taught.)
Enabling a host to select an individual RU handle from the plurality of RU handles based on a corresponding data storage policy field associated with the individual RU handle, the host selecting between the first RU handle and the second RU handle for storing a set of data based on a data type corresponding to the set of data ([0061-0063], Helmick teaches that a host may specify in the fields of commands, a specific reclaim unit to use for operations according to the reclaim unit handle used, the specifying is interpreted to be the claimed enabling of a host to select an individual RU handle from the plurality of RU handles. Furthermore, in [0128-0129], Helmick teaches that specific information about the data in a reclaim unit, for a reclaim unit handle, may be sent from the storage device to the host. In combination with the teachings of generating the reclaim units associated with data storage policies, the claimed enabling the host to select an individual RU handle from the plurality of RU handles based on a corresponding data storage policy field associated with the individual RU handle. The selection between the first RU handle and the second RU handle based on the data type is obvious given the aforementioned first and second RU handles generated based on different data storage policies.)
controlling storage of data to the set of memory components based on the updated configuration information ([0048], Helmick teaches that a storage device performs corresponding data operations based on information relating to data locality. The data locality information would include the current configuration.)
Storing the set of data to a portion of the set of memory components associated with the individual RU handle selected by the host. ([0048], Helmick teaches that based on receiving a data operation request with an indication relating to data locality (like an RU handle), the storage device may actually perform a corresponding data operation based on information relating to the data to be stored in a write command.)
While Helmick generally teaches RU handles associated with data storage policy according to error tolerance and accumulation-related characteristics, Helmick does not appear to explicitly disclose data storage policy fields corresponding to first error correction processes.
However, Agarwal teaches a first data storage policy field corresponding to a first error correction process, or a second data storage policy field corresponding to a second error correction process, each of the plurality of application allocations being associated with a different error correction process ([0038] and [0052-0053], Agarwal teaches a variety of different error correction settings that can be applied for various different units of data, and that such data units may be various kinds of allocations for applications. The error correction settings are interpreted to be the claimed data storage policy fields corresponding to error correction processes, and given the variety of different settings, a first and a second are obvious. Further, one of ordinary skill in the art could reasonably extend this to an ambiguous number of applications, each being associated with a different error correction process.)
Helmick and Agarwal are analogous art because they are from the same field of endeavor, memory device configuration.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the teachings of Helmick and Agarwal to achieve the result of a system which generates one or more RU handles associated with data storage policy fields corresponding to their own error correction processes, which a host is enabled to select individual RU handles between, based on a data type of the data, which updates configuration information within the storage based on the data storage policy instructions received from the host and controls storage of data accordingly, which can store data to a portion of the set of memory components associated with a selected RU handle by the host.
One of ordinary skill in the art would have been motivated to make this modification in order to allow the host to dynamically vary the reliability and performance trade-offs in how the storage device is configured as discussed in Agarwal [0005].
Regarding claim 20: The combination of Helmick and Agarwal teaches all limitations of claim 19, from which claim 20 depends.
Helmick/Agarwal further teaches the memory sub-system includes Flexible Data Placement (FDP). ([0035], Helmick teaches that a storage device may implement a flexible data placement scheme.)
Claims 6 and 7 are rejected under 35 U.S.C. 103 as being unpatentable over
HELMICK et al., U.S. Pub. No. 20240012580 (hereinafter “Helmick”) in view of
Agarwal et al., U.S. Pub. No. 20210405893 (hereinafter “Agarwal”) further in view of
Greathouse, U.S. Pub. No. 20230097344 (hereinafter “Greathouse”).
Regarding Claim 6: The combination of Helmick and Agarwal teaches all limitations of claim 1, from which claim 6 depends.
Helmick/Agarwal does not appear to explicitly disclose selecting a type of error correction code, a number of blocks, or quantity of LUNs included in a parity group to apply to the data stored to the set of memory components based on the data storage policy instruction received from the host.
However, Greathouse teaches selecting selecting a type of error correction code, a number of blocks, or quantity of LUNs included in a parity group to apply to the data stored to the set of memory components based on the data storage policy instruction received from the host. ([0051], Greathouse teaches that an ECC reconfiguration may change the number of memory blocks of a memory device that are reserved for storing ECC data.)
Helmick/Agarwal and Greathouse are analogous art because they are from the same field of endeavor, configuring memory systems.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the memory system that receives instructions from a host defining how data should be stored, as disclosed by Helmick/Agarwal, to also allow for reconfiguration of the number of memory blocks of a memory device that are reserved for storing ECC data, as disclosed by Greathouse.
One of ordinary skill in the art would have been motivated to make this modification in order to allow the system to more flexibly use the space for either detecting and correcting errors in data, or to be used for other types of data as discussed in Greathouse [0051] “That is, memory blocks 602 of the memory devices 108-1 through 108-4 are available for storing data such as user data, job data, operating system data, and the like, while memory blocks 604 of the memory devices 108-1
through 108-4 are reserved for exclusively storing ECC data, used to detect and correct errors in the data stored in the memory blocks 602. In some embodiments, an ECC reconfiguration of the processing system 100 is performed (by, for example, the processor(s) 102), which changes the number of memory blocks of the memory devices 108-1 through 108-4 that are reserved for storing ECC data. In some embodiments, such an ECC reconfiguration disables ECC for the memory devices 108-1 through 108-4, resulting in the memory blocks 604 no longer being reserved for storing ECC data, and instead being made available for storing other types of data.”
Regarding claim 7: The combination of Helmick, Agarwal, and Greathouse teaches all limitations of claim 6, from which claim 7 depends:
Helmick/Agarwal/Greathouse further teaches storing data to the set of memory components without data parity based on the data storage policy instruction received from the host ([0051], Greathouse teaches that when an ECC reconfiguration disables ECC, data can be stored in the blocks that no longer store ECC data. Examiner notes that ECC is a type of parity, and thus enabling or disabling ECC is interpreted as setting memory to have or not have data parity).
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the host ECC reconfiguration of claim 6, as disclosed by Helmick/Greathouse, to further store data based on the ECC reconfiguration, as disclosed by Greathouse.
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as claim 6.
Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over
HELMICK et al., U.S. Pub. No. 20240012580 (hereinafter “Helmick”) in view of
Agarwal et al., U.S. Pub. No. 20210405893 (hereinafter “Agarwal”) further in view of
Gururaj et al., U.S. Pub. No. 20240427523 (hereinafter “Gururaj”).
Regarding claim 10: The combination of Helmick/Agarwal teaches all limitations of claim 8, from which claim 10 depends.
Helmick/Agarwal further teaches the list of different data storage policy instructions provides reliability values for each of the different data storage policy instructions ([0056], Agarwal teaches that a storage management interface may determine a reliability rating for different configurations of the storage device configuration settings.)
Helmick/Agarwal do not appear to explicitly specify write amplification information and endurance.
However, Gururaj teaches write amplification information and endurance ([0044], Gururaj teaches that normal write amplification and endurance metrics can may be defined for different operating parameters).
Helmick/Agarwal and Gururaj are analogous art because they are from the same field of endeavor, configuring storage devices.
Therefore, it would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have combined the list of different data storage policy instructions with reliability values for each of the different data storage policy instructions, as disclosed by Helmick/Agarwal, to display write amplification/endurance metrics as part of the reliability values, as disclosed by Gururaj.
One of ordinary skill in the art would have been motivated to make this modification in order to enable a user to understand the reliability and performance trade-offs when choosing configuration settings as discussed in Agarwal [0056] “Storage management interface 540 may enable a user to understand the reliability and performance trade-offs when customizing configuration settings 530 for specific application needs that may not be supported by the default configuration settings for storage device 140.”.
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over
HELMICK et al., U.S. Pub. No. 20240012580 (hereinafter “Helmick”) in view of
Agarwal et al., U.S. Pub. No. 20210405893 (hereinafter “Agarwal”) further in view of
Gururaj et al., U.S. Pub. No. 20240427523 (hereinafter “Gururaj”) further in view of
HostDime, “What is the Best RAID Configuration for Your Server?”, April 12, 2022 (hereinafter “HostDime”) further in view of
StorageNewsletter, “Enhanced Flash Memory Lifetime With DIE-RAID”, Feb 18, 2022 (hereinafter “StorageNewsletter”).
Regarding claim 11: The combination of Helmick/Agarwal/Gururaj teaches all limitations of claim 10, from which claim 11 depends.
Helmick/Agarwal/Gururaj further teaches the data storage policy instruction defines a data management storage size ([0068], Helmick teaches that reclaim units may be of any size, and may contain a set amount of erase blocks. Moreover, in [0097], Reclaim units are composed by selecting one or more erase blocks based on arrangement rules)
While Agarwal does teach that ECC configurations may include parity settings, and Helmick teaches that storage may have a RAID configuration, Helmick/Agarwal/Gururaj does not appear to explicitly disclose policy instructions with no storage of data parity, block protect RAID, or die protect RAID
However, HostDime teaches a RAID configuration with no storage of data parity (Pages 3-4 under the RAID 0 header, HostDime teaches the RAID 0 configuration, which has no parity for fault tolerance).
HostDime further teaches a configuration with block protect RAID (Pages 4-5 under the RAID 5 header, HostDime teaches the RAID 5 configuration, which has striping at the block level for parity)
Helmick/Agarwal/Gururaj and HostDime are analogous art because they are from the same field of endeavor, configuring memory devices.
Therefore, it would have been obvious for one of ordinary skill in the art before the effect filing date of the claimed invention to have combined the memory system with a list of different data storage policy instructions that define a data management storage size, as disclosed by Helmick/Agarwal/Gururaj, to also include RAID 0 and RAID 5 configurations as part of the storage policy instructions, as disclosed by HostDime, to yield a combined memory system with a list of different data storage policy instructions that define a data management storage size and RAID 0 and RAID 5 configurations.
One of ordinary skill in the art would have been motivated to make this modification in order to gain the performance improvements of RAID 0 and RAID 5 while configuring a memory.
Helmick/Agarwal/Gururaj/HostDime do not appear to explicitly disclose die protect RAID.
However, StorageNewsletter teaches die protect RAID (In paragraph 6, StorageNewsletter describes a DIE-RAID error correction method.)
Helmick/Agarwal/Gururaj/HostDime and StorageNewsletter are analogous art because they are from the same field of endeavor, configuring memory devices.
Therefore, it would have been obvious for one of ordinary skill in the art before the effect filing date of the claimed invention to have combined the memory system with a list of different data storage policy instructions that define a data management storage size and RAID 0 and RAID 5 configurations, as disclosed by Helmick/Agarwal/Gururaj/HostDime, to also include the DIE-RAID configuration as part of the RAID configurations, as disclosed by StorageNewsletter. The various combinations of these elements result in different potential storage data policy instructions that define both a data management storage size and RAID.
There had been a recognized need in the art before the effective filing date to enable a host to select storage device configuration settings based on the host’s reliability and performance requirements, as discussed in Agarwal [0005].
One of ordinary skill in the art would recognize that the four claimed different storage policy instructions: a first instruction defining a first generic data management storage size with RAID 0; a second instruction defining the same generic data management storage size with RAID 5; a third instruction defining a different generic second data management storage size with DIE-RAID; and a fourth instruction defining a generic second data management storage size with RAID 0, constitute a finite number of the predictable potential combinations of storage data policy instructions that define both a data management storage size and RAID, as there had been a known set of different RAID configurations, as shown by the table on page 3 of HostDime in addition to the DIE-RAID disclosed by StorageNewsletter. Moreover, the claimed first and second data management storage sizes are nonspecific as to what the sizes are, and so any configurability in the data management storage sizes cover the scope of the first and second data management storage sizes.
One of ordinary skill in the art would have had a reasonable expectation of success in pursuing these potential combinations as combining memory configuration settings into systems with RAID configurations is already known, as discussed by Helmick in [0130-0132].
Therefore, the four claimed data storage policy instructions of claim 11 are combinations of the prior art that would have been obvious to try.
Claims 12-14 are rejected under 35 U.S.C. 103 as being unpatentable over
HELMICK et al., U.S. Pub. No. 20240012580 (hereinafter “Helmick”) in view of
Agarwal et al., U.S. Pub. No. 20210405893 (hereinafter “Agarwal”) further in view of
Thompson, U.S. Patent No. 11150983 (hereinafter “Thompson”).
Regarding claim 12: The combination of Helmick and Agarwal teaches all limitations of claim 1, from which claim 12 depends:
Helmick/Agarwal further teaches grouping the set of memory components into a plurality of reclaim groups (RGs), each RG of the plurality of RGs comprising a subset of RUs, ([0061], Helmick teaches that reclaim units can be arranged in reclaim groups.)
While Helmick/Agarwal teaches data protection schemes being applicable to reclaim units in [0132], Helmick does not appear to explicitly disclose a first of the RUs of an individual one of the plurality of RGs being associated with storage of data parity, and a second of the RUs of the individual one of the plurality of RGs being associated with no storage of data parity.
However, Thompson teaches memory areas associated with storage of data parity (Col. 3 lines 63-65, Thompson teaches that some areas of memory may have ECC protection of the data. Examiner notes that ECC is a form of parity.)
Thompson further teaches memory areas associated with no storage of data parity (Col. 2 lines 65-67, Thompson teaches that some areas of memory may not have ECC protection applied.)
Helmick/Agarwal and Thompson are analogous art because they are from the same field of endeavor, configuring memory devices.
With the memory system with the memory components grouped into RGs, each comprising a subset of RUs of Helmick/Agarwal as the base system, the claimed system with the RUs of one of the RGs being associated with storage of data parity, and the RUs of another one of the RGs being associated with no storage of data parity, could be seen as an improvement as it provides the flexibility of having ECC enabled or not enabled for a given unit of memory.
Thompson teaches a comparable system, where some areas of the memory have ECC protection applied, and other areas of the memory do not have ECC protection applied, wherein the memory system was improved in the same way as the claimed invention to provide the flexibility of ECC or non-ECC choices to the system.
One of ordinary skill in the art before the effective filing date could have applied the having ECC protection applied or ECC protection not applied to the RUs of some of the RGs of Helmick/Agarwal, which would predictably result in the flexibility of ECC or non-ECC RUs of RGs.
One of ordinary skill in the art would have been motivated to make this modification in order to allow for a user to be selective of whether ECC is preferred or not preferred to meet data safety goals as discussed in Thompson, Col. 3 lines 1-18 “The invention provides a sensor apparatus, in particular a safety critical apparatus, which includes a memory controller which is arranged to treat data that is read or written in different manners according to the type of data. Within the system, data are stored for different reasons. For example, the instructions which the processor executes are very rarely changed, and are critical to the correct operation of the system. These data must be protected against corruption, using ECC. Similarly, some items of configuration or calibration used by the system will also be unchanged during operation and, if corrupted, could cause a violation of the system safety-goals. Again, these should be protected. Conversely, the data captured from the sensor front-end is only valid for a short period of time, and small individual corruptions can often be shown to be acceptably unlikely to 15 cause a violation of safety goals, and can therefore be stored and retrieved without additional protection. The invention enables this goal to be met.”
Regarding claim 13: The combination of Helmick, Agarwal, and Thompson teach all limitations of claim 12, from which claim 13 depends.
Helmick/Agarwal/Thompson further teaches selecting, by the host, an individual set of data for storage without data parity; and in response to selecting the individual set of data for storage without the data parity, generating an instruction by the host to write the individual set of data using an RU handle associated with the second of the RUs (Col. 7, lines 1-9 and lines 26-28, Thompson teaches that data from a write request may be determined to be protected by ECC or not by indicating an unprotected block. Moreover, in [0061], Helmick teaches that a host may send a write command to a storage device including a reclaim unit handle to specify the reclaim units into which the device may write the data. The reclaim units of Helmick correspond to the blocks of Thompson.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as claim 12.
Regarding claim 14: The combination of Helmick, Agarwal, and Thompson teach all limitations of claim 12, from which claim 14 depends.
Helmick/Agarwal/Thompson further teaches selecting, by the host, an individual set of data for storage with data parity; and in response to selecting the individual set of data for storage with the data parity, generating an instruction by the host to write the individual set of data using an RU handle associated with the first of the RUs. (Col. 7, lines 1-25, Thompson teaches that data from a write request may be determined to be protected by ECC or not by indicating a protected block. Moreover, in [0044], Helmick teaches that a host may send a write command to a storage device including a reclaim unit handle to specify the reclaim units into which the device may write the data. The reclaim units of Helmick correspond to the blocks of Thompson.)
One of ordinary skill in the art would have been motivated to make this modification for the same reasons as claim 12.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KAITLYN HUNG PHAM whose telephone number is (571)272-6333. The examiner can normally be reached M/Tu/Th/F 8:00-6:00 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, Rocio Del Mar Perez-Velez can be reached at 571-270-5935. 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.
/K.H.P./Examiner, Art Unit 2133
/ROCIO DEL MAR PEREZ-VELEZ/Supervisory Patent Examiner, Art Unit 2133