Prosecution Insights
Last updated: August 18, 2026
Application No. 18/945,120

Verifying Data Integrity End-to-End in a Storage System

Non-Final OA §103§112§DP
Filed
Nov 12, 2024
Priority
Feb 23, 2024 — provisional 63/557,057 +1 more
Examiner
YOON, ALEXANDER J
Art Unit
2135
Tech Center
2100 — Computer Architecture & Software
Assignee
Pure Storage Inc.
OA Round
2 (Non-Final)
59%
Grant Probability
Moderate
2-3
OA Rounds
1y 5m
Est. Remaining
73%
With Interview

Examiner Intelligence

Grants 59% of resolved cases
59%
Career Allowance Rate
138 granted / 233 resolved
+4.2% vs TC avg
Moderate +14% lift
Without
With
+14.2%
Interview Lift
resolved cases with interview
Typical timeline
3y 2m
Avg Prosecution
7 currently pending
Career history
252
Total Applications
across all art units

Statute-Specific Performance

§101
4.2%
-35.8% vs TC avg
§103
62.8%
+22.8% vs TC avg
§102
8.1%
-31.9% vs TC avg
§112
22.5%
-17.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 233 resolved cases

Office Action

§103 §112 §DP
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This Action is in response to communications filed 05/20/2026. Claims 1-3, 5-6, 10-13, 15-16, and 18-20 are amended. Claims 1-20 are pending. Claims 1-20 are rejected. The Examiner notes the action herein is made as non-final due to presented new grounds of rejection. Response to Amendment In the Remarks filed 05/20/2026, Applicant has amended: The language of claims 1-2, 5-6, 11-12, 15-16, and 18-20 to address the previously identified clarity issues in the claims regarding antecedent basis and grammar. The Examiner therefore withdraws the 112(b) rejections made in the Office action dated 02/23/2026. The Examiner notes the newly presented 112(b) rejection made herein. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claim 6 is rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claim 6 recites “applying an XOR operation to the second intermediate representation” wherein the claim previously recites “second intermediate representation of the data”. The Examiner suggests the addition of “of the data” to the limitation to address the antecedent basis issue. The Examiner points to claim 16 which is previously amended by the Applicant to include the language. Appropriate correction is required. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Brinicombe et al. (US 2015/0301964) in view of Yang et al. (US 8,255,763) and further in view of Pruthi (US 8,645,798). Regarding claim 1, Brinicombe teaches, in the italicized portions, a method comprising: detecting, by a storage system, a data access operation that processes data via a data path between a client of the storage system and a storage device of the storage system for either storing or reading of the data, the data path including at least a first processing stage and a second processing stage (Fig. 3B teaches a write ingest pipeline that handles write operations, where data flows through an ingest pipeline prior to reaching storage); generating, by the storage system based on the data access operation, a first instance of a first checksum at a first time based on a first intermediate representation of the data produced by the first processing stage; generating, by the storage system prior to the second processing stage producing a second intermediate representation of the data, a second checksum comprising a second instance of the first checksum at a second time subsequent to the first time and based on the first intermediate representation of the data; modifying, by the storage system and based on the second checksum being different from the first checksum, the first intermediate representation of the data to generate a corrected first intermediate representation of the data; generating, by the storage system and based on the corrected first intermediate representation of the data, a third checksum (Claim 9, “The data-plane architecture of claim 8, wherein the write pipeline moves the data from the write/ingest memory to the write/emit memory, and wherein during the write pipeline checksums are verified ad the data is encrypted”); and directing, by the storage system and based on verifying that the third checksum matches the first checksum, the second processing stage to generate the second intermediate representation of the data based on the corrected first intermediate representation of the data ([0082] teaches verifying data using stored checksums maintained in a checksum database, where the checksum database serves as an authoritative source for comparison). Herein Brinicombe discloses the write ingestion and verification pipeline. Brinicombe fails to explicitly teach the data storage path including at least a first processing stage and a second processing stage, generating, by the storage system based on the data access operation and a first intermediate representation of the data produced by the first processing stage, a first instance of a first checksum, and generating, by the storage system a second checksum as a second instance of the first checksum at a second time subsequent to the first time and based on the first intermediate representation of the data. Regarding the plurality of processing stages including the first and second processing stages, Yang discloses the data storage path comprising at least a first processing stage (Fig. 1, interleaved code encoder 122) and a second processing stage (Fig. 1, embedded parity code encoder 124). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brinicombe to incorporate the teachings of Yang by including the functionality of having staged processing and intermediate representations of data in order to ensure that subsequent processing stages operate correctly on verified data used as input to the following stage. Brinicombe and Yang do not explicitly address generating, by the storage system based on the data access operation, a first instance of a first checksum at a first time based on a first intermediate representation of the data produced by the first processing stage; generating, by the storage system prior to the second processing stage producing a second intermediate representation of the data, a second checksum comprising a second instance of the first checksum at a second time subsequent to the first time and based on the first intermediate representation of the data. Regarding this aspect of the limitation, Pruthi teaches generating, by the storage system based on the data access operation, a first instance of a first checksum at a first time based on a first intermediate representation of the data produced by the first processing stage ([Col. 8, lines 1-30] teach the limits of summation determining the partial sum that generates each intermediate checksum, and that each RAID controller computes an intermediate checksum, as shown in Equation 8 and [Col. 7, lines 30-44] teach an intermediate sum calculator calculating intermediate, local, partial sums, into which checksum and data calculations are decomposed, and the intermediate sums may be weighted sums of symbols read from the storage devices; [Col. 10, lines 15-30] teach intermediate checksum/data/parity calculations being computed from a linear combination of data words using properties of a Galois field), and generating, by the storage system prior to the second processing stage producing a second intermediate representation of the data, a second checksum comprising a second instance of the first checksum at a second time subsequent to the first time and based on the first intermediate representation of the data ([Col. 10, lines 31-49] teach receiving second and third intermediate checksum that, when combined with the locally calculated first checksum, form a sufficient set to compute a complete checksum; [Col. 10, lines 49-54] teach the resulting data and complete checksum symbols are stored/striped across the disk array). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the combination of Brinicombe and Yang with the teachings of Pruthi by including the functionality of having intermediate checksum calculations to provide integrity information corresponding to transformed intermediate data, as well as reduce computational burden and latency while increasing scalability and throughput (Pruthi [Col. 5, lines 1-8] The use of intermediate data symbols, intermediate checksum symbols, cluster configuration information on the assignment of data storage devices to clusters and the operational status of data storage devices, and the like, can reduce the computational burden and latency for the error correction calculations while increasing the scalability and throughput of the parallel RS-RAID distributed data storage architecture). Brinicombe, Yang, and Pruthi are analogous art because they are directed to the same field of endeavor of multi-stage memory systems. Regarding claim 2, Brinicombe, Yang, and Pruthi in combination disclose the method of claim 1, wherein the modifying the first intermediate representation of the data to generate a corrected first intermediate representation of the data comprises: determining, based on at least one of the first checksum or the second checksum, one or more bits of the first intermediate representation of the data to modify; and modifying the one or more bits (Brinicombe [0045] and [0081]). Herein Brinicombe disclose error correcting algorithms wherein bit modification is a part of the error correction process. Regarding claim 3, Brinicombe, Yang, and Pruthi in combination disclose the method of claim 1, wherein the data path consists of a plurality of processing stages including the first processing stage and the second processing stage; and the method further comprises: generating, at each processing stage of the plurality of stages, a respective checksum; and verifying, prior to proceeding to a subsequent processing stage, the respective checksum (Yang, Fig. 6B, block 662; the reference teaches multi-stage processing and verification before proceeding). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Brinicombe to incorporate the teachings of Yang by including the functionality of multi-stage processing and verification before proceeding to ensure reliability of the processing stage before providing the output as input to the next stage of processing. Regarding claim 4, Brinicombe, Yang, and Pruthi in combination disclose the method of claim 3, wherein the generating the respective checksum at each processing stage is performed in conjunction with the processing the data at each processing stage (Yang, Fig. 6A teaches evaluating parity and reliability metrics before continuing the decoding process). Claim 4 is rejected on a similar basis as claim 3. Regarding claim 5, Brinicombe, Yang, and Pruthi in combination disclose the method of claim 1, further comprising: generating, based on the second intermediate representation of the data and the third checksum, a fourth checksum; and verifying the second intermediate representation of the data using the fourth checksum to generate another instance of the third checksum (Yang Figure 6A and 6B and corresponding disclosure). Herein Yang addresses the plurality of processing stages and intermediate parity evaluations to ensure data validity across the stages. Regarding claim 6, Brinicombe, Yang, and Pruthi in combination disclose the method of claim 5, wherein the generating the fourth checksum and the verifying the second intermediate representation of the data comprise applying an XOR operation to the second intermediate representation (Yang [Col. 9 ln. 4-12]). Herein Yang identifies performing a XOR operation as part of the bit comparison. Regarding claim 7, Brinicombe, Yang, and Pruthi in combination disclose the method of claim 1, wherein the processing the data comprises a transforming of the data (Pruthi [Col. 7 ln. 30-44] wherein checksum and data calculations involve data manipulation). Herein the plurality of calculations performed by Pruthi require transforming the data. Regarding claim 8, Brinicombe, Yang, and Pruthi in combination disclose the method of claim 7, wherein the transforming comprises at least one of compressing the data, merging the data, splitting the data, encrypting the data, or generating erasure codes for the data (Brinicombe [0055]). Herein Brinicombe identifies the processing steps include compression, encryption, etc. Regarding claim 9, Brinicombe, Yang, and Pruthi in combination disclose the method of claim 1, wherein the processing the data comprises a transmission of the data from a first component of the storage system to a second component of the storage system (Brinicombe [0053]). Herein Brinicombe identifies data movement in the pipeline. Regarding claim 10, Brinicombe, Yang, and Pruthi in combination disclose the method of claim 1, wherein the generating the checksum is performed in conjunction with a generating of the first intermediate representation of the data at the first processing stage (Brinicombe [0055] and [0080]). Herein Brinicombe identifies the processing steps include the checksum generation as part of the pipeline. Regarding claim 11, the claim is a system with limitations similar to the method of claim 1, and is rejected under the same rationale. Regarding claim 12, the claim is a system with limitations similar to the method of claim 2, and is rejected under the same rationale. Regarding claim 13, the claim is a system with limitations similar to the method of claim 3, and is rejected under the same rationale. Regarding claim 14, the claim is a system with limitations similar to the method of claim 4, and is rejected under the same rationale. Regarding claim 15, the claim is a system with limitations similar to the method of claim 5, and is rejected under the same rationale. Regarding claim 16, the claim is a system with limitations similar to the method of claim 6, and is rejected under the same rationale. Regarding claim 17, the claim is a system with limitations similar to the method of claim 8, and is rejected under the same rationale. Regarding claim 18, the claim is a computer program product with limitations similar to the method of claim 1, and is rejected under the same rationale. Regarding claim 19, the claim is a computer program product with limitations similar to the method of claim 2, and is rejected under the same rationale. Regarding claim 20, the claim is a computer program product with limitations similar to the method of claim 5, and is rejected under the same rationale. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the claims at issue are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the reference application or patent either is shown to be commonly owned with this application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The USPTO internet Web site contains terminal disclaimer forms which may be used. Please visit http://www.uspto.gov/forms/. The filing date of the application will determine what form should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to http://www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp. Claims 1-20 are provisionally rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1 and 3-20 of copending US Application No. 18/944,637. Although the claims at issue are not identical, they are not patentably distinct from each other because the claims of the instant application are of similar recitation of those in the ‘637 application as demonstrated by the comparison below. Instant Application Application 18/944,637 A method comprising: detecting, by a storage system, a data access operation that processes data via a data path between a client of the storage system and a storage device of the storage system for either storing or reading of the data, the data path including at least a first processing stage and a second processing stage; generating, by the storage system based on the data access operation, a first instance of a first checksum at a first time based on a first intermediate representation of the data produced by the first processing stage; generating, by the storage system prior to the second processing stage producing a second intermediate representation of the data, a second checksum comprising a second instance of the first checksum at a second time subsequent to the first time and based on the first intermediate representation of the data; modifying, by the storage system and based on the second checksum being different from the first checksum, the first intermediate representation of the data to generate a corrected first intermediate representation of the data; generating, by the storage system and based on the corrected first intermediate representation of the data, a third checksum; and directing, by the storage system and based on verifying that the third checksum matches the first checksum, the second processing stage to generate the second intermediate representation of the data based on the corrected first intermediate representation of the data. A method comprising: detecting, by a storage system, a write command that initiates a data storage operation, wherein the data storage operation includes processing data via a data storage path from intake of the data into the storage system to storing the data in a storage device of the storage system, the data storage path comprising at least a first processing stage and a second processing stage; generating, by the storage system and based on a first intermediate representation of the data produced by the first processing stage, a first checksum, the first intermediate representation of the data comprising a transformed representation of the data; verifying, by the storage system prior to the second processing stage producing a second intermediate representation of the data, the first checksum; directing, by the storage system and based on the verifying the first checksum, the second processing stage to produce the second intermediate representation of the data based on the first intermediate representation of the data; and generating, by the storage system and based on the second intermediate representation of the data produced by the second processing stage, a second checksum. The method of claim 1, wherein the modifying the first intermediate representation of the data to generate a corrected first intermediate representation of the data comprises: determining, based on at least one of the first checksum or the second checksum, one or more bits of the first intermediate representation of the data to modify; and modifying the one or more bits. The method of claim 1, wherein the data path consists of a plurality of processing stages including the first processing stage and the second processing stage; and the method further comprises: generating, at each processing stage of the plurality of stages, a respective checksum; and verifying, prior to proceeding to a subsequent processing stage, the respective checksum. The method of claim 1, wherein the transforming comprises at least one of compressing the data, merging the data, splitting the data, encrypting the data, or generating erasure codes for the data. The method of claim 3, wherein the generating the respective checksum at each processing stage is performed in conjunction with the processing the data at each processing stage. The method of claim 1, wherein the processing the data comprises a transmission of the data from a first component of the storage system to a second component of the storage system. The method of claim 1, further comprising: generating, based on the second intermediate representation of the data and the third checksum, a fourth checksum; and verifying the second intermediate representation of the data using the fourth checksum to generate another instance of the third checksum. The method of claim 1, wherein the verifying the first checksum comprises: generating an additional instance of the first checksum based on the first intermediate representation; and comparing the additional instance of the first checksum to the first checksum. The method of claim 5, wherein the generating the fourth checksum and the verifying the second intermediate representation of the data comprise applying an XOR operation to the second intermediate representation. The method of claim 5, further comprising: determining, based on the comparing, that the additional instance of the first checksum is different from the first checksum; and directing, based on the determining that the additional instance of the first checksum is different from the first checksum, the first processing stage to generate an additional instance of the first intermediate representation of the data. The method of claim 1, wherein the processing the data comprises a transforming of the data. The method of claim 5, further comprising: determining, based on the comparing, that the additional instance of the first checksum is different from the first checksum; and applying, based on the determining that the additional instance of the first checksum is different from the first checksum, an error correcting algorithm to the first intermediate representation of the data. The method of claim 7, wherein the transforming comprises at least one of compressing the data, merging the data, splitting the data, encrypting the data, or generating erasure codes for the data. The method of claim 1, wherein the generating the first checksum is performed in conjunction with a generating of the first intermediate representation at the first processing stage. The method of claim 1, wherein the processing the data comprises a transmission of the data from a first component of the storage system to a second component of the storage system. The method of claim 1, wherein: the data storage path consists of a plurality of processing stages including the first processing stage and the second processing stage; and the method further comprises: generating at each processing stage of the plurality of stages, a respective checksum; and verifying, prior to proceeding to a subsequent processing stage, the respective checksum. The method of claim 1, wherein the generating the checksum is performed in conjunction with a generating of the first intermediate representation of the data at the first processing stage. The method of claim 9, wherein the generating the respective checksum at each processing stage is performed in conjunction with processing the data at each processing stage. A system comprising: a memory storing instructions; and one or more processors communicatively coupled to the memory and configured to execute the instructions to perform a process comprising: detecting a data access operation that processes data via a data path between a client of a storage system and a storage device of the storage system for either storing or reading of the data, the data path including at least a first processing stage and a second processing stage; generating, based on the data access operation, a first instance of a first checksum at a first time based on a first intermediate representation of the data produced by the first processing stage; generating, prior to the second processing stage producing a second intermediate representation of the data, a second checksum comprising a second instance of the first checksum at a second time subsequent to the first time and based on the first intermediate representation of the data; modifying, based on the second checksum being different from the first checksum, the first intermediate representation of the data to generate a corrected first intermediate representation of the data; generating, based on the corrected first intermediate representation of the data, a third checksum; and directing, based on verifying that the third checksum matches the first checksum, the second processing stage to generate the second intermediate representation of the data based on the corrected first intermediate representation of the data. The method of claim 1, further comprising: detecting a read command that initiates a data retrieval operation, wherein the data retrieval operation includes processing the data via a data retrieval path from the storage device to output of the data from the storage system, the data retrieval path comprising at least a third processing stage that corresponds to the second processing stage of the data storage path and a fourth processing stage that corresponds to the first processing stage of the data storage path; verifying, prior to the third processing stage producing an additional instance of the first intermediate representation of the data, the second checksum; directing, based on the verifying the second checksum, the third processing stage to produce the additional instance of the first intermediate representation of the data based on the second intermediate representation of the data; generating, based on the additional instance of the first intermediate representation of the data, an additional instance of the first checksum; verifying, prior to the fourth processing stage producing an additional instance of the data, the additional instance of the first checksum; and providing, based on the verifying the additional instance of the first checksum, the additional instance of the data as an output to the read command. The system of claim 11, wherein the modifying the first intermediate representation of the data to generate a corrected first intermediate representation of the data comprises: determining, based on at least one of the first checksum or the second checksum, one or more bits of the first intermediate representation of the data to modify; and modifying the one or more bits. The method of claim 11, wherein: the first checksum is stored in the storage system in response to the write command; and the verifying the additional instance of the checksum comprises comparing the additional instance of the first checksum with the first checksum. The system of claim 11, wherein the data path consists of a plurality of processing stages including the first processing stage and the second processing stage; and the process further comprises: generating, at each processing stage of the plurality of stages, a respective checksum; and verifying, prior to proceeding to a subsequent processing stage, the respective checksum. A system comprising: a memory storing instructions; and one or more processors communicatively coupled to the memory and configured to execute the instructions to perform a process comprising: detecting a write command that initiates a data storage operation, wherein the data storage operation includes processing data via a data storage path from intake of the data into a storage system to storing the data in a storage device of the storage system, the data storage path comprising at least a first processing stage and a second processing stage; generating, based on a first intermediate representation of the data produced by the first processing stage, a first checksum, the first intermediate representation of the data comprising a transformed representation of the data; verifying, prior to the second processing stage producing a second intermediate representation of the data, the first checksum; directing, based on the verifying the first checksum, the second processing stage to produce the second intermediate representation of the data based on the first intermediate representation of the data; and generating, based on the second intermediate representation of the data produced by the second processing stage, a second checksum. The system of claim 13, wherein the generating the respective checksum at each processing stage is performed in conjunction with the processing the data at each processing stage. The system of claim 13, wherein the processing the data comprises at least one of compressing the data, merging the data, splitting the data, encrypting the data, or generating erasure codes for the data. The system of claim 11, wherein the process further comprises: generating, based on the second intermediate representation of the data and the third checksum, a fourth checksum; and verifying the second intermediate representation of the data using the fourth checksum to generate another instance of the third checksum. The system of claim 13, wherein the processing the data comprises a transmission of the data from a first component of the storage system to a second component of the storage system. The system of claim 15, wherein the generating the fourth checksum and the verifying the second intermediate representation of the data comprises applying an XOR operation to the second intermediate representation of the data. The system of claim 13, wherein the generating the first checksum is performed in conjunction with a generating of the first intermediate representation at the first processing stage. The system of claim 11, wherein the processing the data comprises at least one of compressing the data, merging the data, splitting the data, encrypting the data, generating erasure codes for the data, or transmitting the data from a first component of the storage system to a second component of the storage system. The system of claim 16, wherein: the data storage path consists of a plurality of processing stages including the first processing stage and the second processing stage; and the process further comprises: generating at each processing stage of the plurality of stages, a respective checksum; and verifying, prior to proceeding to a subsequent processing stage, the respective checksum. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for: detecting a data access operation that processes data via a data path between a client of a storage system and a storage device of the storage system for either storing or reading of the data, the data path including at least a first processing stage and a second processing stage; generating, based on the data access operation, a first instance of a first checksum at a first time based on a first intermediate representation of the data produced by the first processing stage; generating, prior to the second processing stage producing a second intermediate representation of the data, a second checksum comprising a second instance of the first checksum at a second time subsequent to the first time and based on the first intermediate representation of the data; modifying, based on the second checksum being different from the first checksum, the first intermediate representation of the data to generate a corrected first intermediate representation of the data; generating, based on the corrected first intermediate representation of the data, a third checksum; and directing, based on verifying that the third checksum matches the first checksum, the second processing stage to generate the second intermediate representation of the data based on the corrected first intermediate representation of the data. The system of claim 13, the process further comprising: detecting a read command that initiates a data retrieval operation, wherein the data retrieval operation includes processing the data via a data retrieval path from the storage device to output of the data from the storage system, the data retrieval path comprising at least a third processing stage that corresponds to the second processing stage of the data storage path and a fourth processing stage that corresponds to the first processing stage of the data storage path; verifying, prior to the third processing stage producing an additional instance of the first intermediate representation of the data, the second checksum; directing, based on the verifying the second checksum, the third processing stage to produce the additional instance of the first intermediate representation of the data based on the second intermediate representation of the data; generating, based on the additional instance of the first intermediate representation of the data, an additional instance of the first checksum; verifying, prior to the fourth processing stage producing an additional instance of the data, the additional instance of the first checksum; and providing, based on the verifying the additional instance of the first checksum, the additional instance of the data as an output to the read command. The computer program product of claim 18, wherein the modifying the first intermediate representation of the data to generate a corrected first intermediate representation of the data comprises: determining, based on at least one of the first checksum or the second checksum, one or more bits of the first intermediate representation of the data to modify; and modifying the one or more bits. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for: detecting a write command that initiates a data storage operation, wherein the data storage operation includes processing data via a data storage path from intake of the data into a storage system to storing the data in a storage device of the storage system, the data storage path comprising at least a first processing stage and a second processing stage; generating, based on a first intermediate representation of the data produced by the first processing stage, a first checksum, the first intermediate representation of the data comprising a transformed representation of the data; verifying, prior to the second processing stage producing a second intermediate representation of the data, the first checksum; directing, based on the verifying the first checksum, the second processing stage to produce the second intermediate representation of the data based on the first intermediate representation of the data; and generating, based on the second intermediate representation of the data produced by the second processing stage, a second checksum. The computer program product of claim 18, further comprising computer instructions for: generating, based on the second intermediate representation of the data and the third checksum, a fourth checksum; and verifying the second intermediate representation of the data using the fourth checksum to generate another instance of the third checksum. The computer program product of claim 19, further comprising computer instructions for:detecting a read command that initiates a data retrieval operation, wherein the data retrieval operation includes processing the data via a data retrieval path from the storage device to output of the data from the storage system, the data retrieval path comprising at least a third processing stage that corresponds to the second processing stage of the data storage path and a fourth processing stage that corresponds to the first processing stage of the data storage path; verifying, prior to the third processing stage producing an additional instance of the first intermediate representation of the data, the second checksum; directing, based on the verifying the second checksum, the third processing stage to produce the additional instance of the first intermediate representation of the data based on the second intermediate representation of the data; generating, based on the additional instance of the first intermediate representation of the data, an additional instance of the first checksum; verifying, prior to the fourth processing stage producing an additional instance of the data, the additional instance of the first checksum; and providing, based on the verifying the additional instance of the first checksum, the additional instance of the data as an output to the read command. Regarding claim 1 and claim 11, the claims of the instant application is substantially similar to that of Claims 1, 5, 6, 7, and 11 of the ‘637 Application as noted by the unbolded portions of each claim in the table above. The bolded portions of claim 1 of the instant application and ‘637 Application notes the differences and the ‘637 Application and the overlapping scope regarding the generation of an additional instance, or second instance, of the first checksum and the error correction capabilities to generate a corrected first intermediate representation of the data as the second intermediate representation. Regarding claim 2 of the instant application, the limitations are substantially identical to claim 1, 5, and 7 of the ‘637 Application. Herein it would be obvious to one of ordinary skill in the art that the error correcting algorithm as performed in claim 7 of ‘637 Application involves modifying bits of the first intermediate representation of the data. Regarding claim 3 of the instant application, the limitations are substantially identical to claim 9 of the ‘637 Application. Regarding claim 4 of the instant application, the limitations are substantially identical to claim 10 of the ‘637 Application. Regarding claims 5 and 6 and claims 15 and 16 and claim 20 of the instant application, the limitations are substantially identical to claim 1, claim 5, and claim 6 of the ‘637 Application. One of ordinary skill in the art would be motivated to perform additional checksum generation and verification steps as recited to ensure data validity at each processing stage. Furthermore, XOR operations are commonly known to one of ordinary skill in the art for performing data comparisons. One of ordinary skill in the art may recognize the method steps of claims 1, 5, and 6 of the ‘637 Application may be performed in the structure of the system of claims 15 and 16 and computer program product of claim 20 of the instant application. Regarding claim 7 of the instant application, the limitations are substantially identical to claim 1 of the ‘637 Application. Regarding claim 8 of the instant application, the limitations are substantially identical to claim 3 of the ‘637 Application. Regarding claim 9 of the instant application, the limitations are substantially identical to claim 4 of the ‘637 Application. Regarding claim 10 of the instant application, the limitations are substantially identical to claim 8 of the ‘637 Application. Regarding claim 12 of the instant application, the limitations are substantially identical to claim 1, 5, and 7 of the ‘637 Application.. Regarding claim 13 of the instant application, the limitations are substantially identical to claim 9 of the ‘637 Application. Regarding claim 14 of the instant application, the limitations are substantially identical to claim 10 of the ‘637 Application. Regarding claim 17 of the instant application, the limitations are substantially identical to claim 14 and 15 of the ‘637 Application. Regarding claim 18 of the instant application, the limitations are substantially identical to claim 19 of the ‘637 Application. Regarding claim 19 of the instant application, the limitations are substantially identical to claim 1, 5, and 7 of the ‘637 Application.. This is a provisional nonstatutory double patenting rejection because the patentably indistinct claims have not in fact been patented. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALEXANDER J YOON whose telephone number is (408)918-7629. The examiner can normally be reached on Monday-Friday 8am-3pm ET. The examiner’s email is alexander.yoon2@uspto.gov. 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, Jared Rutz can be reached on 571-272-5535. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /ALEXANDER YOON/ Examiner, Art Unit 2135 /JARED I RUTZ/Supervisory Patent Examiner, Art Unit 2135
Read full office action

