Address Mapping (e.g., Conversion, Translation) Patents (Class 711/202)
  • Patent number: 9158902
    Abstract: This disclosure is directed to software modification that may be used to prevent software piracy and prevent unauthorized modification of applications. In some embodiments, a software vendor may modify software prior to distribution to a user. The software vendor may extract cutouts from an application to create a modified application. The modified application and the cutouts may be downloaded by a user device. The user device may run the application using the modified application and by executing the cutouts in a secure execution environment that conceals the underlying code in the cutouts.
    Type: Grant
    Filed: December 29, 2011
    Date of Patent: October 13, 2015
    Assignee: Intel Corporation
    Inventors: Moshe Maor, Shay Gueron
  • Patent number: 9158859
    Abstract: A planning and search system are described wherein a graph search and segment matching are used to handle very large searches at a higher speed.
    Type: Grant
    Filed: November 16, 2012
    Date of Patent: October 13, 2015
    Assignee: NORTHROP GRUMMAN SYSTEMS CORPORATION
    Inventors: James Daniel Snyder, II, Craig Michael Chase
  • Patent number: 9152571
    Abstract: An input/output memory management unit (IOMMU) having an “invalidate all” command available to clear the contents of cache memory is presented. The cache memory provides fast access to address translation data that has been previously obtained by a process. A typical cache memory includes device tables, page tables and interrupt remapping entries. Cache memory data can become stale or be compromised from security breaches or malfunctioning devices. In these circumstances, a rapid approach to clearing cache memory content is provided.
    Type: Grant
    Filed: July 31, 2012
    Date of Patent: October 6, 2015
    Assignees: ATI Technologies ULC, Advanced Micro Devices, Inc.
    Inventors: Andrew G. Kegel, Mark D. Hummel, Anthony Asaro
  • Patent number: 9146863
    Abstract: A computer-implemented method may include assigning an address translation table to a peripheral component interconnect host bridge and determining that an input/output adapter accessible to the peripheral component interconnect host bridge is configured as a virtualized adapter to provide a plurality of virtual functions to a plurality of logical partitions. In response to determining that the input/output adapter is configured as the virtualized adapter, the address translation table may be subdivided to enable the plurality of virtual functions to access the memory of at least one logical partition of the plurality of logical partitions.
    Type: Grant
    Filed: December 8, 2010
    Date of Patent: September 29, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Sean T. Brownlow, Gregory M. Nordstrom, Travis J. Pizel
  • Patent number: 9137443
    Abstract: Various embodiments are described herein for a method and related device for processing a first dataset comprising a second dataset and a third dataset in order to locate the third dataset. The second dataset has a variable data length and terminates with an ending marker and the third dataset starts after the ending marker. The method involves preprocessing a memory element by storing a plurality of locater markers, storing the first dataset in the memory element thereby overwriting a portion of the plurality of locater markers, locating which of the plurality of locater markers is closest to the end of the first dataset; and locating the third dataset by searching for the ending marker of the second dataset based on the position of the closest locater marker.
    Type: Grant
    Filed: September 27, 2011
    Date of Patent: September 15, 2015
    Assignee: BlackBerry Limited
    Inventor: Brett Foster
  • Patent number: 9128818
    Abstract: The disclosure includes, in general, among other aspects, an apparatus having multiple programmable units integrated within a processor. The apparatus has circuitry to map addresses in a single address space to resources within the multiple programmable units where the single address space includes addresses for different ones of the resources in different ones of the multiple programmable units and where there is a one-to-one correspondence between respective addresses in the single address space and resources within the multiple programmable units.
    Type: Grant
    Filed: May 23, 2014
    Date of Patent: September 8, 2015
    Assignee: Intel Corporation
    Inventors: Gilbert Wolrich, Debra Bernstein, Daniel Cutter, Christopher Dolan, Matthew J. Adiletta
  • Patent number: 9122418
    Abstract: A method of controlling the capacity of a virtual storage system provided on a physical storage system, the method including: providing a control program on the physical storage system; coupling additional virtual storage to the virtual storage system on the physical storage system; providing control data on the additional virtual storage; with the control program, reading the control data and configuring the virtual storage system accordingly. A corresponding virtual storage system is also provided.
    Type: Grant
    Filed: August 7, 2012
    Date of Patent: September 1, 2015
    Assignee: XYRATEX TECHNOLOGY LIMITED—A SEAGATE COMPANY
    Inventor: James S. M. Morse
  • Patent number: 9124463
    Abstract: A device with an autonomous sleep characteristic, which is in communication with a host, is described. The device includes one or more communication subsystems. Each communication subsystem maintains a sleep activity indicator that indicates whether a corresponding communication subsystem is allowed to go to sleep. Each communication subsystem can autonomously enter a sleep state, when its sleep activity indicator indicates that the corresponding communication subsystem is, in fact, allowed to go to sleep. The device also includes a controller. The controller has a block memory which stores data written to the device from the host. The controller further includes a sleep state indicator that indicates a sleep state of each communication subsystem.
    Type: Grant
    Filed: April 4, 2012
    Date of Patent: September 1, 2015
    Assignee: TEXAS INSTRUMENTS INCORPORATED
    Inventors: Avi Baum, Ido Shemer, Alon Paycher, Ofer Guetta
  • Patent number: 9116795
    Abstract: Storage devices herein include a non-volatile memory and a controller configured to perform a read operation on a physical page of the non-volatile memory in response to a read request on a logical page of the non-volatile memory from a host. The controller may include a mapping manager configured to manage a plurality of logical blocks by a logical unit. The mapping manager may include a unit map table including a correlation between the logical unit and a physical unit corresponding to the logical unit. Additionally, the mapping manager may be configured to change a mapping method according to whether the unit map table includes a physical unit corresponding to a logical unit including a logical page requested by the host. Related user devices and electronic devices are also provided.
    Type: Grant
    Filed: January 16, 2013
    Date of Patent: August 25, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Jong-Hyun Kim, Jung Been Im
  • Patent number: 9110839
    Abstract: In a content address storage system, storage target data or address data is stored in a storage device with respect to each time zone divided in a time-series manner, and a storage region in the storage device storing a piece of data, which is not pointed to by other address data, of the storage target data or the address data stored in the storage device in a past time zone before a current time zone, is released.
    Type: Grant
    Filed: August 25, 2011
    Date of Patent: August 18, 2015
    Assignee: NEC CORPORATION
    Inventors: Przemyslaw Strzelczak, Elzbieta Adamczyk, Urszula Herman-Izycka, Jakub Sakowicz, Lukasz Slusarczyk, Jaroslaw Wrona, Cezary Dubnicki
  • Patent number: 9110603
    Abstract: Provided are a computer program product, system, and method for identifying modified chunks in a data set for storage. Information is maintained on a data set of variable length chunks, including a digest of each chunk and information to locate the chunk in the data set. Modifications are received to at least one of the chunks in the data set. A determination is made of chunks including data affected by the modifications. The determined chunks including data affected by the modifications are processed to determine new chunks and for each determined new chunk and for each determined new chunk, new digest information of the new chunk. The new digest information on the at least one new chunk and information to locate the new chunk in the data set are added to the set information.
    Type: Grant
    Filed: December 11, 2013
    Date of Patent: August 18, 2015
    Assignee: International Business Machines Corporation
    Inventors: Mark L. Yakushev, Mark A. Smith
  • Patent number: 9104560
    Abstract: Digital objects are stored and accessed within a fixed content storage cluster by using a page mapping table and a pages index. A stream is read from the cluster by using a portion of its unique identifier as a key into the page mapping table. The page mapping table indicates a node holding a pages index indicating where the stream is stored. A stream is written to the cluster by storing the stream on any suitable node and then updating a pages index stored within the cluster. The cluster recovers from a node failure by first replicating streams from the failed node and reallocating a page mapping table to create a new pages index. The remaining nodes send records of the unique identifiers corresponding to objects they hold to the new pages index. A node is added to the cluster by reallocating a page mapping table.
    Type: Grant
    Filed: June 13, 2012
    Date of Patent: August 11, 2015
    Assignee: Caringo, Inc.
    Inventors: Paul R. M. Carpentier, Russell Turpin
  • Patent number: 9104326
    Abstract: A device for scalable block data storage and retrieval uses content addressing. Data storage devices store data blocks, and are connected over a network to computing modules. The modules comprise control modules and data modules and carry out content addressing for both storage and retrieval. The network defines separate control paths via the control modules and data paths via the data modules.
    Type: Grant
    Filed: November 15, 2010
    Date of Patent: August 11, 2015
    Assignee: EMC Corporation
    Inventors: Shahar Frank, Erez Webman, Renen Hallak, Kobi Luz, Irit Yadin-Lempel, Yaron Segev
  • Patent number: 9088761
    Abstract: An image recording system, an image recorder and a data accessing method are provided. Some of memory blocks of a flash memory are set as first blocks, and the other memory blocks are set as second blocks. When a target image file received from a capturing unit of an image reorder is being written into the first blocks, a control unit of the flash memory detects whether the first block into which a processing unit of the image recorder tries to write a piece of data of the target image file is faulty. When the first block is faulty, the control unit selects normal one of the second blocks and then writes the piece of the data of the target image file into the selected second block instead of the first block.
    Type: Grant
    Filed: October 22, 2013
    Date of Patent: July 21, 2015
    Assignee: VIVOTEK INC.
    Inventor: Chien-Wei Chang
  • Patent number: 9075528
    Abstract: A virtual disk management system used in a diskless PC network communication agent system consisting of storage media, storage servers and a user-end computer for creating virtual disks having a dynamic space allocation function at the storage media and storing data into and fetching data from the virtual disks. The virtual disk management system uses a physical block index table, a storage media group record table, a virtual disk physical block occupation table and a differential disk relation table for virtual disk control, allowing physical and virtual space address translation to be done at one time to improve virtual disk access performance.
    Type: Grant
    Filed: November 17, 2011
    Date of Patent: July 7, 2015
    Assignee: JADE QUANTUM TECHNOLOGIES, INC
    Inventor: Chia Hsin Huang
  • Patent number: 9075708
    Abstract: The present disclosure is directed to managing write commands for a storage system implementing address indirection. In some storage systems, a mapping table that provides logical-to-physical mapping may have individual entries that each references a logical address size that exceeds the size of an atomic write to the storage media. In such systems, a write to a logical address is not atomic as it may require several discrete physical writes that may individually fail. The techniques presented employ several pre-commit and post-commit actions to save data that enables the storage system to make writes to these logical addresses atomic and prevent undue delay on powerup.
    Type: Grant
    Filed: June 30, 2011
    Date of Patent: July 7, 2015
    Assignee: Western Digital Technologies, Inc.
    Inventors: Ho-Fan Kang, Stephen P. Hack, Jerry Lo, Frederick H. Adi, Lan D. Phan
  • Patent number: 9069676
    Abstract: A hardware search structure determines the status of cache lines associated with a large disk array and at the same time reduces the amount of memory space needed for tracking the status. The search structure is configurable in hardware to different cache line sizes and different primary and secondary index sizes. A maintenance feature invalidates state record entries based both on their time stamps and on associated usage statistics.
    Type: Grant
    Filed: February 12, 2013
    Date of Patent: June 30, 2015
    Assignee: VIOLIN MEMORY, INC.
    Inventors: Erik de la Iglesia, Som Sikdar, David Parker, Sivaram Dommeti
  • Patent number: 9064575
    Abstract: The present disclosure includes apparatuses and methods related to memory cell state in a valley between adjacent data states. A number of methods can include determining whether a state of a memory cell is in a valley between adjacent distributions of states associated with respective data states. The method can also include transmitting a signal indicative of a data state of the memory cell and whether the state of the memory cell is in the valley.
    Type: Grant
    Filed: August 3, 2012
    Date of Patent: June 23, 2015
    Assignee: Micron Technology, Inc.
    Inventors: Sivagnanam Parthasarathy, Patrick R. Khayat, Mustafa N. Kaynak, Robert B. Eisenhuth
  • Patent number: 9053013
    Abstract: A data storage device with a FLASH memory and an operating method for the data storage device are disclosed. According to the disclosure, the space of the FLASH memory is allocated to include groups of data blocks, a plurality of shared cache blocks (SCBs) and a plurality of dedicated cache blocks (DCBs). Each SCB is shared by one group of data blocks, for the write data storage when any data block of the group of data blocks is exhausted. The DCBs are allocated for the hot data storage. Each DCB corresponds to one hot logical block.
    Type: Grant
    Filed: June 3, 2013
    Date of Patent: June 9, 2015
    Assignee: VIA TECHNOLOGIES, INC.
    Inventors: Bo Zhang, Chen Xiu
  • Patent number: 9043773
    Abstract: Techniques for implementing identification and management of unsafe optimizations are disclosed. A method of the disclosure includes receiving, by a managed runtime environment (MRE) executed by a processing device, a notice of misprediction of optimized code, the misprediction occurring during a runtime of the optimized code, determining, by the MRE, whether a local misprediction counter (LMC) associated with a code region of the optimized code causing the misprediction exceeds a local misprediction threshold (LMT) value, and when the LMC exceeds the LMT value, compiling, by the MRE, native code of the optimized code to generate a new version of the optimized code, wherein the code region in the new version of the optimized code is not optimized.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: May 26, 2015
    Assignee: Intel Corporation
    Inventors: Alejandro M. Vicente, Joseph M. Codina, Christos E. Kotselidis, Carlos Madriles, Raul Martinez
  • Patent number: 9043513
    Abstract: A memory system includes a CPU that communicates commands and addresses to a main-memory module. The module includes a buffer circuit that relays commands and data between the CPU and the main memory. The memory module additionally includes an embedded processor that shares access to main memory in support of peripheral functionality, such as graphics processing, for improved overall system performance. The buffer circuit facilitates the communication of instructions and data between CPU and the peripheral processor in a manner that minimizes or eliminates the need to modify CPU, and consequently reduces practical barriers to the adoption of main-memory modules with integrated processing power.
    Type: Grant
    Filed: December 17, 2014
    Date of Patent: May 26, 2015
    Assignee: Rambus Inc.
    Inventors: Richard E. Perego, Pradeep Batra, Steven Woo, Lawrence Lai, Chi-Ming Yeung
  • Publication number: 20150143071
    Abstract: Embodiments of apparatuses and methods for memory event notification are disclosed. In one embodiment, a processor includes address translation hardware and memory event hardware. The address translation hardware is to support translation of a first address, used by software to access a memory, to a second address, used by the processor to access the memory. The memory event hardware is to detect an access to a registered portion of memory.
    Type: Application
    Filed: December 30, 2011
    Publication date: May 21, 2015
    Inventors: Ravi L. Sahita, Yasser Rasheed, Vedvyas Shanbhogue, David M. Durham, Scott H. Robinson, Paul S. Schmitz
  • Patent number: 9037787
    Abstract: A storage system includes a Central Processing Unit (CPU) that has a physically-addressed solid state disk (SSD), addressable using physical addresses associated with user data and provided by a host. The user data is to be stored in or retrieved from the physically-addressed SSD in blocks. Further, a non-volatile memory module is coupled to the CPU and includes flash tables used to manage blocks in the physically addressed SSD. The flash tables have tables that are used to map logical to physical blocks for identifying the location of stored data in the physically addressed SSD. The flash tables are maintained in the non-volatile memory modules thereby avoiding reconstruction of the flash tables upon power interruption.
    Type: Grant
    Filed: November 14, 2014
    Date of Patent: May 19, 2015
    Assignee: AVALANCHE TECHNOLOGY, INC.
    Inventor: Siamack Nemazie
  • Patent number: 9037832
    Abstract: A method for managing a memory apparatus including at least one non-volatile (NV) memory element includes: providing at least one block of the memory apparatus with at least one local page address linking table within the memory apparatus, wherein the at least one local page address linking table includes linking relationships between at least one physical page address of the at least one block and at least one logical page address; and building a global page address linking table of the memory apparatus according to the at least one local page address linking table.
    Type: Grant
    Filed: September 6, 2012
    Date of Patent: May 19, 2015
    Assignee: Silicon Motion Inc.
    Inventors: Tsai-Cheng Lin, Chun-Kun Lee
  • Patent number: 9032377
    Abstract: A computing method includes accepting a definition of a computing task, which includes multiple Processing Elements (PEs) having execution dependencies. The computing task is compiled for concurrent execution on a multiprocessor device, by arranging the PEs in a series of two or more invocations of the multiprocessor device, including assigning the PEs to the invocations depending on the execution dependencies. The multiprocessor device is invoked to run software code that executes the series of the invocations, so as to produce a result of the computing task.
    Type: Grant
    Filed: June 2, 2013
    Date of Patent: May 12, 2015
    Assignee: Rocketick Technologies Ltd.
    Inventors: Shay Mizrachi, Uri Tal, Tomer Ben-David, Ishay Geller, Ido Kasher, Ronen Gal
  • Patent number: 9032145
    Abstract: A memory device includes an address protection system that facilitates the ability of the memory device to interface with a plurality of processors operating in a parallel processing manner. The protection system is used to prevent at least some of a plurality of processors in a system from accessing addresses designated by one of the processors as a protected memory address. Until the processor releases the protection, only the designating processor can access the memory device at the protected address. If the memory device contains a cache memory, the protection system can alternatively or additionally be used to protect cache memory addresses.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: May 12, 2015
    Assignee: Micron Technology, Inc.
    Inventor: David Resnick
  • Patent number: 9032164
    Abstract: The splitting of storage applications and functions into a control path (CP) component and a data path (DP) component is disclosed. Reads and writes may be handled primarily in the DP. The CP may be responsible for discovery, configuration, and exception handling. The CP can also be enabled for orchestrating complex data management operations such as snapshots and migration. Storage virtualization maps a virtual I/O to one or more physical I/O. A virtual target (vTarget) in the virtual domain is associated with one physical port in the physical domain. Each vTarget may be associated with one or more virtual LUNs (vLUNs). Each vLUN includes one or more vExtents. Each vExtent may point to a region table, and each entry in the region table may contain a pointer to a region representing a portion of a pExtent, and attributes (e.g. read/write, read only, no access) for that region.
    Type: Grant
    Filed: February 16, 2007
    Date of Patent: May 12, 2015
    Assignee: Emulex Corporation
    Inventors: Sriram Rupanagunta, Parag Bhide
  • Patent number: 9026714
    Abstract: In one embodiment, a method includes receiving from a memory controller, a request to access memory stored at memory modules, the request directed to one of a plurality of logical ranks, mapping at a rank aggregator, the logical rank to one of a plurality of physical ranks at the memory modules, and forwarding the request to one of the memory modules according to the mapping. Two or more of the memory modules are combined to represent the number of logical ranks at the memory controller such that there is a one-to-one mapping between the logical ranks and the physical ranks. An apparatus for rank aggregation is also disclosed.
    Type: Grant
    Filed: June 4, 2010
    Date of Patent: May 5, 2015
    Assignee: Cisco Technology, Inc.
    Inventors: Jay Evan Scott Peterson, Philip Manela
  • Patent number: 9026767
    Abstract: A system monitors and dynamically changes memory mapping in a runtime of a computing system. The computing system has various memory resources, and multiple possible mappings that indicate how data is to be stored in and subsequently accessed from the memory resources. The performance of each memory mapping may be different under different runtime or load conditions of the computing device. A memory controller can monitor runtime performance of the current memory mapping and dynamically change memory mappings at runtime based on monitored or observed performance of the memory mappings. The performance monitoring can be modified for any of a number of different granularities possible within the system, from the byte level to memory channel.
    Type: Grant
    Filed: March 13, 2012
    Date of Patent: May 5, 2015
    Assignee: Intel Corporation
    Inventors: Andre Schaefer, Matthias Gries
  • Patent number: 9026764
    Abstract: A memory system of a embodiments includes a first storing area having physical blocks and a second storing area recording a logical to physical translation table and an erasure count table keeping data erasure count in physical blocks. The memory system of the embodiments includes a controller which, when a logical address for deletion is notified, obtains data erasure count of a deletion physical block including a deletion area specified by the physical address corresponding to the logical address, and when a physical block having a small erasure count not more than a predetermined rate of the data erasure count exists in the erasure count table, reads out valid data for the memory system in the physical block having a small erasure count onto the second storing area, writes the above data into the deletion area, and invalidates the valid data in the physical block having a small erasure count.
    Type: Grant
    Filed: March 15, 2012
    Date of Patent: May 5, 2015
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Daisuke Hashimoto
  • Patent number: 9021212
    Abstract: In a semiconductor memory computer equipped with a flash memory, use of backed-up data is enabled. The semiconductor memory computer includes an address conversion table for detecting physical addresses of at least two pages storing data by designating a logical address from one of logical addresses to be designated by a reading request. The semiconductor memory computer includes a page status register for detecting one page status allocated to each page, and page statuses to be detected include the at least following four statuses: (1) a latest data storage status, (2) a not latest data storage status, (3) an invalid data storage status, and (4) an unwritten status. By using the address conversion table and the page status register, at least two data s (latest data and past data) can be read for one designated logical address from a host computer.
    Type: Grant
    Filed: February 24, 2014
    Date of Patent: April 28, 2015
    Assignee: Hitachi, Ltd.
    Inventor: Nagamasa Mizushima
  • Patent number: 9021213
    Abstract: A computerized method for sharing removable storage media in a network, the method comprising associating, in an index entry, a first piece of removable storage media in a first storage device with at least a first storage policy copy and a second storage policy copy; copying, to the first piece of removable storage media, data associated with the first storage policy copy; and copying, to the first piece of removable storage media, data associated with the second storage policy copy.
    Type: Grant
    Filed: August 9, 2013
    Date of Patent: April 28, 2015
    Assignee: CommVault Systems, Inc.
    Inventors: Rajiv Kottomtharayil, Parag Gokhale, Anand Prahlad, Manoj Kumar Vijayan, David Ngo, Varghese Devassy
  • Publication number: 20150113245
    Abstract: An example processor includes a plurality of processor core components, a memory interface component, and an address translation gasket. Each processor core component is assigned to one of a plurality of system images, and the plurality of system images share a common memory component by at least utilizing the address translation gasket to maintain separation between memory regions assigned to each of the plurality of system images. The memory interface component is shared by the plurality of independent system images. The address translation gasket is configured to intercept transactions bound for the memory interface component comprising a system image identifier and a target address, generate a translation address based at least in part on the system identifier and the target address, and send the translation address to the memory interface component.
    Type: Application
    Filed: April 30, 2012
    Publication date: April 23, 2015
    Inventors: Gregg B. Lesartre, Vincent Nguyen, Patrick Knebel
  • Patent number: 9015441
    Abstract: A memory scanning system may scan memory objects to determine usage frequency by scanning each memory object using a mapping of the processes stored in memory. The scanning may be performed multiple times to generate a usage history for each page or unit of memory. In some cases, scanning may be performed at different frequencies to determine multiple classifications of usage. The mapping may create a detailed topology of memory usage, including multiple classifications of access frequency, as well as several other classifications. Based on the topology, the objects in memory may be copied to another storage medium or optimized for performance or power consumption.
    Type: Grant
    Filed: April 30, 2010
    Date of Patent: April 21, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Bruce L. Worthington, Vishal Sharda, Qi Zhang, Mehmet Iyigun, Yevgeniy Bak
  • Patent number: 9015400
    Abstract: A computer system and a method are provided that reduce the amount of time and computing resources that are required to perform a hardware table walk (HWTW) in the event that a translation lookaside buffer (TLB) miss occurs. If a TLB miss occurs when performing a stage 2 (S2) HWTW to find the PA at which a stage 1 (S1) page table is stored, the MMU uses the IPA to predict the corresponding PA, thereby avoiding the need to perform any of the S2 table lookups. This greatly reduces the number of lookups that need to be performed when performing these types of HWTW read transactions, which greatly reduces processing overhead and performance penalties associated with performing these types of transactions.
    Type: Grant
    Filed: March 5, 2013
    Date of Patent: April 21, 2015
    Assignee: QUALCOMM Incorporated
    Inventors: Thomas Zeng, Azzedine Touzni, Tzung Ren Tzeng, Phil J. Bostley
  • Patent number: 9015445
    Abstract: A method of manipulating data includes receiving a data manipulation command for corresponding data, which corresponds to a first logical block address, to a second logical block address. The method further includes mapping the second logical block address to a physical block address, which is mapped to the first logical block address, in response to the data manipulation command. A system for manipulating data includes a host and a flash translation layer. The host transmits a data manipulation command for corresponding data, which corresponds to a first logical block address, to a second logical block address. The flash translation layer maps the second logical block address to a physical block address, which is mapped to the first logical block address, in response to the data manipulation command.
    Type: Grant
    Filed: June 19, 2013
    Date of Patent: April 21, 2015
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Myung-hyun Jo, Chan-ik Park
  • Patent number: 9009387
    Abstract: In a memory system using a storage medium, which is inserted into an electronic apparatus via a connector to add a memory function thereto, the storage medium has a GROUND terminal, a power supply terminal, a control terminal and a data input/output terminal, and the connector has a function of being sequentially connected to each of the terminals. When the storage medium is inserted into the connector, the GROUND terminal and control terminal of the storage medium are connected to corresponding terminals of the connector before the power supply terminal and data input/output terminal of the storage medium are connected to corresponding terminals of the connector. Thus, it is possible to improve the stability when a memory card is inserted into or ejected from the memory system.
    Type: Grant
    Filed: February 8, 2010
    Date of Patent: April 14, 2015
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Yoshiyuki Tanaka, Makoto Yatabe, Takeaki Sato, Kazuya Kawamoto
  • Patent number: 9009446
    Abstract: The disclosed embodiments provide a system that uses broadcast-based TLB-sharing techniques to reduce address-translation latency in a shared-memory multiprocessor system with two or more nodes that are connected by an electrical interconnect. During operation, a first node receives a memory operation that includes a virtual address. Upon determining that one or more TLB levels of the first node will miss for the virtual address, the first node uses the electrical interconnect to broadcast a TLB request to one or more additional nodes of the shared-memory multiprocessor in parallel with scheduling a speculative page-table walk for the virtual address. If the first node receives a TLB entry from another node of the shared-memory multiprocessor via the electrical interconnect in response to the TLB request, the first node cancels the speculative page-table walk. Otherwise, if no response is received, the first node instead waits for the completion of the page-table walk.
    Type: Grant
    Filed: August 2, 2012
    Date of Patent: April 14, 2015
    Assignee: Oracle International Corporation
    Inventors: Pranay Koka, David A. Munday, Michael O. McCracken, Herbert D. Schwetman, Jr.
  • Patent number: 9009441
    Abstract: In general, this disclosure describes techniques for selecting a memory channel in a multi-channel memory system for storing data, so that usage of the memory channels is well-balanced. A request to write data to a logical memory address of a memory system may be received. The logical memory address may include a logical page number and a page offset, where the logical page number maps to a physical page number and the logical memory address maps to a physical memory address. A memory unit out of a plurality of memory units in the memory system may be determined by performing a logical operation on one or more bits of the page offset and one or more bits of the physical page number. The data may be written to a physical memory address in the determined memory unit in the memory system.
    Type: Grant
    Filed: June 4, 2012
    Date of Patent: April 14, 2015
    Assignee: QUALCOMM Incorporated
    Inventors: Lin Chen, Long Chen
  • Patent number: 9009383
    Abstract: Systems, methods, and devices for dynamically mapping and remapping memory when a portion of memory is activated or deactivated are provided. In accordance with an embodiment, an electronic device may include several memory banks, one or more processors, and a memory controller. The memory banks may store data in hardware memory locations and may be independently deactivated. The processors may request the data using physical memory addresses, and the memory controller may translate the physical addresses to hardware memory locations. The memory controller may use a first memory mapping function when a first number of memory banks is active and a second memory mapping function when a second number is active. When one of the memory banks is to be deactivated, the memory controller may copy data from only the memory bank that is to be deactivated to the active remainder of memory banks.
    Type: Grant
    Filed: July 15, 2014
    Date of Patent: April 14, 2015
    Assignee: Apple Inc.
    Inventors: Ian C. Hendry, Rajabali Koduri, Jeffry E. Gonion
  • Patent number: 9009388
    Abstract: A method and system for efficiently freeing storage in a Redundant Array of Independent Disks (RAID) system. A computer system is coupled to storage devices that are organized as a RAID with block-level striping. Each storage device is partitioned into multiple physical sectors. The computer system receives a request to free a contiguous range of logical sectors that are mapped to the storage devices. In response, the computer system issues, for each storage device, a discard command to free contiguous physical sectors in the storage device that correspond to non-contiguous logical sectors.
    Type: Grant
    Filed: November 30, 2010
    Date of Patent: April 14, 2015
    Assignee: Red Hat, Inc.
    Inventors: Mikulá{hacek over (s)} Pato{hacek over (c)}ka, Michael A. Snitzer
  • Patent number: 9009440
    Abstract: A storage system stores data in at least one partition of a physical storage media in accordance with file system information specifying a plurality of logical blocks having logical block addresses within the partition. The logical blocks include excess logical blocks that are not mapped to space in the physical storage media by the mapping employed by the storage system. Unusable block data marks those excess logical blocks as unusable. This makes it easy to adjust the data storage capacity of the storage system by changing the mapping to map more or less logical block addresses to space in the physical storage media and thereby destroy or create excess logical blocks, and by changing the unusable block data to correspondingly change the excess logical blocks marked as unusable.
    Type: Grant
    Filed: November 12, 2007
    Date of Patent: April 14, 2015
    Assignee: LSI Corporation
    Inventors: Duncan Beadnell, Don Harwood
  • Patent number: 9003159
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, can perform data caching. In some implementations, a method and system include receiving information that includes a logical address, allocating a physical page in a non-volatile memory structure, mapping the logical address to a physical address of the physical page, and writing, based on the physical address, data to the non-volatile memory structure to cache information associated with the logical address. The logical address can include an identifier of a data storage device and a logical page number.
    Type: Grant
    Filed: October 5, 2010
    Date of Patent: April 7, 2015
    Assignee: Marvell World Trade Ltd.
    Inventors: Shekhar S. Deshkar, Sandeep Karmarkar, Arvind Pruthi, Ram Kishore Johri
  • Patent number: 9003164
    Abstract: In one embodiment, the present invention includes a memory management unit (MMU) having entries to store virtual address to physical address translations, where each entry includes a location indicator to indicate whether a memory location for the corresponding entry is present in a local or remote memory. In this way, a common virtual memory space can be shared between the two memories, which may be separated by one or more non-coherent links. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 21, 2014
    Date of Patent: April 7, 2015
    Assignee: Intel Corporation
    Inventors: Gautham N. Chinya, Hong Wang, Deepak A. Mathaikutty, Jamison D. Collins, Ethan Schuchman, James P. Held, Ajay V. Bhatt, Prashant Sethi, Stephen F. Whalley
  • Patent number: 9003155
    Abstract: Method and system for managing storage units are provided. A free space module scans a storage unit data structure and a reference data structure to generate an intermediate data structure that identifies storage units that are not referenced by any storage unit client. A lookup module is initiated and the storage unit clients are notified that all new references to any storage unit should be verified with the lookup module. The free space module then verifies if any of the storage units in the intermediate data structure have been referenced since the intermediate data structure was created. Any referenced storage units are removed from the intermediate data structure and a data structure identifying unreferenced storage units is generated. The data structure is then used to allocate the identified storage units.
    Type: Grant
    Filed: June 7, 2013
    Date of Patent: April 7, 2015
    Assignee: NetApp, Inc.
    Inventors: Satish Singhal, Abhishek Naidu, Ameet Pyati
  • Patent number: 8996842
    Abstract: A method for managing a memory stack provides mapping a part of the memory stack to a span of fast memory and a part of the memory stack to a span of slow memory, wherein the fast memory provides access speed substantially higher than the access speed provided by the slow memory.
    Type: Grant
    Filed: December 9, 2010
    Date of Patent: March 31, 2015
    Assignee: Seagate Technology LLC
    Inventors: Mark Gaertner, Mark Alan Heath
  • Patent number: 8996644
    Abstract: A data processing system comprising a host computer system and a network interface device for connection to a network, the host computer system and network interface device being coupled together by means of a data bus, and: the network interface device comprising: a controller unit having a first data port for connection to a network, a second data port, and a data bus interface connected to said data bus, the controller unit being operable to perform, in dependence on the network endpoints to which data packets received at the network interface device are directed, switching of data packets between the first and second data ports and the data bus interface; and an accelerator module having a first medium access controller coupled to said second data port of the controller unit and a processor operable to perform one or more functions in hardware on data packets received at the accelerator module, the said first medium access controller being operable to support one or more first network endpoints; the host
    Type: Grant
    Filed: December 9, 2010
    Date of Patent: March 31, 2015
    Assignee: Solarflare Communications, Inc.
    Inventor: Steven L. Pope
  • Patent number: 8996840
    Abstract: An I/O controller, coupled to a processing unit and to a memory, includes an I/O link interface configured to receive data packets having virtual addresses; an address translation unit having an address translator to translate received virtual addresses into real addresses by translation control entries and a cache allocated to the address translator to cache a number of the translation control entries; an I/O packet processing unit for checking the data packets received at the I/O link interface and for forwarding the checked data packets to the address translation unit; and a prefetcher to forward address translation prefetch information from a data packet received to the address translation unit; the address translator configured to fetch the translation control entry for the data packet by the address translation prefetch information from the allocated cache or, if the translation control entry is not available in the allocated cache, from the memory.
    Type: Grant
    Filed: December 5, 2012
    Date of Patent: March 31, 2015
    Assignee: International Business Machines Corporation
    Inventors: Florian A. Auernhammer, Patricia M. Sagmeister
  • Patent number: 8997255
    Abstract: A data storage device may include one or more pages, each page having a fixed number of memory cells, each memory cell being adapted to store one unit of data; a verification page, the verification page having a corresponding fixed number of verification cells, each verification cell storing a predetermined value; and a controller configured to 1) receive a read command having an address value, and 2) upon receiving the read command, a) retrieve a predetermined value from a verification cell corresponding to the address value, b) determine whether the retrieved predetermined value is an expected value, and c) if so, providing a retrieved unit of data, and if not, initiating a protective action. Determining whether the retrieved predetermined value is the expected value may include applying a function to the address value to obtain a result and determining whether the result corresponds to the retrieved predetermined value.
    Type: Grant
    Filed: September 7, 2006
    Date of Patent: March 31, 2015
    Assignee: Inside Secure
    Inventors: Yves Fusella, Alexandre Croguennec
  • Publication number: 20150089183
    Abstract: A memory subsystem includes a group of memory devices connected to an address bus. The memory subsystem includes logic to uniquely map a physical address of a memory access command to each memory device of the group. Thus, each physical address sent by an associated memory controller uniquely accesses a different row of each memory device, instead of being mapped to the same or corresponding row of each memory device.
    Type: Application
    Filed: September 26, 2013
    Publication date: March 26, 2015
    Inventors: KULJIT S. BAINS, Suneeta Sah, John H. Crawford, Brian S. Morris