Patents by Inventor Christopher B. Wilkerson

Christopher B. Wilkerson 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: 20180196847
    Abstract: A user performs a gesture with a hand-held or wearable device capable of sensing its own orientation. Orientation data, in the form of a sequence of rotation vectors, is collected throughout the duration of the gesture. To construct a trace representing the shape of the gesture and the direction of device motion, the orientation data is processed by a robotic chain model with four or fewer degrees of freedom, simulating a set of joints moved by the user to perform the gesture (e.g., a shoulder and an elbow). To classify the gesture, a trace is compared to contents of a training database including many different users' versions of the gesture and analyzed by a learning module such as support vector machine.
    Type: Application
    Filed: November 6, 2017
    Publication date: July 12, 2018
    Inventors: Nicolas G. Mitri, Christopher B. Wilkerson, Mariette Awad
  • Patent number: 10019360
    Abstract: Apparatus and methods implementing a hardware predictor for reducing performance inversions caused by intra-core data transfer during inter-core data transfer optimization for network function virtualizations (NFVs) and other producer-consumer workloads. An apparatus embodiment includes a plurality of hardware processor cores each including a first cache, a second cache shared by the plurality of hardware processor cores, and a predictor circuit to track the number of inter-core versus intra-core accesses to a plurality of monitored cache lines in the first cache and control enablement of a cache line demotion instruction, such as a cache line LLC allocation (CLLA) instruction, based upon the tracked accesses. An execution of the cache line demotion instruction by one of the plurality of hardware processor cores causes a plurality of unmonitored cache lines in the first cache to be moved to the second cache, such as from L1 or L2 caches to a shared L3 or last level cache (LLC).
    Type: Grant
    Filed: September 26, 2015
    Date of Patent: July 10, 2018
    Assignee: Intel Corporation
    Inventors: Ren Wang, Andrew J. Herdrich, Christopher B. Wilkerson
  • Publication number: 20180188976
    Abstract: Devices, systems, and methods for increasing the size of a read pending queue (RPQ) in a memory controller are described. An example of increasing the RPQ size can include receiving, at a memory controller, a read request for data in a memory having a physical address identification (ID) including row and column ID, performing a lookup of the RPQ for an entry having a pending read transaction with a physical address ID having the same row ID as the incoming read request, and, if the RPQ lookup returns a hit, appending the incoming read request's column ID to the physical address ID of the pending read transaction to form an appended read transaction. The appending read transaction can then be queued and processed sequentially, while occupying a single RPQ entry.
    Type: Application
    Filed: December 30, 2016
    Publication date: July 5, 2018
    Applicant: Intel Corporation
    Inventors: Gunjae Koo, Vivek Kozhikkottu, Shankar Ganesh Ramasubramanian, Christopher B. Wilkerson
  • Publication number: 20180189182
    Abstract: In one embodiment, aggregated write back in a direct mapped two level memory in accordance with the present description, aggregates a dirty block or other subunit of data being evicted from a near memory of a two level memory system, with other spatially co-located dirty subunits of data in a sector or other unit of data for write back to a far memory of the two level memory system. In one embodiment, dirty spatially co-located subunits are scrubbed and aggregated with one or more spatially co-located dirty subunits being evicted. In one embodiment, a write combining buffer is utilized to aggregate spatially co-located dirty subunits prior to being transferred to a far memory write buffer in a write back operation. Other aspects are described herein.
    Type: Application
    Filed: December 29, 2016
    Publication date: July 5, 2018
    Inventors: Zhe WANG, Christopher B. WILKERSON, Zeshan A. CHISHTI
  • Publication number: 20180188797
    Abstract: An apparatus is described. The apparatus includes power management logic circuitry to implement a power management scheme for a link in which a prior history of the link's idle time behavior is used to determine a first estimate of the link's power consumption while idle in a higher power state and determine a second estimate of the link's power consumption while idle in a lower power state. The first and second estimates are used to determine an idle time for the link at which the link is transitioned to the lower power state.
    Type: Application
    Filed: December 29, 2016
    Publication date: July 5, 2018
    Inventors: Zhe WANG, Christopher B. WILKERSON, Zeshan A. CHISHTI
  • Patent number: 10007620
    Abstract: A processor includes a set associative cache and a cache controller. The cache controller makes an initial association between first and second groups of sampled sets in the cache and first and second cache replacement policies. Follower sets in the cache are initially associated with the more conservative of the two policies. Following cache line insertions in a first epoch, the associations between the groups of sampled sets and cache replacement policies are swapped for the next epoch. If the less conservative policy outperforms the more conservative policy during two consecutive epochs, the follower sets are associated with the less conservative policy for the next epoch. Subsequently, if the more conservative policy outperforms the less conservative policy during any epoch, the follower sets are again associated with the more conservative policy. Performance may be measured based the number of cache misses associated with each policy.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: June 26, 2018
    Assignee: Intel Corporation
    Inventors: Seth H. Pugsley, Christopher B. Wilkerson, Roger Gramunt, Jonathan C. Hall, Prabhat Jain
  • Publication number: 20180165204
    Abstract: A processor may include a programmable hardware prefetch engine and a prefetch engine control register. The processor may include circuitry to receive, during execution of an application, a first instruction for configuring the prefetch engine for prefetching multiple cache lines to be accessed in the future, at predictable locations, by the application; to store, in the prefetch engine control register, dependent on information in the first instruction, data representing an amount of prefetching to be performed and data representing a stride distance between consecutive cache lines to be prefetched; to receive a second instruction for prefetching a single cache line whose location is identified in the second instruction; and to initiate, in response to receiving the second instruction, prefetching of multiple cache lines by the prefetch engine, to be performed in parallel with execution of the application and in accordance with the data stored in the prefetch engine control register.
    Type: Application
    Filed: December 12, 2016
    Publication date: June 14, 2018
    Inventors: Ganesh Venkatesh, Christopher B. Wilkerson, Seth H. Pugsley, Deborah T. Marr
  • Publication number: 20180157591
    Abstract: Embodiments provide for a processor comprising a cache, a prefetcher to select information according to a prefetcher algorithm and to send the selected information to the cache, and a prefetch tuning buffer including tuning state for the set of candidate prefetcher algorithms, wherein the prefetcher is to adjust operation of the prefetcher algorithm based on the tuning state.
    Type: Application
    Filed: December 5, 2016
    Publication date: June 7, 2018
    Applicant: Intel Corporation
    Inventors: Christopher B. Wilkerson, Ren Wang, Namakkal N. Venkatesan, Patrick Lu
  • Publication number: 20180095895
    Abstract: A processor includes a set associative cache and a cache controller. The cache controller makes an initial association between first and second groups of sampled sets in the cache and first and second cache replacement policies. Follower sets in the cache are initially associated with the more conservative of the two policies. Following cache line insertions in a first epoch, the associations between the groups of sampled sets and cache replacement policies are swapped for the next epoch. If the less conservative policy outperforms the more conservative policy during two consecutive epochs, the follower sets are associated with the less conservative policy for the next epoch. Subsequently, if the more conservative policy outperforms the less conservative policy during any epoch, the follower sets are again associated with the more conservative policy. Performance may be measured based the number of cache misses associated with each policy.
    Type: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Seth H. Pugsley, Christopher B. Wilkerson, Roger Gramunt, Jonathan C. Hall, Prabhat Jain
  • Publication number: 20180088853
    Abstract: A method is described. The method includes performing the following in a computing system having a multi-level system memory, the multi-level system memory having a first level and a second level: switching between utilization of the first level as a cache for the second level and separately addressable system memory depending on a state of the computing system.
    Type: Application
    Filed: September 26, 2016
    Publication date: March 29, 2018
    Inventors: Jagadish B. KOTRA, Alaa R. ALAMELDEEN, Christopher B. WILKERSON, Jaewoong SIM
  • Patent number: 9921972
    Abstract: An apparatus and method for implementing a heterogeneous memory subsystem is described. For example, one embodiment of a processor comprises: memory mapping logic to subdivide a system memory space into a plurality of memory chunks and to map the memory chunks across a first memory and a second memory, the first memory having a first set of memory access characteristics and the second memory having a second set of memory access characteristics different from the first set of memory access characteristics; and dynamic remapping logic to swap memory chunks between the first and second memories based, at least in part, on a detected frequency with which the memory chunks are accessed.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: March 20, 2018
    Assignee: Intel Corporation
    Inventors: Christopher B. Wilkerson, Alaa R. Alameldeen, Zeshan A. Chishti, Jaewoong Sim
  • Patent number: 9921961
    Abstract: A multi-level memory management circuit can remap data between near and far memory. In one embodiment, a register array stores near memory addresses and far memory addresses mapped to the near memory addresses. The number of entries in the register array is less than the number of pages in near memory. Remapping logic determines that a far memory address of the requested data is absent from the register array and selects an available near memory address from the register array. Remapping logic also initiates writing of the requested data at the far memory address to the selected near memory address. Remapping logic further writes the far memory address to an entry of the register array corresponding to the selected near memory address.
    Type: Grant
    Filed: January 6, 2017
    Date of Patent: March 20, 2018
    Assignee: Intel Corporation
    Inventors: Christopher B. Wilkerson, Alaa R. Alameldeen, Zhe Wang, Zeshan A. Chishti
  • Publication number: 20170371795
    Abstract: An apparatus is described that includes a memory controller to interface to a multi-level system memory. The memory controller includes least recently used (LRU) circuitry to keep track of least recently used cache lines kept in a higher level of the multi-level system memory. The memory controller also includes idle time predictor circuitry to predict idle times of a lower level of the multi-level system memory. The memory controller is to write one or more lesser used cache lines from the higher level of the multi-level system memory to the lower level of the multi-level system memory in response to the idle time predictor circuitry indicating that an observed idle time of the lower level of the multi-level system memory is expected to be long enough to accommodate the write of the one or more lesser used cache lines from the higher level of the multi-level system memory to the lower level of the multi-level system memory.
    Type: Application
    Filed: June 27, 2016
    Publication date: December 28, 2017
    Inventors: Zhe WANG, Christopher B. WILKERSON, Zeshan A. CHISHTI
  • Patent number: 9811555
    Abstract: A user performs a gesture with a hand-held or wearable device capable of sensing its own orientation. Orientation data, in the form of a sequence of rotation vectors, is collected throughout the duration of the gesture. To construct a trace representing the shape of the gesture and the direction of device motion, the orientation data is processed by a robotic chain model with four or fewer degrees of freedom, simulating a set of joints moved by the user to perform the gesture (e.g., a shoulder and an elbow). To classify the gesture, a trace is compared to contents of a training database including many different users' versions of the gesture and analyzed by a learning module such as support vector machine.
    Type: Grant
    Filed: September 27, 2014
    Date of Patent: November 7, 2017
    Assignee: Intel Corporation
    Inventors: Nicholas G. Mitri, Christopher B. Wilkerson, Mariette Awad
  • Publication number: 20170277633
    Abstract: A multi-level memory management circuit can remap data between near and far memory. In one embodiment, a register array stores near memory addresses and far memory addresses mapped to the near memory addresses. The number of entries in the register array is less than the number of pages in near memory. Remapping logic determines that a far memory address of the requested data is absent from the register array and selects an available near memory address from the register array. Remapping logic also initiates writing of the requested data at the far memory address to the selected near memory address. Remapping logic further writes the far memory address to an entry of the register array corresponding to the selected near memory address.
    Type: Application
    Filed: January 6, 2017
    Publication date: September 28, 2017
    Inventors: Christopher B. WILKERSON, Alaa R. ALAMELDEEN, Zhe WANG, Zeshan A. CHISHTI
  • Patent number: 9703708
    Abstract: Systems and methods for efficiently utilizing reconfigurable processor cores. An example processing system includes, for example, a control register comprising a plurality of inhibit bits, each inhibit bit indicating whether a corresponding processor core is allowed to merge with other processor cores; and dynamic core reallocation logic to temporarily merge a first processor core and a second processor core to speed execution of a first thread executed on the first processor core responsive to determining that a second thread executed on the second processor core has completed execution prior to a quantum associated with the second thread being reached and to determining that the inhibit bits indicate that the first and second cores may be merged.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: July 11, 2017
    Assignee: INTEL CORPORATION
    Inventors: Alaa R. Alameldeen, Christopher B. Wilkerson, Eugene Gorbatov, Zeshan A. Chishti
  • Publication number: 20170139006
    Abstract: Sequential circuits with error-detection are provided. They may, for example, be used to replace traditional master-slave flip-flops, e.g., in critical path circuits to detect and initiate correction of late transitions at the input of the sequential. In some embodiments, such sequentials may comprise a transition detector with a time borrowing latch.
    Type: Application
    Filed: February 1, 2017
    Publication date: May 18, 2017
    Inventors: Keith A. Bowman, James W. Tschanz, Nam Sung Kim, Janice C. Lee, Christopher B. Wilkerson, Shih-Lien L. Lu, Tanay Karnik, Vivek K. De
  • Publication number: 20170091090
    Abstract: Apparatus and methods implementing a hardware predictor for reducing performance inversions caused by intra-core data transfer during inter-core data transfer optimization for NFVs and other producer-consumer workloads. The apparatus include multi-core processors with multi-level cache hierarchies including and L1 and L2 cache or mid-level cache (MLC) for each core and a shared L3 or last-level cache (LLC). A hardware predictor to monitor accesses to sample cache lines and, based on these accesses, adaptively control the enablement of cache line demotion instructions for proactively demoting cache lines from lower cache levels to higher cache levels, including demoting cache lines from L1 or L2 caches (MLC) to L3 cache (LLC).
    Type: Application
    Filed: September 26, 2015
    Publication date: March 30, 2017
    Inventors: Ren Wang, Andrew J. Herdrich, Christopher B. Wilkerson
  • Publication number: 20170091093
    Abstract: An apparatus is described. The apparatus includes a last level cache and a memory controller to interface to a multi-level system memory. The multi-level system memory has a caching level. The apparatus includes a first prediction unit to predict unneeded blocks in the last level cache. The apparatus includes a second prediction unit to predict unneeded blocks in the caching level of the multi-level system memory.
    Type: Application
    Filed: September 25, 2015
    Publication date: March 30, 2017
    Inventors: ZHE WANG, CHRISTOPHER B. WILKERSON, ZESHAN A. CHISHTI, SETH H. PUGSLEY, ALAA R. ALAMELDEEN, SHIH-LIEN L. LU
  • Publication number: 20170083443
    Abstract: A method is described that includes creating a first data pattern access record for a region of system memory in response to a cache miss at a host side cache for a first memory access request. The first memory access request specifies an address within the region of system memory. The method includes fetching a previously existing data access pattern record for the region from the system memory in response to the cache miss. The previously existing data access pattern record identifies blocks of data within the region that have been previously accessed. The method includes pre-fetching the blocks from the system memory and storing the blocks in the cache.
    Type: Application
    Filed: September 23, 2015
    Publication date: March 23, 2017
    Inventors: ZHE WANG, CHRISTOPHER B. WILKERSON, ZESHAN A. CHISHTI, SETH H. PUGSLEY, ALAA R. ALAMELDEEN, SHIH-LIEN L. LU