Using Tables Or Multilevel Address Translation Means (epo) Patents (Class 711/E12.014)
  • Patent number: 11257543
    Abstract: A memory management circuit stores information indicative of reliability-types of regions of a memory array. The memory management circuitry responds to a request to allocate memory in the memory array to a process by determining a request type associated with the request to allocate memory. Memory of the memory array is allocated to the process based on the request type associated with the request to allocate memory and the stored information indicative of reliability-types of regions of the memory array. The memory array may be a shared memory array. The memory array may be organized into rows and columns, and the regions of the memory array may be the rows of the memory array.
    Type: Grant
    Filed: June 5, 2020
    Date of Patent: February 22, 2022
    Assignee: STMicroelectronics International N.V.
    Inventors: Nitin Chawla, Tanmoy Roy, Anuj Grover
  • Patent number: 10838086
    Abstract: Disclosed herein is a radiation detector, comprising: a radiation absorption layer configured to absorb a radiation; a plurality of counters each associated with a bin and configured to register a number of particles of the radiation particles absorbed by the detector; a memory comprising a plurality of units, which can be dynamically allocated to the counters.
    Type: Grant
    Filed: November 9, 2018
    Date of Patent: November 17, 2020
    Assignee: SHENZHEN XPECTVISION TECHNOLOGY CO., LTD.
    Inventors: Peiyan Cao, Yurun Liu
  • Patent number: 10628080
    Abstract: A memory controller includes: a memory access control circuit which receives a write command and write data from a processor and controls a writing operation to a memory; and a number-of-writing-operations control circuit which performs control to execute the writing operation to the memory multiple times, based on the write command and the write data.
    Type: Grant
    Filed: January 31, 2018
    Date of Patent: April 21, 2020
    Assignee: FUJITSU LIMITED
    Inventor: Yasutomo Sakurai
  • Patent number: 10579540
    Abstract: A system and method for improving storage system operation is disclosed. A storage system includes a first tier with high-performance redundancy and a second tier with capacity efficient redundancy. The first tier and the second tier are built from the same storage devices in a storage pool so each storage device includes both the first and second tiers. The storage system stores write data initially to the first tier. When demand for the data falls below a threshold, the storage system migrates the write data to the second tier. This is done by changing the mapping of underlying physical locations on the storage devices where the write data is stored so that the underlying physical locations are logically associated with the second tier instead of the first tier. After remapping, the storage system also computes parity information for the migrated write data and stores it in the second tier.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: March 3, 2020
    Assignee: NETAPP, INC.
    Inventors: Brian D. McKean, Arindam Banerjee, Kevin Kidney
  • Patent number: 10545687
    Abstract: A method for rebuilding data when changing erase block sizes in a storage system is provided. The method includes determining one or more erase blocks to be rebuilt and allocating one or more replacement erase blocks, wherein the one or more erase blocks and the one or more replacement erase blocks have differing erase block sizes. The method includes mapping logical addresses, for the one or more erase blocks, to the one or more replacement erase blocks and rebuilding the one or more erase blocks into the one or more replacement erase blocks, in accordance with the mapping.
    Type: Grant
    Filed: October 31, 2017
    Date of Patent: January 28, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Andrew R. Bernat, Timothy W. Brennan, Mark L. McAuliffe, Neil Buda Vachharajani
  • Patent number: 10521233
    Abstract: In an electronic control unit, an important process includes several instructions that are successively executed and contain no branch instruction. Each of the instructions is stored in each of storage areas of memory according to an execution sequence. The storage areas are respectively assigned addresses that vary in increments of a specified value according to the execution sequence. The important process stores, in an expected value counter, a value of a program counter when control transitions to the important process. If a comparison result indicates a difference between the value of the program counter and a value of the expected value counter, an occurrence of an error is determined.
    Type: Grant
    Filed: February 18, 2015
    Date of Patent: December 31, 2019
    Assignee: DENSO CORPORATION
    Inventors: Katsuhiro Koike, Masayuki Kobayashi, Masahiko Horiguchi
  • Patent number: 10409559
    Abstract: A method for software compilation is disclosed. A compiler may identify features of source code which are unavailable in a target environment for the compilation. The compiler may then translate the identified features into modified features in response to determining that projections for the identified features into the target environment are available. The compiler may then compile the source code dependent upon the modified features.
    Type: Grant
    Filed: March 18, 2016
    Date of Patent: September 10, 2019
    Assignee: Oracle International Corporation
    Inventors: Brian Goetz, Maurizio Cimadamore
  • Patent number: 10200421
    Abstract: Systems and methods are provided for creating shared virtual spaces using a client device. For example, the disclosed systems receive a request from a user to share one or more digital content items with other users via a shared virtual space. The disclosed systems queue a request to send data to a content management system to create the shared virtual space. In some instances, the disclosed systems can determine that a connection between a user's client device and the content management system is below a threshold connectivity, and then simulate an online experience for the user despite the poor connection.
    Type: Grant
    Filed: July 11, 2016
    Date of Patent: February 5, 2019
    Assignee: DROPBOX, INC.
    Inventors: Nils Peter Welinder, Thomas Kleinpeter, Thomas Wright, Ramesh Balakrishnan, Tina Wen, Rajeev Nayak
  • Patent number: 10013359
    Abstract: A redundant disk array method includes allocating identically sized logical blocks of storage units together to form a stripe on each of several data storage devices, at least two of the logical blocks in the stripe being located on different data storage devices, generating a lookup table representing a mapping between a logical location of each logical block in the stripe and a physical location of the respective logical block on the corresponding data storage device, and writing data to the physical locations of each logical block in the stripe, the physical locations being obtained from the lookup table. In some cases, at least two of the data storage devices are heterogeneous, and at least two of the data storage devices have a different total number of logical blocks.
    Type: Grant
    Filed: December 18, 2015
    Date of Patent: July 3, 2018
    Assignee: University of New Hampshire
    Inventors: András Krisztián Fekete, Elizabeth Varki
  • Patent number: 9961149
    Abstract: Systems, methods, and non-transitory computer readable media are provided for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections. In exemplary embodiments, content added by a user to his or her account locally on a user device may be displayed, and all interactivity therewith may be facilitated, as if the content had already been created on the content management system. In content management system applications that support shared virtual spaces, changes made by the user from his or her user device to the shared virtual space (including creation of a new shared virtual space) may be displayed locally as soon as the change has been made, not waiting for the information to be transmitted to the server or its state to be made consistent with that of the mobile device.
    Type: Grant
    Filed: October 26, 2016
    Date of Patent: May 1, 2018
    Assignee: DROPBOX, INC.
    Inventors: Stephen Poletto, Nils Peter Welinder, Anthony Grue
  • Patent number: 9892033
    Abstract: A method for memory management, the method may include calculating, by a memory controller, an estimate of an effect of read operations on a first flash memory entity; and performing, by the memory controller, at least one memory management operation in response to the estimate of the effect of read operations on the first flash memory entity.
    Type: Grant
    Filed: June 24, 2014
    Date of Patent: February 13, 2018
    Assignee: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
    Inventor: Erez Sabbag
  • Patent number: 9672107
    Abstract: Managing data stored in a Data Storage Device (DSD) including a plurality of disk surfaces for storing data. Head mapping information is received from the DSD associating addresses for data with different disk surfaces of the plurality of disk surfaces, and data is stored on a first disk surface of the plurality of disk surfaces. Redundant data for the data stored on the first disk surface is stored on a second disk surface of the plurality of disk surfaces using the head mapping information.
    Type: Grant
    Filed: February 11, 2015
    Date of Patent: June 6, 2017
    Assignee: Western Digital Technologies, Inc.
    Inventor: Robert L. Horn
  • Patent number: 9448925
    Abstract: A semiconductor storage device includes: a storage; an address translater configured to translate a logical address for access to the storage to a physical address based on address translation information; and a controller configured to output the address translation information to the address translater, wherein the controller, when the address translation information is changed, interchanges a first physical address based on first address translation information before the change and a second physical address based on second address translation information after the change in the storage.
    Type: Grant
    Filed: June 3, 2014
    Date of Patent: September 20, 2016
    Assignee: FUJITSU LIMITED
    Inventor: Seiki Shibata
  • Patent number: 9009445
    Abstract: A system and method for efficiently handling translation look-aside buffer (TLB) misses. A memory management unit (MMU) detects when a given virtual address misses in each available translation-lookaside-buffer (TLB). The MMU determines whether a memory access operation associated with the given virtual address is the oldest, uncompleted memory access operation in a scheduler. If this is the case, a demand table walk (TW) request may be stored in an available entry in a TW queue. During this time, the utilization of the memory subsystem resources may be low. While a demand TW request is stored in the TW queue, subsequent speculative TW requests may be stored in the TW queue. When the TW queue does not store a demand TW request, no more entries of the TW queue may be allocated to store TW requests.
    Type: Grant
    Filed: October 20, 2011
    Date of Patent: April 14, 2015
    Assignee: Apple Inc.
    Inventor: Jesse Pan
  • Patent number: 8984252
    Abstract: Data is added to a data set to cause a growth in size of the data set, wherein the data set belongs to a storage group, and wherein the data set is comprised of extents. The data set is included into a new storage group, in response to determining that the growth in the size of the data set has caused a predetermined threshold for a size limit of the storage group to be exceeded. The extents of the data set are restructured to satisfy a predetermined condition on the extents of the data set, in response to determining that the growth in the size of the data set has caused the predetermined condition on the extents included in the data set to be not satisfied.
    Type: Grant
    Filed: January 22, 2009
    Date of Patent: March 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Kyle Barret Dudgeon, Miguel Angel Perez, David Charles Reed, Max Douglas Smith
  • Patent number: 8972664
    Abstract: Embodiments relate to accessing a cache line on a multi-level cache system having a system memory. Based on a request for exclusive ownership of a specific cache line at the local node, requests are concurrently sent to the system memory and remote nodes of the plurality of nodes for the specific cache line by the local node. The specific cache line is found in a specific remote node. The specific remote node is one of the remote nodes. The specific cache line is removed from the specific remote node for exclusive ownership by another node. Based on the specified node having the specified cache line in ghost state, any subsequent fetch request is initiated for the specific cache line from the specific node encounters the ghost state. When the ghost state is encountered, the subsequent fetch request is directed only to nodes of the plurality of nodes.
    Type: Grant
    Filed: March 11, 2013
    Date of Patent: March 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Timothy C. Bronson, Garrett M. Drapala, Michael A. Blake, Craig R. Walters, Pak-Kin Mak
  • Patent number: 8935507
    Abstract: A system and method for providing high-speed memory operations is disclosed. The technique uses virtualization of memory space to map a virtual address space to a larger physical address space wherein no memory bank conflicts will occur. The larger physical address space is used to prevent memory bank conflicts from occurring by storing a second encoded copy of data in a multi-port XOR memory bank.
    Type: Grant
    Filed: August 5, 2013
    Date of Patent: January 13, 2015
    Assignee: Memoir Systems, Inc.
    Inventors: Sundar Iyer, Shang-Tse Chuang
  • Patent number: 8930672
    Abstract: A multiprocessor using a shared virtual memory (SVM) is provided. The multiprocessor includes a plurality of processing cores and a memory manager configured to transform a virtual address into a physical address to allow a processing core to access a memory region corresponding to the physical address.
    Type: Grant
    Filed: March 29, 2011
    Date of Patent: January 6, 2015
    Assignees: SNU R&DB Foundation, Samsung Electronics Co., Ltd.
    Inventors: Choon-Ki Jang, Jaejin Lee, Soo-Jung Ryu, Bernhard Egger, Yoon-Jin Kim, Woong Seo, Young-Chul Cho
  • Patent number: 8918587
    Abstract: Embodiments relate to accessing a cache line on a multi-level cache system having a system memory. Based on a request for exclusive ownership of a specific cache line at the local node, requests are concurrently sent to the system memory and remote nodes of the plurality of nodes for the specific cache line by the local node. The specific cache line is found in a specific remote node. The specific remote node is one of the remote nodes. The specific cache line is removed from the specific remote node for exclusive ownership by another node. Based on the specified node having the specified cache line in ghost state, any subsequent fetch request is initiated for the specific cache line from the specific node encounters the ghost state. When the ghost state is encountered, the subsequent fetch request is directed only to nodes of the plurality of nodes.
    Type: Grant
    Filed: June 13, 2012
    Date of Patent: December 23, 2014
    Assignee: International Business Machines Corporation
    Inventors: Timothy C. Bronson, Garrett M. Drapala, Michael A. Blake, Craig R. Walters, Pak-Kin Mak
  • Patent number: 8914575
    Abstract: A virtualization technique, in accordance with one embodiment of the present invention, includes emulating the small computing system interface (SCSI) protocol to access a virtual SCSI storage device backed by a file stored on network attached storage (NAS).
    Type: Grant
    Filed: May 14, 2013
    Date of Patent: December 16, 2014
    Assignee: VMware, Inc.
    Inventors: Michael Nelson, Hao Xu, Daniel J. Scales, Matthew B. Amdur
  • Patent number: 8843726
    Abstract: A cache is provided, including a data array having a plurality of entries configured to store a plurality of different types of data, and a tag array having a plurality of entries and configured to store a tag of the data stored at a corresponding entry in the data array and further configured to store an identification of the type of data stored in the corresponding entry in the data array.
    Type: Grant
    Filed: February 21, 2011
    Date of Patent: September 23, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventor: Douglas Hunt
  • Patent number: 8756361
    Abstract: A disk drive is disclosed comprising a head actuated over a rotatable disk. A write operation is processed to write data on the disk using the head, wherein prior to writing the data on the disk, logical-to-physical mapping information is stored in a circular buffer, wherein the logical-to-physical mapping information identifies locations on the disk to write the data. A plurality of metadata files are written on the disk using the head, wherein the plurality of metadata files are interspersed with the data on the disk and each of the metadata files includes contents of the circular buffer at a time the metadata file is written on the disk. When the write operation is aborted, the logical-to-physical mapping information in the circular buffer is modified to identify the locations on the disk actually written.
    Type: Grant
    Filed: June 22, 2011
    Date of Patent: June 17, 2014
    Assignee: Western Digital Technologies, Inc.
    Inventors: Marcus A. Carlson, David C. Pruett
  • Patent number: 8745357
    Abstract: A method and a corresponding apparatus provide for remapping for wear leveling of a memory. The method is implemented as logic and includes the steps of receiving a memory operation, the memory operation including a logical memory address; dividing the logical address into a logical block address portion, a logical line address portion, and a logical subline address portion; translating the logical block address portion into a physical block address; selecting a line remap key; applying the line remap key to the logical line address portion to produce a physical line address; producing a physical subline address portion; and combining the physical block, line, and subline address portions to produce a physical address for the memory operation.
    Type: Grant
    Filed: November 30, 2009
    Date of Patent: June 3, 2014
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Joseph A. Tucek, Eric A. Anderson
  • Patent number: 8738845
    Abstract: Concepts for enhancing operation of transaction-safe file allocation table systems are described. The concepts include writing a file to non-volatile memory media and rendering an update of file size to the TFAT storage medium; and receiving a request to locate data in a non-volatile memory having a TFAT file management system, selecting a sector of the memory to parse to locate the data, determining when the selected sector is a first sector of a directory or subdirectory of the memory and when determining reveals that the selected sector is a first sector, skipping reading data from the selected sector. The concepts also include flushing a cache and synchronizing FATs.
    Type: Grant
    Filed: September 19, 2011
    Date of Patent: May 27, 2014
    Assignee: Microsoft Corporation
    Inventors: Sachin Patel, Yadhu N. Gopalan
  • Patent number: 8671265
    Abstract: An access request including a client address for data is received. A metadata server determines a mapping between the client address and storage unit identifiers for the data. Each of the one or more storage unit identifiers uniquely identifies content of a storage unit and the metadata server stores mappings on storage unit identifiers that are referenced by client addresses. The one or more storage unit identifiers are sent to one or more block servers. The one or more block servers service the request using the one or more storage unit identifiers where the one or more block servers store information on where a storage unit is stored on a block server for a storage unit identifier. Also, multiple client addresses associated with a storage unit with a same storage unit identifier are mapped to a single storage unit stored in a storage medium for a block server.
    Type: Grant
    Filed: March 4, 2011
    Date of Patent: March 11, 2014
    Assignee: SolidFire, Inc.
    Inventor: David D. Wright
  • Patent number: 8578127
    Abstract: An apparatus, system, and method are disclosed for allocating non-volatile storage. The storage device may present a logical address, which may exceed a physical storage capacity of the device. The storage device may allocate logical capacity in the logical address space. An allocation request may be allowed when there is sufficient unassigned and/or unallocated logical capacity to satisfy the request. Data may be stored on the non-volatile storage device by requesting physical storage capacity. A physical storage request, such as a storage request or physical storage reservation, when there is sufficient available physical storage capacity to satisfy the request. The device may maintain an index to associate logical identifiers (LIDs) in the logical address space with storage locations on the storage device. This index may be used to make logical capacity allocations and/or to manage physical storage space.
    Type: Grant
    Filed: September 9, 2010
    Date of Patent: November 5, 2013
    Assignee: Fusion-io, Inc.
    Inventors: Jonathan Thatcher, David Flynn
  • Patent number: 8578118
    Abstract: An implantable medical device and associated method store physiological data in response to detecting a physiological event. The medical device includes multiple first memory locations allocated to each of a number of physiological event types and a second single memory location allocated for storing entries of physiological signal data corresponding to each of the plurality of physiological event types.
    Type: Grant
    Filed: April 26, 2007
    Date of Patent: November 5, 2013
    Assignee: Medtronic, Inc.
    Inventors: Karen J. Kleckner, Paul G. Krause, Traci K. Washburn, Melinda A. Kolstad
  • Patent number: 8572352
    Abstract: System for controlling data transfer between a host system and storage devices. A virtualization controller implements the data transfer and includes first ports for connection with the storage devices, a second port for connection with the host system, a processor, and a memory configured to store volume mapping information which correlates first identification information used by the host system to access a first storage area in one of the storage devices, with second identification information for identifying the first storage area, the correlation being used by the processor to access the first storage area. When data stored in the first storage area is transferred to a second storage area, the processor correlates the first identification information with a third identification information for identifying the second storage area and registers the first identification information and the third identification information in the volume mapping information.
    Type: Grant
    Filed: May 22, 2012
    Date of Patent: October 29, 2013
    Assignee: Hitachi, Ltd.
    Inventors: Kiyoshi Honda, Naoko Iwami, Kazuyoshi Serizawa
  • Patent number: 8566511
    Abstract: A solid-state storage device with multi-level addressing is provided. The solid-state storage device includes a plurality of flash memory devices, a volatile memory, and a controller. The controller is configured to store data received from a host in the plurality of flash memory devices in response to a write command and to read the data stored in the plurality of flash memory devices in response to a read command. The controller is further configured to maintain a multi-level address table that maps logical addresses received from the host identifying the data stored in the plurality of flash memory devices to physical addresses in the plurality of flash memory devices containing the data. A first level of the multi-level address table is maintained by the controller in the volatile memory and second and third levels of the multi-level address table are maintained by the controller in the plurality of flash memory devices.
    Type: Grant
    Filed: July 23, 2010
    Date of Patent: October 22, 2013
    Assignee: STEC, Inc.
    Inventors: Mohammadali Tootoonchian, Mark Moshayedi
  • Patent number: 8566536
    Abstract: A technique for directly sharing physical memory between processes executing on processor cores is described. The technique includes loading a plurality of processes into the physical memory for execution on a corresponding plurality of processor cores sharing the physical memory. An address space is mapped to each of the processes by populating a first entry in a top level virtual address table for each of the processes. The address space of each of the processes is cross-mapped into each of the processes by populating one or more subsequent entries of the top level virtual address table with the first entry in the top level virtual address table from other processes.
    Type: Grant
    Filed: September 1, 2009
    Date of Patent: October 22, 2013
    Assignee: Sandia Corporation
    Inventors: Ronald B. Brightwell, Kevin Pedretti, Trammell B. Hudson
  • Patent number: 8560758
    Abstract: In one embodiment, a mechanism for out-of-synch virtual machine memory management optimization is disclosed. In one embodiment, a method for out-of-synch virtual machine memory management optimization includes receiving a memory management unit (MMU) synchronization event issued from a VM virtualized by a VM monitor (VMM) of a host server device, and synchronizing one or more unsynchronized page tables (PTs) of a shadow PT hierarchy maintained by the VMM with one or more corresponding guest PTs of a guest PT hierarchy maintained by the VM, wherein the one or more unsynchronized PTs include an unlimited number of unsynchronized PTs in a visible address space of the shadow PT hierarchy that is determined by a current CR3 register address of the shadow PT hierarchy.
    Type: Grant
    Filed: August 24, 2009
    Date of Patent: October 15, 2013
    Assignee: Red Hat Israel, Ltd.
    Inventors: Avi Kivity, Marcelo Tosatti
  • Patent number: 8504796
    Abstract: A system and method for providing high-speed memory operations is disclosed. The technique uses virtualization of memory space to map a virtual address space to a larger physical address space wherein no memory bank conflicts will occur. The larger physical address space is used to prevent memory bank conflicts from occurring by moving the virtualized memory addresses of data being written to memory to a different location in physical memory that will eliminate a memory bank conflict. A changeable mapping table that maps the virtualized memory addresses to physical memory addresses is stored in the same memory system.
    Type: Grant
    Filed: August 8, 2012
    Date of Patent: August 6, 2013
    Assignee: Memoir Systems, Inc.
    Inventors: Sundar Iyer, Shang-Tse Chuang
  • Patent number: 8499117
    Abstract: A method for writing and reading data in memory cells, comprises the steps of: defining a virtual memory, defining write commands and read commands of data (DT) in the virtual memory, providing a first nonvolatile physical memory zone (A1), providing a second nonvolatile physical memory zone (A2), and, in response to a write command of an initial data, searching for a first erased location in the first memory zone, writing the initial data (DT1a) in the first location (PB1(DPP0)), and writing, in the metadata (DSC0) an information (DS(PB1)) allowing the first location to be found and an information (LPA, DS(PB1)) forming a link between the first location and the location of the data in the virtual memory.
    Type: Grant
    Filed: September 21, 2010
    Date of Patent: July 30, 2013
    Assignee: STMicroelectronics (Rousset) SAS
    Inventor: Hubert Rousseau
  • Patent number: 8484414
    Abstract: The storage system comprises a plurality of flash packages configuring one or more RAID groups, and a controller coupled to the plurality of flash packages. Each flash package comprises a plurality of flash chips configured from a plurality of physical blocks. The controller identifies a target area related to an unnecessary area, unmaps a physical block allocated to a logical block belonging to this target area from this logical block, and manages the unmapped physical block as a free block.
    Type: Grant
    Filed: August 31, 2009
    Date of Patent: July 9, 2013
    Assignee: Hitachi, Ltd.
    Inventors: Sadahiro Sugimoto, Akira Yamamoto, Masayuki Yamamoto, Akihiko Araki
  • Patent number: 8443139
    Abstract: A virtualization technique, in accordance with one embodiment of the present invention, includes emulating the small computing system interface (SCSI) protocol to access a virtual SCSI storage device backed by a file stored on network attached storage (NAS).
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: May 14, 2013
    Assignee: VMware, Inc.
    Inventors: Michael Nelson, Hao Xu, Daniel J. Scales, Matthew B. Amdur
  • Patent number: 8402215
    Abstract: This invention is intended for the purpose of providing the storage system, the storage apparatus, and the storage system by which, even if the storage areas allocated to the virtual volume are managed in management units set by the RAID group, overhead for parity calculation does not become excessive. This invention, by releasing a specific management unit not fully utilized for page allocation from allocation to the virtual volume and migrating the allocated pages belonging to this specific management unit to the other management unit, makes the storage areas of the specific management unit available for the write accesses for the other virtual volumes from the host computer.
    Type: Grant
    Filed: October 15, 2009
    Date of Patent: March 19, 2013
    Assignee: Hitachi, Ltd.
    Inventors: Yoichi Mizuno, Yoshinori Ohira
  • Patent number: 8402247
    Abstract: Described herein are method and apparatus for using an LLRRM device as a storage device in a storage system. At least three levels of data structures may be used to remap storage system addresses to LLRRM addresses for read requests, whereby a first-level data structure is used to locate a second-level data structure corresponding to the storage system address, which is used to locate a third-level data structure corresponding to the storage system address. An LLRRM address may comprise a segment number determined from the second-level data structure and a page number determined from the third-level data structure. Update logs may be produced and stored for each new remapping caused by a write request. An update log may specify a change to be made to a particular data structure. The stored update logs may be performed on the data structures upon the occurrence of a predetermined event.
    Type: Grant
    Filed: March 7, 2012
    Date of Patent: March 19, 2013
    Assignee: NetApp, Inc.
    Inventors: Garth R. Goodson, Rahul N. Iyer
  • Patent number: 8402230
    Abstract: Embodiments include a method comprising detecting addition of a new nonvolatile machine-readable medium to a data storage pool of nonvolatile machine-readable media. The method includes preventing from being performed a first operation of a file system that requires a first parameter that identifies a logical indication of a location within the nonvolatile machine-readable media for the file system, until logical indications of locations within the new nonvolatile machine-readable medium for the file system have been stored in the data storage pool. The method includes allowing to be performed, prior to logical indications of locations within the new nonvolatile machine-readable medium being stored in the data storage pool, a second operation of the file system that does not require a second parameter that identifies a logical indication of a location within the nonvolatile machine-readable media, wherein the second operation causes data to be written into the new nonvolatile machine-readable medium.
    Type: Grant
    Filed: September 10, 2010
    Date of Patent: March 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: David K. Bradford, David J. Craft, Manoj N. Kumar, Grover H. Neuman, Frank L. Nichols, III, Andrew N. Solomon
  • Patent number: 8397049
    Abstract: In an embodiment, a memory management unit (MMU) is configured to retain a block of data that includes multiple page table entries. The MMU is configured to check the block in response to TLB misses, and to supply a translation from the block if the translation is found in the block without generating a memory read for the translation. In some embodiments, the MMU may also maintain a history of the TLB misses that have used translations from the block, and may generate a prefetch of a second block based on the history. For example, the history may be a list of the most recently used Q page table entries, and the history may show a pattern of access that are nearing an end of the block. In another embodiment, the history may comprise a count of the number of page table entries in the block that have been used.
    Type: Grant
    Filed: July 13, 2009
    Date of Patent: March 12, 2013
    Assignee: Apple Inc.
    Inventors: James Wang, Zongjian Chen
  • Publication number: 20130046953
    Abstract: A system and method for providing high-speed memory operations is disclosed. The technique uses virtualization of memory space to map a virtual address space to a larger physical address space wherein no memory bank conflicts will occur. The larger physical address space is used to prevent memory bank conflicts from occurring by moving the virtualized memory addresses of data being written to memory to a different location in physical memory that will eliminate a memory bank conflict. A changeable mapping table that maps the virtualized memory addresses to physical memory addresses is stored in the same memory system.
    Type: Application
    Filed: August 8, 2012
    Publication date: February 21, 2013
    Applicant: MEMOIR SYSTEMS, INC.
    Inventors: Sundar Iyer, Shang-Tse Chuang
  • Patent number: 8352705
    Abstract: A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.
    Type: Grant
    Filed: January 15, 2008
    Date of Patent: January 8, 2013
    Assignee: VMware, Inc.
    Inventor: Ole Agesen
  • Patent number: 8341348
    Abstract: A computer system having a plurality of controllers for data input/output control is provided, wherein even if a control authority of a processor is transferred to another processor and the computer system migrates control information necessary for a controller to execute data input/output processing, from a shared memory to a local memory for the relevant controller, the computer system prevents the occurrence of unbalanced allocation of a control function necessary for data input/output control between the plurality of controllers; and a load equalization method for such a computer system is also provided.
    Type: Grant
    Filed: November 19, 2009
    Date of Patent: December 25, 2012
    Assignee: Hitachi, Ltd.
    Inventors: Yoshihiro Yoshii, Shintaro Kudo, Kazuyoshi Serizawa, Masayuki Yamamoto, Sadahiro Sugimoto
  • Patent number: 8335907
    Abstract: Methods of maintaining an address table for mapping logical addresses to physical addresses include continuously consolidating main address maps and an update address map, and periodically compacting the update address map. Consolidating includes selecting a main address map, reading valid mapping entries from the main and update address maps, constructing a mapping set including the valid mapping entries, and writing the mapping set to a second main address map. The update address map is compacted if a criterion is met, and includes copying the valid mapping entries to an unwritten block or metablock and assigning the unwritten block or metablock as a new update address map. The length of consolidation may depend on the average length of compacted mapping entries following a compaction operation. Increased performance due to lower maintenance overhead may result by using these methods.
    Type: Grant
    Filed: December 30, 2009
    Date of Patent: December 18, 2012
    Assignee: SanDisk Technologies Inc.
    Inventors: Alan W. Sinclair, Nicholas J. Thomas
  • Patent number: 8332601
    Abstract: To shorten time necessary for performing backup of data in a virtual volume managed by a storage controller to a backup destination storage device. A secondary volume including storage areas of the same number as the number of first primary virtual areas is created with respect to a primary virtual volume (a virtual logical volume to be an I/O destination from an external device) including plural primary virtual areas. The first primary virtual areas are primary virtual areas to which actual areas are allocated. Data copy is performed from the primary virtual volume to the secondary volume. At the time of backup to the backup destination storage device, data backup is performed from the secondary volume to the backup destination storage device.
    Type: Grant
    Filed: November 25, 2008
    Date of Patent: December 11, 2012
    Assignee: Hitachi, Ltd.
    Inventors: Miyuki Yasuda, Naoki Hino, Kouichi Aihara
  • Patent number: 8316207
    Abstract: A mechanism is provided in a multi-core environment for assigning a globally unique core identifier. A Power PC® processor unit (PPU) determines an index alias corresponding to a natural index to a location in local storage (LS) memory. A synergistic processor unit (SPU) corresponding to the PPU translates the natural index to a first address in a core's memory, as well as translates the index alias to a second address in the core's memory. Responsive to the second address exceeding a physical memory size, the load store unit of the SPU truncates the second address to a usable range of address space in systems that do not map an address space. The second address and the first address point to the same physical location in the core's memory. In addition, the aliasing using index aliases also preserves the ability to combine persistent indices with relative indices without creating holes in a relative index map.
    Type: Grant
    Filed: December 30, 2009
    Date of Patent: November 20, 2012
    Assignee: International Business Machines Corporation
    Inventors: Greg H. Bellows, Jason N. Dale, Brian H. Horton, Joaquin Madruga
  • Patent number: 8296506
    Abstract: A method for managing a non-volatile memory is provided. The non-volatile memory has a number of blocks, and each block has a number of sub-blocks. The method includes a number of steps. First, a last physical address is obtained. The last physical address corresponds to a sub-block which is close to another sub-block where data is newly stored. Next, it is determined, for each sub-block of at least one block, the validity of data being stored. The at least one block is at least one neighboring block of a block containing the corresponding sub-block of the last physical address. Then, a mapping table is produced according to the step of determining the validity of data.
    Type: Grant
    Filed: November 9, 2009
    Date of Patent: October 23, 2012
    Assignee: Lite-On It Corporation
    Inventors: Tsung-Hsi Lee, Wen-Jun Zeng, Chung-Ning Huang, Shin-Hui Huang
  • Patent number: 8275963
    Abstract: A distributed data processing system includes: (1) a first node with a processor, a first memory, and asynchronous memory mover logic; and connection mechanism that connects (2) a second node having a second memory. The processor includes processing logic for completing a cross-node asynchronous memory move (AMM) operation, wherein the processor performs a move of data in virtual address space from a first effective address to a second effective address, and the asynchronous memory mover logic completes a physical move of the data from a first memory location in the first memory having a first real address to a second memory location in the second memory having a second real address. The data is transmitted via the connection mechanism connecting the two nodes independent of the processor.
    Type: Grant
    Filed: February 1, 2008
    Date of Patent: September 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: Ravi K. Arimilli, Robert S. Blackmore, Chulho Kim, Balaram Sinharoy, Hanhong Xue
  • Patent number: 8271762
    Abstract: Mapping management methods and systems are provided. First, a sub-read command comprising mapping directory number, block offset and page offset is obtained. Then, a specific block mapping table is located from a plurality of block mapping tables according to the mapping directory number, and a first specific entry is located from the specific block mapping table according to the block offset, wherein the first specific entry comprises a mapping mode setting and block information. When the mapping mode setting is a page mapping mode, a second specific entry is located from a page mapped block table according to the block information, and a page mapping table is located corresponding to a specific page mapped block. Thereafter, a third specific entry is located from the page mapping table according to the page offset, and a page of data is located from a storage unit according to the third specific entry.
    Type: Grant
    Filed: July 21, 2008
    Date of Patent: September 18, 2012
    Assignee: Via Technologies, Inc.
    Inventor: Pei-Jun Jiang
  • Patent number: 8266408
    Abstract: A system and method for providing high-speed memory operations is disclosed. The technique uses virtualization of memory space to map a virtual address space to a larger physical address space wherein no memory bank conflicts will occur. The larger physical address space is used to prevent memory bank conflicts from occurring by moving the virtualized memory addresses of data being written to memory to a different location in physical memory that will eliminate a memory bank conflict.
    Type: Grant
    Filed: December 15, 2009
    Date of Patent: September 11, 2012
    Assignee: Memoir Systems, Inc.
    Inventors: Sundar Iyer, Shang-Tse Chuang
  • Patent number: 8234407
    Abstract: A system comprising a compute node and coupled network adapter (NA) that allows the NA to directly use CPU virtual addresses without pinning pages in system memory. The NA performs memory accesses in response to requests from various sources. Each request source is assigned to context. Each context has a descriptor that controls the address translation performed by the NA. When the CPU wants to update translation information it sends a synchronization request to the NA that causes the NA to stop fetching a category of requests associated with the information update. The category may be requests associated with a context or a page address. Once the NA determines that all the fetched requests in the category have completed it notifies the CPU and the CPU performs the information update. Once the update is complete, the CPU clears the synchronization request and the NA starts fetching requests in the category.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: July 31, 2012
    Assignee: Oracle America, Inc.
    Inventors: Rabin A. Sugumar, Robert W. Wittosch, Bjørn Dag Johnsen, William M. Ortega