Patents by Inventor Blaise Sanouillet

Blaise Sanouillet 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: 10241685
    Abstract: Implementations of the present disclosure involve a system and/or method for managing a storage system and, more particularly, for externally managing input/output (I/O) requests to a storage device to avoid large delays in servicing the I/O requests. The management system may maintain I/O request queues for one or more of the storage devices associated with the system. The system may calculate a difference between an order value of the I/O request at the top of the queue and the bottom of the queue for the storage devices. If the calculated difference is above a threshold value, new I/O requests for the storage device are not added to the queue or transmitted to the storage device. In this manner, the management system may force the storage device to service an I/O request that has been stored in the queue for some time without being serviced.
    Type: Grant
    Filed: August 17, 2016
    Date of Patent: March 26, 2019
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Blaise Sanouillet, Roch Bourbonnais, Peter Weston Gill
  • 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: 20180052612
    Abstract: Implementations of the present disclosure involve a system and/or method for managing a storage system and, more particularly, for externally managing input/output (I/O) requests to a storage device to avoid large delays in servicing the I/O requests. The management system may maintain I/O request queues for one or more of the storage devices associated with the system. The system may calculate a difference between an order value of the I/O request at the top of the queue and the bottom of the queue for the storage devices. If the calculated difference is above a threshold value, new I/O requests for the storage device are not added to the queue or transmitted to the storage device. In this manner, the management system may force the storage device to service an I/O request that has been stored in the queue for some time without being serviced.
    Type: Application
    Filed: August 17, 2016
    Publication date: February 22, 2018
    Applicant: Oracle International Corporation
    Inventors: Blaise Sanouillet, Roch Bourbonnais, Peter Weston Gill
  • Patent number: 9594635
    Abstract: Implementations claimed and described herein provide systems and methods for the efficient rebuilding of a failed storage device through sequential resilvering. In one implementation, blocks for resilvering are discovered. The blocks correspond to input/output requests not successfully completed for a failed storage device. A coarse grained sorting of the blocks is performed based on a block location of each of the blocks on the failed storage device. The block locations of the blocks are stored in memory according to the coarse grained sorting. A fine grained sorting of the blocks is performed based on the coarse grained sorting of the blocks. The blocks are sequentially resilvered based on the fine grained sorting.
    Type: Grant
    Filed: September 4, 2014
    Date of Patent: March 14, 2017
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Eric Carl Taylor, Blaise Sanouillet, Roch Bourbonnais
  • 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
  • Publication number: 20150355968
    Abstract: Implementations claimed and described herein provide systems and methods for the efficient rebuilding of a failed storage device through sequential resilvering. In one implementation, blocks for resilvering are discovered. The blocks correspond to input/output requests not successfully completed for a failed storage device. A coarse grained sorting of the blocks is performed based on a block location of each of the blocks on the failed storage device. The block locations of the blocks are stored in memory according to the coarse grained sorting. A fine grained sorting of the blocks is performed based on the coarse grained sorting of the blocks. The blocks are sequentially resilvered based on the fine grained sorting.
    Type: Application
    Filed: September 4, 2014
    Publication date: December 10, 2015
    Applicant: Oracle International Corporation
    Inventors: Eric Carl Taylor, Blaise Sanouillet, Roch Bourbonnais
  • Patent number: 9104342
    Abstract: A method for writing a logical data block to storage. The method includes receiving a request to write a logical data block to a storage pool, allocating a number of physical log blocks in a RAID log and a parity block for the logical data block, and writing the logical data block and the parity block to the physical log blocks. The number of the physical log blocks are less than a number of disks storing the RAID log. The method further includes allocating space in a physical slab block in a RAID slab for the logical data block, copying data including the logical data block to the space in the physical slab block, and updating, in the RAID slab, a checksum corresponding to the physical slab block and a parity block that includes the data stripe having the physical slab block based on the data copied.
    Type: Grant
    Filed: October 21, 2010
    Date of Patent: August 11, 2015
    Assignee: Oracle International Corporation
    Inventors: Roch Bourbonnais, Blaise Sanouillet
  • Publication number: 20130246707
    Abstract: A method for writing a logical data block to storage. The method includes receiving a request to write a logical data block to a storage pool, allocating a number of physical log blocks in a RAID log and a parity block for the logical data block, and writing the logical data block and the parity block to the physical log blocks. The number of the physical log blocks are less than a number of disks storing the RAID log. The method further includes allocating space in a physical slab block in a RAID slab for the logical data block, copying data including the logical data block to the space in the physical slab block, and updating, in the RAID slab, a check-sum corresponding to the physical slab block and a parity block that includes the data stripe having the physical slab block based on the data copied.
    Type: Application
    Filed: October 21, 2010
    Publication date: September 19, 2013
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Roch Bourbonnais, Blaise Sanouillet
  • Patent number: 7703108
    Abstract: An application program is run in a process supported by an operating system in a computer system. The application program is executed in a virtual machine, and the virtual machine is within the process. Loading a library for the application program includes determining whether this is the first library load instruction in the application program. If it is the first library load instruction, then the library is loaded in a first memory area, and a handle and link map to the first memory area is defined for the library. If the library load instruction is a second or subsequent library load instruction, the further library is loaded in a further memory area, also associated with the link map identifier, and a second handle to the further library is defined and stored.
    Type: Grant
    Filed: October 24, 2001
    Date of Patent: April 20, 2010
    Assignee: Oracle America, Inc.
    Inventor: Blaise Sanouillet
  • Publication number: 20050010934
    Abstract: An application program is run in a process supported by an operating system in a computer system. Loading a library for the application program comprises the following steps: a. determining whether it is the first library load instruction in the application program (502); b. if it is the first library load instruction; b1. loading the library in a first memory area, and defining a handle for the library, and a memory identifier to the first memory area (504, 506); and b2. storing the handle and the memory identifier, for use in executing functions contained in the library (508, 516); c. if the library load instruction is a further library load instruction; c1. loading the further library in a further memory area, also associated to said memory identifier, and defining a further handle to the further library (510); c2. storing the further handle, for use together with the already stored link map identifier in executing functions contained in the further library (516).
    Type: Application
    Filed: October 24, 2001
    Publication date: January 13, 2005
    Inventor: Blaise Sanouillet