Patents Assigned to Silicon Graphics, Inc.
  • Patent number: 6938128
    Abstract: A processor (500) issues a read request for data. A processor interface (24) initiates a local search for the requested data and also forwards the read request to a memory directory (24) for processing. While the read request is processing, the processor interface (24) can determine if the data is available locally. If so, the data is transferred to the processor (500) for its use. The memory directory (24) processes the read request and generates a read response therefrom. The processor interface (24) receives the read response and determines whether the data was available locally. If so, the read response is discarded. If the data was not available locally, the processor interface (24) provides the read response to the processor (500).
    Type: Grant
    Filed: December 2, 2003
    Date of Patent: August 30, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Jeffrey S. Kuskin, William A. Huffman
  • Patent number: 6924805
    Abstract: Methods and systems for animating with proxy surfaces are provided. A method for animating includes preprocessing an object to form proxy surfaces of part(s) and/or joint(s), and rendering the proxy surfaces to be animated. In an embodiment, preprocessing includes dividing an object to be animated into parts that can move independently without changing shape, forming a proxy surface for each of the parts corresponding to an initial viewing direction, and obtaining a set of view textures for each of the proxy surfaces. Each part proxy surface is then rendered at a new viewing direction. The new viewing direction is function of an object transformation, part transformation, and an initial viewing direction. The object is then animated by repeating the rendering steps. In another embodiment, the object to be animated is divided into parts and at least one joint that can change shape.
    Type: Grant
    Filed: October 21, 2003
    Date of Patent: August 2, 2005
    Assignee: Silicon Graphics, Inc.
    Inventor: Radomir Mech
  • Patent number: 6925547
    Abstract: A method of performing remote address translation in a multiprocessor system includes determining a connection descriptor and a virtual address at a local node, accessing a local connection table at the local node using the connection descriptor to produce a system node identifier for a remote node and a remote address space number, communicating the virtual address and remote address space number to the remote node, and translating the virtual address to a physical address at the remote node (qualified by the remote address space number). A user process running at the local node provides the connection descriptor and virtual address. The translation is performed by matching the virtual address and remote address space number with an entry of a translation-lookaside buffer (TLB) at the remote node. Performing the translation at the remote node reduces the amount of translation information needed at the local node for remote memory accesses.
    Type: Grant
    Filed: December 14, 2001
    Date of Patent: August 2, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Steven L. Scott, Chris Dickson, Eric C. Fromm, Michael L. Anderson
  • Patent number: 6920526
    Abstract: The present invention comprises a dual bank FIFO memory buffer operable to buffer read data from memory and thereby compensate for specific timing problems in certain computerized systems. One embodiment of the invention includes a dual bank FIFO that comprises a first bank of memory elements operable to buffer memory data and a second bank of memory elements operable to buffer memory data. Write control address logic is operable to store selected memory data in memory elements with selected addresses within a bank of memory elements, and write control timing logic is operable to selectively grant write access to the banks of memory elements at predetermined time. Also, read control logic operable to read data stored in the first and second banks.
    Type: Grant
    Filed: July 20, 2000
    Date of Patent: July 19, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Mark Ronald Sikkink, Nan Ma
  • Patent number: 6918010
    Abstract: In prefetching cache lines from a main memory to a cache memory, an array of memory locations to be prefetched is determined and a base address indicating a highest address in the array is identified as well as a loop index used to point to the first address in the array. A prefetch index, which is the loop index plus a latency/transfer value, is used to prefetch memory locations as the array is processed. After a memory location is prefetched and initialized, the loop index and the prefetch index are incremented. The prefetch index is compared to a threshold value. If the prefetch index is less than the threshold value, then the next memory location in the array is prefetched and the prefetch index is again incremented and compared to the threshold value. If the prefetch index is equal to or greater than the threshold value, then the prefetch instruction is converted to a no operation instruction to prevent memory locations outside of the array from being prefetched during the processing of the array.
    Type: Grant
    Filed: October 16, 2002
    Date of Patent: July 12, 2005
    Assignee: Silicon Graphics, Inc.
    Inventor: Kenneth C. Yeager
  • Publication number: 20050146522
    Abstract: An original mesh is provided with a bounding surface and a convex hull surface. A first tessellation links the convex hull to the original mesh, and a second tessellation links the bounding surface to the convex hull. Using the tessellations to find a first intersection between a ray and the original mesh by finding a first intersected polygon of the bounding surface, and then traversing adjacent intersected polygons starting from the first intersection until the intersection is found. When the ray is moved, a second ray-surface intersection can be found by finding a polygon locally near the first intersection and containing a first intersection with the moved ray, traversing out from the local polygon through adjacent polygons intersected by the moved ray, and determining whether traversed polygons are unoccluded based on whether they are part of the convex hull surface.
    Type: Application
    Filed: December 31, 2003
    Publication date: July 7, 2005
    Applicant: Silicon Graphics Inc.
    Inventor: Jerome Maillot
  • Patent number: 6915388
    Abstract: A multiprocessor computer system includes a plurality of processor nodes, a memory, and an interconnect network connecting the plurality of processor nodes to the memory. The memory includes a plurality of lines and a cache coherence directory structure. The plurality of lines includes a first line. The cache coherence directory structure includes a plurality of directory structure entries. Each directory structure entry includes processor pointer information indicating the processor nodes that have cached copies of the first line. The processor pointer information includes a plurality n of bit vectors, where n is an integer greater than one. The n bit vectors define a matrix having a number of locations equal to the product of the number of bits in each of the n bit vectors.
    Type: Grant
    Filed: July 20, 2001
    Date of Patent: July 5, 2005
    Assignee: Silicon Graphics, Inc.
    Inventor: William A. Huffman
  • Patent number: 6915387
    Abstract: A processor (100) in a distributed shared memory computer system (10) receives ownership of data and initiates an initial update to memory request. A front side bus processor interface (24) forwards the initial update to memory request to a memory directory interface unit (22). The front side processor interface (24) may receive subsequent update to memory requests for the data from processors co-located on the same local bus. Front side bus processor interface (24) maintains a most recent subsequent update to memory in a queue (102). Once the data has been updated in its home memory (17), the memory directory interface unit (22) sends a writeback acknowledge to the front side bus processor interface (24). The most recent subsequent update to memory request in the queue (102) is then forwarded by the front side bus processor interface (24) to the memory directory interface unit (24) for processing.
    Type: Grant
    Filed: July 20, 2001
    Date of Patent: July 5, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: William A. Huffman, Jeffrey S. Kuskin
  • Patent number: 6904501
    Abstract: A cache memory includes a plurality of data memory blocks and a code memory block. Each data memory block has a plurality of storage locations and has a particular storage location identified by a same index value. The code memory block has a plurality of code values with a particular code value being associated with the same index value. The particular code value is operable to identify which ones of the particular storage locations associated with the same index value are locked to prevent alteration of contents therein. The particular code value is also operable to identify which particular storage location has been most recently used and which particular storage location has been least recently used of the particular storage locations associated with the same index value.
    Type: Grant
    Filed: June 17, 2002
    Date of Patent: June 7, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: David X. Zhang, Kenneth C. Yeager
  • Patent number: 6900818
    Abstract: A method and apparatus for processing a primitive for potential display on a display device (having a plurality of pixels) determines if the primitive intersects at least a predetermined number of pixel fragments on the display device. The predetermined number is no less than one. The method and apparatus then cull the primitive as a function of whether the primitive intersects at least the predetermined number of pixel fragments. If it is culled, the primitive is not raster processed (i.e., not subjected to raster processing, whether or not complete).
    Type: Grant
    Filed: November 18, 2003
    Date of Patent: May 31, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Stephen Moffitt, Eng Lim Goh
  • Patent number: 6901500
    Abstract: A system for prefetching information from a computer storage includes a central processing unit operable to transmit to a transfer bus a memory transfer request containing a desired memory address. The system also includes a system controller operable to receive the memory transfer request from the transfer bus and to retrieve a prefetch block of data from the computer storage in response to determining that a stream buffer local to the system controller does not contain a copy of data stored at the desired memory address. The system controller is further operable to retrieve the data from the stream buffer and communicate the data to the central processing unit in response to determining that the stream buffer contains a copy of the data stored at the desired memory address.
    Type: Grant
    Filed: July 28, 2000
    Date of Patent: May 31, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Zahid S. Hussain, Tim J. Millet
  • Patent number: 6885376
    Abstract: A system, method, and computer program product for creating a sequence of computer graphics frames, using a plurality of rendering pipelines. For each frame, each rendering pipeline receives a subset of the total amount of graphics data for the particular frame. At the completion of a frame, each rendering pipeline sends a performance report to a performance monitor. The performance monitor determines whether or not there was a significant disparity in the time required by the respective rendering pipelines to render their tiles. If a disparity is detected, and if the disparity is determined to be greater than some threshold, an allocation module resizes the tiles for the next frame. This serves to balance the load across rendering pipelines for each frame.
    Type: Grant
    Filed: December 30, 2002
    Date of Patent: April 26, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Svend Tang-Petersen, Yair Kurzion
  • Patent number: 6882531
    Abstract: A modular computing system that includes an enclosure and a rack at least partially mounted within the enclosure. The modular computing system further includes a plurality of modular bricks that each include electronic components. The modular bricks are mounted in the rack and connected to the conduits in the rack. A fan is also connected to the conduits in the rack such that the rack exchanges air between the fan and each modular brick to cool the electronic components in each of the modular bricks.
    Type: Grant
    Filed: July 23, 2002
    Date of Patent: April 19, 2005
    Assignee: Silicon Graphics, Inc.
    Inventor: Steve Modica
  • Patent number: 6879948
    Abstract: A system, method, and computer program product is presented for simulating a system of hardware components. Each component is simulated in a hardware definition language such as VERILOG. Each component is represented as a simulated device under test (DUT) that is incorporated into a simulation module. The invention synchronizes the simulation modules by issuing clock credit to each simulation module. Each simulation module can only operate when clock credit is available, and can only operate for some number of clock cycles corresponding to the value of the clock credit. Operation is said to consume the clock credit. After a simulation module has consumed its clock credit, its DUT halts. Once every simulation module has consumed its clock credit and halted, another clock credit can be issued. This allows checkpointing of the operation of each DUT and simulates parallelism of the DUTs using executable images of manageable size.
    Type: Grant
    Filed: December 14, 1999
    Date of Patent: April 12, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Alex Chalfin, Jeffrey Daudel, Mark Grossman, Shrijeet Mukherjee, Peter Ostrin, Jarrett Redd
  • Patent number: 6877029
    Abstract: A partitioned computer system (32) includes a plurality of node controllers (12) connected by a network (14) and partitioned into a plurality of partitioned groups (40). A requesting node controller (34) in one partitioned group (40) requests a latest copy of a line in a memory (17) in a separate partitioned group (40). A storing node controller (36) in the separate partitioned group (40) holding the latest copy of the line in its memory (17) is identified. The requesting node controller (34) transmits its request for a coherent copy of a line to the storing node controller (36). The storing node controller (36) transmits the latest copy of the line in response to the request to the requesting node controller (34) without including the requester in a sharer-tracking process.
    Type: Grant
    Filed: July 20, 2001
    Date of Patent: April 5, 2005
    Assignee: Silicon Graphics, Inc.
    Inventor: Jeffrey S. Kuskin
  • Patent number: 6877030
    Abstract: The present invention is directed to a method and a system for maintaining cache coherence in a distributed shared memory (DSM) multiprocessor system. The method begins with a receiving of a shared access request by a receiving node, where the receiving node is an arbitrary node having at least one main memory unit containing information desired to be accessed. Then, the method determines whether the shared access request originates from a local node or from a remote node. When the shared access request originates from a local node, the shared access request is processed as a shared access request. If the shared access request is granted, a sharing vector is generated or updated to reflect the sharing local node(s). When the shared access request originates from a remote node, the shared access request is converted to an exclusive access request and the sharing vector is replaced with a pointer to the requesting remote node. This limits the potential size of the sharing vector according to the local nodes.
    Type: Grant
    Filed: February 28, 2002
    Date of Patent: April 5, 2005
    Assignee: Silicon Graphics, Inc.
    Inventor: Martin M. Deneroff
  • Patent number: 6864706
    Abstract: A driver operable with two power supplies, and provides, among other things, a high data communication rate, stabilized operating parameters including voltage output high, voltage output low, and on resistance, and edge rate over a wide range of variations in manufacturing process, operating voltages and temperature.
    Type: Grant
    Filed: July 20, 2000
    Date of Patent: March 8, 2005
    Assignee: Silicon Graphics, Inc.
    Inventor: Rodney Ruesch
  • Patent number: 6859863
    Abstract: A multiprocessor system and method includes a processing sub-system including a plurality of processors and a processor memory system. A network is operable to couple the processing sub-system to an input/output (I/O) sub-system. The I/O sub-system includes a plurality of I/O interfaces each operable to couple a peripheral device to the multiprocessor system. The I/O interfaces each include a local memory operable to store a copy of data from the processor memory system for use by a corresponding peripheral device and to delete the copy at a first time event. A directory for the processor is operable to identify the data as owned upon providing the copy to the I/O sub-system and to identify the data as unowned at a second time event.
    Type: Grant
    Filed: July 20, 2001
    Date of Patent: February 22, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Steven C. Miller, Jeffrey S. Kuskin, William A. Huffman
  • Patent number: 6856950
    Abstract: A system and method of verifying an electronic system. A verification kernel is provided and the electronic system is expressed as a logic design. A wrapper is defined, wherein the wrapper is an interface between the logic design and the verification kernel. Tests to be run against the logic design are placed within a diagnostic program and an interface between the diagnostic program and the verification kernel is defined. The tests are then executed against the logic design. The results of the tests are captured and validated against expected results.
    Type: Grant
    Filed: October 15, 1999
    Date of Patent: February 15, 2005
    Assignee: Silicon Graphics, Inc.
    Inventors: Dennis Abts, Michael Roberts
  • Patent number: 6853969
    Abstract: A system and method for estimating interconnect delay are disclosed that include determining inductance of an interconnect. A transfer function is determined using the inductance, and two poles of the transfer function are determined. An interconnect delay is estimated using the two poles.
    Type: Grant
    Filed: November 15, 2000
    Date of Patent: February 8, 2005
    Assignee: Silicon Graphics, Inc.
    Inventor: Sudhakar Muddu