Resolving Conflict, Coherency, Or Synonym Problem Patents (Class 711/210)
  • Patent number: 11588783
    Abstract: A method is provided in one example embodiment and includes, for each of a plurality of individual storage units collectively comprising a virtual storage unit, mapping an internal address of the storage unit to a unique IP address, wherein each of the storage units comprises a block of storage on one of a plurality of physical storage devices and wherein the IP address includes a virtual storage unit number identifying the virtual storage unit; receiving from a client a request to perform an operation on at least one of the data storage units, wherein the request identifies the internal address of the at least one of the data storage units; translating the internal address of the at least one of the data storage unit to the unique IP address of the at least one of the data storage units; and performing the requested operation on the at least one of the data storage units.
    Type: Grant
    Filed: March 20, 2016
    Date of Patent: February 21, 2023
    Assignee: Cisco Technology, Inc.
    Inventors: Seth Mason, William Mark Townsley, Andre Surcouf, Thierry Gruszka, Mohammed Hawari
  • Patent number: 11461281
    Abstract: Techniques are provided for utilizing a log to free pages from persistent memory. A log is maintained to comprise a list of page block numbers of pages within persistent memory of a node to free. A page block number, of a page, within the log is identified for processing. A reference count, corresponding to a number of references to the page block number, is identified. In response to the reference count being greater than 1, the reference count is decremented and the page block number is removed from the log. In response to the reference count being 1, the page is freed from the persistent memory and the page block number is removed from the log.
    Type: Grant
    Filed: April 20, 2020
    Date of Patent: October 4, 2022
    Assignee: NetApp Inc.
    Inventors: Rupa Natarajan, Ananthan Subramanian
  • Patent number: 11249907
    Abstract: Systems, apparatuses, and methods related to a write-back cache policy to limit data transfer time to a memory device are described. A controller can orchestrate performance of operations to write data to a cache according to a write-back policy and write addresses associated with the data to a buffer. The controller can further orchestrate performance of operations to limit an amount of data stored by the buffer and/or a quantity of addresses stored in the buffer. In response to a power failure, the controller can cause the data stored in the cache to be flushed to a persistent memory device in communication with the cache.
    Type: Grant
    Filed: December 8, 2020
    Date of Patent: February 15, 2022
    Assignee: Micron Technology, Inc.
    Inventor: Tony M. Brewer
  • Patent number: 11231926
    Abstract: An arithmetic processing unit includes an instruction decoder, first to fourth reservation stations, first and second computing units, first and second load-store units, and an allocation unit. The allocation unit, when the execution instruction is a first instruction that is executable in first and second computing units but not executable in first and second load-store units, allocates the first instruction to first or second reservation station based on a first allocation table, and when the execution instruction is a second instruction that is executable in the first and second load-store units but not executable in the first and second computing units, allocates the second instruction to third or fourth reservation station based on a second allocation table.
    Type: Grant
    Filed: December 8, 2020
    Date of Patent: January 25, 2022
    Assignee: FUJITSU LIMITED
    Inventor: Ryohei Okazaki
  • Patent number: 11074172
    Abstract: An embodiment of a package apparatus may include technology to control a first persistent storage media of the electronic storage, control a second persistent storage media of the electronic storage, wherein the second persistent storage media includes one or more of a faster access time and a smaller granularity access as compared to the first persistent storage media, store a logical-to-physical table in the second persistent storage media, and, in response to a data copy command, update an entry in the logical-to-physical table corresponding to a destination logical block address for the data copy command to point to a same physical address as a source logical block address for the data copy command. Other embodiments are disclosed and claimed.
    Type: Grant
    Filed: January 10, 2019
    Date of Patent: July 27, 2021
    Assignee: Intel Corporation
    Inventor: Sanjeev Trika
  • Patent number: 10866850
    Abstract: A memory device includes a memory module and a control module. The control module is coupled to the memory module and is configured to store data into the memory module according to a first mapping table. The control module includes a storing unit and a guaranteeing unit. The storing unit is configured to store the first mapping table. The guaranteeing unit is coupled to the storing unit and is configured to determine whether the first mapping table is correct or not. The guaranteeing unit is further configured to issue an error signal in a state where the first mapping table is incorrect.
    Type: Grant
    Filed: March 12, 2019
    Date of Patent: December 15, 2020
    Assignee: RAYMX MICROELECTRONICS CORP.
    Inventors: Yen-Chung Chen, Cheng-Yu Chen, Chih-Ching Chien
  • Patent number: 10169585
    Abstract: A non-transitory storage medium including instructions that are executable by one or more processors to perform operations including instrumenting a VM is shown. The VM is used to process an object to determine whether the object is associated with malware. Logic within the VM analyzes memory allocated for a process within the VM for a point of interest (POI), the POI being an address of one of a set predetermined instructions likely to be associated with malware. The VMM detects a memory violation during processing of the object and responsive to detecting the memory violation, injects a transition event at the POI on the page on which the POI is located in memory. Further, responsive to detecting an attempted execution of the transition event, the VMM (i) emulates an instruction located at the POI, and (ii) the logic within the VM performs one or more malware detection routines.
    Type: Grant
    Filed: June 22, 2016
    Date of Patent: January 1, 2019
    Assignee: FireEye, Inc.
    Inventors: Alex Pilipenko, Phung-Te Ha
  • Patent number: 9842051
    Abstract: A circuit includes a Virtually Indexed Physically Tagged (VIPT) cache and a cache coherency circuit. The VIPT cache includes a plurality of sets and performs a memory operation by selecting, using a Virtual Set Address (VSA), a first tag of a first set. The cache coherency circuit is to detect cache aliasing during memory operations of the VIPT cache when a second tag maps a physical address to a second set of the VIPT cache, the second set being different than the first set. A method of managing a VIPT cache includes performing, by the VIPT cache, a memory operation and determining, using a cache coherency protocol, that cache aliasing has occurred during the memory operation.
    Type: Grant
    Filed: March 18, 2016
    Date of Patent: December 12, 2017
    Assignee: Marvell International Ltd.
    Inventors: Kim Schuttenberg, Richard Bryant, Sujat Jamil, R. Frank O'Bleness
  • Patent number: 9496009
    Abstract: A memory device includes a block of memory cells and a cache. The block of memory cells is a random access memory with multiple ports. The block of memory cells is partitioned into subunits that have only a single port. The cache is coupled to the block of memory cells adapted to handle a plurality of accesses to a same subunit of memory cells without a conflict such that the memory appears to be a random access memory to said plurality of accesses. A method of operating the memory, and a memory with bank-conflict-resolution (BCR) module including cache are also provided.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: November 15, 2016
    Assignee: MoSys, Inc.
    Inventors: Dipak Sikdar, Michael J. Miller, Jay Patel
  • Patent number: 9477505
    Abstract: A computerized method for efficient handling of a privileged instruction executed by a virtual machine (VM). The method comprises identifying when the privileged instruction causes a VM executed on a computing hardware to perform a VM exit; replacing a first virtual-to-physical address mapping to a second virtual-to-physical address mapping respective of a virtual pointer associated with the privileged instruction; and invalidating at least a cache entry in a cache memory allocated to the VM, thereby causing a new translation for the virtual pointer to the second virtual-to-physical address, wherein the second virtual-to-physical address provides a pointer to a physical address in a physical memory in the computing hardware allocated to the VM.
    Type: Grant
    Filed: October 23, 2012
    Date of Patent: October 25, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Izik Eidus, Leonid Shatz, Alexander Fishman
  • Patent number: 9372677
    Abstract: Systems and methods of allocating physical registers to variables may involve identifying a partial definition of a variable in an inter-procedural control flow graph. A determination can be made as to whether to terminate a live range of the variable based at least in part on the partial definition. Additionally, a physical register may be allocated to the variable based at least in part on the live range.
    Type: Grant
    Filed: April 10, 2015
    Date of Patent: June 21, 2016
    Assignee: Intel Corporation
    Inventors: Biju George, Guei-Yuan Lueh
  • Patent number: 9251095
    Abstract: In one embodiment, the present invention includes a translation lookaside buffer (TLB) to store entries each having a translation portion to store a virtual address (VA)-to-physical address (PA) translation and a second portion to store bits for a memory page associated with the VA-to-PA translation, where the bits indicate attributes of information in the memory page. Other embodiments are described and claimed.
    Type: Grant
    Filed: July 24, 2014
    Date of Patent: February 2, 2016
    Assignee: Intel Corporation
    Inventors: David Champagne, Abhishek Tiwari, Wei Wu, Christopher J. Hughes, Sanjeev Kumar, Shih-Lien Lu
  • Patent number: 9110830
    Abstract: Apparatuses and related systems and methods for determining cache hit/miss of aliased addresses in virtually-tagged cache(s) are disclosed. In one embodiment, virtual aliasing cache hit/miss detector for a VIVT cache is provided. The detector comprises a TLB configured to receive a first virtual address and a second virtual address from the VIVT cache resulting from an indexed read into the VIVT cache based on the first virtual address. The TLB is further configured to generate first and second physical addresses translated from the first and second virtual addresses, respectively. The detector further comprises a comparator configured to receive the first and second physical addresses and effectuate a generation of an aliased cache hit/miss indicator based on a comparison of the first and second physical addresses. In this manner, the virtual aliasing cache hit/miss detector correctly generates cache hits and cache misses, even in the presence of aliased addressing.
    Type: Grant
    Filed: May 23, 2012
    Date of Patent: August 18, 2015
    Assignee: QUALCOMM Incorporated
    Inventors: James Norris Dieffenderfer, Robert D. Clancy, Thomas Philip Speier
  • Patent number: 9043559
    Abstract: Techniques for handling version information using a copy engine. In one embodiment, an apparatus comprises a copy engine configured to perform one or more operations associated with a block memory operation in response to a command. Examples of block memory operations may include copy, clear, move, and/or compress operations. In one embodiment, the copy engine is configured to handle version information associated with the block memory operation based on the command. The one or more operations may include operating on data in a cache and/or modifying entries in a memory. In one embodiment, the copy engine is configured to compare version information in the command with stored version information. The copy engine may overwrite or preserve version information based on the command. The copy engine may be a coprocessing element. The copy engine may be configured to maintain coherency with other copy engines and/or processing elements.
    Type: Grant
    Filed: October 23, 2012
    Date of Patent: May 26, 2015
    Assignee: Oracle International Corporation
    Inventors: Zoran Radovic, Darryl J. Gove
  • Patent number: 9015719
    Abstract: A method for scheduling tasks to be processed by one of a plurality of non-coherent processing devices, at least two of the devices being heterogeneous devices and at least some of said tasks being targeted to a specific one of the processing devices. The devices process data that is stored in local storage and in a memory accessible by at least some of the devices. The method includes the steps of: for each of a plurality of non-dependent tasks to be processed by the device, determining consistency operations required to be performed prior to processing the non-dependent task; performing the consistency operations for one of the non-dependent tasks and on completion issuing the task to the device for processing; performing consistency operations for a further non-dependent task such that, on completion of the consistency operations, the device can process the further task.
    Type: Grant
    Filed: February 27, 2012
    Date of Patent: April 21, 2015
    Assignee: ARM Limited
    Inventor: Robert Elliott
  • Patent number: 8930904
    Abstract: A method for verifying an input/output (I/O) hardware configuration is provided. Data from an input/output data set (IOCDS) is extracted for building a verification command. The IOCDS contains hardware requirements that define at least software devices associated with a logical control unit (LCU). The verification command is processed. The verification command includes a software device address range associated with a logical control unit (LCU) of the I/O hardware. The LCU utilizes a first logical path. The software device address range utilizing the first logical path is compared with an existing software device address range utilizing at least one additional logical path. The verification command is accepted if the software device address range and the existing software device address range match.
    Type: Grant
    Filed: September 20, 2012
    Date of Patent: January 6, 2015
    Assignee: International Business Machines Corporation
    Inventors: Juan A. Coronado, Roger G. Hathorn, Dinh H. Le, Daniel J. Perkin, Adelaide M. Richards, Aaron E. Taylor
  • Patent number: 8832415
    Abstract: A multiprocessor system includes nodes. Each node includes a data path that includes a core, a TLB, and a first level cache implementing disambiguation. The system also includes at least one second level cache and a main memory. For thread memory access requests, the core uses an address associated with an instruction format of the core. The first level cache uses an address format related to the size of the main memory plus an offset corresponding to hardware thread meta data. The second level cache uses a physical main memory address plus software thread meta data to store the memory access request. The second level cache accesses the main memory using the physical address with neither the offset nor the thread meta data after resolving speculation. In short, this system includes mapping of a virtual address to a different physical addresses for value disambiguation for different threads.
    Type: Grant
    Filed: January 4, 2011
    Date of Patent: September 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Alan Gala, Martin Ohmacht
  • Patent number: 8806132
    Abstract: An information processing device according to the present invention includes an operation unit that outputs an access request, a storage unit including a plurality of connection ports and a plurality of memories capable of a simultaneous parallel process that has an access unit of a plurality of word lengths for the connection ports, and a memory access control unit that distributes a plurality access addresses corresponding to the access request received for each processing cycle from the operation unit, and generates an address in a port including a discontinuous word by one access unit for each of the connection ports.
    Type: Grant
    Filed: January 18, 2012
    Date of Patent: August 12, 2014
    Assignee: NEC Corporation
    Inventor: Yasuhiro Nishigaki
  • Patent number: 8725954
    Abstract: A memory control apparatus, in a case of receiving from a processor, under a condition where the number of cache memories retaining a copy of data stored in a main storage device is one, a notification to the effect that data retained in the cache memory is purged, updates directory information on a directory cache without accessing the main storage device when the data is not modified by the processor, and the directory information on the directory cache and directory information on the main storage device is determined to be different and the directory information on the main storage device is determined to be in a state indicating that the copy of the data is not retained by any processor in the state of coherence.
    Type: Grant
    Filed: May 5, 2011
    Date of Patent: May 13, 2014
    Assignee: Fujitsu Limited
    Inventors: Koichi Maeda, Hiroyuki Wada
  • Patent number: 8724423
    Abstract: A memory operative to provide concurrent two-port read and two-port write access functionality includes a memory array comprising first and second pluralities of single-port memory cells organized into a plurality of rows of memory banks, and multiple checksum modules. The second plurality of memory cells are operative as spare memory banks. Each of the checksum modules is associated with a corresponding one of the rows of memory banks. The memory further includes a first controller and multiple mapping tables. The first controller and at least a portion of the first and second pluralities of memory cells enable the memory array to support two-port read or single-port write operations. A second controller is operative to receive read and write access requests, and to map logical and spare memory bank identifiers to corresponding physical memory bank identifiers via the mapping tables to thereby emulate concurrent two-port read and two-port write access functionality.
    Type: Grant
    Filed: December 12, 2012
    Date of Patent: May 13, 2014
    Assignee: LSI Corporation
    Inventors: Ting Zhou, Sheng Liu
  • Patent number: 8683001
    Abstract: Conventionally, when a switch virtualizing a storage (storage virtualization switch) is installed in a computer system including an SAN, a host computer, and a storage device, since a port ID of a virtual storage and a port ID of a storage device assigned to the virtual storage are different, the computer system has to be suspended at the time of installation of the storage virtualization switch. The storage virtualization switch installed in the computer system assigns a port ID to a port of a virtual storage generated by the storage virtualization switch so as to be equivalent to a port ID of an existing storage device and, in the case in which the port ID is designated as an access destination by an access request from one computer to the storage device, sends the access request to the virtual storage.
    Type: Grant
    Filed: July 14, 2010
    Date of Patent: March 25, 2014
    Assignee: Hitachi, Ltd.
    Inventors: Nobuhiro Maki, Naoko Iwami
  • Patent number: 8631170
    Abstract: A method and system for managing direct memory access (DMA) in a computer system that hosts virtual machines and allows memory overcommit. The computer receives an indication that a bus address is to be used by a device to perform DMA to a buffer. In response to the indication, the computer determines a host device identifier for the device, and pins a memory page addressed by a host address that is associated with the bus address and a guest address. The computer also records, in a host I/O memory management unit (IOMMU), a mapping of the bus address and the host device identifier to the host address. After the device completes the DMA, the computer removes the mapping from the host IOMMU to prevent further direct access to the host address.
    Type: Grant
    Filed: September 16, 2010
    Date of Patent: January 14, 2014
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Christopher M. Wright
  • Patent number: 8606994
    Abstract: A redundant array of independent disk (RAID) stack executes a first memory access routine and a second memory access routine having different access timing characteristics. The RAID stack determines a number of cache misses for the execution of each of the first and second memory access routines. The RAID stack selects one of the first and second memory access routines based on the number of cache misses for further memory accesses.
    Type: Grant
    Filed: September 25, 2012
    Date of Patent: December 10, 2013
    Assignee: Red Hat, Inc.
    Inventor: Douglas Ledford
  • Patent number: 8578106
    Abstract: A method for writing data to submission queues in a storage controller including receiving an input/output (I/O) request from a client application, where the client application is associated with a virtual port and where the virtual port is associated with a physical port. The method further includes determining a size of the I/O request, identifying a queue group based on the size of the I/O request and the virtual port, where the queue group includes submission queues and is associated with the virtual port. The method further includes identifying a submission queue, sending the I/O request to a storage controller over the physical port, where the queue group is located in memory operatively connected to the storage controller and where the storage controller is configured to place the I/O request in the submission queue.
    Type: Grant
    Filed: November 9, 2012
    Date of Patent: November 5, 2013
    Assignee: DSSD, Inc.
    Inventor: Michael W. Shapiro
  • Patent number: 8561001
    Abstract: Systems and methods are disclosed for testing dies in a stack of dies and inserting a repair circuit which, when enabled, compensates for a delay defect in the die stack. Intra-die and inter-die slack values are determined to establish which die or dies in the die stack would benefit from the insertion of a repair circuit.
    Type: Grant
    Filed: July 11, 2012
    Date of Patent: October 15, 2013
    Assignee: Taiwan Semiconductor Manufacturing Co., Ltd.
    Inventor: Sandeep Kumar Goel
  • Patent number: 8527737
    Abstract: The described embodiments determine if two addressed memory regions overlap. First, a first address for a first memory region and a second address for a second memory region are received. Then a composite address is generated from the first and second addresses. Next, an upper subset and a lower subset of the bits in the addresses are determined. Then, using the upper and lower subsets of the addresses, a determination is made whether the addresses meet a condition from a set of conditions. If so, a determination is made whether the lower subset of the bits in the addresses meet a criteria from a set of criteria. Based on the determination whether the lower subset of the bits in the addresses meet a criteria, a determination is made whether the memory regions overlap or do not overlap.
    Type: Grant
    Filed: June 23, 2011
    Date of Patent: September 3, 2013
    Assignee: Apple Inc.
    Inventor: Jeffry E. Gonion
  • Patent number: 8412911
    Abstract: A system and method for invalidating obsolete virtual/real address to physical address translations may employ translation lookaside buffers to cache translations. TLB entries may be invalidated in response to changes in the virtual memory space, and thus may need to be demapped. A non-cacheable unit (NCU) residing on a processor may be configured to receive and manage a global TLB demap request from a thread executing on a core residing on the processor. The NCU may send the request to local cores and/or to NCUs of external processors in a multiprocessor system using a hardware instruction to broadcast to all cores and/or processors or to multicast to designated cores and/or processors. The NCU may track completion of the demap operation across the cores and/or processors using one or more counters, and may send an acknowledgement to the initiator of the demap request when the global demap request has been satisfied.
    Type: Grant
    Filed: June 29, 2009
    Date of Patent: April 2, 2013
    Assignee: Oracle America, Inc.
    Inventors: Gregory F. Grohoski, Paul J. Jordan, Mark A. Luttrell, Zeid Hartuon Samoail
  • Patent number: 8397031
    Abstract: An apparatus includes a plurality of processors each of which includes a cache memory, and a controller which suspends a request of at least one of the processors during a predetermined period when a processor fetches a data from a main memory to the cache memory, wherein the controller suspends the request of at least one of the processors except the processor which fetches the data from the main memory to the cache memory.
    Type: Grant
    Filed: December 11, 2008
    Date of Patent: March 12, 2013
    Assignee: NEC Computertechno, Ltd.
    Inventor: Yoshiaki Watanabe
  • Patent number: 8356298
    Abstract: A method for data transmission in a system is disclosed. The system includes a computer (1) and a peripheral device (9), which are connected to each other via a network (8). The computer has hardware resources (2), including a network interface (2.3) and a controller (4), which is designed to provide a virtual machine system in that it maps the hardware resources (2), including the network interface (2.3) onto logical interfaces (5, 5.3) in virtual machines (4). A peripheral device adapter (10) provided in the computer (1) is mapped by the controller (3) onto a logical peripheral device interface (11) in one of the virtual machines (4) and data is exchanged between the peripheral device (9) and the virtual machine (4) via the network (8), the peripheral device adapter (10), and the logical peripheral device interface (11) while bypassing the logical interfaces (5.3) mapping the network interface (2.3) into the virtual machines (4).
    Type: Grant
    Filed: June 4, 2008
    Date of Patent: January 15, 2013
    Assignee: Fujitsu Siemens Computers GmbH
    Inventor: Andreas Stotz
  • Patent number: 8327331
    Abstract: A method for verifying an input/output (I/O) hardware configuration is provided. A verification command is processed. The verification command includes a software device address range associated with a logical control unit (LCU) of the I/O hardware. The LCU utilizes a first logical path. The software device address range utilizing the first logical path is compared with an existing software device address range utilizing at least one additional logical path. The verification command is accepted if the software device address range and the existing software device address range match.
    Type: Grant
    Filed: January 23, 2008
    Date of Patent: December 4, 2012
    Assignee: International Business Machines Corporation
    Inventors: Juan Alonso Coronado, Roger Gregory Hathorn, Dinh Hai Le, Daniel J. Perkin, Adelaide Margaret Richards, Aaron Eugene Taylor
  • Patent number: 8312215
    Abstract: A software-based RAID system is provided that enables configuration conflicts to be detected and resolved between a PD that is logically present but physically missing, and a PD that is physically and logically present. In accordance with the invention, a determination is made as to whether such a configuration conflict exists, and if so, the logically-present, but physically missing, reference identifier associated with the PD is remapped to a port number that currently is not in use.
    Type: Grant
    Filed: September 18, 2008
    Date of Patent: November 13, 2012
    Assignee: LSI Corporation
    Inventors: Daniel Gnanaraj Samuelraj, Jianning Wang, Jinwen Xie
  • Patent number: 8301836
    Abstract: A redundant array of independent disk (RAID) stack determines a first number of processor cycles to reload first data from a first memory address of a main memory into a processor of a data processing system. The RAID stack loads second data from a second memory address of the main memory into the processor, where the second memory address is configured to be an address offset from the first memory address. The RAID stack reloads the first data from the first memory address of the main memory and determines a second number of processor cycles to reload the first data from the first memory address of the main memory. An alias offset of a cache memory associated with the processor of the data processing system is determined based on the first number of processor cycles and the second number of processor cycle.
    Type: Grant
    Filed: February 26, 2010
    Date of Patent: October 30, 2012
    Assignee: Red Hat, Inc.
    Inventor: Douglas Ledford
  • Patent number: 8291200
    Abstract: A comparison circuit can reduce the amount of power consumed when searching a load queue or a store queue of a microprocessor. Some embodiments of the comparison circuit use a comparison unit that performs an initial comparison of addresses using a subset of the address bits. If the initial comparison results in a match, a second comparison unit can be enabled to compare another subset of the address bits.
    Type: Grant
    Filed: August 4, 2009
    Date of Patent: October 16, 2012
    Assignee: STMicroelectronics (Beijing) R&D Co., Ltd.
    Inventors: Kai-Feng Wang, Hong-Xia Sun, Yong-Qiang Wu
  • Patent number: 8285931
    Abstract: A redundant array of independent disk (RAID) stack loads a first parity block of RAID data into a first memory address of a main memory of a data processing system. A first parity calculation is performed on a first plurality of data blocks of the RAID data with the first parity block loaded from the first memory address of the main memory into a register of the processor of the data processing system and a cache memory associated with the processor. The RAID stack loads subsequent parity blocks of RAID data into subsequent memory addresses of the main memory, where a difference between the first memory address and the subsequent memory addresses equals to one or more multiples of an alias offset associated with the cache memory. A second parity calculation is performed on a second plurality of data blocks and the second parity block of the RAID data.
    Type: Grant
    Filed: February 26, 2010
    Date of Patent: October 9, 2012
    Assignee: Red Hat, Inc.
    Inventor: Douglas Ledford
  • Patent number: 8209490
    Abstract: The present application is a protocol for maintaining cache coherency in a CMP. The CMP design contains multiple processor cores with each core having it own private cache. In addition, the CMP has a single on-ship shared cache. The processor cores and the shared cache may be connected together with a synchronous, unbuffered bidirectional ring interconnect. In the present protocol, a single INVALIDATEANDACKNOWLEDGE message is sent on the ring to invalidate a particular core and acknowledge a particular core.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: June 26, 2012
    Assignee: Intel Corporation
    Inventors: Matthew Mattina, George Z. Chrysos
  • Patent number: 8151059
    Abstract: According to one embodiment of the invention, a processor comprises a memory, a plurality of processor cores in communication with the cache memory and a scalability agent unit. The scalability agent unit is adapted to control conflict detection and resolution of accesses to the memory. The scalability agent unit receives control information concerning transactions involving the memory without receiving data for the transactions.
    Type: Grant
    Filed: November 29, 2006
    Date of Patent: April 3, 2012
    Assignee: Intel Corporation
    Inventor: Krishnakanth Sistla
  • Patent number: 8108631
    Abstract: A method, including: initiating a memory operation at a first node including a first memory controller (MC) and a transaction table configured to store a list of nodes affected by the memory operation, transmitting a store request signal to a second node including a second MC and an access table (AT) where the store request signal includes data from the first MC, storing data to the AT in entries corresponding to memory address(es) (MAs) affected by the memory operation, identifying a memory conflict with one or more nodes in the list of nodes when the MAs affected by the memory operation are also affected by one or more conflicting transactions listed in the AT, transmitting an abort signal from the second node to each of the nodes corresponding to the memory conflict, and transmitting an intent to commit signal from the first node to the second node.
    Type: Grant
    Filed: July 18, 2008
    Date of Patent: January 31, 2012
    Assignee: Oracle America, Inc.
    Inventors: Pranay Koka, Brian W. O'Krafka
  • Publication number: 20110320763
    Abstract: The described embodiments determine if two addressed memory regions overlap. First, a first address for a first memory region and a second address for a second memory region are received. Then a composite address is generated from the first and second addresses. Next, an upper subset and a lower subset of the bits in the addresses are determined. Then, using the upper and lower subsets of the addresses, a determination is made whether the addresses meet a condition from a set of conditions. If so, a determination is made whether the lower subset of the bits in the addresses meet a criteria from a set of criteria. Based on the determination whether the lower subset of the bits in the addresses meet a criteria, a determination is made whether the memory regions overlap or do not overlap.
    Type: Application
    Filed: June 23, 2011
    Publication date: December 29, 2011
    Applicant: APPLE INC.
    Inventor: Jeffry E. Gonion
  • Patent number: 8074048
    Abstract: A storage device includes a memory for storing data in a plurality of logical volumes; a controlling unit for controlling an access to data in accordance with a process comprising the steps of: generating mapping information indicative of a correspondence between logical volume information and recognition information; generating a pseudo logical volume and pseudo logical volume information associated with the pseudo logical volume, the pseudo logical volume being another of the logical volumes; and upon receipt of a command for canceling an assignment of one of the logical volumes to the corresponding recognition information, modifying the mapping information so that recognition information that has been indicative of said one of the logical volumes becomes indicative of the pseudo logical volume information associated with the pseudo logical volume.
    Type: Grant
    Filed: December 22, 2008
    Date of Patent: December 6, 2011
    Assignee: Fujitsu Limited
    Inventor: Akiko Jokura
  • Patent number: 8041883
    Abstract: A solution for restoring operation of a storage device based on a flash memory is proposed. The storage device emulates a logical memory space (including a plurality of logical blocks each one having a plurality of logical sectors), which is mapped on a physical memory space of the flash memory (including a plurality of physical blocks each one having a plurality of physical sectors for storing different versions of the logical sectors). A corresponding method starts by detecting a plurality of conflicting physical blocks for a corrupted logical block (resulting from a breakdown of the storage device). The method continues by determining a plurality of validity indexes (indicative of the number of last versions of the logical sectors of the corrupted logical block that are stored in the conflicting physical blocks). One ore more of the conflicting physical blocks are selected according to the validity indexes. The selected conflicting physical blocks are then associated with the corrupted logical block.
    Type: Grant
    Filed: May 9, 2007
    Date of Patent: October 18, 2011
    Assignees: STMicroelectronics S.r.l., STMicroelectronics Pvt. Ltd.
    Inventors: Sudeep Biswas, Angelo Di Sena, Domenico Manna
  • Patent number: 8041894
    Abstract: Method and system for a multi-level virtual/real cache system with synonym resolution. An exemplary embodiment includes a multi-level cache hierarchy, including a set of L1 caches associated with one or more processor cores and a set of L2 caches, wherein the set of L1 caches are a subset of the set of L2 caches, wherein the set of L1 caches underneath a given L2 cache are associated with one or more of the processor cores.
    Type: Grant
    Filed: February 25, 2008
    Date of Patent: October 18, 2011
    Assignee: International Business Machines Corporation
    Inventors: Barry W. Krumm, Christian Jacobi, Chung-Lung Kevin Shum, Hans-Werner Tast, Aaron Tsai, Ching-Farn E. Wu
  • Patent number: 7945657
    Abstract: A system and method for emulating the input/output performance of an application. A workload description language is used to produce a small but accurate model of the application, which is flexible enough to emulate the application's performance with varying underlying system configurations or operating parameters. The model describes I/O operations performed by the application, and reflects any dependencies that exist between different application threads or processes. The model is then executed or interpreted with a particular system configuration, and various parameters of the I/O operations may be set at the model's run-time. During execution, the input/output operations described in the model are generated according to the specified parameters, and are performed. The system configuration and/or I/O operation parameters may be altered and the model may be re-run.
    Type: Grant
    Filed: March 30, 2005
    Date of Patent: May 17, 2011
    Assignee: Oracle America, Inc.
    Inventors: Richard J. McDougall, Spencer Shepler, Brian L. Wong
  • Patent number: 7930459
    Abstract: According to some embodiments, data to be exchanged via a system input output interface may be determined at a processor. It may then be arranged to exchange the data via a coherent input output device coupled to a coherent system interconnect. Other embodiments are described.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: April 19, 2011
    Assignee: Intel Corporation
    Inventors: Nagabhushan Chitlur, Linda Rankin, Dave Dunning, Shunyu Zhu, Steven Zhang, Chuanhua Song, Ling Liu, Zhihong Yu
  • Patent number: 7930491
    Abstract: Systems, methods, apparatus and software can be implemented to detect possible instances of memory corruption. By analyzing memory blocks stored in a memory, provided in a snapshot file, or provided in a core dump, implicit and/or explicit contingency chains can be obtained. Analysis of these contingency chains identifies potential memory corruption sites, and subsequent verification provides greater confidence in the identification.
    Type: Grant
    Filed: February 16, 2005
    Date of Patent: April 19, 2011
    Assignee: Cisco Technology, Inc.
    Inventors: Jun Xu, Chen Li, Xiangrong Wang
  • Publication number: 20100325385
    Abstract: One or more registers used to form an address usable in accessing storage are examined to determine if a zero address event has occurred in forming the address. In response to an indication that a zero address event has occurred in address formation, an alert is provided to the program using the address to access storage.
    Type: Application
    Filed: June 18, 2009
    Publication date: December 23, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert M. Abrams, Mark S. Farrell, Dan F. Greiner, Christian Jacobi, James H. Mulder, Peter J. Relson, Timothy J. Slegel, Peter K. Szwed
  • Patent number: 7797511
    Abstract: A memory device includes a memory array containing a plurality of memory addresses. An input terminal receives a requested one of the memory addresses and a memory controller is configured to refresh a first refresh address in response to a comparison of the received memory address and the first refresh address. In certain embodiments, the first refresh address is refreshed if it does not conflict with the received memory. If the first refresh address and the received memory address conflict, a second refresh address is refreshed. The received memory address is accessed simultaneously with the refresh in exemplary embodiments.
    Type: Grant
    Filed: January 5, 2007
    Date of Patent: September 14, 2010
    Assignee: Qimonda North America Corp.
    Inventor: Thomas Vogelsang
  • Patent number: 7783857
    Abstract: In a data management method for supervising a non-volatile memory having a plurality of blocks erasable in a lump, each of the blocks being formed by a plurality of pages, each of the pages including a redundant area, the aggregate management information is used for data management to enable prompt booting. The distributed management information, as the management information for the respective blocks, is stored in the redundant area of each page, and the aggregate management information supervises data stored in each block, in a lump, in association with the distributed management information. It is verified, at the time of booting, whether the aggregate management information is effective. The data is supervised based on the aggregate management information when the aggregate management information is effective and, when the aggregate management information is not effective, the data is supervised based on the distributed management information.
    Type: Grant
    Filed: October 8, 2004
    Date of Patent: August 24, 2010
    Assignee: Sony Corporation
    Inventors: Hiroaki Fuse, Akira Sassa, Atsushi Onoe
  • Patent number: 7783838
    Abstract: A computer system has secondary data that is derived from primary data, such as entries in a TLB being derived from entries in a page table. When an actor changes the primary data, a producer indicates the change in a set data structure, such as a data array, in memory that is shared by the producer and a consumer. There may be multiple producers and multiple consumers and each producer/consumer pair has a separate channel. At coherency events, at which incoherencies between the primary data and the secondary data should be removed, consumers read the channels to determine the changes, and update the secondary data accordingly. The system may be a multiprocessor virtual computer system, the actor may be a guest operating system, and the producers and consumers may be subsystems within a virtual machine monitor, wherein each subsystem exports a separate virtual central processing unit.
    Type: Grant
    Filed: May 22, 2007
    Date of Patent: August 24, 2010
    Assignee: VMware, Inc.
    Inventors: Ole Agesen, Pratap Subrahmanyam, Keith M. Adams
  • Patent number: 7779082
    Abstract: Conventionally, when a switch virtualizing a storage (storage virtualization switch) is installed in a computer system including an SAN, a host computer, and a storage device, since a port ID of a virtual storage and a port ID of a storage device assigned to the virtual storage are different, the computer system has to be suspended at the time of installation of the storage virtualization switch. The storage virtualization switch installed in the computer system assigns a port ID to a port of a virtual storage generated by the storage virtualization switch so as to be equivalent to a port ID of an existing storage device and, in the case in which the port ID is designated as an access destination by an access request from one computer to the storage device, sends the access request to the virtual storage.
    Type: Grant
    Filed: May 12, 2006
    Date of Patent: August 17, 2010
    Assignee: Hitachi, Ltd.
    Inventors: Nobuhiro Maki, Naoko Iwami
  • Patent number: 7721068
    Abstract: According to one embodiment of the invention, a technique is provided for facilitating the relocation of data from a source page to a destination page in a computing system in which I/O devices may conduct DVMA transactions via an IOMMU. Before the relocation, it is determined whether any devices potentially are accessing the source page. If it is determined that a device potentially is accessing the source page, then the IOMMU's device driver (“bus nexus”) “suspends” the bus. The bus nexus allows any pending memory transactions to finish. While the bus is suspended, the kernel moves the contents of the source page to the destination page. After the kernel has moved the contents, the IOMMU's TLB is updated so that the virtual address that was mapped to the source page's physical address is mapped to the destination page's physical address. The bus nexus “unsuspends” the bus.
    Type: Grant
    Filed: June 12, 2006
    Date of Patent: May 18, 2010
    Assignee: Oracle America, Inc.
    Inventors: Eric E. Lowe, Wesley Shao