DETAILED ACTION
Claims 1-20 are presented for examination.
This office action is in response to Amendment of application on 21-AUG-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 .
Response to Arguments
Applicant’s arguments, see page 8, filed 21-AUG-2026, with respect to objections to claims 5 and 16 have been fully considered and are persuasive due to amendment. The objections to claims 5 and 16 have been withdrawn.
Applicant's arguments filed 21-AUG-2026 have been fully considered but they are not persuasive.
1. Regarding Applicant’s arguments that the prior art does not teach the entirety of the newly amended limitation of “enabling a host to determine a data type corresponding to a set of data and 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 that defines an individual error correction process associated with the individual RU handle that corresponds to the determined data type”, specifically that the prior art does not teach a requirement of the claim that the host itself performs the determining and selecting, Examiner respectfully partially disagrees.
Specifically, in [0106-0108], Helmick teaches that the information provided by the host may indicate that data to be stored in the first reclaim unit may be relatively cold data (a data type), and that the reclaim unit handle referencing the target reclaim unit might be provided by the write command (coming from the host). Additionally, in [0061-0063], Helmick further teaches that the host is enabled to specify a specific reclaim unit to use for storing the write data, and that namespaces are specifically mapped to certain reclaim units that only store data belonging to those specific namespaces. Further, in [0131-0134], [0122], Helmick teaches that the way that the reclaim units are composed and selected, and how data is split and stored, may be based on whether the data and the physical space corresponding to the RUs have a higher rate of bit error accumulation or a level of tolerance for bit errors. Therefore, at the minimum, Helmick teaches that the host is enabled to determine a data type corresponding to a set of data and selects individual RU handles based on a corresponding data storage policy field associated with the individual RU handle, and that the data storage policy field defines a general error expectation/tolerance associated with the RU and the data type.
2. Regarding Applicant’s arguments that Agarwal does not teach RU handles associated with a data storage policy field that defines an individual error correction process corresponding to a determined data type, Examiner reminds Applicant that the rejection relies on a combination of references, and as described in the response to arguments and rejection under 35 U.S.C. 103 in the previous office action, non-obviousness cannot be shown by attacking the Helmick and Agarwal references individually. 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, Applicant cannot show that the combination is non-obvious by saying that neither reference contains the entirety of a long set of limitations. An obviousness rejection may rely on piecing teachings from multiple different references together to render the claimed embodiment obvious. In other words, not every piece of a claim limitation must be taught by any one individual reference.
While Helmick does not teach the RU handles defining an error correction process that corresponds to a data type, Helmick does teach the RU handles defining error-related characteristics corresponding to the host-determined data type. By applicant’s own admission, Agarwal teaches error correction settings that correspond to an application type or identifier associated with an application set. With Helmick teaching the RU handles defining error-related characteristics corresponding to a particular data type and that RU handles may be used to store data for an application or data type, and Agarwal teaching error correction processes corresponding to an application type and its data, it would be trivial to modify the error-related RU handles and data type characteristics of Helmick to further include the error correction processes of Agarwal.
3. Regarding Applicant’s argument that incorporating Agarwal’s error correction settings into Helmick’s reclaim units would yield reclaim units configured with error correction settings selected in the manner Agarwal teaches and would somehow invalidate Helmick’s host-side determination and selection, Examiner respectfully disagrees. Examiner notes that such a reading of excessively replacing arrangements of Helmick with arrangements of Agarwal is an unnecessarily narrow interpretation of the combination of Helmick and Agarwal. That is, one of ordinary skill in the art need not entirely replace all of the determination and selection processes of Helmick just to associate a unit of storage with an error correction process, as taught by Agarwal. While such a replacement would also be one of the many possible obvious embodiments from this combination, it is not at all required to come to the claimed embodiment, nor is it the only way to interpret combining Helmick and Agarwal. As discussed above, Helmick teaches a system which associates particular units of storage with a data type, according to some shared characteristics including error-related characteristics. Agarwal teaches a system that associates particular units of storage with error correction processes. Whether the host makes determinations and selections is not relevant for incorporating the error correction processes into the set of error-related characteristics associated with a particular unit of storage and a data type already established by Helmick.
4. Regarding Applicant’s argument that claim 8 does not contain a log of different data storage policy instructions, as data storage policy instructions are discrete predefined policy defining how data is stored on the memory components, including a parity or error correction scheme and respective write amplification and endurance, and provides them to the host, Examiner notes that these features of the data storage policy instructions are not recited in claim 8 or in claim 1, upon which claim 8 depends. Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993). The claim does not at all define what the log is, other than that it has a list of data storage policy instructions, and the claim does not at all define what a data storage policy instruction is. Without a special definition within the specification or limitations in the claim, the list of data storage policy instructions is interpreted under its plain meaning, which is interpreted to be any collection of any policies or settings related to data storage. The only requirements of the claim, then, are that such a collection of any policies or settings related to data storage are communicated to the host in some way.
Further, by Applicant’s own admission, “Agarwal describes a storage management interface that exposes individual configuration setting types and their corresponding parameter values, such as write or trim parameters, error correction parameters, and redundancy parameters, and provides an editor by which a user may navigate the default configuration settings and modify parameters, storing them as application sets of configuration settings.” An editor that the user navigates through means that these elements have been generated and communicated to the host, and configuration setting types and parameter values can be considered a policy or setting related to data storage. Therefore, by Applicant’s own admission, Agarwal teaches the limitations added by claim 8.
5. The rejections below have been modified to address the newly amended limitations, but the rejections are maintained in view of the same prior art references.
Claim Objections
Claim 19 is objected to because of the following informalities:
In claim 19 lines 11-13, “the individual RU handle that corresponds to the determined data type, each of the RU handles being associated with a different error correction process, wherein the plurality of RU handles…” should read “the individual RU handle that corresponds to the determined data type, wherein each of the RU handles is associated with a different error correction process, and wherein the plurality of RU handles…”.
Appropriate correction is required.
Claim Rejections - 35 USC § 112
Claims 1-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.
Regarding claim 1: Claim 1 recites “the determined data type corresponding to the set of data for storing the set of data”. It is unclear whether this limitation is meant to be interpreted as a set of data which is to be used to store a set of data, and what exactly storing a set of data within another set of data would entail, or if this limitation is meant to be interpreted as a set of storage locations which correspond to the data type; the storage locations being for storing the set of data, or if this limitation is merely a typo. The specification does not contain any description of any “set of data for storing the set of data” and does not clarify how to interpret this limitation. Therefore, since the scope of this limitation and how it is to be interpreted is unclear, the metes and bounds of this limitation cannot be determined and the claim is rendered indefinite.
For the purposes of examining over prior art, this limitation of “the determined data type corresponding to the set of data for storing the set of data” is interpreted to read “the determined data type corresponding to the set of data”, effectively undoing part of the amendments.
Since claims 2-14 depend upon claim 1, claims 2-14 inherit this limitation and its deficiencies, and are rejected for the same reason.
Regarding claim 15: Claim 15 recites “the determined data type corresponding to the set of data for storing the set of data”. It is unclear whether this limitation is meant to be interpreted as a set of data which is to be used to store a set of data, and what exactly storing a set of data within another set of data would entail, or if this limitation is meant to be interpreted as a set of storage locations which correspond to the data type; the storage locations being for storing the set of data, or if this limitation is merely a typo. The specification does not contain any description of any “set of data for storing the set of data” and does not clarify how to interpret this limitation. Therefore, since the scope of this limitation and how it is to be interpreted is unclear, the metes and bounds of this limitation cannot be determined and the claim is rendered indefinite.
For the purposes of examining over prior art, this limitation of “the determined data type corresponding to the set of data for storing the set of data” is interpreted to read “the determined data type corresponding to the set of data”, effectively undoing part of the amendments.
Since claims 16-18 depend upon claim 15, claims 16-18 inherit this limitation and its deficiencies, and are rejected for the same reason.
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 determine a data type corresponding to a set of data and 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 that corresponds to the determined data type, the host selecting between the first RU handle and the second RU handle based on the determined data type corresponding to the set of data for storing the set of data; ([0106-0108], [0122-0123], and [0131-0134], Helmick teaches that a host may compose namespaces to be mapped to RUs and what sets of data are stored in them based on certain data characteristics (types). Further, in [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 the reclaim units being generated based on data storage policies and data characteristics, the claimed enabling the host to determine a data type corresponding to a set of data and 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 is taught. The selection between the first RU handle and the second RU handle based on the data type is an obvious extension of generating RUs 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 garbage collected data exclusively using RUs within the first RG without folding the garbage collected 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 determine a data type corresponding to a set of data and 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 that corresponds to the determined data type, the host selecting between the first RU handle and the second RU handle based on the determined data type corresponding to the set of data for storing the set of data ([0106-0108], [0122-0123], and [0131-0134], Helmick teaches that a host may compose namespaces to be mapped to RUs and what sets of data are stored in them based on certain data characteristics (types). Further, in [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 the reclaim units being generated based on data storage policies and data characteristics, the claimed enabling the host to determine a data type corresponding to a set of data and 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 is taught. The selection between the first RU handle and the second RU handle based on the data type is an obvious extension of generating RUs 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 garbage collected data exclusively using RUs within the first RG without folding the garbage collected 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 of a host system, cause the host system 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.)
determining a data type corresponding to a set of data; ([0106-0108], [0122-0123], and [0131-0134], Helmick teaches that a host may compose namespaces to be mapped to RUs and what sets of data are stored in them based on certain data characteristics (types), including characteristics about error expectancy and error tolerance.)
selecting an individual RU handle from a plurality of RU handles based on a corresponding data storage policy field associated with the individual RU handle… corresponds to the determined data type… wherein the plurality of RU handles includes a first RU handle associated with a first data storage policy field corresponding to a first error characteristic and a second RU handle associated with a second data storage policy field corresponding to a second error characteristic, and the selecting is between the first RU handle and second RU handle based on the determined 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 and data characteristics, including based on error characteristics, 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 is taught, and the existence of a first RU handle and the second RU handle associated with different data types corresponding to different corresponding error characteristics, and the selection between them based on data type is an obvious extension of the RUs being composed specifically to take those error characteristics and data types into account.)
generating a data storage policy instruction; communicating the data storage policy instruction to a memory sub-system; and ([0105-0106] and [0122-0123], Helmick teaches the host generate and send information about data to be stored in a particular reclaim unit to the storage device.)
generating an instruction to store the set of data using the individual RU handle selected by the host system. ([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 RU handles defining or being associated with different error correction processes.
However, Agarwal teaches an individual error correction process associated with the individual unit, each of the units being associated with a different error correction process, and a first unit associated with a first data storage policy field corresponding to a first error correction process, and a second unit associated with a second data storage policy field corresponding to a second 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
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 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