Patents by Inventor Roch Bourbonnais
Roch Bourbonnais 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: 11630776Abstract: Aspects of the present disclosure include methods and system for fast allocation of memory from fragmented memory. In one example, at a processor receives a request for an address to a buffer stored in a magazine associated with the processor. Upon determining that the magazine associated with the processor is empty, a request is made to a depot layer for additional memory. Upon determining that the depot layer cannot satisfy the request for the additional memory, executing a call to a slab layer for the additional memory. The slab layer identifies one or more partially-allocated slabs and generates a new magazine. A set of addresses correspond to buffers may be stored in the new magazine. A reference to the new magazine may be transferred from the slab layer to the depot layer. The reference to the new magazine may then be transferred from the depot layer to the processor.Type: GrantFiled: May 27, 2022Date of Patent: April 18, 2023Assignee: Oracle International CorporationInventor: Roch Bourbonnais
-
Publication number: 20220318143Abstract: Aspects of the present disclosure include methods and system for fast allocation of memory from fragmented memory. In one example, at a processor receives a request for an address to a buffer stored in a magazine associated with the processor. Upon determining that the magazine associated with the processor is empty, a request is made to a depot layer for additional memory. Upon determining that the depot layer cannot satisfy the request for the additional memory, executing a call to a slab layer for the additional memory. The slab layer identifies one or more partially-allocated slabs and generates a new magazine. A set of addresses correspond to buffers may be stored in the new magazine. A reference to the new magazine may be transferred from the slab layer to the depot layer. The reference to the new magazine may then be transferred from the depot layer to the processor.Type: ApplicationFiled: May 27, 2022Publication date: October 6, 2022Applicant: Oracle International CorporationInventor: Roch Bourbonnais
-
Patent number: 11386007Abstract: Aspects of the present disclosure include methods and system for fast allocation of memory from fragmented memory. In one example, at a processor receives a request for an address to a buffer stored in a magazine associated with the processor. Upon determining that the magazine associated with the processor is empty, a request is made to a depot layer for additional memory. Upon determining that the depot layer cannot satisfy the request for the additional memory, executing a call to a slab layer for the additional memory. The slab layer identifies one or more partially-allocated slabs and generates a new magazine. A set of addresses correspond to buffers may be stored in the new magazine. A reference to the new magazine may be transferred from the slab layer to the depot layer. The reference to the new magazine may then be transferred from the depot layer to the processor.Type: GrantFiled: April 5, 2021Date of Patent: July 12, 2022Assignee: Oracle International CorporationInventor: Roch Bourbonnais
-
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: 9135262Abstract: A system and method is provided for parallel processing of multiple write requests to write data associated the multiple write requests to a storage area concurrently. The file system receives a series of write request from one more applications executing on the computing device. The file system includes one or more processing modules that selectively groups writes request into lists or trains. After the processing modules begin processing first threads associated with writes in a first train, the processing modules determines whether and when to initiate processing of second threads associated with writes in a second train during processing of the first threads.Type: GrantFiled: October 19, 2012Date of Patent: September 15, 2015Assignee: Oracle International CorporationInventors: Neil Veness Perrin, Roch Bourbonnais, Bradley Romain Lewis
-
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: 20140115016Abstract: A system and method is provided for parallel processing of multiple write requests to write data associated the multiple write requests to a storage area concurrently. The file system receives a series of write request from one more applications executing on the computing device. The file system includes one or more processing modules that selectively groups writes request into lists or trains. After the processing modules begin processing first threads associated with writes in a first train, the processing modules determines whether and when to initiate processing of second threads associated with writes in a second train during processing of the first threads.Type: ApplicationFiled: October 19, 2012Publication date: April 24, 2014Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Neil Veness Perrin, Roch Bourbonnais, Bradley Romain Lewis
-
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: 7448032Abstract: Embodiments of the present invention are directed to a method and apparatus for integration of URL's into standard file systems of a local computer. In one embodiment of the present invention, the file system (e.g., a Uniform File System (UFS)) of a local computer is integrated with an Internet protocol, such as the Hyper Text Transport Protocol (HTTP). Once the protocol has been integrated into the file system of the local computer, applications running on local computer can access any Web based documents under that protocol. Thus, the local applications (and/or users) can access these Web based documents (and/or files) as if they are local files even though the documents are actually located on the Internet (and away from the local computer). In a further embodiment, the applications (and/or users) are able to access these Web based documents by utilizing a relating apparatus that relates the applications (and/or users) to their corresponding Web based documents.Type: GrantFiled: May 22, 2002Date of Patent: November 4, 2008Assignee: Sun Microsystems, Inc.Inventor: Roch Bourbonnais
-
Publication number: 20030220924Abstract: Embodiments of the present invention are directed to a method and apparatus for integration of URL's into standard file systems of a local computer. In one embodiment of the present invention, the file system (e.g., a Uniform File System (UFS)) of a local computer is integrated with an Internet protocol, such as the Hyper Text Transport Protocol (HTTP). Once the protocol has been integrated into the file system of the local computer, applications running on local computer can access any Web based documents under that protocol. Thus, the local applications (and/or users) can access these Web based documents (and/or files) as if they are local files even though the documents are actually located on the Internet (and away from the local computer). In a further embodiment, the applications (and/or users) are able to access these Web based documents by utilizing a relating apparatus that relates the applications (and/or users) to their corresponding Web based documents.Type: ApplicationFiled: May 22, 2002Publication date: November 27, 2003Inventor: Roch Bourbonnais