Directories And Tables (e.g., Dlat, Tlb) Patents (Class 711/205)
  • Patent number: 7409524
    Abstract: The present invention relates to an improved microprocessor having a memory system with several caches that can be operated to provide virtual memory. Among the caches included in the microprocessor are conventional caches that store data and instructions to be utilized by the processes being performed by the microprocessor, and that are typically arranged in a cache hierarchy, as well as one or more translation lookaside buffer (TLB) caches that store a limited number of virtual page translations. The improved microprocessor also has an additional cache that serves to store a virtual hash page table (VHPT) that is accessed when TLB misses occur. The introduction of this VHPT cache eliminates or at least reduces the need for the microprocessor to look for information within the caches of the cache hierarchy or in other memory (e.g., main memory) outside of the microprocessor when TLB misses occur, and consequently enhances microprocessor speed.
    Type: Grant
    Filed: August 17, 2005
    Date of Patent: August 5, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kevin Safford, Rohit Bhatia, Karl Brummel
  • Publication number: 20080184006
    Abstract: A method and system for page preloading using a control flow are provided. The method includes extracting preload page information from one or more pages in a first program code, and generating a second program code including the first program code and the extracted preload page information. The second program code is stored in non-volatile memory. When loading a page from the second program code stored in the non-volatile memory into main memory, preloading one or more pages from the non-volatile memory based on the preload page information stored in the loaded page.
    Type: Application
    Filed: August 2, 2007
    Publication date: July 31, 2008
    Inventors: Min-Soo Moon, Chan Ik Park
  • Publication number: 20080172543
    Abstract: A method for retrieving information from a storage unit, the method includes: receiving, by an input output memory management unit second-level translation information representative of a partition of a storage unit address space; receiving, by a input output memory management unit, a direct memory access request that comprises a consumer identifier and a second memory address that was first-level translated by a communication circuit translation entity; performing, by the input output memory management unit, a second-level translation of the second memory address such as to provide a third memory address, in response to the identity of the consumer; and accessing the storage unit using the third memory address.
    Type: Application
    Filed: January 16, 2007
    Publication date: July 17, 2008
    Inventors: Shmuel Ben-Yehuda, Orran Yaakov Krieger, Jon David Mason, James Xenidis
  • Patent number: 7395405
    Abstract: In one embodiment, a method includes receiving control transitioned from a virtual machine (VM) due to a privileged event pertaining to a translation-lookaside buffer (TLB), and determining which entries in a guest translation data structure were modified by the VM. The determination is made based on metadata extracted from a shadow translation data structure maintained by a virtual machine monitor (VMM) and attributes associated with entries in the shadow translation data structure. The method further includes synchronizing entries in the shadow translation data structure that correspond to the modified entries in the guest translation data structure with the modified entries in the guest translation data structure.
    Type: Grant
    Filed: January 28, 2005
    Date of Patent: July 1, 2008
    Assignee: Intel Corporation
    Inventors: Andrew V. Anderson, Alain Kägi
  • Patent number: 7389400
    Abstract: An apparatus and method selectively invalidate entries in an address translation cache instead of invalidating all, or nearly all, entries. One or more translation mode bits are provided in each entry in the address translation cache. These translation mode bits may be set according to the addressing mode used to create the cache entry. One or more “hint bits” are defined in an instruction that allow specifying which of the entries in the address translation cache are selectively preserved during an invalidation operation according to the value(s) of the translation mode bit(s). In the alternative, multiple instructions may be defined to preserve entries in the address translation cache that have specified addressing modes. In this manner, more intelligence is used to recognize that some entries in the address translation cache may be valid after a task or partition switch, and may therefore be retained, while other entries in the address translation cache are invalidated.
    Type: Grant
    Filed: December 15, 2005
    Date of Patent: June 17, 2008
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Corrigan, Paul LuVerne Godtland, Joaquin Hinojosa, Cathy May, Naresh Nayar, Edward John Silha
  • Patent number: 7389402
    Abstract: A translation lookaside buffer may include control functionality coupled to a first storage and a second storage. The first storage includes a first plurality of entries for storing address translations corresponding to a plurality of page sizes. The second storage includes a second plurality of entries for storing address translations corresponding to the plurality of page sizes. In response to receiving a first address translation associated with a first page size, the control functionality may allocate the first plurality of entries to store address translations corresponding to the first page size. In addition, in response to receiving a request including an address that matches an address translation stored within the first storage, the control functionality may copy a matching address translation from the first storage to the second storage.
    Type: Grant
    Filed: June 7, 2005
    Date of Patent: June 17, 2008
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Gerald D. Zuraski, Jr., Swamy Punyamurtula
  • Patent number: 7386669
    Abstract: A system and method of improved task switching in a data processing system. First, a first-level cache memory casts out an invalidated page table entry and an associated first page directory base address to a second-level cache memory. Then, the second-level cache memory determines if a task switch has occurred. If a task switch has not occurred, first-level cache memory sends the invalidated page table entry to a current running task directory. If a task switch has occurred, first-level cache memory loads from the second-level cache directory a collection of page table entries related to a new task to enable improved task switching without requiring access to a page table stored in main memory to retrieve the collection of page table entries.
    Type: Grant
    Filed: March 31, 2005
    Date of Patent: June 10, 2008
    Assignee: International Business Machines Corporation
    Inventors: Chris Dombrowski, Marcus Lathan Kornegay, Douglas Michael Pase
  • Patent number: 7386614
    Abstract: A system that enables creation of URL addresses in which the path information is partially or entirely symbolic. The symbolic path information is maintained even after the physical path information is altered, whereby users do not have to learn or provide constantly changing URL addresses to accommodate changes in the organization and presentation of evolving or changing web sites. To this end, web servers interface with a URL resolution database tool that contains information that enable the conversion of the symbolic path information to physical path information. Alternatively, the conversion from symbolic to physical path information is carried by augmented web browsers which have access to symbolic path information conversion servers located on the Internet at a centrally distributed location, or even locally, so that web servers receive only physical path information.
    Type: Grant
    Filed: May 18, 2001
    Date of Patent: June 10, 2008
    Assignee: Treetop Ventures LLC
    Inventor: Robert Barritz
  • Publication number: 20080133873
    Abstract: A system and method of improved handling of large pages in a virtual memory system. A data memory management unit (DMMU) detects sequential access of a first sub-page and a second sub-page out of a set of sub-pages that comprise a same large page. Then, the DMMU receives a request for the first sub-page and in response to such a request, the DMMU instructs a pre-fetch engine to pre-fetch at least the second sub-page if the number of detected sequential accesses equals or exceeds a predetermined value.
    Type: Application
    Filed: January 17, 2008
    Publication date: June 5, 2008
    Inventors: Vaijayanthimala K. Anand, Sandra K. Johnson
  • Patent number: 7383415
    Abstract: In one embodiment, a processor comprising at least one translation lookaside buffer (TLB) and a control unit coupled to the TLB. The control unit is configured to track whether or not at least one update to the TLB is pending for at least one of a plurality of strands. Each strand comprises hardware to support a different thread of a plurality of concurrently activateable threads in the processor. The strands share the TLB, and the control unit is configured to delay a demap operation issued from one of the estrands responsive to the pending update, if any.
    Type: Grant
    Filed: September 9, 2005
    Date of Patent: June 3, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Paul J. Jordan, Manish K. Shah, Gregory F. Grohoski
  • Patent number: 7380096
    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: Grant
    Filed: June 8, 2006
    Date of Patent: May 27, 2008
    Assignee: TRANSMETA Corporation
    Inventors: Guillermo Rozas, Alexander Klaiber, H. Peter Anvin, David Dunn
  • Patent number: 7376807
    Abstract: In a data processing system a processor including processing logic performs data processing. An address translator that is coupled to the processing logic performs address translation and a method thereof. The address translator receives a logical address and converts the logical address to both a physical address and one or more address attributes. Bypass circuitry that is coupled to the address translator selectively provides the logical address as a translated address of the logical address which was received. In order to speed up the memory address translation, the logical address is selectively provided as the translated address prior to providing the one or more address attributes associated with the logical address.
    Type: Grant
    Filed: February 23, 2006
    Date of Patent: May 20, 2008
    Assignee: Freescale Semiconductor, Inc.
    Inventor: William C. Moyer
  • Patent number: 7373478
    Abstract: In an information processing apparatus (10) that includes a cache memory (560) formed from at least one hierarchy, and a pre-fetch command that speculatively transfers data or a command from a main storage (30) to the cache memory, a cache controller (510) provides control to execute the pre-fetch command such that a virtual address is converted to a physical address using a conversion table, and the virtual address and the physical address are stored as a pair if the conversion succeeds.
    Type: Grant
    Filed: November 12, 2004
    Date of Patent: May 13, 2008
    Assignee: Fujitsu Limited
    Inventor: Iwao Yamazaki
  • Patent number: 7373479
    Abstract: A method, system, and computer instructions for providing valid translation entries in the TCE table for all supported DMA addresses to prevent the occurrence of system errors due to prefetching. The mechanism of the present invention reserves a page in system memory. This reserved page is made unavailable to the operating system and may not be utilized by any software in the system. The reserved page is also written with all bytes set to 0xFF. The system firmware then selects a region in system memory for the TCE table. The TCE table is initialized, with all entries within the TCE table initialized to be valid as well as contain the corresponding address of the reserved page. In this manner, all supported DMA page addresses will have valid TCE entries which translate the DMA addresses into the reserved page memory. Thus, prefetched DMA addresses will not encounter invalid DMA address translation, and crash the system.
    Type: Grant
    Filed: March 25, 2004
    Date of Patent: May 13, 2008
    Assignee: International Business Machines Corporation
    Inventor: Van Hoa Lee
  • Patent number: 7370160
    Abstract: A processor, capable of operation in a host machine, including memory management logic to support a plurality of memory types for a physical memory access by the processor, and virtualization support logic to determine a host memory type for a reference to a memory location by a guest in a virtual machine executable on the processor based at least in part on a memory type field stored in an entry of an extended paging table of a virtualization support system of the host machine (extended memory type field), to determine a guest memory type for the reference to the memory location, and to determine an effective memory type based on at least one of the host memory type and the guest memory type.
    Type: Grant
    Filed: June 29, 2005
    Date of Patent: May 6, 2008
    Assignee: Intel Corporation
    Inventors: Gilbert Neiger, Steven M. Bennett, Andrew V. Anderson, Dion Rodgers, David Koufaty, Richard A. Uhlig, Camron B. Rust, Larry O. Smith, Rupin H. Vakharwala
  • Patent number: 7370174
    Abstract: Provided are a method, system, and program for translating virtual addresses of memory locations within pages of different sizes. In one embodiment, a translation entry containing a physical address is stored in a data structure table for each page. Each virtual address includes a page virtual address which identifies the translation entry containing the physical address of the page containing the memory location. The virtual address may be translated to a translation entry index using the size of the page containing the memory location.
    Type: Grant
    Filed: January 5, 2005
    Date of Patent: May 6, 2008
    Assignee: Intel Corporation
    Inventors: Arturo L. Arizpe, Gary Y. Tsao
  • Patent number: 7366869
    Abstract: A system for optimizing translation lookaside buffer entries is provided. The system includes a translation lookaside buffer configured to store a number of entries, each entry having a size attribute, each entry referencing a corresponding page, and control logic configured to modify the size attribute of an existing entry in the translation lookaside buffer if a new page is contiguous with an existing page referenced by the existing entry. The existing entry after having had its size attribute modified references a consolidated page comprising the existing page and the new page.
    Type: Grant
    Filed: March 17, 2005
    Date of Patent: April 29, 2008
    Assignee: Qualcomm Incorporated
    Inventors: Thomas Andrew Sartorius, Jeffrey Todd Bridges, James Norris Dieffenderfer, Victor Roberts Augsburg
  • Patent number: 7366848
    Abstract: In a shared memory system, ineffective write operations (“dead stores”) can be handled in a manner to reduce unnecessary consumption of resources. In a shared memory system, when a non-owning processing unit requests data from a shared memory location owned by another processing unit, the memory controller for the shared memory requests a most current copy of the data from the owner processing unit. Instead of the owner processing unit reflexively sending its data to the memory controller, the owner processing unit determines whether the data has been changed, and, if it has not changed, transmits indication of such to the memory controller. Since the data has not changed, then the data at the shared memory location is proper and can be sent to satisfy the requesting processing unit.
    Type: Grant
    Filed: June 2, 2005
    Date of Patent: April 29, 2008
    Assignee: Sun Microsystems, Inc.
    Inventor: Balakrishna Venkatrao
  • Patent number: 7363491
    Abstract: A processor divides resources into secure resources and non-secure resources. Virtual-to-physical address translation page tables may be stored in either secure or non-secure memory.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: April 22, 2008
    Assignee: Intel Corporation
    Inventor: Dennis M. O'Connor
  • Patent number: 7356026
    Abstract: A method of node translation for communicating over virtual channels in a clustered multiprocessor system using connection descriptors (CDs), which specify the endpoint nodes for virtual connections. The system includes a local processing element node, a remote processing element node and a network interconnect therebetween for sending communications between the processing element nodes. The method includes assigning a CD to specify an endpoint node for a virtual connection, defining a local connection table (LCT) to be accessed with the CD to produce a system node identifier (SNID) of the endpoint node, generating a communication request including the CD, accessing the LCT using the CD of that communication request to produce the SNID for the endpoint node of the connection in response to that request, and sending a memory request to the endpoint node.
    Type: Grant
    Filed: December 14, 2001
    Date of Patent: April 8, 2008
    Assignee: Silicon Graphics, Inc.
    Inventors: Steven L. Scott, Chris Dickson, Steve Reinhardt
  • Patent number: 7353360
    Abstract: A method for maximizing page locality within a networking system operationally attached to a plurality of processing entities wherein each processing entity either shares or includes a corresponding memory hierarchy wherein each memory hierarchy has a table of pages temporally managed by access from the networking system is disclosed. The method includes providing at least one memory access channel to each memory hierarchy and moving information to and from pages in the memory hierarchy of a particular processing entity via its associated memory access channels.
    Type: Grant
    Filed: April 5, 2005
    Date of Patent: April 1, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Shimon Muller, Rahoul Puri, Michael Wong
  • Publication number: 20080077766
    Abstract: According to one embodiment, an information processing apparatus includes a system memory and a video memory allocated to a part of a storage area of the system memory. A storing unit stores a plurality of tables each corresponding to one of a plurality of kinds of operating systems and storing a combination of a capacity of the system memory and a capacity of the video memory. An identifying unit identifies an installed operating system. A selecting unit selects, from the tables stored in the storing unit, a table corresponding to the installed operating system identified by the identifying unit. A detecting unit detects the capacity of the system memory. A setting unit sets the capacity of the video memory in accordance with the capacity of the system memory detected by the detecting unit and the table selected by the selecting unit.
    Type: Application
    Filed: August 16, 2007
    Publication date: March 27, 2008
    Applicant: KABUSHIKI KAISHA TOSHIBA
    Inventor: Yoshinori Kohmoto
  • Patent number: 7350053
    Abstract: A method to communicate data is disclosed which includes communicating a virtual address to a translation lookaside buffer (TLB) and translating the virtual address to a physical address of a computer memory. The method also includes loading the physical address translated by the TLB into a register within a processor and transmitting the data from the physical address to a destination computing device.
    Type: Grant
    Filed: January 11, 2005
    Date of Patent: March 25, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Rabin A. Sugumar, Robert T. Golla, Paul J. Jordan
  • Patent number: 7350019
    Abstract: The configuration of a CAM device can be set in various manners depending on a system in which CAM having different configurations is needed. The CAM device includes a CAM array including a plurality of physical banks, a logical bank-physical bank converter for setting the assignment between logical banks and physical banks, and for outputting a control signal to set the configuration of a physical bank assigned to the logical bank, depending on a logical bank signal indicating a logical bank to be searched, a priority circuit for outputting search results in accordance with predetermined priority, and a cascade circuit for performing a logical operation on the search results output from the priority circuit of the present CAM device and a search results supplied from a higher-order CAM device, and transmitting the results of the logical operation to a lower-order CAM device.
    Type: Grant
    Filed: March 2, 2004
    Date of Patent: March 25, 2008
    Assignee: Kawasaki Microelectronics, Inc.
    Inventors: Yoshinori Wakimoto, Yoshihiro Ishida
  • Patent number: 7346755
    Abstract: An example memory quality assuring system is provided. The system may include a memory mapping logic configured to facilitate accessing memory locations and redirecting memory accessing operations. The system may also include a memory quality assurance logic configured to logically replace a first memory location with a second memory location, to initiate testing logically isolated memory locations, and to selectively logically remove tested memory locations based on the testing. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the application. It is submitted with the understanding that it will not be employed to interpret or limit the scope or meaning of the claims 37 CFR 1.72(b).
    Type: Grant
    Filed: September 16, 2003
    Date of Patent: March 18, 2008
    Assignee: Hewlett-Packard Development, L.P.
    Inventors: Ken Gary Pomaranski, Andy Harvey Barr, Dale John Shidla
  • Publication number: 20080046666
    Abstract: Systems and methods for program directed memory access patterns including a memory system with a memory, a memory controller and a virtual memory management system. The memory includes a plurality of memory devices organized into one or more physical groups accessible via associated busses for transferring data and control information. The memory controller receives and responds to memory access requests that contain application access information to control access pattern and data organization within the memory. Responding to memory access request includes accessing one or more memory devices. The virtual memory management system includes: a plurality of page table entries for mapping virtual memory addresses to real addresses in the memory; a hint state responsive to application access information for indicating how real memory for associated pages is to be physically organized within the memory; and a means for conveying the hint state to the memory controller.
    Type: Application
    Filed: August 15, 2006
    Publication date: February 21, 2008
    Inventor: Robert B. Termaine
  • Patent number: 7325093
    Abstract: A recording method includes the steps of reading a management table for managing whether data are recorded on a recording medium in units of a first recording segment; detecting whether the first recording segment is associated with a second recording segment smaller than the first recording segment according to a designation of data recording in units of the second recording segment into the recording medium; discriminating from data in the management table whether it is possible to read data of the first recording segment; reading the data in units of the first recording segment and temporarily recording the data to a memory when in the discriminating step it is determined that it is possible to read data in units of the first recording segment; recording data to a part of the first recording segment recorded in the memory in units of the second recording segment; and recording data of the first recording segment that was temporarily recorded in the memory to the storage medium.
    Type: Grant
    Filed: April 1, 2003
    Date of Patent: January 29, 2008
    Assignee: Sony Corporation
    Inventors: Seiji Ohbi, Takashi Kawakami, Manabu Kii, Masato Hattori
  • Patent number: 7325059
    Abstract: The present invention provides a technique for efficiently looking up address-routing information in an intermediate network node, such as a router. To that end, the node locates routing information stored in its memory using one or more “lookup” tables (LUT) which can be searched using a small, bounded number of dependent lookups, thereby reducing the number of dependent lookups conventionally performed. The LUTs are arranged so each table provides routing information for network addresses whose subnet mask lengths are within a different range (“stride”) of mask lengths. According to the technique, the node locates a network address's routing information by searching the LUTs, in order of decreasing prefix lengths, until the routing information is found. Preferably, several tables are searched in parallel. A match in a LUT may further point to a small MTRIE that enables the final bits of a prefix to be matched. That final MTRIE is searched using a relatively small, bounded number of dependent lookups.
    Type: Grant
    Filed: May 15, 2003
    Date of Patent: January 29, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: David Richard Barach, Bobby Batacharia
  • Patent number: 7313669
    Abstract: In one embodiment, a method for supporting address translation in a virtual-machine environment includes creating a guest translation data structure to be used by a guest operating system for address translation operations, creating an active translation data structure based on the guest translation data structure, and periodically modifying the content of the active translation data structure to conform to the content of the guest translations data structure. The content of the active translation data structure is used by a processor to cache address translations in a translation-lookaside buffer (TLB).
    Type: Grant
    Filed: February 28, 2005
    Date of Patent: December 25, 2007
    Assignee: Intel Corporation
    Inventors: Gilbert Neiger, Stephen Chou, Erik Cota-Robles, Stalinselvaraj Jeyasingh, Alain Kagi, Michael Kozuch, Richard Uhlig, Sebastian Schoenberg
  • Patent number: 7299325
    Abstract: A method includes determining a garbage collection list for a data storage structure of a node in a data storage system, the garbage collection list including one or more layout map identifiers (IDs) for garbage collection. A data fragment stored on the data storage structure is located at a first location and a layout map ID associated with the data fragment is determined. A determination is made whether the layout map ID associated with the data fragment matches a layout map ID for garbage collection in the garbage collection list. If the layout map ID associated with the data fragment matches a layout map ID for garbage collection in the garbage collection list, a determination is made whether the data fragment is present at a second location on the data storage system. If the data fragment is present at a second location on the data storage system, the data fragment at the first location is determined to be a garbage fragment and deleted from the data storage system.
    Type: Grant
    Filed: August 24, 2005
    Date of Patent: November 20, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Steven Richard Waterhouse, Sherif M. Botros, Olaf Manczak, Patrick Gates, Jeremy Werner, Sacha Arnoud
  • Patent number: 7299335
    Abstract: A system for obtaining translation information from a data processing system transparent to the operation of a processor core of the data processing system. In one embodiment, the processor includes a processor core and memory management circuitry. The memory management circuitry stores translation information. The data processing system includes debugging circuitry for obtaining translation information stored in the memory management circuitry and for providing that information externally.
    Type: Grant
    Filed: May 27, 2005
    Date of Patent: November 20, 2007
    Assignee: Freescale Semiconductor, Inc.
    Inventor: William C. Moyer
  • Patent number: 7296289
    Abstract: An access management apparatus receives a command message having setting and changing functions, performs corresponding processing, and transmits results. A checking unit checks the presence/absence of a data element to be accessed. Access is permitted based on looking up a setting access condition if the data element is not set and looking up a changing access condition if the data element is set. A control table contains identification information, location information, a data setting access condition, and a data changing access condition of each of a plurality of data elements. When receiving a command, a determining unit determines whether the designated data element is already set by looking up location information of the data element in the control table. A data setting/changing unit sets or changes data in accordance with the access condition looked up.
    Type: Grant
    Filed: April 28, 2004
    Date of Patent: November 13, 2007
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Yasuo Iijima
  • Patent number: 7296137
    Abstract: A system for obtaining translation information from a data processing system. The system includes circuitry for receiving an external request for translation information. The circuitry determines whether the requested translation information is present in memory management circuitry of a data processing system. If the translation information is not present in the memory management circuitry, the circuitry requests retrieval of the information by a processor core. In one embodiment, the request is performed by generating an interrupt to the processor core. In other embodiments, the request is preformed by requesting the activation of a program thread to be executed by the processor core.
    Type: Grant
    Filed: May 27, 2005
    Date of Patent: November 13, 2007
    Assignee: Freescale Semiconductor, Inc.
    Inventor: William C. Moyer
  • Patent number: 7296136
    Abstract: According to an exemplary embodiment of the present invention, a method for loading data from at least one memory device includes the steps of loading a first value from a first memory location of the at least one memory device, determining a second memory location based on the first value and loading a second value from the second memory location of the at least one memory device, wherein the step of loading a first value is performed by a first processing unit and wherein the steps of determining a second memory location and loading a second value are performed by at least one other processing unit.
    Type: Grant
    Filed: June 4, 2004
    Date of Patent: November 13, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Jean-Francois Collard, Robert Samuel Schreiber, Michael S. Schlansker
  • Patent number: 7284100
    Abstract: Selected units of storage, such as segments of storage or regions of storage, are invalidated. The invalidation is facilitated by the setting of invalidation indicators located in data structure entries corresponding to the units of storage to be invalidated. Additionally, buffer entries associated with the invalidated units of storage or other chosen units of storage are cleared. An instruction is provided to perform the invalidation and/or clearing. Moreover, buffer entries associated with a particular address space are cleared, without any invalidation. This is also performed by the instruction. The instruction can be implemented in software, hardware, firmware or some combination thereof, or it can be emulated.
    Type: Grant
    Filed: May 12, 2003
    Date of Patent: October 16, 2007
    Assignee: International Business Machines Corporation
    Inventors: Timothy J. Slegel, Lisa C. Heller, Erwin F. Pfeffer, Kenneth E. Plambeck
  • Patent number: 7284112
    Abstract: Page size prediction is used to predict a page size for a page of memory being accessed by a memory access instruction such that the predicted page size can be used to access an address translation data structure. By doing so, an address translation data structure may support multiple page sizes in an efficient manner and with little additional circuitry disposed in the critical path for address translation, thereby increasing performance.
    Type: Grant
    Filed: January 14, 2005
    Date of Patent: October 16, 2007
    Assignee: International Business Machines Corporation
    Inventors: Jeffrey Powers Bradford, Jason Nathaniel Dale, Kimberly Marie Fernsler, Timothy Hume Heil, James Allen Rose
  • Patent number: 7281115
    Abstract: An instruction is provided to perform clearing of selected address translation buffer entries (TLB entries) associated with a particular address space, such as segments of storage or regions of storage. The buffer entries related to segment table entries or region table entries or ASCE addresses. The instruction can be implemented by software emulation, hardware, firmware or some combination thereof.
    Type: Grant
    Filed: August 15, 2005
    Date of Patent: October 9, 2007
    Assignee: International Business Machines Corporation
    Inventors: Timothy J. Siegel, Lisa C. Heller, Erwin F. Pfeffer, Kenneth E. Plambeck
  • Patent number: 7275143
    Abstract: A system, apparatus, and method are disclosed for controlling accesses into memory to minimize sequential accesses to the same bank of memory, at least in part, by characterizing a subset of an address in parallel with address translations associated with those accesses. In one embodiment, an exemplary memory controller can include an address translator configured to translate an address useable by a processor to a first memory address. Also, the memory controller includes a bit characterizer configured to characterize a subset of the address as having a value from a range of values, and a bank separator coupled to the address translator and the bit characterizer for receiving a first portion of the first memory address and the value, respectively. Accordingly, the bank separator is configured to differentiate the first portion from a second portion of a second memory address.
    Type: Grant
    Filed: December 13, 2004
    Date of Patent: September 25, 2007
    Assignee: NVIDIA Corporation
    Inventors: Brad W. Simeral, Sean Jeffrey Treichler, David G. Reed
  • Patent number: 7269168
    Abstract: Placing virtualization agents in the switches which comprise the SAN fabric. Higher level virtualization management functions are provided in an external management server. Conventional HBAs can be utilized in the hosts and storage units. In a first embodiment, a series of HBAs are provided in the switch unit. The HBAs connect to bridge chips and memory controllers to place the frame information in dedicated memory. Routine translation of known destinations is done by the HBA, based on a virtualization table provided by a virtualization CPU. If a frame is not in the table, it is provided to the dedicated RAM. Analysis and manipulation of the frame headers is then done by the CPU, with a new entry being made in the HBA table and the modified frames then redirected by the HBA into the fabric. This can be done in either a standalone switch environment or in combination with other switching components located in a director level switch.
    Type: Grant
    Filed: July 31, 2002
    Date of Patent: September 11, 2007
    Assignee: Brocade Communications Systems, Inc.
    Inventors: Subhojit Roy, Richard A. Walter, Cirillo Lino Costantino, Naveen S. Maveli, Carlos Alonso, Michael Yiu-Wing Pong
  • Patent number: 7266651
    Abstract: A method for in-place interleaving and de-interleaving of a memory includes, in one embodiment, generating a new address corresponding to a new location in the memory by performing a bit-wise XOR operation on a number of bits of a first portion of a current address and a number of bits of a different portion of the current address. The current address corresponds to a current location in the memory. In addition, the method includes performing a data swap on data stored at the current location with data stored at the new location.
    Type: Grant
    Filed: September 7, 2004
    Date of Patent: September 4, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Robert E. Cypher
  • Patent number: 7266670
    Abstract: A method of determining whether a virtual address corresponds to a physical address in a translation lookaside buffer (TLB) includes receiving a virtual address, setting the page type of the virtual address according to a rank of the page types, picking index bits and tag compared address from the virtual address and comparing the index bits and the tag compared bits with the page types and the tag addresses in TLB. After these addresses and bits match, the page types are ranked according to the compared results.
    Type: Grant
    Filed: June 4, 2004
    Date of Patent: September 4, 2007
    Assignee: Faraday Technology Corp.
    Inventor: Akan Lin
  • Patent number: 7263593
    Abstract: Embodiments of the present invention are directed to systems and methods of controlling data transfer between a host system and a plurality of storage devices. One embodiment is directed to a virtualization controller for controlling data transfer between a host system and a plurality of storage devices. The virtualization controller comprises a plurality of first ports for connection with the plurality of storage devices each having a storage area to store data; a second port for connection with the host system; a processor; and a memory configured to store volume mapping information which correlates first identification information used by the host system to access a first storage area in one of the storage devices, with second identification information for identifying the first storage area, the correlation being used by the processor to access the first storage area.
    Type: Grant
    Filed: September 15, 2003
    Date of Patent: August 28, 2007
    Assignee: Hitachi, Ltd.
    Inventors: Kiyoshi Honda, Naoko Iwami, Kazuyoshi Serizawa
  • Patent number: 7263585
    Abstract: An apparatus and method for ensuring coherency of instructions within stages of the pipeline microprocessor. The apparatus includes instruction cache management logic and synchronization logic. The instruction cache management logic receives an address corresponding to a next instruction to be fetched, and detects that a part of a memory page corresponding to the next instruction cannot be freely accessed without checking for coherency of the instructions within the part of the memory page and, upon detection, provides the address. The synchronization logic receives the address from the instruction cache management logic. The synchronization logic directs data cache management logic to check for coherency of the instructions within the part of the memory page, and, if the instructions are not coherent within the part of the memory page, the synchronization logic directs the pipeline microprocessor to stall a fetch of the next instruction until the stages of the pipeline.
    Type: Grant
    Filed: September 19, 2003
    Date of Patent: August 28, 2007
    Assignee: IP-First, LLC
    Inventor: Rodney E. Hooker
  • Patent number: 7249241
    Abstract: A system including a direct virtual memory access engine configured to request that data is stored in a memory, wherein a request for the data includes a I/O virtual address, a mapping table configured to store at least one entry includes a virtual-to-physical address mapping, a cache configured to store at least one tracking data structure associated with the at least one entry, and an input/output memory management unit storing the mapping table, operatively connected to the cache and configured to provide a physical address corresponding to the I/O virtual address to the direct virtual memory access engine, wherein the virtual-to-physical address mapping is generated prior to the direct virtual memory access engine requesting that data be stored, wherein the at least one entry and the at least one tracking structure persist for at least two direct memory address requests.
    Type: Grant
    Filed: April 29, 2004
    Date of Patent: July 24, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Hsiao-keng Jerry Chu, Zhongren Xu
  • Patent number: 7234038
    Abstract: A method for managing virtual memory including placing a first virtual memory page in a physical memory page to create a virtual-to-physical memory mapping, associating a first page mapping cookie value with the virtual-to-physical memory mapping, determining whether the virtual-to-physical memory mapping is valid using the first page mapping cookie value, and performing a memory operation addressing the first virtual memory page if the virtual-to-physical memory mapping is valid.
    Type: Grant
    Filed: May 28, 2004
    Date of Patent: June 19, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Paul Durrant
  • Patent number: 7234037
    Abstract: A method of performing memory mapped input output operations to an alternate address space comprising: establishing a first instruction directed to a first memory mapped input output alternate address space associated with an adapter to store data in accordance with a definition of a z/Architecture; establishing a second instruction directed to the first memory mapped input output alternate address space associated with an adapter to load data in accordance with the definition(s) of the z/Architecture; and wherein a process issues at least one of the first instruction and the second instruction and thereby causes execution of at least one of the store and load with the first alternate address space.
    Type: Grant
    Filed: November 25, 2003
    Date of Patent: June 19, 2007
    Assignee: International Business Machines Corporation
    Inventors: Richard K. Errickson, Mark S. Farrell, Charles W. Gainey, Jr., Thomas A. Gregg, Carol B. Hernandez, Donald W. Schmidt
  • Patent number: 7210026
    Abstract: A processor includes a set of registers, each individually addressable using a corresponding register identification, and plural virtual registers, each individually addressable using a corresponding virtual register identification. The processor transfers values between the set of registers and the plural virtual registers under control of a transfer operation. The processor can include a virtual register cache configured to store multiple sets of virtual register values, such that each of the multiple sets of virtual register values corresponds to a different context. Each of the plural virtual registers can include a valid bit that is reset on a context switch and set when a value is loaded from the virtual register cache. The processor can include a virtual register translation look-aside buffer for tracking the location of each set of virtual register values associated with each context.
    Type: Grant
    Filed: June 28, 2002
    Date of Patent: April 24, 2007
    Assignee: Sun Microsystems, Inc.
    Inventor: Peter C. Damron
  • Patent number: 7197601
    Abstract: Selected units of storage, such as segments of storage or regions of storage, may be invalidated. The invalidation is facilitated by the setting of invalidation indicators located in data structure entries corresponding to the units of storage to be invalidated. Additionally, buffer entries associated with the invalidated units of storage or other chosen units of storage may be cleared. An instruction is provided to perform the invalidation and clearing. The instruction can be implemented by software emulation, hardware, firmware or some combination thereof.
    Type: Grant
    Filed: August 9, 2005
    Date of Patent: March 27, 2007
    Assignee: International Business Machines Corporation
    Inventors: Timothy J. Slegel, Lisa C. Heller, Erwin F. Pfeffer, Kenneth E. Plambeck
  • Patent number: 7181567
    Abstract: Performing selective update of a content addressable memory (CAM) following restart of an access control module (ACM) at a network node involves maintaining a restart CAM entry database in shared memory. When the ACM restarts, instead of reentering all CAM entries into the CAM or reading the contents of the CAM, the ACM only updates the CAM with the entries that were modified while the ACM was offline, prior to restart.
    Type: Grant
    Filed: June 4, 2003
    Date of Patent: February 20, 2007
    Assignee: Lucent Technologies Inc.
    Inventor: Ram Krishnan
  • Patent number: RE39500
    Abstract: A virtual memory system including a local-to-global virtual address translator for translating local virtual addresses having associated task specific address spaces into global virtual addresses corresponding to an address space associated with multiple tasks, and a global virtual-to-physical address translator for translating global virtual addresses to physical addresses. Protection information is provided by each of the local virtual-to-global virtual address translator, the global virtual-to-physical address translator, the cache tag storage, or a protection information buffer depending on whether a cache hit or miss occurs during a given data or instruction access. The cache is configurable such that it can be configured into a buffer portion or a cache portion for faster cache accesses.
    Type: Grant
    Filed: July 29, 2004
    Date of Patent: February 27, 2007
    Assignee: MicroUnity Systems Engineering, Inc.
    Inventor: Craig C. Hansen