Patents Examined by Jasmine Song
  • Patent number: 9355030
    Abstract: Embodiments of the invention provide a method and system for dynamic memory management implemented in hardware. In an embodiment, the method comprises storing objects in a plurality of heaps, and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heaps and marks selected objects, uses the marks to identify a plurality of the objects, and frees the identified objects. In an embodiment, the method comprises storing objects in a heap, each of at least some of the objects including a multitude of pointers; and operating a hardware garbage collector to free heap space. The hardware garbage collector traverses the heap, using the pointers of some of the objects to identify others of the objects; processes the objects to mark selected objects; and uses the marks to identify a group of the objects, and frees the identified objects.
    Type: Grant
    Filed: June 6, 2014
    Date of Patent: May 31, 2016
    Assignee: International Business Machines Corporation
    Inventors: David F. Bacon, Perry S. Cheng, Sunil K. Shukla
  • Patent number: 9348521
    Abstract: A semiconductor storage device and a method of throttling performance of the same are provided. The semiconductor storage device includes a non-volatile memory device; and a controller configured to receive a write command from a host and program write data received from the host to the non-volatile memory device in response to the write command. The controller inserts idle time after receiving the write data from the host and/or after programming the write data to the non-volatile memory device.
    Type: Grant
    Filed: October 2, 2014
    Date of Patent: May 24, 2016
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Han-Bin Yoon, Yeong-jae Woo, Dong-gi Lee, Kwang-Ho Kim, Hyuck-Sun Kwon
  • Patent number: 9342449
    Abstract: Systems and methods are provided for storing data to or reading data from a non-volatile memory (“NVM”), such as flash memory, using a metadata redundancy scheme. In some embodiments, an electronic device, which includes an NVM, may also include a memory interface for controlling access to the NVM. The memory interface may receive requests to write user data to the NVM. The user data from each request may be associated with metadata, such as a logical address, flags, or other data. In response to a write request, the NVM interface may store the user data and its associated metadata in a first memory location (e.g., page), and may store a redundant copy of the metadata in a second memory location. This way, even if the first memory location becomes inaccessible, the memory interface can still recover the metadata from the backup copy stored in the second memory location.
    Type: Grant
    Filed: June 22, 2015
    Date of Patent: May 17, 2016
    Assignee: APPLE INC.
    Inventors: Daniel J. Post, Vadim Khmelnitsky, Nir Jacob Wakrat
  • Patent number: 9329792
    Abstract: A storage system includes a plurality of storage modules. Each storage module may be interconnected by a module interconnect switch and may include a memory, a central processing unit, a cache, and a plurality of storage devices. Storage space may be reclaimed in the storage system by a storage module requesting a copy of a file system bitmap, receiving a request to write data to a partition of the storage module, updating a write table to indicate the partition write, querying the copy of the file system bitmap and the write table to determine if the partition has been written to and if the partition may be reclaimed, and reclaiming the partition for subsequent reallocation and reuse.
    Type: Grant
    Filed: January 14, 2014
    Date of Patent: May 3, 2016
    Assignee: International Business Machines Corporation
    Inventors: Itzhack Goldberg, Neil Sondhi
  • Patent number: 9329794
    Abstract: Method and system for migrating information from a source storage to a destination storage is provided. The method includes (a) receiving a migration request to migrate information from the source storage to the destination storage; wherein a router receives the migration request; (b) placing a reservation on the source storage such that no other system can write to the source storage, once the migration of information from the source storage to the destination storage is initiated; wherein the router sends a reservation request to a system that manages the source storage and the system grants the reservation request to the router; (c) migrating information from the source storage to the destination storage, while the reservation is placed on the source storage; and (d) releasing the reservation after migration is completed in step (c).
    Type: Grant
    Filed: January 21, 2010
    Date of Patent: May 3, 2016
    Assignee: QLOGIC, Corporation
    Inventor: Bhavik Shah
  • Patent number: 9329986
    Abstract: Techniques are presented to operate a greater number of dice in parallel while not exceeding peak current limits. The device can arbitrate between multiple dice and, when needed, suspend operations on one or more dice in a way to average the chance of performance penalty so that all chips will proceed with write at an equal probability. In other aspects, the suspension of operations can be weighted based on factors such as the relative speed of the different dice or differing loads.
    Type: Grant
    Filed: March 5, 2013
    Date of Patent: May 3, 2016
    Assignee: SanDisk Technologies Inc.
    Inventors: Yan Li, Yacov Duzly, Frank Wanfang Tsai, Alon Marcu
  • Patent number: 9323612
    Abstract: Mixed-granularity higher-level redundancy for NVM provides improved higher-level redundancy operation with better error recovery and/or reduced redundancy information overhead. For example, pages of the NVM that are less reliable, such as relatively more prone to errors, are operated in higher-level redundancy modes having relatively more error protection, at a cost of relatively more redundancy information. Concurrently, blocks of the NVM that are more reliable are operated in higher-level redundancy modes having relatively less error protection, at a cost of relatively less redundancy information. Compared to techniques that operate the entirety of the NVM in the higher-level redundancy modes having relatively less error protection, techniques described herein provide better error recovery. Compared to techniques that operate the entirety of the NVM in the higher-level redundancy modes having relatively more error protection, the techniques described herein provide reduced redundancy information overhead.
    Type: Grant
    Filed: October 6, 2014
    Date of Patent: April 26, 2016
    Inventors: Zhengang Chen, Yunxiang Wu
  • Patent number: 9323664
    Abstract: Examples are disclosed for identifying read/write access collisions for a storage medium. In some examples, a plurality of write access requests for access to a storage medium may be received at a controller for a storage medium. The plurality of write access requests may be associated with separate logical block address (LBA) ranges. The separate write LBA ranges may be stored to sets of first registers. A read access request to the storage medium may also be received and a read LBA range associated with the read access request may be stored to a set of second registers. The separate stored write LBA ranges may then be compared to the read LBA range to identify overlapping ranges that may indicate read/write access collisions to the storage medium. Other examples are described and claimed.
    Type: Grant
    Filed: July 23, 2013
    Date of Patent: April 26, 2016
    Assignee: INTEL CORPORATION
    Inventors: Jason K. Yu, Jawad B. Khan, Joerg Hartung, Richard P. Mangold
  • Patent number: 9317433
    Abstract: Some of the embodiments of the present disclosure provide a multi-core processing system configured to selectively enter a dormant mode, comprising: a plurality of processing cores; a plurality of cache memories, wherein a cache memory is associated with one or more corresponding processing cores; and a coherency fabric configured to transmit snoop commands to the respective caches to maintain data coherency in data stored in the respective caches, the coherency fabric comprising: a queue configured to intercept and store snoop commands that are directed to a first cache when a first processing core associated with the first cache is in the dormant mode.
    Type: Grant
    Filed: January 13, 2014
    Date of Patent: April 19, 2016
    Assignee: Marvell Israel (M.I.S.L.) Ltd.
    Inventors: Eitan Joshua, Tawfik Bayouk
  • Patent number: 9304920
    Abstract: A multiprocessor system or a system of hardware accelerators is provided to reduce cache ping-ponging and to provide improved single producer single consumer (SPSC) queues and methods. The systems are configured for specifying separate cache attributes for inner (e.g., local) cache and outer (e.g., shared) cache for promoting lower system overhead. Separate cache attributes are specified such that shared variables are cacheable only in a cache level shared by multiple processors.
    Type: Grant
    Filed: June 3, 2013
    Date of Patent: April 5, 2016
    Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
    Inventor: Robert J. Munoz
  • Patent number: 9304926
    Abstract: A coherent memory system includes a plurality of level 1 cache memories 6 connected via interconnect circuitry 18 to a level 2 cache memory 8. Coherency control circuitry 10 manages coherency between lines of data. Evict messages from the level 1 cache memories to the coherency control circuitry 10 are sent via the read address channel AR. Read messages are also sent via the read address channel AR. The read address channel AR is configured such that a read message may not be reordered relative to an evict message. The coherency control circuitry 10 is configured such that a read message will not be processed ahead of an evict message. The level 1 cache memories 6 do not track in-flight evict messages. No acknowledgement of an evict message is sent from the coherency control circuitry 10 back to the level 1 cache memory 6.
    Type: Grant
    Filed: July 23, 2013
    Date of Patent: April 5, 2016
    Assignee: ARM Limited
    Inventors: Ian Bratt, Mladen Wilder, Ole Henrik Jahren
  • Patent number: 9304750
    Abstract: A system and method are described for a memory management processor which, using a table of reference addresses embedded in the object code, can open the appropriate memory pages to expedite the retrieval of information from memory referenced by instructions in the execution pipeline. A suitable compiler parses the source code and collects references to branch addresses, calls to other routines, or data references, and creates reference tables listing the addresses for these references at the beginning of each routine. These tables are received by the memory management processor as the instructions of the routine are beginning to be loaded into the execution pipeline, so that the memory management processor can begin opening memory pages where the referenced information is stored. Opening the memory pages where the referenced information is located before the instructions reach the instruction processor helps lessen memory latency delays which can greatly impede processing performance.
    Type: Grant
    Filed: January 11, 2010
    Date of Patent: April 5, 2016
    Assignee: Micron Technology, Inc.
    Inventor: Dean A. Klein
  • Patent number: 9298373
    Abstract: A storage controller configures a plurality of storage tiers. A sub-unit of a storage unit is maintained in a selected storage tier of the plurality of storage tiers, for at least a predetermined duration of time subsequent to an input/output (I/O) request for the sub-unit.
    Type: Grant
    Filed: January 13, 2014
    Date of Patent: March 29, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bradley S. Powers, Gail A. Spear, Teena N. Werley
  • Patent number: 9286202
    Abstract: Embodiments of the present invention provide a method comprising performing an operation on a first flash drive of a plurality of flash drives configured in a parallel flash drive architecture, wherein the operation occupies a flash controller corresponding to the first flash drive, sending a signal to a processor coupled with the parallel flash drive architecture to indicate that the flash controller is occupied, and writing data to two or more of the plurality of flash drives, other than the first flash drive, by striping the data amongst the two or more of the plurality of flash drives in response to the signal to the processor. Other embodiments may be described and/or claimed.
    Type: Grant
    Filed: March 12, 2009
    Date of Patent: March 15, 2016
    Assignee: Marvell International Ltd.
    Inventors: Wei Zhou, Chee Hoe Chu, Po-Chien Chang
  • Patent number: 9268685
    Abstract: According to one embodiment, a virtual block is constructed according to configuration conditions that, when a plurality of physical blocks included in the virtual block are selected, the sum of the number of physical block pairs and the number of single blocks allocated from the same memory chip to one virtual block is less than or equal to a first value.
    Type: Grant
    Filed: July 29, 2013
    Date of Patent: February 23, 2016
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Naomi Takeda, Hiroshi Yao, Arata Miyamoto, Yu Nakanishi, Daisuke Iwai
  • Patent number: 9256552
    Abstract: In an embodiment, a data processing method comprises, in a computer executing a supervisor program: the supervisor program establishing a plurality of different memory access permissions comprising any combination of read, write, and execute permissions for one or more different regions of memory of a first domain; setting the memory access permissions of a first set of the regions of memory to execute only; in response to a request from a process to read or write a particular region of memory in the first set, performing one or more responsive actions that prevent the process from reading or modifying one or more instructions or one or more embedded immediate values of the particular region of memory. Embodiments provide selective access to executable memory.
    Type: Grant
    Filed: November 21, 2012
    Date of Patent: February 9, 2016
    Assignee: CISCO TECHNOLOGY, INC.
    Inventor: Joe Epstein
  • 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: 9251061
    Abstract: In one embodiment of the invention, a memory module is disclosed including a printed circuit board with an edge connector; an address controller coupled to the printed circuit board; and a plurality of memory slices. Each of the plurality of memory slices of the memory module includes one or more memory integrated circuits coupled to the printed circuit board, and a slave memory controller coupled to the printed circuit board and the one or more memory integrated circuits. The slave memory controller receives memory access requests for the memory module from the address controller. The slave memory controller selectively activates one or more of the one or more memory integrated circuits in the respective memory slice in response to the address received from the address controller to read data from or write data into selected memory locations in the memory integrated circuits.
    Type: Grant
    Filed: September 2, 2013
    Date of Patent: February 2, 2016
    Assignee: Virident Systems, Inc.
    Inventors: Vijay Karamcheti, Kumar Ganapathy
  • Patent number: 9244622
    Abstract: A storage system 100, which has a plurality of flash packages 230, has a function for minimizing the imbalance of the number of deletions of each block inside the flash package 230 and a block-unit capacity virtualization function, and efficiently manifests lessening of the imbalance of the number of deletions and reduction in the data storage capacity for the entire storage system 100 by having functions for calculating the number of deletions and the data occupancy of each flash package 230, and for transferring data between the flash packages 230 on the basis of the values of these number of deletions and data occupancy.
    Type: Grant
    Filed: December 12, 2014
    Date of Patent: January 26, 2016
    Assignee: Hitachi, Ltd.
    Inventors: Akira Yamamoto, Sadahiro Sugimoto, Akihiko Araki, Masayuki Yamamoto
  • Patent number: 9235346
    Abstract: Described embodiments provide a solid-state drive (SSD) including a media controller and a solid-state media. A control processor of the media controller determines a logical address, a transfer size, and map data based on the logical address and transfer size, associated with a read request received from a host device. Based on the logical address and a sequential zone defined based on one or more previous read requests, the control processor determines whether the received read request is a sequential read. A map data pre-fetch size is adjusted based on the transfer size of the received read request and whether the received read request is a sequential read. A corresponding portion of the map data is transferred from the solid-state media to a map cache coupled to the control processor, the transferred portion having a size equal to the adjusted map data pre-fetch size.
    Type: Grant
    Filed: December 3, 2013
    Date of Patent: January 12, 2016
    Assignee: Avago Technologies General IP (Singapore) PTE. LTD.
    Inventors: Leonid Baryudin, Zhiqing Zhang, Xin Song, Yun Shun Tan, Lin Feng Chen