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 .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 3/16/2026 has been entered.
Response to Amendment
The amendments filed 3/16/2026 have been accepted. Claims 1, 2, 6-10, 12, 14, 16, and 17 are still pending. Claims 1, 6, 7, 9, 12, 14, and 16 are amended. Claims 3-5, 11, 13, 15, and 18-20 have been canceled. Applicant’s amendments to the claims have overcome each and every 103 rejection previously set forth in the Final Office Action mailed 11/17/2025.
Terminal Disclaimer
The terminal disclaimer filed has been accepted and the double patenting rejection withdrawn.
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.
Claims 6-8 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. Claim 6 now contains a second recitation of “a control register” which is now present in the currently amended claim 1. Since there are now two different recitations of “a control register” it leads to confusion as to whether or not there is one or more control registers present. For examination purposes the “a control register” of claim 6 will be construed to be the same as the “a control register” of claim 1.
Since claim 6 is rendered indefinite so too are the claims dependent upon it.
Claim Rejections - 35 USC § 103
Claims 1, 2, 9, 10, 16, and 17 are rejected under 35 U.S.C. 103 as being unpatentable over Favor et al. (US Patent 8370609, hereafter referred to as Favor) in view of Jacobi et al. (US PGPub 2019/0018780, hereafter referred to as Jacobi) in view of So et al. (US PGPub 2007/0094664, hereafter referred to as So).
Regarding claim 1, Favor teaches a system, comprising: a first cache set, a second cache set (Col. 15, lines 30-37, states that the L1 cache can be a 2-way set associative cache), wherein when an execution type identified by the processor changes from speculative execution to non-speculative execution, the logic circuit is configured to: change a state of a first cache set and second cache set in response to a status of speculative execution indicating that a result of speculative execution is to be accepted (Col. 16, lines 1-52, describes the process of completing speculative operations that either involve committing the speculative operation when it is accepted (thereby becoming non-speculative as well as changing the states of the sets of the cache that the data is stored in) or rolling back the operation using the checkpoint in the VCC that would maintain the states of the cache before the speculative operation), wherein the first logical cache is a normal cache for non-speculative execution by the processor, and wherein the second logical cache is a shadow cache for speculative execution by the processor (Fig. 1 shows that each core contains L1, L2, and L3 caches to be used. Col. 3, lines 29-47, shows that processors can perform speculative execution. Col. 9, lines 42-58, discusses a versioning cache circuit used to allow for speculative requests and rollbacks if needed. Col. 15, lines 47-59, the inclusion of the versioning circuit allows for rollback to previous states upon an aborted speculation and as such contains the effects of the speculative execution to the L1 cache meaning operations to the L2 and L3 would remain non-speculative). Favor does not teach a first register associated with the first cache set, a second register associated with the second cache set, and a logic circuit coupled to a processor to control the first register and the second register, wherein the logic circuit includes a mapping circuit coupled to a control register to map respective outputs of the first cache set to a first logical cache and the second cache set to a second logical cache according to a state of the control register, and wherein when an execution type identified by the processor changes, the logic circuit is configured to: change a state of the first register and the second register.
Jacobi teaches a first register associated with the first cache set, a second register associated with the second cache set (Paragraph [0073], states that the cache can be a two way set-associative. Fig. 5 and Paragraph [0119]-[0120], show the set registers that are used to ensure that the correct output is given by matching the incoming set ID with the content of the set register), and a logic circuit coupled to a processor to control the first register and the second register (Paragraph [0080], discusses logic circuits used to compare tags (address) to determine whether there is a hit or not), wherein when an execution type identified by the processor changes, the logic circuit is configured to: change a state of the first register and the second register (Paragraphs [0125]-[0129], states the registers may be updated if no hit occurs). 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 Favor to use the registers as taught in Jacobi so a cache entry may be retrieved more rapid than if searched for directly in the cache (Jacobi, Paragraph [0030]). Favor and Jacobi do not teach wherein the logic circuit includes a mapping circuit coupled to a control register to map respective outputs of the first cache set to a first logical cache and the second cache set to a second logical cache according to a state of the control register.
So teaches wherein the logic circuit includes a mapping circuit coupled to a control register to map respective outputs of the first cache set to a first logical cache and the second cache set to a second logical cache according to a state of the control register (Fig. 4 and Paragraphs [0051]-[0055], discusses the partitioning of the set-associative cache between two different threads, thus creating two logical caches, one for each thread. While there is no explicit recitation of a mapping circuitry, the use of a set associative cache means that a mapping for the cache has to exist and the partitioning means that the ways are designated to one or more threads based on the priority set in the control registers. Fig. 3 and Paragraph [0038], helps confirm this with the mention of virtual-to-physical address translation and the existence of a TLB. Paragraph [0042]-[0043] and [0051]-[0053], show how control registers are used to determine the state of particular cache sets. One of ordinary skill in the art would be able to recognize that when combined with Jacobi to include the logic circuit the mapping circuit would be connected to the logic circuit as they are both part of the same system and are used in the addressing of the cache). Since both Favor/Jacobi and So teach the use of caches it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the prior art elements according to known methods to modify the teachings of Favor and Jacobi to have a mapping circuit as taught in So to obtain the predictable result of wherein the logic circuit includes a mapping circuit coupled to a control register to map respective outputs of the first cache set to a first logical cache and the second cache set to a second logical cache according to a state of the control register.
Regarding claim 2, Favor, Jacobi, and So teach all the limitations of claim 1. Jacobi further teaches wherein when a memory address is received from the processor, the logic circuit is configured to: generate a set index from at least the memory address, and determine whether the set index matches with a content stored in the first register or with a content stored in the second register, wherein the logic circuit is configured to implement a command via the first cache set in response to the set index matching with the content stored in the first register and via the second cache set in response to the set index matching with the content stored in the second register (Paragraphs [0119]-[0126], describe the use of the set registers where the set ID stored in the register is matched to a part of the received address sent down the address line so that the correct command is performed on the correct set in the cache). The combination of and reason for combining are the same as those given in claim 1.
Regarding claim 6, Favor, Jacobi, and So teach all the limitations 1. So further teaches comprising a control register (Fig. 1 and Paragraphs [0022]-[0024], states the existence of control registers that are used to store priority information. The values set in the control registers (various states) to determine certain actions), wherein a state of the control register controls the state of the first cache set or the second cache set (Paragraph [0042]-[0043] and [0051]-[0053], as stated previously, show how control registers are used to determine the state of particular cache sets.). The combination of and reason for combining are the same as those given in claim 1.
Regarding claim 7, Favor, Jacobi, and So teach all the limitations 6. Favor further teaches a connection to a speculation-status signal line from the processor identifying the status of a speculative execution of instructions by the processor, wherein the connection to the speculation-status signal line is configured to receive the status of a speculative execution, and wherein the status of a speculative execution indicates that a result of a speculative execution is to be accepted or rejected (Col. 18, lines 10-58, describe the versioning cache circuit (VCC) which is used to roll back the L1 cache. The process involves keeping track of the status of speculative/out-of-order commands to see if they are committed or aborted. Fig. 20 and Col. 64, line 57-Col. 65 line 10 show the use of a status line into the VCC). The combination of and reason for combining are the same as those given in claim 1.
Regarding claim 8, Favor, Jacobi, and So teach all the limitations 7. Favor further teaches wherein when an execution type changes from the speculative execution to a non-speculative execution, the logic circuit is configured to: change, via the control register, the state of the first cache set and the second cache set, if the status of speculative execution indicates that a result of speculative execution is to be accepted, and maintain the state of the first cache set and the second cache set without changes, if the status of speculative execution indicates that a result of speculative execution is to be rejected (Col. 16, lines 1-52, describes the process of completing speculative operations that either involve committing the speculative operation when it is accepted (thereby becoming non-speculative as well as changing the states of the sets of the cache that the data is stored in) or rolling back the operation using the checkpoint in the VCC that would maintain the states of the cache before the speculative operation). So further teaches the use of control registers (Paragraphs [0042]-[0043] and [0051]-[0053], as stated in the rejection to claim 3) The combination of and reason for combining are the same as those given in claim 1.
Regarding claims 9, 10, and 12, claims 9, 10, and 12 are the system claims associated with claims 1 and 2. Since Favor, Jacobi, and So teach all the limitations to claims 1 and 2 and Favor further teaches a connection to a speculation-status signal line from the processor identifying a status of a speculative execution of instructions by the processor (Col. 18, lines 10-58, describe the versioning cache circuit (VCC) which is used to roll back the L1 cache. The process involves keeping track of the status of speculative/out-of-order commands to see if they are committed or aborted. Fig. 20 and Col. 64, line 57-Col. 65 line 10 show the use of a status line into the VCC), they also teach all the limitations to claims 9, 10, and 12; therefore the rejection to claims 1 and 2 also apply to claims 9, 10, and 12.
Regarding claims 16 and 17, claims 16 and 17 are the system claims associated with claims 1 and 2. Since Favor, Jacobi, and So teach all the limitations to claims 1 and 2, they also teach all the limitations to claims 16 and 17; therefore the rejection to claims 1 and 2 also apply to claims 16 and 17.
Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Favor, Jacobi, and So as applied to claim 10 above, and further in view of McCarthy (US PGPub 2017/0091096).
Regarding claim 14, Favor, Jacobi, and So teach all the limitations to claim 10. Favor, Jacobi, and So do not teach wherein the state of the control register controls the state of the first cache set or the second cache set by changing a valid bit for each block of a respective cache set.
McCarthy teaches wherein the state of the control register controls the state of the first cache set or the second cache set by changing a valid bit for each block of a respective cache set (Paragraph [0017], states that control registers can be used for various things such as partitioning the cache as well as clearing either the entire cache or a particular entry. The clearing of the cache would require invalidation and eviction of all entries (also called flushing). Paragraph [0022] also shows upon a cache invalidation that the temporal information bits for each set can be initialized to a predetermined valid state). Since both Favor/Jacobi/So and McCarthy teach the use of control registers it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the prior art elements according to known methods by modifying the teachings of Favor, Jacobi, and So to also use control registers to clear the cache as taught in McCarthy to obtain the predictable result of wherein the state of the control register can control the state of a cache set of the plurality of cache sets by changing a valid bit for each block of the cache set.
Response to Arguments
Applicant's arguments filed 3/16/2026 have been fully considered but they are not persuasive. The applicant argues that the references do not teach the amended limitations to the independent claims. The examiner respectfully disagrees. So in particular does teach a mapping circuit and control register as required by the claims. Fig. 3 and Paragraph [0038], as stated in the rejection to claim 1, shows the TLB and mapping that proves the existence of the mapping circuit being present. Fig. 4 mentioned by the applicant is just the figure showing the cache memory itself without the other connected circuits to it and does not negate what is shown in Fig. 3. Therefore the references do teach the limitations of the independent claims.
Conclusion
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