Patents Examined by Edward Dudek, Jr.
  • Patent number: 10223256
    Abstract: A distributed parallel processing database that processes data in a Java environment allocates memory both on a Java heap and off a Java heap. The distributed parallel processing database includes multiple servers. Each server executes a Java virtual machine (JVM) in which data allocated to the server is processed. When a JVM of a server starts, the JVM can specify an off-heap memory size, based on a JVM start parameter. The server can designate memory of the specified size that is off JVM memory heap as off-heap memory. The off-heap memory is different from heap memory in the Java environment, and is managed by a garbage collector that is outside of the Java environment. The server can process data designated as off-heap memory eligible in the off-heap memory. The off-heap memory can improve database operations that create a large number of similar-sized objects in memory by reducing Java memory management overhead.
    Type: Grant
    Filed: October 28, 2014
    Date of Patent: March 5, 2019
    Assignee: Pivotal Software, Inc.
    Inventors: Darrel Scott Schneider, Hitesh Khamesra, Asif Hussain Shahid, Jagannathan Ramnarayanan, Sudhir Menon, Kirk Van Lund, Lynn Gallinat
  • Patent number: 10120598
    Abstract: A primary storage controller receives a write command from a host, to write data that is to be controlled by the primary storage controller. The data is written to local storage of the primary storage controller and subsequently the data is destaged from the local storage of the primary storage controller to store the data in an auxiliary storage of the primary storage controller. The data is transmitted to a secondary storage controller for writing the data to local storage of the secondary storage controller and for subsequently destaging the data from the local storage of the secondary storage controller to store the data in an auxiliary storage of the secondary storage controller. The data stored in the auxiliary storage of the primary storage controller is compared to the data stored in the auxiliary storage of the secondary storage controller to determine whether the write command is successfully executed.
    Type: Grant
    Filed: October 27, 2016
    Date of Patent: November 6, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Matthew G. Borlick, Lokesh M. Gupta, Brian A. Rinaldi, Micah Robison
  • Patent number: 10108541
    Abstract: A plurality of memory allocators are initialized within a computing system. At least a first memory allocator and a second memory allocator in the plurality of memory allocators are each customizable to efficiently handle a set of different memory request size distributions. The first memory allocator is configured to handle a first memory request size distribution. The second memory allocator is configured to handle a second memory request size distribution. The second memory request size distribution is different than the first memory request size distribution. At least the first memory allocator and the second memory allocator that have been configured are deployed within the computing system in support of at least one application. Deploying at least the first memory allocator and the second memory allocator within the computing system improves at least one of performance and memory utilization of the at least one application.
    Type: Grant
    Filed: November 4, 2016
    Date of Patent: October 23, 2018
    Assignee: International Business Machines Corporation
    Inventor: Arun Iyengar
  • Patent number: 10089033
    Abstract: A storage system according to the present invention has a plurality of flash packages equipped with a deduplication function. When a storage controller transmits a write data and a feature value of write data to a flash package, the flash package compares contents of the write data with data having a same feature value as the feature value of the write data. As a result of the comparison, if there is no corresponding data, the write data is stored in the flash memory, but if there is a corresponding data, the new data will not be stored. Thus, a greater number of data can be stored in the flash memory while preventing deterioration of performance.
    Type: Grant
    Filed: April 24, 2014
    Date of Patent: October 2, 2018
    Assignee: Hitachi, Ltd.
    Inventors: Akira Yamamoto, Junji Ogawa, Norio Shimozono, Yoshihiro Yoshii, Kazuei Hironaka, Atsushi Kawamura
  • Patent number: 10078459
    Abstract: A computer program product, system, and method for generating coded fragments comprises initializing historical I/O activity data structures and recent I/O activity data structures associated with a logical unit (LU) of storage; receiving an I/O request from a host, the I/O request associated with one or more chunks within the LU; adding metadata about the I/O request to the recent I/O activity data structures; generating a ransomware probability by comparing the recent I/O activity data structures to the historical I/O activity data structures; and if the ransomware probability exceeds a first threshold value, taking one or more first actions to mitigate the effects of ransomware within the host.
    Type: Grant
    Filed: September 26, 2016
    Date of Patent: September 18, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Assaf Natanzon, Philip Derbeko, Uriya Stern, Maya Bakshi, Yuri Manusov
  • Patent number: 10061712
    Abstract: In some embodiments, a memory overlay system comprises a translation lookaside buffer (TLB) that includes an entry that specifies a virtual address range that is a subset of a virtual address range specified by another entry. In response to an indication from the TLB that both of the entries are TLB hits for the same memory operation, a selection circuit is configured to select, based on one or more selection criteria, one of the two entries. The selection circuit may then cause the selected TLB entry including the corresponding physical address information and memory attributes to be provided to a memory interface.
    Type: Grant
    Filed: May 10, 2016
    Date of Patent: August 28, 2018
    Assignee: Oracle International Corporation
    Inventors: John R. Rose, Patrick McGehearty
  • Patent number: 10055344
    Abstract: A plurality of memory allocators are initialized within a computing system. At least a first memory allocator and a second memory allocator in the plurality of memory allocators are each customizable to efficiently handle a set of different memory request size distributions. The first memory allocator is configured to handle a first memory request size distribution. The second memory allocator is configured to handle a second memory request size distribution. The second memory request size distribution is different than the first memory request size distribution. At least the first memory allocator and the second memory allocator that have been configured are deployed within the computing system in support of at least one application. Deploying at least the first memory allocator and the second memory allocator within the computing system improves at least one of performance and memory utilization of the at least one application.
    Type: Grant
    Filed: November 4, 2016
    Date of Patent: August 21, 2018
    Assignee: International Business Machines Corporation
    Inventor: Arun Iyengar
  • Patent number: 10049005
    Abstract: A flash memory control apparatus includes a data read/write interface and a controller. The data read/write interface is arranged for coupling a first flash memory and a second flash memory, wherein the first flash memory includes a first storage plane and a first buffer, and the second flash memory includes a second storage plane and a second buffer. The controller is coupled to the data read/write interface, and is arranged for transmitting a plurality of valid data sets stored in the first storage plane to the second buffer through the data read/write interface. After an erase cycle is performed on the first storage plane, the controller further programs the plurality of valid data sets transmitted to the second buffer into the first storage plane.
    Type: Grant
    Filed: August 2, 2017
    Date of Patent: August 14, 2018
    Assignee: Silicon Motion Inc.
    Inventor: Tsung-Chieh Yang
  • Patent number: 10042760
    Abstract: A virtual storage module operable to run in a virtual machine monitor may include a wait-queue operable to store incoming block-level data requests from one or more virtual machines. In-memory metadata may store information associated with data stored in local persistent storage that is local to a host computer hosting the virtual machines. The data stored in local persistent storage replicates a subset of data in one or more virtual disks provided to the virtual machines. The virtual disks are mapped to remote storage accessible via a network connecting the virtual machines and the remote storage. A cache handling logic may be operable to handle the block-level data requests by obtaining the information in the in-memory metadata and making I/O requests to the local persistent storage or the remote storage or combination of the local persistent storage and the remote storage to service the block-level data requests.
    Type: Grant
    Filed: June 3, 2016
    Date of Patent: August 7, 2018
    Assignee: International Business Machines Corporation
    Inventors: Rong N. Chang, Byung Chul Tak, Chunqiang Tang
  • Patent number: 10037269
    Abstract: Methods, computer program products, and systems for managing memory in a computer system in which memory locations in use at any given time are represented as a set of memory objects in a first object graph. The first object graph includes a system root object associated by references to each of the memory objects. A method includes creating a second root object for the memory so as to form a second object graph for the memory. The method also includes, in response to the dereferencing of a first object from the first object graph, associating the dereferenced first object with the second object graph so that the second object graph includes at least one dereferenced object.
    Type: Grant
    Filed: July 15, 2016
    Date of Patent: July 31, 2018
    Assignee: International Business Machines Corporation
    Inventor: Edward J. Slattery
  • Patent number: 10031869
    Abstract: In one embodiment, a cached memory device can include: (i) a memory array coupled to a system address bus and an internal data bus; (ii) a plurality of data buffers coupled to a system data bus, and to the memory array via the internal data bus; (iii) a plurality of valid bits, where each valid bit corresponds to one of the data buffers; (iv) a plurality of buffer address registers coupled to the system address bus, where each buffer address register corresponds to one of the data buffers; and (v) a plurality of compare circuits coupled to the system address bus, where each compare circuit corresponds to one of the data buffers.
    Type: Grant
    Filed: March 23, 2015
    Date of Patent: July 24, 2018
    Assignee: Adesto Technologies Corporation
    Inventors: Gideon Intrater, Bard Pedersen, Paul Hill
  • Patent number: 10031843
    Abstract: Methods, computer program products, and systems for managing memory in a computer system in which memory locations in use at any given time are represented as a set of memory objects in a first object graph. The first object graph includes a system root object associated by references to each of the memory objects. A method includes creating a second root object for the memory so as to form a second object graph for the memory. The method also includes, in response to the dereferencing of a first object from the first object graph, associating the dereferenced first object with the second object graph so that the second object graph includes at least one dereferenced object.
    Type: Grant
    Filed: July 15, 2016
    Date of Patent: July 24, 2018
    Assignee: International Business Machines Corporation
    Inventor: Edward J. Slattery
  • Patent number: 10025706
    Abstract: A control device includes: a management information generation unit configured to generate or update logical-physical block address management information with respect to either data to be written to a non-volatile memory or data which has been already written in the non-volatile memory, the logical-physical block address management information indicating association between a logical block address and a physical block address on the non-volatile memory; and an access control unit configured to, during write of the data to the non-volatile memory, control write of the data as well as the logical-physical block address management information to a physical write unit of the non-volatile memory.
    Type: Grant
    Filed: February 17, 2017
    Date of Patent: July 17, 2018
    Assignee: Tessera Advanced Technologies, Inc.
    Inventor: Yuya Ishikawa
  • Patent number: 10019370
    Abstract: A computer cache memory organization called Probabilistic Set Associative Cache (PAC) has the hardware complexity and latency of a direct-mapped cache but functions as a set-associative cache for a fraction of the time, thus yielding better than direct mapped cache hit rates. The organization is considered a (1+P)-way set associative cache, where the chosen parameter called Override Probability P determines the average associativity, for example, for P=0.1, effectively it operates as if a 1.1-way set associative cache.
    Type: Grant
    Filed: July 1, 2016
    Date of Patent: July 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: Bulent Abali, John S. Dodson, Moinuddin K. Qureshi, Balaram Sinharoy
  • Patent number: 9996271
    Abstract: A storage controller includes a co-access pattern mining unit configured to detect co-access patterns of data co-accessed during a particular time duration and to generate co-access groups including a plurality of pieces of data complying with the co-access patterns. The storage controller further include a co-access group matching unit configured to select a co-access group matched with read-requested data, among the generated co-access groups, and a data placement unit configured to store the data included in the selected co-access group in a pre-fetch buffer.
    Type: Grant
    Filed: May 15, 2015
    Date of Patent: June 12, 2018
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Myung-June Jung, Ju-Pyung Lee, Gae-Won You, Hoshik Lee
  • Patent number: 9984000
    Abstract: A non-transitory computer-readable storage medium may include instructions that cause a system to perform operations, the operations may include receiving an operation associated with data and managing storage of the data on a first storage medium of an electronic device and in a cache on a second storage medium of the electronic device based on the operation and a cache policy. The cache policy may be based on one or more characteristics of the data that include a duration since a previous access of the data.
    Type: Grant
    Filed: September 8, 2014
    Date of Patent: May 29, 2018
    Assignee: LYVE MINDS, INC.
    Inventors: Jon Criswell, Jian Liang, Rex Yik Chun Ching, James Edward Dykes
  • Patent number: 9977597
    Abstract: Systems and methods for enhanced read recovery based on write time information are described. In one embodiment, the systems and methods include opening a block of flash memory cells for programming, tracking a block open time, and performing a read operation of a programmed page from the block based at least in part on the block open time. In some embodiments, the block includes a plurality of pages, each page including a plurality of flash memory cells. In some cases, the block open time includes an amount of time between the block opening for programming to a time the block closes for programming.
    Type: Grant
    Filed: May 10, 2016
    Date of Patent: May 22, 2018
    Assignee: SEAGATE TECHNOLOGY LLC
    Inventors: Dana L. Simonson, Kristofer C. Conklin, Ryan J. Goss, Robert W. Moss, Stacey Secatch
  • Patent number: 9971520
    Abstract: Provided are a method, system, and computer program product for processing read and write requests in a storage controller. A host adaptor in the storage controller receives a write request from a host system for a storage address in a storage device. The host adaptor sends write information indicating the storage address updated by the write request to a device adaptor in the storage controller. The host adaptor writes the write data to a cache in the storage controller. The device adaptor indicates the storage address indicated in the write information to a modified storage address list stored in the device adaptor, wherein the modified storage address list indicates modified data in the cache for storage addresses in the storage device.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: May 15, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Lawrence Y. Chiu, Yu-Cheng Hsu, Sangeetha Seshadri
  • Patent number: 9965399
    Abstract: A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.
    Type: Grant
    Filed: April 10, 2017
    Date of Patent: May 8, 2018
    Assignee: VMware, Inc.
    Inventor: Ole Agesen
  • Patent number: 9946588
    Abstract: Techniques for generating a design structure for cache power reduction are described herein. In one example, a system includes logic to detect memory address information corresponding to accessed data in a first instruction, and detect memory address information corresponding to accessed data in a second instruction. The logic can also compare the memory address information corresponding to the first instruction and the memory address information corresponding to the second instruction, and detect, based on the comparison, that the accessed data in the first instruction and the accessed data in the second instruction are in a same data range of the memory device. The logic can also execute the second instruction using the accessed data from the first instruction.
    Type: Grant
    Filed: December 17, 2014
    Date of Patent: April 17, 2018
    Assignee: International Business Machines Corporation
    Inventors: Gregory W. Alexander, Khary J. Alexander, Ilya Granovsky, Christian Jacobi, Gregory Miaskovsky, James R. Mitchell