Shared Memory Area Patents (Class 711/147)
  • Patent number: 8751755
    Abstract: A volatile memory associated with a mass storage controller and a flash memory module. The volatile memory includes a number of tables containing information related to the flash memory storage, including a table storing physical flash memory addresses and a plurality of tables containing metadata.
    Type: Grant
    Filed: April 8, 2008
    Date of Patent: June 10, 2014
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Douglas A. Prins, Aaron K. Olbrich
  • Patent number: 8751833
    Abstract: A data processing apparatus is provided comprising first processing circuitry, second processing circuitry and shared processing circuitry. The first processing circuitry and second processing circuitry are configured to operate in different first and second power domains respectively and the shared processing circuitry is configured to operate in a shared power domain. The data processing apparatus forms a uni-processing environment for executing a single instruction stream in which either the first processing circuitry and the shared processing circuitry operate together to execute the instruction stream or the second processing circuitry and the shared processing circuitry operate together to execute the single instruction stream. Execution flow transfer circuitry is provided for transferring at least one bit of processing-state restoration information between the two hybrid processing units.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: June 10, 2014
    Assignee: ARM Limited
    Inventor: Stephen John Hill
  • Publication number: 20140156952
    Abstract: According to one embodiment, an information processing apparatus with mode switching function, includes a first management module which is capable of accessing a predetermined area of a memory, and a second management module which is capable of accessing the predetermined area and another area of the memory. The first management module is incapable of accessing the other area of the memory. The second management module is configured to exchange information in the predetermined area for information in the other area, in accordance with mode switching.
    Type: Application
    Filed: August 19, 2013
    Publication date: June 5, 2014
    Applicant: KABUSHIKI KAISHA TOSHIBA
    Inventor: Kentaro Takeda
  • Publication number: 20140156953
    Abstract: A method and apparatus for unified concurrency control in a Software Transactional Memory (STM) is herein described. A transaction record associated with a memory address referenced by a transactional memory access operation includes optimistic and pessimistic concurrency control fields. Access barriers and other transactional operations/functions are utilized to maintain both fields of the transaction record, appropriately. Consequently, concurrent execution of optimistic and pessimistic transactions is enabled.
    Type: Application
    Filed: September 16, 2013
    Publication date: June 5, 2014
    Inventors: Ali-Reza Adl-Tabatabai, Moshe Bach, Sion Berkowits, James Henry Cownie, Yang Ni, Jeffrey V. Olivier, Bratin Saha, Ady Tal, Adam Welc
  • Patent number: 8745340
    Abstract: Various embodiments for reducing communication between cluster nodes and optimizing failover processing in a distributed shared memory (DSM)-based application by at least one processor device are provided. In one embodiment, for a data structure operable on a DSM, a read-mostly portion is maintained in a single copy sharable between the cluster nodes while an updatable portion is maintained in multiple copies, each of the multiple copies dedicated to a single cluster node.
    Type: Grant
    Filed: June 4, 2012
    Date of Patent: June 3, 2014
    Assignee: International Business Machines Corporation
    Inventors: Lior Aronovich, Asaf Levy, Liran Loya
  • Patent number: 8745312
    Abstract: A non-volatile memory may include a plurality of map blocks for storing a plurality of map units, the map units representing mapping information between physical addresses and logical addresses. A storage device may include such a non-volatile memory. A method of mapping such a non-volatile memory may include writing historical information regarding locations of valid map units among the map units included in map blocks previously allocated among the map blocks when a new map block among the map blocks is allocated, the valid map units representing valid mapping information, and constructing a map table including all of the valid mapping information based on the historical information and a result of searching a map block recently allocated among the map blocks.
    Type: Grant
    Filed: February 21, 2008
    Date of Patent: June 3, 2014
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Eun-Jin Yun, Hye-Young Kim, Young-Joon Choi, Dong-Gi Lee, Jin-Hyuk Kim
  • Publication number: 20140149691
    Abstract: A data processing system includes multiple data processing apparatuses; a peripheral apparatus; memory that is shared by the data processing apparatuses and the peripheral apparatus; peripheral memory provided corresponding to the peripheral apparatus; and a memory managing unit that secures in any one among the memory and the peripheral memory, an area for a thread that is based on thread information, the area being secured based on the thread information that is read out from a heap area that sequentially stores the thread information that is executed at any one among the data processing apparatuses and the peripheral apparatus.
    Type: Application
    Filed: February 4, 2014
    Publication date: May 29, 2014
    Applicant: FUJITSU LIMITED
    Inventors: Koichiro Yamashita, Hiromasa Yamauchi, Takahisa Suzuki, Koji Kurihara
  • Patent number: 8739164
    Abstract: An apparatus and method is disclosed for a computer processor configured to access a memory shared by a plurality of processing cores and to execute a plurality of memory access operations in a transactional mode as a single atomic transaction and to suspend the transactional mode in response to determining an implicit suspend condition, such as a program control transfer. As part of executing the transaction, the processor marks data accessed by the speculative memory access operations as being speculative data. In response to determining a suspend condition (including by detecting a control transfer in an executing thread) the processor suspends the transactional mode of execution, which includes setting a suspend flag and suspending marking speculative data. If the processor later detects a resumption condition (e.g., a return control transfer corresponding to a return from the control transfer), the processor is configured to resume the marking of speculative data.
    Type: Grant
    Filed: February 24, 2010
    Date of Patent: May 27, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Jaewoong Chung, David S. Christie, Michael P. Hohmuth, Stephan Diestelhorst, Martin Pohlack
  • Patent number: 8738841
    Abstract: A storage controller connected to a flash memory storage module, the controller and module including multiple sets of buffers. The buffers are part of one or more pipelines through which data is moved between the storage module and one or more hosts.
    Type: Grant
    Filed: April 8, 2008
    Date of Patent: May 27, 2014
    Assignee: Sandisk Enterprise IP LLC.
    Inventors: Aaron K. Olbrich, Douglas A. Prins
  • Patent number: 8739163
    Abstract: A hardware and/or software facility for controlling the order of operations performed by threads of a multithreaded application on a multiprocessing system is provided. The facility may serialize or selectively-serialize execution of the multithreaded application such that, given the same input to the multithreaded application, the multiprocessing system deterministically interleaves operations, thereby producing the same output each time the multithreaded application is executed. The facility divides the execution of the multithreaded application code into two or more quantum specifying a deterministic number of operations, and the facility specifies a deterministic order in which the threads execute the two or more quantum. The deterministic number of operations may be adapted to follow the critical path of the multithreaded application. Specified memory operations may be executed regardless of the deterministic order, such as those accessing provably local data.
    Type: Grant
    Filed: March 11, 2009
    Date of Patent: May 27, 2014
    Assignee: University of Washington
    Inventors: Luis Ceze, Mark H. Oskin, Joseph Luke Devietti, Brandon Michael Lucia
  • Publication number: 20140143507
    Abstract: A technique for managing pinned memory in a data processing system includes determining whether a first loadable module is completely utilizing pinned memory assigned to the first loadable module. In response to determining the first loadable module is not completely utilizing the pinned memory assigned to the first loadable module, the pinned memory that is not being utilized by the first loadable module is converted to kernel lock memory. In response to a second loadable module requesting pinned memory and non-kernel lock memory not being available to meet the request, one or more pages of the kernel lock memory are assigned to the second loadable module. In response to the second loadable module requesting the pinned memory and the non-kernel lock memory being available to meet the request, one or more pages of the non-kernel lock memory are assigned to the second loadable module.
    Type: Application
    Filed: November 20, 2012
    Publication date: May 22, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: FREDERIC DURAIRAJ MARIA JOSEPH, KEERTHI B. KUMAR, VISHAL R. MANSUR, CHETAN L. GAONKAR
  • Publication number: 20140143508
    Abstract: A memory system includes a memory device and a memory controller. The memory device includes a plurality of memory dies having different page sizes. The memory controller generates a plurality of chip selection signals for activating the plurality of memory dies based on the reordering number of requests received from a processor.
    Type: Application
    Filed: March 16, 2013
    Publication date: May 22, 2014
    Inventors: Yong Kee KWON, Hyung Dong LEE, Young Suk MOON, Hyung Gyun YANG
  • Publication number: 20140143486
    Abstract: The MSMC (Multicore Shared Memory Controller) described is a module designed to manage traffic between multiple processor cores, other mastering peripherals or DMA, and the EMIF (External Memory InterFace) in a multicore SoC. The invention unifies all transaction sizes belonging to a slave previous to arbitrating the transactions in order to reduce the complexity of the arbitration process and to provide optimum bandwidth management among all masters. Two consecutive slots are assigned per cache line access to automatically guarantee the atomicity of all transactions within a single cache line. The need for synchronization among all the banks of a particular SRAM is eliminated, as synchronization is accomplished by assigning back to back slots.
    Type: Application
    Filed: October 23, 2013
    Publication date: May 22, 2014
    Applicant: Texas Instruments Incorporated
    Inventors: Kai Chirca, Matthew D. Pierson
  • Publication number: 20140143509
    Abstract: The present provides a method for operating a module by a processor. The method includes generating, by at least one task being executed on the processor, control information for controlling operation of the module. The module includes an arrangement of a plurality of cells, including a bus system. At least some of the cells having arithmetic and logic units. At least some of the cells being arranged in at least two dimensions. The method further including writing, by the processor, the control information into a memory being shared with the module in a list-like manner to form a list of operations. The method further including executing, by the module, the operations listed in the list.
    Type: Application
    Filed: January 23, 2014
    Publication date: May 22, 2014
    Applicant: PACT XPP TECHNOLOGIES AG
    Inventor: Martin Vorbach
  • Patent number: 8732350
    Abstract: A system for improving direct memory access (DMA) offload. The system includes a processor, a data DMA engine and memory components. The processor selects an executable command comprising subcommands. The DDMA engine executes DMA operations related to a subcommand to perform memory transfer operations. The memory components store the plurality of subcommands and status data resulting from DMA operations. Each of the memory components has a corresponding token associated therewith. Possession of a token allocates its associated memory component to the processor or the DDMA engine possessing the token, making it inaccessible to the other. A first memory component and a second memory component of the plurality of memory components are used by the processor and the DDMA engine respectively and simultaneously. Tokens, e.g., the first and/or the second, are exchanged between the DDMA engine and the processor when the DDMA engine and/or the microcontroller complete accessing associated memory components.
    Type: Grant
    Filed: December 19, 2008
    Date of Patent: May 20, 2014
    Assignee: NVIDIA Corporation
    Inventors: Dmitry Vyshetski, Howard Tsai, Paul J. Gyugyi
  • Patent number: 8732354
    Abstract: A method and apparatus for controlling access to a storage area network among a group of hosts in a distributed computing environment. A host requests access to the storage area network by issuing an input/output request, and the input/output request is intercepted at the dynamic multipath (DMP) layer. The DMP layer checks the input/output request against an access control list. The DMP layer can grant or deny the input/output request from the host system. If the input/output request is granted, then the DMP layer passes on the input/output request to the HBA driver layer and the host is allowed to access the storage area network. If the request to access the storage area network is denied, the DMP management layer can initiate an appropriate response, such as a security procedure or generation of an error message alerting a user the request has been denied.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: May 20, 2014
    Assignee: Symantec Operating Corporation
    Inventor: Tommi Salli
  • Patent number: 8732412
    Abstract: Systems and methods for implementing a distributed shared memory (DSM) in a computer cluster in which an unreliable underlying message passing technology is used, such that the DSM efficiently maintains coherency and reliability. DSM agents residing on different nodes of the cluster process access permission requests of local and remote users on specified data segments via handling procedures, which provide for recovering of lost ownership of a data segment while ensuring exclusive ownership of a data segment among the DSM agents detecting and resolving a no-owner messaging deadlock, pruning of obsolete messages, and recovery of the latest contents of a data segment whose ownership has been lost.
    Type: Grant
    Filed: July 2, 2012
    Date of Patent: May 20, 2014
    Assignee: International Business Machines Corporation
    Inventors: Lior Aronovich, Ron Asher
  • Patent number: 8732411
    Abstract: Technologies for eliminating duplicate data within a storage system can efficiently identify and eliminate duplication by remapping borrower regions to share physical storage space with lender regions. Block-level de-duplication can co-exist with storage architectures for thin provisioning and snapshot management. Lending maps can track redirected pointers from borrower regions to shared physical storage from lender regions. The lending maps can track the freed status of regions to support efficient write I/O operations without defaulting to unnecessary read-modify-write cycles to complete data writes. Redundancy of de-duplicated data can maintain one or more copies to support recovery from media errors. Candidate regions for de-duplication can be identified by monitoring the times and patterns of data access operations. A sampled mechanism for calculating and comparing signatures of data blocks can support the efficient identification of duplicated data within the storage system.
    Type: Grant
    Filed: November 19, 2008
    Date of Patent: May 20, 2014
    Assignee: American Megatrends, Inc.
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Sharon Enoch, Raghavan Sowrirajan
  • Publication number: 20140136798
    Abstract: A transactional memory (TM) receives a lookup command across a bus from a processor. The command includes a memory address. In response to the command, the TM pulls an input value (IV). The memory address is used to read a word containing multiple result values (RVs), multiple reference values, and multiple prefix values from memory. A selecting circuit within the TM uses a starting bit position and a mask size to select a portion of the IV. The portion of the IV is a lookup key value (LKV). Mask values are generated based on the prefix values. The LKV is masked by each mask value thereby generating multiple masked values that are compared to the reference values. Based on the comparison a lookup table generates a selector value that is used to select a result value. The selected result value is then communicated to the processor via the bus.
    Type: Application
    Filed: November 13, 2012
    Publication date: May 15, 2014
    Applicant: Netronome Systems, Inc.
    Inventor: Gavin J. Stark
  • Patent number: 8725940
    Abstract: A method begins by a processing module receiving redundant array of independent disks (RAID) data and determining whether to store the RAID data in at least one of a RAID format and in a dispersed storage network (DSN) format. The method continues with the processing module converting at least a portion of the RAID data into at least one set of encoded data slices when the at least a portion of the RAID data is to be stored in the DSN format. The method continues with the processing module outputting the at least one set of encoded data slices to a DSN memory.
    Type: Grant
    Filed: December 31, 2010
    Date of Patent: May 13, 2014
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Jason K. Resch, Timothy W. Markison
  • Patent number: 8725955
    Abstract: A chip having integrated multiple processor cores and a data processing method are disclosed. The processor chip includes an MP core (main processor core), an AP core (application processor core) which performs a processing function designated by a control of the MP core, a first SM controller which sets a path such that the MP core is coupled with a shared memory, and a second SM controller which sets a path such that the AP core is coupled with the shared memory. By virtue of the present invention, the number of chips installed can be minimized, to allow efficient utilization of PCB space and enable a compact size for a portable terminal.
    Type: Grant
    Filed: January 24, 2008
    Date of Patent: May 13, 2014
    Assignee: Mtekvision Co., Ltd.
    Inventor: Jong-Sik Jeong
  • Patent number: 8725956
    Abstract: A system and method for memory sharing among computer programs is disclosed. A method for memory sharing among computer programs includes identifying memory units of a plurality of memory units having identical contents, collapsing the identified memory units into a single merged memory page, and mapping the single merged memory page into an associated shared physical memory location. The method further includes when a request to write to a memory unit merged into the single merged memory page is received: copying, by a computer system, contents in the associated shared physical memory location to a different memory location, and redirecting, by the computer system, the request to the different memory location.
    Type: Grant
    Filed: May 14, 2012
    Date of Patent: May 13, 2014
    Assignee: Red Hat, Inc.
    Inventors: Izik Eidus, Andrea Arcangeli, Christopher M. Wright
  • Publication number: 20140129783
    Abstract: A system and method for allocating shared memory of differing properties to shared data objects and a hybrid stack data structure. In one embodiment, the system includes: (1) a hybrid stack creator configured to create, in the shared memory, a hybrid stack data structure having a lower portion having a more favorable property and a higher portion having a less favorable property and (2) a data object allocator associated with the hybrid stack creator and configured to allocate storage for shared data object in the lower portion if the lower portion has a sufficient remaining capacity to contain the shared data object and alternatively allocate storage for the shared data object in the higher portion if the lower portion has an insufficient remaining capacity to contain the shared data object.
    Type: Application
    Filed: December 21, 2012
    Publication date: May 8, 2014
    Applicant: NVIDIA
    Inventors: Jaydeep Marathe, Gautam Chakrabarti, Yuan Lin, Okwan Kwon, Amit Sabne
  • Patent number: 8717375
    Abstract: The subject matter of this specification can be embodied in, among other things, a method that includes computer-implemented graphics frame buffer process that establishes on a computing device a graphics frame buffer accessible to be written by an application process and to be read by a graphics server process. The method further comprises generating a plurality of control bits whose value or values control access to the frame buffer by the application process and the graphics server process and reading frames from the frame buffer using the value or values in the plurality of control bits.
    Type: Grant
    Filed: January 31, 2013
    Date of Patent: May 6, 2014
    Assignee: Google Inc.
    Inventor: Mathias Marc Agopian
  • Patent number: 8719524
    Abstract: A storage system in an embodiment of this invention comprises a non-volatile storage area for storing write data from a host, a cache area capable of temporarily storing the write data before storing the write data in the non-volatile storage area, and a controller that determines whether to store the write data in the cache area or to store the write data in the non-volatile storage area without storing the write data in the cache area, and stores the write data in the determined area.
    Type: Grant
    Filed: October 7, 2011
    Date of Patent: May 6, 2014
    Assignee: Hitachi, Ltd.
    Inventors: Tomohiro Yoshihara, Akira Deguchi, Hiroaki Akutsu
  • Patent number: 8719513
    Abstract: In a virtualized system using memory page sharing, a method is provided for maintaining sharing when Guest code attempts to write to the shared memory. In one embodiment, virtualization logic uses a pattern matcher to recognize and intercept page zeroing code in the Guest OS. When the page zeroing code is about to run against a page that is already zeroed, i.e., contains all zeros, and is being shared, the memory writes in the page zeroing code have no effect. The virtualization logic skips over the writes, providing an appearance that the Guest OS page zeroing code has run to completion but without performing any of the writes that would have caused a loss of page sharing. The pattern matcher can be part of a binary translator that inspects code before it executes.
    Type: Grant
    Filed: February 15, 2013
    Date of Patent: May 6, 2014
    Assignee: VMware, Inc.
    Inventor: Ole Agesen
  • Publication number: 20140122801
    Abstract: Embodiments are described for a method for controlling access to memory in a processor-based system comprising monitoring a number of interference events, such as bank contentions, bus contentions, row-buffer conflicts, and increased write-to-read turnaround time caused by a first core in the processor-based system that causes a delay in access to the memory by a second core in the processor-based system; deriving a control signal based on the number of interference events; and transmitting the control signal to one or more resources of the processor-based system to reduce the number of interference events from an original number of interference events.
    Type: Application
    Filed: October 29, 2012
    Publication date: May 1, 2014
    Applicant: ADVANCED MICRO DEVICES, INC.
    Inventors: Gabriel LOH, James O'CONNOR
  • Patent number: 8713255
    Abstract: A system, method, and computer program product are provided for conditionally sending a request for data to a home node. In operation, a first request for data is sent to a first cache of a node. Additionally, if the data does not exist in the first cache, a second request for the data is sent to a second cache of the node. Furthermore, a third request for the data is conditionally sent to a home node.
    Type: Grant
    Filed: May 1, 2013
    Date of Patent: April 29, 2014
    Assignee: NetLogic Microsystems, Inc.
    Inventors: Gaurav Garg, David T. Hass
  • Publication number: 20140115276
    Abstract: Partitioned global address space (PGAS) programming language source code is retrieved by an executed PGAS compiler. At least one shared memory array access indexed by an affine expression that includes a distinct thread identifier that is constant and different for each of a group of program execution threads targeted to execute the PGAS source code is identified within the PGAS source code. It is determined whether the at least one shared memory array access results in a local shared memory access by all of the group of program execution threads for all references to the at least one shared memory array access during execution of a compiled executable of the PGAS source code. A direct memory access executable code is generated for each shared memory array access determined to result in the local shared memory access by all of the group of program execution threads.
    Type: Application
    Filed: July 29, 2011
    Publication date: April 24, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Salem Derisavi, Ettore Tiotto
  • Patent number: 8706837
    Abstract: An SAS domain map is automatically generated at an SAS concentrator switch by a virtual mapping device that presents itself as a target for discovery by SAS devices interfaced with the concentrator, such as information handling systems and storage devices. During the SAS protocol discovery process, the virtual mapping device generates the SAS domain map by acquiring the device name and the device port for each concentrator port that interfaces with a device. A management application running on the concentrator applies the SAS domain map to provide network functions, such as zoning or diagnostics.
    Type: Grant
    Filed: March 21, 2011
    Date of Patent: April 22, 2014
    Assignee: Dell Products L.P.
    Inventors: Rohit Chawla, Gaurav Chawla, Farzad Khosrowpour
  • Patent number: 8706975
    Abstract: A shared memory management system and method are described. In one embodiment, a memory management system includes a memory management unit for coordinating context memory storage block binds and independently controlling access to the context memory without interference from other engine activities. In one exemplary implementation the context information is included in a block and the memory management unit binds the block to instance memory. The instance memory can be protected memory. The instance memory can also support multiple channels associated with the plurality of engines. In one exemplary implementation, the instance memory includes a pointer to a page table. The instance memory can also include context save and restore data and each one of the plurality of engines initiates a unique block bind by indicating an association between their engine ID and a given block of instance memory.
    Type: Grant
    Filed: November 1, 2006
    Date of Patent: April 22, 2014
    Assignee: Nvidia Corporation
    Inventors: David B. Glasco, John S. Montrym, Lingfeng Yuan
  • Patent number: 8707087
    Abstract: A backup and restoration process which first attempts to recover information blocks from locally connected information handling systems executing a backup/restore service before looking to the slower access cloud store to recover data blocks.
    Type: Grant
    Filed: May 18, 2010
    Date of Patent: April 22, 2014
    Assignee: Dell Products L.P.
    Inventors: Carlton Andrews, Clint H. O'Connor, Yuan-Chang Lo
  • Patent number: 8707062
    Abstract: For one disclosed embodiment, a processor comprises a first processor core, a second processor core, and a cache memory. The first processor core is to save a state of the first processor core and to enter a mode in which the first processor core is powered off. The second processor core is to save a state of the second processor core and to enter a mode in which the second processor core is powered off. The cache memory is to be powered when the first processor core is powered off. The first processor core is to restore the saved state of the first processor core in response to the first processor core transitioning to a mode in which the first processor core is powered. The second processor core is to restore the saved state of the second processor core in response to the second processor core transitioning to a mode in which the second processor core is powered. Other embodiments are also disclosed.
    Type: Grant
    Filed: February 16, 2010
    Date of Patent: April 22, 2014
    Assignee: Intel Corporation
    Inventors: Sanjeev Jahagirdar, Varghese George, John B. Conrad, Robert Milstrey, Stephen A. Fischer, Alon Naveh, Shai Rotem
  • Patent number: 8706935
    Abstract: Multiple devices are provided access to a common, single instance of data and may use it without consuming resources beyond what would be required if only one device were using that data in a traditional configuration. In order to retain the device-specific differences, they are kept separate, but their relationship to the common data is maintained. All of this is done in a fashion that allows a given device to perceive and use its data as though it was its own separately accessible data.
    Type: Grant
    Filed: April 6, 2012
    Date of Patent: April 22, 2014
    Assignee: DataCore Software Corporation
    Inventors: Jeff Z. Slutzky, Roni J. Putra, Ziya A. Aral
  • Publication number: 20140108885
    Abstract: An integrated circuit includes a memory having an address space and a memory controller coupled to the memory for accessing the address space in response to received memory accesses. The memory controller further accesses a plurality of data elements in a first portion of the address space, and reliability data corresponding to the plurality of data elements in a second portion of the address space.
    Type: Application
    Filed: October 11, 2012
    Publication date: April 17, 2014
    Applicant: Advanced Micro Devices, Inc.
    Inventors: Gabriel H. Loh, Vilas K. Sridharan
  • Patent number: 8700856
    Abstract: According to a prior art storage subsystem, shared memories are mirrored in main memories of two processors providing redundancy. When the consistency of writing order of data is not ensured among mirrored shared memories, the processors must read only one of the mirrored shared memories to have the write order of the read data correspond among the two processors. As a result, upon reading data from the shared memories, it is necessary for a processor to read data from the main memory of the other processor, so that the overhead is increased compared to the case where the respective processors read their respective main memories. According to the storage subsystem of the present invention, a packet redirector having applied a non-transparent bridge enables to adopt a PCI Express multicast to the writing of data from the processor to the main memory, so that the order of writing data into the shared memories can be made consistent among the mirrored memories.
    Type: Grant
    Filed: March 23, 2012
    Date of Patent: April 15, 2014
    Assignee: Hitachi, Ltd.
    Inventors: Katsuya Tanaka, Masanori Takada, Shintaro Kudo
  • Patent number: 8700865
    Abstract: A shared resource management system and method are described. In one embodiment a shared resource management system includes a plurality of engines, a shared resource, and a shared resource management unit. In one exemplary implementation the shared resource is a memory and the shared resource management unit is a memory management unit (MMU). The plurality of engines perform processing. The shared resource supports the processing. For example, a memory stores information and instructions for the engines. The shared resource management unit manages memory operations and handles access requests associated with compressed data.
    Type: Grant
    Filed: November 2, 2006
    Date of Patent: April 15, 2014
    Assignee: NVIDIA Corporation
    Inventors: James M. Van Dyke, John H. Edmondson, Lingfeng Yuan, Brian D. Hutsell
  • Patent number: 8700862
    Abstract: A compression status bit cache provides on-chip availability of compression status bits used to determine how many bits are needed to access a potentially compressed block of memory. A backing store residing in a reserved region of attached memory provides storage for a complete set of compression status bits used to represent compression status of an arbitrarily large number of blocks residing in attached memory. Physical address remapping (“swizzling”) used to distribute memory access patterns over a plurality of physical memory devices is partially replicated by the compression status bit cache to efficiently integrate allocation and access of the backing store data with other user data.
    Type: Grant
    Filed: December 3, 2008
    Date of Patent: April 15, 2014
    Assignee: Nvidia Corporation
    Inventors: David B. Glasco, Peter B. Holmqvist, George R. Lynch, Patrick R. Marchand, Karan Mehra, James Roberts
  • Patent number: 8694997
    Abstract: A hardware and/or software facility for controlling the order of operations performed by threads of a multithreaded application on a multiprocessing system is provided. The facility may serialize or selectively-serialize execution of the multithreaded application such that, given the same input to the multithreaded application, the multiprocessing system deterministically interleaves operations, thereby producing the same output each time the multithreaded application is executed. The facility divides the execution of the multithreaded application code into two or more quantum specifying a deterministic number of operations, and the facility specifies a deterministic order in which the threads execute the two or more quantum. The facility may operate together with a transactional memory system.
    Type: Grant
    Filed: December 12, 2008
    Date of Patent: April 8, 2014
    Assignee: University of Washington
    Inventors: Luis H. Ceze, Mark H. Oskin
  • Patent number: 8694737
    Abstract: Subject matter disclosed herein relates to a system of one or more processors that includes persistent memory.
    Type: Grant
    Filed: June 9, 2010
    Date of Patent: April 8, 2014
    Assignee: Micron Technology, Inc.
    Inventors: John Rudelic, August Camber, Mostafa Naguib Abdulla
  • Patent number: 8694730
    Abstract: A binary tree based multi-level cache system for multi-core processors and its two possible implementations LogN and LogN+1 models maintaining a true pyramid is described.
    Type: Grant
    Filed: March 4, 2011
    Date of Patent: April 8, 2014
    Inventor: Muhammad Ali Ismail
  • Patent number: 8694814
    Abstract: A method for data storage includes, in a host system that operates alternately in a normal state and a hibernation state, reserving a hibernation storage space in a non-volatile storage device for storage of hibernation-related information in preparation for entering the hibernation state. While the host system is operating in the normal state, a storage task other than storage of the hibernation-related information is performed using at least a portion of the reserved hibernation storage space.
    Type: Grant
    Filed: September 12, 2010
    Date of Patent: April 8, 2014
    Assignee: Apple Inc.
    Inventors: Tavi Salomon, Ofir Shalvi, Michael Shachar, Oren Golov
  • Patent number: 8688951
    Abstract: Operating system virtual memory management for hardware transactional memory. A system includes an operating system deciding to unmap a first virtual page. As a result, the operating system removes the mapping of the first virtual page to the first physical page from the virtual memory page table. As a result, the operating system performs an action to discard transactional memory hardware state for at least the first physical page. Embodiments may further suspend hardware transactions in kernel mode. Embodiments may further perform soft page fault handling without aborting a hardware transaction, resuming the hardware transaction upon return to user mode, and even successfully committing the hardware transaction.
    Type: Grant
    Filed: July 20, 2012
    Date of Patent: April 1, 2014
    Assignee: Microsoft Corporation
    Inventors: Koichi Yamada, Gad Sheaffer, Ali-Reza Adl-Tabatabai, Landy Wang, Martin Taillefer, Arun Kishan, David Callahan, Jan Gray, Vadim Bassin
  • Patent number: 8688944
    Abstract: An embedded controller includes a microcontroller core and memory control circuitry. The memory control circuitry is configured to communicate with a Central Processing Unit (CPU) chipset over a first Serial Peripheral Interface (SPI), for which bus arbitration is not supported, at a first clock rate, to communicate with a memory over a second SPI at a second, fixed clock rate, to relay memory transactions between the CPU chipset and the memory over the first and second SPIs, to identify time intervals in which no memory transactions are relayed on the second SPI and to retrieve from the memory information for operating the microcontroller core during the identified time intervals.
    Type: Grant
    Filed: September 20, 2011
    Date of Patent: April 1, 2014
    Assignee: Nuvoton Technology Corporation
    Inventors: Moshe Alon, Michal Schramm, Nir Tasher
  • Patent number: 8688904
    Abstract: A number of accesses of a portion of data at a first storage device is accumulated. The number of accesses is periodically decremented by a predetermined amount. Based at least in part on the number of accesses, it is determined whether the portion of data of is a candidate for migration to a second storage device.
    Type: Grant
    Filed: May 23, 2005
    Date of Patent: April 1, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Ismail Ari, Melanie M. Gottwals, Richard H. Henze
  • Publication number: 20140089606
    Abstract: Data writers desiring to update data without unduly impacting concurrent readers perform a synchronization operation with respect to plural processors or execution threads. The synchronization operation is parallelized using a hierarchical tree having a root node, one or more levels of internal nodes and as many leaf nodes as there are processors or threads. The tree is traversed from the root node to a lowest level of the internal nodes and the following node processing is performed for each node: (1) check the node's children, (2) if the children are leaf nodes, perform the synchronization operation relative to each leaf node's associated processor or thread, and (3) if the children are internal nodes, fan out and repeat the node processing with each internal node representing a new root node. The foregoing node processing is continued until all processors or threads associated with the leaf nodes have performed the synchronization operation.
    Type: Application
    Filed: November 30, 2013
    Publication date: March 27, 2014
    Applicant: International Business Machines Corporation
    Inventor: Paul E. McKenney
  • Publication number: 20140089604
    Abstract: A system and method for efficient dynamic utilization of shared resources. A computing system includes a shared buffer accessed by two requestors generating access requests. Any entry within the shared buffer may be allocated for use by a first requestor or a second requestor. The storage buffer stores received indications of access requests from the first requestor beginning at a first end of the storage buffer. The storage buffer stores received indications of access requests from the second requestor beginning at a second end of the storage buffer. The storage buffer maintains an oldest stored indication of an access request for the first requestor at the first end and an oldest stored indication of an access request for the second requestor at the second end. The shared buffer deallocates in-order of age from oldest to youngest allocated entries corresponding to a given requestor of the first requestor and the second requestor.
    Type: Application
    Filed: September 27, 2012
    Publication date: March 27, 2014
    Applicant: APPLE INC.
    Inventors: Peter F. Holland, Albert C. Kuo, Joseph P. Bratt
  • Publication number: 20140085320
    Abstract: A system and method for efficiently processing access requests for a shared resource. A computing system includes a shared memory accessed by multiple requestors. Control logic determines two requestors seek to access a same data block within the shared memory. In response to the determination, a first requestor of the two requestors sends a read request to the shared memory on behalf of the two requestors. The second requestor of the two requestors is prevented from sending a read request. In response to detecting data is returned as a response to the read request generated by the first requestor, both the first requestor and the second requestor retrieve the data. In response to detecting a given requestor of the two requestors generates an indication that it is unable to continue retrieving the same response data, the two requestors return to generating separate, respective read requests.
    Type: Application
    Filed: September 27, 2012
    Publication date: March 27, 2014
    Applicant: APPLE INC.
    Inventors: Peter F. Holland, Hao Chen
  • Publication number: 20140089572
    Abstract: The disclosed embodiments provide a system that performs distributed page-table lookups in a shared-memory multiprocessor system with two or more nodes, where each of these nodes includes a directory controller that manages a distinct portion of the system's address space. During operation, a first node receives a request for a page-table entry that is located at a physical address that is managed by the first node. The first node accesses its directory controller to retrieve the page-table entry, and then uses the page-table entry to calculate the physical address for a subsequent page-table entry. The first node determines the home node (e.g., the managing node) for this calculated physical address, and sends a request for the subsequent page-table entry to that home node.
    Type: Application
    Filed: September 24, 2012
    Publication date: March 27, 2014
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Pranay Koka, David A. Munday, Michael O. McCracken, Herbert D. Schwetman, JR.
  • Publication number: 20140089605
    Abstract: A data storage device may include an interface that is arranged and configured to interface with a host, a command bus, multiple memory devices that are operably coupled to the command bus and a controller that is operably coupled to the interface and to the command bus. The controller may be arranged and configured to receive a read metadata command for a specified one of the memory devices from the host using the interface, read metadata from the specified memory device and communicate the metadata to the host using the interface.
    Type: Application
    Filed: November 22, 2013
    Publication date: March 27, 2014
    Applicant: GOOGLE INC.
    Inventors: Albert T. Borchers, Andrew T. Swing, Robert S. Sprinkle, Jason W. Klaus