DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
The amendments filed 6/22/2026 have been accepted. Claims 1-3, 5-14, and 16-20 are still pending. Claims 1, 12-14, and 18-20 are amended. Claims 4 and 15 have been canceled. Applicant’s amendments to the claims have overcome each and every 101 rejection previously set forth in the Non-Final Office Action mailed 3/23/2026.
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, 2, 9, 11-13, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Dronamraju et al. (US PGPub 2013/0238832, hereafter referred to as Dronamraju) in view of Colgrove et al. (US PGPub 2013/0097380, hereafter referred to as Colgrove).
Regarding claim 1, Dronamraju teaches a data deduplication method, comprising: receiving a write request that comprises a first data block, writing the first data block into a storage device (Paragraph [0050], describes the post-processing deduplication process which involves first storing blocks from a write request meaning the write request would have to be received), and the metadata of the first data block comprises a first fingerprint corresponding to the first data block and address information of the first data block (Paragraph [0050], states that fingerprints can be used for the deduplication process. Paragraph [0028], states that blocks have address associated with them), and when the metadata structure includes a fingerprint that is the same as the first fingerprint corresponding to the first data block, deleting the metadata of the first data block and deleting the first data block from the storage device based on the address information of the first data block (Paragraph [0050], as stated previously, describes the post-processing deduplication process which involves detecting to see if there is a match (using the fingerprints), if there is a match: deleting the previously stored data and updating the entry for the fingerprint that already exists). Dronamraju does not teach a write request that comprises a first data block and a second data block, writing metadata of the first data block into a first partition in a plurality of partitions of a metadata management structure, wherein the first partition is determined based on a feature of the first data block, and when the first partition includes a fingerprint that is the same as the first fingerprint corresponding to the first data block, deleting the metadata of the first data block in the first partition and deleting the first data block from the storage device based on the address information of the first data block, writing the second data block into the storage device; and writing metadata of the second data block into a second partition in the plurality of partitions of the metadata management structure, wherein the metadata of the second data block comprises a second fingerprint, and wherein a capacity of the second partition is less than a capacity of the first partition when hotness of the second fingerprint corresponding to the second data block is greater than hotness of the first fingerprint corresponding to the first data block.
Colgrove teaches a write request that comprises a first data block and a second data block (Paragraph [0047], data in a write request may be partitioned into multiple blocks meaning the write contains multiple blocks as it can be partitioned into them), writing metadata of the first data block into a first partition in a plurality of partitions of a metadata management structure (Paragraph [0053], describes the multiple fingerprint tables (partitions of a metadata structure) that the metadata for the data would need to be written to), wherein the first partition is determined based on a feature of the first data block (Paragraph [0053], states that entries can be added to a particular table based on a particular feature of the data), and when the first partition includes a fingerprint that is the same as the first fingerprint corresponding to the first data block, deleting the metadata of the first data block in the first partition and deleting the first data block from the storage device based on the address information of the first data block (Paragraph [0062], states deduplication can be done using post-processing deduplication which, also described in Dronamraju, involves first saving the data to memory and then checking for duplicates and deleting any data that is determined to duplicates and update the metadata tables accordingly), writing the second data block into the storage device; and writing metadata of the second data block into a second partition in the plurality of partitions of the metadata management structure, wherein the metadata of the second data block comprises a second fingerprint (Paragraphs [0053] and [0056], as stated previously, if a different piece of data has a different access rate and that is the attribute being used to determine which table to store its entry in then it would mean that the data would be written to storage (as is standard procedure for writes in the system) and then its metadata would be written into the appropriate table which can be different from the first table. Fig. 4 and Paragraph [0068], show the attributes that can be associated with data which includes access rate (hotness) which means the hotness can be used at the attribute for selecting the table), and wherein a capacity of the second partition is less than a capacity of the first partition when hotness of the second fingerprint corresponding to the second data block is greater than hotness of the first fingerprint corresponding to the first data block (Paragraph [0053], states that one of the tables may be a subset of another table meaning it would have less capacity as it is smaller). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify the teachings of Dronamraju to utilize the fingerprint tables as taught in Colgrove so to efficiently remove duplicate data blocks at a fine-granularity from a storage array (Colgrove, Paragraph [0002]).
Regarding claim 2, Dronamraju and Colgrove teach all the limitations to claim 1. Colgrove further teaches wherein the feature of the first data block is the first fingerprint corresponding to the first data block (Paragraph [0053] and [0056], states that the fingerprint can be stored in the fingerprint tables with the other attributes of the data), and wherein the writing metadata of the first data block into the first partition in the plurality of partitions of the metadata management structure comprises: determining hotness of the first fingerprint corresponding to the first data block, determining, based on the hotness of the first fingerprint corresponding to the first data block, the first partition that is in the plurality of partitions of the metadata management structure and that corresponds to the hotness of the first fingerprint of the first data block, and writing the metadata of the first data block into the first partition (Paragraph [0053], states that entries (metadata) can be added to tables based on a particular attribute of the data. Fig. 4 and Paragraph [0068], show the attributes that can be associated with data which includes access rate (hotness) which means the hotness can be used at the attribute for selecting the table). The combination of and reason for combining are the same as those given in claim 1.
Regarding claim 9, Dronamraju and Colgrove teach all the limitations to claim 1. Colgrove further teaches wherein the address information of the first data block is a logical address of the first data block, and the method further comprises: writing the logical address and a physical address of the first data block into an address mapping table (Paragraph [0058], states that mapping tables can exist that map the virtual to physical addresses), and wherein the deleting the first data block from the storage device based on the address information of the first data block comprises: obtaining the physical address of the first data block from an address mapping table based on the logical address of the first data block, finding the first data block from the storage device based on the physical address; and deleting the first data block (Paragraphs [0062] and [0072], while not explicitly stated, one of ordinary skill would recognize that in order to delete the already stored data, it would first have to be located (the purpose of the mapping tables existence), and then deleted from the identified location. It should be noted that this is the standard process of deleting data in any system). The combination of and reason for combining are the same as those given in claim 1.
Regarding claim 11, Dronamraju and Colgrove teach all the limitations to claim 9. Colgrove further teaches when at least one partition of the metadata management structure meets an eviction condition, evicting metadata in the at least one partition (Paragraph [0066], states that there are conditions that will result in entries being evicted from a particular table). The combination of and reason for combining are the same as those given in claim 1.
Regarding claims 12 and 13, claims 12 and 13 are the apparatus claims associated with claims 1 and 2. Since Dronamraju and Colgrove teach all the limitations to claims 1 and 2 and Dronamraju teaches at least one processor and at least one storage, the at least one storage stores a program code for execution by the at least one processor, the program code including computer-readable instructions (Paragraph [0070], describes the computer readable medium which can be a storage device that when used by a processor executes the program code stored on it), they also teach all the limitations to claims 12 and 13; therefore the rejections to claims 1 and 2 also apply to claims 12 and 13.
Regarding claim 20, claim 20 is the computer program product claim associated with claim 1. Since Dronamraju and Colgrove teach all the limitations to claims 1, they also teach all the limitations to claim 20; therefore the rejection to claim 1 also applies to claim 20.
Allowable Subject Matter
Claims 3, 5-8, 10, 14, and 16-19 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Response to Arguments
Applicant's arguments filed 6/22/2026 have been fully considered but they are not persuasive. The applicant argues that the references, particularly Colgrove, do not teach the amended limitations of the independent claims. The examiner respectfully disagrees. Paragraph [0053], as cited in the rejection, gives examples of how many fingerprints that a particular table may contain. While the term “capacity” is not explicitly used, one of ordinary skill would easily recognize that if a table only contains 5% of the fingerprints and another contains 10% the one that contains 10% would be larger in capacity as it contains more. Therefore the rejections still hold.
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 NICHOLAS A PAPERNO whose telephone number is (571)272-8337. The examiner can normally be reached Mon-Fri 9:30-5 EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hosain Alam can be reached at 571-272-3978. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/NICHOLAS A. PAPERNO/Examiner, Art Unit 2132