Address Translation (epo) Patents (Class 711/E12.058)
  • Patent number: 8560757
    Abstract: In one embodiment, a system includes memory ports distributed into subsets identified by a subset index, where each memory port has an individual wait time based on a respective workload. The system further comprises a first address hashing unit configured to receive a read request including a virtual memory address associated with a replication factor and referring to graph data. The first address hashing unit translates the replication factor into a corresponding subset index based on the virtual memory address, and converts the virtual memory address to a hardware based memory address referring to graph data in the memory ports within a subset indicated by the corresponding subset index. The system further comprises a memory replication controller configured to direct read requests to the hardware based address to the one of the memory ports within the subset indicated by the corresponding subset index with a lowest individual wait time.
    Type: Grant
    Filed: October 25, 2011
    Date of Patent: October 15, 2013
    Assignee: Cavium, Inc.
    Inventors: Jeffrey Pangborn, Gregg A. Bouchard, Rajan Goyal, Richard E. Kessler
  • Patent number: 8555029
    Abstract: A storage system and method are provided including physical storage devices controlled by storage control devices constituting a storage control layer operatively coupled to the physical storage devices and hosts. The storage control layer includes: a first virtual layer interfacing with the hosts, operable to represent a logical address space characterized by logical block addresses, characterized by an Internal Virtual Address Space (IVAS) and operable, responsive to I/O requests addressed to logical block addresses, to provide protocol-dependent translation of said logical block addresses into IVAS addresses; and a second virtual layer interfacing with the physical storage space, and operable to represent available physical space to said hosts and characterized by a Physical Virtual Address Space (PVAS). Each address in PVAS having a corresponding address in IVAS.
    Type: Grant
    Filed: August 11, 2011
    Date of Patent: October 8, 2013
    Assignee: Infinidat Ltd.
    Inventors: Yechiel Yochai, Leo Corry, Haim Kopylovitz
  • Publication number: 20130262736
    Abstract: The present system enables receiving a request from an I/O device to translate a virtual address to a physical address to access the page in system memory. One or more memory attributes of the page defining a cacheability characteristic of the page is identified. A response including the physical address and the cacheability characteristic of the page is sent to the I/O device.
    Type: Application
    Filed: March 30, 2012
    Publication date: October 3, 2013
    Applicants: ATI Technologies ULC, Advanced Micro Devices, Inc.
    Inventors: Andrew KEGEL, Mark Hummel, Anthony Asaro
  • Patent number: 8533424
    Abstract: A computing system comprises at least a processing module, a main memory, a memory controller, and a plurality of memory components. A method begins by the memory controller receiving a memory access request regarding a data segment. The method continues with the memory controller interpreting the memory access request to determine whether an error encoding dispersal function of the data segment is applicable. The method continues with the memory controller identifying at least a threshold number of memories based on the memory access request, wherein the threshold number of memories includes at least one of the main memory and/or one or more of the plurality of memory components, when the error encoding dispersal function is applicable. The method continues with the memory controller addressing the at least a threshold number of memories to facilitate the memory access request.
    Type: Grant
    Filed: April 6, 2010
    Date of Patent: September 10, 2013
    Assignee: Cleversafe, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 8533427
    Abstract: In one embodiment, a virtual tape storage (VTS) system includes random access storage; sequential access storage; support for at least one virtual volume; a storage manager having logic for determining a physical block ID (PBID) that corresponds to a starting logical block ID (SLBID); and logic for copying a portion of a logical volume from the sequential access storage to the random access storage without copying the entire logical volume. Other embodiments are disclosed also.
    Type: Grant
    Filed: May 6, 2010
    Date of Patent: September 10, 2013
    Assignee: International Business Machines Corporation
    Inventors: Thomas W. Bish, Jonathan W. Peake
  • Patent number: 8527733
    Abstract: According to one embodiment, a memory system includes a controller for controlling a data transfer between a nonvolatile memory and a host device. The controller writes, to the nonvolatile memory, management information to be used in the data transfer, a multiplexed pointer indicating a storage position, and a log indicating whether the writing of the pointer is successful, determines whether the multiplexing the pointer by the predetermined number is maintained according to at least one of the pointer and the log, and rewrites the multiplexed pointers to the nonvolatile memory when determining that the multiplexing the pointer by the predetermined number is not maintained.
    Type: Grant
    Filed: September 21, 2011
    Date of Patent: September 3, 2013
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Seiji Norimatsu, Nobuhiro Ono, Hirokuni Yano, Yasunori Nakamura, Shoji Ninoi
  • Patent number: 8527734
    Abstract: Administering registered virtual addresses in a hybrid computing environment that includes a host computer and an accelerator, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the host computer and the accelerator adapted to one another for data communications by a system level message passing module, where administering registered virtual addresses includes maintaining, by an operating system, a watch list of ranges of currently registered virtual addresses; upon a change in physical to virtual address mappings of a particular range of virtual addresses falling within the ranges included in the watch list, notifying the system level message passing module by the operating system of the change; and updating, by the system level message passing module, a cache of ranges of currently registered virtual addresses to reflect the change in physical to virtual address mappings.
    Type: Grant
    Filed: January 23, 2009
    Date of Patent: September 3, 2013
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Archer, Gary R. Ricard
  • Patent number: 8516218
    Abstract: In an embodiment of the invention, an apparatus and method for storage space management performs the steps including: activating a logical volume group; reading pattern-based mapping information from physical volumes in the logical volume group; and using the pattern-based mapping information to determine a target physical extent in at least one of the physical volumes for a received request.
    Type: Grant
    Filed: October 30, 2006
    Date of Patent: August 20, 2013
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Jonathan M. Sauer, Sesidhar Baddela, Jean-Marc P. Eurin, Jorge Valle
  • Publication number: 20130212351
    Abstract: A method for translation map simplification may include determining a translation map based on a predetermined criterion in response to receiving input data. The method may also include determining if the translation map extends another map or a referenced map and determining if the translation map includes at least one map fragment. The referenced map is loaded in response to a determination that the translation map includes an extension of the referenced map. The map fragment is loaded in response to a determination that the translation map comprises the map fragment. A new map is compiled based on at least the translation map, the referenced map and the at least one map fragment, in response to the translation map not including a new map reference or a modification to the translation map. The input data is processed based on the new map to produce translated data specific to the new map.
    Type: Application
    Filed: February 14, 2012
    Publication date: August 15, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: VINCENT TKAC, KEITH SHAFER, MICHAEL R. INGARDIA
  • Patent number: 8510508
    Abstract: Method for accessing data in a storage system architecture, the architecture comprises at least one disk array subsystem, comprising the following steps. Provide a SAS for managing a first and a second media extent (ME) the at least one subsystem. Obtain a location index corresponding to a host LBA via a BAT. Obtain a location information of a physical section located in the first ME corresponding to the location index via a physical section to virtual section cross-referencing functionality. Update the cross-reference in the cross-referencing functionality so that the location information obtained from the cross-referencing functionality corresponding to the location index is the location information of the second physical section. A host IO request addressing the host LBA accesses data in the second physical section utilizing the location information of the second physical section.
    Type: Grant
    Filed: January 22, 2010
    Date of Patent: August 13, 2013
    Assignee: Infortrend Technology, Inc.
    Inventors: Michael Gordon Schnapp, Ching-Hua Fang, Chia-Sheng Chou
  • 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: 8495336
    Abstract: According to one embodiment, a write instructing unit instructs a data access unit to write, in a storage area of a data storage unit indicated by a first physical address, write object data, instructs a management information access unit to update address conversion information, and instructs a first access unit to update the first physical address. A compaction unit extracts a physical address of compaction object data, instructs the data access unit to read the compaction object data stored in a storage area of the data storage unit indicated by the physical address, instructs the data access unit to write the compaction object data in a storage area of the data storage unit indicated by a second physical address, instructs the management information access unit to update the address conversion information, and instructs a second access unit to update the second physical address.
    Type: Grant
    Filed: September 16, 2010
    Date of Patent: July 23, 2013
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Kazuhiro Fukutomi, Kenichiro Yoshii, Shinichi Kanno, Shigehiro Asano
  • Publication number: 20130185473
    Abstract: Embodiments of a data cache are disclosed that substantially decrease a number of accesses to a physically-tagged tag array of the data cache are provided. In general, the data cache includes a data array that stores data elements, a physically-tagged tag array, and a virtually-tagged tag array. In one embodiment, the virtually-tagged tag array receives a virtual address. If there is a match for the virtual address in the virtually-tagged tag array, the virtually-tagged tag array outputs, to the data array, a way stored in the virtually-tagged tag array for the virtual address. In addition, in one embodiment, the virtually-tagged tag array disables the physically-tagged tag array. Using the way output by the virtually-tagged tag array, a desired data element in the data array is addressed.
    Type: Application
    Filed: March 22, 2012
    Publication date: July 18, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Robert D. Clancy, James Norris Dieffenderfer, Thomas Philip Speier
  • Patent number: 8484430
    Abstract: A memory system includes a nonvolatile memory, and a memory controller for performing control to extend the maximum value of a logical address by erasing data of the nonvolatile memory which has become unnecessary in accordance with a command from the outside, and reassigning the data which has become unnecessary to a memory area assigned to a part of the logical address.
    Type: Grant
    Filed: March 13, 2009
    Date of Patent: July 9, 2013
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Takafumi Ito
  • Publication number: 20130159662
    Abstract: Techniques described enable efficient swapping of memory pages to and from a working set of pages for a process through the use of large writes and reads of pages to and from sequentially ordered locations in secondary storage. When writing pages from a working set of a process into secondary storage, the pages may be written into reserved, contiguous locations in a dedicated swap file according to a virtual address order or other order. Such writing into sequentially ordered locations enables reading in of clusters of pages in large, sequential blocks of memory, providing for more efficient read operations to return pages to physical memory.
    Type: Application
    Filed: December 14, 2011
    Publication date: June 20, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Mehmet Iyigun, Yevgeniy Bak, Landy Wang, Arun U. Kishan
  • Patent number: 8458434
    Abstract: Memory management methods and computing apparatus with memory management capabilities are disclosed. One exemplary method includes mapping an address from an address space of a physically-mapped device to a first address of a common address space so as to create a first common mapping instance, and encapsulating an existing processor mapping that maps an address from an address space of a processor to a second address of the common address space to create a second common mapping instance. In addition, a third common mapping instance between an address from an address space of a memory-management-unit (MMU) device and a third address of the common address space is created, wherein the first, second, and third addresses of the common address space may be the same address or different addresses, and the first, second, and third common mapping instances may be manipulated using the same function calls.
    Type: Grant
    Filed: July 27, 2010
    Date of Patent: June 4, 2013
    Assignee: Qualcomm Innovation Center, Inc.
    Inventors: Zachary A. Pfeffer, Larry A. Bassel
  • Publication number: 20130132637
    Abstract: Provided are techniques for allocating logical memory corresponding to a logical partition in a computing system; generating a S/W PFT data structure corresponding to a first page of the logical memory, wherein the S/W PFT data structure comprises a field indicating that the corresponding first page of logical memory is a klock page; transmitting a request for a page of physical memory and the corresponding S/W PFT data structure to a hypervisor; allocating physical memory corresponding to the request; and, in response to a pageout request, paging out available logical memory corresponding to the logical partition that does not indicate that the corresponding page is a klock page prior to paging out the first page.
    Type: Application
    Filed: November 18, 2011
    Publication date: May 23, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Keerthi B. Kumar, Shailaja Mallya
  • Publication number: 20130124820
    Abstract: A data processing apparatus has processing circuitry for executing a memory access instruction in order to generate a memory transaction comprising at least one address transfer specifying a memory address, and at least one associated data transfer specifying data to be accessed at the specified memory address. The apparatus is arranged to route each address transfer and associated data transfer via a first interface when the specified memory address is within a first memory address range, or to route each address transfer and associated data transfer via a second interface when the specified memory address is within a second memory address range and is further configured, when using the first interface, to execute the memory access instruction so as to cause each address transfer and associated data transfer to be presented at the first interface with a first relative timing.
    Type: Application
    Filed: November 14, 2011
    Publication date: May 16, 2013
    Applicant: ARM Limited
    Inventor: Simon John CRASKE
  • Publication number: 20130111167
    Abstract: A network unit, comprising a processor and a random access memory (RAM) component coupled to the processor, wherein the RAM component comprises a memory management unit (MMU) and a data RAM, wherein the MMU comprises a complete page address table for translating a virtual memory address received from the processor into a physical memory address, and wherein the complete page address table is substantially static.
    Type: Application
    Filed: November 2, 2012
    Publication date: May 2, 2013
    Applicant: FUTUREWEI TECHNOLOGIES, CO.
    Inventor: Futurewei Technologies, Co.
  • Publication number: 20130103904
    Abstract: In one embodiment, a system comprises multiple memory ports distributed into multiple subsets, each subset identified by a subset index and each memory port having an individual wait time. The system further comprises a first address hashing unit configured to receive a read request including a virtual memory address associated with a replication factor, and referring to graph data. The first address hashing unit translates the replication factor into a corresponding subset index based on the virtual memory address, and converts the virtual memory address to a hardware based memory address that refers to graph data in the memory ports within a subset indicated by the corresponding subset index. The system further comprises a memory replication controller configured to direct read requests to the hardware based address to the one of the memory ports within the subset indicated by the corresponding subset index with a lowest individual wait time.
    Type: Application
    Filed: October 25, 2011
    Publication date: April 25, 2013
    Applicant: Cavium, Inc.
    Inventors: Jeffrey Pangborn, Gregg A. Bouchard, Rajan Goyal, Richard E. Kessler
  • Patent number: 8417872
    Abstract: A memory card system and related write method are disclosed. The method includes receiving a write request for a predetermined page; performing a write operation on a first log block that corresponds to a first data block including the page; receiving an update request for the page; and performing a write operation on a second log block that corresponds to the first data block. The memory card system includes: at least one non-volatile memory including a data block and a log block for updating the data block; and a memory controller controlling an operation of the non-volatile memory. During a write operation for a predetermined page, the controller controls writing of a first log block corresponding to a first data block including the predetermined page, and controls writing of a second log block during an update operation of the predetermined page.
    Type: Grant
    Filed: January 23, 2009
    Date of Patent: April 9, 2013
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Kyoung-Ryun Bae, Hee-Tak Shin, Jung-Hoon Kim, Jong-hwan Lee, Yong-Hyeon Kim, Chang-Eun Choi
  • Publication number: 20130086304
    Abstract: Logical-physical translation information comprises information denoting the corresponding relationships between multiple logical pages and multiple logical chunks forming a logical address space of a nonvolatile semiconductor storage medium, and information denoting the corresponding relationships between the multiple logical chunks and multiple physical storage areas. Each logical page is a logical storage area conforming to a logical address range. Each logical chunk is allocated to two or more logical pages of multiple logical pages. Two or more physical storage areas of multiple physical storage areas are allocated to each logical chunk. A controller adjusts the number of physical storage areas to be allocated to each logical chunk.
    Type: Application
    Filed: September 30, 2011
    Publication date: April 4, 2013
    Inventors: JUNJI Ogawa, Atsushi Kawamura
  • Publication number: 20130080726
    Abstract: A memory management unit is configured to receive requests for memory access from a plurality of I/O devices. The memory management unit implements a protection mode wherein the unit prevents memory accesses by the plurality of I/O devices by mapping memory access requests (from the I/O devices) to the same set of memory address translation data. When the memory management unit is not in the protected mode, the unit maps memory access requests from the plurality of I/O devices to different respective sets of memory address translation data. Thus, the memory management unit may protect memory from access by I/O devices using fewer address translation tables than are typically required (e.g., none).
    Type: Application
    Filed: September 25, 2011
    Publication date: March 28, 2013
    Inventors: Andrew G. Kegel, Ronald Perez, Wei Huang
  • Publication number: 20130080714
    Abstract: An apparatus, method, and medium are disclosed for managing memory access from I/O devices. The apparatus comprises a memory management unit configured to receive, from an I/O device, a request to perform a memory access operation to a system memory location. The memory management unit is configured to detect that the request omits a memory access parameter, determine a value for the omitted parameter, and cause the memory access to be performed using the determined value.
    Type: Application
    Filed: September 28, 2011
    Publication date: March 28, 2013
    Inventors: Andrew G. Kegel, Stephen D. Glaser
  • Publication number: 20130073822
    Abstract: A method for data storage includes receiving data items associated with respective logical addresses for storage in a memory that includes multiple memory units. Respective estimates of a performance characteristic are obtained for the multiple memory units. A mapping, which maps the logical addresses to respective physical storage locations in the multiple memory units, is adapted based on the estimates so as to balance the performance characteristic across the memory units. The data items are stored in the physical storage locations in accordance with the adapted mapping.
    Type: Application
    Filed: June 28, 2012
    Publication date: March 21, 2013
    Inventors: Eran Sandel, Oren Golov
  • Patent number: 8402205
    Abstract: Method and apparatus for managing metadata associated with a data storage array. In accordance with various embodiments, a group of user data blocks are stored to memory cells at a selected physical address of the array. A multi-tiered metadata scheme is used to generate metadata which describes the selected physical address of the user data blocks. The multi-tiered metadata scheme provides an upper tier metadata format adapted for groups of N user data blocks, and a lower tier metadata format adapted for groups of M user data blocks where M is less than N. The generated metadata is formatted in accordance with a selected one of the upper or lower tier metadata formats in relation to a total number of the user data blocks in the group.
    Type: Grant
    Filed: March 18, 2010
    Date of Patent: March 19, 2013
    Assignee: Seagate Technology LLC
    Inventors: Ryan James Goss, Kevin Arthur Gomez, Mark Allen Gaertner, Bruce Douglas Buch
  • Publication number: 20130067289
    Abstract: A method includes, in a storage device that includes a non-volatile memory having a physical storage space, receiving data items associated with respective logical addresses assigned in a logical address space that is larger than the physical storage space. The logical addresses of the data items are translated into respective physical storage locations in the non-volatile memory. The data items are stored in the respective physical storage locations.
    Type: Application
    Filed: September 7, 2012
    Publication date: March 14, 2013
    Inventors: Ariel Maislos, Avraham (Poza) Meir
  • 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: 20130061021
    Abstract: Disclosed are a semiconductor memory system and a method for controlling same. The semiconductor memory system according to one embodiment of the present invention includes: a first memory for storing normal data and master metadata, the master metadata representing a relationship between a local address and a physical address for accessing the normal data; and a control logic generating compression metadata compressed in accordance with update metadata and storing the generated metadata in the first memory in response to a first control signal.
    Type: Application
    Filed: May 12, 2011
    Publication date: March 7, 2013
    Applicant: NOVACHIPS CO., LTD.
    Inventors: Young Goan Kim, Hyung Min Kim, Chi Sung An
  • Patent number: 8392690
    Abstract: A management method for reducing the utilization rate of random access memory (RAM) while reading data from or writing data to the flash memory is disclosed. A physical memory set is constructed from a plurality of physical memory blocks in the flash memory. A logical set is constructed from a plurality of logical blocks wherein the data stored in the logical set are stored in the physical memory set. Further, the data stored in each of the logical blocks are stored in one number of physical memory blocks. A mapping table is constructed and includes a hash function, a logical set table, a physical memory set table, and a set status table for managing the relationship among the physical memory sets, physical memory blocks, and logical blocks while reading data from or writing data to the flash memory.
    Type: Grant
    Filed: December 20, 2007
    Date of Patent: March 5, 2013
    Assignee: Genesys Logic, Inc.
    Inventors: Yuan-sheng Chu, Jen-wei Hsieh, Yuan-hao Chang, Tei-wei Kuo, Cheng-chih Yang
  • Patent number: 8392680
    Abstract: In one aspect, a method includes exposing a set of storage volumes to a host at a requested point in time, in a virtual access mode. The set of storage volumes are handled by distributed virtual consistency groups (CGs) having a background process wherein the distributed virtual CGs update the set of storage volumes to the requested point in time. The method also includes exposing a first service storage volume at a data protection appliance, determining if the virtual CGs have rolled back and using at least one of a central manager and a splitter to account for input/output requests (IOs) when a virtual CG has not rolled back.
    Type: Grant
    Filed: March 30, 2010
    Date of Patent: March 5, 2013
    Assignee: EMC International Company
    Inventors: Assaf Natanzon, Yuval Aharoni, Lev Ayzenberg
  • Patent number: 8392663
    Abstract: A multiprocessor system maintains cache coherence among processors in a coherent domain. Within the coherent domain, a first processor can receive a command to perform a cache maintenance operation. The first processor can determine whether the cache maintenance operation is a coherent operation. For coherent operations, the first processor sends a coherent request message for distribution to other processors in the coherent domain and can cancel execution of the cache maintenance operation pending receipt of intervention messages corresponding to the coherent request. The intervention messages can reflect a global ordering of coherence traffic in the multiprocessor system and can include instructions for maintaining a data cache and an instruction cache of the first processor. Cache maintenance operations that are determined to be non-coherent can be executed at the first processor without sending the coherent request.
    Type: Grant
    Filed: December 10, 2008
    Date of Patent: March 5, 2013
    Assignee: MIPS Technologies, Inc.
    Inventors: Ryan C. Kinter, Darren M. Jones, Matthias Knoth
  • Publication number: 20130054936
    Abstract: Inoperable bits are determined in a memory block. Rather than abandon the block as inoperable, a data structure is generated that includes at least one memory page pointer that identifies the location of the inoperable bits in the memory block. The data structure is stored in one of a group of memory blocks that are reserved for the data structures. A pointer to the data structure is stored in metadata associated with the memory block with the inoperable bits. When a later memory operation is received for the memory block, the pointer is retrieved from the metadata and the memory page pointers are used to avoid the inoperable bits.
    Type: Application
    Filed: August 26, 2011
    Publication date: February 28, 2013
    Applicant: Microsoft Corporation
    Inventor: John D. Davis
  • Publication number: 20130024598
    Abstract: In a computer system having virtual machines, one or more unused bits of a guest physical address range are allocated for aliasing so that multiple virtually addressed sub-pages can be mapped to a common memory page. When one bit is allocated for aliasing, dirty bit information can be provided at a granularity that is one-half of a memory page. When M bits are allocated for aliasing, dirty bit information can be provided at a granularity that is 1/(2M)-th of a memory page.
    Type: Application
    Filed: July 18, 2011
    Publication date: January 24, 2013
    Applicant: VMWARE, INC.
    Inventors: Benjamin C. SEREBRIN, Bhavesh MEHTA
  • Patent number: 8356136
    Abstract: A block management method applicable to a non-volatile memory storage system is provided. The non-volatile memory storage system includes a plurality of chips. Each chip includes a plurality of physical blocks. The physical blocks form a plurality of physical block sets. Each logical block in a logical space corresponds to at most two physical block sets. In the block management method, when a logical block corresponds to two physical block sets filled with data and more data is to be written, a free physical block set is allocated for storing the data. Then, one of the two physical block sets corresponding to the logical block is selected according to a predetermined criterion. The valid data in the selected physical block set is copied into the free physical block set. Next, the selected physical block set is erased and collected to the pool of free physical block sets.
    Type: Grant
    Filed: February 8, 2010
    Date of Patent: January 15, 2013
    Assignee: National Taiwan University
    Inventors: Yuan-Hao Chang, Tei-Wei Kuo
  • Publication number: 20130013886
    Abstract: Adaptive write leveling in limited lifetime memory devices including performing a method for monitoring a write data stream that includes write line addresses. A property of the write data stream is detected and a write leveling process is adapted in response to the detected property. The write leveling process is applied to the write data stream to generate physical addresses from the write line addresses.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 10, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michele M. Franceschini, John P. Karidis, Luis A. Lastras-Montano, Moinuddin K. Qureshi
  • Publication number: 20130013887
    Abstract: An address comparator stores an address of data read out by a host system. Also, a buffer reads out the data from a memory and stores the data. If an address of data which is expected to be newly read out by the host system is included in addresses which have already been stored in the address comparator, the host system 1 newly reads out the data from the buffer, not from the memory. As a result, it is possible to eliminate or lessen the possibility of unintentional rewriting of data which is likely to be caused due to repeated readout of data.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 10, 2013
    Applicant: MegaChips Corporation
    Inventors: Takahiko SUGAHARA, Tetsuo FURUICHI
  • Patent number: 8341336
    Abstract: A region-based management method of a non-volatile memory is provided. In the region-based management method, the storage space of all chips in the non-volatile memory is divided into physical regions, physical block sets, and physical page sets, and a logical space is divided into virtual regions, virtual blocks, and virtual pages. In the non-volatile memory, each physical block set is the smallest unit of space allocation and garbage collection, and each physical page set is the smallest unit of data access. The region-based management method includes a three-level address translation architecture for converting logical block addresses into physical block addresses.
    Type: Grant
    Filed: February 8, 2010
    Date of Patent: December 25, 2012
    Assignee: National Taiwan University
    Inventors: Yuan-Hao Chang, Tei-Wei Kuo
  • Publication number: 20120324143
    Abstract: In some embodiments, an apparatus includes a set of memory modules, a reprogrammable circuit module and a set of data channels. Each memory module is associated with an address translation table configured to store a set of address pairs each including a physical memory address and a logical memory address. The reprogrammable circuit module is configured to retrieve a first physical memory address associated with a first logical memory address and a second physical memory address associated with a second logical memory address. Each data channel couples the reprogrammable circuit module to at least one memory module. The reprogrammable circuit module is configured to send a first and a second query to the first and the second memory module, via a first data channel based on the first physical memory address or a second data channel based on the second physical memory address, respectively.
    Type: Application
    Filed: June 15, 2011
    Publication date: December 20, 2012
    Applicant: Data Design Corporation
    Inventors: John J. Giganti, Andrew Huo, Richard A. Baum, John M. Cavallo
  • Publication number: 20120311297
    Abstract: Described embodiments include logical units within a memory device with control circuitry configured to assign a logical unit address to the logical unit. Apparatus including a plurality of the logical units arranged in a daisy chain configuration and methods of assigning logical unit addresses to the logical units are also disclosed.
    Type: Application
    Filed: June 3, 2011
    Publication date: December 6, 2012
    Inventors: June Lee, Terry M. Grunzke, Dean Nobunaga
  • Publication number: 20120284475
    Abstract: A memory controller for managing data and power in a memory is described. In some implementations, the memory controller is configured to identify a first area of the memory to be operated at a first power level, identify a second area of the memory to be operated at a second power level, transfer data in a region in the second area to a region in the first area, maintain a mapping of an address associated with the region in the second area to an address associated with the region in the first area, operate the first area at the first power level, and operate the second area at the second power level.
    Type: Application
    Filed: May 4, 2012
    Publication date: November 8, 2012
    Inventor: Ofer Zaarur
  • Patent number: 8307191
    Abstract: The invention relates to page fault handling in a virtualized computer system in which at least one guest page table maps virtual addresses to guest physical addresses, some of which are backed by machine addresses, and wherein at least one shadow page table and at least one translation look-aside buffer map the virtual addresses to the corresponding machine addresses. Indicators are maintained in entries of at least one shadow page table, wherein each indicator denotes a state of its associated entry from a group of states consisting of: a first state and a second state. An enhanced virtualization layer processes hardware page faults. States of shadow page table entries corresponding to hardware page faults are determined. Responsive to a shadow page table entry corresponding to a hardware page fault being in the first state, that page fault is delivered to a guest operating system for processing without activating a virtualization software component.
    Type: Grant
    Filed: May 9, 2008
    Date of Patent: November 6, 2012
    Assignee: VMware, Inc.
    Inventor: Rohit Jain
  • Publication number: 20120278588
    Abstract: Some embodiments of the present invention include a memory management unit (MMU) configured to, in response to a write access targeting a guest page mapping of a guest virtual page number (GVPN) to a guest physical page number (GPPN) within a guest page table, identify a first page mapping that associates the GVPN with a physical page number (PPN). The MMU is also configured to determine whether a traced write indication is associated with the first page mapping and, if so, record update information identifying the targeted guest page mapping. The update information is used to reestablish coherence between the guest page mapping and the first page mapping. The MMU is further configured to perform the write access.
    Type: Application
    Filed: July 10, 2012
    Publication date: November 1, 2012
    Applicant: VMWARE, INC.
    Inventors: Keith ADAMS, Sahil RIHAN
  • Publication number: 20120254514
    Abstract: According to one embodiment, a memory system includes nonvolatile memory and storage unit storing a translation table indicating, by a predetermined management unit, relationships between logical addresses specified by a host and physical addresses in the nonvolatile memory. A memory system of the embodiment includes a controller that when receiving from the host a delete notification indicating a delete area smaller than the management unit specified by a logical address, write a specified data pattern to an area of the nonvolatile memory having a physical address corresponding to the delete area.
    Type: Application
    Filed: September 23, 2011
    Publication date: October 4, 2012
    Applicant: KABUSHIKI KAISHA TOSHIBA
    Inventor: Ryuji Nishikubo
  • Publication number: 20120246437
    Abstract: The disclosed embodiments provide a system that uses unused bits in a memory pointer. During operation, the system determines a set of address bits in a address space that will not be needed for addressing purposes during program operation. Subsequently, the system stores data associated with the memory pointer in this set of address bits. The system masks this set of address bits when using the memory pointer to access the memory address associated with the memory pointer. Storing additional data in unused pointer bits can reduce the number of memory accesses for a program and improve program performance and/or reliability.
    Type: Application
    Filed: March 22, 2011
    Publication date: September 27, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Zoran Radovic, Graham Ricketson Murphy, Paul J. Jordan, John G. Johnson
  • Publication number: 20120246381
    Abstract: Embodiments of the present invention provide methods, systems, and computer readable media for input output memory management unit (IOMMU) two-layer addressing in the context of memory address translations for I/O devices. According to an embodiment, a method includes translating a guest virtual address (GVA) to a corresponding guest physical address (GPA) using a guest address translation table according to a process address space identifier associated with an address translation transaction associated with an I/O device, and translating the GPA to a corresponding system physical address (SPA) using a system address translation table according to a device identifier associated with the address translation transaction.
    Type: Application
    Filed: December 2, 2011
    Publication date: September 27, 2012
    Inventors: Andy Kegel, Mark Hummel, Steve Glaser, Tony Asaro, Philip NG, Jeffrey Cheng
  • Patent number: 8271763
    Abstract: One embodiment of the present invention sets forth a technique for unifying the addressing of multiple distinct parallel memory spaces into a single address space for a thread. A unified memory space address is converted into an address that accesses one of the parallel memory spaces for that thread. A single type of load or store instruction may be used that specifies the unified memory space address for a thread instead of using a different type of load or store instruction to access each of the distinct parallel memory spaces.
    Type: Grant
    Filed: September 25, 2009
    Date of Patent: September 18, 2012
    Assignee: NVIDIA Corporation
    Inventors: John R. Nickolls, Brett W. Coon, Ian A. Buck, Robert Steven Glanville
  • Patent number: 8271764
    Abstract: A method for storing and retrieving blocks of data having different dimensions is disclosed. The method can include receiving a first data segment to be stored in a block storage device where the first data segment has an address. The method can also include determining if the first data segment conforms to a standard dimension and sorting the first data segment according to the destination address if it does not have a standard dimension. The method can further include placing a non-standard data segment into a unfilled block allocation and placing a second non-standard data segment into the unfilled block allocation when the second data segment has the destination identifier. Other embodiments are also disclosed.
    Type: Grant
    Filed: August 29, 2011
    Date of Patent: September 18, 2012
    Assignee: International Business Machines Corporation
    Inventors: David Nevarez, James A. Pafumi, Veena Patwari, Morgan J. Rosas, Vasu Vallabhaneni
  • Publication number: 20120226887
    Abstract: The present disclosure includes methods for logical address translation, methods for operating memory systems, and memory systems. One such method includes receiving a command associated with a LA, wherein the LA is in a particular range of LAs and translating the LA to a physical location in memory using an offset corresponding to a number of physical locations skipped when writing data associated with a range of LAs other than the particular range.
    Type: Application
    Filed: March 6, 2011
    Publication date: September 6, 2012
    Applicant: MICRON TECHNOLOGY, INC.
    Inventors: Martin L. Culley, Troy A. Manning, Troy D. Larsen
  • Publication number: 20120221765
    Abstract: A virtualization apparatus is provided. The virtualization apparatus includes a plurality of virtual machines configured to have priority levels, a memory pool configured to be shared between the plurality of virtual machines and store part of data stored in a system memory of each of the plurality of virtual machines, and a memory pool manager configured to process a memory allocation request or a data storage request regarding the memory pool in consideration of the priority levels of the plurality of virtual machines, a guaranteed memory size for each of the plurality of virtual machines, and a size of memory that can be allocated to each of the plurality of virtual machines.
    Type: Application
    Filed: September 23, 2011
    Publication date: August 30, 2012
    Inventors: Jung-Hyun YOO, Sung-Min LEE, Sang-Bum SUH