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: 10241685Abstract: 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: GrantFiled: August 17, 2016Date of Patent: March 26, 2019Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Blaise Sanouillet, Roch Bourbonnais, Peter Weston Gill
-
Patent number: 9990296Abstract: 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: GrantFiled: July 31, 2015Date of Patent: June 5, 2018Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Natalie Ross, Peter Dunlap, Roch Bourbonnais, Blaise Sanouillet
-
Publication number: 20180052612Abstract: 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: ApplicationFiled: August 17, 2016Publication date: February 22, 2018Applicant: Oracle International CorporationInventors: Blaise Sanouillet, Roch Bourbonnais, Peter Weston Gill
-
Patent number: 9594635Abstract: 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: GrantFiled: September 4, 2014Date of Patent: March 14, 2017Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Eric Carl Taylor, Blaise Sanouillet, Roch Bourbonnais
-
Publication number: 20170031823Abstract: 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: ApplicationFiled: July 31, 2015Publication date: February 2, 2017Applicant: Oracle International CorporationInventors: Natalie Ross, Peter Dunlap, Roch Bourbonnais, Blaise Sanouillet
-
Publication number: 20150355968Abstract: 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: ApplicationFiled: September 4, 2014Publication date: December 10, 2015Applicant: Oracle International CorporationInventors: Eric Carl Taylor, Blaise Sanouillet, Roch Bourbonnais
-
Patent number: 9104342Abstract: 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: GrantFiled: October 21, 2010Date of Patent: August 11, 2015Assignee: Oracle International CorporationInventors: Roch Bourbonnais, Blaise Sanouillet
-
Publication number: 20130246707Abstract: 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: ApplicationFiled: October 21, 2010Publication date: September 19, 2013Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Roch Bourbonnais, Blaise Sanouillet
-
Patent number: 7703108Abstract: 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: GrantFiled: October 24, 2001Date of Patent: April 20, 2010Assignee: Oracle America, Inc.Inventor: Blaise Sanouillet
-
Publication number: 20050010934Abstract: 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: ApplicationFiled: October 24, 2001Publication date: January 13, 2005Inventor: Blaise Sanouillet