Patents by Inventor Jonathan Hsieh

Jonathan Hsieh 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).

  • Patent number: 11243774
    Abstract: Methods, systems and computer program products for dynamically selecting an OSC hazard avoidance mechanism are provided. Aspects include receiving a load instruction that is associated with an operand store compare (OSC) prediction. The OSC prediction is stored in an entry of an OSC history table (OHT) and includes a multiple dependencies indicator (MDI). Responsive to determining the MDI is in a first state, aspects include applying a first OSC hazard avoidance mechanism in relation to the load instruction. Responsive to determining that the load instruction is dependent on more than one store instruction, aspects include placing the MDI in a second state. The MDI being in the second state provides an indication to apply a second OSC hazard avoidance mechanism in relation to the load instruction.
    Type: Grant
    Filed: March 20, 2019
    Date of Patent: February 8, 2022
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James Raymond Cuffney, Adam Collura, James Bonanno, Edward Malley, Anthony Saporito, Jang-Soo Lee, Michael Cadigan, Jr., Jonathan Hsieh
  • Patent number: 11150902
    Abstract: Systems and methods of performing processor pipeline management include receiving an instruction for processing, determining that data in a first memory sub-group of a memory group needed to process the instruction is not available in a cache that ensures fixed latency access, and determining that the instruction should be put in a sleep state. The sleep state indicates that the instruction will not be reissued until the instruction is moved to a wakeup state. The methods also include associating the instruction with a ticket identifier (ID) that corresponds with a second memory sub-group of the memory group, and moving the instruction to the wakeup state based on the second memory sub-group of the memory group being moved into the cache.
    Type: Grant
    Filed: February 11, 2019
    Date of Patent: October 19, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Taylor J. Pritchard, Jonathan Hsieh, Michael Cadigan, Jr.
  • Patent number: 11144321
    Abstract: Examples of techniques for store hit multiple load side register for operand store compare are described herein. An aspect includes, based on detecting a store hit multiple load condition in the processor, updating a register of the processor to hold information corresponding to a first store instruction that triggered the detected store hit multiple load condition. Another aspect includes, based on issuing a second store instruction in the processor, determining whether the second store instruction corresponds to the information in the register. Another aspect includes, based on determining that the second store instruction corresponds to the information in the register, tagging the second store instruction with an operand store compare mark.
    Type: Grant
    Filed: February 20, 2019
    Date of Patent: October 12, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Yair Fried, Jonathan Hsieh, Eyal Naor, James Bonanno, Gregory William Alexander
  • Patent number: 11080199
    Abstract: Embodiments of the inventions are directed towards a computer-implemented methods and systems for determining an oldest logical memory address. The method includes creating an M number of miss request registers and an N number of stations in a load/store unit of the processor. In response to load requests from target instructions, a processor detects each L1 cache miss. The processor stores data related to each L1 cache miss in a respective miss request register. The data includes an age of each L1 cache miss and a portion of a logical memory address of the requested load. The processor stores the entire logical memory addresses of the requested loads in respective stations based on an age of the load requests. The processor transmits the oldest logical memory address that is stored at the stations.
    Type: Grant
    Filed: March 7, 2019
    Date of Patent: August 3, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Yossi Shapira, Jonathan Hsieh, Michael Cadigan, Jr., Jane Bartik, Taylor J Pritchard
  • Patent number: 11074184
    Abstract: Methods, systems and computer program products for monitoring delivered packages are provided. Aspects include receiving, by a co-processor, a data stream and performing processing on the data stream. Aspects also include writing, by the co-processor, a data record into the output buffer. Based on a determination that the data record should replace a most recently stored data record in a cache, aspects include providing, by the co-processor to the cache controller, an instruction for the cache controller to write the data record to a location in the cache obtained from a most recently used address register. Based on a determination that the data record should not replace the most recently stored data record in the cache, aspects include writing, by the cache controller, the data record to an available location in the cache.
    Type: Grant
    Filed: April 15, 2019
    Date of Patent: July 27, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael Cadigan, Jr., Erez Barak, Deepankar Bhattacharjee, Yair Fried, Jonathan Hsieh, Martin Recktenwald, Aditya Nitin Puranik
  • Patent number: 10929142
    Abstract: Provided are embodiments including a computer-implemented method, system and computer program product for determining precise operand-store-compare (OSC) predictions to avoid false dependencies. Some embodiments include detecting an instruction causing an OSC event, wherein the OSC event is at least one of a store-hit-load event or a load-hit-store event, marking an entry in a queue for the instruction based on the detected OSC event, wherein marking the entry comprises setting a bit and saving a tag in the entry in the queue. Some embodiments also include installing an address for the instruction and the tag in the history table responsive to completing the instruction.
    Type: Grant
    Filed: March 20, 2019
    Date of Patent: February 23, 2021
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Gregory William Alexander, James Bonanno, Adam Collura, James Raymond Cuffney, Yair Fried, Jonathan Hsieh, Jang-Soo Lee, Edward Malley, Anthony Saporito, Eyal Naor
  • Patent number: 10810543
    Abstract: A method for populating an inventory catalog includes receiving an image showing an item in the inventory catalog and comprising a plurality of pixels. A machine learned segmentation neural network is retrieved to determine location of pixels in an image that are associated with an image label and the property. The method determines a subset of pixels associated with the item label in the received image and identifies locations of the subset of pixels of the received image, and extracts the subset of pixels from the received image. The method retrieves a machine learned classifier to determine whether an image shows the item label. The method determines, using the machine learned classifier, that the extracted subset of pixels shows the item label. The method updates the inventory catalog for the item to indicate that the item has the property associated with the item label.
    Type: Grant
    Filed: July 30, 2018
    Date of Patent: October 20, 2020
    Assignee: Maplebear, Inc.
    Inventors: Jonathan Hsieh, Oliver Gothe, Jeremy Stanley
  • Publication number: 20200327059
    Abstract: Methods, systems and computer program products for monitoring delivered packages are provided. Aspects include receiving, by a co-processor, a data stream and performing processing on the data stream. Aspects also include writing, by the co-processor, a data record into the output buffer. Based on a determination that the data record should replace a most recently stored data record in a cache, aspects include providing, by the co-processor to the cache controller, an instruction for the cache controller to write the data record to a location in the cache obtained from a most recently used address register. Based on a determination that the data record should not replace the most recently stored data record in the cache, aspects include writing, by the cache controller, the data record to an available location in the cache.
    Type: Application
    Filed: April 15, 2019
    Publication date: October 15, 2020
    Inventors: MICHAEL CADIGAN, JR., EREZ BARAK, DEEPANKAR BHATTACHARJEE, YAIR FRIED, JONATHAN HSIEH, MARTIN RECKTENWALD, ADITYA NITIN PURANIK
  • Patent number: 10802830
    Abstract: A computer data processing system includes a plurality of logical registers, each including multiple storage sections. A processor writes data a storage section based on a dispatched first instruction, and sets a valid bit corresponding to the storage section that receives the data. In response to each subsequent instruction, the processor sets an evictor valid bit indicating a subsequent instruction has written new data to a storage section written by the first instruction, and updates the valid bit to indicate the storage section containing the new written data. A register combination unit generates a combined evictor tag to identify a most recent subsequent instruction. The processor determines the most recent subsequent instruction based on the combined evictor tag in response to a flush event, and unsets all the evictor tag valid bits set by the most the most recent subsequent instruction along with all previous subsequent instructions.
    Type: Grant
    Filed: March 5, 2019
    Date of Patent: October 13, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jonathan Hsieh, Gregory William Alexander, Tu-An Nguyen
  • Publication number: 20200301711
    Abstract: Methods, systems and computer program products for dynamically selecting an OSC hazard avoidance mechanism are provided. Aspects include receiving a load instruction that is associated with an operand store compare (OSC) prediction. The OSC prediction is stored in an entry of an OSC history table (OHT) and includes a multiple dependencies indicator (MDI). Responsive to determining the MDI is in a first state, aspects include applying a first OSC hazard avoidance mechanism in relation to the load instruction. Responsive to determining that the load instruction is dependent on more than one store instruction, aspects include placing the MDI in a second state. The MDI being in the second state provides an indication to apply a second OSC hazard avoidance mechanism in relation to the load instruction.
    Type: Application
    Filed: March 20, 2019
    Publication date: September 24, 2020
    Inventors: James Raymond Cuffney, Adam Collura, JAMES BONANNO, Edward Malley, Anthony Saporito, Jang-Soo Lee, Michael Cadigan, JR., Jonathan Hsieh
  • Publication number: 20200301710
    Abstract: Provided are embodiments including a computer-implemented method, system and computer program product for determining precise operand-store-compare (OSC) predictions to avoid false dependencies. Some embodiments include detecting an instruction causing an OSC event, wherein the OSC event is at least one of a store-hit-load event or a load-hit-store event, marking an entry in a queue for the instruction based on the detected OSC event, wherein marking the entry comprises setting a bit and saving a tag in the entry in the queue. Some embodiments also include installing an address for the instruction and the tag in the history table responsive to completing the instruction.
    Type: Application
    Filed: March 20, 2019
    Publication date: September 24, 2020
    Inventors: Gregory William Alexander, James Bonanno, Adam Collura, James Raymond Cuffney, Yair Fried, Jonathan Hsieh, Jang-Soo Lee, Edward Malley, Anthony Saporito, Eyal Naor
  • Publication number: 20200285583
    Abstract: Embodiments of the inventions are directed towards a computer-implemented methods and systems for determining an oldest logical memory address. The method includes creating an M number of miss request registers and an N number of stations in a load/store unit of the processor. In response to load requests from target instructions, a processor detects each L1 cache miss. The processor stores data related to each L1 cache miss in a respective miss request register. The data includes an age of each L1 cache miss and a portion of a logical memory address of the requested load. The processor stores the entire logical memory addresses of the requested loads in respective stations based on an age of the load requests. The processor transmits the oldest logical memory address that is stored at the stations.
    Type: Application
    Filed: March 7, 2019
    Publication date: September 10, 2020
    Inventors: Yossi Shapira, Jonathan Hsieh, Michael Cadigan, Jr., Jane Bartik, Taylor J. Pritchard
  • Publication number: 20200285478
    Abstract: A computer data processing system includes a plurality of logical registers, each including multiple storage sections. A processor writes data a storage section based on a dispatched first instruction, and sets a valid bit corresponding to the storage section that receives the data. In response to each subsequent instruction, the processor sets an evictor valid bit indicating a subsequent instruction has written new data to a storage section written by the first instruction, and updates the valid bit to indicate the storage section containing the new written data. A register combination unit generates a combined evictor tag to identify a most recent subsequent instruction. The processor determines the most recent subsequent instruction based on the combined evictor tag in response to a flush event, and unsets all the evictor tag valid bits set by the most the most recent subsequent instruction along with all previous subsequent instructions.
    Type: Application
    Filed: March 5, 2019
    Publication date: September 10, 2020
    Inventors: Jonathan Hsieh, Gregory William Alexander, Tu-An Nguyen
  • Publication number: 20200264885
    Abstract: Examples of techniques for store hit multiple load side register for operand store compare are described herein. An aspect includes, based on detecting a store hit multiple load condition in the processor, updating a register of the processor to hold information corresponding to a first store instruction that triggered the detected store hit multiple load condition. Another aspect includes, based on issuing a second store instruction in the processor, determining whether the second store instruction corresponds to the information in the register. Another aspect includes, based on determining that the second store instruction corresponds to the information in the register, tagging the second store instruction with an operand store compare mark.
    Type: Application
    Filed: February 20, 2019
    Publication date: August 20, 2020
    Inventors: Yair Fried, Jonathan Hsieh, EYAL NAOR, JAMES BONANNO, Gregory William Alexander
  • Publication number: 20200257632
    Abstract: Systems and methods of performing processor pipeline management include receiving an instruction for processing, determining that data in a first memory sub-group of a memory group needed to process the instruction is not available in a cache that ensures fixed latency access, and determining that the instruction should be put in a sleep state. The sleep state indicates that the instruction will not be reissued until the instruction is moved to a wakeup state. The methods also include associating the instruction with a ticket identifier (ID) that corresponds with a second memory sub-group of the memory group, and moving the instruction to the wakeup state based on the second memory sub-group of the memory group being moved into the cache.
    Type: Application
    Filed: February 11, 2019
    Publication date: August 13, 2020
    Inventors: Taylor J. Pritchard, Jonathan Hsieh, Michael Cadigan, JR.
  • Publication number: 20200034782
    Abstract: A method for populating an inventory catalog includes receiving an image showing an item in the inventory catalog and comprising a plurality of pixels. A machine learned segmentation neural network is retrieved to determine location of pixels in an image that are associated with an image label and the property. The method determines a subset of pixels associated with the item label in the received image and identifies locations of the subset of pixels of the received image, and extracts the subset of pixels from the received image. The method retrieves a machine learned classifier to determine whether an image shows the item label. The method determines, using the machine learned classifier, that the extracted subset of pixels shows the item label. The method updates the inventory catalog for the item to indicate that the item has the property associated with the item label.
    Type: Application
    Filed: July 30, 2018
    Publication date: January 30, 2020
    Inventors: Jonathan Hsieh, Oliver Gothe, Jeremy Stanley
  • Patent number: 9471656
    Abstract: A computer system identifies high-value information in data streams. The computer system receives a receiving a plurality of data streams. Each of the data streams includes a plurality of posts. Each of the posts includes a content portion and one or more source characteristics, In real time, for each post in a particular data stream: the system assigns the post a post identifier; generates a content packet and one or more source packets; queries memory to access a source profile using a respective source identifier included in the content packet; correlates the content packet with information from the source profile to produce a correlated content packet; and broadcasts the correlated content packet to a plurality of filter graph definitions.
    Type: Grant
    Filed: March 14, 2014
    Date of Patent: October 18, 2016
    Assignee: UDA, LLC
    Inventors: Luis Stevens, Vince Schiavone, Jonathan Hsieh
  • Publication number: 20130344925
    Abstract: A cell phone case that includes an integrated key holder is provided. The cell phone case can include a first portion that covers the sides and back of an upper portion of a cell phone body and a second portion for covering the sides and back of a lower portion of the cell phone body. The first portion and the second portion can be capable of being engaged with each other to form the cell phone case. The first portion and/or the second portion can include on a back panel, a side facing away from a screen of the cell phone, a cutout sized to removably hold a key.
    Type: Application
    Filed: June 24, 2013
    Publication date: December 26, 2013
    Inventors: David S. Lu, Jonathan Hsieh
  • Patent number: D841575
    Type: Grant
    Filed: November 11, 2016
    Date of Patent: February 26, 2019
    Assignee: Incipio, LLC
    Inventors: Jonathan Hsieh, Ahmed Abdallah, Peter Tu