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/Remarks
This office action is in response to the amendment/remarks filed on 03/04/2026.
Claims 1-20 are presented for further examination.
Applicant's argument concerning newly added claim limitation is not taught in the cited prior art has been fully considered but moot in view of the new ground(s) of rejection as set forth below. It is noted that Applicant's arguments are directed towards limitations newly added via amendments.
Specification
The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification.
Claim Rejections - 35 USC § 103
In the event a determination of the status of the application as subject to AIA 35 U.S.C. 102, 103, and 112 (or as subject to pre-AIA 35 U.S.C. 102, 103, and 112) is incorrect, any correction of the statutory basis for a rejection will not be considered a new ground of rejection if the prior art relied upon and/or 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 factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied 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.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 1-8, 11-13, and 19-20 are rejected under 35 U.S.C. 103 as being unpatentable over Krueger (US 2018/0203807) in view of Cammarota et al. (US 2017/0017576; hereinafter Cammarota).
Regarding independent claims 1, 8 and 12, taking claim 1 as exemplary analysis, Krueger teaches A memory device comprising: a memory array; and a controller (Fig. 13 & [0128], The cache 300 has cache storage (cache RAM) 302 for storing the information to be cached. [0137], a cache controller 312 controls allocation in dependence on a set of resource control parameters which is selected based on the security state and the partition ID of the corresponding memory transaction) configured to:
receive a cache parameter comprising configuration data for implementing a
[0124], At step 200 the memory system component receives a memory transaction which specifies a partition ID, performance monitoring group and a security state indication as discussed above … At step 206, allocation of resources is controlled using the selected set of resource control parameters, or contention for those resources is managed using the selected set of resource parameters;
[0137], a cache controller 312 controls allocation in dependence on a set of resource control parameters which is selected based on the security state and the partition ID of the corresponding memory transaction. The cache has a set of resource control parameter registers 320 as mentioned above, each register 320 storing the resource control parameters for a corresponding software execution environment. A selector 322 selects one of the registers based on the partition ID and the security state of the incoming memory transaction which requires allocation of data to the cache. The parameters stored in the selected register are used to control whether, and how, data is allocated to the cache;
[0140], If an eviction or replacement is required, the partition IDs 314 (and if provided, the victim selection information) stored in each entry of the cache can be used to determine what data evict. It will be appreciated that the above means of counting capacity is just one example and other techniques may also be used to track cache capacity),
Krueger teaches receiving cache parameter comprising specifies a partition ID, performance monitoring group for region allocation and determine what data to evict, Krueger does not expressly teach cache replacement scheme.
In an analogous art of cache configuration, Cammarota teaches receive a cache parameter comprising configuration data for implementing a cache replacement scheme ([0008], receiving a plurality of cache memory parameters, in which each of the plurality of cache memory parameters are associated with context data, … and at least one cache memory configuration; [0080], An example cache memory configuration vector may be visually represented as a series of cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>.
[0081], The example cache memory 900 includes five partitions 934-942. Each cache memory partition 934-942 may be dictated with a different cache memory configuration vector and associated for use by a predicted application within a context for the computing device having the cache memory 900. In an example, each cache memory partition 934-942 may correspond with one of the pairs of threshold hardware data values 806, 810, 814 and cache memory configuration vectors 808, 812, 816 of the groups of cache memory configuration parameters 818-826),
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention was made, with the teachings of Krueger and Cammarota before them, to modify Krueger to incorporate the parameterized cache configuration and cache replacement policy of Cammarota to enable dynamic and adaptive cache replacement schemes based on runtime data and workload characteristics for the motivation of improving cache efficiency and performance (Cammarota [0002]–[0003]).
The combination of Krueger and Cammarota further teaches
store the cache parameter in a register file of the controller, the register file associating the cache parameter with the region (Krueger [0126], Each memory system component which supports resource monitoring partitioning may have a set of parameter registers which store different sets of memory system component parameters, which are selected based on the partition ID. The control parameters for a partitioning control are logically an array of control parameters indexed by partition ID. …the configuration software first stores a partition ID to configure into the selector register and then stores the desired control parameters in to the one or more control parameter configuration registers; [0148], The configuration registers 360 include an ID register 362 for identifying hardware capabilities of the cache 300, a selector register 364 for selecting a set of resource control parameters to update, and one or more configuration registers 366 for specifying the parameters to be written to the selected set of resource control parameters; Cammarota [0067], [0080]),
determine, based on an address included in a memory access command (MAC), which region of the memory array the MAC is accessing, and in response to receiving the MAC, identify the region based on the address (Krueger [0071], [0076]-[0077], If the memory transaction is for accessing data, then the transaction is tagged with a partition ID derived from the PARTID_D field of the selected partition ID register 100 (and again any page table walk access triggered by the MMU following a data access would use the same partition ID as the data access itself); [0145], The “portions” defined by the bitmap could be any group of one or more cache entries having the property that any given address can be allocated to at least one entry of the group), retrieve the cache parameter from the register file based on the identified region, and process the MAC by implementing the cache replacement scheme identified by the cache parameter for data stored in the allocated region (Cammarota [0008], receiving a plurality of cache memory parameters, in which each of the plurality of cache memory parameters are associated with context data, … and at least one cache memory configuration; [0080], An example cache memory configuration vector may be visually represented as a series of cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Regarding independent claim 8, Krueger teaches A system (Figs. 1-3, system) comprising: … (Claim recites substantially the same limitations as in claim 1 and is therefore rejected for the same reasons set forth in the analysis of claim 1).
Additionally, the combination of Krueger and Cammarota teaches the system comprising a solid-state storage device; a volatile memory array (Cammarota [0040], memories 16 may be configured to temporarily hold a limited amount of data and/or processor-executable code instructions that are requested from non-volatile memory, loaded to the memories 16 from non-volatile memory); and … processing, by the memory device, the MAC causing the controller to persist a portion of the volatile memory array to the solid-state storage device, implementing the cache replacement scheme identified by the cache parameter for data stored in the allocated region (Krueger, [0120], For caches within the memory system, these have the behavior of sometimes generating a response to the request if there is a cache hit, and other times passing it on to a further part of the memory system if there is a cache miss … [0128], On evictions of data from the cache, the ID fields 314, 316, 318 are used to derive the partition ID, performance monitoring group ID and security state indication for the write back transaction; [0140], If an eviction or replacement is required, the partition IDs 314 (and if provided, the victim selection information) stored in each entry of the cache can be used to determine what data evict;
Cammarota [0080], An example cache memory configuration vector may be visually represented as a series of cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Regarding claim(s) 2, the combination of Krueger and Cammarota further teaches wherein receiving the cache parameter further comprises receiving the cache parameter and a size of memory, wherein the region of the memory array is allocated based on the size of memory (Cammarota, [0055], Partitioning the system cache memory space may result in cache memory partitions of various sizes and locations in the system cache memory space. The size, location, and other aspects of the cache memory partitions may be dictated by the cache memory configuration parameters; [0080], An example cache memory configuration vector may be visually represented as a series of cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Regarding claim(s) 3, the combination of Krueger and Cammarota further teaches wherein allocating the region of memory array comprises selecting the region based on the cache parameter (Cammarota, [0055], Partitioning the system cache memory space may result in cache memory partitions of various sizes and locations in the system cache memory space. The size, location, and other aspects of the cache memory partitions may be dictated by the cache memory configuration parameters; [0080], An example cache memory configuration vector may be visually represented as a series of cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Regarding claim(s) 4, the combination of Krueger and Cammarota further teaches wherein the cache parameter comprises one of an SSD-backed parameter, a large page size parameter, a cache size parameter, a cache associativity type parameter, a locality parameter, and a high bandwidth parameter (Cammarota, [0055], Partitioning the system cache memory space may result in cache memory partitions of various sizes and locations in the system cache memory space. The size, location, and other aspects of the cache memory partitions may be dictated by the cache memory configuration parameters; [0080], An example cache memory configuration vector may be visually represented as a series of cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Regarding claim(s) 5, the combination of Krueger and Cammarota further teaches wherein processing the MAC based on the cache parameter comprises modifying the MAC prior to accessing the region of memory (Cammarota, [0036], The cache memory configuration engine may modify the configuration of a cache memory by modifying the cache configuration memory parameters (e.g., cache memory activation/deactivation, reservation for a particular use, size, level usage settings, associativity, line size, and management policy) of the cache memory as provided from the second classification model).
Regarding claim(s) 6, the combination of Krueger and Cammarota further teaches wherein modifying the MAC prior to accessing the region of memory comprises: supplementing an address in the MAC with an age bit ( Krueger, [0150], When setting the set of resource control parameters for a given partition ID, software writes that partition ID to the selector register 364 and the parameters to be written to the corresponding configuration registers 366, by issuing memory transactions specifying the memory addresses mapped to those registers 364, 366. In response, the cache 300 reads the parameters from the configuration registers 366 and writes them to the corresponding resource control parameter register 320 identified by the relevant partition ID.
Cammarota [0033], state information may include a variety of parameters including general historic usage information (e.g., types of usage at various locations {address} and times {age})) and transferring an oldest entry in the region of the memory array to a persistent storage device prior to writing data received in the MAC (Cammarota [0080], cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Regarding claim(s) 7, the combination of Krueger and Cammarota further teaches wherein the MAC comprises one of a read or write command (Krueger [0150], When setting the set of resource control parameters for a given partition ID, software writes that partition ID to the selector register 364 and the parameters to be written to the corresponding configuration registers 366, by issuing memory transactions specifying the memory addresses mapped to those registers 364).
Regarding claim(s) 11, the combination of Krueger and Cammarota further teaches wherein the at least one cache parameter is defined for an individual process (Krueger, [0059], individual parts of a single processes (e.g. different functions or sub-routines) can be regarded as separate execution environments and allocated separate partition IDs. For example, FIG. 5 shows an example where virtual machine VM 3 and the two applications 3741, 3974 executing under it are all allocated PARTID 1, a particular process 3974 executing under a second virtual machine, VM 7, is allocated PARTID 2, and the VM7 itself and another process 1473 running under it is allocated PARTID 0; [0128], On evictions of data from the cache, the ID fields 314, 316, 318 are used to derive the partition ID, performance monitoring group ID and security state indication for the write back transaction; [0140], If an eviction or replacement is required, the partition IDs 314 (and if provided, the victim selection information) stored in each entry of the cache can be used to determine what data evict;
Cammarota [0080], An example cache memory configuration vector may be visually represented as a series of cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Regarding claim(s) 13, the combination of Krueger and Cammarota further teaches wherein the cache type comprises a cache replacement scheme comprising one of first in first out (FIFO), last in first out (LIFO), first in last out (FILO), least recently used (LRU), time aware least recently used (TLRU), least frequently used (LFU) schemes (Cammarota [0080], An example cache memory configuration vector may be visually represented as a series of cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Regarding claim(s) 19, the combination of Krueger and Cammarota further teaches wherein cache configuration registers configured to store microcode associated with cache parameters (Cammarota, [0055], The system cache controller 404 may include hardware, such as a number of registers, configured to maintain records of these cache memory partitions and relate various traits/features/parameters to each of the cache memory partitions; [0067], [0080] An example cache memory configuration vector may be visually represented as a series of cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Regarding claim(s) 20, the combination of Krueger and Cammarota further teaches wherein the microcode includes one or more of a replacement policy, an eviction policy, microcode for tracking cache line locality, microcode for determining cache line use frequency, and microcode governing cache tagging (Krueger [0126], Each memory system component which supports resource monitoring partitioning may have a set of parameter registers which store different sets of memory system component parameters, which are selected based on the partition ID. The control parameters for a partitioning control are logically an array of control parameters indexed by partition ID. …the configuration software first stores a partition ID to configure into the selector register and then stores the desired control parameters in to the one or more control parameter configuration registers; [0148], The configuration registers 360 include an ID register 362 for identifying hardware capabilities of the cache 300, a selector register 364 for selecting a set of resource control parameters to update, and one or more configuration registers 366 for specifying the parameters to be written to the selected set of resource control parameters; Cammarota [0067], [0080] An example cache memory configuration vector may be visually represented as a series of cache memory configuration parameters, such as <cache partition size, associativity, cache line size, cache replacement policy>. Values for each cache memory configuration parameters may be used to instruct the cache memory configuration component to create, edit, or remove cache partitions based on the cache memory configuration parameters… the cache memory configuration vector may be visually represented as a series of values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Claim(s) 9 are rejected under 35 U.S.C. 103 as being unpatentable over Krueger (US 2018/0203807) in view of Cammarota et al. (US 2017/0017576; hereinafter Cammarota), further in view of Bauer et al. (US 8151077; hereinafter Bauer).
Regarding claim(s) 9, Krueger and Cammarota do not expressly teach, in an analogous art of cache management, Bauer teaches wherein persisting the portion of volatile memory array comprises implementing a write-through cache or write-back cache (col. 21, ll. 44-57, Cache parameters configured by application and device best practices may include one or more of the following: overall cache size for the application, amount dedicated to write cache, amount dedicated to read cache, caching algorithms appropriate for the application (e.g., write through, write back, least recently used (LRU), most recently used (MRU)), page size, whether high availability (HA) is needed, whether cache needs to be crash-resistant, cache protection strategy (e.g., mirrored, flash-based, not mirrored), prioritization (which may also be time based), application aware prefetching and flushing (e.g., by file type), read ahead, file level vs. block caching (which can be even more complicated and it can be important to do tuning and configuring for the user)).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention was made, with the teachings of Krueger, Cammarota and Bauer before them, to improve Krueger and Cammarota’s caching policies permit an application to control caching of data with Bauer’s Cache parameters configured by application including write through, write back for the motivation of a very flexible and powerful technique for determining caching behavior based on data accesses.
Claim(s) 10 are rejected under 35 U.S.C. 103 as being unpatentable over Krueger (US 2018/0203807) in view of Cammarota et al. (US 2017/0017576; hereinafter Cammarota), further in view of Kelly et al. (US 2021/0406145; hereinafter Kelly).
Regarding claim(s) 10, Krueger and Cammarota do not expressly teach, in an analogous art of cache management, Kelly teaches wherein persisting the portion of volatile memory array comprises implementing a first set of pages of the volatile memory array as write-through caches and a second set of pages of the volatile memory array as write-back caches ([0021], a cache policy controls when modified copies of data are written back to lower level caches and/or memory, such as with a write-through or write back cache policy;
[0027], a test region includes a block, portion, or section of memory circuitry in the cache that is used for performing cache operations using a given configuration of a combination of two or more cache policies being tested. In some embodiments, the testing of two or more configurations of combinations of two or more cache policies is performed simultaneously in separate test regions in the cache, possibly with a separate test region being used for each available configuration of the combination of two or more cache policies. For example, assuming that each of cache policies A and B (e.g., a write-through policy and a replacement policy, etc.) can each be used in a first configuration (0) or a second configuration (1), four separate test regions can be used to test the following configurations of the combination of cache policies A and B: 00, 01, 10, and 11).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention was made, with the teachings of Krueger, Cammarota and Kelly before them, to improve Krueger and Cammarota’s caching policies permit an application to control caching of data with Kelly’s cache policy including write through, write back policy and the different policies can be performed simultaneously in separate test regions in the cache for the motivation of a very flexible and powerful technique for determining caching behavior based on data accesses.
Claim(s) 14-18 are rejected under 35 U.S.C. 103 as being unpatentable over Krueger (US 2018/0203807) in view of Cammarota et al. (US 2017/0017576; hereinafter Cammarota), further in view of Robinson (US 2007/0233964).
Regarding claim(s) 14, the combination of Krueger and Cammarota further teaches wherein the cache type comprises a LRU type (Cammarota [0067], [0080] values of cache memory configuration parameters, such as <16-128K, 2-4 ways 64K, pseudo-least recently used (LRU) or LRU>).
Krueger and Cammarota do not expressly teach, in an analogous art of cache management, Roberson teaches managing a portion of the volatile memory array based on the cache type comprises adding an age bit to data written to the volatile memory array ([0013], The age bits can be used to register the age of each line within a set (e.g., the age bits can be used to register a relative length of time since the line was last accessed). For example, all age bits for a particular line can be reset to “0”, when that line is accessed; [0015], These replacement policies can include, but are not limited to, selecting the least recently used (LRU) line based upon a comparison of the age bits of each line within the set).
It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention was made, with the teachings of Robinson, Krueger and Cammarota before them, to improve Krueger and Cammarota’s replacement policy based on a least recently used (LRU) algorithm with Robinson’s age bits used to register the age of each line within a set for the motivation that age bits can be used to register a relative length of time since the line was last accessed (Robinson, [0013])
Regarding claim(s) 15, the combination of Krueger, Cammarota and Robinson further teaches wherein adding the age bit is performed for write operations (Mu, col. 15, ll. 13-17, request parameters related to a write request are analyzed and compared against caching definitions 136 to determine when specific data modified in write cache 144 should be flushed to mass storage device 114; Robison, [0013], The age bits can be used to register the age of each line within a set (e.g., the age bits can be used to register a relative length of time since the line was last accessed). For example, all age bits for a particular line can be reset to “0”, when that line is accessed; [0015], These replacement policies can include, but are not limited to, selecting the least recently used (LRU) line based upon a comparison of the age bits of each line within the set).
Regarding claim(s) 16, the combination of Krueger, Cammarota and Robinson further teaches wherein managing a portion of the volatile memory array based on the cache type comprises identifying an oldest entry in the volatile memory array based on age bits of data in the volatile memory array (Robinson, [0013], The age bits can be used to register the age of each line within a set (e.g., the age bits can be used to register a relative length of time since the line was last accessed). For example, all age bits for a particular line can be reset to “0”, when that line is accessed; [0015], These replacement policies can include, but are not limited to, selecting the least recently used (LRU) line based upon a comparison of the age bits of each line within the set).
Regarding claim(s) 17, the combination of Krueger, Cammarota and Robinson further teaches wherein managing a portion of the volatile memory array based on the cache type comprises transferring the oldest entry to the solid-state storage device (Robinson, [0013], The age bits can be used to register the age of each line within a set (e.g., the age bits can be used to register a relative length of time since the line was last accessed). For example, all age bits for a particular line can be reset to “0”, when that line is accessed; [0015], These replacement policies can include, but are not limited to, selecting the least recently used (LRU) line based upon a comparison of the age bits of each line within the set).
Regarding claim(s) 18, the combination of Krueger, Cammarota and Robinson further teaches wherein managing a portion of the volatile memory array based on the cache type comprises writing new data to the volatile memory array and setting its age bit to zero (Robinson, [0013], The age bits can be used to register the age of each line within a set (e.g., the age bits can be used to register a relative length of time since the line was last accessed). For example, all age bits for a particular line can be reset to “0”, when that line is accessed; [0015], These replacement policies can include, but are not limited to, selecting the least recently used (LRU) line based upon a comparison of the age bits of each line within the set).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TRACY C CHAN whose telephone number is (571)272-9992. The examiner can normally be reached on Monday - Friday 10 AM to 6 PM 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, TIM VO can be reached on (571)272-3642. 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 https://ppair-my.uspto.gov/pair/PrivatePair. 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.
/TRACY C CHAN/ Primary Examiner, Art Unit 2138