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 .
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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 text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
Claim(s) 1-7 and 10 is/are rejected under 35 U.S.C. 103 as being unpatentable over WO 2020/112596, issued to Billa et al., hereafter “Billa,” in view of Gopal et al., US Patent 9,825,648, hereafter “Gopal,” further in view of WO 2009/005758 A2, issued to Laker et al., hereafter “Laker.”
With respect to claim 1, Billa teaches an apparatus comprising:
a plurality of cores (par. 5); and
a compression/decompression accelerator coupled to or integral to one or more of the plurality of cores, the compression/decompression accelerator to perform decompression and compression operations in response to read and write operations, respectively (pars. 80-81),
Billa fails to teach wherein performing a compression job comprises compressing a memory page or a portion thereof by the compression/decompression accelerator, wherein compressing the memory page or the portion thereof through a dictionary is controlled by setting a load dictionary flag in a data structure, and wherein the data structure specifies a first size of dictionary text and a second size of hash table, and a number of pointers per hash table entry.
Gopal teaches:
wherein performing a compression job comprises compressing a memory page or a portion thereof by the compression/decompression accelerator (col. 8, lines 34-49, the data block corresponds to the memory page, which is compressed by the compression engine. Col. 5, lines 25-30 disclose that the compression engine is an accelerator), wherein compressing the memory page or the portion thereof is based on a data structure, and wherein the data structure specifies one or more checksums to protect underlying data (par. 90).
Gopal fails to teach that the data structure specifies an output accumulator to accumulate output data and associated valid bits, a set of Huffman tables, and dictionary data of a dictionary to perform the compression job.
Laker teaches:
a data structure (par. 55, dictionary 146), and wherein the data structure specifies an output accumulator to accumulate output data and associated valid bits (pars. 55-56, dictionary match entries each include a valid bit), a set of Huffman tables (par. 159), and dictionary data of a dictionary to perform the compression job (pars. 54-55, the dictionary is part of a compression/decompression module).
It would have been obvious to one of ordinary skill in the art, having the teachings of Billa and Gopal before him before the earliest effective filing date, to modify the compression method of Billa with the compression method of Gopal, as setting a maximum number of pointers for a hash value of a hash table provides speed advantages for a compression accelerator, as taught by Gopal in col. 5, lines 19-30. Further, it would have been obvious, also having the teachings of Laker before him before the earliest effective filing date, to modify the compression method of Billa and Gopal with the compression method of Laker, in order to accelerate match operations in a dictionary, as taught by Laker in pars. 40-41.
With respect to claim 2, Billa, Gopal and Laker teach all limitations of the parent claim. Billa further teaches the apparatus of claim 1 wherein the compression/decompression accelerator is to match portions of pre-configured dictionary data of the dictionary with portions of the memory page to generate compressed output data (figs. 5 and 9, and par. 84) based on sequences of bytes from the memory page (par. 84, strings of bytes are matched), the compression/decompression accelerator to further be provided with hash tables associated with the pre-configured dictionary data, the compression/decompression accelerator to read pointers from the hash tables based on sequences of bytes from the memory page (par. 7).
With respect to claim 3, Billa, Gopal and Laker teach all limitations of the parent claim. Billa further teaches the apparatus of claim 2 wherein the compression/decompression accelerator is to use the pointers to attempt to match the portions of the pre-configured dictionary data with the portions of the memory page to generate the compressed output data (par. 7)
With respect to claim 4, Billa, Gopal and Laker teach all limitations of the parent claim. Billa further teaches the apparatus of claim 3 wherein the compression/decompression accelerator further comprises: hash logic to execute a hash function using each of the sequences of bytes from the memory page to generate an N-bit value and to use the N-bit value to index one of a set of hash buckets of the hash tables (pars. 104-105).
With respect to claim 5, Billa, Gopal and Laker teach all limitations of the parent claim. Billa further teaches the apparatus of claim 4 wherein the sequences of bytes from the memory page comprises three consecutive bytes and wherein the N-bit value comprises a 10-bit value (pars. 104-105).
With respect to claim 6, Billa, Gopal and Laker teach all limitations of the parent claim. Billa further teaches the apparatus of claim 2 wherein the hash tables comprise a pre-processed version of the dictionary data (par. 104-105).
With respect to claim 7, Billa, Gopal and Laker teach all limitations of the parent claim. Billa further teaches the apparatus of claim 2 wherein the hash tables and pre-configured dictionary data are selected based on characteristics of the compression job and/or the memory page (pars. 116-118).
With respect to claim 10, Billa, Gopal and Laker teach all limitations of the parent claim. Billa further teaches the apparatus of claim 2 wherein the compression/decompression accelerator is to append a compression state data structure including the hash tables and associated pre-configured dictionary data to the compressed output data prior to storing or transmitting the compressed output data (par. 103).
Claim(s) 8-9 and 11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Billa, Gopal and Laker, as applied to claims 1-2, 7, and 10 above, in view of Klein et al., US PGPub 2021/0255999.
With respect to claim 8, Billa, Gopal and Laker teach the apparatus of claim 7, but fail to teach wherein the hash tables and pre-configured dictionary data are selected from a pre-configured group of dictionary styles, including a first dictionary style comprising dictionary data of a first size and hash tables of a first size, a second dictionary style comprising dictionary data of a second size and hash tables of the first size, and a third dictionary style comprising dictionary data of the second size and hash tables of a second size. Klein teaches wherein the hash tables and pre-configured dictionary data are selected from a pre-configured group of dictionary styles, including a first dictionary style comprising dictionary data of a first size and hash tables of a first size, a second dictionary style comprising dictionary data of a second size and hash tables of the first size, and a third dictionary style comprising dictionary data of the second size and hash tables of a second size (par. 37, where there are multiple different sizes of the records).
It would have been obvious to one of ordinary skill in the art, having the teachings of Billa, Gopal, Laker and Klein before him before the earliest effective filing date, to modify the data storage apparatus of Billa, Gopal and Laker with the data storage apparatus of Klein, in order to implement record-based matching, which improves the compression ratio of compression techniques, as taught by Klein in par. 41.
With respect to claim 9, Billa, Gopal, Laker and Klein teach the limitations of the parent claim. Klein further teaches the apparatus of claim 8 wherein the first dictionary style comprises 2 KB dictionary data and 4 KB hash tables, the second dictionary style comprises 4 KB dictionary data and 4 KB hash tables, and the third dictionary style comprises 4 KB dictionary data and 8 KB hash tables (par. 37, where there are different sizes, and the particular size would be merely a design choice).
With respect to claim 11, Billa, Gopal, Laker and Klein teach the limitations of the parent claim, but fail to teach wherein compression/decompression accelerator is to include Huffman tables, output accumulator data, and checksums in the compression state data structure. Klein further teaches the apparatus of claim 10 wherein compression/decompression accelerator is to include Huffman tables, output accumulator data, and checksums in the compression state data structure (par. 34, the Huffman encoder produces the compressed bitstream).
It would have been obvious to one of ordinary skill in the art, having the teachings of Billa, Gopal, Laker and Klein before him before the earliest effective filing date, to modify the data storage apparatus of Billa, Gopal and Laker with the data storage apparatus of Klein, in order to implement record-based matching, which improves the compression ratio of compression techniques, as taught by Klein in par. 41.
Response to Arguments
Applicant's arguments filed 03/11/2026 have been fully considered but they are not persuasive. Applicant’s arguments on pages 5-6 are directed towards Wu failing to teach page-level compression. These arguments are moot, as the Wu reference is no longer being relied upon. Applicant further argues on page 6 that Billa, Wu and Gopal fail to teach the new limitation "the data structure specifies one or more checksums to protect underlying data, an output accumulator to accumulate output data and associated valid bits, a set of Huffman tables, and dictionary data of a dictionary to perform the compression job." These arguments are moot, as the new Laker reference has been supplied to teach this limitation.
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 RYAN DARE whose telephone number is (571)272-4069. The examiner can normally be reached M-F 9:00-5:00.
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.
/RYAN DARE/Examiner, Art Unit 2132
/HOSAIN T ALAM/Supervisory Patent Examiner, Art Unit 2132