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: 12007885
    Abstract: 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: Grant
    Filed: April 26, 2022
    Date of Patent: June 11, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karthikeyan Avudaiyappan, Jeffrey A Andrews
  • Patent number: 7822993
    Abstract: 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: Grant
    Filed: August 27, 2004
    Date of Patent: October 26, 2010
    Assignee: Microsoft Corporation
    Inventors: Dinarte R. Morais, Jeffrey A. Andrews, William E. Hall
  • Patent number: 7653802
    Abstract: 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: Grant
    Filed: August 27, 2004
    Date of Patent: January 26, 2010
    Assignee: Microsoft Corporation
    Inventors: Dinarte R. Morais, Jeffrey A. Andrews
  • Patent number: 7650539
    Abstract: 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: Grant
    Filed: June 30, 2005
    Date of Patent: January 19, 2010
    Assignee: Microsoft Corporation
    Inventors: Susan E. Carrie, Jeffrey A. Andrews
  • Patent number: 7444523
    Abstract: 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: Grant
    Filed: August 27, 2004
    Date of Patent: October 28, 2008
    Assignee: Microsoft Corporation
    Inventors: Dinarte R. Morais, Jeffrey A. Andrews
  • Patent number: 7355601
    Abstract: 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: Grant
    Filed: December 16, 2005
    Date of Patent: April 8, 2008
    Assignees: International Business Machines Corporation, Microsoft Corporation
    Inventors: Jeffrey A. Andrews, Nicholas R. Baker, J. Andrew Goossen, Russell D. Hoover, Eric O. Mejdrich, Sandra S. Woodward
  • Patent number: 7356668
    Abstract: 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: Grant
    Filed: August 27, 2004
    Date of Patent: April 8, 2008
    Assignee: Microsoft Corporation
    Inventors: Dinarte R. Morais, Jeffrey A. Andrews
  • Patent number: 7333114
    Abstract: 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: Grant
    Filed: December 30, 2004
    Date of Patent: February 19, 2008
    Assignee: Microsoft Corporation
    Inventors: Jeffrey A. Andrews, Nicholas R. Baker, J. Andrew Goossen, Michael Abrash
  • Patent number: 7116337
    Abstract: 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: Grant
    Filed: February 1, 2006
    Date of Patent: October 3, 2006
    Assignee: Microsoft Corporation
    Inventor: Jeffrey A. Andrews
  • Patent number: 7095419
    Abstract: 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: Grant
    Filed: August 31, 2005
    Date of Patent: August 22, 2006
    Assignee: Microsoft Corporation
    Inventors: Nicholas R. Baker, Jeffrey A. Andrews, Mei-Chi M. Liu
  • Patent number: 7030887
    Abstract: 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: Grant
    Filed: November 12, 2003
    Date of Patent: April 18, 2006
    Assignee: Microsoft Corporation
    Inventor: Jeffrey A. Andrews
  • Patent number: 6975327
    Abstract: 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: Grant
    Filed: February 2, 2004
    Date of Patent: December 13, 2005
    Assignee: Microsoft Corporation
    Inventors: Nicholas R. Baker, Jeffrey A. Andrews, Mei-Chi M. Liu
  • Patent number: 6862027
    Abstract: 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: Grant
    Filed: June 30, 2003
    Date of Patent: March 1, 2005
    Assignee: Microsoft Corp.
    Inventors: Jeffrey A. Andrews, Nicholas R. Baker, J. Andrew Goossen, Michael Abrash
  • Publication number: 20040263519
    Abstract: 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: Application
    Filed: June 30, 2003
    Publication date: December 30, 2004
    Applicant: Microsoft Corporation
    Inventors: Jeffrey A. Andrews, Nicholas R. Baker, J. Andrew Goossen, Michael Abrash
  • Publication number: 20040155884
    Abstract: 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: Application
    Filed: February 2, 2004
    Publication date: August 12, 2004
    Inventors: Nicholas R. Baker, Jeffrey A. Andrews, Mei-Chi M. Liu
  • Patent number: 6741259
    Abstract: 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: Grant
    Filed: August 24, 2001
    Date of Patent: May 25, 2004
    Assignee: WebTV Networks, Inc.
    Inventors: Nicholas R. Baker, Jeffrey A. Andrews, Mei-Chi M. Liu
  • Patent number: 6686915
    Abstract: 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: Grant
    Filed: April 19, 2001
    Date of Patent: February 3, 2004
    Assignee: Webtv Networks, Inc.
    Inventor: Jeffrey A. Andrews
  • Publication number: 20020154135
    Abstract: 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: Application
    Filed: April 19, 2001
    Publication date: October 24, 2002
    Inventor: Jeffrey A. Andrews
  • Publication number: 20020140703
    Abstract: 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: Application
    Filed: August 24, 2001
    Publication date: October 3, 2002
    Inventors: Nicholas R. Baker, Jeffrey A. Andrews, Mei-Chi M. Liu