Patents Examined by Hamdy S. Ahmed
  • Patent number: 10120687
    Abstract: A programmable controller for executing a sequence program comprises a processor for reading and executing an instruction code from an external memory, an instruction cache memory for storing a branch destination program code of a branch instruction included in the sequence program, and a cache controller for entering the branch destination program code in the instruction cache memory according to data on priority, the instruction code of the branch instruction including the data on priority of an entry into the instruction cache memory.
    Type: Grant
    Filed: February 24, 2015
    Date of Patent: November 6, 2018
    Assignee: FANUC Corporation
    Inventors: Motoyoshi Miyachi, Yasushi Nomoto
  • Patent number: 9563384
    Abstract: A method may include link training a plurality of back-side lanes coupling a plurality of memory chips of a memory module to a plurality of data buffers of the memory module. The method may also include link training a plurality of front-side lanes coupling the plurality of data buffers to a memory controller. The method may further include determining after link training of the back-side and front-side lanes whether signal integrity of data communicated over the front-side lanes exceeds one or more thresholds. The method may additionally include responsive to determining that the signal integrity of data communicated over one or more of the front-side lanes fails to exceed the one or more thresholds, modifying timing of data communicated over one or more of the back-side and front-side lanes in order to improve signal integrity of the one or more of the front-side lanes failing to exceed the thresholds.
    Type: Grant
    Filed: July 11, 2016
    Date of Patent: February 7, 2017
    Assignee: Dell Products L.P.
    Inventors: Stuart Allen Berke, Bhyrav M. Mutnury, Vadhiraj Sankaranarayanan
  • Patent number: 9552295
    Abstract: Technologies are described herein for improving performance and energy efficiency in a computing system while using a large memory page size. Some example technologies may configure a main memory of the computing system to include a page-to-chunk table and a data area. The page-to-chunk table may include multiple entries such as a first entry. The first entry may correspond to a page that is made up of multiple chunks. The first entry may include pointers to the multiple chunks stored in the data area.
    Type: Grant
    Filed: September 25, 2012
    Date of Patent: January 24, 2017
    Assignee: Empire Technology Development LLC
    Inventor: Yan Solihin
  • Patent number: 9552293
    Abstract: A method of managing processor caches. The method includes invalidating a cache line from a first instruction cache level and in response to invalidating the cache line from the first cache level, fetching data associated with the invalidated cache line from a third cache level or memory and writing the fetched data to a second cache level. The third cache level is larger or differently associative than the second cache level and the second cache level is larger or differently associative than the first cache level.
    Type: Grant
    Filed: August 6, 2012
    Date of Patent: January 24, 2017
    Assignee: Google Inc.
    Inventors: Benjamin Charles Serebrin, David Levinthal, Kevin D. Kissell, Clinton Wills Smullen, IV
  • Patent number: 9529719
    Abstract: Apparatus and method embodiments for dynamically allocating cache space in a multi-threaded execution environment are disclosed. In some embodiments, a processor includes a cache shared by each of a plurality of processor cores and/or each of a plurality of threads executing on the processor. The processor further includes a cache allocation circuit configured to dynamically allocate space in the cache provided to each of the plurality of processor cores based on their respective usage patterns. The cache allocation unit may track cache usage by each of the processor cores/threads using subsets of usage bits and counters configured to update states of the usage bits. The cache allocation circuit may track the usage of cache space by the processor cores/threads and may allocate more space to those that exhibit more usage of the cache.
    Type: Grant
    Filed: August 5, 2012
    Date of Patent: December 27, 2016
    Assignee: ADVANCED MICRO DEVICES, INC.
    Inventor: William L. Walker
  • Patent number: 9524196
    Abstract: In a Hardware Lock Elision (HLE) Environment, predictively determining whether a HLE transaction should actually acquire a lock and execute non-transactionally, is provided. Included is, based on encountering an HLE lock-acquire instruction, determining, based on an HLE predictor, whether to elide the lock and proceed as an HLE transaction or to acquire the lock and proceed as a non-transaction; based on the HLE predictor predicting to elide, setting the address of the lock as a read-set of the transaction, and suppressing any write by the lock-acquire instruction to the lock and proceeding in HLE transactional execution mode until an xrelease instruction is encountered wherein the xrelease instruction releases the lock or the HLE transaction encounters a transactional conflict; and based on the HLE predictor predicting not-to-elide, treating the HLE lock-acquire instruction as a non-HLE lock-acquire instruction, and proceeding in non-transactional mode.
    Type: Grant
    Filed: August 25, 2015
    Date of Patent: December 20, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Maged M. Michael, Valentina Salapura, Chung-Lung K. Shum
  • Patent number: 9524195
    Abstract: In a Hardware Lock Elision (HLE) Environment, predictively determining whether a HLE transaction should actually acquire a lock and execute non-transactionally, is provided. Included is, based on encountering an HLE lock-acquire instruction, determining, based on an HLE predictor, whether to elide the lock and proceed as an HLE transaction or to acquire the lock and proceed as a non-transaction; based on the HLE predictor predicting to elide, setting the address of the lock as a read-set of the transaction, and suppressing any write by the lock-acquire instruction to the lock and proceeding in HLE transactional execution mode until an xrelease instruction is encountered wherein the xrelease instruction releases the lock or the HLE transaction encounters a transactional conflict; and based on the HLE predictor predicting not-to-elide, treating the HLE lock-acquire instruction as a non-HLE lock-acquire instruction, and proceeding in non-transactional mode.
    Type: Grant
    Filed: February 27, 2014
    Date of Patent: December 20, 2016
    Assignee: International Business Machines Corporation
    Inventors: Michael Karl Gschwind, Maged M. Michael, Valentina Salapura, Chung-Lung K. Shum
  • Patent number: 9519584
    Abstract: In one embodiment, a computing system includes a cache having one or more memories and a cache manager. The cache manager is able to receive a request to write data to a first portion of the cache, write the data to the first portion of the cache, update a first map corresponding to the first portion of the cache, receive a request to read data from the first portion of the cache, read from a storage communicatively linked to the computing system data according to the first map, and update a second map corresponding to the first portion of the cache. The cache manager may also be able to write data to the storage according to the first map.
    Type: Grant
    Filed: April 22, 2016
    Date of Patent: December 13, 2016
    Assignee: Dell Products L.P.
    Inventors: Scott David Peterson, Gus Shaffer, Phillip Krueger
  • Patent number: 9519596
    Abstract: A method for controlling access of a processor to a resource, wherein the processor has an instruction set including a virtualization extension, may include executing a resource access instruction by the processor using the virtualization extension, whereby the resource access instruction conveys a virtual address (VA) and a virtual machine identifier. The method may also include translating the virtual address to a physical address based on the virtual machine identifier, and looking-up an access control rule table using the physical address as a search key. Each entry of the rule table includes a virtual machine identifier. The method further includes controlling access to the resource based on the output of the rule table and a match between the virtual machine identifier returned by the table and the virtual machine identifier conveyed in the resource access instruction.
    Type: Grant
    Filed: February 24, 2015
    Date of Patent: December 13, 2016
    Assignees: STMICROELECTRONICS (GRENOBLE 2) SAS, TECHNOLOGICAL EDUCATIONAL INSTITUTE OF CRETE
    Inventors: Antonio-Marcello Coppola, Georgios Kornaros, Miltos Grammatikakis
  • Patent number: 9515959
    Abstract: Systems and methods are disclosed for reducing bandwidth during the transmission of data between first and second devices over a network. One method includes: receiving a first data request from the first device; generating a first request identifier associated with the first data request; transmitting to the first device a response to the first data request and the first request identifier associated with the first data request; receiving, from the first device, a partial second data request, the partial second data request including the first request identifier associated with the first data request, and a differential between the first data request and the second data request; and constructing, at the second device, a full second data request, based on a comparison between the first data request, fetched using the first request identifier, and the received differential between the first data request and the second data request.
    Type: Grant
    Filed: November 30, 2015
    Date of Patent: December 6, 2016
    Assignee: AOL Inc.
    Inventor: El Amine M. Rounak
  • Patent number: 9501397
    Abstract: A data writing method and a memory controller and a memory storage apparatus using the same are provided. The data writing method includes grouping a plurality of physical blocks into a plurality of physical units, grouping the physical units into at least a data area and a free area, and configuring a plurality of logical units for mapping to the physical units of the data area. The data writing method also includes getting a physical unit from the free area, writing data in at least one of the logical units into the gotten physical unit, and writing an end mark into the gotten physical unit, and in the gotten physical unit, the end mark follows the data belonging to the at least one logical unit. Thereby, the storage space of each physical unit can be effectively used, and the lifespan of the memory storage apparatus can be prolonged.
    Type: Grant
    Filed: November 26, 2010
    Date of Patent: November 22, 2016
    Assignee: PHISON ELECTRONICS CORP.
    Inventor: Yi-Hsiang Huang
  • Patent number: 9483181
    Abstract: An operating method of a data storage device includes receiving a read request from a host device, and selectively collecting position information of read-requested data.
    Type: Grant
    Filed: March 24, 2015
    Date of Patent: November 1, 2016
    Assignee: SK Hynix Inc.
    Inventors: Jin Woong Kim, Byeong Gyu Park
  • Patent number: 9483401
    Abstract: Embodiments of the present invention disclose a data processing method and apparatus. The method includes: first receiving an operation command, then searching, according to a memory address, a Cache memory in a Cache controller for data to be operated, and storing the operation command in a missed command buffer area in the Cache controller when the data to be operated is not found through searching in the Cache memory; then, storing data sent by an external memory in a data buffer area of the Cache controller after sending a read command to the external memory, and finally processing, according to a missed command, the data acquired from the external memory and the data carried in the missed command. The present invention applies to the field of computer systems.
    Type: Grant
    Filed: April 26, 2013
    Date of Patent: November 1, 2016
    Assignee: Huawei Technologies Co., Ltd.
    Inventors: Yongbo Cheng, Tao Li, Chenghong He
  • Patent number: 9477558
    Abstract: Logging changes to a physical memory region during a logging time interval includes: detecting a write operation to the physical memory region, wherein the write operation modifies an indirect representation that corresponds to a physical data line in the physical memory region; and recording log information associated with the write operation.
    Type: Grant
    Filed: February 11, 2014
    Date of Patent: October 25, 2016
    Assignee: Intel Corporation
    Inventor: David R. Cheriton
  • Patent number: 9471346
    Abstract: Embodiments of the present invention provide hints for page stealing by prioritizing pages based on the number of residences. Receiving a plurality of pages to be hinted to a hypervisor for page stealing. Determining at least two page types of the plurality of pages. Determining whether any of the at least two page types has a total number of residences less than a total number of potential residences in the virtual environment for all page types and have a total number of residences less than a threshold. Responsive to determining a first page type of the at least two page types has a total number of residences less than a total number of potential residences for all page types and has a total number of residences less than a threshold, notifying the hypervisor of at least one page from the plurality of pages that is the determined first page type.
    Type: Grant
    Filed: May 24, 2016
    Date of Patent: October 18, 2016
    Assignee: International Business Machines Corporation
    Inventors: Chetan L. Gaonkar, Chidambar Y. Kulkarni, Lakshmi Priya, Vamshi K. Thatikonda
  • Patent number: 9454475
    Abstract: A control device includes a control unit that performs a writing control of supplied host data, according to a data writing request from a host apparatus, with respect to a non-volatile memory where multi-value storage with 2 bits or more is performed in one memory cell, having a lower level page and an upper level page for at least the multi-value storage as a physical page in which a physical address is set, and where data writing is performed using each physical page in an order of physical addresses, and that causes the data writing to be performed until the physical page immediately before the lower level page, such that the data writing according to a next data writing request is started from the lower level page.
    Type: Grant
    Filed: April 25, 2013
    Date of Patent: September 27, 2016
    Assignee: Sony Corporation
    Inventor: Yuya Ishikawa
  • Patent number: 9454489
    Abstract: When a request is made to retrieve a guest physical page from memory and a page fault occurs, a guest virtual page address that corresponds to the guest physical page is identified along with addresses for guest virtual pages that are near the guest virtual page in the virtual address space. Each identified guest virtual page address is translated into a corresponding guest physical page address and the corresponding guest physical pages are loaded into memory.
    Type: Grant
    Filed: July 17, 2015
    Date of Patent: September 27, 2016
    Assignee: VMware, Inc.
    Inventors: Kiran Tati, Gabriel Tarasuk-Levin, Ka Wing Ho, Jesse Pool
  • Patent number: 9436601
    Abstract: Embodiments of the present invention provide hints for page stealing by prioritizing pages based on the number of residences. Receiving a plurality of pages to be hinted to a hypervisor for page stealing. Determining at least two page types of the plurality of pages. Determining whether any of the at least two page types has a total number of residences less than a total number of potential residences in the virtual environment for all page types and have a total number of residences less than a threshold. Responsive to determining a first page type of the at least two page types has a total number of residences less than a total number of potential residences for all page types and has a total number of residences less than a threshold, notifying the hypervisor of at least one page from the plurality of pages that is the determined first page type.
    Type: Grant
    Filed: September 15, 2014
    Date of Patent: September 6, 2016
    Assignee: International Business Machines Corporation
    Inventors: Chetan L. Gaonkar, Lakshmi Priya, Chidambar Y. Kulkarni, Vamshi K. Thatikonda
  • Patent number: 9436292
    Abstract: A cost function is determined for assigning first deduplicating storage units of a first storage system for replication onto second deduplicating storage units of a second storage system. One or more of the first storage units in the first storage system are assigned to one or more of the second storage units in the second storage system based on a minimized cost resulting from the cost function.
    Type: Grant
    Filed: June 29, 2011
    Date of Patent: September 6, 2016
    Assignee: EMC Corporation
    Inventors: Frederick Douglis, R. Hugo Patterson, Philip N. Shilane
  • Patent number: 9417898
    Abstract: Embodiments of the present invention provide hints for page stealing by prioritizing pages based on the number of residences. Receiving a plurality of pages to be hinted to a hypervisor for page stealing. Determining at least two page types of the plurality of pages. Determining whether any of the at least two page types has a total number of residences less than a total number of potential residences in the virtual environment for all page types and have a total number of residences less than a threshold. Responsive to determining a first page type of the at least two page types has a total number of residences less than a total number of potential residences for all page types and has a total number of residences less than a threshold, notifying the hypervisor of at least one page from the plurality of pages that is the determined first page type.
    Type: Grant
    Filed: March 14, 2016
    Date of Patent: August 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: Chetan L. Gaonkar, Chidambar Y. Kulkarni, Lakshmi Priya, Vamshi K. Thatikonda