Prosecution Timeline

Nov 12, 2024
Application Filed
Feb 23, 2026
Non-Final Rejection mailed — §103, §112, §DP
May 20, 2026
Response Filed
Aug 03, 2026
Non-Final Rejection mailed — §103, §112, §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12704985
METHODS AND APPARATUS FOR AN ADAPTIVE AND SERVICE LEVEL AGREEMENT AWARE PAGING SYSTEM
2y 6m to grant Granted Aug 11, 2026
Patent 12681868
SYSTEMS AND METHODS FOR ADAPTIVE CACHE CONFIGURATION
3y 1m to grant Granted Jul 14, 2026
Patent 12656973
OPTIMIZED COMMAND QUEUES WITH LOW LATENCY
1y 10m to grant Granted Jun 16, 2026
Patent 12645614
TECHNIQUES FOR EFFICIENT PRE-FETCH DATA BUFFER MANAGEMENT BY A MEMORY CONTROLLER
3y 0m to grant Granted Jun 02, 2026
Patent 12645382
COLLECTOR MODULE COORDINATION FOR INGESTION OF DATA FROM A DATA SOURCE
2y 2m to grant Granted Jun 02, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

2-3
Expected OA Rounds
59%
Grant Probability
73%
With Interview (+14.2%)
3y 2m (~1y 5m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 233 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

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

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month