Patents Examined by Scott Sun
  • Patent number: 9256433
    Abstract: Systems and methods for move operation elimination with bypass Multiple Instantiation Table (MIT) logic. An example processing system may comprise a first data structure configured to store a plurality of physical register values; a second data structure configured to store a plurality of pointers, each pointer referencing an element of the first data structure; a third data structure including a plurality of move elimination sets, each move elimination set comprising a plurality of bits representing a plurality of logical registers; and a logic configured to perform a data manipulation operation by causing an element of the second data structure to reference an element of the first data structure, the logic further configured to reflect results of two or more data manipulation operations by performing a single update of the third data structure.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: February 9, 2016
    Assignee: Intel Corporation
    Inventor: Jeremy Anderson
  • Patent number: 9250906
    Abstract: Methods, apparatus and systems for virtualization of a native instruction set are disclosed. Embodiments include a processor core executing the native instructions and a second core, or alternatively only the second processor core consuming less power while executing a second instruction set that excludes portions of the native instruction set. The second core's decoder detects invalid opcodes of the second instruction set. A microcode layer disassembler determines if opcodes should be translated. A translation runtime environment identifies an executable region containing an invalid opcode, other invalid opcodes and interjacent valid opcodes of the second instruction set. An analysis unit determines an initial machine state prior to execution of the invalid opcode. A partial translation of the executable region that includes encapsulations of the translations of invalid opcodes and state recoveries of the machine states is generated and saved to a translation cache memory.
    Type: Grant
    Filed: August 30, 2015
    Date of Patent: February 2, 2016
    Assignee: Intel Corporation
    Inventors: Gadi Haber, Konstantin Kostya Levit-Gurevich, Esfir Natanzon, Boris Ginzburg, Aya Elhanan, Moshe Maury Bach, Igor Breger
  • Patent number: 9244684
    Abstract: A processor of an aspect includes a plurality of packed data registers. The processor also includes a unit coupled with the packed data registers. The unit is operable, in response to a limited range vector memory access instruction. The instruction is to indicate a source packed memory indices, which is to have a plurality of packed memory indices, which are to be selected from 8-bit memory indices and 16-bit memory indices. The unit is operable to access memory locations, in only a limited range of a memory, in response to the limited range vector memory access instruction. Other processors are disclosed, as are methods, systems, and instructions.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: January 26, 2016
    Assignee: Intel Corporation
    Inventors: Robert Valentine, Elmoustapha Ould-Ahmed-Vall
  • Patent number: 9244687
    Abstract: Receive packed data operation mask comparison instruction indicating first packed data operation mask having first packed data operation mask bits and second packed data operation mask having second packed data operation mask bits. Each packed data operation mask bit of first mask corresponds to a packed data operation mask bit of second mask in corresponding position. Modify first flag to first value if bitwise AND of each packed data operation mask bit of first mask with each corresponding packed data operation mask bit of second mask is zero. Otherwise modify first flag to second value. Modify second flag to third value if bitwise AND of each packed data operation mask bit of first mask with bitwise NOT of each corresponding packed data operation mask bit of second mask is zero. Otherwise modify second flag to fourth value.
    Type: Grant
    Filed: December 29, 2011
    Date of Patent: January 26, 2016
    Assignee: Intel Corporation
    Inventors: Bret L. Toll, Robert Valentine, Jesus Corbal San Adrian, Elmoustapha Ould-Ahmed-Vall, Mark Charney
  • Patent number: 9235798
    Abstract: A data analysis system to analyze data. The data analysis system includes a data buffer configured to receive data to be analyzed. The data analysis system also includes a state machine lattice. The state machine lattice includes multiple data analysis elements and each data analysis element includes multiple memory cells configured to analyze at least a portion of the data and to output a result of the analysis. The data analysis system includes a buffer interface configured to receive the data from the data buffer and to provide the data to the state machine lattice.
    Type: Grant
    Filed: July 18, 2012
    Date of Patent: January 12, 2016
    Assignee: Micron Technology, Inc.
    Inventors: David R. Brown, Harold B Noyes, Inderjit Singh Bains
  • Patent number: 9235343
    Abstract: The present disclosure includes methods, devices, and systems for state change in systems having devices coupled in a chained configuration. A number of embodiments include a host and a number of devices coupled to the host in a chained configuration. The chained configuration includes at least one device that is not directly coupled to the host. The at least one device that is not directly coupled to the host is configured to change from a first communication state to a second communication state responsive to receipt of a command from the host.
    Type: Grant
    Filed: June 30, 2015
    Date of Patent: January 12, 2016
    Assignee: Micron Technology, Inc.
    Inventors: William H. Radke, Victor Y. Tsai, James Cooke, Neal A. Galbo, Peter Feeley
  • Patent number: 9229713
    Abstract: A programmable processor and method for improving the performance of processors by expanding at least two source operands, or a source and a result operand, to a width greater than the width of either the general purpose register or the data path width. The present invention provides operands which are substantially larger than the data path width of the processor by using the contents of a general purpose register to specify a memory address at which a plurality of data path widths of data can be read or written, as well as the size and shape of the operand. In addition, several instructions and apparatus for implementing these instructions are described which obtain performance advantages if the operands are not limited to the width and accessible number of general purpose registers.
    Type: Grant
    Filed: August 22, 2012
    Date of Patent: January 5, 2016
    Assignee: MicroUnity Systems Engineering, Inc.
    Inventors: Craig Hansen, John Moussouris, Alexia Massalin
  • Patent number: 9232409
    Abstract: Binding techniques are described that are configured to bind an apparatus for operation with a computing device. A computing device may include one or more object detection sensors that are configured to detect proximity of an object, a wireless communication module configured to support wireless communication, and one or more modules implemented at least partially in hardware. The one or more modules are configured to perform operations that include recognizing a first event as involving detection of proximity of an apparatus by the one or more object detection sensors, recognizing a second event as involving receipt of a wireless communication by the wireless communication module from the apparatus, and responsive to the recognizing of the first and second events, causing the apparatus to be bound for operation with the computing device such that the apparatus is configured to initiate one or more host side commands of the computing device.
    Type: Grant
    Filed: December 12, 2013
    Date of Patent: January 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Steven Nabil Bathiche, Christopher A. Whitman, Yann Florian Daniel Riche, Sarah Graham Williams
  • Patent number: 9223653
    Abstract: A method includes storing tasks in a task queue. The method continues with computing devices retrieving at least some of the plurality of tasks for execution. The method includes a computing device issuing read requests and initiate delete requests to storage units regarding an unassigned task, wherein the initiate delete requests instruct the storage units to flag for deletion, but not execute deletion, of a set of encoded task slices corresponding to the unassigned task. The method continues with the computing device receiving responses. When the responses include encoded task slices, the method continues with the computing device decoding them to recover the unassigned task. The method continues with the computing device executing the recovered task and, when execution is successful, issuing commit delete requests to the storage units that instruct the storage units to delete the set of encoded task slices for the unassigned task.
    Type: Grant
    Filed: May 5, 2015
    Date of Patent: December 29, 2015
    Assignee: International Business Machines Corporation
    Inventors: Michael Colin Storm, Jason K. Resch
  • Patent number: 9213655
    Abstract: A computing device receives, from a portable device, an application that is executable on the portable device. The computing device determines whether the received application is a static application or an interpreted application. In response to determining that the received application is a static application, the computing device executes the received application using a hardware virtualizer. In response to determining that the received application is an interpreted application, the computing device executes the received application using a dynamic translator.
    Type: Grant
    Filed: June 19, 2015
    Date of Patent: December 15, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Roland M. Hochmuth
  • Patent number: 9213547
    Abstract: A processor has a processing pipeline with first, second and third stages. An instruction at the first stage takes fewer cycles to reach the second stage then the third stage. The second and third stages each have a duplicated processing resource. For a pending instruction which requires the duplicated resource and can be processed using the duplicated resource at either of the second and third stages, the first stage determines whether a required operand would be available when the pending instruction would reach the second stage. If the operand would be available, then the pending instruction is processed using the duplicated resource at the second stage, while if the operand would not be available in time then the instruction is processed using the duplicated resource in the third pipeline stage. This technique helps to reduce delays caused by data dependency hazards.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: December 15, 2015
    Assignee: ARM Limited
    Inventors: Ian Michael Caulfield, Peter Richard Greenhalgh, Max John Batley
  • Patent number: 9207940
    Abstract: Robust system call and system return instructions are executed by a processor to transfer control between a requester and an operating system kernel. The processor includes execution circuitry and registers that store pointers to data structures in memory. The execution circuitry receives a system call instruction from a requester to transfer control from a first privilege level of the requester to a second privilege level of an operating system kernel. In response, the execution circuitry swaps the data structures that are pointed to by the registers between the requester and the operating system kernel in one atomic transition.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: December 8, 2015
    Assignee: Intel Corporation
    Inventors: Baiju V. Patel, James B. Crossland, Atul A. Khare, Toby Opferman
  • Patent number: 9207942
    Abstract: Embodiments of systems, methods and apparatuses for execution a NAME instruction are described. The execution of a VPBZHI causes, on a per data element basis of a second source, a zeroing of bits higher (more significant) than a starting point in the data element. The starting point is defined by the contents of a data element in a first source. The resultant data elements are stored in a corresponding data element position of a destination.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: December 8, 2015
    Assignee: Intel Corporation
    Inventors: Elmoustapha Ould-Ahmed-Vall, Robert Valentine
  • Patent number: 9207941
    Abstract: Systems, methods, and apparatuses for calculating a square of a data value of a first source operand, a square of a data value of a second source operand, and a multiplication of the data of the first and second operands only using one multiplication are described.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: December 8, 2015
    Assignee: Intel Corporation
    Inventors: Ilya Albrekht, Elmoustapha Ould-Ahmed-Vall
  • Patent number: 9195497
    Abstract: A microprocessor or microcontroller device may have a central processing unit (CPU), a data memory coupled with the CPU, wherein the data memory is divided into a plurality of memory banks, wherein a bank select register determines which memory bank is currently coupled with the CPU. Furthermore, a first and second set of special function registers are provided, wherein upon occurrence of a context switch either the first or the second set of special function register are selected as active context registers for the CPU and the respective other set of special function registers are selected as inactive context registers, wherein at least some of the registers of the active context registers are memory mapped to more than two memory banks of the data memory and wherein all registers of the inactive context registers are memory mapped to at least one memory location within the data memory.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: November 24, 2015
    Assignee: MICROCHIP TECHNOLOGY INCORPORATED
    Inventors: Zeke Lundstrum, Fanie Duvenhage, Sean Steedman, Kevin Lee Kilzer, Joseph Julicher
  • Patent number: 9183048
    Abstract: The systems and methods described herein may implement scalable statistics counters that are adaptive to the amount of contention for the counters. The counters may be accessible within transactions. Methods for determining whether or when to increment the counters in response to initiation of an increment operation and/or methods for updating the counters may be selected dependent on current, recent, or historical amounts of contention. Various contention management policies or retry conditions may be applied to select between multiple methods. One counter may include a precise counter portion that is incremented under low contention and a probabilistic counter portion that is updated under high contention. Amounts by which probabilistic counters are incremented may be contention-dependent. Another counter may include a node identifier portion that encourages consecutive increments by threads on a single node only when under contention.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: November 10, 2015
    Assignee: Oracle International Corporation
    Inventors: David Dice, Yosef Lev, Mark S. Moir
  • Patent number: 9170819
    Abstract: A data processing apparatus comprises first and second processing circuitry. A conditional instruction executed by the second processing circuitry may have an outcome which is dependent on one of a plurality of sets of condition information maintained by the first processing circuitry. A first forwarding path can forward the sets of condition information from the first processing circuitry to a predetermined pipeline stage of a processing pipeline of the second processing circuitry. A request path can transmit a request signal from the second processing circuitry to the first processing circuitry, the request signal indicating a requested set of condition information which was not yet valid when a conditional instruction was at the predetermined pipeline stage. A second forwarding path may forward the requested set of condition information to a subsequent pipeline stage when the information becomes valid.
    Type: Grant
    Filed: January 9, 2013
    Date of Patent: October 27, 2015
    Assignee: ARM Limited
    Inventors: Nicolas Chaussade, Luca Scalabrino, Frederic Jean Denis Arsanto, Cedric Denis Robert Airaud
  • Patent number: 9164892
    Abstract: Technologies and implementations for writing data to a solid state drive are generally disclosed.
    Type: Grant
    Filed: July 30, 2012
    Date of Patent: October 20, 2015
    Assignee: Empire Technology Development LLC
    Inventor: Hyun Oh Oh
  • Patent number: 9164681
    Abstract: Example embodiments of the present invention relate to a method, an apparatus, and a computer program product for sending an I/O over a preferred path. The method includes determining a preferred path to an address range of a virtual storage unit striped across a plurality of disks of a data storage system and sending an I/O for data comprising the address range over the preferred path.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: October 20, 2015
    Assignee: EMC CORPORATION
    Inventors: Ajith Balakrishnan, Zvi Gabriel Benhanokh, Arieh Don, Eitan Ben-Amos
  • Patent number: 9153198
    Abstract: A method and device of over training a connection is provided. Noise is intentionally supplied and added to a signal that is subjected to a link training operation. The link training operation is used to obtain a link between a source device and a receiving device. The device includes a noise source from which noise is obtained and added to a signal to aid in link over-training.
    Type: Grant
    Filed: September 25, 2012
    Date of Patent: October 6, 2015
    Assignee: ATI Technologies ULC
    Inventor: James D. Hunkins