DETAILED ACTION
This office action is in response to the application filed on 11/28/2022.
Claims 1-17 are pending in the application and have been examined.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1, 3, 5-11, and 15-17 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Arimilli (U.S. Patent 7,921,275).
Regarding claims 1 and 16-17, Arimilli discloses a non-transitory, computer-readable medium comprising machine-readable instructions that, when the machine-readable instructions are executed on a processor, causes the processor to: pre-fetch to a processor cache, using data transfer offloading circuitry of the processor, data being accessed by an application program from a main memory of the computer system [col. 22, lines 13-48; data is prefetched from a memory to a cache]; and execute the application program using the pre-fetched data that is stored in the processor cache [col. 23, lines 4-6; the data in the cache is then consumed by a program executing on the processor].
Regarding claim 3, Arimilli discloses the non-transitory, computer-readable medium according to claim 1, wherein the data is prefetched to a last-level cache of the processor [col. 22, line 35; data is transferred to the L3 cache].
Regarding claim 5, Arimilli discloses the non-transitory, computer-readable medium according to claim 1, wherein the machine-readable instructions comprise instructions to pre-fetch, using a core of the processor, second data being accessed by the application program from the main memory of the computer system to the processor cache of the processor [col. 22, lines 13-48; data is prefetched from memory into a cache in response to a request from a processor].
Regarding claim 6, Arimilli discloses the non-transitory, computer-readable medium according to claim 5, wherein the data being pre-fetched by the data transfer offloading circuitry is different from the second data being fetched by the core of the processor [col. 22, lines 13-48; data is prefetched from memory into a cache in response to a request from a processor].
Regarding claim 7, Arimilli discloses the non-transitory, computer-readable medium according to claim 5, wherein the machine-readable instructions comprise instructions to select at least one of the data being pre-fetched by the data transfer offloading circuitry and the second data being fetched by the core of the processor [col. 22, line 13 – col. 23, line 25; data is selected for prefetching and then selected for use in execution].
Regarding claim 8, Arimilli discloses the non-transitory, computer-readable medium according to claim 7, wherein the selection is based on at least one of a number of concurrent data transfers supported by the data transfer offloading circuitry, a number of computation threads of the application program being executed, and a number of cores of the processor being used for executing the application program [col. 22, lines 13-48; the selected data is dependent on the data being moved as part of an asynchronous memory move].
Regarding claim 9, Arimilli discloses the non-transitory, computer-readable medium according to claim 5, wherein the data and second data are processed simultaneously by the execution of the application program [col. 22, line 13 – col. 23, line 25; prefetching of data overlaps with execution of data].
Regarding claim 10, Arimilli discloses the non-transitory, computer-readable medium according to claim 5, wherein the data and second data are processed subsequently by the execution of the application program [col. 22, line 13 – col. 23, line 25; processing of data occurs subsequently to other processing of data].
Regarding claim 11, Arimilli discloses the non-transitory, computer-readable medium according to claim 1, wherein the pre-fetching of the data and the execution of the application program are synchronized [col. 22, line 13 – col. 23, line 25; data is prefetched and then used in execution].
Regarding claim 15, Arimilli discloses the non-transitory, computer-readable medium according to claim 1, wherein the data transfer offloading circuitry of the processor being used to pre-fetch the data is a data streaming accelerator circuitry of the processor [col. 22, lines 13-48; the data is prefetched using asynchronous memory move hardware].
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 2 and 4 are rejected under 35 U.S.C. 103 as being unpatentable over Arimilli in view of Official Notice.
Regarding claim 2, Arimilli does not explicitly disclose instructions to subsequently pre-fetch a first portion and a second portion of the data from the main memory to the processor cache, with the execution of the application program being based on the pre-fetched first portion of data while the second portion of the data is being pre-fetched, and with the execution of the application program being based on the pre-fetched second portion of data after the execution being based on the first portion of data is completed. However, the examiner takes official notice that such practice (known as DMA double buffering) and its benefits were notoriously well known at the time of the invention. Such practice allows for efficient execution of prefetched data in the same way that pipelining allows for efficient execution and would therefore have been obvious in the system of Arimilli.
Regarding claim 4, Arimilli does not explicitly disclose the use of dynamic random-access memory. However, the examiner takes official notice that the use and benefits of DRAM were notoriously well known at the time of the invention. Such use would therefore have been obvious in the system of Arimilli.
Claims 12-13 are rejected under 35 U.S.C. 103 as being unpatentable over Arimilli in view of Schroter (U.S. Patent 6,401,192).
Regarding claims 12-13, Arimilli discloses performing calculations based on the prefetched data [col. 23, lines 1-25; the data is used in program execution], but does not explicitly disclose using instructions in the application program to control the prefetching of data. However, Schroter discloses [col. 2, lines 43-67] such a system for controlling prefetching. Such a system allows for software control of prefetching data which allows for lower cache miss rates at a small hardware cost. Such operation would therefore have been obvious in the system of Arimilli.
Allowable Subject Matter
Claim 14 is 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.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Corey Faherty whose telephone number is (571)270-1319. The examiner can normally be reached weekdays between 7:30 and 4:00 ET, with every other Friday off.
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, Jyoti Mehta can be reached at (571) 270-3995. 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.
/COREY S FAHERTY/Primary Examiner, Art Unit 2183