Patents Examined by Gary Portka
  • Patent number: 8856459
    Abstract: A method and apparatus for utilizing a matrix to store numerical comparisons is disclosed. In one embodiment, an apparatus includes an array in which results of comparisons are stored. The comparisons are performed between numbers associated with agents (or functional units) that have access to a shared resource. The numbers may be a value to indicate a priority for their corresponding agents. The comparison results stored in an array may be generated based on comparisons between two different numbers associated with two different agents, and may indicate the priority of each relative to the other. When two different agents concurrently assert requests for access to the shared resource, a control circuit may access the array to determine which of the two has the higher priority. The agent having the higher priority may then be granted access to the shared resource.
    Type: Grant
    Filed: December 7, 2011
    Date of Patent: October 7, 2014
    Assignee: Apple Inc.
    Inventors: Sukalpa Biswas, Hao Chen
  • Patent number: 8838849
    Abstract: Sharing at least one link among a plurality of processes includes determining a capacity of the at least one link based on a number of I/O operations per unit time supported by the at least one link as a function of the amount of data provided by each of the I/O operations, determining a requirement of each of the processes based on user specifications and an amount of data provided by each I/O operation for each of the processes, and apportioning link capacity among the processes according to the requirement of each of the processes. In response to a sum of requirements for each of the processes being less than the capacity of the at least one link, additional link capacity may be provided to at least some of the processes.
    Type: Grant
    Filed: December 8, 2011
    Date of Patent: September 16, 2014
    Assignee: EMC Corporation
    Inventors: David Meiri, Dan Arnon
  • Patent number: 8832404
    Abstract: A method for initializing a memory sub-system is provided. The method includes loading configuration registers of a plurality of memory hubs with the configuration information provided by a respective one of a plurality of embedded non-volatile memories integrated in the respective memory hub. The non-VOLATILE memory is accessed through a first configuration path from a memory controller of the memory sub-system to the non-VOLATILE memory.
    Type: Grant
    Filed: July 1, 2011
    Date of Patent: September 9, 2014
    Assignee: Round Rock Research, LLC
    Inventor: Randy L. Schnepper
  • Patent number: 8819350
    Abstract: A memory system includes a plurality of storage groups, each of which includes a nonvolatile first storing unit and a second storing unit as a buffer memory of the first storing unit and is capable of performing data transfer between the first storing unit and the second storing unit, and a plurality of MPUs. A first control for data transfer between the host device and the first storing unit via the second storing unit for one of the storage groups and a second control including a control for maintenance of the first storing unit for other storage groups are allocated to the MPUs to be performed independently by the MPUs.
    Type: Grant
    Filed: March 21, 2012
    Date of Patent: August 26, 2014
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Kosuke Hatsuda, Daisaburo Takashima
  • Patent number: 8793471
    Abstract: An apparatus for executing an atomic memory transaction comprises a processing core in a multi-processing core system, where the processing core is configured to store an atomic program in a cache line. The apparatus further comprises an atomic program execution unit that is configured to execute the atomic program as a single atomic memory transaction with a guarantee of forward progress.
    Type: Grant
    Filed: December 7, 2010
    Date of Patent: July 29, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Benjamin C. Serebrin, Stephen D. Glaser
  • Patent number: 8788788
    Abstract: A system and method for efficiently performing user storage virtualization for data stored in a storage system including a plurality of solid-state storage devices. A data storage subsystem supports multiple mapping tables. Records within a mapping table are arranged in multiple levels. Each level stores pairs of a key value and a pointer value. The levels are sorted by time. New records are inserted in a created newest (youngest) level. No edits are performed in-place. All levels other than the youngest may be read only. The system may further include an overlay table which identifies those keys within the mapping table that are invalid.
    Type: Grant
    Filed: August 11, 2011
    Date of Patent: July 22, 2014
    Assignee: PURE Storage, Inc.
    Inventors: John Colgrove, John Hayes, Ethan Miller, Feng Wang
  • Patent number: 8788794
    Abstract: A processing core in a multi-processing core system is configured to execute a sequence of instructions as a single atomic memory transaction. The processing core validates that the sequence meets a set of one or more atomicity criteria, including that no instruction in the sequence instructs the processing core to access shared memory. After validating the sequence, the processing core executes the sequence as a single atomic memory transaction, such as by locking a source cache line that stores shared memory data, executing the validated sequence of instructions, storing a result of the sequence into the source cache line, and unlocking the source cache line.
    Type: Grant
    Filed: December 7, 2010
    Date of Patent: July 22, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Benjamin C. Serebrin, David A. Kaplan, Anton Chernoff
  • Patent number: 8788749
    Abstract: A method and a storage system are provided for implementing deterministic memory allocation for indirection tables for persistent media or disk drives, such as, shingled perpendicular magnetic recording (SMR) indirection tables. A plurality of fixed-size memory pools are used to store indirection data. The distribution of pool allocate sizes is fixed. A pool allocate size is selected based upon an indirection system request size.
    Type: Grant
    Filed: August 11, 2011
    Date of Patent: July 22, 2014
    Assignee: HGST Netherlands B.V.
    Inventor: David Robison Hall
  • Patent number: 8782346
    Abstract: Some embodiments of the inventive subject matter are directed to determining that a memory access request results in a cache miss and determining an amount of cache resources used to service cache misses within a past period in response to determining that the memory access request results in the cache miss. Some embodiments are further directed to determining that servicing the memory access request would increase the amount of cache resources used to service cache misses within the past period to exceed a threshold. In some embodiments, the threshold corresponds to reservation of a given amount of cache resources for potential cache hits. Some embodiments are further directed to rejecting the memory access request in response to the determining that servicing the memory access request would increase the amount of cache resources used to service cache misses within the past period to exceed the threshold.
    Type: Grant
    Filed: August 15, 2012
    Date of Patent: July 15, 2014
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Hong L. Hua, William A. Maron, Mysore S. Srinivas
  • Patent number: 8775751
    Abstract: Reclamation of storage space in presence of copy-on-write snapshot. In one embodiment, a reclamation command is generated. In response to generating the reclamation command, first data held within one storage device is copied to another storage device via a communication link. One or more first physical memory regions of the one storage device, which stores the first data, is allocated to a first region of a data volume. The other storage device is configured to store a copy-on-write snapshot of the data volume. In response to copying the first data, de-allocate the one or more first physical memory regions from the first data volume region.
    Type: Grant
    Filed: December 7, 2010
    Date of Patent: July 8, 2014
    Assignee: Symantec Corporation
    Inventors: Niranjan Pendharkar, Shailesh Vaman Marathe
  • Patent number: 8769210
    Abstract: Some embodiments of the inventive subject matter are directed to a cache comprising a tracking unit and cache state machines. In some embodiments, the tracking unit is configured to track an amount of cache resources used to service cache misses within a past period. In some embodiments, each of the cache state machines is configured to, determine whether a memory access request results in a cache miss or cache hit, and in response to a cache miss for a memory access request, query the tracking unit for the amount of cache resources used to service cache misses within the past period. In some embodiments, the each of the cache state machines is configured to service the memory access request based, at least in part, on the amount of cache resources used to service the cache misses within the past period according to the tracking unit.
    Type: Grant
    Filed: December 12, 2011
    Date of Patent: July 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Robert H. Bell, Jr., Hong L. Hua, William A. Maron, Mysore S. Srinivas
  • Patent number: 8769209
    Abstract: An apparatus and method for improving cache performance in a computer system having a multi-level cache hierarchy. For example, one embodiment of a method comprises: selecting a first line in a cache at level N for potential eviction; querying a cache at level M in the hierarchy to determine whether the first cache line is resident in the cache at level M, wherein M<N; in response to receiving an indication that the first cache line is not resident at level M, then evicting the first cache line from the cache at level N; in response to receiving an indication that the first cache line is resident at level M, then retaining the first cache line and choosing a second cache line for potential eviction.
    Type: Grant
    Filed: December 20, 2010
    Date of Patent: July 1, 2014
    Assignee: Intel Corporation
    Inventors: Aamer Jaleel, Simon C. Steely, Jr., Eric R. Borch, Malini K. Bhandaru, Joel S. Emer
  • Patent number: 8738890
    Abstract: A single application can be executed across multiple execution environments in an efficient manner if at least a relevant portion of the virtual memory assigned to the application was equally accessible by each of the multiple execution environments. A request by a process in one execution environment can, thereby, be directed to an operating system, or other core software, in another execution environment and can be made by a shadow of the requesting process in the same manner as the original request was made by the requesting process itself. Because of the memory invariance between the execution environments, the results of the request will be equally accessible to the original requesting process even though the underlying software that responded to the request may be executing in a different execution environment. A similar thread invariance can be maintained to provide for accurate translation of requests between execution environments.
    Type: Grant
    Filed: July 8, 2011
    Date of Patent: May 27, 2014
    Assignee: Microsoft Corporation
    Inventors: Paul England, Jork Loeser, Luis Irun-Briz
  • Patent number: 8738847
    Abstract: A data writing method for a rewritable non-volatile memory module is provided. The rewritable non-volatile memory module has a plurality of lower physical pages and a plurality of upper physical pages respectively corresponding to the lower physical pages. The method includes determining whether a physical page is one of the upper physical pages before writing first data into the physical page; determining whether a backup area stores second data written into one of the lower physical pages corresponding to the physical page if the physical page is the upper physical page; reading the second data from the lower physical page corresponding to the physical page and backing up the second data into the backup area before writing the first data into the physical page when the backup area does not store the second data. Accordingly, the method may effectively prevent data loss due to a program failure.
    Type: Grant
    Filed: December 12, 2011
    Date of Patent: May 27, 2014
    Assignee: Phison Electronics Corp.
    Inventor: Chih-Kang Yeh
  • Patent number: 8732410
    Abstract: A method and apparatus for accelerated shared data migration between cores. Using an Always Migrate protocol, when a migratory probe hits a directory entry in either modified or owned state, the entry is transitioned to an owned state, and a source done command is sent without sending cache block ownership or state information to the directory.
    Type: Grant
    Filed: December 7, 2010
    Date of Patent: May 20, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Kevin M. Lepak, Vydhyanathan Kalyanasundharam, William A. Hughes, Benjamin Tsien, Greggory D. Donley
  • Patent number: 8725976
    Abstract: In one embodiment, a method of performing data training in a system including a memory controller and at least a first memory device including a group of memory banks is disclosed. The method includes providing a plurality of enabling states for the group of memory banks, wherein each enabling state is different and for each enabling state a set of the memory banks of the group is enabled and any remaining of the memory banks of the group are not enabled. The method further includes performing a first data training procedure that includes a series of first data training operations for the first memory device, each data training operation being performed for a different one of the plurality of enabling states, generating a noise profile based on the series of first data training operations, statistically analyzing the noise profile to select a reference enabling state of the group of memory banks, and performing a second data training procedure for the first memory device using the reference enabling state.
    Type: Grant
    Filed: January 3, 2011
    Date of Patent: May 13, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Beom-Sig Cho, Jang-Seok Choi
  • Patent number: 8719632
    Abstract: A method and a storage system are provided for implementing indirection tables for persistent media or disk drives with enhanced emergency power outage (EPO) protection for the indirection data, such as shingled perpendicular magnetic recording (SMR) indirection tables. Chaining of indirection data is provided with one block pointing to another block of the indirection data stored to disk or flash memory. An EPO-safe buffer is used to store a metadata entry responsive to completing each host write command. Each metadata entry is added to a metadata block, a pointer is stored in the EPO-safe buffer to a current metadata block and a previous metadata block. For a next EPO-safe buffer update entries are removed for the previous metadata block, keeping the last two metadata pointers and last metadata block.
    Type: Grant
    Filed: August 11, 2011
    Date of Patent: May 6, 2014
    Assignee: HGST Netherlands B.V.
    Inventor: David Robison Hall
  • Patent number: 8719546
    Abstract: Embodiments of techniques and systems for using substitute virtualized-memory page tables are described. In embodiments, a virtual machine monitor (VMM) may determine that a virtualized memory access to be performed by an instruction executing on a guest software virtual machine is not allowed in accordance with a current virtualized-memory page table (VMPT). The VMM may select a substitute VMPT that permits the virtualized memory access, In scenarios where a data access length for the instruction is known, the substitute VMPT may include full execute, read, and write permissions for the entire guest software address space. In scenarios where a data access length for the instruction is not known, the substitute VMPT may include less than full execute, read, and write permissions for the entire guest software address space, and may be modified to allow the requested virtualized memory access. Other embodiments may be described and claimed.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: May 6, 2014
    Assignee: Intel Corporation
    Inventors: Baohong Liu, Manohar R. Castelino, Kuo-Lang Tseng, Ritu Sood, Madhukar Tallam
  • Patent number: 8706993
    Abstract: The present invention provides systems and methods for data storage. A hierarchical storage management architecture is presented to facilitate data management. The disclosed system provides methods for evaluating the state of stored data relative to enterprise needs by using weighted parameters that may be user defined. Also disclosed are systems and methods evaluating costing and risk management associated with stored data.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: April 22, 2014
    Assignee: CommVault Systems, Inc.
    Inventors: Anand Prahlad, Srinivas Kavuri, Andre Duque Madeira, Norman R. Lunde, Alan G. Bunte, Andreas May, Jeremy Schwartz
  • Patent number: 8706950
    Abstract: A memory system includes a volatile first storing unit, a nonvolatile second storing unit in which data is managed in a predetermined unit, and a controller that writes data requested by a host apparatus in the second storing unit via the first storing unit and reads out data requested by the host apparatus from the second storing unit to the first storing unit and transfers the data to the host apparatus. The controller includes a management table for managing the number of failure areas in a predetermined unit that occur in the second storing unit and switches, according to the number of failure areas, an operation mode in writing data in the second storing unit from the host apparatus.
    Type: Grant
    Filed: February 27, 2009
    Date of Patent: April 22, 2014
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Junji Yano, Hidenori Matsuzaki, Kosuke Hatsuda