Simultaneous Access Regulation Patents (Class 711/150)
  • Patent number: 8874857
    Abstract: A method, computer program product, and computing system for compartmentalizing a LUN into a plurality of portions that are each assigned to one or more hosts. An ownership tracking structure is maintained for the LUN, wherein the ownership tracking structure includes a data entry associated with each of the plurality of portions within the LUN. One or more properties of the ownership tracking structure are monitored to determine if the ownership tracking structure needs to be compressed. If the ownership tracking structure needs to be compressed, one or more actions are taken to reduce the size of the ownership tracking structure.
    Type: Grant
    Filed: March 31, 2012
    Date of Patent: October 28, 2014
    Assignee: EMC Corporation
    Inventors: Roy E. Clark, Randall H. Shain
  • Patent number: 8874752
    Abstract: A method for providing other than a 1:1 resource mapping may include receiving an indication of a selected resource reference element, receiving an indication of at least one resource to be associated with the resource reference element, and generating, via processing circuitry, a registry including a declarative policy defining an association of the selected resource reference element and the at least one resource in which the registry defines an other than 1:1 mapping between resource reference elements and resources.
    Type: Grant
    Filed: June 1, 2012
    Date of Patent: October 28, 2014
    Assignee: International Business Machines Corporation
    Inventors: Manu T. George, Murali K. Surampalli
  • Publication number: 20140317339
    Abstract: A data access system, device and controller are provided. The data access system includes a plurality of storage units and first controllers, a second controller, and a host. The first controller is utilized to parallel access the storage units, and each first controller includes a plurality of first storage unit controllers, a buffer and a multiplexer. The first storage unit controllers are coupled one-to-one with the storage units. The multiplexer is coupled to the first storage unit controllers and the buffer. The second controller is coupled to the first controllers. The second controller includes a plurality of second storage unit controllers which are coupled one-to-one with the first controllers. The host is coupled to the second controller, and accesses the storage units through the second controller and the first controllers.
    Type: Application
    Filed: April 1, 2014
    Publication date: October 23, 2014
    Applicant: GENESYS LOGIC, INC.
    Inventor: Yu-Jen Hsu
  • Patent number: 8868851
    Abstract: The invention provides a data access method of a memory device. In one embodiment, the memory device comprises a plurality of memories. First, a plurality of commands sequentially received from a host is stored in a command queue. A target command is then retrieved from the command queue. A target memory accessed by the target command is then determined. Whether the target memory is in a busy state is then determined. When the target memory is not in a busy state, access operations requested by the target command are then performed. When the target memory is in a busy state, a substitute command is selected from a plurality of subsequent commands stored in the command queue and access operations requested by the substitute command are performed, wherein the sequence of the subsequent commands in the command queue is subsequent to the target command.
    Type: Grant
    Filed: November 22, 2013
    Date of Patent: October 21, 2014
    Assignee: Silicon Motion, Inc.
    Inventor: Jen-Wen Lin
  • Patent number: 8862831
    Abstract: A method and apparatus to facilitate shared pointers in a heterogeneous platform. In one embodiment of the invention, the heterogeneous or non-homogeneous platform includes, but is not limited to, a central processing core or unit, a graphics processing core or unit, a digital signal processor, an interface module, and any other form of processing cores. The heterogeneous platform has logic to facilitate sharing of pointers to a location of a memory shared by the CPU and the GPU. By sharing pointers in the heterogeneous platform, the data or information sharing between different cores in the heterogeneous platform can be simplified.
    Type: Grant
    Filed: September 6, 2013
    Date of Patent: October 14, 2014
    Assignee: Intel Corporation
    Inventors: Yang Ni, Rajkishore Barik, Ali-Reza Adl-Tabatabai, Tatiana Shpeisman, Jayanth N. Rao, Ben J. Ashbaugh, Tomasz Janczak
  • Patent number: 8862816
    Abstract: Systems, methods, and computer program products for mirroring dual writeable storage arrays are provided. Various embodiments provide configurations including two or more mirrored storage arrays that are each capable of being written to by different hosts. When commands to write data to corresponding mirrored data blocks within the respective storage arrays are received from different hosts at substantially the same time, write priority for writing data to the mirrored data blocks is given to one of the storage arrays based on a predetermined criterion or multiple predetermined criteria.
    Type: Grant
    Filed: January 28, 2010
    Date of Patent: October 14, 2014
    Assignee: International Business Machines Corporation
    Inventor: Narendren Rajasingam
  • Patent number: 8862930
    Abstract: A computing system stores actual memory usage data in a user memory space. The actual memory usage data represents memory usage of a plurality of device drivers that are loaded by a first kernel. The computing system generates an estimate of memory space to be reserved for a second kernel based on the actual memory usage data for the plurality of device drivers that are loaded by the first kernel and reserves memory space for the second kernel using the estimate.
    Type: Grant
    Filed: November 24, 2010
    Date of Patent: October 14, 2014
    Assignee: Red Hat, Inc.
    Inventors: Neil R. T. Horman, Vivek Goyal
  • Patent number: 8856479
    Abstract: A method and controller for implementing storage adapter performance optimization with chained hardware operations completion coalescence, and a design structure on which the subject controller circuit resides are provided. The controller includes a plurality of hardware engines, and a processor. A plurality of the command blocks are selectively arranged by firmware in a predefined chain including a plurality of simultaneous command blocks. All of the simultaneous command blocks are completed in any order by respective hardware engines, then the next command block in the predefined chain is started under hardware control without any hardware-firmware (HW-FW) interlocking with the simultaneous command block completion coalescence.
    Type: Grant
    Filed: April 20, 2012
    Date of Patent: October 7, 2014
    Assignee: International Business Machines Corporation
    Inventors: Adrian C. Gerhard, Lyle E. Grosbach, Daniel F. Moertl
  • Patent number: 8850129
    Abstract: A system and computer implemented method for storing of data in the memory of a computer system in order at a fast rate is provided. The method includes launching a first store to memory. A wait counter is initiated. A second store to memory is speculatively launched when the wait counter expires. The second store to memory is cancelled when the second store achieves coherency prior to the first store to memory.
    Type: Grant
    Filed: June 24, 2010
    Date of Patent: September 30, 2014
    Assignee: International Business Machines Corporation
    Inventors: Norbert Hagspiel, Matthias Klein, Ulrich Mayer, Robert J. Sonnelitter, III, Gary E. Strait, Hanno Ulrich
  • Patent number: 8850130
    Abstract: Disclosed is an improved approach for using advanced metadata to implement an architecture for managing I/O operations and storage devices for a virtualization environment. According to some embodiments, a Service VM is employed to control and manage any type of storage device, including directly attached storage in addition to networked and cloud storage. The advanced metadata is used to track data within the storage devices. A lock-free approach is implemented in some embodiments to access and modify the metadata.
    Type: Grant
    Filed: August 10, 2011
    Date of Patent: September 30, 2014
    Assignee: Nutanix, Inc.
    Inventors: Mohit Aron, Rishi Bhardwaj, Venkata Ranga Radhanikanth Guturi
  • Patent number: 8850127
    Abstract: Various embodiments of the present invention allow concurrent accesses to a cache. A request to update an object stored in a cache is received. A first data structure comprising a new value for the object is created in response to receiving the request. A cache pointer is atomically modified to point to the first data structure. A second data structure comprising an old value for the cached object is maintained until a process, which holds a pointer to the old value of the cached object, at least one of one of ends and indicates that the old value is no longer needed.
    Type: Grant
    Filed: March 27, 2014
    Date of Patent: September 30, 2014
    Assignee: International Business Machines Corporation
    Inventors: Paul M. Dantzig, Robert O. Dryfoos, Sastry S. Duri, Arun Iyengar
  • Patent number: 8850131
    Abstract: A method includes scheduling a memory request requested by a thread executing on a processing system. The scheduling is based on at least one of a number of critical sections being executed on the processing system by the thread and a number of other threads executing on the processing system being blocked from execution on the processing system by execution of the thread. In at least one embodiment of the invention, the thread is associated with a first application of a plurality of applications executing on the processing system and the scheduling is further based on an indicator of application priority.
    Type: Grant
    Filed: August 24, 2010
    Date of Patent: September 30, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Jaewoong Chung
  • Patent number: 8843634
    Abstract: Partition configuration and creation mechanisms for network traffic management devices. In some implementations, the present invention enhances the predictability of partition hierarchies that use weighting values and fixed rate guarantees. In some implementations, the present invention includes a configuration interface that constrains the manner in which partitions can be configured to achieve predictable and efficient results. In some implementations, the present invention includes a partition creation and deletion layer that operates to dynamically create partitions based on one or more partition patterns.
    Type: Grant
    Filed: April 6, 2011
    Date of Patent: September 23, 2014
    Assignee: Blue Coat Systems, Inc.
    Inventor: Guy Riddle
  • Publication number: 20140281264
    Abstract: Embodiments of the approaches disclosed herein include a subsystem that includes an access tracking mechanism configured to monitor access operations directed to a first memory and a second memory. The access tracking mechanism detects an access operation generated by a processor for accessing a first memory page residing on the second memory. The access tracking mechanism further determines that the first memory page is included in a first subset of memory pages residing on the second memory. The access tracking mechanism further locates, within a reference vector, a reference bit that corresponds to the first memory page, and sets the reference bit. One advantage of the present invention is that memory pages in a hybrid system migrate as needed to increase overall memory performance.
    Type: Application
    Filed: December 18, 2013
    Publication date: September 18, 2014
    Applicant: NVIDIA CORPORATION
    Inventors: Jerome F. DULUK, JR., Cameron BUSCHARDT, James Leroy DEMING, Brian FAHS
  • Patent number: 8839007
    Abstract: Systems and methods may be implemented in a power device subsystem topology to provide an arbitration and communication scheme between a single consolidated non-volatile random access (NVRAM) memory device and multiple discrete digital power controller devices in a manner that provides data protection and the ability to update the full NVRAM content when needed.
    Type: Grant
    Filed: June 17, 2011
    Date of Patent: September 16, 2014
    Assignee: Dell Products LP
    Inventors: Johan Rahardjo, Abey K. Mathew, George G. Richards, III, John J. Breen, Timothy M. Lambert
  • Patent number: 8838944
    Abstract: Implementation primitives for concurrent array-based stacks, queues, double-ended queues (deques) and wrapped deques are provided. In one aspect, each element of the stack, queue, deque or wrapped deque data structure has its own ticket lock, allowing multiple threads to concurrently use multiple elements of the data structure and thus achieving high performance. In another aspect, new synchronization primitives FetchAndIncrementBounded (Counter, Bound) and FetchAndDecrementBounded (Counter, Bound) are implemented. These primitives can be implemented in hardware and thus promise a very fast throughput for queues, stacks and double-ended queues.
    Type: Grant
    Filed: September 22, 2009
    Date of Patent: September 16, 2014
    Assignee: International Business Machines Corporation
    Inventors: Dong Chen, Alana Gara, Philip Heidelberger, Sameer Kumar, Martin Ohmacht, Burkhard Steinmacher-Burow, Robert Wisniewski
  • Patent number: 8838939
    Abstract: Mechanisms are provided for debugging application code using a content addressable memory. The mechanisms receive an instruction in a hardware unit of a processor of the data processing system, the instruction having a target memory address that the instruction is attempting to access. A content addressable memory (CAM) associated with the hardware unit is searched for an entry in the CAM corresponding to the target memory address. In response to an entry in the CAM corresponding to the target memory address being found, a determination is made as to whether information in the entry identifies the instruction as an instruction of interest. In response to the entry identifying the instruction as an instruction of interest, an exception is generated and sent to one of an exception handler or a debugger application. In this way, debugging of multithreaded applications may be performed in an efficient manner.
    Type: Grant
    Filed: April 4, 2012
    Date of Patent: September 16, 2014
    Assignee: International Business Machines Corporation
    Inventors: Elmootazbellah N. Elnozahy, Ahmed Gheith
  • Patent number: 8838912
    Abstract: A disclosed embodiment is an interruptible write block comprising a primary register having an input coupled to an input of the interruptible write block, a secondary register having an input selectably coupled to an output of the primary register and to an output of the secondary register through an interrupt circuit. The interrupt circuit is utilized to interrupt flow of new data from the primary register to the secondary register during an interrupt of a write operation, such that upon resumption of the write operation the secondary register contains valid data. A method of utilizing an interruptible write block during a write operation comprises loading data into a primary register, interrupting the write operation to perform one or more other operations, loading the data into a secondary register while loading new data into the primary register, and resuming the write operation using valid data from the secondary register.
    Type: Grant
    Filed: April 26, 2013
    Date of Patent: September 16, 2014
    Assignee: Broadcom Corporation
    Inventor: Christopher Gronlund
  • Patent number: 8832333
    Abstract: According to the embodiment, a memory system includes a first memory which includes a memory cell array and a read buffer, a second memory, a command queue, a command sorting unit, and a data transfer unit. The command sorting unit dequeues commands excluding a later-arrived command whose access range overlaps with an access range of an earlier-arrived command from the command queue. The data transfer unit performs a data preparing process of transferring data that is specified by dequeued read command and is read out from the memory cell array to the read buffer, a first data transfer of outputting the data stored in the read buffer, and a second data transfer of storing data that is specified by dequeued write command in the second memory. The data transfer unit is capable of performing the data preparing process and the second data transfer in parallel.
    Type: Grant
    Filed: September 20, 2011
    Date of Patent: September 9, 2014
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Hirokazu Morita
  • Patent number: 8819349
    Abstract: Embodiments of the invention operate within the context of a system with a processor providing memory-monitoring functionality. The lower-privileged code of a first process, such as user application code, communicates directly with higher-privileged code of a second process, such as interrupt-handling code of the operating system kernel, without using a software interrupt or other gate mechanism. This enhances overall system performance by eliminating the saving of state and processing inherent in interrupt handling, and also avoids missing events that may occur while other interrupts are masked during event handling. Specifically, the second process initializes a monitored memory area that is directly accessible by processes having at least the privilege level of the first process. The second process further initializes memory-monitoring hardware of the processor to monitor writes to the monitored memory area, such that the second process will resume execution from a dormant state when a write takes place.
    Type: Grant
    Filed: July 8, 2011
    Date of Patent: August 26, 2014
    Assignee: Facebook, Inc.
    Inventor: Mateusz Berezecki
  • Patent number: 8819328
    Abstract: The embodiments described herein provide a controller and method for performing a background commands or operations. In one embodiment, a controller is provided with interfaces through which to communicate with a host and a plurality of flash memory devices. The controller contains a processor operative to perform a foreground command received from the host, wherein the processor performs the foreground command to completion without interruption. The processor is also operative to perform a background commands or operations stored in the controller's memory, wherein the processor performs the background command until completed or preempted by a foreground command. If the background command is preempted, the processor can resume performing the background command at a later time until completed.
    Type: Grant
    Filed: December 30, 2010
    Date of Patent: August 26, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Paul A. Lassa, David C. Brief
  • 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: 8812889
    Abstract: Controlling access to memory includes receiving a plurality of memory access requests and assigning corresponding time values to each. The assigned time values are adjusted based upon a clock pulse and a priority access list is generated. Factors consider include missed access deadlines, closeness to missing access deadlines, and whether a page is open. The highest ranked client is then passed to a sequencer to allow the requested access. Time values may be assigned and adjusted according to client ID or client type (latency or bandwidth). A plurality of power modes of operation are defined wherein operation in a selected power mode of operation is based at least in part on the assigned or adjusted time values. The processing is performed in hardware in parallel (at the same time) by associated logic circuits.
    Type: Grant
    Filed: May 5, 2010
    Date of Patent: August 19, 2014
    Assignee: Broadcom Corporation
    Inventors: Mark N. Fullerton, Sathish Kumar Radhakrishnan, Brent Mulholland, Ravi S. Setty
  • Patent number: 8812770
    Abstract: Methods and devices are provided for adapting an I/O pattern, with respect to a processing device using a non-volatile block storage device based on feedback from the non-volatile block storage device. The feedback may include information indicating a status of the non-volatile block storage device. In response to receiving the feedback, a storage subsystem, included in an operating system executing on processing device, may change a behavior with respect to the non-volatile block storage device in order to avoid, or reduce, a negative impact to the non-volatile block storage device or to enhance an aspect of the non-volatile block storage device. The feedback may include performance information and/or operating environmental information of the non-volatile block storage device. When the non-volatile block storage device is not capable of providing the feedback, the processing device may request information about the non-volatile block storage device from a database service.
    Type: Grant
    Filed: July 13, 2009
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: Vladimir Sadovsky, Nathan Steven Obr, James C. Bovee, Robin A. Alexander
  • 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: 8806164
    Abstract: Subject matter disclosed herein relates to an apparatus comprising memory and a controller, such as a controller which determines block locking states in association with operative transitions between two or more interfaces that share at least one block of memory. The apparatus may support single channel or multi-channel memory access, write protection state logic, or various interface priority schemes.
    Type: Grant
    Filed: March 4, 2011
    Date of Patent: August 12, 2014
    Assignee: Micron Technology, Inc.
    Inventors: Giulio Albini, Emanuele Confalonieri
  • Patent number: 8806101
    Abstract: A method and apparatus for metaphysical address space for holding lossy metadata is herein described. An explicit or implicit metadata access operation referencing data address of a data item is encountered. Hardware modifies the data address to a metadata address including a metaphysical extension. The metaphysical extension overlays one or more metaphysical address space(s) on the data address space. A portion of the metadata address including the metaphysical extension is utilized to search a tag array of the cache memory holding the data item. As a result, metadata access operations only hit metadata entries of the cache based on the metadata address extension. However, as the metadata is held within the cache, the metadata potentially competes with data for space within the cache.
    Type: Grant
    Filed: December 30, 2008
    Date of Patent: August 12, 2014
    Assignee: Intel Corporation
    Inventors: Gad Sheaffer, Shlomo Raikin, Vadim Bassin, Raanan Sade, Ehud Cohen, Oleg Margulis
  • Patent number: 8799912
    Abstract: The present disclosure generally describes systems, methods and devices for operating a computer system with memory based scheduling. The computer system may include one or more of an application program and a memory controller in communication with memory banks. The memory controller may include a scheduler for scheduling requests. The application program may select a scheduling algorithm for scheduling requests from a plurality of scheduling algorithms. The application program may instruct the scheduler to schedule requests using the selected scheduling algorithm.
    Type: Grant
    Filed: July 22, 2009
    Date of Patent: August 5, 2014
    Assignee: Empire Technology Development LLC
    Inventors: Gokhan Memik, Seda Ogrenci Memik, Bill Mangione-Smith
  • Patent number: 8799607
    Abstract: A memory controller (16) is used in a system (10) having a main memory (22) and a set of non-volatile memories (26, 32, 38, 44). Each non-volatile memory comprises a plurality of sectors (S0-S28), pages, or other memory unit types. A command is received to write data to the set of non-volatile memories (26, 32, 38, 44). Within the data is identified a grouping of the data that is for writing to sectors in the set of non-volatile memories in which each non-volatile memory of the set of non-volatile memories is to be written and each sector to be written has a corresponding location to be written in all of the other non-volatile memories. Corresponding locations are locations that are in the same location in the sequential order. The grouping of data is written into the set of the non-volatile memories to result in the writing in the non-volatile memories occurring contemporaneously.
    Type: Grant
    Filed: April 6, 2011
    Date of Patent: August 5, 2014
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Kevin K. Zhang, Xingyu Li
  • Patent number: 8799591
    Abstract: An embodiment of the invention provides an apparatus and method for controlling access by a read-write spinlock with no mutual exclusion among readers. The apparatus and method perform the steps of using values in a data structure in the read-write spinlock to control read access to a shared object and using values in the data structure and a guard lock to control write access to the shared object.
    Type: Grant
    Filed: January 30, 2007
    Date of Patent: August 5, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Douglas V. Larson, Marcia E. McConnell
  • Patent number: 8799590
    Abstract: A system enabling Transactional Memory with overflow prediction mechanism, comprising: prediction unit for predicting the mode for the next execution of a transaction based on the final status of the previous execution of the transaction; execution unit for executing the transaction in the execution mode predicted by the prediction unit, wherein the execution mode comprises overflow mode and non-overflow made. According to this invention, before a transaction is executed, it is predicted whether or not the transaction will overflow, and therefore, the execution of the transaction which is necessary to determine whether or not an overflow will occur is saved.
    Type: Grant
    Filed: May 8, 2009
    Date of Patent: August 5, 2014
    Assignee: International Business Machines Corporation
    Inventors: Hua Yong Wang, Charles Brian Hall, Yan Qi Wang, Zhi Yong Liang, Xiao Wei Shen
  • Patent number: 8789057
    Abstract: Transactional Lock Elision (TLE) may allow multiple threads to concurrently execute critical sections as speculative transactions. Transactions may abort due to various reasons. To avoid starvation, transactions may revert to execution using mutual exclusion when transactional execution fails. Because threads may revert to mutual exclusion in response to the mutual exclusion of other threads, a positive feedback loop may form in times of high congestion, causing a “lemming effect”. To regain the benefits of concurrent transactional execution, the system may allow one or more threads awaiting a given lock to be released from the wait queue and instead attempt transactional execution. A gang release may allow a subset of waiting threads to be released simultaneously. The subset may be chosen dependent on the number of waiting threads, historical abort relationships between threads, analysis of transactions of each thread, sensitivity of each thread to abort, and/or other thread-local or global criteria.
    Type: Grant
    Filed: December 3, 2008
    Date of Patent: July 22, 2014
    Assignee: Oracle America, Inc.
    Inventors: David Dice, Mark S. Moir
  • Patent number: 8789060
    Abstract: A method, computer program product and apparatus for utilizing simulated locking prior to starting concurrent execution are disclosed. The results of this simulated locking are used to define a canonical ordering which controls the order of execution and the degree of parallelism that can be used.
    Type: Grant
    Filed: December 27, 2007
    Date of Patent: July 22, 2014
    Assignee: Cadence Design Systems, Inc.
    Inventors: Ken Wadland, Charles W. Grant, Randall Lawson, Richard Allen Woodward, Jr., Sean Bergan
  • Patent number: 8782646
    Abstract: In a NUMA-topology computer system that includes multiple nodes and multiple logical partitions, some of which may be dedicated and others of which are shared, NUMA optimizations are enabled in shared logical partitions. This is done by specifying a home node parameter in each virtual processor assigned to a logical partition. When a task is created by an operating system in a shared logical partition, a home node is assigned to the task, and the operating system attempts to assign the task to a virtual processor that has a home node that matches the home node for the task. The partition manager then attempts to assign virtual processors to their corresponding home nodes. If this can be done, NUMA optimizations may be performed without the risk of reducing the performance of the shared logical partition.
    Type: Grant
    Filed: November 21, 2012
    Date of Patent: July 15, 2014
    Assignee: International Business Machnies Corporation
    Inventors: Vaijayanthimala K. Anand, Mark R. Funk, Steven R. Kunkel, Mysore S. Srinivas, Randal C. Swanberg, Ronald D. Young
  • Patent number: 8775708
    Abstract: In one embodiment, the present invention includes a method for accessing a shared memory associated with a reader-writer lock according to a first concurrency mode, dynamically changing from the first concurrency mode to a second concurrency mode, and accessing the shared memory according to the second concurrency mode. In this way, concurrency modes can be adaptively changed based on system conditions. Other embodiments are described and claimed.
    Type: Grant
    Filed: February 27, 2013
    Date of Patent: July 8, 2014
    Assignee: Intel Corporation
    Inventors: Bratin Saha, Ali-Reza Adl-Tabatabai
  • Patent number: 8775745
    Abstract: A process variation tolerant collision detection apparatus for use in detecting collisions in a multibank memory. The apparatus may receive a plurality of memory commands for execution at the multibank memory. The plurality of memory commands may be compared by an index address comparator and a bank address comparator to generate an index match signal and a bank match signal. The index match signal and the bank match signal may be analyzed by a timing correction module such that errors associated with process variation of the signals used in the system may be eliminated. Accordingly, a corrected index match signal and a corrected bank match signal may be provided to a collision detection circuit to determine whether a collision exits.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: July 8, 2014
    Assignee: Oracle International Corporation
    Inventors: Jungyong Lee, Singrong Li, Heechoul Park
  • Patent number: 8769232
    Abstract: A non-volatile semiconductor memory module is disclosed comprising a memory device and memory controller operably coupled to the memory device, wherein the memory controller is operable to receive a host command, split the host command into one or more chunks comprising a first chunk comprising at least one logical block address (LBA), and check the first chunk against an active chunk coherency list comprising one or more active chunks to determine whether the first chunk is an independent chunk, and ready to be submitted for access to the memory device, or a dependent chunk, and deferred access to the memory device until an associated dependency is cleared.
    Type: Grant
    Filed: April 6, 2011
    Date of Patent: July 1, 2014
    Assignee: Western Digital Technologies, Inc.
    Inventors: Dominic S. Suryabudi, Mei-Man L. Syu
  • Patent number: 8769164
    Abstract: In a first aspect, a first method is provided for self-adjusting allocation of memory bandwidth in a network processor system. The first method includes the steps of (1) determining an amount of memory bandwidth of a network processor used by each of a plurality of data types; and (2) dynamically adjusting the amount of memory bandwidth allocated to at least one of the plurality of data types based on the determination. Numerous other aspects are provided.
    Type: Grant
    Filed: September 18, 2003
    Date of Patent: July 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Merwin H. Alferness, William J. Goetzinger, Kent H. Haselhorst, Lonny Lambrecht, Joshua W. Rensch
  • Patent number: 8762633
    Abstract: A device for recording data emitted from a motor vehicle management system, including a volatile memory, a non-volatile memory, and a data recording module configured to receive a signal concerning activation status emitted by the management system and to record the data in a first zone of the volatile memory on a rising edge of the activation status signal and in a second zone of the volatile memory on a falling edge of the activation status signal, and including a record management module configured to receive the activation status signal and to activate a command to record on a falling edge with the activation status signal, the recording module being further configured to receive the record command and to record the content of the two zones of the volatile memory into a zone of the non-volatile memory when the record command is activated.
    Type: Grant
    Filed: June 12, 2009
    Date of Patent: June 24, 2014
    Assignee: Renault S.A.S.
    Inventors: Alessandro Monti, Arnaud Losq, Eric Mounier
  • Patent number: 8762654
    Abstract: Devices, systems, methods, and other embodiments associated with selectively scheduling memory accesses in parallel are described. In one embodiment, a method determines an access speed for a page request. The access speed is a number of clock cycles used to access a memory device of a group of memory devices. The page request is a request to access a memory page mapped to the memory device. Different page requests are selectively scheduled to access different memory devices in parallel. The different page requests access the different memory devices in a same number of clock cycles.
    Type: Grant
    Filed: June 15, 2009
    Date of Patent: June 24, 2014
    Assignee: Marvell International Ltd.
    Inventors: Xueshi Yang, Chi Kong Lee
  • Patent number: 8756380
    Abstract: According to one embodiment, an access control apparatus includes a medium communication module configured to perform communication with a removable medium, a access module configured to perform access to the removable medium using the communication module, a wireless communication module configured to perform wireless communication with a external device, and to receive access request to the removable medium, and a controller configured to assign an access right to access the removable medium to one of the access module and the external device, the control module assigning the access right in response to a request of assignment of the access right, the request being transmitted from the external device or the access module.
    Type: Grant
    Filed: March 21, 2012
    Date of Patent: June 17, 2014
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Keiko Watanabe, Jun Sato, Junichi Iwasaki, Takashi Minemura
  • Patent number: 8756379
    Abstract: Various embodiments of the present invention allow concurrent accesses to a cache. A request to update an object stored in a cache is received. A first data structure comprising a new value for the object is created in response to receiving the request. A cache pointer is atomically modified to point to the first data structure. A second data structure comprising an old value for the cached object is maintained until a process, which holds a pointer to the old value of the cached object, at least one of one of ends and indicates that the old value is no longer needed.
    Type: Grant
    Filed: June 24, 2013
    Date of Patent: June 17, 2014
    Assignee: International Business Machines Corporation
    Inventors: Paul M. Dantzig, Robert O. Dryfoos, Sastry S. Duri, Arun Iyengar
  • Publication number: 20140164718
    Abstract: Methods and apparatus for sharing memory between multiple processes of a virtual machine are disclosed. A hypervisor associates a plurality of guest user memory regions with a first domain and assigns each associated user process an address space identifier to protect the different user memory regions from the different user processes. In addition, the hypervisor associates a global kernel memory region with a second domain. The global kernel region is reserved for the operating system of the virtual machine and is not accessible to the user processes, because the user processes do not have access rights to memory regions associated with the second domain. The hypervisor also associates a global shared memory region with a third domain. The hypervisor allows user processes associated with the third domain to access the global shared region.
    Type: Application
    Filed: December 7, 2012
    Publication date: June 12, 2014
    Applicant: Open Kernel Labs, Inc.
    Inventors: Carl Frans van Schaik, Philip Geoffrey Derrin
  • Patent number: 8751754
    Abstract: Embodiments of the present invention provide memory systems having a plurality of memory devices sharing an interface for the transmission of read data. A controller can identify consecutive read requests sent to different memory devices. To avoid data contention on the interface, for example, the controller can be configured to delay the time until read data corresponding to the second read request is placed on the interface.
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: June 10, 2014
    Assignee: Micron Technology, Inc.
    Inventors: Paul A. LaBerge, James B. Johnson
  • Patent number: 8745414
    Abstract: Unsecure system software and secure system software on the same computer system is switched between. A computer system includes one or more processors, which may not have any built-in security features, memory, and firmware. The memory stores secure system software and unsecure system software. In response to receiving a user signal, the firmware switches from the unsecure system software running on the processors to the secure system software running on the processors (and back again). While the unsecure system software is running, the secure system software is protected from tampering by the unsecure system software.
    Type: Grant
    Filed: March 31, 2012
    Date of Patent: June 3, 2014
    Assignee: International Business Machines Corporation
    Inventors: Hassan Hajji, Seiichi Kawano, Takao Moriyama
  • Patent number: 8745308
    Abstract: In a computer system supporting execution of virtualization software and at least one instance of virtual system hardware, an interface is provided into the virtualization software to allow a program to directly define the access characteristics of its program data stored in physical memory. The technique includes providing data identifying memory pages and their access characteristics to the virtualization software which then derives the memory access characteristics from the specified data. Optionally, the program may also specify a pre-defined function to be performed upon the occurrence of a fault associated with access to an identified memory page. In this manner, programs operating both internal and external to the virtualization software can protect his memory pages, without intermediation by the operating system software.
    Type: Grant
    Filed: December 4, 2012
    Date of Patent: June 3, 2014
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Pratap Subrahmanyam
  • Patent number: 8745335
    Abstract: Memory arbiter with latency guarantees for multiple ports. A method of controlling access to an electronic memory includes measuring a latency value indicative of a time difference between origination of an access request from a port of a plurality of ports and a response from the electronic memory. The method also includes calculating a difference between the latency value for the port and a target value associated with the port. The method further includes calculating a running sum of differences for the port covering each of a plurality of access requests. Further, the method includes determining a delta of a priority value for the port based on the running sum of differences. Moreover, the method includes prioritizing the access by the plurality of ports according to associated priority values.
    Type: Grant
    Filed: June 29, 2011
    Date of Patent: June 3, 2014
    Assignee: Synopsys, Inc.
    Inventors: Pieter Van Der Wolf, Marc Jeroen Geuzebroek, Johannes Boonstra
  • Patent number: 8738862
    Abstract: Embodiments related to a transaction program. An aspect includes, based on determining that one instruction is part of an active atomic instruction group (AIG), determining whether a private-to-transaction (PTRAN) bit associated with an address of the one instruction in a main memory is set, the PTRAN bit being located in a main memory comprising a plurality of memory increments each having a respective directly addressable PTRAN bit in the main memory. Another aspect includes, based on determining that the PTRAN bit is not set: setting the PTRAN bit; adding a new entry to a cache structure and a transaction table including an old data state of the address of the one instruction stored in the cache structure and control information stored in the transaction table; and completing the one instruction as part of the active AIG.
    Type: Grant
    Filed: October 23, 2013
    Date of Patent: May 27, 2014
    Assignee: International Business Machines Corporation
    Inventor: Thomas J. Heller, Jr.
  • Patent number: 8738837
    Abstract: The present techniques provide systems and methods of controlling access to more than one open page in a memory component, such as a memory bank. Several components may request access to the memory banks. A controller can receive the requests and open or close the pages in the memory bank in response to the requests. In some embodiments, the controller assigns priority to some components requesting access, and assigns a specific page in a memory bank to the priority component. Further, additional available pages in the same memory bank may also be opened by other priority components, or by components with lower priorities. The controller may conserve power, or may increase the efficiency of processing transactions between components and the memory bank by closing pages after time outs, after transactions are complete, or in response to a number of requests received by masters.
    Type: Grant
    Filed: January 25, 2013
    Date of Patent: May 27, 2014
    Assignee: Micron Technology, Inc.
    Inventor: Robert Walker
  • Patent number: 8732407
    Abstract: Some embodiments of the present invention provide a system that avoids deadlock while attempting to acquire store-marks on cache lines. During operation, the system keeps track of store-mark requests that arise during execution of a thread, wherein a store-mark on a cache line indicates that one or more associated store buffer entries are waiting to be committed to the cache line. In this system, store-mark requests are processed in a pipelined manner, which allows a store-mark request to be initiated before preceding store-mark requests for the same thread complete. Next, if a store-mark request fails, within a bounded amount of time, the system removes or prevents store-marks associated with younger store-mark requests for the same thread, thereby avoiding a potential deadlock that can arise when one or more other threads attempt to store-mark the same cache lines.
    Type: Grant
    Filed: November 19, 2008
    Date of Patent: May 20, 2014
    Assignee: Oracle America, Inc.
    Inventors: Robert E. Cypher, Haakan E. Zeffer, Shailender Chaudhry