IP Library Granted Patent US 12,561,252
Granted Patent B2
US 12,561,252 · App. 18/468,918 · Granted Feb 24, 2026

Dynamic cache loading and verification

Inventors: Yvo Thomas Bernard Mulder (Reutlingen, DE); Huiyuan Xing (Schwieberdingen, DE); Gerrit Koch (Ammerbuch, DE); Ulrike Letz (Tuebingen, DE)
Assignee: International Business Machines Corporation
G06F12/0877G06F12/0837G06F12/0895
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,561,252
App. No.
18/468,918
Granted
Feb 24, 2026
Kind
B2
Abstract

The present disclosure relates to a computer implemented method for verification of a cache memory of a device under test. The method comprises executing a cache verification process configured for accessing via an interface and verifying the cache memory of the device under test. Cache accesses to the cache memory of the device under test by the cache verification process via the interface are monitored. A cache access by the cache verification process via the interface is detected. In response to the detecting of the cache access a target of the detected cache access is determined and the cache memory is modified for providing a pre-defined cache read-out result for the detected cache access. Via the interface the pre-defined cache read-out result is returned to the cache verification process in response to the detected cache access.

Claims (57)

1 . A computer-implemented method for verification of a cache memory of a device under test, the method comprising:

executing a cache verification process configured for accessing via an interface to verify the cache memory of the device under test;

detecting a cache lookup of a target as part of a read request of data by the cache verification process via the interface;

responsive to the detecting, and prior to performing a cache read-out of the target, overwriting a cache memory of the target with a pre-defined cache read-out result comprising a scenario of interest; and

performing the cache read-out of the target to the cache verification process responsive to the read request, wherein the cache read-out comprises the pre-defined cache read-out result.

2 . The method of claim 1 , wherein the overwriting of the cache memory further comprises:

modifying a data content of the cache memory, which is determined to be the target of the detected cache lookup.

3 . The method of claim 1 , wherein the overwriting of the cache memory further comprises:

generating a data content of the cache memory, which is determined to be the target of the detected cache lookup.

4 . The method of claim 1 , wherein the overwriting of the cache memory further comprises:

modifying a state assigned to the target of the detected cache lookup.

5 . The method of claim 4 , wherein the overwriting of the cache memory further comprises:

modifying the state responsive to identifying that a cache access of the target would cause a cache miss.

6 . The method of claim 5 , wherein the result of a modified state resulting from the modifying of the state of the target of the detected cache lookup is selected from the group consisting of valid, dirty, speculation, and coherency.

7 . The method of claim 4 , wherein the overwriting of the cache memory further comprises:

modifying one or more of a least recently used state of the target of the detected cache lookup, and a most recently used state of the target of the detected cache lookup.

8 . The method of claim 1 , wherein the overwriting of the cache memory further comprises:

modifying a memory reference model of the cache memory of the device under test.

9 . The method of claim 8 , wherein the modifying of the memory reference model comprises extending a pre-defined memory reference model.

10 . The method of claim 1 , wherein the cache memory of the device under test being provided using at least one of a software simulation module configured for simulating the cache memory of the device under test; or a hardware device under test comprising the cache memory.

11 . The method of claim 1 , further comprising:

checking the pre-defined cache read-out result by the cache verification process; and

depending on a result of the checking, generating at least one of a verification pass signal, or a verification failure signal.

12 . A computer program product for verification of a cache memory of a device under test, the computer program product comprising a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code being configured to implement a method comprising:

executing a cache verification process configured for accessing via an interface to verify the cache memory of the device under test;

detecting a cache lookup of a target as part of a read request of data by the cache verification process via the interface;

responsive to the detecting, and prior to performing a cache read-out of the target, overwriting a cache memory of the target with a pre-defined cache read-out result comprising a scenario of interest; and

performing the cache read-out of the target to the cache verification process responsive to the read request, wherein the cache read-out comprises the pre-defined cache read-out result.

13 . The computer program product of claim 12 , wherein the overwriting of the cache memory further comprises:

modifying a data content of the cache memory, which is determined to be the target of the detected cache lookup.

14 . The computer program product of claim 12 , wherein the overwriting of the cache memory further comprises:

generating a data content of the cache memory, which is determined to be the target of the detected cache lookup.

15 . The computer program product of claim 12 , wherein the overwriting of the cache memory further comprises:

modifying a state assigned to the target of the detected cache lookup.

16 . The computer program product of claim 15 , wherein the overwriting of the cache memory further comprises modifying the state responsive to identifying that a cache access of the target would cause a cache miss.

17 . The computer program product of claim 15 , wherein the overwriting of the cache memory further comprises:

modifying one or more of a least recently used state of the target of the detected cache lookup, and a most recently used state of the target of the detected cache lookup.

18 . The computer program product of claim 12 , wherein the overwriting of the cache memory further comprises:

modifying a memory reference model of the cache memory of the device under test.

19 . A computer system for verification of a cache memory of a device under test, the computer system comprising:

one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, wherein the computer system is capable of performing a method comprising:

