Translation Tables (e.g., Segment And Page Table Or Map) Patents (Class 711/206)
-
Patent number: 8990525Abstract: A virtual memory management apparatus of an embodiment is embedded in a computing machine 80 and is provided with an application program 21, an operating system 22, a volatile memory 11, and a nonvolatile memory 12. The volatile memory 11 is provided with a plurality of clean pages. The nonvolatile memory 12 is provided with a plurality of dirty pages and a page table memory unit 51. The operating system 22 is provided with a virtual memory management unit 23 which includes a page transfer unit 25.Type: GrantFiled: May 6, 2014Date of Patent: March 24, 2015Assignee: Kabushiki Kaisha ToshibaInventors: Hideki Yoshida, Tatsunori Kanai, Masaya Tarui, Yutaka Yamada
-
Publication number: 20150082001Abstract: One embodiment of the present invention includes techniques to support demand paging across a processing unit. Before a host unit transmits a command to an engine that does not tolerate page faults, the host unit ensures that the virtual memory addresses associated with the command are appropriately mapped to physical memory addresses. In particular, if the virtual memory addresses are not appropriately mapped, then the processing unit performs actions to map the virtual memory address to appropriate locations in physical memory. Further, the processing unit ensures that the access permissions required for successful execution of the command are established. Because the virtual memory address mappings associated with the command are valid when the engine receives the command, the engine does not encounter page faults upon executing the command. Consequently, in contrast to prior-art techniques, the engine supports demand paging regardless of whether the engine is involved in remedying page faults.Type: ApplicationFiled: September 13, 2013Publication date: March 19, 2015Applicant: NVIDIA CORPORATIONInventors: Samuel H. DUNCAN, Jerome F. DULUK, JR., Jonathon Stuart Ramsay EVANS, James Leroy DEMING
-
Patent number: 8984253Abstract: The present disclosure includes methods for transaction log recovery in memory. One such method includes examining a number of entries saved in a transaction log to determine a write pattern, reading the memory based on the write pattern, updating the transaction log with information associated with data read from the memory based on the write pattern, and updating a logical address (LA) table using the transaction log.Type: GrantFiled: July 23, 2013Date of Patent: March 17, 2015Assignee: Micron Technology, Inc.Inventor: Joseph M. Jeddeloh
-
Patent number: 8984255Abstract: A data processing device is provided that employs multiple translation look-aside buffers (TLBs) associated with respective processors that are configured to store selected address translations of a page table of a memory shared by the processors. The processing device is configured such that when an address translation is requested by a processor and is not found in the TLB associated with that processor, another TLB is probed for the requested address translation. The probe across to the other TLB may occur in advance of a walk of the page table for the requested address or alternatively a walk can be initiated concurrently with the probe. Where the probe successfully finds the requested address translation, the page table walk can be avoided or discontinued.Type: GrantFiled: December 21, 2012Date of Patent: March 17, 2015Assignee: Advanced Micro Devices, Inc.Inventors: Lisa Hsu, Nuwan Jayasena, Andrew Kegel, Bradford M. Beckmann
-
Publication number: 20150067296Abstract: A memory management unit for 110 devices uses page table entries to translate virtual addresses to physical addresses. The page table entries include removal rules allowing the I/O memory management unit to delete page table entries without CPU involvement significantly reducing the CPU overhead involved in virtualized I/O data transactions.Type: ApplicationFiled: August 28, 2013Publication date: March 5, 2015Applicant: Wisconsin Alumni Research FoundationInventors: Arkaprava Basu, Mark D. Hill, Michael M. Swift
-
Publication number: 20150067230Abstract: Methods for read after write forwarding using a virtual address are disclosed. A method includes determining when a virtual address has been remapped from corresponding to a first physical address to a second physical address and determining if all stores occupying a store queue before the remapping have been retired from the store queue. Loads that are younger than the stores that occupied the store queue before the remapping are prevented from being dispatched and executed until the stores that occupied the store queue before the remapping have left the store queue and become globally visible.Type: ApplicationFiled: August 30, 2013Publication date: March 5, 2015Applicant: Soft Machines, Inc.Inventors: Karthikeyan Avudaiyappan, Paul Chan
-
Publication number: 20150067297Abstract: DMA translation table entries include a consecutive count (CC) field that indicates how many subsequent translation table entries point to successive real page numbers. A DMA address translation mechanism stores a value in the CC field when a translation table entry is stored, and updates the CC field in other affected translation table entries as well. When a translation table entry is read, and the CC field is non-zero, the DMA controller can use multiple RPNs from the access to the single translation table entry. Thus, if a translation table entry has a value of 2 in the CC field, the DMA address translation mechanism knows it can access the real page number (RPN) corresponding to the translation table entry, and also knows it can access the two subsequent RPNs without the need of reading the next two subsequent translation table entries.Type: ApplicationFiled: April 14, 2014Publication date: March 5, 2015Applicant: International Business Machines CorporationInventors: Jesse P. Arroyo, Gregory M. Nordstrom, Srinivas Kotta, Eric N. Lais
-
Patent number: 8972669Abstract: An apparatus includes a processor and a volatile memory that is configured to be accessible in an active memory sharing configuration. The apparatus includes a machine-readable encoded with instructions executable by the processor. The instructions including first virtual machine instructions configured to access the volatile memory with a first virtual machine. The instructions including second virtual machine instructions configured to access the volatile memory with a second virtual machine. The instructions including virtual machine monitor instructions configured to page data out from a shared memory to a reserved memory section in the volatile memory responsive to the first virtual machine or the second virtual machine paging the data out from the shared memory or paging the data in to the shared memory. The shared memory is shared across the first virtual machine and the second virtual machine. The volatile memory includes the shared memory.Type: GrantFiled: February 15, 2013Date of Patent: March 3, 2015Assignee: International Business Machines CorporationInventors: Vaijayanthimala K. Anand, David Navarro, Bret R. Olszewski, Sergio Reyes
-
Patent number: 8972651Abstract: A storage system comprises a storage comprising a nonvolatile storage medium, and a storage control apparatus for inputting/outputting data to/from the storage. The storage control apparatus comprises a memory for storing management information, which is information used in inputting/outputting data to/from the storage, and a control part for controlling access to the storage. The control part stores the management information, which is stored in the memory, in the storage as a base image, and when the management information is updated subsequent to the base image being stored in the storage, creates a journal comprising information related to this update, and stores the journal in the storage as a journal group which is configured from multiple journals.Type: GrantFiled: October 5, 2011Date of Patent: March 3, 2015Assignee: Hitachi, Ltd.Inventors: Atsushi Kawamura, Junji Ogawa
-
Patent number: 8972696Abstract: A system and method for maintaining a pagefile of a computer system using a technique of reserving portions of the pagefile for related memory pages. Pages near one another in a virtual memory space often store related information and it is therefore beneficial to ensure that they are stored near each other in the pagefile. This increases the speed of reading data out of the pagefile because total seek time of a disk drive that stores the pagefile may decrease when adjacent pages in a virtual memory address space are read back from the disk drive. By implementing a reservation system that allows related pages to be stored adjacent to one another, the efficiency of memory management of the computer system is increased.Type: GrantFiled: March 7, 2011Date of Patent: March 3, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Yevgeniy M. Bak, Mehmet Iyigun, Landy Wang
-
Patent number: 8972668Abstract: A transactional memory (TM) receives a lookup command across a bus from a processor. The command includes a memory address, a starting bit position, and a mask size. In response to the command, the TM pulls an input value (IV). The memory address is used to read a word containing multiple result values (RVs) and multiple key values from memory. Each key value indicates a single RV to be output by the TM. A selecting circuit within the TM uses the starting bit position and mask size to select a portion of the IV. The portion of the IV is a key selector value. A key value is selected based upon the key selector value. A RV is selected based upon the key value. The key value is selected by a key selection circuit. The RV is selected by a result value selection circuit.Type: GrantFiled: November 13, 2012Date of Patent: March 3, 2015Assignee: Netronome Systems, IncorporatedInventor: Gavin J. Stark
-
Publication number: 20150058594Abstract: A computing device may split a translation table used when performing a DMA operation into two different translation tables. To split the translation table, the computing device may update the registers in the IOMMU to include pointers to the two different translation tables. For example, the IOMMU may update one register to point to the same starting address as the original translation table but assign a shorter length (i.e., fewer entries) to that table. The extra entries may then be used to form the other translation table by adding a new pointer to one of the IOMMU registers. The two translation tables may be owned by the same service provider or two different service providers. Alternatively, the computing device may assign the two tables to the same service provider which in turn assigns the tables to respective client devices executed by the service provider.Type: ApplicationFiled: August 22, 2013Publication date: February 26, 2015Applicant: International Business Machines CorporationInventors: Justin K. KING, John R. OBERLY, III, Travis J. PIZEL
-
Publication number: 20150058595Abstract: Hardware circuitry may evaluate minimal perfect hash functions mapping keys to addresses in lookup tables. The circuitry may include primary hash function sub-circuits that apply linear hash functions to input key values (using carry-free arithmetic) to produce primary hash values. Each sub-circuit may multiply bit vectors representing key values by a bit matrix and add a constant bit vector to the result. The circuitry may include a secondary hash function sub-circuit that generates secondary hash values by aggregating values associated with multiple primary hash values using signed, unsigned, or modular integer addition, or bit-wise XOR operations. Secondary hash values may be usable to access data values in the lookup table that are associated with particular input key values. The circuitry may determine the validity of input keys and may alter the configuration or contents of the lookup tables. The hash function sub-circuits may include programmable hash tables.Type: ApplicationFiled: August 26, 2013Publication date: February 26, 2015Applicant: Oracle International CorporationInventors: Nils Gura, Guy L. Steele, JR., David R. Chase
-
Publication number: 20150058597Abstract: A computing device may split a translation table used when performing a DMA operation into two different translation tables. To split the translation table, the computing device may update the registers in the IOMMU to include pointers to the two different translation tables. For example, the IOMMU may update one register to point to the same starting address as the original translation table but assign a shorter length (i.e., fewer entries) to that table. The extra entries may then be used to form the other translation table by adding a new pointer to one of the IOMMU registers. The two translation tables may be owned by the same service provider or two different service providers. Alternatively, the computing device may assign the two tables to the same service provider which in turn assigns the tables to respective client devices executed by the service provider.Type: ApplicationFiled: October 18, 2013Publication date: February 26, 2015Applicant: International Business Machines CorporationInventors: Justin K. KING, John R. OBERLY, III, Travis J. PIZEL
-
Publication number: 20150058593Abstract: A computing device may merge two translation tables used when performing a DMA operation into a single, combined translation table. To merge the translation tables, the computing device may update a register in the IOMMU to include a pointer to the combined translation table. In addition, the IOMMU may clear one of the registers from having a pointer to one of the merged translation table. Doing so means the entries in this translation table are now no longer assigned. The IOMMU may update the register with the pointer to the combined translation table to include the unassigned entries in the combined translation table. In this manner, the entries from the two translation tables are merged into the single, combined table. The combined translation table may be owned or assigned to a service provider that originally owned one of the merged translation tables or to a completely different service provider.Type: ApplicationFiled: August 22, 2013Publication date: February 26, 2015Applicant: International Business Machines CorporationInventors: Justin K. KING, John R. OBERLY, III, Travis J. PIZEL
-
Publication number: 20150058596Abstract: A computing device may merge two translation tables used when performing a DMA operation into a single, combined translation table. To merge the translation tables, the computing device may update a register in the IOMMU to include a pointer to the combined translation table. In addition, the IOMMU may clear one of the registers from having a pointer to one of the merged translation table. Doing so means the entries in this translation table are now no longer assigned. The IOMMU may update the register with the pointer to the combined translation table to include the unassigned entries in the combined translation table. In this manner, the entries from the two translation tables are merged into the single, combined table. The combined translation table may be owned or assigned to a service provider that originally owned one of the merged translation tables or to a completely different service provider.Type: ApplicationFiled: October 18, 2013Publication date: February 26, 2015Applicant: International Business Machines CorporationInventors: Justin K. KING, John R. OBERLY, III, Travis J. PIZEL
-
Patent number: 8966155Abstract: A method, apparatus, and computer program product for implementing a high-performance data storage device using block-access memory devices are disclosed. According to an embodiment of the present invention, a storage device includes a block-access memory device configured to stored data in one or more physical sector addresses and a random-access memory device storing a logical-to-physical (L2P) sector address translation data structure. Also, the storage device includes a device manager, coupled to both the block-access memory device and the random-access memory. The device manager is configured to determine a physical sector address in the block-access memory device, in response to a data access request, wherein the data access request includes a logical sector address by mapping the logical sector address to a physical sector address using the L2P sector address translation data structure.Type: GrantFiled: March 31, 2009Date of Patent: February 24, 2015Inventor: Daniel P. Mulligan
-
Patent number: 8966220Abstract: Embodiments of the disclosure include a method for optimizing large page processing. The method includes receiving an indication that a real memory includes a first page. The first page includes a plurality of smaller pages. The method also includes determining a page frame table entry associated with a first smaller page of the first page and storing data associated with the first page in the page frame table entry associated with the first smaller page. The page frame table entry associated with the first smaller page of the first page is a data repository for the plurality of smaller pages of the first page.Type: GrantFiled: January 15, 2013Date of Patent: February 24, 2015Assignee: International Business Machines CorporationInventors: Alfred F. Foster, David Horn, Charles E. Mari, Matthew J. Mauriello, Robert Miller, Jr., Mariama Ndoye, Scott B. Tuttle, Elpida Tzortzatos
-
Patent number: 8959304Abstract: A data processing apparatus comprises a primary processor, a secondary processor configured to perform secure data processing operations and non-secure data processing operations and a memory configured to store secure data used by the secondary processor when performing the secure data processing operations and configured to store non-secure data used by the secondary processor when performing the non-secure data processing operations, wherein the secure data cannot be accessed by the non-secure data processing operations, wherein the secondary processor comprises a memory management unit configured to administer accesses to the memory from the secondary processor, the memory management unit configured to perform translations between virtual memory addresses used by the secondary processor and physical memory addresses used by the memory, wherein the translations are configured in dependence on a page table base address, the page table base address identifying a storage location in the memory of a set of desType: GrantFiled: February 26, 2013Date of Patent: February 17, 2015Assignee: ARM LimitedInventors: Dominic Hugo Symes, Ola Hugosson, Donald Felton, Sean Tristram Ellis
-
Patent number: 8959302Abstract: An exemplary computer system includes a server module including a first processor and first memory, a storage module including a second processor, a second memory and a storage device, and a transfer module. The transfer module retrieves a first transfer list including an address of a first storage area, which is set on the first memory for a read command, from the server module. The transfer module retrieves a second transfer list including an address of a second storage area in the second memory, in which data corresponding to the read command read from the storage device is stored temporarily, from the storage module. The transfer module sends the data corresponding to the read command in the second storage area to the first storage area by controlling the data transfer between the second storage area and the first storage area based on the first and second transfer lists.Type: GrantFiled: August 7, 2014Date of Patent: February 17, 2015Assignee: Hitachi, Ltd.Inventors: Yuki Kondoh, Isao Ohara
-
Patent number: 8954707Abstract: A mechanism is provided for automatic use of large pages. An operating system loader performs aggressive contiguous allocation followed by demand paging of small pages into a best-effort contiguous and naturally aligned physical address range sized for a large page. The operating system detects when the large page is fully populated and switches the mapping to use large pages. If the operating system runs low on memory, the operating system can free portions and degrade gracefully.Type: GrantFiled: August 3, 2012Date of Patent: February 10, 2015Assignee: International Business Machines CorporationInventors: Ahmed Gheith, Eric Van Hensbergen, James Xenidis
-
Patent number: 8954435Abstract: A method for storage reclamation in a shared storage device. The method includes executing a distributed computer system having a plurality of file systems accessing storage on a shared storage device, and initiating a reclamation operation by using a reclamation agent that accesses the shared storage device. The method further includes reading the file system data structure that represent unallocated storage blocks of one of the plurality of file systems that will undergo a reclamation operation. A plurality of I/O resources that are used to provide I/O to the unallocated storage blocks are then interrupted. Storage from the unallocated storage blocks is then reclaimed, and normal operation of the I/O resources that are used to provide I/O to the unallocated storage blocks is resumed.Type: GrantFiled: April 22, 2011Date of Patent: February 10, 2015Assignee: Symantec CorporationInventors: Kedar Shrikrishna Patwardhan, Anirban Mukherjee, Kirubakaran Kaliannan
-
Patent number: 8954959Abstract: A method and system for managing direct memory access (DMA) in a computer system without a host input/output memory management unit (IOMMU). The computer system hosts virtual machines and allows memory overcommit. The computer receives, from a guest operating system that runs on a virtual machine, a request for mapping a guest address to a bus address. The computer translates the guest address to a host address and pins a memory page containing the host address to keep the memory page in host memory. The host address is then returned to the guest operating system to allow a device to use the host address as the bus address for direct memory access (DMA) to a buffer managed by the guest operating system.Type: GrantFiled: September 16, 2010Date of Patent: February 10, 2015Assignee: Red Hat Israel, Ltd.Inventors: Michael Tsirkin, Christopher M. Wright
-
Patent number: 8954685Abstract: A method, computer program product and computer system for virtualizing an SAS storage adapter, so as to allow logical partitions of a computer system to share a storage device. The method, computer program product and computer system includes assigning a logical storage adapter to an operating system of each of the logical partitions; creating a mapping from each of the logical partitions to a set of logical blocks in the storage device; and configuring the logical storage adapter using a hypervisor, so that a select partition can access a select set of logical blocks that the select partition is allowed to access.Type: GrantFiled: June 23, 2008Date of Patent: February 10, 2015Assignee: International Business Machines CorporationInventors: Brian E Bakke, Ellen M Bauman, Timothy J Schimke, Lee A Sendelbach
-
Patent number: 8954694Abstract: A data storage device comprises a plurality of non-volatile memory devices configured to store a plurality of physical pages; a controller coupled to the plurality of memory devices that is configured to program data to and read data from the plurality of memory devices. A volatile memory may be coupled to the controller and may be configured to store a firmware table comprising a plurality of firmware table entries. The controller may be configured to maintain a plurality of firmware journals in the non-volatile memory devices. Each of the firmware journals may be associated with a firmware table entry and may comprise firmware table entry information. The controller may be configured to read the plurality of firmware journals upon startup and rebuild the firmware table using the firmware table entry information in each of the read plurality of firmware journals.Type: GrantFiled: November 15, 2012Date of Patent: February 10, 2015Assignees: Western Digital Technologies, Inc., Skyera, Inc.Inventors: Andrew J. Tomlin, Justin Jones, Rodney N. Mullendore
-
Patent number: 8954698Abstract: Memory is dynamically switched through the optical-switching fabric using at least one communication pattern to transfer memory space in the memory blades from one processor to an alternative processor in the processor blades without physically copying data in the memory to the processors. Various communication patterns for the dynamically switching are supported.Type: GrantFiled: April 13, 2012Date of Patent: February 10, 2015Assignee: International Business Machines CorporationInventors: Eugen Schenfeld, Abhirup Chakraborty
-
Patent number: 8954701Abstract: Memory is dynamically switched through the optical-switching fabric using at least one communication pattern to transfer memory space in the memory blades from one processor to an alternative processor in the processor blades without physically copying data in the memory to the processors. Various communication patterns for the dynamically switching are supported.Type: GrantFiled: March 6, 2013Date of Patent: February 10, 2015Assignee: International Business Machines CorporationInventors: Eugen Schenfeld, Abhirup Chakraborty
-
Patent number: 8954710Abstract: A system and method for maintaining a mapping table in a data storage subsystem. A data storage subsystem supports multiple mapping tables including a plurality of entries. Each of the entries comprise a tuple including a key. A data storage controller is configured to encode each tuple in the mapping table using a variable length encoding. Additionally, the mapping table may be organized as a plurality of time ordered levels, with each level including one or more mapping table entries. Further, a particular encoding of a plurality of encodings for a given tuple may be selected based at least in part on a size of the given tuple as unencoded, a size of the given tuple as encoded, and a time to encode the given tuple.Type: GrantFiled: June 23, 2014Date of Patent: February 10, 2015Assignee: PURE Storage, Inc.Inventors: John Colgrove, John Hayes, Ethan Miller
-
Patent number: 8954697Abstract: A system configures page tables to cause an operating system to copy original page data in a data store when any one of the application processes makes a first write request for the original page data. The system detects a page fault from a memory management unit receiving a first write request from one of the application processes and creates the copy in physical memory to allow the application process to modify the page data copy. The other application processes have read access to the original page data. The system replaces the original page data in the data store with the page data copy in response to receiving a first synchronization request from the application process and updates a page table for one of the other application processes to configure access to the replaced page data in response to receiving a second synchronization request from the one other application process.Type: GrantFiled: August 5, 2010Date of Patent: February 10, 2015Assignee: Red Hat, Inc.Inventors: Neil R. T. Horman, Eric L. Paris, Jeffrey T. Layton
-
Patent number: 8954648Abstract: The invention provides a memory device. In one embodiment, the memory device comprises a flash memory, a memory, and a controller. The flash memory comprises a plurality of blocks for data storage. The memory stores an address mapping table recording relationships between logical addresses and physical addresses of the blocks therein. The controller divides the address mapping table stored in the memory to a plurality of mapping table units, updates relationships between the logical addresses and the physical addresses stored in the mapping table units, determines whether data access performed to the flash memory fulfills the conditions of a first specific requirement, and when the data access fulfills the conditions of the first requirement, the controller selects a target mapping table unit from the mapping table units, and stores the target mapping table unit and a corresponding time stamp as a mapping table unit data to the flash memory.Type: GrantFiled: July 11, 2011Date of Patent: February 10, 2015Assignee: Via Technologies, Inc.Inventors: Liang Chen, Chen Xiu
-
Patent number: 8949515Abstract: Disclosed is a storage device using non-volatile semiconductor memory that achieves high performance and long life for the device. When managing the non-volatile semiconductor memory (2), physical blocks are classified into three types: scratch blocks (22), data blocks (23), and erased blocks (24). Data writing from a host device (3) is performed on the scratch blocks. When the number of empty pages within a scratch block becomes less than a predetermined number or no longer exists, the block is treated thereafter as a data block, and one of the erased blocks is newly assigned as a scratch block. If there are insufficient erased blocks, a block with relatively less valid data is selected from among the data blocks. After copying all valid data included in the block to a scratch block, the block is erased, and thus an erased block is acquired.Type: GrantFiled: December 1, 2010Date of Patent: February 3, 2015Assignee: Hitachi, Ltd.Inventors: Masataka Nishi, Ryo Fujita, Ryoichi Inada, Takuma Nishimura, Masahiro Shiraishi, Koji Matsuda
-
Patent number: 8949571Abstract: A processor including logic to execute an instruction to synchronize a mapping from a physical address of a guest of a virtualization based system (guest physical address) to a physical address of the host of the virtualization based system (host physical address), and stored in a translation lookaside buffer (TLB), with a corresponding mapping stored in an extended paging table (EPT) of the virtualization based system.Type: GrantFiled: November 3, 2013Date of Patent: February 3, 2015Assignee: Intel CorporationInventors: Steven M. Bennett, Andrew V. Anderson, Gilbert Neiger, Richard Uhlig, Dion Rodgers, Rajesh M Sankaran, Camron Rust, Sebastian Schoenberg
-
Patent number: 8949512Abstract: Systems and methods are disclosed for trim token journaling. A device can monitor the order in which trim commands and write commands are applied to an indirection system stored in a volatile memory of the device. In some embodiments, the device can directly write to a page of an NVM with a trim token that indicates that a LBA range stored in the page has been trimmed. In other embodiments, a device can add pending trim commands to a trim buffer stored in the volatile memory. Then, when the trim buffer reaches a pre-determined threshold or a particular trigger is detected, trim tokens associated with all of the trim commands stored in the trim buffer can be written to the NVM. Using these approaches, the same sequence of events that was applied to the indirection system during run-time can be applied during device boot-up.Type: GrantFiled: February 17, 2012Date of Patent: February 3, 2015Assignee: Apple Inc.Inventors: Andrew W. Vogan, Matthew J. Byom, Daniel J. Post
-
Publication number: 20150032988Abstract: A method and circuit arrangement selectively perform regular expression matching in connection with accessing data with a processing unit based upon one or more regular expression matching-related attributes stored in a memory address translation data structure such as an Effective To Real Translation (ERAT) or Translation Lookaside Buffer (TLB). A regular expression matching-related attribute in such a data structure may be used to control whether data being communicated between the processing unit and a communications bus is routed through an expression engine integrated with the processing unit such that regular expression matching may be performed in association with the data communication.Type: ApplicationFiled: July 23, 2013Publication date: January 29, 2015Applicant: International Business Machines CorporationInventors: Adam J. Muff, Paul E. Schardt, Robert A. Shearer, Matthew R. Tubbs
-
Patent number: 8943295Abstract: A system and method for mapping file block numbers (FBNs) to logical block addresses (LBAs) is provided. The system and method performs the mapping of FBNs to LBAs in a file system layer of a storage operating system, thereby enabling the use of clients in a storage environment that have not been modified to incorporate mapping tables. As a result, a client may send data access requests to the storage system utilizing FBNs and have the storage system perform the appropriate mapping to LBAs.Type: GrantFiled: October 10, 2008Date of Patent: January 27, 2015Assignee: NetApp, Inc.Inventor: Vijayan Rajan
-
Patent number: 8943296Abstract: One or more unused bits of a virtual 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: GrantFiled: April 28, 2011Date of Patent: January 27, 2015Assignee: VMware, Inc.Inventors: Benjamin C. Serebrin, Bhavesh Mehta
-
Patent number: 8938571Abstract: A set of techniques is described for performing input/output (I/O) between a guest domain and a host domain in a virtualized environment. A pool of memory buffers is reserved for performing virtualized I/O operations. The reserved pool of memory buffers has static mappings that grant access to both the guest domain and the host domain. When a request to perform an I/O operation is received, the system can determine whether the memory buffers allocated to the I/O operation belong to the reserved pool. If the buffers are in the reserved pool, the host domain executes the I/O operation using the buffers without the need to map/unmap the buffers and perform TLB flushes. If the buffers are not in the reserved pool, the system can either copy the data into the reserved pool or perform the mapping and unmapping of the memory buffers to the address space of the host domain.Type: GrantFiled: June 13, 2012Date of Patent: January 20, 2015Assignee: Amazon Technologies, Inc.Inventor: Pradeep Vincent
-
Patent number: 8938602Abstract: A first processing unit and a second processing unit can access a system memory that stores a common page table that is common to the first processing unit and the second processing unit. The common page table can store virtual memory addresses to physical memory addresses mapping for memory chunks accessed by a job of an application. A page entry, within the common page table, can include a first set of attribute bits that defines accessibility of the memory chunk by the first processing unit, a second set of attribute bits that defines accessibility of the same memory chunk by the second processing unit, and physical address bits that define a physical address of the memory chunk.Type: GrantFiled: August 2, 2012Date of Patent: January 20, 2015Assignee: QUALCOMM IncorporatedInventors: Colin Christopher Sharp, Thomas Andrew Sartorius
-
Patent number: 8938572Abstract: Various embodiments disclosed herein including systems and methods for improving allocation of computing resources in a virtual machine (VM) environment. Embodiments maintain data relating to how VM image data is stored in storage devices and loaded into volatile memory such as random access memory (RAM). The data is then used to identify common content in the volatile memory that can be shared across VM instances. In some embodiments, multiple VM instances can share at least a portion of a single common VM image loaded into a shared volatile memory.Type: GrantFiled: July 29, 2013Date of Patent: January 20, 2015Assignee: Amazon Technologies, Inc.Inventor: Pradeep Vincent
-
Patent number: 8935507Abstract: 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: GrantFiled: August 5, 2013Date of Patent: January 13, 2015Assignee: Memoir Systems, Inc.Inventors: Sundar Iyer, Shang-Tse Chuang
-
Publication number: 20150012722Abstract: Memory performance in a computer system that implements large page mapping is improved even when memory is scarce by identifying page sharing opportunities within the large pages at the granularity of small pages and breaking up the large pages so that small pages within the large page can be freed up through page sharing. In addition, the number of small page sharing opportunities within the large pages can be used to estimate the total amount of memory that could be reclaimed through page sharing.Type: ApplicationFiled: July 3, 2013Publication date: January 8, 2015Inventors: Yury BASKAKOV, Alexander Thomas Garthwaite, Rajesh Venkatasubramanian, Irene Zhang, Seongbeom Kim, Nikhil Bhatia, Kiran Tati
-
Patent number: 8930639Abstract: A transactional memory (TM) receives a lookup command across a bus from a processor. The command includes a memory address. In response to the command, the TM pulls an input value (IV). The memory address is used to read a word containing multiple result values (RVs), multiple reference values, and multiple prefix values from memory. A selecting circuit within the TM uses a starting bit position and a mask size to select a portion of the IV. The portion of the IV is a lookup key value (LKV). Mask values are generated based on the prefix values. The LKV is masked by each mask value thereby generating multiple masked values that are compared to the reference values. Based on the comparison a lookup table generates a selector value that is used to select a result value. The selected result value is then communicated to the processor via the bus.Type: GrantFiled: November 13, 2012Date of Patent: January 6, 2015Assignee: Netronome Systems, IncorporatedInventor: Gavin J. Stark
-
Patent number: 8930674Abstract: Systems and methods for accessing a unified translation lookaside buffer (TLB) are disclosed. A method includes receiving an indicator of a level one translation lookaside buffer (L1TLB) miss corresponding to a request for a virtual address to physical address translation, searching a cache that includes virtual addresses and page sizes that correspond to translation table entries (TTEs) that have been evicted from the L1TLB, where a page size is identified, and searching a second level TLB and identifying a physical address that is contained in the second level TLB. Access is provided to the identified physical address.Type: GrantFiled: March 7, 2012Date of Patent: January 6, 2015Assignee: Soft Machines, Inc.Inventors: Karthikeyan Avudaiyappan, Mohammad Abdallah
-
Patent number: 8930672Abstract: 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: GrantFiled: March 29, 2011Date of Patent: January 6, 2015Assignees: 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: 8930673Abstract: What is provided is a load page table entry address function defined for a machine architecture of a computer system. In one embodiment, a machine instruction is obtained which contains an opcode indicating that a load page table entry address function is to be performed. The machine instruction contains an M field, a first field identifying a first general register, and a second field identifying a second general register. Based on the contents of the M field, an initial origin address of a hierarchy of address translation tables having at least one segment table is obtained. Based on the obtained initial origin address, dynamic address translation is performed until a page table entry is obtained. The page table entry address is saved in the identified first general register.Type: GrantFiled: October 29, 2013Date of Patent: January 6, 2015Assignee: International Business Machines CorporationInventors: Dan F Greiner, Lisa C Heller, Damian L Osisek, Erwin F Pfeffer, Timothy J Slegel
-
Patent number: 8930634Abstract: A cache coherence manager, disposed in a multi-core microprocessor, includes a request unit, an intervention unit, a response unit and an interface unit. The request unit receives coherent requests and selectively issues speculative requests in response. The interface unit selectively forwards the speculative requests to a memory. The interface unit includes at least three tables. Each entry in the first table represents an index to the second table. Each entry in the second table represents an index to the third table. The entry in the first table is allocated when a response to an associated intervention message is stored in the first table but before the speculative request is received by the interface unit. The entry in the second table is allocated when the speculative request is stored in the interface unit. The entry in the third table is allocated when the speculative request is issued to the memory.Type: GrantFiled: February 13, 2014Date of Patent: January 6, 2015Assignee: ARM Finance Overseas LimitedInventors: William Lee, Thomas Benjamin Berg
-
Patent number: 8930635Abstract: Processing within a multiprocessor computer system is facilitated by: setting, in association with invalidate page table entry processing, a storage key at a matching location in central storage of a multiprocessor computer system to a predefined value; and subsequently executing a request to update the storage key to a new storage key, the subsequently executing including determining whether the predefined value is an allowed stale value, and if so, replacing in central storage the storage key of predefined value with the new storage key without requiring purging or updating of the storage key in any local processor cache of the multiprocessor computer system, thus minimizing interprocessor communication pursuant to processing of the request to update the storage key to the new storage key.Type: GrantFiled: December 14, 2009Date of Patent: January 6, 2015Assignee: International Business Machines CorporationInventor: Gary A. Woffinden
-
Patent number: 8924625Abstract: A method includes implementing, with a memory of a computing device, a memory controller of the memory of the computing device, a storage device coupled to the computing device and/or an external device coupled to the computing device, a scheme for detecting an overlap between a first address range and a second address range. The first address range includes a first starting address and a first ending address, and the second address range includes a second starting address and a second ending address. The method also includes reducing a number of comparators utilized in the address range overlap detection through solely determining whether the first starting address is within the second address range or the second starting address is within the first address range.Type: GrantFiled: June 27, 2012Date of Patent: December 30, 2014Assignee: NVIDIA CorporationInventors: Shankara Rao Thejaswi Nanditale, Anand G Shirahatti, Rahul Jain
-
Patent number: 8924648Abstract: A method for caching attribute data for matching attributes with physical addresses. The method includes storing a plurality of attribute entries in a memory, wherein the memory is configured to provide at least one attribute entry when accessed with a physical address, and wherein the attribute entry provided describes characteristics of the physical address.Type: GrantFiled: September 20, 2013Date of Patent: December 30, 2014Inventors: H. Peter Anvin, Guillermo J. Rozas, Alexander Klaiber, John P. Banning
-
Patent number: 8924832Abstract: A data storage system configured to efficiently search and update system data is disclosed. In one embodiment, the data storage system can attempt to correct errors in retrieved data configured to index system data. Metadata stored along with user data in a memory location can be configured to indicate a logical address associated in a logical-to-physical location mapping with a physical address at which user data and metadata are stored. The data storage system can generate modified versions of logical address indicated by the metadata and determine whether such modified versions match the physical address in the logical-to-physical mapping. Modified versions of the logical address can be generated by flipping one or more bits in the logical address indicated by the metadata. Efficiency can be increased and improved performance can be attained.Type: GrantFiled: June 26, 2012Date of Patent: December 30, 2014Assignee: Western Digital Technologies, Inc.Inventor: Johnny A. Lam