Patents by Inventor Thomas M. Wicki

Thomas M. Wicki has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20230350805
    Abstract: Techniques are disclosed relating to an apparatus that includes a plurality of memory access control registers that are programmable with respective address ranges within an address space. The apparatus further includes a memory access circuit configured to receive a command for performing a memory access, the command specifying an address corresponding to a location in a memory circuit. In response to the address being located within an address range of a particular one of the plurality of memory access control registers, the memory access circuit is configured to perform the command using override memory parameters that have been programmed into the particular memory access control register instead of a default set of attributes for the address space.
    Type: Application
    Filed: April 29, 2022
    Publication date: November 2, 2023
    Inventors: Robert T. Golla, Thomas M. Wicki
  • Patent number: 11023342
    Abstract: Techniques are disclosed relating to cache debug using control registers based on debug commands. In some embodiments, an apparatus includes a processor core, debug circuitry, and control circuitry. In some embodiments, the debug circuitry is configured to receive external debug inputs and send abstract commands to the processor core based on the external debug inputs. In some embodiments, the control circuitry is configured to, in response to an abstract command to read data from the cache: write cache address information to a first control register, assert a trigger signal to cause a read of the data from the cache to a second control register, based on the cache address information in the first control register, and send data from the second control register to the debug circuitry. In various embodiments, this may facilitate hardware cache debug using debug circuitry that also controls software debugging.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: June 1, 2021
    Assignee: Western Digital Technologies, Inc.
    Inventors: Jama I. Barreh, Robert T. Golla, Thomas M. Wicki, Matthew B. Smittle
  • Publication number: 20200174903
    Abstract: Techniques are disclosed relating to cache debug using control registers based on debug commands. In some embodiments, an apparatus includes a processor core, debug circuitry, and control circuitry. In some embodiments, the debug circuitry is configured to receive external debug inputs and send abstract commands to the processor core based on the external debug inputs. In some embodiments, the control circuitry is configured to, in response to an abstract command to read data from the cache: write cache address information to a first control register, assert a trigger signal to cause a read of the data from the cache to a second control register, based on the cache address information in the first control register, and send data from the second control register to the debug circuitry. In various embodiments, this may facilitate hardware cache debug using debug circuitry that also controls software debugging.
    Type: Application
    Filed: January 31, 2019
    Publication date: June 4, 2020
    Inventors: Jama I. Barreh, Robert T. Golla, Thomas M. Wicki, Matthew B. Smittle
  • Patent number: 9285865
    Abstract: Systems and methods for reducing power consumption during data transport across multiple processors when link utilization is low. In a multi-node system, at least one of two nodes may indicate low utilization for a given link between them. In response to further determining no enabled link between the two nodes is over utilized, each of the two nodes may remove the given link from consideration for being scheduled to receive data for transfer and turn off the given link when no more transactions are scheduled for the given link. Disabled links may be re-enabled when high utilization is detected on at least one link between the two nodes.
    Type: Grant
    Filed: June 29, 2012
    Date of Patent: March 15, 2016
    Assignee: Oracle International Corporation
    Inventors: Brian F. Keish, Thomas M. Wicki, Sebastian Turullols
  • Patent number: 9135175
    Abstract: A system includes a number of processors with each processor including a cache memory. The system also includes a number of directory controllers coupled to the processors. Each directory controller may be configured to administer a corresponding cache coherency directory. Each cache coherency directory may be configured to track a corresponding set of memory addresses. Each processor may be configured with information indicating the corresponding set of memory addresses tracked by each cache coherency directory. Directory redundancy operations in such a system may include identifying a failure of one of the cache coherency directories; reassigning the memory address set previously tracked by the failed cache coherency directory among the non-failed cache coherency directories; and reconfiguring each processor with information describing the reassignment of the memory address set among the non-failed cache coherency directories.
    Type: Grant
    Filed: February 4, 2013
    Date of Patent: September 15, 2015
    Assignee: Oracle International Corporation
    Inventors: Thomas M Wicki, Stephen E Phillips, Nicholas E Aneshansley, Ramaswamy Sivaramakrishnan, Paul N Loewenstein
  • Publication number: 20140181420
    Abstract: A system includes a number of processors with each processor including a cache memory. The system also includes a number of directory controllers coupled to the processors. Each directory controller may be configured to administer a corresponding cache coherency directory. Each cache coherency directory may be configured to track a corresponding set of memory addresses. Each processor may be configured with information indicating the corresponding set of memory addresses tracked by each cache coherency directory. Directory redundancy operations in such a system may include identifying a failure of one of the cache coherency directories; reassigning the memory address set previously tracked by the failed cache coherency directory among the non-failed cache coherency directories; and reconfiguring each processor with information describing the reassignment of the memory address set among the non-failed cache coherency directories.
    Type: Application
    Filed: February 4, 2013
    Publication date: June 26, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Thomas M. Wicki, Stephen E. Phillips, Nicholas E. Aneshansley, Ramaswamy Sivaramakrishnan, Paul N. Loewenstein
  • Publication number: 20140006831
    Abstract: Systems and methods for reducing power consumption during data transport across multiple processors when link utilization is low. In a multi-node system, at least one of two nodes may indicate low utilization for a given link between them. In response to further determining no enabled link between the two nodes is over utilized, each of the two nodes may remove the given link from consideration for being scheduled to receive data for transfer and turn off the given link when no more transactions are scheduled for the given link. Disabled links may be re-enabled when high utilization is detected on at least one link between the two nodes.
    Type: Application
    Filed: June 29, 2012
    Publication date: January 2, 2014
    Inventors: Brian F. Keish, Thomas M. Wicki, Sebastian Turullos
  • Patent number: 7523342
    Abstract: A computer system configured to enhance data protection. A computer system includes one or more clients, such as processing subsystems and a memory subsystem interconnected via a network. Transactions within the system may involve the separation of data and a corresponding address in both space and time. At various points in the system, operations may be performed which seek to reunite a data and corresponding address, such as a store operation. In order to further ensure the correspondence of data and an address which is to be used in an operation, clients are configured to generate and utilize an additional symbol. The symbol is generated at least in part on an address which corresponds to data. The symbol is then associated with the data and serves to represent the corresponding address. The symbol may then be utilized by various clients within the system to check an address which is proposed to be used in an operation with the data.
    Type: Grant
    Filed: October 28, 2005
    Date of Patent: April 21, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Peter L. Fu, Thomas M. Wicki
  • Patent number: 7366843
    Abstract: A computer system may include a system memory, an active device configured to access data stored in the system memory, where the active device includes a cache configured to store data accessed by the active device, an address network for conveying address packets between the active device and the system memory, and a data network for conveying data packets between the active device and the system memory. An access right corresponding to a given block allocated in the cache transitions in response to a corresponding data packet being received by the cache. An ownership responsibility for the given block transitions in response to a corresponding address packet being received by the cache. The access right transitions at a different time than the ownership responsibility transitions. The cache is configured to inhibit receipt of the corresponding data packet based on a value of a timestamp associated with the corresponding data packet.
    Type: Grant
    Filed: June 30, 2003
    Date of Patent: April 29, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Robert E. Cypher, David A. Wood, Mark D. Hill, Thomas M. Wicki
  • Patent number: 6912628
    Abstract: A method, cache system, and cache controller are provided. A two-way and n-way cache organization scheme are presented as at least two embodiments of a set-associative external cache that utilizes standard burst memory devices such as DDR (double data rate) memory devices. The set-associative cache organization scheme is designed to fully utilize burst efficiencies during snoop and invalidation operations. Cache lines are interleaved in such a way that a first burst transfer from the cache to the cache controller brings in a plurality of tags.
    Type: Grant
    Filed: April 22, 2002
    Date of Patent: June 28, 2005
    Assignee: Sun Microsystems Inc.
    Inventors: Thomas M. Wicki, Koen R. C. Bennebroek
  • Patent number: 6832294
    Abstract: An n-way interleaved set-associative external cache utilizes standard burst memory devices such as DDR (double data rate) memory devices. The interleaved set-associative cache organization scheme is designed to fully utilize burst efficiencies during snoop and invalidation operations. Cache lines are interleaved in such a way that a first burst transfer from the cache to the cache controller brings in a plurality of tags. The contents of the memory level device locations associated with each tag are stored in an alternating pattern in contiguous memory locations.
    Type: Grant
    Filed: April 22, 2002
    Date of Patent: December 14, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas M. Wicki, Koen R. C. Bennebroek
  • Publication number: 20040024925
    Abstract: A computer system may include a system memory, an active device configured to access data stored in the system memory, where the active device includes a cache configured to store data accessed by the active device, an address network for conveying address packets between the active device and the system memory, and a data network for conveying data packets between the active device and the system memory. An access right corresponding to a given block allocated in the cache transitions in response to a corresponding data packet being received by the cache. An ownership responsibility for the given block transitions in response to a corresponding address packet being received by the cache. The access right transitions at a different time than the ownership responsibility transitions. The cache is configured to inhibit receipt of the corresponding data packet based on a value of a timestamp associated with the corresponding data packet.
    Type: Application
    Filed: June 30, 2003
    Publication date: February 5, 2004
    Applicant: Sun Microsystems, Inc.
    Inventors: Robert E. Cypher, David A. Wood, Mark D. Hill, Thomas M. Wicki
  • Patent number: 6684299
    Abstract: A multi-level cache and method for operation of a multi-level cache generating multiple cache system accesses simultaneously. Each access request includes an address identifying a memory location having data that is a target of the access. A insertion pointer inserts each access request into an entry in a memory scheduling window. Each entry is marked as valid when that entry is ready to be applied to a first cache level. A picker picks valid entries from the memory scheduling window by pointing to the picked entry and applying the address therein to the first cache level. The picking occurs in a free-running mode regardless of whether the accesses hit in the first cache level. A second cache level, receives accesses that have missed in the first cache level. A resource monitor in the second cache level determines when a predetermined number of resources are committed to servicing the accesses that have missed in the first cache level.
    Type: Grant
    Filed: February 28, 2001
    Date of Patent: January 27, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Thomas M. Wicki
  • Publication number: 20030200404
    Abstract: A method, cache system, and cache controller are provided. A two-way and n-way cache organization scheme are presented as at least two embodiments of a set-associative external cache that utilizes standard burst memory devices such as DDR (double data rate) memory devices. The set-associative cache organization scheme is designed to fully utilize burst efficiencies during snoop and invalidation operations. Cache lines are interleaved in such a way that a first burst transfer from the cache to the cache controller brings in a plurality of tags.
    Type: Application
    Filed: April 22, 2002
    Publication date: October 23, 2003
    Inventors: Thomas M. Wicki, Koen R.C. Bennebroek
  • Publication number: 20030200395
    Abstract: An n-way interleaved set-associative external cache utilizes standard burst memory devices such as DDR (double data rate) memory devices. The interleaved set-associative cache organization scheme is designed to fully utilize burst efficiencies during snoop and invalidation operations. Cache lines are interleaved in such a way that a first burst transfer from the cache to the cache controller brings in a plurality of tags. The contents of the memory level device locations associated with each tag are stored in an alternating pattern in contiguous memory locations.
    Type: Application
    Filed: April 22, 2002
    Publication date: October 23, 2003
    Inventors: Thomas M. Wicki, Koen R.C. Bennebroek
  • Patent number: 6393023
    Abstract: A system and method for acknowledging receipt of messages within a packet based communication network. A sending node generates a data packet within an upper layer, and transmits the data packet to a receiving node using a lower layer. The lower layer generates and transmits a pseudo reply packet to the upper layer in response to an acknowledgment received from the receiving node. The pseudo reply packet notifies the upper layer of the sending node that the receiving node successfully received the data packet and removes the burden of having an upper layer of the receiving node generate an actual reply packet.
    Type: Grant
    Filed: May 8, 1998
    Date of Patent: May 21, 2002
    Assignee: Fujitsu Limited
    Inventors: Takeshi Shimizu, Wolf-Dietrich Weber, Patrick J. Helland, Thomas M. Wicki, Winfried W. Wilcke
  • Patent number: 6269426
    Abstract: A multi-level cache and method for operation of a multi-level cache generating multiple cache system accesses simultaneously. Each access request includes an address identifying a memory location having data that is a target of the access. A insertion pointer inserts each access request into an entry in a memory scheduling window. Each entry is marked as valid when that entry is ready to be applied to a first cache level. A picker picks valid entries from the memory scheduling window by pointing to the picked entry and applying the address therein to the first cache level. The picking occurs in a free-running mode regardless of whether the accesses hit in the first cache level. A second cache level, receives accesses that have missed in the first cache level. A resource monitor in the second cache level determines when a predetermined number of resources are committed to servicing the accesses that have missed in the first cache level.
    Type: Grant
    Filed: June 24, 1997
    Date of Patent: July 31, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Thomas M. Wicki
  • Publication number: 20010010069
    Abstract: A multi-level cache and method for operation of a multi-level cache generating multiple cache system accesses simultaneously. Each access request includes an address identifying a memory location having data that is a target of the access. A insertion pointer inserts each access request into an entry in a memory scheduling window. Each entry is marked as valid when that entry is ready to be applied to a first cache level. A picker picks valid entries from the memory scheduling window by pointing to the picked entry and applying the address therein to the first cache level. The picking occurs in a free-running mode regardless of whether the accesses hit in the first cache level. A second cache level, receives accesses that have missed in the first cache level. A resource monitor in the second cache level determines when a predetermined number of resources are committed to servicing the accesses that have missed in the first cache level.
    Type: Application
    Filed: February 28, 2001
    Publication date: July 26, 2001
    Inventors: Ricky C. Hetherington, Thomas M. Wicki
  • Patent number: 6212602
    Abstract: A cache memory system having a cache and a cache tag. A cache tag cache is provided to store a subset of the most recently or frequently used cache tags. The cache tag cache is accessed during tag inquires in a manner similar to conventional cache tag inquires. Hits in the cache tag cache have a lower access latency than the tag lookups that miss and require access to the cache tag.
    Type: Grant
    Filed: December 17, 1997
    Date of Patent: April 3, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas M. Wicki, Meera Kasinathan, Ricky C. Hetherington
  • Patent number: 6154815
    Abstract: A multi-level cache and method for operation of a multi-level cache generating multiple cache system accesses simultaneously. Each access request includes an address identifying a memory location having data that is a target of the access. A insertion pointer inserts each access request into an entry in a memory scheduling window. Each entry is marked as valid when that entry is ready to be applied to a first cache level. A picker picks valid entries from the memory scheduling window by pointing to the picked entry and applying the address therein to the first cache level. The picking occurs in a free-running mode regardless of whether the accesses hit in the first cache level. A second cache level receives accesses that have missed in the first cache level. A resource monitor in the second cache level determines when a predetermined number of resources are committed to servicing the accesses that have missed in the first cache level.
    Type: Grant
    Filed: June 25, 1997
    Date of Patent: November 28, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Thomas M. Wicki