Patents by Inventor Robert Galbraith
Robert Galbraith 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).
-
Publication number: 20230013750Abstract: A system for collecting tissue samples, such as meat tissues on carcasses, for example in the food industry. Also provided are methods for collecting tissue samples, and to a non-transitory computer-readable medium comprising program instructions to execute at least one step of the method for collecting tissue samples.Type: ApplicationFiled: July 13, 2021Publication date: January 19, 2023Inventors: David Robert Thomas, Ciaran Meghen, Gregory Alan Peters, Amy Johanna Douglas, Robert Galbraith, Ryan Michael Watson
-
Patent number: 10628054Abstract: An apparatus may include a redundant array of independent disks (RAID) array including a plurality of solid state drives (SSDs). The apparatus may further include a RAID array controller coupled to the plurality of SSDs. The RAID array controller may be configured to determine whether one or more logical block addresses (LBAs) of a stripe of the RAID array are unmapped. The one or more LBAs may be associated with one or more SSDs of the plurality of SSDs. The RAID array controller may be configured to determine data corresponding to the stripe based on the determination of whether the one or more LBAs are unmapped. RAID operations (such has Rebuild, Exposed Mode Read, and/or Parity Resync operations) may be optimized based on the knowledge of which LBAs are mapped and unmapped.Type: GrantFiled: April 15, 2015Date of Patent: April 21, 2020Assignee: International Business Machines CorporationInventors: Robert Galbraith, Andrew D. Walls
-
Patent number: 10528272Abstract: An apparatus may include a redundant array of independent disks (RAID) array including a plurality of solid state drives (SSDs). The apparatus may further include a RAID array controller coupled to the plurality of SSDs. The RAID array controller may be configured to determine whether one or more logical block addresses (LBAs) of a stripe of the RAID array are unmapped. The one or more LBAs may be associated with one or more SSDs of the plurality of SSDs. The RAID array controller may be configured to determine data corresponding to the stripe based on the determination of whether the one or more LBAs are unmapped. RAID operations (such has Rebuild, Exposed Mode Read, and/or Parity Resync operations) may be optimized based on the knowledge of which LBAs are mapped and unmapped.Type: GrantFiled: February 20, 2015Date of Patent: January 7, 2020Assignee: International Business Machines CorporationInventors: Robert Galbraith, Andrew D. Walls
-
Patent number: 10467150Abstract: Disclosed are embodiments for supporting dynamic tier remapping of data stored in a hybrid storage system. One embodiment includes a storage controller and firmware, where the firmware maintains a plurality of mapping elements, where each mapping element includes a plurality of group identifiers, where each group identifier is configured to indicate a mapping of a logical block addresses, and where the storage controller performs: receiving a read command including a logical block address; parsing the logical block address to determine a mapping element and a group identifier; determining, for a particular mapping element of the plurality of elements, whether the particular mapping element is locked, wherein the particular mapping element corresponds to the mapping element of the logical block address; and dependent upon the particular mapping element, queuing the read command for firmware processing or remapping the logical block address.Type: GrantFiled: May 16, 2018Date of Patent: November 5, 2019Assignee: International Business Machines CorporationInventors: Joseph R. Edwards, Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl, Gowrisankar Radhakrishnan, Rick A. Weckwerth
-
Patent number: 10372368Abstract: Operating a RAID array with unequal stripes, the RAID array comprising N number of drives, where each RAID stripe includes P number of parity drives and N-P number of data drives, including buffering, by a RAID controller, write operations received from a host, each write operation specifying data to be written to the RAID array; distributing, by the RAID controller, the data to be written amongst N-P write groups, including: dividing the data into chunks of a sub-stripe size, wherein the sub-stripe size is less than a parity stripe size; and assigning the chunks, in round-robin order, to the N-P write groups; calculating parity from the N-P write groups; and writing the N-P write groups and the calculated parity as a first RAID stripe to the RAID array.Type: GrantFiled: October 13, 2016Date of Patent: August 6, 2019Assignee: International Business Machines CorporationInventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
-
Patent number: 10268589Abstract: Caching data in a redundant array of independent disks (RAID) storage system including receiving an operation instruction targeting a location in an attached memory of the RAID storage system, wherein the attached memory temporarily stores data for storage on RAID storage devices, and wherein the operation instruction is one selected from a group consisting of a read instruction and a write instruction; redirecting, based on a content of the operation instruction, the operation instruction from the attached memory to the embedded memory on the RAID storage system; and servicing the operation instruction by accessing a portion of the embedded memory corresponding to the location in the attached memory of the RAID storage system.Type: GrantFiled: November 20, 2017Date of Patent: April 23, 2019Assignee: International Business Machines CorporationInventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
-
Patent number: 10261907Abstract: Caching data in a redundant array of independent disks (RAID) storage system including receiving an operation instruction targeting a location in an attached memory of the RAID storage system, wherein the attached memory temporarily stores data for storage on RAID storage devices, and wherein the operation instruction is one selected from a group consisting of a read instruction and a write instruction; redirecting, based on a content of the operation instruction, the operation instruction from the attached memory to the embedded memory on the RAID storage system; and servicing the operation instruction by accessing a portion of the embedded memory corresponding to the location in the attached memory of the RAID storage system.Type: GrantFiled: March 9, 2017Date of Patent: April 16, 2019Assignee: International Business Machines CorporationInventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
-
Publication number: 20180267902Abstract: Disclosed are embodiments for supporting dynamic tier remapping of data stored in a hybrid storage system. One embodiment includes a storage controller and firmware, where the firmware maintains a plurality of mapping elements, where each mapping element includes a plurality of group identifiers, where each group identifier is configured to indicate a mapping of a logical block addresses, and where the storage controller performs: receiving a read command including a logical block address; parsing the logical block address to determine a mapping element and a group identifier; determining, for a particular mapping element of the plurality of elements, whether the particular mapping element is locked, wherein the particular mapping element corresponds to the mapping element of the logical block address; and dependent upon the particular mapping element, queuing the read command for firmware processing or remapping the logical block address.Type: ApplicationFiled: May 16, 2018Publication date: September 20, 2018Inventors: JOSEPH R. EDWARDS, ROBERT GALBRAITH, ADRIAN C. GERHARD, DANIEL F. MOERTL, GOWRISANKAR RADHAKRISHNAN, RICK A. WECKWERTH
-
Publication number: 20180260329Abstract: Caching data in a redundant array of independent disks (RAID) storage system including receiving an operation instruction targeting a location in an attached memory of the RAID storage system, wherein the attached memory temporarily stores data for storage on RAID storage devices, and wherein the operation instruction is one selected from a group consisting of a read instruction and a write instruction; redirecting, based on a content of the operation instruction, the operation instruction from the attached memory to the embedded memory on the RAID storage system; and servicing the operation instruction by accessing a portion of the embedded memory corresponding to the location in the attached memory of the RAID storage system.Type: ApplicationFiled: November 20, 2017Publication date: September 13, 2018Inventors: ROBERT GALBRAITH, ADRIAN C. GERHARD, DANIEL F. MOERTL
-
Publication number: 20180260328Abstract: Caching data in a redundant array of independent disks (RAID) storage system including receiving an operation instruction targeting a location in an attached memory of the RAID storage system, wherein the attached memory temporarily stores data for storage on RAID storage devices, and wherein the operation instruction is one selected from a group consisting of a read instruction and a write instruction; redirecting, based on a content of the operation instruction, the operation instruction from the attached memory to the embedded memory on the RAID storage system; and servicing the operation instruction by accessing a portion of the embedded memory corresponding to the location in the attached memory of the RAID storage system.Type: ApplicationFiled: March 9, 2017Publication date: September 13, 2018Inventors: ROBERT GALBRAITH, ADRIAN C. GERHARD, DANIEL F. MOERTL
-
Patent number: 10067880Abstract: Disclosed are embodiments for supporting dynamic tier remapping of data stored in a hybrid storage system. One embodiment includes a storage controller and firmware, where the firmware maintains a plurality of mapping elements, where each mapping element includes a plurality of group identifiers, where each group identifier is configured to indicate a mapping of a logical block addresses, and where the storage controller performs: receiving a read command including a logical block address; parsing the logical block address to determine a mapping element and a group identifier; determining, for a particular mapping element of the plurality of elements, whether the particular mapping element is locked, wherein the particular mapping element corresponds to the mapping element of the logical block address; and dependent upon the particular mapping element, queuing the read command for firmware processing or remapping the logical block address.Type: GrantFiled: February 29, 2016Date of Patent: September 4, 2018Assignee: International Business Machines CorporationInventors: Joseph R. Edwards, Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl, Gowrisankar Radhakrishnan, Rick A. Weckwerth
-
Patent number: 9990157Abstract: Embodiments described herein include a PSL engine that includes various memory elements that permit the engine to grant locks on particular portions of data in a stripe in a RAID storage system. The PSL engine can assign (or lock) different blocks of the stripe for different operations. The PSL engine can grant locks to multiple operations for the same stripe if the operations access mutually exclusive blocks of the stripe. Each time a new operation is requested, the PSL engine determines whether the operation would affect a stripe data block that is currently assigned to another operation. If the new operation corresponds to a block of data in the stripe that includes data locked by another operation, the PSL engine assigns the new operation to a wait list. In one embodiment, the PSL engine maintains a wait list for each of the stripes in the RAID system.Type: GrantFiled: August 24, 2015Date of Patent: June 5, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
-
Publication number: 20180107383Abstract: Operating a RAID array with unequal stripes, the RAID array comprising N number of drives, where each RAID stripe includes P number of parity drives and N-P number of data drives, including buffering, by a RAID controller, write operations received from a host, each write operation specifying data to be written to the RAID array; distributing, by the RAID controller, the data to be written amongst N-P write groups, including: dividing the data into chunks of a sub-stripe size, wherein the sub-stripe size is less than a parity stripe size; and assigning the chunks, in round-robin order, to the N-P write groups; calculating parity from the N-P write groups; and writing the N-P write groups and the calculated parity as a first RAID stripe to the RAID array.Type: ApplicationFiled: October 13, 2016Publication date: April 19, 2018Inventors: ROBERT GALBRAITH, ADRIAN C. GERHARD, DANIEL F. MOERTL
-
Patent number: 9802523Abstract: A golf cart beverage holder system having at least one right-side-beverage-holder and at least one left-side-beverage-holder for holding beverage containers and keeping drinks cold during a round of golf. The golf cart beverage holder system is adapted to fit inside existing cup holders on a golf cart.Type: GrantFiled: June 1, 2016Date of Patent: October 31, 2017Inventor: Robert Galbraith
-
Patent number: 9772773Abstract: Embodiments described herein include a PSL engine that includes various memory elements that permit the engine to grant locks on particular portions of data in a stripe in a RAID storage system. The PSL engine can assign (or lock) different blocks of the stripe for different operations. The PSL engine can grant locks to multiple operations for the same stripe if the operations access mutually exclusive blocks of the stripe. Each time a new operation is requested, the PSL engine determines whether the operation would affect a stripe data block that is currently assigned to another operation. If the new operation corresponds to a block of data in the stripe that includes data locked by another operation, the PSL engine assigns the new operation to a wait list. In one embodiment, the PSL engine maintains a wait list for each of the stripes in the RAID system.Type: GrantFiled: July 30, 2015Date of Patent: September 26, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
-
Patent number: 9766809Abstract: Embodiments described herein include a PSL engine that includes various memory elements that permit the engine to grant locks on particular portions of data in a stripe in a RAID storage system. The PSL engine can assign (or lock) different blocks of the stripe for different operations. The PSL engine can grant locks to multiple operations for the same stripe if the operations access mutually exclusive blocks of the stripe. Each time a new operation is requested, the PSL engine determines whether the operation would affect a stripe data block that is currently assigned to another operation. If the new operation corresponds to a block of data in the stripe that includes data locked by another operation, the PSL engine assigns the new operation to a wait list. In one embodiment, the PSL engine maintains a wait list for each of the stripes in the RAID system.Type: GrantFiled: August 24, 2015Date of Patent: September 19, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
-
Publication number: 20170249255Abstract: Disclosed are embodiments for supporting dynamic tier remapping of data stored in a hybrid storage system. One embodiment includes a storage controller and firmware, where the firmware maintains a plurality of mapping elements, where each mapping element includes a plurality of group identifiers, where each group identifier is configured to indicate a mapping of a logical block addresses, and where the storage controller performs: receiving a read command including a logical block address; parsing the logical block address to determine a mapping element and a group identifier; determining, for a particular mapping element of the plurality of elements, whether the particular mapping element is locked, wherein the particular mapping element corresponds to the mapping element of the logical block address; and dependent upon the particular mapping element, queuing the read command for firmware processing or remapping the logical block address.Type: ApplicationFiled: February 29, 2016Publication date: August 31, 2017Inventors: JOSEPH R. EDWARDS, ROBERT GALBRAITH, ADRIAN C. GERHARD, DANIEL F. MOERTL, GOWRISANKAR RADHAKRISHNAN, RICK A. WECKWERTH
-
Patent number: 9720841Abstract: A computing element, system, and method for implementing control structures for a compressed cache in hardware. Embodiments provide a first engine configured to allocate and deallocate virtual memory pages and physical memory pages from pools of available pages to store received data to the compressed cache, a second engine configured to compress received data and store the compressed data. Embodiments also provide for embedding data within the virtual and physical memory pages to indicate page size, type, and data compression.Type: GrantFiled: December 12, 2014Date of Patent: August 1, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
-
Patent number: 9690516Abstract: Embodiments described herein include a PSL engine that includes various memory elements that permit the engine to grant locks on particular portions of data in a stripe in a RAID storage system. The PSL engine can assign (or lock) different blocks of the stripe for different operations. The PSL engine can grant locks to multiple operations for the same stripe if the operations access mutually exclusive blocks of the stripe. Each time a new operation is requested, the PSL engine determines whether the operation would affect a stripe data block that is currently assigned to another operation. If the new operation corresponds to a block of data in the stripe that includes data locked by another operation, the PSL engine assigns the new operation to a wait list. In one embodiment, the PSL engine maintains a wait list for each of the stripes in the RAID system.Type: GrantFiled: July 30, 2015Date of Patent: June 27, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
-
Patent number: 9582426Abstract: A computing element, system, and method for implementing control structures for a compressed cache in hardware. Embodiments provide a first engine configured to allocate and deallocate virtual memory pages and physical memory pages from pools of available pages to store received data to the compressed cache, a second engine configured to compress received data and store the compressed data. Embodiments also provide for embedding data within the virtual and physical memory pages to indicate page size, type, and data compression.Type: GrantFiled: August 20, 2013Date of Patent: February 28, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl