Patents by Inventor Patrick Y. Law

Patrick Y. Law 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: 8705262
    Abstract: A stacked memory device for a configurable bandwidth memory interface includes a first number of contact pads arranged in a pattern on a first surface of the memory device and a second number of contact pads arranged in the same pattern on a second surface. Each of the second contact pads may be electrically coupled to a corresponding contact pad on the first surface using a via. When the memory device is oriented in a first orientation and stacked in vertical alignment and electrical connection upon a second memory device having the same pattern of contact pads, each data signal of the memory bus is coupled to a corresponding data signal of both the memory devices. When the memory device is oriented in a second orientation, a given data signal of the memory bus is coupled to the corresponding data signal of only one of the memory devices.
    Type: Grant
    Filed: April 9, 2013
    Date of Patent: April 22, 2014
    Assignee: Apple Inc.
    Inventor: Patrick Y Law
  • Patent number: 8671380
    Abstract: A method and apparatus for controlling the frequency of a clock signal using a clock-gating circuit is disclosed. In one embodiment, a root clock signal and an enable signal are provided to a clock-gating circuit. The clock-gating circuit is configured to provide an operational clock signal (based on the root clock signal) when the enable signal is asserted. The operational clock signal is inhibited when the enable signal is de-asserted. The frequency of the operational clock signal can be output at a reduced frequency (relative to the root clock signal) by asserting the enable signal for one of every N clock cycles. Furthermore, the frequency of the operational clock signal can be dynamically changed by changing the rate of asserting the enable signal relative to the root clock signal, without suspending operation of a functional unit receiving the operational clock signal.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: March 11, 2014
    Assignee: Apple Inc.
    Inventors: James Wang, Patrick Y. Law
  • Patent number: 8611127
    Abstract: A memory device having a scalable bandwidth I/O data bus includes a semiconductor die having a substrate with a first and a second surface. The substrate includes contact pads arranged in rows across the first surface and across the second surface. The contact pads on one surface may be physically arranged in vertical alignment with a corresponding contact pad on the other surface and may be electrically coupled to the corresponding contact pad using a via. The substrate also includes a metallization layer formed on the second surface. The metallization layer includes external data contact pads each arranged in vertical alignment with a respective contact pad on the second surface. Each row of contact pads may be grouped, and the external contact pads within a group are electrically coupled to an adjacent contact pad on the second surface by effectively logically shifting them to the right one contact pad.
    Type: Grant
    Filed: June 13, 2012
    Date of Patent: December 17, 2013
    Assignee: Apple Inc.
    Inventors: Patrick Y. Law, James B. Keller, R. Stephen Polzin
  • Publication number: 20130328890
    Abstract: In one embodiment, a system includes a power management controller that controls a duty cycle of a processor to manage power. By frequently powering up and powering down the processor during a period of time, the power consumption of the processor may be controlled while providing the perception that the processor is continuously available. Additionally, in some cases, it may be a better power/performance tradeoff to run the processor at a higher power/performance state if the processor is executing for a significant portion of the execution interval (e.g. the frame time for a GPU). Executing at a higher power/performance state may permit a realization of a greater number of frames per second for a given workload, in an embodiment.
    Type: Application
    Filed: August 27, 2012
    Publication date: December 12, 2013
    Inventors: Gokhan Avkarogullari, Patrick Y. Law, Michael J. Wyrzykowski
  • Patent number: 8533403
    Abstract: Techniques are disclosed relating to maximizing utilization of memory systems within power constraints of the memory systems. In one embodiment, an integrated circuit may include multiple memory controllers and an arbitration unit. Each memory controller may be configured to generate requests to perform memory operations on one or more portions of memory. The arbitration unit may be configured to grant no more than a specified number of requests during a time window TW. In some embodiments, a voltage converter that supplies power to the memory system may be configured to supply power to perform no more than the specified number of requests during the time window TW. The arbitration unit may thus be used, in some embodiments, to ensure that the greatest possible number of the specified number of memory requests are granted during a given time window TW (without exceeding the specified number).
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: September 10, 2013
    Assignee: Apple Inc.
    Inventor: Patrick Y. Law
  • Patent number: 8437164
    Abstract: A stacked memory device for a configurable bandwidth memory interface includes a first number of contact pads arranged in a pattern on a first surface of the memory device and a second number of contact pads arranged in the same pattern on a second surface. Each of the second contact pads may be electrically coupled to a corresponding contact pad on the first surface using a via. When the memory device is oriented in a first orientation and stacked in vertical alignment and electrical connection upon a second memory device having the same pattern of contact pads, each data signal of the memory bus is coupled to a corresponding data signal of both the memory devices. When the memory device is oriented in a second orientation, a given data signal of the memory bus is coupled to the corresponding data signal of only one of the memory devices.
    Type: Grant
    Filed: July 27, 2011
    Date of Patent: May 7, 2013
    Assignee: Apple Inc.
    Inventor: Patrick Y. Law
  • Publication number: 20130021072
    Abstract: A method and apparatus for controlling the frequency of a clock signal using a clock-gating circuit is disclosed. In one embodiment, a root clock signal and an enable signal are provided to a clock-gating circuit. The clock-gating circuit is configured to provide an operational clock signal (based on the root clock signal) when the enable signal is asserted. The operational clock signal is inhibited when the enable signal is de-asserted. The frequency of the operational clock signal can be output at a reduced frequency (relative to the root clock signal) by asserting the enable signal for one of every N clock cycles. Furthermore, the frequency of the operational clock signal can be dynamically changed by changing the rate of asserting the enable signal relative to the root clock signal, without suspending operation of a functional unit receiving the operational clock signal.
    Type: Application
    Filed: March 26, 2012
    Publication date: January 24, 2013
    Inventors: James Wang, Patrick Y. Law
  • Patent number: 8218347
    Abstract: A memory device having a scalable bandwidth I/O data bus includes a semiconductor die having a substrate with a first and a second surface. The substrate includes contact pads arranged in rows across the first surface and across the second surface. The contact pads on one surface may be physically arranged in vertical alignment with a corresponding contact pad on the other surface and may be electrically coupled to the corresponding contact pad using a via. The substrate also includes a metallization layer formed on the second surface. The metallization layer includes external data contact pads each arranged in vertical alignment with a respective contact pad on the second surface. Each row of contact pads may be grouped, and the external contact pads within a group are electrically coupled to an adjacent contact pad on the second surface by effectively logically shifting to them to right one contact pad.
    Type: Grant
    Filed: October 12, 2010
    Date of Patent: July 10, 2012
    Assignee: Apple Inc.
    Inventors: Patrick Y. Law, James B. Keller, R. Stephen Polzin
  • Patent number: 8000469
    Abstract: Provided is an architecture (hardware implementation) for an authentication engine to increase the speed at which multi-loop and/or multi-round authentication algorithms may be performed on data packets transmitted over a computer network. Authentication engines in accordance with the present invention apply a variety of techniques that may include, in various applications, collapsing two multi-round authentication algorithm (e.g., SHA1 or MD5 or variants) processing rounds into one; reducing operational overhead by scheduling the additions required by a multi-round authentication algorithm in such a matter as to reduce the overall critical timing path (“hiding the ads”); and, for a multi-loop (e.g., HMAC) variant of a multi-round authentication algorithm, pipelining the inner and outer loops.
    Type: Grant
    Filed: January 8, 2007
    Date of Patent: August 16, 2011
    Assignee: Broadcom Corporation
    Inventors: Mark Buer, Patrick Y. Law, Zheng Qi
  • Patent number: 7177421
    Abstract: Provided is an architecture (hardware implementation) for an authentication engine to increase the speed at which multi-loop and/or multi-round authentication algorithms may be performed on data packets transmitted over a computer network. Authentication engines in accordance with the present invention apply a variety of techniques that may include, in various applications, collapsing two multi-round authentication algorithm (e.g., SHA1 or MD5 or variants) processing rounds into one; reducing operational overhead by scheduling the additions required by a multi-round authentication algorithm in such a matter as to reduce the overall critical timing path (“hiding the ads”); and, for a multi-loop (e.g., HMAC) variant of a multi-round authentication algorithm, pipelining the inner and outer loops.
    Type: Grant
    Filed: April 4, 2001
    Date of Patent: February 13, 2007
    Assignee: Broadcom Corporation
    Inventors: Mark Buer, Patrick Y. Law, Zheng Qi
  • Patent number: 7176919
    Abstract: A graphics system including a custom graphics and audio processor produces exciting 2D and 3D graphics and surround sound. A relatively low chip-footprint, versatile texture environment (TEV) processing subsystem is implemented in a pipelined graphics system circulates computed color and alpha data over multiple texture blending/shading cycles (stages). The texture-environment subsystem combines per-vertex lighting, textures and constant (rasterized) colors to form computed pixel color prior to fogging and final pixel blending. Blending operations for color (RGB) and alpha components are independently processed by a single sub-blend unit that is reused over multiple processing stages to combine multiple textures.
    Type: Grant
    Filed: October 4, 2005
    Date of Patent: February 13, 2007
    Assignee: Nintendo Co., Ltd.
    Inventors: Robert A. Drebin, Timothy J. Van Hook, Patrick Y. Law, Mark M. Leather, Matthew Komsthoeft
  • Patent number: 7061502
    Abstract: A graphics system including a custom graphics and audio processor produces exciting 2D and 3D graphics and surround sound. The system includes a graphics and audio processor including a 3D graphics pipeline and an audio digital signal processor. Logical combination of N alpha compares can be used to provide a wide range of imaging effects including but not limited to cartoon outlining.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: June 13, 2006
    Assignee: Nintendo Co., Ltd.
    Inventors: Patrick Y. Law, Yoshitaka Yasumoto
  • Patent number: 7034828
    Abstract: A hardware-accelerated recirculating programmable texture blender/shader arrangement circulates computed color and alpha data over multiple texture blending/shading cycles (stages) to provide multi-texturing and other effects. Up to sixteen independently programmable consecutive stages, forming a chain of blending operations, are supported for applying multiple textures to a single object in a single rendering pass.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: April 25, 2006
    Assignee: Nintendo Co., Ltd.
    Inventors: Robert A. Drebin, Timothy J. Van Hook, Patrick Y. Law, Mark M. Leather, Matthew Komsthoeft
  • Patent number: 6664958
    Abstract: A graphics system including a custom graphics and audio processor produces exciting 2D and 3D graphics and surround sound. The system includes a graphics and audio processor including a 3D graphics pipeline and an audio digital signal processor. The same texture mapping hardware used for color texturing provides resampled z texturing for sprites with depth or other applications. A z blender performs a z blending operation in screen space to blend surface z values with z texel values to provide per-pixel mapping of resampled z textures onto sampled 3D surface locations. Z texels can represent absolute depths or depth displacements relative to primitive surface depth. The z texel values may add to or replace primitive surface z values, and a constant bias may be added if desired. The resulting depth values are used for occlusion testing. Z textures can be generated by copying out portions of an embedded z buffer and providing the copied depth values to the texture mapping hardware.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: December 16, 2003
    Assignee: Nintendo Co., Ltd.
    Inventors: Mark M. Leather, Anthony P. DeLaurier, Patrick Y. Law, Robert A. Drebin, Howard Cheng, Robert Moore
  • Patent number: 6580430
    Abstract: A graphics system including a custom graphics and audio processor produces exciting 2D and 3D graphics and surround sound. The system includes a graphics and audio processor including a 3D graphics pipeline and an audio digital signal processor. Improved fog simulation is provided by enabling backwards exponential and backwards exponential squared fog density functions to be used in the fog calculation. Improved exponential and exponential squared fog density functions are also provided which provide the ability to program a fog start value. A range adjustment function is used to adjust fog based on the X position of the pixels being rendered, thereby preventing range error as the line of sight moves away from the Z axis. An exemplary Fog Calculation Unit, as well as exemplary fog control functions and fog related registers, are also disclosed.
    Type: Grant
    Filed: November 28, 2000
    Date of Patent: June 17, 2003
    Assignee: Nintendo Co., Ltd.
    Inventors: Martin Hollis, Patrick Y. Law
  • Publication number: 20020001384
    Abstract: Provided is an architecture (hardware implementation) for an authentication engine to increase the speed at which multi-loop and/or multi-round authentication algorithms may be performed on data packets transmitted over a computer network. Authentication engines in accordance with the present invention apply a variety of techniques that may include, in various applications, collapsing two multi-round authentication algorithm (e.g., SHA1 or MD5 or variants) processing rounds into one; reducing operational overhead by scheduling the additions required by a multi-round authentication algorithm in such a matter as to reduce the overall critical timing path (“hiding the ads”); and, for a multi-loop (e.g., HMAC) variant of a multi-round authentication algorithm, pipelining the inner and outer loops.
    Type: Application
    Filed: April 4, 2001
    Publication date: January 3, 2002
    Applicant: Broadcom Corporation
    Inventors: Mark Buer, Patrick Y. Law, Zheng Qi
  • Patent number: 6091425
    Abstract: In a computer, a graphics system and process for generating a multisample image coverage mask comprising a constant number of samples. The mask covers an array of pixels with each pixel containing a number of samples. The samples are associated with information regarding the image which is used by the computer graphics system to render the image on a pixel. The samples utilized in creating the mask are those closest to the center of an image.
    Type: Grant
    Filed: February 17, 1998
    Date of Patent: July 18, 2000
    Assignee: Silicon Graphics, Inc.
    Inventor: Patrick Y. Law
  • Patent number: 5671020
    Abstract: A data register for providing data values to an n-element parallel processing array includes a memory buffer having first and second memory modules, where each module includes n columns of data values. An address decoder receives an address for accessing n data values at a time from the memory modules and asserts address values to access corresponding rows of the first and second memory modules. Select logic selects between respective columns of the first and second memory modules to retrieve the desired data values according to a predetermined order. A shift network reorders the retrieved data values, if necessary, to place them in the proper order for the processing array. The address decoder provides a select value to the select logic and a shift value to the shift network for each cycle. For purposes of horizontal decimation, the pixel values are organized into an even and an odd group, which groups are stored in the memory buffer in two separate regions separated by an address offset K.
    Type: Grant
    Filed: October 12, 1995
    Date of Patent: September 23, 1997
    Assignee: LSI Logic Corporation
    Inventor: Patrick Y. Law
  • Patent number: 5638533
    Abstract: A data register for providing data values to an n-element parallel processing array includes a memory buffer having first and second memory modules, where each module includes n columns of data values. An address decoder receives an address for accessing n data values at a time from the memory modules and asserts address values to access corresponding rows of the first and second memory modules. Select logic selects between respective columns of the first and second memory modules to retrieve the desired data values according to a predetermined order. A shift network reorders the data values into the correct order, if necessary, and provides the retrieved data values to the processing array. The select logic and shift network preferably include arrays of multiplexers. In particular, the select logic preferably includes an array of n 2:1 multiplexers, and the shift network preferably comprises an array of n.times.n:1 multiplexers.
    Type: Grant
    Filed: October 12, 1995
    Date of Patent: June 10, 1997
    Assignee: LSI Logic Corporation
    Inventor: Patrick Y. Law