Patents by Inventor Marc A. Schaub
Marc A. Schaub 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: 12203765Abstract: Presented are techniques of identifying, processing and displaying data point clusters associated with map information in an efficient manner Methods and systems are disclosed which process map information to identify clusters of requested data points for display, based on iterative clustering and filtering of the data points. Methods and systems are also disclosed which generate polygons representing the clusters. The amount of data to be processed and/or displayed can be reduced, without loss of any associated information content in a displayed map.Type: GrantFiled: November 7, 2023Date of Patent: January 21, 2025Assignee: Google LLCInventors: Steve Chien, Mark Yinan Li, Marc Schaub, Benjamin Anderson, James Aspinall, Zhou Bailiang, Ruwen Hess
-
Patent number: 12111721Abstract: Systems, apparatuses, and methods for error detection and recovery when streaming data are described. A system includes one or more companion direct memory access (DMA) subsystems for transferring data. When an error is detected for a component of the companion DMA subsystem(s), the operations performed by the other components need to gracefully adapt to this error so that operations face only a minimal disruption. For example, while one or more consumers are still consuming a first frame, a companion router receives an indication of an error for a second frame, causing the companion router to send a router frame abort message to a route manager. In response, the route manager waits until the consumer(s) are consuming the second frame before sending them a frame abort message. The consumer(s) flush their pipeline and transition to an idle state waiting for a third frame after receiving the frame abort message.Type: GrantFiled: October 19, 2023Date of Patent: October 8, 2024Assignee: Apple Inc.Inventors: Marc A. Schaub, Roy G. Moss, Michael Bekerman
-
Publication number: 20240320776Abstract: Embodiments relate to generating a Quality of Service (QOS) parameter indicating latency tolerance of an image signal processor by determining and processing latency tolerance values of its individual pipeline circuits. At least a subset of the pipeline circuits that performs image processing functions generates their individual latency tolerance values. Each of the individual latency tolerance value is determined as a difference between a sampling time at which an operation is performed on certain pixel data and a latest time by which the operation should be performed on the same pixel data. The individual latency tolerance values generated in this manner provides a mechanism to determine the QoS parameter relevant to an image signal processing scheme that involves access to memory multiple times to save and retrieve intermediate pixel data and process incoming pixel data in a real-time manner.Type: ApplicationFiled: March 22, 2023Publication date: September 26, 2024Inventors: Hoi Man S. Ng, Oren Kerem, Wayne Eric Burk, Michael Bekerman, Marc A Schaub
-
Publication number: 20240264963Abstract: Systems, apparatuses, and methods for performing scatter and gather direct memory access (DMA) streaming through a circular buffer are described. A system includes a circular buffer, producer DMA engine, and consumer DMA engine. After the producer DMA engine writes or skips over a given data chunk of a first frame to the buffer, the producer DMA engine sends an updated write pointer to the consumer DMA engine indicating that a data credit has been committed to the buffer and that the data credit is ready to be consumed. After the consumer DMA engine reads or skips over the given data chunk of the first frame from the buffer, the consumer DMA engine sends an updated read pointer to the producer DMA engine indicating that the data credit has been consumed and that space has been freed up in the buffer to be reused by the producer DMA engine.Type: ApplicationFiled: April 16, 2024Publication date: August 8, 2024Applicant: Apple Inc.Inventors: Marc A. Schaub, Roy G. Moss
-
Publication number: 20240232000Abstract: Systems, apparatuses, and methods for error detection and recovery when streaming data are described. A system includes one or more companion direct memory access (DMA) subsystems for transferring data. When an error is detected for a component of the companion DMA subsystem(s), the operations performed by the other components need to gracefully adapt to this error so that operations face only a minimal disruption. For example, while one or more consumers are still consuming a first frame, a companion router receives an indication of an error for a second frame, causing the companion router to send a router frame abort message to a route manager. In response, the route manager waits until the consumer(s) are consuming the second frame before sending them a frame abort message. The consumer(s) flush their pipeline and transition to an idle state waiting for a third frame after receiving the frame abort message.Type: ApplicationFiled: October 19, 2023Publication date: July 11, 2024Applicant: Apple Inc.Inventors: Marc A. Schaub, Roy G. Moss, Michael Bekerman
-
Patent number: 12001365Abstract: Systems, apparatuses, and methods for performing scatter and gather direct memory access (DMA) streaming through a circular buffer are described. A system includes a circular buffer, producer DMA engine, and consumer DMA engine. After the producer DMA engine writes or skips over a given data chunk of a first frame to the buffer, the producer DMA engine sends an updated write pointer to the consumer DMA engine indicating that a data credit has been committed to the buffer and that the data credit is ready to be consumed. After the consumer DMA engine reads or skips over the given data chunk of the first frame from the buffer, the consumer DMA engine sends an updated read pointer to the producer DMA engine indicating that the data credit has been consumed and that space has been freed up in the buffer to be reused by the producer DMA engine.Type: GrantFiled: July 7, 2020Date of Patent: June 4, 2024Assignee: Apple Inc.Inventors: Marc A. Schaub, Roy G. Moss
-
Publication number: 20240134737Abstract: Systems, apparatuses, and methods for error detection and recovery when streaming data are described. A system includes one or more companion direct memory access (DMA) subsystems for transferring data. When an error is detected for a component of the companion DMA subsystem(s), the operations performed by the other components need to gracefully adapt to this error so that operations face only a minimal disruption. For example, while one or more consumers are still consuming a first frame, a companion router receives an indication of an error for a second frame, causing the companion router to send a router frame abort message to a route manager. In response, the route manager waits until the consumer(s) are consuming the second frame before sending them a frame abort message. The consumer(s) flush their pipeline and transition to an idle state waiting for a third frame after receiving the frame abort message.Type: ApplicationFiled: October 18, 2023Publication date: April 25, 2024Applicant: Apple Inc.Inventors: Marc A. Schaub, Roy G. Moss, Michael Bekerman
-
Publication number: 20240077324Abstract: Presented are techniques of identifying, processing and displaying data point clusters associated with map information in an efficient manner Methods and systems are disclosed which process map information to identify clusters of requested data points for display, based on iterative clustering and filtering of the data points. Methods and systems are also disclosed which generate polygons representing the clusters. The amount of data to be processed and/or displayed can be reduced, without loss of any associated information content in a displayed map.Type: ApplicationFiled: November 7, 2023Publication date: March 7, 2024Inventors: Steve Chien, Mark Yinan Li, Marc Schaub, Benjamin Anderson, James Aspinall, Zhou Bailiang, Ruwen Hess
-
Patent number: 11829237Abstract: Systems, apparatuses, and methods for error detection and recovery when streaming data are described. A system includes one or more companion direct memory access (DMA) subsystems for transferring data. When an error is detected for a component of the companion DMA subsystem(s), the operations performed by the other components need to gracefully adapt to this error so that operations face only a minimal disruption. For example, while one or more consumers are still consuming a first frame, a companion router receives an indication of an error for a second frame, causing the companion router to send a router frame abort message to a route manager. In response, the route manager waits until the consumer(s) are consuming the second frame before sending them a frame abort message. The consumer(s) flush their pipeline and transition to an idle state waiting for a third frame after receiving the frame abort message.Type: GrantFiled: March 5, 2021Date of Patent: November 28, 2023Assignee: Apple Inc.Inventors: Marc A Schaub, Roy G. Moss, Michael Bekerman
-
Publication number: 20230298124Abstract: Embodiments relate to an image signal processor that includes an image processing circuit, a buffer, and a rate limiter circuit. The image processing circuit perform operations associated with image signal processing. The buffer stores the image data provided by the system memory. The buffer includes a shared that is dynamically allocated among the image processing circuits. The rate limiter circuit arbitrates allocation of the shared section. The arbitration process includes allocating data credits for the shared section to an image processing circuit. The rate limiter circuit determines a first number of blocks in the shared section that are allocated for pending requests and a second number of blocks that include data pending to be consumed by the image processing circuit. If the total allocated blocks occupied by the image processing circuit exceed a throttling threshold, the image processing circuit will be throttled by an exponential factor.Type: ApplicationFiled: March 15, 2022Publication date: September 21, 2023Inventors: Ashwin S. Subramanian, Damon W Finney, Marc A Schaub, Albert C Kuo, Paul S Serris, Richard L Schober
-
Publication number: 20220012201Abstract: Systems, apparatuses, and methods for performing scatter and gather direct memory access (DMA) streaming through a circular buffer are described. A system includes a circular buffer, producer DMA engine, and consumer DMA engine. After the producer DMA engine writes or skips over a given data chunk of a first frame to the buffer, the producer DMA engine sends an updated write pointer to the consumer DMA engine indicating that a data credit has been committed to the buffer and that the data credit is ready to be consumed. After the consumer DMA engine reads or skips over the given data chunk of the first frame from the buffer, the consumer DMA engine sends an updated read pointer to the producer DMA engine indicating that the data credit has been consumed and that space has been freed up in the buffer to be reused by the producer DMA engine.Type: ApplicationFiled: July 7, 2020Publication date: January 13, 2022Inventors: Marc A. Schaub, Roy G. Moss
-
Patent number: 10877688Abstract: In some embodiments, a system includes a memory system, a real-time computing device, and a controller. The real-time computing device stores data within a local buffer having a corresponding storage threshold, where the data satisfies the storage threshold, and where the storage threshold is based on a latency of the memory system and an expected rate of utilization of the data of the local buffer. The controller detects that the memory system should perform an operation, where the memory system is unavailable to the real-time computing device during the operation. In response to detecting that an amount of time for the operation exceeds an amount of time corresponding to the storage threshold, the controller overrides the storage threshold. The controller may override the storage threshold by modifying the storage threshold and by overriding a default priority for access requests of the real-time computing device to the memory system.Type: GrantFiled: August 1, 2016Date of Patent: December 29, 2020Assignee: Apple Inc.Inventors: Manu Gulati, Peter F. Holland, Erik P. Machnicki, Robert E. Jeter, Rakesh L. Notani, Neeraj Parik, Marc A. Schaub
-
Patent number: 10546558Abstract: Systems, apparatuses, and methods for aggregating memory requests with opportunism in a display pipeline. Memory requests are aggregated for each requestor of a plurality of requestors in the display pipeline. When the number of memory requests for a given requestor reaches a corresponding threshold, memory requests may be issued for the given requestor. In response to determining the given requestor has reached its threshold, other requestors may issue memory requests even if they have not yet aggregated enough memory requests to reach their corresponding thresholds.Type: GrantFiled: April 25, 2014Date of Patent: January 28, 2020Assignee: Apple Inc.Inventors: Marc A. Schaub, Jeffrey J. Irwin, Peter F. Holland
-
Patent number: 10415987Abstract: Presented are techniques of identifying, processing and displaying data point clusters (850, 851) associated with map information (200) in an efficient manner. Methods and systems are disclosed which process map information (200) to identify clusters (850, 851) of requested data points for display (1020), based on iterative clustering and filtering of the data points. Methods and systems are also disclosed which generate polygons (1860, 1861, 1901-05) representing the clusters. The amount of data to be processed and/or displayed can be reduced, without loss of any associated information content in a displayed map.Type: GrantFiled: June 24, 2016Date of Patent: September 17, 2019Assignee: Google LLCInventors: Steve Chien, Mark Yinan Li, Marc Schaub, Benjamin Anderson, James Aspinall, Zhou Bailiang, Ruwen Hess
-
Publication number: 20190101402Abstract: Presented are techniques of identifying, processing and displaying data point clusters (850, 851) associated with map information (200) in an efficient manner. Methods and systems are disclosed which process map information (200) to identify clusters (850, 851) of requested data points for display (1020), based on iterative clustering and filtering of the data points. Methods and systems are also disclosed which generate polygons (1860, 1861, 1901-05) representing the clusters. The amount of data to be processed and/or displayed can be reduced, without loss of any associated information content in a displayed map.Type: ApplicationFiled: June 24, 2016Publication date: April 4, 2019Applicant: Google Inc.Inventors: Steve Chien, Mark Yinan Li, Marc Schaub, Benjamin Anderson, James Aspinall, Zhou Bailiang, Ruwen Hess
-
Publication number: 20180032281Abstract: In some embodiments, a system includes a memory system, a real-time computing device, and a controller. The real-time computing device stores data within a local buffer having a corresponding storage threshold, where the data satisfies the storage threshold, and where the storage threshold is based on a latency of the memory system and an expected rate of utilization of the data of the local buffer. The controller detects that the memory system should perform an operation, where the memory system is unavailable to the real-time computing device during the operation. In response to detecting that an amount of time for the operation exceeds an amount of time corresponding to the storage threshold, the controller overrides the storage threshold. The controller may override the storage threshold by modifying the storage threshold and by overriding a default priority for access requests of the real-time computing device to the memory system.Type: ApplicationFiled: August 1, 2016Publication date: February 1, 2018Inventors: Manu Gulati, Peter F. Holland, Erik P. Machnicki, Robert E. Jeter, Rakesh L. Notani, Neeraj Parik, Marc A. Schaub
-
Patent number: 9559987Abstract: An apparatus and method of using a cache to improve a learn rate for a content-addressable memory (“CAM”) are disclosed. A network device such as a router or a switch, in one embodiment, includes a key generator, a searching circuit, and a key cache, wherein the key generator is capable of generating a first lookup key in response to a first packet. The searching circuit is configured to search the content of the CAM to match the first lookup key. If the first lookup key is not found in the CAM, the key cache stores the first lookup key in response to a first miss.Type: GrantFiled: September 26, 2008Date of Patent: January 31, 2017Assignee: Tellabs Operations, IncInventors: Venkata Rangavajjhala, Marc A. Schaub
-
Patent number: 9305325Abstract: Methods and apparatus for caching neighbor data in a block processing pipeline that processes blocks in knight's order with quadrow constraints. Stages of the pipeline may maintain two local buffers that contain data from neighbor blocks of a current block. A first buffer contains data from the last C blocks processed at the stage. A second buffer contains data from neighbor blocks on the last row of a previous quadrow. Data for blocks on the bottom row of a quadrow are stored to an external memory at the end of the pipeline. When a block on the top row of a quadrow is input to the pipeline, neighbor data from the bottom row of the previous quadrow is read from the external memory and passed down the pipeline, each stage storing the data in its second buffer and using the neighbor data in the second buffer when processing the block.Type: GrantFiled: September 25, 2013Date of Patent: April 5, 2016Assignee: Apple Inc.Inventors: Joseph J. Cheng, Guy Cote, Marc A. Schaub, Jim C. Chou
-
Patent number: 9292899Abstract: Block processing pipeline methods and apparatus in which pixel data from a reference frame is prefetched into a search window memory. The search window may include two or more overlapping regions of pixels from the reference frame corresponding to blocks from the rows in the input frame that are currently being processed in the pipeline. Thus, the pipeline may process blocks from multiple rows of an input frame using one set of pixel data from a reference frame that is stored in a shared search window memory. The search window may be advanced by one column of blocks by initiating a prefetch for a next column of reference data from a memory. The pipeline may also include a reference data cache that may be used to cache a portion of a reference frame and from which at least a portion of a prefetch for the search window may be satisfied.Type: GrantFiled: September 25, 2013Date of Patent: March 22, 2016Assignee: Apple Inc.Inventors: Marc A. Schaub, Joseph J. Cheng, Mark P. Rygh, Guy Cote
-
Publication number: 20150310900Abstract: Systems, apparatuses, and methods for aggregating memory requests with opportunism in a display pipeline. Memory requests are aggregated for each requestor of a plurality of requestors in the display pipeline. When the number of memory requests for a given requestor reaches a corresponding threshold, memory requests may be issued for the given requestor. In response to determining the given requestor has reached its threshold, other requestors may issue memory requests even if they have not yet aggregated enough memory requests to reach their corresponding thresholds.Type: ApplicationFiled: April 25, 2014Publication date: October 29, 2015Applicant: Apple Inc.Inventors: Marc A. Schaub, Jeffrey J. Irwin, Peter F. Holland