Patents by Inventor Jeffrey A. Andrews
Jeffrey A. Andrews 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: 12007885Abstract: Embodiments of the present disclosure include techniques storing and retrieving data. In one embodiment, sub-matrices of data are stored as row slices and column slices. A fetch circuit determines if particular slices of one sub-matrix, when combined with corresponding slices of another sub-matrix, produce a zero result and need not be retrieved. In another embodiment, the present disclosure includes a memory circuit comprising memory banks and sub-banks. The sub-banks store slices of sub-matrices. A request moves between serially configured memory banks and slices in different sub-banks may be retrieved at the same time.Type: GrantFiled: April 26, 2022Date of Patent: June 11, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Karthikeyan Avudaiyappan, Jeffrey A Andrews
-
Patent number: 7822993Abstract: A computing environment maintains the confidentiality of data stored in system memory. The computing environment has an encryption circuit in communication with a CPU. The system memory is also in communication with the encryption circuit. An address bus having a plurality of address lines forms part of the system and a value of at least one of the address lines determines a key selected from a plurality of keys to use in the encryption circuit to encrypt data being transferred by the CPU to the memory.Type: GrantFiled: August 27, 2004Date of Patent: October 26, 2010Assignee: Microsoft CorporationInventors: Dinarte R. Morais, Jeffrey A. Andrews, William E. Hall
-
Patent number: 7653802Abstract: A computing environment maintains the integrity of data stored in system memory. The system has a memory management unit that maintains a plurality of real page numbers. The system also comprises an address bus in communication with the memory management unit. The address bus comprises a plurality of address lines, wherein a value of at least one address line is set by a real page number from the memory management unit. The system has an operating system that controls memory usage by controlling the real page numbers stored in said page table that is accessed by the memory management unit. At least one security feature such as data encryption is selectively applied to data stored in a page of said memory as enabled by a value of said address line set by said real page number.Type: GrantFiled: August 27, 2004Date of Patent: January 26, 2010Assignee: Microsoft CorporationInventors: Dinarte R. Morais, Jeffrey A. Andrews
-
Patent number: 7650539Abstract: A debugging architecture includes a set of debug counters for counting one or more events based on a set of signals from a device being monitored. The architecture provides for observing the outputs of the debug counters during operation of the device. The outputs of the counters are provided to an output bus (e.g., a Debug Bus) via an output bus interface during operation of the device being monitored. A data gathering system can access the output bus in order to gather the data from the counters for analysis.Type: GrantFiled: June 30, 2005Date of Patent: January 19, 2010Assignee: Microsoft CorporationInventors: Susan E. Carrie, Jeffrey A. Andrews
-
Patent number: 7444523Abstract: A integrity control system uses the address bits to enable encryption and/or protection of data stored in a system memory. The encryption and protection mechanisms are coupled to the CPU by way of a data bus and to the memory by way of a data bus. An address bus that determines the location of data to be stored or retrieved from system memory has a plurality of address lines. At least one of the address lines enabling the encryption mechanism to encrypt data before storage in the memory and to decrypt data after retrieval from memory. Another address line enables the protection mechanism to generate a hash of the data. The hash is stored and used to determine whether data has been altered while stored in system memory.Type: GrantFiled: August 27, 2004Date of Patent: October 28, 2008Assignee: Microsoft CorporationInventors: Dinarte R. Morais, Jeffrey A. Andrews
-
System and method for transfer of data between processors using a locked set, head and tail pointers
Patent number: 7355601Abstract: A CPU module includes a host element configured to perform a high-level host-related task, and one or more data-generating processing elements configured to perform a data-generating task associated with the high-level host-related task. Each data-generating processing element includes logic configured to receive input data, and logic configured to process the input data to produce output data.Type: GrantFiled: December 16, 2005Date of Patent: April 8, 2008Assignees: International Business Machines Corporation, Microsoft CorporationInventors: Jeffrey A. Andrews, Nicholas R. Baker, J. Andrew Goossen, Russell D. Hoover, Eric O. Mejdrich, Sandra S. Woodward -
Patent number: 7356668Abstract: A integrity control system uses the address bits to enable protection of data stored in a system memory. An address bus that determines the location of data to be stored or retrieved from system memory has a plurality of address lines. A subset of the address lines enables the protection mechanism to generate an integrity control value representative of the data and determine where the integrity check value is stored in a secure memory.Type: GrantFiled: August 27, 2004Date of Patent: April 8, 2008Assignee: Microsoft CorporationInventors: Dinarte R. Morais, Jeffrey A. Andrews
-
Patent number: 7333114Abstract: A CPU module includes a host element configured to perform a high-level host-related task, and one or more data-generating processing elements configured to perform a data-generating task associated with the high-level host-related task. Each data-generating processing element includes logic configured to receive input data, and logic configured to process the input data to produce output data. The amount of output data is greater than an amount of input data, and the ratio of the amount of input data to the amount of output data defines a decompression ratio. In one implementation, the high-level host-related task performed by the host element pertains to a high-level graphics processing task, and the data-generating task pertains to the generation of geometry data (such as triangle vertices) for use within the high-level graphics processing task. The CPU module can transfer the output data to a GPU module via at least one locked set of a cache memory.Type: GrantFiled: December 30, 2004Date of Patent: February 19, 2008Assignee: Microsoft CorporationInventors: Jeffrey A. Andrews, Nicholas R. Baker, J. Andrew Goossen, Michael Abrash
-
Patent number: 7116337Abstract: Methods and systems for transparent depth sorting are described. In accordance with one embodiment, multiple depth buffers are utilized to sort depth data associated with multiple transparent pixels that overlie one another. The sorting of the depth data enables identification of an individual transparent pixel that lies closest to an associated opaque pixel. With the closest individual transparent pixel being identified, the transparency effect of the identified pixel relative to the associated opaque pixel is computed. If additional overlying transparent pixels remain, a next closest transparent pixel relative to the opaque pixel is identified and, for the next closest pixel, the transparency effect is computed relative to the transparency effect that was just computed.Type: GrantFiled: February 1, 2006Date of Patent: October 3, 2006Assignee: Microsoft CorporationInventor: Jeffrey A. Andrews
-
Patent number: 7095419Abstract: Systems and methods for providing multi-pass rendering of three-dimensional objects. A rendering pipeline that includes (N) physical texture units and one or more associated buffers emulates a rendering pipeline containing more texture units (M) than are physically present (N). Multiple rendering passes are performed for each pixel. During each texture pass only N sets of texture coordinates are passed to the texture units. The number of passes required through the pipeline to emulate M texture units is M/N, rounded up to the next integer. The N texture units of the rendering pipeline perform look-ups on a given pass for the corresponding N texture maps. The texture values obtained during the texture passes are blended by texture blenders to provide composite texture values. In successive passes, the buffers are used for temporary data and the most current composite texture values. The process is repeated until all desired texture maps are applied.Type: GrantFiled: August 31, 2005Date of Patent: August 22, 2006Assignee: Microsoft CorporationInventors: Nicholas R. Baker, Jeffrey A. Andrews, Mei-Chi M. Liu
-
Patent number: 7030887Abstract: Methods and systems for transparent depth sorting are described. In accordance with one embodiment, multiple depth buffers are utilized to sort depth data associated with multiple transparent pixels that overlie one another. The sorting of the depth data enables identification of an individual transparent pixel that lies closest to an associated opaque pixel. With the closest individual transparent pixel being identified, the transparency effect of the identified pixel relative to the associated opaque pixel is computed. If additional overlying transparent pixels remain, a next closest transparent pixel relative to the opaque pixel is identified and for the next closest pixel, the transparency effect is computed relative to the transparency effect that was just computed.Type: GrantFiled: November 12, 2003Date of Patent: April 18, 2006Assignee: Microsoft CorporationInventor: Jeffrey A. Andrews
-
Patent number: 6975327Abstract: Systems and methods for providing multi-pass rendering of three-dimensional objects. A rendering pipeline that includes (N) physical texture units and one or more associated buffers emulates a rendering pipeline containing more texture units (M) than are physically present (N). Multiple rendering passes are performed for each pixel. During each texture pass only N sets of texture coordinates are passed to the texture units. The number of passes required through the pipeline to emulate M texture units is M/N, rounded up to the next integer. The N texture units of the rendering pipeline perform look-ups on a given pass for the corresponding N texture maps. The texture values obtained during the texture passes are blended by texture blenders to provide composite texture values. In successive passes, the buffers are used for temporary data and the most current composite texture values. The process is repeated until all desired texture maps are applied.Type: GrantFiled: February 2, 2004Date of Patent: December 13, 2005Assignee: Microsoft CorporationInventors: Nicholas R. Baker, Jeffrey A. Andrews, Mei-Chi M. Liu
-
Patent number: 6862027Abstract: A CPU module includes a host element configured to perform a high-level host-related task, and one or more data-generating processing elements configured to perform a data-generating task associated with the high-level host-related task. Each data-generating processing element includes logic configured to receive input data, and logic configured to process the input data to produce output data. The amount of output data is greater than an amount of input data, and the ratio of the amount of input data to the amount of output data defines a decompression ratio. In one implementation, the high-level host-related task performed by the host element pertains to a high-level graphics processing task, and the data-generating task pertains to the generation of geometry data (such as triangle vertices) for use within the high-level graphics processing task. The CPU module can transfer the output data to a GPU module via at least one locked set of a cache memory.Type: GrantFiled: June 30, 2003Date of Patent: March 1, 2005Assignee: Microsoft Corp.Inventors: Jeffrey A. Andrews, Nicholas R. Baker, J. Andrew Goossen, Michael Abrash
-
Publication number: 20040263519Abstract: A CPU module includes a host element configured to perform a high-level host-related task, and one or more data-generating processing elements configured to perform a data-generating task associated with the high-level host-related task. Each data-generating processing element includes logic configured to receive input data, and logic configured to process the input data to produce output data. The amount of output data is greater than an amount of input data, and the ratio of the amount of input data to the amount of output data defines a decompression ratio. In one implementation, the high-level host-related task performed by the host element pertains to a high-level graphics processing task, and the data-generating task pertains to the generation of geometry data (such as triangle vertices) for use within the high-level graphics processing task. The CPU module can transfer the output data to a GPU module via at least one locked set of a cache memory.Type: ApplicationFiled: June 30, 2003Publication date: December 30, 2004Applicant: Microsoft CorporationInventors: Jeffrey A. Andrews, Nicholas R. Baker, J. Andrew Goossen, Michael Abrash
-
Publication number: 20040155884Abstract: Systems and methods for providing multi-pass rendering of three-dimensional objects. A rendering pipeline that includes (N) physical texture units and one or more associated buffers emulates a rendering pipeline containing more texture units (M) than are physically present (N). Multiple rendering passes are performed for each pixel. During each texture pass only N sets of texture coordinates are passed to the texture units. The number of passes required through the pipeline to emulate M texture units is M/N, rounded up to the next integer. The N texture units of the rendering pipeline perform look-ups on a given pass for the corresponding N texture maps. The texture values obtained during the texture passes are blended by texture blenders to provide composite texture values. In successive passes, the buffers are used for temporary data and the most current composite texture values. The process is repeated until all desired texture maps are applied.Type: ApplicationFiled: February 2, 2004Publication date: August 12, 2004Inventors: Nicholas R. Baker, Jeffrey A. Andrews, Mei-Chi M. Liu
-
Patent number: 6741259Abstract: Systems and methods for providing multi-pass rendering of three-dimensional objects. A rendering pipeline is used that includes one or more (N) physical texture units and one or more associated frame buffers to emulate a rendering pipeline containing more texture units (M) than are actually physically present (N). Multiple rendering passes are performed for each pixel of a frame. During each texture pass for each pixel of a frame, only N sets of texture coordinates are passed to the texture units. The number of passes required through the pipeline to emulate M texture units is M/N, rounded up to the next integer number of passes. The N texture units of the rendering pipeline perform the look-ups on a given pass for the correspondingly bound N texture maps. The texture values obtained during the texture passes for each pixel are blended by complementary texture blenders to provide composite texture values for each of the pixels of the frame.Type: GrantFiled: August 24, 2001Date of Patent: May 25, 2004Assignee: WebTV Networks, Inc.Inventors: Nicholas R. Baker, Jeffrey A. Andrews, Mei-Chi M. Liu
-
Patent number: 6686915Abstract: Systems and methods for accurately and realistically rendering a visual effect such as fog, colored liquids, gels, smoke, mists, and the like for which the visual appearance of the effect can change with respect to depth and for which the effect is rendered on a output display so as to be generally contained. Depth values are identified and passed to a visibility function in order to yield corresponding visibility values. An adjusted visibility function blends the obtained visibility values and yields an adjusted visibility value. This process for obtaining an adjusted visibility value is performed for every pixel of a display screen that is used to render the visual effect in order to accurately render the visual effect as it would be perceived in the real world.Type: GrantFiled: April 19, 2001Date of Patent: February 3, 2004Assignee: Webtv Networks, Inc.Inventor: Jeffrey A. Andrews
-
Publication number: 20020154135Abstract: Systems and methods for accurately and realistically rendering a visual effect such as fog, colored liquids, gels, smoke, mists, and the like for which the visual appearance of the effect can change with respect to depth and for which the effect is rendered on a output display so as to be generally contained. Depth values are identified and passed to a visibility function in order to yield corresponding visibility values. An adjusted visibility function blends the obtained visibility values and yields an adjusted visibility value. This process for obtaining an adjusted visibility value is performed for every pixel of a display screen that is used to render the visual effect in order to accurately render the visual effect as it would be perceived in the real world.Type: ApplicationFiled: April 19, 2001Publication date: October 24, 2002Inventor: Jeffrey A. Andrews
-
Publication number: 20020140703Abstract: Systems and methods for providing multi-pass rendering of three-dimensional objects. A rendering pipeline is used that includes one or more (N) physical texture units and one or more associated frame buffers to emulate a rendering pipeline containing more texture units (M) than are actually physically present (N). Multiple rendering passes are performed for each pixel of a frame. During each texture pass for each pixel of a frame, only N sets of texture coordinates are passed to the texture units. The number of passes required through the pipeline to emulate M texture units is M/N, rounded up to the next integer number of passes. The N texture units of the rendering pipeline perform the look-ups on a given pass for the correspondingly bound N texture maps. The texture values obtained during the texture passes for each pixel are blended by complementary texture blenders to provide composite texture values for each of the pixels of the frame.Type: ApplicationFiled: August 24, 2001Publication date: October 3, 2002Inventors: Nicholas R. Baker, Jeffrey A. Andrews, Mei-Chi M. Liu