executing a cache verification process configured for accessing via an interface to verify the cache memory of the device under test;

detecting a cache lookup of a target as part of a read request of data by the cache verification process via the interface;

responsive to the detecting, and prior to performing a cache read-out of the target, overwriting a cache memory of the target with a pre-defined cache read-out result comprising a scenario of interest; and

performing the cache read-out of the target to the cache verification process responsive to the read request, wherein the cache read-out comprises the pre-defined cache read-out result.

20 . The computer system of claim 19 , wherein the overwriting of the cache memory further comprises:

modifying a data content of the cache memory, which is determined to be the target of the detected cache lookup.

21 . The computer system of claim 19 , wherein the overwriting of the cache memory further comprises:

generating a data content of the cache memory, which is determined to be the target of the detected cache lookup.

22 . The computer system of claim 19 , wherein the overwriting of the cache memory further comprises:

modifying a state assigned to the target of the detected cache lookup.

23 . The computer system of claim 22 , wherein the overwriting of the cache memory further comprises:

modifying the state responsive to identifying that a cache access of the target would cause a cache miss.

24 . The computer system of claim 22 , wherein the overwriting of the cache memory further comprises:

modifying one or more of a least recently used state of the target of the detected cache lookup, and a most recently used state of the target of the detected cache lookup.

25 . The computer system of claim 19 , wherein the overwriting of the cache memory further comprises:

modifying a memory reference model of the cache memory of the device under test.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2023
From: MULDER, YVO THOMAS BERNARD; XING, HUIYUAN; KOCH, GERRIT; LETZ, ULRIKE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 064935/0035 →
Priority Claims (1)
GB 2311093 · Jul 20, 2023 · national
Continuity (1)
Related Publication 20250028644A1 · Jan 23, 2025
References Cited (33)
US 4667288A · Keeley · 1987 [cited by examiner]
US 4686621A · Keeley · 1987 [cited by examiner]
US 5615335A · Onffroy · 1997 [cited by examiner]
US 5638382A · Krick · 1997 [cited by examiner]
US 5740353A · Kreulen · 1998 [cited by applicant]
US 5893920A · Shaheen · 1999 [cited by examiner]
US 6446241B1 · Mobley · 2002 [cited by examiner]
US 6480800B1 · Molyneaux · 2002 [cited by examiner]
US 7386434B1 · Cischke · 2008 [cited by examiner]
US 8046652B2 · Taylor · 2011 [cited by examiner]
US 8595680B1 · Steinberg · 2013 [cited by applicant]
US 20010001157A1 · Oura · 2001 [cited by examiner]
US 20030033510A1 · Dice · 2003 [cited by examiner]
US 20030051197A1 · Evans · 2003 [cited by examiner]
US 20040066695A1 · Anand · 2004 [cited by examiner]
US 20080071994A1 · Fields · 2008 [cited by examiner]
US 20100057996A1 · Furukawa · 2010 [cited by examiner]
US 20110320716A1 · Collura · 2011 [cited by examiner]
US 20120151144A1 · Yohn · 2012 [cited by examiner]
US 20180129578A1 · Grosser · 2018 [cited by applicant]
US 20180260506A1 · Wood · 2018 [cited by examiner]
US 20200174903A1 · Barreh · 2020 [cited by applicant]
CN 109032879A · 2018 [cited by applicant]
CN 114153680A · 2022 [cited by applicant]
CN 114741250A · 2022 [cited by applicant]
CN 115130402B · 2022 [cited by applicant]
GB 2631975A · 2025 [cited by applicant]
Chatterjee, P., Sivaraj, H., Gopalakrishnan, G. (2002). Shared Memory Consistency Protocol Verification Against Weak Memory Models: Refinement via Model-Checking. In: Brinksma, E., Larsen, K.G. (eds) Computer Aided Veri… [cited by examiner]
A. Meixner and D. J. Sorin, “Dynamic Verification of Memory Consistency in Cache-Coherent Multithreaded Computer Architectures,” in IEEE Transactions on Dependable and Secure Computing, vol. 6, No. 1, pp. 18-31, Jan.-Ma… [cited by examiner]
S. Di Carlo, P. Prinetto and A. Savino, “Software-Based Self-Test of Set-Associative Cache Memories,” in IEEE Transactions on Computers, vol. 60, No. 7, pp. 1030-1044, Jul. 2011, doi: 10.1109/TC.2010.166. (Year: 2011). [cited by examiner]
“Patents Act 1977: Search Report under Section 17 (5)”, UK Search Report, Your Reference: P202203722GB01, Application No. GB2311093.5, Sep. 15, 2023, 3 pages. [cited by applicant]
Mulder et al., “Dynamic Cache Loading and Verification”, United Kingdom Application No. 2311093.5, Filed Jul. 20, 2023, 37 pages. [cited by applicant]
Wulf et al., “SCIPS: An Emulation Methodology for Fault Injection in Processor Caches”, IEEE Aerospace Conference Proceedings 2011, Mar. 5, 2011, 9 pages. [cited by applicant]