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: 20230013750
    Abstract: 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: Application
    Filed: July 13, 2021
    Publication date: January 19, 2023
    Inventors: David Robert Thomas, Ciaran Meghen, Gregory Alan Peters, Amy Johanna Douglas, Robert Galbraith, Ryan Michael Watson
  • Patent number: 10628054
    Abstract: 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: Grant
    Filed: April 15, 2015
    Date of Patent: April 21, 2020
    Assignee: International Business Machines Corporation
    Inventors: Robert Galbraith, Andrew D. Walls
  • Patent number: 10528272
    Abstract: 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: Grant
    Filed: February 20, 2015
    Date of Patent: January 7, 2020
    Assignee: International Business Machines Corporation
    Inventors: Robert Galbraith, Andrew D. Walls
  • Patent number: 10467150
    Abstract: 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: Grant
    Filed: May 16, 2018
    Date of Patent: November 5, 2019
    Assignee: International Business Machines Corporation
    Inventors: Joseph R. Edwards, Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl, Gowrisankar Radhakrishnan, Rick A. Weckwerth
  • Patent number: 10372368
    Abstract: 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: Grant
    Filed: October 13, 2016
    Date of Patent: August 6, 2019
    Assignee: International Business Machines Corporation
    Inventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
  • Patent number: 10268589
    Abstract: 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: Grant
    Filed: November 20, 2017
    Date of Patent: April 23, 2019
    Assignee: International Business Machines Corporation
    Inventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
  • Patent number: 10261907
    Abstract: 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: Grant
    Filed: March 9, 2017
    Date of Patent: April 16, 2019
    Assignee: International Business Machines Corporation
    Inventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
  • Publication number: 20180267902
    Abstract: 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: Application
    Filed: May 16, 2018
    Publication date: September 20, 2018
    Inventors: JOSEPH R. EDWARDS, ROBERT GALBRAITH, ADRIAN C. GERHARD, DANIEL F. MOERTL, GOWRISANKAR RADHAKRISHNAN, RICK A. WECKWERTH
  • Publication number: 20180260329
    Abstract: 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: Application
    Filed: November 20, 2017
    Publication date: September 13, 2018
    Inventors: ROBERT GALBRAITH, ADRIAN C. GERHARD, DANIEL F. MOERTL
  • Publication number: 20180260328
    Abstract: 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: Application
    Filed: March 9, 2017
    Publication date: September 13, 2018
    Inventors: ROBERT GALBRAITH, ADRIAN C. GERHARD, DANIEL F. MOERTL
  • Patent number: 10067880
    Abstract: 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: Grant
    Filed: February 29, 2016
    Date of Patent: September 4, 2018
    Assignee: International Business Machines Corporation
    Inventors: Joseph R. Edwards, Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl, Gowrisankar Radhakrishnan, Rick A. Weckwerth
  • Patent number: 9990157
    Abstract: 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: Grant
    Filed: August 24, 2015
    Date of Patent: June 5, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
  • Publication number: 20180107383
    Abstract: 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: Application
    Filed: October 13, 2016
    Publication date: April 19, 2018
    Inventors: ROBERT GALBRAITH, ADRIAN C. GERHARD, DANIEL F. MOERTL
  • Patent number: 9802523
    Abstract: 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: Grant
    Filed: June 1, 2016
    Date of Patent: October 31, 2017
    Inventor: Robert Galbraith
  • Patent number: 9772773
    Abstract: 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: Grant
    Filed: July 30, 2015
    Date of Patent: September 26, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
  • Patent number: 9766809
    Abstract: 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: Grant
    Filed: August 24, 2015
    Date of Patent: September 19, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
  • Publication number: 20170249255
    Abstract: 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: Application
    Filed: February 29, 2016
    Publication date: August 31, 2017
    Inventors: JOSEPH R. EDWARDS, ROBERT GALBRAITH, ADRIAN C. GERHARD, DANIEL F. MOERTL, GOWRISANKAR RADHAKRISHNAN, RICK A. WECKWERTH
  • Patent number: 9720841
    Abstract: 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: Grant
    Filed: December 12, 2014
    Date of Patent: August 1, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
  • Patent number: 9690516
    Abstract: 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: Grant
    Filed: July 30, 2015
    Date of Patent: June 27, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl
  • Patent number: 9582426
    Abstract: 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: Grant
    Filed: August 20, 2013
    Date of Patent: February 28, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert Galbraith, Adrian C. Gerhard, Daniel F. Moertl