Segment Or Page Table Descriptor Patents (Class 711/208)
  • Patent number: 7596677
    Abstract: A system, method and computer program product for virtualizing a processor include a virtualization system running on a computer system and controlling memory paging through hardware support for maintaining real paging structures. A Virtual Machine (VM) is running guest code and has at least one set of guest paging structures that correspond to guest physical pages in guest virtualized linear address space. At least some of the guest paging structures are mapped to the real paging structures. For each guest physical page that is mapped to the real paging structures, paging means for handling a connection structure between the guest physical page and a real physical address of the guest physical page. A cache of connection structures represents cached paths to the real paging structures. Each path is described by guest paging structure descriptors and by tie descriptors. Each path includes a plurality of nodes connected by the tie descriptors.
    Type: Grant
    Filed: February 6, 2007
    Date of Patent: September 29, 2009
    Assignee: Parallels Software International, Inc.
    Inventors: Alexey B. Koryakin, Mikhail A. Ershov, Nikolay N. Dobrovolskiy, Andrey A. Omelyanchuk, Alexander G. Tormasov, Serguei M. Beloussov
  • Publication number: 20090228679
    Abstract: Mapping management methods and systems are provided. First, a sub-read command comprising mapping directory number, block offset and page offset is obtained. Then, a specific block mapping table is located from a plurality of block mapping tables according to the mapping directory number, and a first specific entry is located from the specific block mapping table according to the block offset, wherein the first specific entry comprises a mapping mode setting and block information. When the mapping mode setting is a page mapping mode, a second specific entry is located from a page mapped block table according to the block information, and a page mapping table is located corresponding to a specific page mapped block. Thereafter, a third specific entry is located from the page mapping table according to the page offset, and a page of data is located from a storage unit according to the third specific entry.
    Type: Application
    Filed: July 21, 2008
    Publication date: September 10, 2009
    Applicant: VIA TECHNOLOGIES, INC.
    Inventor: Pei-Jun Jiang
  • Patent number: 7577764
    Abstract: A method, computer program product, and distributed data processing system for directly destroying the resources associated with one or more virtual adapters that reside within a physical adapter is provided. A mechanism is provided for directly destroying the resources associated with one or more virtual adapters that reside within a physical adapter, such as a PCI, PCI-X, or PCI-E adapter.
    Type: Grant
    Filed: March 19, 2008
    Date of Patent: August 18, 2009
    Assignee: International Business Machines Corporation
    Inventors: Richard Louis Arndt, Giora Biran, Harvey Gene Kiel, Vadim Makhervaks, Renato John Recio, Leah Shalev, Jaya Srikrishnan
  • Publication number: 20090198953
    Abstract: An addressing model is provided where devices, including I/O devices, are addressed with internet protocol (IP) addresses, which are considered part of the virtual address space. A task, such as an application, may be assigned an effective address range, which corresponds to addresses in the virtual address space. The virtual address space is expanded to include Internet protocol addresses. Thus, the page frame tables are also modified to include entries for IP addresses and additional properties for devices and I/O. Thus, a processing element, such as an I/O adapter or even a printer, for example, may also be addressed using IP addresses without the need for library calls, device drivers, pinning memory, and so forth. This addressing model also provides full virtualization of resources across an IP interconnect, allowing a process to access an I/O device across a network.
    Type: Application
    Filed: February 1, 2008
    Publication date: August 6, 2009
    Inventors: Ravi K. Arimilli, Claude Basso, Jean L. Calvignac, Piyush Chaudhary, Edward J. Seminaro
  • Publication number: 20090187732
    Abstract: What is provided is an enhanced dynamic address translation facility. In one embodiment, a virtual address to be translated and an initial origin address of any one of a region first table, a region second table, a region third table, or a segment table are obtained. Based on the obtained initial origin address, a segment table entry is obtained which contains a format control and DAT protection fields. If the format control field is enabled, obtaining from the translation table entry a segment-frame absolute address of a large block of data in main storage. The segment-frame absolute address is combined with a page index portion and a byte index portion of the virtual address to form a translated address of the desired block of data. If the DAT protection field is not enabled, fetches and stores are permitted to the desired block of data addressed by the translated virtual address.
    Type: Application
    Filed: January 11, 2008
    Publication date: July 23, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: DAN F. GREINER, Charles W. Gainey, JR., Lisa C. Heller, Damian L. Osisek, Erwin Pfeffer, Timothy J. Slegel, Charles F. Webb
  • Publication number: 20090187695
    Abstract: Apparatus handles concurrent address translation cache misses and hits under those misses while maintaining command order based upon virtual channel. Commands are stored in a command processing unit that maintains ordering of the commands. A command buffer index is assigned to each address being sent from the command processing unit to an address translation unit. When an address translation cache miss occurs, a memory fetch request is sent. The CBI is passed back to the command processing unit with a signal to indicate that the fetch request has completed. The command processing unit uses the CBI to locate the command and address to be reissued to the address translation unit.
    Type: Application
    Filed: January 12, 2009
    Publication date: July 23, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: John D. Irish, Chad B. McBride, Ibrahim A. Ouda, Andrew H. Wottreng
  • Publication number: 20090182974
    Abstract: What is provided is an enhanced dynamic address translation facility. In one embodiment, a virtual address to be translated and an initial origin address of a translation table of the hierarchy of translation tables are obtained. Based on the origin address, a segment table entry is obtained which contains a format control field and an access validity field. If the format control and access validity are enabled, the segment table entry further contains an access control and fetch protection fields, and a segment-frame absolute address. Store operations to the block of data are permitted only if the access control field matches a program access key provided by either a Program Status Word or an operand of a program instruction being executed. Fetch operations from the desired block of data are permitted only if the program access key associated with the virtual address is equal to the segment access control field.
    Type: Application
    Filed: January 11, 2008
    Publication date: July 16, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: DAN F. GREINER, Charles W. Gainey, JR., Lisa C. Heller, Damian L. Osisek, Erwin Pfeffer, Timothy J. Slegel, Charles E. Webb
  • Publication number: 20090172346
    Abstract: Embodiments of apparatuses, articles, methods, and systems for intra-partitioning components within an execution environment, and transitioning between partitions using a page table pointer target list are generally described herein. Other embodiments may be described and claimed.
    Type: Application
    Filed: December 31, 2007
    Publication date: July 2, 2009
    Inventors: Ravi Sahita, Uday R. Savagaonkar, David M. Durham, Andrew V. Anderson, Ulhas Warrier
  • Publication number: 20090172345
    Abstract: Systems and/or methods that facilitate PBA and LBA translations associated with a memory component(s) are presented. A memory controller component facilitates determining which memory component, erase block, page, and data block contains a PBA in which a desired LBA and/or associated data is stored. The memory controller component facilitates control of performance of calculation functions, table look-up functions, and/or search functions to locate the desired LBA. The memory controller component generates a configuration sequence based in part on predefined optimization criteria to facilitate optimized performance of translations. The memory controller component and/or associated memory component(s) can be configured so that the translation attributes are determined in a desired order using the desired translation function(s) to determine a respective translation attribute based in part on the predefined optimization criteria. The LBA to PBA translations can be performed in parallel by memory components.
    Type: Application
    Filed: December 28, 2007
    Publication date: July 2, 2009
    Applicant: SPANSION LLC
    Inventors: Walter Allen, Sunil Atri, Robert France
  • Patent number: 7555628
    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: Grant
    Filed: August 15, 2006
    Date of Patent: June 30, 2009
    Assignee: Intel Corporation
    Inventors: Steven M. Bennett, Andrew V. Anderson, Gilbert Neiger, Richard Uhlig, Dion Rodgers, Rajesh Madukkarumukumana Sankaran, Camron Rust, Sebastian Schoenberg
  • Patent number: 7552255
    Abstract: In one embodiment of the present invention, a method includes invalidating an entry of a filter coupled to a pipeline resource if an update to the entry occurs during a first context; and flushing a portion of the pipeline resource corresponding to an address space including the entry.
    Type: Grant
    Filed: July 30, 2003
    Date of Patent: June 23, 2009
    Assignee: Intel Corporation
    Inventors: Robert T. George, Jason W. Brandt, K. S. Venkatraman, Sangwook P. Kim
  • Patent number: 7552308
    Abstract: A computer implemented method, data processing system, and computer usable code are provided for managing memory use for program segments in an executable program. The process copies a set of identified executable program segments associated with the executable program to a set of page segments in a memory space. The process unmaps the set of identified executable program segments and the set of page segments. The process then remaps the set of page segments to a source memory location associated with the set of identified executable program segments.
    Type: Grant
    Filed: April 4, 2006
    Date of Patent: June 23, 2009
    Assignee: International Business Machines Corporation
    Inventor: Adam Gerard Litke
  • Patent number: 7552254
    Abstract: In one embodiment of the present invention, an apparatus includes a pipeline resource having different address spaces each corresponding to a different address space identifier. Each address space may have entries that include data values associated with the address space identifier.
    Type: Grant
    Filed: July 30, 2003
    Date of Patent: June 23, 2009
    Assignee: Intel Corporation
    Inventors: Robert T. George, Jason W. Brandt, Jonathan D. Combs, Peter J. Ruscito, Sanjoy K. Mondal
  • Patent number: 7543084
    Abstract: A method for directly destroying one or more virtual resources that reside within a physical adapter and that are associated with a virtual host. Specifically, the present invention is directed to a mechanism for sharing conventional Peripheral Component Interconnect (PCI) I/O adapters, PCI-X I/O adapters, PCI-Express I/O adapters, and, in general, any I/O adapter that uses a memory mapped I/O interface for host to adapter communications.
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: June 2, 2009
    Assignee: International Business Machines Corporation
    Inventors: Richard Louis Arndt, Giora Biran, Harvey Gene Kiel, Vadim Makhervaks, Renato John Recio, Leah Shalev, Jaya Srikrishnan
  • Publication number: 20090138664
    Abstract: A system, method, and a computer readable for inserting data into a cache memory based on information in a semi-synchronous memory copy instruction are disclosed. The method comprises determining a start of a semi-synchronous memory copy operation. The semi-synchronous memory copy operation is checked for a given value in at least one cache injection bit. In response to the given value in the cache injection bit, a predefined number of lines of destination data is copied into at least one level of cache memory.
    Type: Application
    Filed: January 26, 2009
    Publication date: May 28, 2009
    Applicant: International Business Machines Corp.
    Inventors: Ravi K. Arimilli, Rama K. Govindaraju, Peter H. Hochschild, Bruce G. Mealey, Satya P. Sharma, Balaram Sinharoy
  • Patent number: 7539842
    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: Grant
    Filed: August 15, 2006
    Date of Patent: May 26, 2009
    Assignee: International Business Machines Corporation
    Inventor: Robert B. Tremaine
  • Publication number: 20090113165
    Abstract: A method, system and computer program product for allocating real memory to virtual memory page sizes when all real memory is in use is disclosed. In response to a page fault, a page frame for a virtual page is selected. In response to determining that said page does not represent a new page, a page is paged-in into said page frame a repaging rate for a page size of the page is modified in a repaging rates data structure.
    Type: Application
    Filed: December 31, 2008
    Publication date: April 30, 2009
    Applicant: INTERNATIONAL BUISNESS MACHINES CORPORATION
    Inventors: David A. Hepkin, Thomas S. Mathews
  • Publication number: 20090063809
    Abstract: A system and method for parallel scanning among multiple scanning entities. According to various embodiments of the present invention, buffers are allocated from a pool of memory pages, with one packet being located on each page. Each of the pages is mapped such that unprivileged scanners, privileged scanners, and hardware-based scanners are all capable of accessing the pages. By having the packets located on separate pages, additional data other than the packets at issue do not have to be shared, and copying is not necessary to complete the scanning process.
    Type: Application
    Filed: August 30, 2007
    Publication date: March 5, 2009
    Inventor: Michael G. Williams
  • Patent number: 7490217
    Abstract: Design structures for program directed memory access patterns. A design structure is embodied in a machine readable storage medium used in a design process, the design structure including a computer memory system for storing and retrieving data. The memory system includes 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.
    Type: Grant
    Filed: May 23, 2008
    Date of Patent: February 10, 2009
    Assignee: International Business Machines Corporation
    Inventor: Robert B. Tremaine
  • Publication number: 20090037689
    Abstract: A storage controller which uses the same buffer to store data elements retrieved from different secondary storage units. In an embodiment, the controller retrieves location descriptors ahead of when data is available for storing in a target memory. Each location descriptor indicates the memory locations at which data received from a secondary storage is to be stored. Only a subset of the location descriptors may be retrieved and stored ahead when processing each request. Due to such retrieval and storing of limited number of location descriptors, the size of a buffer used by the storage controller may be reduced. Due to retrieval of the location descriptors ahead, unneeded buffering of the data elements within the storage controller is avoided, reducing the latency in writing the data into the main memory, thus improving performance.
    Type: Application
    Filed: July 30, 2007
    Publication date: February 5, 2009
    Applicant: NVIDIA Corporation
    Inventor: Mrudula Kanuri
  • Patent number: 7484074
    Abstract: A method, system and computer program product for allocating real memory to virtual memory page sizes when all real memory is in use includes, in response to a page fault, selecting a page frame for a virtual page. In response to determining that said page does not represent a new page, a page is paged-in into said page frame and a repaging rate for a page size of the page is modified in a repaging rates data structure.
    Type: Grant
    Filed: January 18, 2006
    Date of Patent: January 27, 2009
    Assignee: International Business Machines Corporation
    Inventors: David A. Hepkin, Thomas S. Mathews
  • Patent number: 7480742
    Abstract: A method for directly destroying the resources associated with one or more virtual adapters that reside within a physical adapter is provided. A mechanism is provided for directly destroying the resources associated with one or more virtual adapters that reside within a physical adapter, such as a PCI, PCI-X, or PCI-E adapter.
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: January 20, 2009
    Assignee: International Business Machines Corporation
    Inventors: Richard Louis Arndt, Giora Biran, Harvey Gene Kiel, Vadim Makhervaks, Renato John Recio, Leah Shalev, Jaya Srikrishnan
  • Publication number: 20090019255
    Abstract: A system, method, and program product are provided that identifies a cache set using Segment LookAside Buffer attributes. When an effective address is requested, an attempt is made to load the received effective address from an L2 cache. When this attempt results in a cache miss, the system identifies a segment within the Segment LookAside Buffer that includes the effective address. A class identifier is retrieved from the identified segment within the Segment LookAside Buffer. This class identifier identifies a cache set selected from the cache for replacement. Data is then reloaded into the cache set of the cache by using the retrieved class identifier that corresponds to the effective address.
    Type: Application
    Filed: July 13, 2007
    Publication date: January 15, 2009
    Inventors: Adam Patrick Burns, Jason Nathaniel Dale, Jonathan James DeMent, Gavin Balfour Meil
  • Patent number: 7478249
    Abstract: A recording method includes the steps of causing a first management system retained in a first apparatus to manage a storage medium loaded in a second apparatus when the first apparatus and the second apparatus are connected to one another; and recording the data to the storage medium based on a second management system which is retained in the second apparatus and which limits consecution of data recording segments when it is determined that data transferred from the first apparatus to the second apparatus are to be recorded to the storage medium. A recording apparatus and editing method and apparatus also manage data storage and editing between first and second apparatuses.
    Type: Grant
    Filed: April 1, 2003
    Date of Patent: January 13, 2009
    Assignee: Sony Corporation
    Inventors: Manabu Kii, Seiji Ohbi, Takashi Kawakami, Masato Hattori
  • Patent number: 7467284
    Abstract: A method of external data storage in a system including a primary processing device, having a processor and a primary data storage unit, adapted to run application programs for processing active records in the processor and configured to store data belonging to active records in the primary data storage unit; and a secondary data storage system, accessible to the primary processing device, includes loading data belonging to an active record into the primary data storage unit and externalizing the record by transferring at least a piece of data belonging to the record to the secondary data storage system for storage. The step of externalizing a record includes the making of a call by an application program using data belonging to the record to an interface, arranged to transfer the piece of data to the secondary data storage system.
    Type: Grant
    Filed: February 11, 2005
    Date of Patent: December 16, 2008
    Assignee: Irdeto Access B.V.
    Inventors: Gerard Johan Dekker, Albert Jan Bosscha, Antonius Johannes Petrus Maria Van De Ven
  • Patent number: 7461198
    Abstract: A system and a method for configuration and management of flash memory is provided, including a flash memory, a virtual memory region, and a memory logical block region. The flash memory includes a plurality of physical erase units. Each physical erase unit is configured to include at least a consecutive segment, and each segment is configured to include at least a consecutive frame. Each frame is configured to include at least a consecutive page. Each virtual memory region is configured to include a plurality of areas, and each area is configured to include at least a virtual erase unit. The memory logical block region is configured to include a plurality of clusters, and each cluster includes at least a consecutive memory logical block.
    Type: Grant
    Filed: July 21, 2006
    Date of Patent: December 2, 2008
    Assignee: Genesys Logic, Inc.
    Inventors: Yi-Lin Tsai, Tei-Wei Kuo, Jen-Wei Hsieh, Yuan-Hao Chang, Hsiang-Chi Hsieh
  • Patent number: 7447869
    Abstract: A method and apparatus for fragment processing in a virtual memory system are described. Embodiments of the invention include a coprocessor comprising a virtual memory system for accessing a physical memory. Page table logic and fragment processing logic scan a page table having a fixed, relatively small page size. The page table is broken into fragments made up of pages that are contiguous in physical address space and logical address space and have similar attributes. Fragments in logical address space begin on known boundaries such that the boundary indicates both a starting address of a fragment and the size of the fragment. Corresponding fragments in physical address space can begin anywhere, thus making the process transparent to physical memory. A fragment field in a page table entry conveys both fragment size and boundary information.
    Type: Grant
    Filed: April 7, 2005
    Date of Patent: November 4, 2008
    Assignee: ATI Technologies, Inc.
    Inventors: W. Fritz Kruger, Wade K Smith, Robert A. Drebin
  • Patent number: 7444637
    Abstract: Systems and methods for scheduling coprocessing resources in a computing system are provided without redesigning the coprocessor. In various embodiments, a system of preemptive multitasking is provided achieving benefits over cooperative multitasking by any one or more of (1) executing rendering commands sent to the coprocessor in a different order than they were submitted by applications; (2) preempting the coprocessor during scheduling of non-interruptible hardware; (3) allowing user mode drivers to build work items using command buffers in a way that does not compromise security; (4) preparing DMA buffers for execution while the coprocessor is busy executing a previously prepared DMA buffer; (5) resuming interrupted DMA buffers; and (6) reducing the amount of memory needed to run translated DMA buffers.
    Type: Grant
    Filed: February 12, 2004
    Date of Patent: October 28, 2008
    Assignee: Microsoft Corporation
    Inventors: Steve Pronovost, Anuj B. Gosalia, Bryan L. Langley, Hideyuki Nagase
  • Publication number: 20080263315
    Abstract: A computer addressing mode and memory access method rely on a memory segment identifier and a memory segment mask for indicating memory locations. In this addressing mode, a processor receives an instruction comprising the memory segment identifier and memory segment mask. The processor employs a two-level address decoding scheme to access individual memory locations. Under this decoding scheme, the processor decodes the memory segment identifier to select a particular memory segment. Each memory segment includes a predefined number of memory locations. The processor selects memory locations within the memory segment based on mask bits set in the memory segment mask. The disclosed addressing mode is advantageous because it allows non-consecutive memory locations to be efficiently accessed.
    Type: Application
    Filed: April 19, 2007
    Publication date: October 23, 2008
    Inventors: Bo Zhang, Guofang Jiao, Yun Du, Jay Chunsup Yun
  • Patent number: 7426625
    Abstract: A method, computer program product, and a data processing system for supporting memory addresses with holes is provided. A first physical address range allocated for system memory for an operating system run by a processor configured to support logical partitioning is virtualized to produce a first logical address range. A second physical address range allocated for system memory for the operating system is virtualized to produce a second logical address range. The first physical address range and the second physical address range are non-contiguous. Virtualization of the first and second physical address ranges is had such that the first logical address range and the second logical address range are contiguous. A memory mapped input/output physical address range that is intermediate the first physical address range and the second physical address range is virtualized to produce a third logical address range.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: September 16, 2008
    Assignee: International Business Machines Corporation
    Inventor: Van Hoa Lee
  • Publication number: 20080189509
    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: Application
    Filed: April 17, 2008
    Publication date: August 7, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Van Hoa Lee
  • Patent number: 7406575
    Abstract: In one example, an apparatus is provided to store data in one or more data storage systems by selecting from among at least a first operating mode and a delta replication operating mode. The apparatus comprises a means for storing data pursuant to the first operating mode and a means for ascertaining a first status of a criterion pertaining to an activity performed by the one or more data storage systems while operating in the first operating mode. The apparatus further comprises a means for detecting a change in the criterion to a second status, and a means for storing data pursuant to the delta replication operating mode in response to the change.
    Type: Grant
    Filed: June 11, 2007
    Date of Patent: July 29, 2008
    Assignee: FalconStor, Inc.
    Inventors: Wai T. Lam, Xiaowei Li
  • Patent number: 7398353
    Abstract: A predetermined number of erasable blocks positioned at a start of a volume area in a semiconductor memory card are provided so as to include volume management information. A user area following the volume management information includes a plurality of clusters. A data length NOM of an area from a master boot record & partition table sector to a partition boot sector is determined so that the plurality of clusters in the user area are not arranged so as to straddle erasable block boundaries. Since cluster boundaries and erasable block boundaries in the user area are aligned, there is no need to perform wasteful processing in which two erasable blocks are erased to rewrite one cluster.
    Type: Grant
    Filed: October 12, 2006
    Date of Patent: July 8, 2008
    Assignee: Matsushita Electric Industrial Co., Ltd.
    Inventors: Takuji Maeda, Teruto Hirota
  • Patent number: 7383414
    Abstract: A method of managing memory mapped input/output (I/O) for a run-time environment is disclosed, in which opaque references are used for accessing information blocks included in files used in a dynamic run-time environment. The information block is stored in a shared memory space of pages that are each aligned on respective boundaries having addresses that are each some multiple of two raised to an integer power. The opaque reference used for the dynamic run-time environment includes at least an index, or page number reference into a page map of references to the pages of the shared memory space, and an offset value indicating an offset into the referenced page for the beginning of the storage of the information block. Control bits of the opaque reference indicate information such as the mapping mode, e.g., read-only, read-write, or private. Pages which are modified by a process may be written back to a backing store of the file based on control bits which indicate that a page has been modified.
    Type: Grant
    Filed: May 28, 2004
    Date of Patent: June 3, 2008
    Assignee: Oracle International Corporation
    Inventors: Robert Lee, Harlan Sexton
  • Publication number: 20080126740
    Abstract: Sensitive data structures, such as type data structures, can be used by untrusted application programs without necessarily exposing the sensitive data structures directly. For example, untrusted components, such as application programs that may or may not be type safe, can be allowed to operate in a lower-privilege mode. In addition, the application programs can be associated with an address space with limited permissions (e.g., read-only) to a shared memory heap. Requests by the untrusted components for sensitive data structures can then be handled by trusted components operating in a higher-privilege mode, which may have broader permissions to the shared memory heap. If the requests by the untrusted components are deemed to be valid, the results of the requests can be shared with the lower-privilege mode components through the shared memory heap.
    Type: Application
    Filed: December 7, 2006
    Publication date: May 29, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: David Charles Wrighton, Robert Sadao Unoki
  • Patent number: 7376809
    Abstract: Systems and methods for implementing multi-frame control blocks in a network processor are disclosed. Embodiments include systems and methods to reduce long latency memory access to less expensive memory such as DRAM. As a network processor in a network receives packets of data, the network processor forms a frame control block for each packet. The frame control block contains a pointer to a memory location where the packet data is stored, and is thereby associated with the packet. The network processor associates a plurality of frame control blocks together in a table control block that is stored in a control store. Each table control block comprises a pointer to a memory location of a next table control block in a chain of table control blocks. Because frame control blocks are stored and accessed in table control blocks, less frequent memory accesses may be needed to keep up with the frame rate of packet transmission.
    Type: Grant
    Filed: March 9, 2005
    Date of Patent: May 20, 2008
    Assignee: International Business Machines Corporation
    Inventors: Claude Basso, Jean Louis Calvignac, Chih-jen Chang, Fabrice Jean Verplanken
  • Patent number: 7366865
    Abstract: Provided are a method, system, network processor, network device, and article of manufacture for enqueueing entries in a packet queue referencing packets. When adding a packet to a first memory area, an entry is written to a packet queue in a second memory area referencing the added packet. A pointer is read referencing one end of the packet queue from a queue descriptor in the second memory area into a third memory area in one read operation. The pointer is updated in the third memory area to point to the added entry in the packet queue and the updated pointer in the third memory area is written to the queue descriptor in the second memory area in one write operation.
    Type: Grant
    Filed: September 8, 2004
    Date of Patent: April 29, 2008
    Assignee: Intel Corporation
    Inventors: Sridhar Lakshmanamurthy, Sanjeev Jain, Gilbert Wolrich, Debra Bernstein
  • Patent number: 7363464
    Abstract: A method and apparatus for an apparatus and method for reduction of power consumption in OS that use flat segmentation memory model are described. In one embodiment, the method includes monitoring a segment register to detect a segment register update operation. Once the segment register update operation is detected, a code/data segment contained within the segment register is identified as one of a segmented code/data segment and a flat code/data segment. Once detected, the segment register is updated according to whether the segment is flat or segmented. Accordingly, when a segment register read is performed, one or more updated bits within the segment register are used to identify the code/data read from the segment register as either flat or segmented.
    Type: Grant
    Filed: January 31, 2005
    Date of Patent: April 22, 2008
    Assignee: Intel Corporation
    Inventors: Oded Liron, Uri Frank
  • 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: 7356667
    Abstract: An address translation unit is provided for use in a computer system. The unit contains a set of page table entries for mapping from a virtual address to a packet address. Each page table entry corresponds to one page of virtual memory, and typically includes one or more specifiers. Each specifier relates to a different portion of the page, and maps from that portion of the page to a corresponding range of packet addresses. Accordingly, the unit allows for address translation to be performed with a sub-page granularity.
    Type: Grant
    Filed: May 20, 2004
    Date of Patent: April 8, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Jeremy G Harris, David M Edmondson
  • 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: 7334109
    Abstract: A method and apparatus for breaking complex X86 segment operations and segmented addressing into explicit sub-operations so that they may be exposed to compiler or translator-based optimizations.
    Type: Grant
    Filed: December 30, 2004
    Date of Patent: February 19, 2008
    Inventors: H. Peter Anvin, Alex Klaiber, Guillermo J. Rozas, Parag Gupta
  • Patent number: 7330960
    Abstract: In one embodiment, a method is provided for storing data in a physical storage having at least one portion of unused memory, comprising maintaining a first list comprising one or more records associated with respective segments within the unused memory, and receiving a request to store data in at least one logical storage sector associated with the physical storage. A record associated with a segment of the unused memory in which at least some of the data is to be stored is selected from the first list, and the record is updated to include an identifier of the at least one logical storage sector. The record is stored in a second list that associates respective segments with respective logical storage sectors.
    Type: Grant
    Filed: June 5, 2006
    Date of Patent: February 12, 2008
    Assignee: FalconStor, Inc.
    Inventors: Ronald Steven Niles, Larry Louie
  • Patent number: 7330936
    Abstract: A system and method for power efficient memory caching. Some illustrative embodiments may include a system comprising: a hash address generator coupled to an address bus (the hash address generator converts a bus address present on the address bus into a current hashed address); a cache memory coupled to the address bus (the cache memory comprises a tag stored in one of a plurality of tag cache ways and data stored in one of a plurality of data cache ways); and a hash memory coupled to the address bus (the hash memory comprises a saved hashed address, the saved hashed address associated with the data and the tag). Less than all of the plurality of tag cache ways are enabled when the current hashed address matches the saved hashed addresses. An enabled tag cache way comprises the tag.
    Type: Grant
    Filed: April 19, 2005
    Date of Patent: February 12, 2008
    Assignee: Texas Instruments Incorporated
    Inventors: Thang M. Tran, Muralidharan S. Chinnakonda, Rajinder P. Singh
  • Patent number: 7310721
    Abstract: In a computer system that employs virtual memory, multiple versions of a given page are stored: a directory version, a table version, and a data version. The data version contains the data that a software object believes to be stored in the page. The directory and table versions of the page contains versions of the page's contents that have been modified in some manner to comply with a restriction on the address translation map employed by the virtual address system. When a page is being used by the virtual address system as a directory or table, then the directory or table versions, respectively, of that page are used. When a page is the target of a read request, the data version of the page is used.
    Type: Grant
    Filed: October 30, 2003
    Date of Patent: December 18, 2007
    Assignee: Microsoft Corporation
    Inventor: Ernest S Cohen
  • 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: 7287101
    Abstract: Machine-readable media, methods, and apparatus are described for transferring data. In some embodiments, an operating system may allocate pages to a buffer and may build a memory descriptor list that references the pages allocated to the buffer. A direct memory access (DMA) controller may process the memory descriptor list and transfer data between a buffer defined by the memory descriptor list and another location per the memory descriptor list. The DMA controller may further support data transfers that involve buffers defined by scatter gather lists and/or chained DMA descriptors built by a device driver.
    Type: Grant
    Filed: August 5, 2003
    Date of Patent: October 23, 2007
    Assignee: Intel Corporation
    Inventors: William T. Futral, Jie Ni
  • Patent number: 7287140
    Abstract: A fine-grained memory protection system and technique provide computer memory protection at least to a word granularity. A permissions table having permission values associated with a computer memory is arranged as protection domains. The permissions table can be cached in a protection lookaside buffer (PLD) and/or in sidecar registers. A software calls across protection domains (a cross-domain call) can be facilitated with a switch gate and a return gate. In some embodiments, a gate table is provided to store the switch gates and return gates, each having gate values. In some embodiments, a stack permission stable allows stack frames to be associated with the cross-domain call.
    Type: Grant
    Filed: July 27, 2004
    Date of Patent: October 23, 2007
    Assignee: Massachusetts Institute of Technology
    Inventors: Krste Asanovic, Emmett J. Witchel
  • Patent number: 7269710
    Abstract: A system efficiently expands program memory without extensively modifying the remaining microcontroller architecture. An address bus of N+M bits addresses 2N memory locations in a regular portion of program memory and additional memory locations in an expanded portion. An N-bit program counter increments through instructions stored only in the regular portion. Constants are stored in both the regular and expanded portions. An M-bit page-designator is prepended to an N-bit operand to generate a memory address of N+M bits. Program memory is expanded only when a load instruction retrieves constants from program memory. The page-designator is toggled when an N-bit operand rolls over upon incrementing by the load instruction. A block of constants straddling the boundary between the regular and expanded portions can be retrieved from program memory by executing only the load instruction. When program instructions are executed that do not retrieve constants, a fixed page-designator designates the regular portion.
    Type: Grant
    Filed: July 23, 2004
    Date of Patent: September 11, 2007
    Assignee: ZiLOG, Inc.
    Inventor: Stephen H. Chan
  • 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