Using Associative Or Pseudo-associative Address Translation Means, E.g., Translation Look-aside Buffer (tlb), Address Translation Buffer (atb), Address Cache, Etc. (epo) Patents (Class 711/E12.061)
  • Publication number: 20130080733
    Abstract: A processor connected to a storage device including a buffer area where an address translation pair is stored includes: an LRU register that holds a number of a plurality of real address registers, the real address register being the oldest in a use history; a reading unit that reads the number of the real address register held in the LRU register when a real address included in an access request to the storage device does not fall within a range of a real address space from a lower limit real address held in a lower limit real address register to an upper limit real address held in an upper limit real address register; and a setting unit that invalidates the real address register corresponding to the read number and sets a real address space corresponding to the real address included in the access request to the invalided real address register.
    Type: Application
    Filed: July 19, 2012
    Publication date: March 28, 2013
    Applicant: FUJITSU LIMITED
    Inventor: Masaharu MARUYAMA
  • Publication number: 20130080731
    Abstract: A method for performing display control is provided, where the method is applied to an electronic device. The method includes: managing a plurality of physical blocks of at least one non-volatile (NV) memory according to a block address translation rule, the block address translation rule of both of one-to-multiple block address translation and multiple-to-one block address translation; and when it is detected that erasing a specific logical block represented by a specific block logical address is required, determining a set of block physical addresses corresponding to the specific block logical address according to the block address translation rule and erasing a set of physical blocks represented by the set of block physical addresses within the plurality of physical blocks. An associated apparatus is also provided.
    Type: Application
    Filed: February 9, 2012
    Publication date: March 28, 2013
    Inventor: Ping-Yi Hsu
  • Publication number: 20130080734
    Abstract: Disclosed herein is a micro TLB which includes a CAM section having a plurality of CAM circuits, each stores address information which represents correlation between a virtual address and a physical address; and a write control section which directs writing of the address information into each CAM circuit pointed by a write pointer, when a new address information is requested to be stored, wherein the micro TLB being configured to increment the write pointer, if the address information stored in each CAM circuit pointed by the write pointer has been used for address translation, so as to hold a recently-used address information while preventing the CAM circuit, having indication of use of the address information, from being overwritten with the new address information.
    Type: Application
    Filed: July 31, 2012
    Publication date: March 28, 2013
    Applicant: FUJITSU LIMITED
    Inventors: Yasuharu Sato, Iwao Yamazaki
  • Publication number: 20130080732
    Abstract: An apparatus, system, and method are disclosed for storage address translation. The method includes storing, in volatile memory, a plurality of logical-to-physical mapping entries for a non-volatile recording device. The method includes persisting a logical-to-physical mapping entry from the volatile memory to recording media of the non-volatile recording device. The logical-to-physical mapping entry may be selected for persisting based on a mapping policy indicated by a client. The method includes loading the logical-to-physical mapping entry from the recording media of the non-volatile recording device into the volatile memory in response to a storage request associated with the logical-to-physical mapping entry.
    Type: Application
    Filed: September 27, 2012
    Publication date: March 28, 2013
    Applicant: FUSION-IO, INC.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130067194
    Abstract: An address provided in a request issued by an adapter is converted to an address directly usable in accessing system memory. The address includes a plurality of bits, in which the plurality of bits includes a first portion of bits and a second portion of bits. The second portion of bits is used to index into one or more levels of address translation tables to perform the conversion, while the first portion of bits are ignored for the conversion. The first portion of bits are used to validate the address.
    Type: Application
    Filed: November 8, 2012
    Publication date: March 14, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: INTERNATIONAL BUSINESS MACHINES CORP
  • Publication number: 20130067195
    Abstract: A method for maintaining context-specific symbols in a multi-core or multi-threaded processing environment may include, but is not limited to: partitioning a virtual address space into at least one portion associated with the storage of one or more context-specific symbols accessible by at least a first processing core and a second processing core; defining at least one context-specific symbol; storing the at least one context specific symbol to the at least one portion of the virtual address space; and mapping the virtual address of the at least one context-specific symbol to both a physical address associated with the first processing core and a physical address associated with the second processing core.
    Type: Application
    Filed: September 8, 2011
    Publication date: March 14, 2013
    Applicant: LSI CORPORATION
    Inventors: Kapil Sundrani, Chethan Tatachar
  • Publication number: 20130067193
    Abstract: An input/output (I/O) device includes a host interface for connection to a host device having a memory, and a network interface, which is configured to transmit and receive, over a network, data packets associated with I/O operations directed to specified virtual addresses in the memory. Processing circuitry is configured to translate the virtual addresses into physical addresses using memory keys provided in conjunction with the I/O operations and to perform the I/O operations by accessing the physical addresses in the memory. At least one of the memory keys is an indirect memory key, which points to multiple direct memory keys, corresponding to multiple respective ranges of the virtual addresses, such that an I/O operation referencing the indirect memory key can cause the processing circuitry to access the memory in at least two of the multiple respective ranges.
    Type: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Applicant: MELLANOX TECHNOLOGIES LTD.
    Inventors: Michael Kagan, Ariel Shahar, Noam Bloch
  • 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: 20130054935
    Abstract: 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: Application
    Filed: October 23, 2012
    Publication date: February 28, 2013
    Inventors: Steven M. Bennett, Andrew V. Anderson, Gilbert Neiger, Richard Uhlig, Dion Rodgers, Rajesh M. Sankaran, Camron Rust, Sebastian Schoenberg
  • Publication number: 20130054933
    Abstract: A method of setting an address of a component that includes determining a characterization value associated with a consumable, calculating a number of address change operations based upon the characterization value, and setting a last address generated from the number of address change operations as the new address of the component, wherein the characterization value is determined based upon a usage of the consumable.
    Type: Application
    Filed: August 26, 2011
    Publication date: February 28, 2013
    Inventors: ZACHARY FISTER, GREGORY SCOTT WOODS
  • Patent number: 8386747
    Abstract: Non-intrusive techniques have been developed to dynamically and selectively alter address translations performed by, or for, a processor. For example, in some embodiments, a memory management unit is configured to map from effective addresses in respective effective (or virtual) address spaces to physical addresses in the memory, wherein the mappings performed by the memory management unit are based on address translation entries of an address translation table. For a subset of less than all processes, entry selection logic selects from amongst plural alternative mappings coded in respective ones of the address translation entries. For at least some effective addresses mapped for a particular process of the subset, selection of a particular address translation entry is based on an externally sourced value. In some embodiments, only a subset of effective addresses mapped for the particular process are subject to dynamic runtime alteration of the address translation entry selection.
    Type: Grant
    Filed: June 11, 2009
    Date of Patent: February 26, 2013
    Assignee: Freescale Semiconductor, Inc.
    Inventors: William C. Moyer, James B. Eifert
  • Publication number: 20130036291
    Abstract: Embodiments of an invention for generating multiple address space identifiers per virtual machine to switch between protected micro-contexts are disclosed. In one embodiment, a method includes receiving an instruction requiring an address translation; initiating, in response to receiving the instruction, a page walk from a page table pointed to by the contents of a page table pointer storage location; finding, during the page walk, a transition entry; storing the address translation and one of a plurality of address source identifiers in a translation lookaside buffer, the one of the plurality of address source identifiers based on one of a plurality of a virtual partition identifiers, at least two of the plurality of virtual partition identifiers associated with one of a plurality of virtual machines; and re-initiating the page walk.
    Type: Application
    Filed: October 12, 2012
    Publication date: February 7, 2013
    Inventors: Uday Savagaonkar, Madhavan Parthasarathy, Ravi Sahita, David Durham
  • Publication number: 20130031329
    Abstract: An integrated circuit includes a random address generation unit configured to generate a first random address for a data randomizing operation, an address conversion unit configured to convert the first random address and generate a second random address, and a synchronization output unit configured to sequentially output the first and second random addresses in synchronization with a clock signal.
    Type: Application
    Filed: December 21, 2011
    Publication date: January 31, 2013
    Inventor: Dae-Il CHOI
  • Publication number: 20130031333
    Abstract: Methods and apparatus are disclosed for efficient TLB (translation look-aside buffer) shoot-downs for heterogeneous devices sharing virtual memory in a multi-core system. Embodiments of an apparatus for efficient TLB shoot-downs may include a TLB to store virtual address translation entries, and a memory management unit, coupled with the TLB, to maintain PASID (process address space identifier) state entries corresponding to the virtual address translation entries. The PASID state entries may include an active reference state and a lazy-invalidation state. The memory management unit may perform atomic modification of PASID state entries responsive to receiving PASID state update requests from devices in the multi-core system and read the lazy-invalidation state of the PASID state entries. The memory management unit may send PASID state update responses to the devices to synchronize TLB entries prior to activation responsive to the respective lazy-invalidation state.
    Type: Application
    Filed: July 26, 2011
    Publication date: January 31, 2013
    Inventors: Rajesh M. Sankaran, Altug Koker, Philip R. Lantz, Asit K. Mallick, James B. Crossland, Aditya Navale, Gilbert Neiger, Andrew V. Anderson
  • Publication number: 20130031332
    Abstract: Methods and apparatus are disclosed for using a shared page miss handler device to satisfy page miss requests of a plurality of devices in a multi-core system. One embodiment of such a method comprises receiving one or more page miss requests from one or more respective requesting devices of the plurality of devices in the multi-core system, and arbitrating to identify a first page miss requests of the one or more requesting devices A page table walk is performed to generate a physical address responsive to the first page miss request. Then the physical address is sent to the corresponding requesting device, or a fault is signaled to an operating system for the corresponding requesting device responsive to the first page miss request.
    Type: Application
    Filed: July 26, 2011
    Publication date: January 31, 2013
    Inventors: Christopher D. Bryant, Rama S. Gopal
  • Publication number: 20130031331
    Abstract: Intercepting a requested memory operation corresponding to a conventional memory is disclosed. The requested memory operation is translated to be applied to a structured memory.
    Type: Application
    Filed: September 27, 2012
    Publication date: January 31, 2013
    Applicant: HICAMP SYSTEMS, INC.
    Inventor: HICAMP SYSTEMS, INC.
  • Publication number: 20130024647
    Abstract: A processor, method, and medium for utilizing a shared cache to store vector registers. Each thread of a multithreaded processor utilizes a plurality of virtual vector registers to perform vector operations. Virtual vector registers are allocated for each thread, and each virtual vector register is mapped into the shared cache on the processor. The cache is shared between multiple threads such that if one thread is not using vector registers, there is more space in the cache for other threads to use vector registers.
    Type: Application
    Filed: July 20, 2011
    Publication date: January 24, 2013
    Inventor: Darryl J. Gove
  • Publication number: 20130024597
    Abstract: A method is provided including recording, in a counter of a set of counters, a number of cache accesses for a page corresponding to a translation lookaside buffer (TLB) page table entry, where the counters are physically grouped together and physically separate from the TLB. The method also includes recording the number of cache accesses from the corresponding counter to a field of the page table responsive to an event. An apparatus is provided that includes a memory unit and a set of counters coupled to the one memory unit, the set of counters comprises one or more counters that are physically grouped together and are adapted to store a value indicative of a number of memory page accesses. The apparatus includes a cache coupled to the set of counters. Also provided is a computer readable storage device encoded with data for adapting a manufacturing facility to create the apparatus.
    Type: Application
    Filed: July 19, 2011
    Publication date: January 24, 2013
    Inventors: Gabriel H. Loh, Nuwan Jayasena
  • Publication number: 20130024648
    Abstract: A system and method for accessing memory are provided. The system comprises a lookup buffer for storing one or more page table entries, wherein each of the one or more page table entries comprises at least a virtual page number and a physical page number; a logic circuit for receiving a virtual address from said processor, said logic circuit for matching the virtual address to the virtual page number in one of the page table entries to select the physical page number in the same page table entry, said page table entry having one or more bits set to exclude a memory range from a page.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 24, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Dong Chen, Alan Gara, Mark E. Giampapa, Philip Heidelberger, Jon K. Kriegel, Martin Ohmacht, Burkhard Steinmacher-Burow
  • Publication number: 20130024645
    Abstract: Intercepting a requested memory operation corresponding to a conventional memory is disclosed. The requested memory operation is translated to be applied to a structured memory.
    Type: Application
    Filed: May 20, 2010
    Publication date: January 24, 2013
    Applicant: HICAMP SYSTEMS, INC.
    Inventors: David R. Cheriton, Alexandre Y. Solomatnikov
  • Publication number: 20130019080
    Abstract: Methods and mechanisms for operating a translation lookaside buffer (TLB). A translation lookaside buffer (TLB) includes a plurality of segments, each segment including one or more entries. A control unit is coupled to the TLB. The control unit is configured to determine utilization of segments, and dynamically disable segments in response to determining that segments are under-utilized. The control unit is also configured to dynamically enable segments responsive to determining a given number of segments are over-utilized.
    Type: Application
    Filed: July 14, 2011
    Publication date: January 17, 2013
    Inventors: Gideon N. Levinsky, Manish K. Shah
  • Publication number: 20130019081
    Abstract: A memory protection unit (MPU) is configured to store a plurality of region descriptor entries, each region descriptor entry defining an address region of a memory, an attribute corresponding to the region, and an attribute override control corresponding to the attribute. A memory access request to a memory address is received and determined to be within a first address region defined by a first region descriptor entry and within a second address region defined by a second region descriptor entry. When the attribute override control of the first region descriptor entry indicates that override is to be performed, the value of the attribute of the first region descriptor entry is applied for the memory access. When the attribute override control of the second region descriptor entry indicates that override is to be performed, the value of the attribute of the second region descriptor entry is applied for the memory access.
    Type: Application
    Filed: July 14, 2011
    Publication date: January 17, 2013
    Inventor: WILLIAM C. MOYER
  • Publication number: 20130013889
    Abstract: A memory management unit includes a translation buffer unit for storing memory management attribute entries that originate from a plurality of different memory management contexts. Context disambiguation circuitry responds to one or more characteristics of a received memory transaction to form a stream identifier and to determine which of the memory management context matches that memory transaction. In this way, memory management attribute entries stored within the translation lookaside buffer are formed under control of the appropriate matching context. When the translation buffer unit receives a further transaction, then a further stream identifier is formed therefrom and if this matches the stream identifier of stored memory management attribute entries then those memory management attribute entries may be used (if appropriate) for that further memory transaction.
    Type: Application
    Filed: July 6, 2011
    Publication date: January 10, 2013
    Inventors: Jaikumar Devaraj, Viswanath Chakrala, Stuart David Biles, Shrilola Chitrapadi
  • Publication number: 20130013888
    Abstract: An apparatus comprising a memory configured to store a routing table and a processor coupled to the memory, the processor configured to generate a request to access at least a section of an instance, assign an index to the request based on the instance, lookup an entry in the routing table based on the index, wherein the entry comprises a resource bit vector, and identify a resource comprising at least part of the section of the instance based on the resource bit vector.
    Type: Application
    Filed: July 3, 2012
    Publication date: January 10, 2013
    Applicant: FUTUREWEI TECHNOLOGIES, INC.
    Inventors: HoYu Lam, Sailesh Kumar, William Lynch
  • Publication number: 20130013890
    Abstract: Operating a database system comprises: storing a database table comprising a plurality of rows, each row comprising a key value and one or more attributes; storing a primary index for the database table, the primary index comprising a plurality of leaf nodes, each leaf node comprising one or more key values and respective memory addresses, each memory address defining the storage location of the respective key value; creating a new leaf node comprising one or more key values and respective memory addresses; performing a memory allocation analysis based upon the lowest key value of the new leaf node to identify a non-full memory page storing a leaf node whose lowest key value is similar to the lowest key value of the new leaf node; and storing the new leaf node in the identified non-full memory page.
    Type: Application
    Filed: May 3, 2012
    Publication date: January 10, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Markku J. Manner, Simo A. Neuvonen, Vilho T. Raatikka
  • Patent number: 8352706
    Abstract: A forward lookup address translation table and a reverse lookup address translation table stored in a nonvolatile second storing unit are transferred as a master table to a volatile first storing unit at a time of start-up. When an event occurs so that the master table needs to be updated, difference information before and after update of any one of the forward lookup address translation table and the reverse lookup address translation table is recorded in the first storing unit as a log, thereby reducing an amount of the log.
    Type: Grant
    Filed: September 21, 2009
    Date of Patent: January 8, 2013
    Assignee: Kabushiki Kaisha Toshiba
    Inventors: Hirokuni Yano, Toshikatsu Hida
  • Publication number: 20130007407
    Abstract: A system and a method are disclosed for more efficiently handling shared code stored in memory, comprising a modified memory management unit containing a new shared address space identifier register, and a modified TLB entry containing a new shared bit.
    Type: Application
    Filed: March 23, 2012
    Publication date: January 3, 2013
    Applicant: SYNOPSYS, INC.
    Inventors: Vineet Gupta, Thomas Pennello
  • Publication number: 20130007408
    Abstract: A method and a system for allowing a guest operating system (guest OS) to modify an entry in a TLB directly without an involvement of a hypervisor are disclosed. Upon receiving a guest TLB miss exception, a guest OS issues a TLBWE (TLB Write Entry) instruction to logic. The logic runs the TLBWE instruction at a supervisor mode without invoking a hypervisor. The TLB may incorporate entries in a guest page table and entries in a host page table.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 3, 2013
    Applicant: International Business Machines Corporation
    Inventors: Hubertus Franke, Benjamin Herrenschmidt, Jon K. Kriegel, Andrew M. Theurer, James Xenidis
  • Publication number: 20130007406
    Abstract: A computer system may support one or more techniques to allow dynamic pinning of the memory pages accessed by a non-CPU device (e.g., a graphics processing unit, GPU). The non-CPU may support virtual to physical address mapping and may thus be aware of the memory pages, which may not be pinned but may be accessed by the non-CPU. The non-CPU may notify or send such information to a run-time component such as a device driver associated with the CPU. In one embodiment, the device driver may, dynamically, perform pinning of such memory pages, which may be accessed by the non-CPU. The device driver may even unpin the memory pages, which may be no longer accessed by the non-CPU. Such an approach may allow the memory pages, which may be no longer accessed by the non-CPU to be available for allocation to the other CPUs and/or non-CPUs.
    Type: Application
    Filed: July 1, 2011
    Publication date: January 3, 2013
    Inventors: Gad Sheaffer, Boris Ginzburg, Ronny Ronen, Eliezer Weissmann
  • Publication number: 20130007409
    Abstract: Disclosed is a computer implemented method to resume a process at an arrival machine that is in an identical state to a frozen process on a departure machine. The arrival machine receives checkpoint data for the process from the departure machine. It creates the process. It updates a page table, wherein the page table comprises a segment, page number, and offset corresponding to a page of the process available from a remote paging device, wherein the remote paging device is remote from the arrival machine. It resumes the process and responsively generates a page fault for the page. It looks up the page in the page table, responsive to the page fault. It determines whether the page is absent in the arrival machine. It transmits a page-in request to the departure machine, responsive to a determination that the page is absent. It receives the page from the departure machine.
    Type: Application
    Filed: July 6, 2012
    Publication date: January 3, 2013
    Inventors: Perinkulam I. Ganesh, Rajeev Mishra, Grover H. Neuman, Mark D. Rogers
  • Patent number: 8347065
    Abstract: A shared memory management system and method are described. In one embodiment, a memory management system includes a memory management unit for concurrently managing memory access requests from a plurality of engines. The shared memory management system independently controls access to the context memory without interference from other engine activities. In one exemplary implementation, the memory management unit tracks an identifier for each of the plurality of engines making a memory access request. The memory management unit associates each of the plurality of engines with particular translation information respectively. This translation information is specified by a block bind operation. In one embodiment the translation information is stored in a portion of instance memory. A memory management unit can be non-blocking and can also permit a hit under miss.
    Type: Grant
    Filed: November 1, 2006
    Date of Patent: January 1, 2013
    Inventors: David B. Glasco, John S. Montrym, Lingfeng Yuan
  • Publication number: 20120331262
    Abstract: In computing environments that use virtual addresses (or other indirectly usable addresses) to access memory, the virtual addresses are translated to absolute addresses (or other directly usable addresses) prior to accessing memory. To facilitate memory access, however, address translation is omitted in certain circumstances, including when the data to be accessed is within the same unit of memory as the instruction accessing the data. In this case, the absolute address of the data is derived from the absolute address of the instruction, thus avoiding address translation for the data. Further, in some circumstances, access checking for the data is also omitted.
    Type: Application
    Filed: September 6, 2012
    Publication date: December 27, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Viktor S. Gyuris, Ali Sheikh, Kirk A. Stewart
  • Publication number: 20120331264
    Abstract: A method includes copying a first virtual storage by making, a point-in-time copy of a first page content stored in a first structure by creating a second page content in a second structure, the second page content pointing to actual data pointed to by the first page content, storing the second page content in the second data structure, marking the first page content in the first structure with a bit, copying the virtual page in the event the first page content in the first structure is marked with the bit, storing the copied virtual page in a second virtual storage, altering the second page content to point to the stored virtual page, and using the second virtual storage to perform the core dump process, wherein the second virtual storage is referenced via the second page content stored in the real storage.
    Type: Application
    Filed: June 21, 2011
    Publication date: December 27, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mark S. Farrell, William J. Rooney, Elpida Tzortzatos
  • Publication number: 20120331261
    Abstract: A method includes making in a real storage, a copy of a first page content stored in a first page data structure by creating a second page content in a second data structure, the second page content pointing to actual data pointed to by the first page content, storing the second page content in the second data structure, marking the first page content in the first page data structure with a page protection bit, wherein the page protection bit prevents a modification of the virtual page, in response to an attempt to modify the virtual page, copying the virtual page in the event the first page content in the first page data structure is marked with the page protection bit, storing the copied virtual page in a second virtual storage, and altering the second page content in the second data structure to point to the stored virtual page.
    Type: Application
    Filed: June 21, 2011
    Publication date: December 27, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mark S. Farrell, William J. Rooney, Elpida Tzortzatos
  • Publication number: 20120331266
    Abstract: Disclosed is an information processing device provided with: a plurality of processing units each having a TLB (Translation Lookaside Buffer); a means for acquiring a designation of a processing unit, from among the plurality of processing units, where TLB information is to be collected, and for acquiring a designation of the timing at which the TLB information is to be collected; and a means for collecting the TLB information from the designated processing unit at the designated timing.
    Type: Application
    Filed: September 6, 2012
    Publication date: December 27, 2012
    Applicant: FUJITSU LIMITED
    Inventors: Takafumi ANRAKU, Fumiaki Yamana, Hiroshi Kondou
  • Patent number: 8327112
    Abstract: A processing system includes a page table including a plurality of page table entries. Each of the plurality of page table entries includes information for translating a virtual address page to a corresponding physical address page. The processing system also includes a translation lookaside buffer adapted to cache page table information. The processing system also includes memory management software responsive to changes in the page table to consolidate a run of contiguous page table entries into one or more page table entries having a larger memory page size, Y. The memory management software further determines whether the run of contiguous page table entries may be cached in an entry of the translation lookaside buffer that caches multiple page table entries, X, in a single translation lookaside buffer entry.
    Type: Grant
    Filed: February 1, 2011
    Date of Patent: December 4, 2012
    Assignee: QNX Software Systems Limited
    Inventor: Brian Stecher
  • Patent number: 8327075
    Abstract: In a first aspect, a first method is provided. The first method includes the steps of (1) providing a cache having a plurality of cache entries, each entry adapted to store data, wherein the cache is adapted to be accessed by hardware and software in a first operational mode; (2) determining an absence of desired data in one of the plurality of cache entries; (3) determining a status based on a current operational mode and a value of hint-lock bits associated with the plurality of cache entries; and (4) determining availability of at least one of the cache entries based on the status, wherein availability of a cache entry indicates that data stored in the cache entry can be replaced. Numerous other aspects are provided.
    Type: Grant
    Filed: December 8, 2005
    Date of Patent: December 4, 2012
    Assignee: International Business Machines Corporation
    Inventors: John D. Irish, Chad B. McBride, Andrew H. Wottreng
  • Publication number: 20120303930
    Abstract: An indirection system in a shingled storage device is described that uses an efficient algorithm to map LBAs to DBAs based on a predetermined rule or assumption and then handles as exceptions LBAs that are not mapped according to the rule. The assumed rule is that a fixed-length set of sequential host LBAs are located at the start of an I-track. Embodiments of the invention use two tables to provide the mapping of LBAs to DBAs. The mapping assumed by the rule is embodied in the LBA Block Address Table (LBAT) which gives the corresponding I-track address for each LBA Block. The LBA exceptions are recorded using an Exception Pointer Table (EPT), which gives the pointer to the corresponding variable length Exception List for each LBA Block. The indexing into the LBAT and the EPT is made efficient by deriving the index from the LBA by a simple arithmetic operation.
    Type: Application
    Filed: September 22, 2011
    Publication date: November 29, 2012
    Inventors: Jonathan Darrel Coker, David Robison Hall
  • Publication number: 20120297139
    Abstract: A method of operating a memory management unit includes accessing a translation lookaside buffer (TLB), translating a page number of a virtual address into a frame number of a physical address when there is a match for the page number of the virtual address in the TLB, executing a miss process when there is no match for the page number of the virtual address in the TLB. The miss process includes accessing a page table translation (PTT) cache, checking whether access information of a k-th level page table corresponding to a k-th page number that will be accessed in the virtual address is in the PTT cache, acquiring a base address of a physical page using the access information, and determining the frame number of physical address corresponding to the page number of the virtual address using a page offset in the physical page.
    Type: Application
    Filed: May 17, 2012
    Publication date: November 22, 2012
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventor: JIN HYUCK CHOI
  • Publication number: 20120297161
    Abstract: In one embodiment, the present invention includes a translation lookaside buffer (TLB) to store entries each having a translation portion to store a virtual address (VA)-to-physical address (PA) translation and a second portion to store bits for a memory page associated with the VA-to-PA translation, where the bits indicate attributes of information in the memory page. Other embodiments are described and claimed.
    Type: Application
    Filed: July 17, 2012
    Publication date: November 22, 2012
    Inventors: David Champagne, Abhishek Tiwari, Wei Wu, Christopher J. Hughes, Sanjeev Kumar, Shih-Lien Lu
  • Publication number: 20120278525
    Abstract: 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: Application
    Filed: April 28, 2011
    Publication date: November 1, 2012
    Applicant: VMWARE, INC.
    Inventors: Benjamin C. SEREBRIN, Bhavesh MEHTA
  • Publication number: 20120272038
    Abstract: A mapping table is modified to match one or more specified storage conditions of data stored in or expected to be stored in one or more logical block address ranges to physical addresses within a storage drive having performance characteristics that satisfy the specified storage conditions. For example, the performance characteristics may be a reliability of the physical location within the storage drive or a data throughput range of read/write operations. Existing data is moved and/or new data is written to physical addresses on the storage media possessing the performance characteristic(s), according to the mapping table. Further, a standard seeding or a seeding override for the re-mapped logical block addresses can prevent read operations from inadvertently reading incorrect physical addresses corresponding to the re-mapped logical block addresses.
    Type: Application
    Filed: April 20, 2011
    Publication date: October 25, 2012
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Bo Wei, Steven TianChye Cheok, YongPeng Chng, CheeSeng Toh
  • Patent number: 8296513
    Abstract: A method and system are provided for controlling SAS/SATA disk spin up when a disk enters an inactive mode, such as standby mode, in a near line storage system. A routing table entry is modified for a selected hard disk drive in an expander routing table to redirect and reroute to a spinup control virtual target any access requests intended for the selected hard disk drive, in response to the selected hard disk drive being in standby mode. In response to the selected hard disk drive exiting standby mode, the routing table entry is modified to direct and route requests for access to the selected hard disk drive back to the drive itself. A SAS expander device can control spin up for standby disk drives in a disk array. Alternatively, spin up control can be performed for disks in other power modes, such as idle, in a disk array.
    Type: Grant
    Filed: August 21, 2009
    Date of Patent: October 23, 2012
    Assignee: PMC-Sierra, Inc.
    Inventor: Jun Liu
  • Patent number: 8296482
    Abstract: Methods and apparatus related to techniques for translating requests between a full speed bus and a slower speed device are described. In one embodiment, a translation logic translates requests between a full speed bus (such as a front side bus, e.g., running relatively higher frequencies, for example at MHz levels) and a much slower speed device (such as a System On Chip (SOC) device (or SOC Device Under Test (DUT)), e.g., logic provided through emulation, which may be running at much lower frequency, for example kHz levels). Other embodiments are also disclosed.
    Type: Grant
    Filed: June 27, 2010
    Date of Patent: October 23, 2012
    Assignee: Intel Corporation
    Inventors: Thomas S. Cummins, Kris W. Utermark
  • Publication number: 20120265963
    Abstract: A computer system that is programmed with virtual memory accesses to physical memory employs multi-bit counters associated with its page table entries. When a page walker visits a page table entry, the multi-bit counter associated with that page table entry is incremented by one. The computer operating system uses the counts in the multi-bit counters of different page table entries to determine where large pages can be deployed effectively. In a virtualized computer system having a nested paging system, multi-bit counters associated with both its primary page table entries and its nested page table entries are used. These multi-bit counters are incremented during nested page walks. Subsequently, the guest operating systems and the virtual machine monitors use the counts in the appropriate multi-bit counters to determine where large pages can be deployed effectively.
    Type: Application
    Filed: June 21, 2012
    Publication date: October 18, 2012
    Applicant: VMWARE, INC.
    Inventor: Ole AGESEN
  • Publication number: 20120260059
    Abstract: A state transition management device includes a first terminal receiving a first signal based on a current state-number, a memory which stores a state transition rule and from which a plurality of subsequent state-number candidates are read out in accordance with the first signal, a plurality of first nodes revealing the plurality of subsequent state-number candidates, a second terminal receiving a second signal based on the current state-number, a selection method specifying unit which outputs a selection method specifying signal in accordance with the second signal, a second node revealing the selection method specifying signal, a event terminal receiving a event-signal based on an event, a third terminal receiving a third signal based on the current state-number, a selection circuit which selects a subsequent state-number from the plurality of subsequent number candidates in accordance with the event-signal and the third signal.
    Type: Application
    Filed: June 22, 2012
    Publication date: October 11, 2012
    Applicant: RENESAS ELECTRONICS CORPORATION
    Inventors: Taro Fujii, Toshirou Kitaoka
  • Publication number: 20120260057
    Abstract: A counter architecture and a corresponding method are provided for estimating a profitability value of DVFS for a unit of work running on a computing device. The counter architecture and the corresponding method are arranged for dividing total execution time for executing a unit of work on the computing device into a pipelined fraction subject to clock frequency and a non-pipelined fraction due to off-chip memory accesses, and for estimating the DVFS profitability value from the pipelined and the non-pipelined fraction.
    Type: Application
    Filed: December 10, 2010
    Publication date: October 11, 2012
    Inventors: Stijn Eyerman, Lieven Eeckhout
  • Publication number: 20120254582
    Abstract: Techniques for migrating data from a first range of physical memory locations to a second range of physical memory locations. The second range of physical memory locations is allocated for migration of data from the first range of physical memory locations Pending transactions for the first range of physical memory locations are flushed. One or more address translation entries are reprogrammed. Data is migrated from the first range of physical memory locations to the second range of physical memory locations. Subsequent memory transactions are processed to cause the transactions to be directed to the second range of physical memory locations.
    Type: Application
    Filed: March 31, 2011
    Publication date: October 4, 2012
    Inventors: ASHOK RAJ, RAJESH M. SANKARAN
  • Publication number: 20120254584
    Abstract: A system and method for identifying a TLB entry having a physical address that is within a specified range are disclosed. The method includes obtaining a tentative TLB entry from a page table entry and accessing a physical address associated with the tentative TLB entry. The method further includes comparing the physical address of the tentative TLB entry with a predetermined range of addresses. If the physical address is within the finite range of addresses, an exception is invoked. In response to the exception, the physical address and/or an attribute of the tentative TLB entry can be modified. The tentative TLB entry can then be stored in a TLB.
    Type: Application
    Filed: June 11, 2012
    Publication date: October 4, 2012
    Inventors: Guillermo Rozas, Alexander Klaiber, H. Peter Anvin, David Dunn
  • Publication number: 20120246413
    Abstract: Method and system for supporting multiple byte order formats, separately or simultaneously, are provided and described. In one embodiment, a page attribute table (PAT), which is programmable, is utilized to indicate byte order format. In another embodiment, a memory type range register (MTRR), which is programmable, is utilized to indicate byte order format.
    Type: Application
    Filed: March 2, 2012
    Publication date: September 27, 2012
    Inventor: H. Peter Anvin