Patents by Inventor Ming Benjamin Zhu
Ming Benjamin Zhu has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 7562186Abstract: Storage using resemblance of data segments is disclosed. It is determined that a new segment resembles a prior stored segment. The prior stored segment comprises a segment stored previously from any location in an input data stream. A delta between the new segment and the prior stored segment is determined. A representation of the new segment based at least in part on the delta is stored.Type: GrantFiled: April 11, 2006Date of Patent: July 14, 2009Assignee: Data Domain, Inc.Inventors: Kai Li, Ming Benjamin Zhu, Umesh Maheshwari, Zheng Yang
-
Publication number: 20080294660Abstract: Cluster storage is disclosed. A data stream or a data block is received. The data stream or the data block is broken into segments. For each segment, a cluster node is selected, and in the event that a similar segment to the segment is identified that is already managed by the selected cluster node, a reference to the similar segment and a delta between the similar segment and the segment is caused to be stored on the selected cluster node.Type: ApplicationFiled: April 9, 2008Publication date: November 27, 2008Inventors: R. Hugo Patterson, Kai Li, Ming Benjamin Zhu, Sazzala Venkata Reddy, Umesh Maheshwari, Edward K. Lee
-
Publication number: 20080256326Abstract: Transmitting or storing subsegments is disclosed. A data stream or a data block is received and broken into a plurality of segments. For at least one segment, the segment is broken into a plurality of subsegments. A previously stored or transmitted segment similar to the at least one segment is identified. A fingerprint is computed for at least one subsegment. And, using the fingerprint for the at least one subsegment, determining whether the at least one subsegment is identical to a subsegment of the previously stored or transmitted segment without directly comparing the content of the at leas one subsegment with the content of the subsegment of the previously stored or transmitted segment.Type: ApplicationFiled: May 18, 2007Publication date: October 16, 2008Inventors: R. Hugo Patterson, Ming Benjamin Zhu
-
Patent number: 7434015Abstract: A system and method are disclosed for providing efficient data storage. A data stream comprising a plurality of data segments is received. The system determines whether one of the plurality of data segments has been stored previously using a summary in a low latency memory; in the event that the data segment is determined not to have been stored previously, assigning an identifier to the data segment.Type: GrantFiled: October 16, 2007Date of Patent: October 7, 2008Inventors: Ming Benjamin Zhu, Kai Li, R. Hugo Patterson
-
Publication number: 20080183767Abstract: A system and method are disclosed for providing efficient data storage. A plurality of data segments is received in a data stream. The system determines whether a data segment has been stored previously in a low latency memory. In the event that the data segment is determined to have been stored previously, an identifier for the previously stored data segment is returned.Type: ApplicationFiled: March 28, 2008Publication date: July 31, 2008Inventors: Ming Benjamin Zhu, Kai Li, R. Hugo Patterson
-
Publication number: 20080133835Abstract: A system and method are disclosed for providing efficient data storage. A data stream comprising a plurality of data segments is received. The system determines whether one of the plurality of data segments has been stored previously using a summary in a low latency memory; in the event that the data segment is determined not to have been stored previously, assigning an identifier to the data segment.Type: ApplicationFiled: October 16, 2007Publication date: June 5, 2008Inventors: Ming Benjamin Zhu, Kai Li, R. Hugo Patterson
-
Patent number: 7373464Abstract: A method for storing data comprising is disclosed. The method comprises receiving a data stream comprising a plurality of data segments wherein each data segment is associated with an identifier. The method further determining using a subset of identifiers that are stored in a low latency memory whether a data segments has been previously stored and returning the identifier for the data segment in the event the data segment is determined to have been stored previously.Type: GrantFiled: May 24, 2005Date of Patent: May 13, 2008Assignee: Data Domain, Inc.Inventors: Ming Benjamin Zhu, Kai Li, R. Hugo Patterson
-
Publication number: 20080010322Abstract: File system replication includes determining whether one of a plurality of files included in an original file system has been updated since a previous replication, the file having a plurality of data segments, and in the event that the file has been updated, locating among the plurality of data segments a previously stored data segment that is newly referenced by the file, and that does not require replication.Type: ApplicationFiled: July 6, 2006Publication date: January 10, 2008Inventors: Edward K. Lee, Ming Benjamin Zhu, Umesh Maheshwari, R. Hugo Patterson
-
Patent number: 7305532Abstract: A system and method are disclosed for providing efficient data storage. A data stream comprising a plurality of data segments is received. The system determines whether one of the plurality of data segments has been stored previously using a summary in a low latency memory; in the event that the data segment is determined not to have been stored previously, assigning an identifier to the data segment.Type: GrantFiled: April 11, 2006Date of Patent: December 4, 2007Assignee: Data Domain, Inc.Inventors: Ming Benjamin Zhu, Kai Li, R. Hugo Patterson
-
Patent number: 7102646Abstract: A memory system and methods of operating the same that drastically increase the efficiency in memory use and allocation in graphics systems. In a graphics system using a tiled architecture, instead of pre-allocating a fixed amount of memory for each tile, the invention dynamically allocates varying amounts of memory per tile depending on the demand. In one embodiment all or a portion of the available memory is divided into smaller pages that are preferably equal in size. Memory allocation is done by page based on the amount of memory required for a given tile.Type: GrantFiled: July 9, 2004Date of Patent: September 5, 2006Assignee: NVIDIA U.S. Investment CompanyInventors: Oren Rubinstein, Ming Benjamin Zhu
-
Patent number: 7065619Abstract: A system and method are disclosed for providing efficient data storage. A data stream comprising a plurality of data segments is received. The system determines whether one of the plurality of data segments has been stored previously using a summary in a low latency memory; in the event that the data segment is determined not to have been stored previously, assigning an identifier to the data segment.Type: GrantFiled: December 20, 2002Date of Patent: June 20, 2006Assignee: Data Domain, Inc.Inventors: Ming Benjamin Zhu, Kai Li, R. Hugo Patterson
-
Patent number: 6928526Abstract: A system and method are disclosed for providing efficient data storage. A plurality of data segments is received in a data stream. The system determines whether a data segment has been stored previously in a low latency memory. In the event that the data segment is determined to have been stored previously, an identifier for the previously stored data segment is returned.Type: GrantFiled: December 20, 2002Date of Patent: August 9, 2005Assignee: DataDomain, Inc.Inventors: Ming Benjamin Zhu, Kai Li, R. Hugo Patterson
-
Patent number: 6856320Abstract: A memory system and methods of operating the same that drastically increase the efficiency in memory use and allocation in graphics systems. In a graphics system using a tiled architecture, instead of pre-allocating a fixed amount of memory for each tile, the invention dynamically allocates varying amounts of memory per tile depending on the demand. In one embodiment all or a portion of the available memory is divided into smaller pages that are preferably equal in size. Memory allocation is done by page based on the amount of memory required for a given tile.Type: GrantFiled: November 10, 2000Date of Patent: February 15, 2005Assignee: NVIDIA U.S. Investment CompanyInventors: Oren Rubinstein, Ming Benjamin Zhu
-
Patent number: 6697063Abstract: A rendering pipeline system for a computer environment uses screen space tiling (SST) to eliminate the memory bandwidth bottleneck due to frame buffer access and performs screen space tiling efficiently, while avoiding the breaking up of primitives. The system also reduces the buffering size required by SST. High quality, full-scene anti-aliasing is easily achieved because only the on-chip multi-sample memory corresponding to a single tile of the screen is needed. The invention uses a double-z scheme that decouples the scan conversion/depth-buffer processing from the more general rasterization and shading processing through a scan/z engine. The scan/z engine externally appears as a fragment generator but internally resolves visibility and allows the rest of the rendering pipeline to perform setup for only visible primitives and shade only visible fragments.Type: GrantFiled: November 25, 1997Date of Patent: February 24, 2004Assignee: Nvidia U.S. Investment CompanyInventor: Ming Benjamin Zhu
-
Patent number: 6657635Abstract: Methods and systems for optimizing graphics data processing employ various binning flush algorithms to optimize the utilization of binning memory in a graphics system. Binning flush algorithms provide for processing all geometry and commands binned up to the point the binning memory becomes unavailable, and storing and restoring all necessary intermediate data generated during the partial tile rendering.Type: GrantFiled: August 31, 2000Date of Patent: December 2, 2003Assignee: NVIDIA CorporationInventors: Edward Hutchins, Ming Benjamin Zhu, Sanjay O. Gupta, Scott C. Heeschen, Benjamin J. Garlick
-
Patent number: 6535209Abstract: A computer graphics system splits vertex data into first and second streams and stores the streams in separate regions of memory. In a specific embodiment, the first stream includes positional data and the second stream includes non-positional color and texture data. A visibility subsystem uses only the first stream to perform visibility processing, thus reducing bandwidth requirement. The rendering system processes data from subsets, identified by the visibility subsystem, of both streams required to render the visible part of a scene.Type: GrantFiled: November 14, 2000Date of Patent: March 18, 2003Assignee: Nvidia US Investments Co.Inventors: Karim Abdalla, Oren Rubinstein, Ming Benjamin Zhu
-
Patent number: 6380935Abstract: A method performed in a graphics processor associates at least a portion (e.g. a triangle) of each primitive received from a CPU with each tile that is affected by the primitive (e.g. by storing the triangle in one or more tile-specific buffers, also called simply “tile buffer”). Moreover, the method stores packets that contain commands (also called “render commands”) for rendering the primitives (also called “command packets”) in a common buffer (called “broadcast buffer”), thereby to eliminate storage of the same commands in each tile buffer. The method repeats the just-described acts of associating primitives and storing command packets for each of a number of packets of primitives and commands that are generated by an application program for the display of a single frame. At a later time, the method uses the command packets from the broadcast buffer with primitives (or portions thereof) in each tile buffer tile, e.g. in one embodiment renders an image.Type: GrantFiled: March 17, 1999Date of Patent: April 30, 2002Assignee: Nvidia CorporationInventors: Scott C. Heeschen, Ming Benjamin Zhu
-
Patent number: 6344852Abstract: A system and method implemented in hardware are provided to optimize rendering of a computer graphics image, which may be displayed in an image frame comprising a number of tiles. The system and method determine each tile in the image frame touched by a geometry (e.g., a triangle). Graphics data for the geometry is selectively stored into a separate, corresponding portion of memory for each tile touched by the geometry. The graphics data stored in each portion of memory can be readily accessed and used to render a portion of the image in the respective tile of the image frame.Type: GrantFiled: March 17, 1999Date of Patent: February 5, 2002Assignee: NVIDIA CorporationInventors: Ming Benjamin Zhu, Scott C. Heeschen
-
Patent number: 6323860Abstract: A method performed in a graphics processor postpones the processing of one or more changes in render state until after one or more tiles that are affected by a primitive are identified (e.g. by use of a bounding box around the primitive to identify tiles within the bounding box, or by visiting an area enclosed by vertex tiles and edge tiles of the primitive to identify tiles covered by the primitive). The method may be performed by: storing value(s) of render state(s) on receipt, receiving one or more primitives affected by the render state(s), identifying from among a number of render state(s) whose values are being stored one or more render state(s) whose values have changed since last update to a tile covered by a received primitive, and associating with the covered tile the changed render states.Type: GrantFiled: March 17, 1999Date of Patent: November 27, 2001Assignee: Nvidia CorporationInventors: Ming Benjamin Zhu, Scott C. Heeschen