Patents by Inventor Peter Dunlap

Peter Dunlap 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: 10963295
    Abstract: A method and system for processing data are disclosed. A processor, in response to executing a software program, may write an entry in a work queue. The entry may include an operation, and a location of data stored in an input buffer, and a location in an output buffer to write processed data. The processor may also generate a notification that at least one entry in the work queue is ready to be processed. The data transformation unit may assign the entry to a data transformation circuit, and retrieve the data from the input buffer using the location. The data transformation unit may also perform to the operation on the retrieved data to generate updated data, generate a completion message in response to completion of the operation, and store the updated data in an output buffer. An interface unit may relay transactions between the processor and the data transformation unit.
    Type: Grant
    Filed: September 8, 2017
    Date of Patent: March 30, 2021
    Assignee: Oracle International Corporation
    Inventors: John R. Feehrer, Milton Shih, Matthew Cohen, Kenneth Chan, Ramaswamy Sivaramakrishnan, Julia Harper, Peter Dunlap
  • Patent number: 10241920
    Abstract: Implementations described and claimed herein provide a coordination of interdependent asynchronous reads. In one implementation, an input/output request for a target data block stored on a block device at a virtual address is received. A highest level indirect block from which the target data block depends in a hierarchical data structure pointing to the virtual address of the target data block is identified. The highest level indirect block is uncached. A context item is recorded to an input/output structure for the highest level indirect block. The context item indicates that an ultimate objective of a read request for the highest level indirect block is to retrieve the target data block. The input/output request is asynchronously reissued for the target data block upon receipt of the read request for the highest level indirect block.
    Type: Grant
    Filed: July 28, 2016
    Date of Patent: March 26, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Peter Dunlap, Mark Maybee
  • Publication number: 20190079795
    Abstract: A method and system for processing data are disclosed. A processor, in response to executing a software program, may write an entry in a work queue. The entry may include an operation, and a location of data stored in an input buffer, and a location in an output buffer to write processed data. The processor may also generate a notification that at least one entry in the work queue is ready to be processed. The data transformation unit may assign the entry to a data transformation circuit, and retrieve the data from the input buffer using the location. The data transformation unit may also perform to the operation on the retrieved data to generate updated data, generate a completion message in response to completion of the operation, and store the updated data in an output buffer. An interface unit may relay transactions between the processor and the data transformation unit.
    Type: Application
    Filed: September 8, 2017
    Publication date: March 14, 2019
    Inventors: John R. Feehrer, Milton Shih, Matthew Cohen, Kenneth Chan, Ramaswamy Sivaramakrishnan, Julia Harper, Peter Dunlap
  • Patent number: 9990296
    Abstract: Implementations described and claimed herein provide systems and method for prefetching data. In one implementation, whether a read request for a first data block is part of a sequential access stream is determined. A first trigger for a subsequent data block in the sequential access stream is recorded. A first set of data blocks is prefetched. The first set of data blocks is defined by a first prefetch window associated with the first trigger. A second trigger is recorded for a second subsequent data block in the sequential access stream. A second set of data blocks is prefetched. The second set of data blocks is defined by a second prefetch window associated with the first trigger. A size of the prefetch windows may be dynamically adjusted based on resource contention with the prefetching.
    Type: Grant
    Filed: July 31, 2015
    Date of Patent: June 5, 2018
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Natalie Ross, Peter Dunlap, Roch Bourbonnais, Blaise Sanouillet
  • Publication number: 20170031828
    Abstract: Implementations described and claimed herein provide a coordination of interdependent asynchronous reads. In one implementation, an input/output request for a target data block stored on a block device at a virtual address is received. A highest level indirect block from which the target data block depends in a hierarchical data structure pointing to the virtual address of the target data block is identified. The highest level indirect block is uncached. A context item is recorded to an input/output structure for the highest level indirect block. The context item indicates that an ultimate objective of a read request for the highest level indirect block is to retrieve the target data block. The input/output request is asynchronously reissued for the target data block upon receipt of the read request for the highest level indirect block.
    Type: Application
    Filed: July 28, 2016
    Publication date: February 2, 2017
    Applicant: Oracle International Corporation
    Inventors: Peter Dunlap, Mark Maybee
  • Publication number: 20170031823
    Abstract: Implementations described and claimed herein provide systems and method for prefetching data. In one implementation, whether a read request for a first data block is part of a sequential access stream is determined. A first trigger for a subsequent data block in the sequential access stream is recorded. A first set of data blocks is prefetched. The first set of data blocks is defined by a first prefetch window associated with the first trigger. A second trigger is recorded for a second subsequent data block in the sequential access stream. A second set of data blocks is prefetched. The second set of data blocks is defined by a second prefetch window associated with the first trigger. A size of the prefetch windows may be dynamically adjusted based on resource contention with the prefetching.
    Type: Application
    Filed: July 31, 2015
    Publication date: February 2, 2017
    Applicant: Oracle International Corporation
    Inventors: Natalie Ross, Peter Dunlap, Roch Bourbonnais, Blaise Sanouillet