Using Reference Counting (epo) Patents (Class 711/E12.01)
  • Patent number: 11544197
    Abstract: A mapping correspondence between memory addresses and request counts and a cache line flusher are provided, enabling selective cache flushing for persistent memory in a computing system to optimize write performance thereof. Random writes from cache memory to persistent memory are prevented from magnifying inherent phenomena of write amplification, enabling computing systems to implement persistent memory as random-access memory, at least in part. Conventional cache replacement policies may remain implemented in a computing system, but may be effectively overridden by operations of a cache line flusher according to example embodiments of the present disclosure preventing conventional cache replacement policies from being triggered. Implementations of the present disclosure may avoid becoming part of the critical path of a set of computer-executable instructions being executed by a client of cache memory, minimizing additional computation overhead in the critical path.
    Type: Grant
    Filed: September 18, 2020
    Date of Patent: January 3, 2023
    Assignee: Alibaba Group Holding Limited
    Inventors: Shuo Chen, Zhu Pang, Qingda Lu, Jiesheng Wu, Yuanjiang Ni
  • Patent number: 10642829
    Abstract: Described are methods, systems and computer readable media for distributed and optimized garbage collection of remote and exported object handle links to update propagation graph nodes.
    Type: Grant
    Filed: April 3, 2017
    Date of Patent: May 5, 2020
    Assignee: Deephaven Data Labs LLC
    Inventors: Ryan Caudy, David R. Kent, IV, Charles Wright, Radu Teodorescu
  • Patent number: 8621167
    Abstract: A device for copying performance counter data includes hardware path that connects a direct memory access (DMA) unit to a plurality of hardware performance counters and a memory device. Software prepares an injection packet for the DMA unit to perform copying, while the software can perform other tasks. In one aspect, the software that prepares the injection packet runs on a processing core other than the core that gathers the hardware performance counter data.
    Type: Grant
    Filed: April 13, 2012
    Date of Patent: December 31, 2013
    Assignee: International Business Machines Corporation
    Inventors: Alan Gara, Valentina Salapura, Robert W. Wisniewski
  • Patent number: 8595461
    Abstract: A method for data storage includes representing logical volumes by respective sets of pointers to physical partitions in which data used by the logical volumes is stored. One or more of the logical volumes are defined as provisionally deleted. A subset of the provisionally-deleted logical volumes is selected such that each logical volume in the subset has one or more private physical partitions whose data is used exclusively by that logical volume. One or more of the private physical partitions of the logical volumes in the subset are released for reallocation to another logical volume.
    Type: Grant
    Filed: December 27, 2012
    Date of Patent: November 26, 2013
    Assignee: International Business Machines Corporation
    Inventors: Haim Helman, Shemer S. Schwarz, Kariel E. Sandler
  • Patent number: 8412894
    Abstract: Solutions to a value recycling problem facilitate implementations of computer programs that may execute as multithreaded computations in multiprocessor computers, as well as implementations of related shared data structures. Some exploitations allow non-blocking, shared data structures to be implemented using standard dynamic allocation mechanisms (such as malloc and free). Some exploitations allow non-blocking, indeed even lock-free or wait-free, implementations of dynamic storage allocation for shared data structures. In some exploitations, our techniques provide a way to manage dynamically allocated memory in a non-blocking manner without depending on garbage collection. While exploitations of solutions to the value recycling problem that we propose include management of dynamic storage allocation wherein values managed and recycled tend to include values that encode pointers, they are not limited thereto.
    Type: Grant
    Filed: February 22, 2011
    Date of Patent: April 2, 2013
    Assignee: Oracle International Corporation
    Inventors: Mark S. Moir, Victor Luchangco, Maurice Herlihy
  • Patent number: 8347059
    Abstract: A method for data storage includes representing logical volumes by respective sets of pointers to physical partitions in which data used by the logical volumes is stored. One or more of the logical volumes are defined as provisionally deleted. A subset of the provisionally-deleted logical volumes is selected such that each logical volume in the subset has one or more private physical partitions whose data is used exclusively by that logical volume. One or more of the private physical partitions of the logical volumes in the subset are released for reallocation to another logical volume.
    Type: Grant
    Filed: August 15, 2008
    Date of Patent: January 1, 2013
    Assignee: International Business Machines Corporation
    Inventors: Haim Helman, Shemer Schwarz, Kariel Eliahu Sandler
  • Patent number: 8327097
    Abstract: A technique of backing up data for networked storage devices using de-duplication is disclosed in which a communication device divides a to-be-stored new file into data blocks, defines and updates a statistical value representative of a history of reference to each data block within previous files, and transmits the statistical value to another communication device. The communication device, upon reception of the statistical value, selects a preloaded data block, based on the received statistical value, and transmits to another communication device a copying request for making a copy of a real data block identical to the preloaded data block. The communication device, upon reception of the copy, stores the copy as the preloaded data block.
    Type: Grant
    Filed: February 25, 2009
    Date of Patent: December 4, 2012
    Assignee: KDDI Corporation
    Inventors: Takahiro Miyamoto, Michiaki Hayashi
  • Patent number: 8285941
    Abstract: A system, method, and computer program product for enhancing timeliness of cache memory prefetching in a processing system are provided. The system includes a stride pattern detector to detect a stride pattern for a stride size in an amount of bytes as a difference between successive cache accesses. The system also includes a confidence counter. The system further includes eager prefetching control logic for performing a method when the stride size is less than a cache line size. The method includes adjusting the confidence counter in response to the stride pattern detector detecting the stride pattern, comparing the confidence counter to a confidence threshold, and requesting a cache prefetch in response to the confidence counter reaching the confidence threshold. The system may also include selection logic to select between the eager prefetching control logic and standard stride prefetching control logic.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: October 9, 2012
    Assignee: International Business Machines Corporation
    Inventors: Kattamuri Ekanadham, Jennifer A. Navarro, Il Park, Chung-Lung Kevin Shum
  • Patent number: 8281066
    Abstract: The present invention provides a system and method for eliminating duplicate data (de-duplication) in substantially real time using an electronic storage medium.
    Type: Grant
    Filed: April 5, 2010
    Date of Patent: October 2, 2012
    Assignee: NetApp, Inc.
    Inventors: Don Trimmer, Steven C. Miller
  • Patent number: 8250293
    Abstract: According to one embodiment of the present invention, a method of operating an integrated circuit including a plurality of resistance changing memory cells grouped into physical memory units is provided. The method includes: Monitoring writing access numbers assigned to the physical memory units, each writing access number reflecting the number of writing accesses to the physical memory unit to which the writing access number is assigned; if the value of a writing access number assigned to a first physical memory unit exceeds a writing access threshold value, a data exchange process is carried out during which the data content stored within the first physical memory unit is exchanged with the data content of a second physical memory unit having a writing access number of a lower value.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: August 21, 2012
    Assignee: Qimonda AG
    Inventors: Thomas Happ, Jan Boris Philipp
  • Patent number: 8032732
    Abstract: A cache-aware Bloom filter system segments a bit vector of a cache-aware Bloom filter into fixed-size blocks. The system hashes an item to be inserted into the cache-aware Bloom filter to identify one of the fixed-size blocks as a selected block for receiving the item and hashes the item k times to generate k hashed values for encoding the item for insertion in the in the selected block. The system sets bits within the selected block with addresses corresponding to the k hashed values such that accessing the item in the cache-aware Bloom filter requires accessing only the selected block to check the k hashed values. The size of the fixed-size block corresponds to a cache-line size of an associated computer architecture on which the cache-aware Bloom filter is installed.
    Type: Grant
    Filed: June 5, 2008
    Date of Patent: October 4, 2011
    Assignee: International Business Machines Corporatio
    Inventors: Kevin Scott Beyer, Sridhar Rajagopalan
  • Patent number: 8024527
    Abstract: According to a method of data processing in a multiprocessor data processing system, in response to a processor request to read a target granule of a target cache line of data containing multiple granules, a processing unit originates on an interconnect of the multiprocessor data processing system a partial read request that requests permission to read only the target granule of the target cache line. In response to a combined response to the partial read request indicating success, the combined response representing a system-wide response to the partial read request, the processing unit receives the target granule of the target cache line, supplies the target granule to a requesting processor core, and updates a coherency state of the target granule while retaining a coherency state of at least one other granule of the target cache line.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: September 20, 2011
    Assignee: International Business Machines Corporation
    Inventors: Lakshminarayana B. Arimilli, Ravi K. Arimilli, Jerry D. Lewis, Warren E. Maule
  • Patent number: 8010764
    Abstract: A method and system for decreasing power consumption in memory arrays having usage-driven power management provides decreased power consumption in the memory array of a processing system. Per-page usage information is gathered on memory by a memory controller and periodically evaluated by software. The software distinguishes between more frequently accessed pages and less frequently accessed pages by analyzing the gathered usage information and periodically migrates physical memory pages in order to group less frequently accessed pages and more frequently access pages in separately power-managed memory ranks. When used in conjunction with a usage-driven power management mechanism, the ranks containing the less frequently accessed pages can enter deeper power-saving states and/or any power-saving state for longer periods.
    Type: Grant
    Filed: July 7, 2005
    Date of Patent: August 30, 2011
    Assignee: International Business Machines Corporation
    Inventors: Thomas Walter Keller, Jr., Charles R. Lefurgy, Hai Huang
  • Patent number: 7908433
    Abstract: Provided is a storage system capable of starting/stopping a disk drive. At the time of allocating a logical device, it is judged, based on attributes including a purpose of the logical device, whether or not control can be performed in terms of start/stop of an allocation target disk drive to determine an allocation destination disk drive. Further, in the case where access to a specific logical device is stopped due to release of a path definition or other such cause, it is judged whether or not a disk drive corresponding to the logical device can be stopped. When it is judged that the disk drive can be stopped, the disk drive is stopped. When it is judged that the disk drive cannot be stopped, the logical device is migrated to another disk drive that can be stopped, a migration destination disk drive is stopped.
    Type: Grant
    Filed: February 4, 2010
    Date of Patent: March 15, 2011
    Assignee: Hitachi, Ltd.
    Inventors: Yasutomo Yamamoto, Takashige Iwamura, Yoshiaki Eguchi
  • Patent number: 7908441
    Abstract: Solutions to a value recycling problem facilitate implementations of computer programs that may execute as multithreaded computations in multiprocessor computers, as well as implementations of related shared data structures. Some exploitations allow non-blocking, shared data structures to be implemented using standard dynamic allocation mechanisms (such as malloc and free). Some exploitations allow non-blocking, indeed even lock-free or wait-free, implementations of dynamic storage allocation for shared data structures. In some exploitations, our techniques provide a way to manage dynamically allocated memory in a non-blocking manner without depending on garbage collection. While exploitations of solutions to the value recycling problem that we propose include management of dynamic storage allocation wherein values managed and recycled tend to include values that encode pointers, they are not limited thereto.
    Type: Grant
    Filed: January 10, 2003
    Date of Patent: March 15, 2011
    Assignee: Oracle America, Inc.
    Inventors: Mark S. Moir, Victor Luchangco, Maurice Herlihy
  • Patent number: 7802056
    Abstract: Techniques for management of drawing resources are described. In an implementation, a reference count numeral may be associated with a drawing resource stored in cache memory. One may be added to the reference count numeral each time a new drawing resource is added to memory. In addition, one may be removed from the reference count each time an existing drawing resource is removed from the memory. Also, the drawing resource may be maintained in the cache memory when the reference count numeral is greater than zero.
    Type: Grant
    Filed: July 2, 2007
    Date of Patent: September 21, 2010
    Assignee: Microsoft Corporation
    Inventors: Seth M. Demsey, Tuan Huynh, Christopher W. Lorton
  • Patent number: 7509360
    Abstract: In accordance with the present invention a process is provided for allocating and deallocating resources in a distributed processing system having a requester platform and a server platform. The process involves receiving a request from the requestor platform referring to a system resource and specifying a requested lease period, permitting shared access to the system resource for a lease period, sending a return call to the requestor platform advising of the lease period, and deallocating the system resource when the lease period expires.
    Type: Grant
    Filed: July 12, 2004
    Date of Patent: March 24, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Ann M. Wollrath, James H. Waldo, Roger Riggs
  • Publication number: 20080250218
    Abstract: A method, system, and computer program manager for a computing system memory in the operation of a computing process. At least one memory segment provides memory resources for the computing process, which includes a plurality of memory objects, each of the memory objects includes an equal number of bytes and has a predetermined order that associates the address of the memory object in the memory segment to the addresses of the remainder of the plurality of memory objects. A pointer identifies a first memory object from the plurality of memory objects. The first memory object occupies a first ordered position according to the predetermined order. The process allocates the first memory objects from the memory segment during the operation of the computing process. The pointer increments to a second memory object having a second ordered position relative to the first memory object.
    Type: Application
    Filed: June 19, 2008
    Publication date: October 9, 2008
    Applicant: NETQOS, INC.
    Inventor: David A. Jordan