Patents by Inventor Philip James Sanders

Philip James Sanders 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: 10289544
    Abstract: In some examples, a storage device includes a first non-volatile memory array configured to store data from a host device and the storage device and a second non-volatile memory array configured to store data from the storage device, wherein the second non-volatile memory array is separate from the first non-volatile memory array. The storage device also includes a controller configured to store a virtual-to-physical mapping table to the first non-volatile memory array and store a portion of the virtual-to-physical mapping table to the second non-volatile memory array.
    Type: Grant
    Filed: July 19, 2016
    Date of Patent: May 14, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
  • Patent number: 10254985
    Abstract: A method includes obtaining power and performance data for each storage device of a plurality of storage devices, and adjusting, based on the power and performance data for the plurality of storage devices, a power consumption level of a particular storage device of the plurality of storage devices.
    Type: Grant
    Filed: March 15, 2016
    Date of Patent: April 9, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
  • Patent number: 10089134
    Abstract: A method includes receiving, by virtual machine manager and from a virtual machine, a request for a set of namespace identifiers corresponding to a set of namespaces associated with one or more storage devices. The method also includes determining, by the virtual machine manager, one or more namespaces associated with the virtual machine from the set of namespaces associated with the one or more storage devices. The method further includes, in response to determining the one or more namespaces associated with the virtual machine, sending, by the virtual machine manager and to the virtual machine, a subset of the set of namespace identifiers, the subset of namespace identifiers corresponding to the one or more namespaces associated with the virtual machine.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: October 2, 2018
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
  • Publication number: 20180024919
    Abstract: In some examples, a storage device includes a first non-volatile memory array configured to store data from a host device and the storage device and a second non-volatile memory array configured to store data from the storage device, wherein the second non-volatile memory array is separate from the first non-volatile memory array. The storage device also includes a controller configured to store a virtual-to-physical mapping table to the first non-volatile memory array and store a portion of the virtual-to-physical mapping table to the second non-volatile memory array.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 25, 2018
    Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
  • Publication number: 20180004559
    Abstract: A method includes receiving, by virtual machine manager and from a virtual machine, a request for a set of namespace identifiers corresponding to a set of namespaces associated with one or more storage devices. The method also includes determining, by the virtual machine manager, one or more namespaces associated with the virtual machine from the set of namespaces associated with the one or more storage devices. The method further includes, in response to determining the one or more namespaces associated with the virtual machine, sending, by the virtual machine manager and to the virtual machine, a subset of the set of namespace identifiers, the subset of namespace identifiers corresponding to the one or more namespaces associated with the virtual machine.
    Type: Application
    Filed: June 30, 2016
    Publication date: January 4, 2018
    Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
  • Publication number: 20170300249
    Abstract: A storage device may include at least one memory device logically divided into a plurality of blocksets and a controller. The controller may be configured to receive a command to execute a garbage collection operation on a first blockset of the plurality of blocksets. The controller may be further configured to determine, based on a validity table stored in a non-volatile memory, whether data stored at a first block of the first blockset is valid, cause the data from the first block to be written to a second block of a second blockset of the plurality of blocksets, and modify the validity table to indicate that data stored in the first block is invalid and to indicate that data stored in the second block is valid.
    Type: Application
    Filed: April 15, 2016
    Publication date: October 19, 2017
    Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
  • Publication number: 20170269860
    Abstract: A method includes obtaining power and performance data for each storage device of a plurality of storage devices, and adjusting, based on the power and performance data for the plurality of storage devices, a power consumption level of a particular storage device of the plurality of storage devices.
    Type: Application
    Filed: March 15, 2016
    Publication date: September 21, 2017
    Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
  • Patent number: 9417909
    Abstract: Efficient application checkpointing uses checkpointing characteristics of a job to determine how to schedule jobs for execution on a multi-node computer system. A checkpoint profile in the job description includes information on the expected frequency and duration of a check point cycle for the application. The checkpoint profile may be based on a user/administrator input as well as historical information. The job scheduler will attempt to group applications (jobs) that have the same checkpoint profile, on the same nodes or group of nodes. Additionally, the job scheduler may control when new jobs start based on when the next checkpoint cycle(s) are expected. The checkpoint monitor will monitor the checkpoint cycles, updating the checkpoint profiles of running jobs. The checkpoint monitor will also keep track of an overall system checkpoint profile to determine the available checkpointing capacity before scheduling jobs on the cluster.
    Type: Grant
    Filed: November 13, 2008
    Date of Patent: August 16, 2016
    Assignee: International Business Machines Corporation
    Inventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
  • Patent number: 9104617
    Abstract: A hybrid node of a High Performance Computing (HPC) cluster uses accelerator nodes for checkpointing to increase overall efficiency of the multi-node computing system. The host node or processor node reads/writes checkpoint data to the accelerators. After offloading the checkpoint data to the accelerators, the host processor can continue processing while the accelerators communicate the checkpoint data with the host or wait for the next checkpoint. The accelerators may also perform dynamic compression and decompression of the checkpoint data to reduce the checkpoint size and reduce network loading. The accelerators may also communicate with other node accelerators to compare checkpoint data to reduce the amount of checkpoint data stored to the host.
    Type: Grant
    Filed: November 13, 2008
    Date of Patent: August 11, 2015
    Assignee: International Business Machines Corporation
    Inventors: David L Darrington, Matthew W Markland, Philip James Sanders, Richard Michael Shok
  • Patent number: 8108662
    Abstract: A method, apparatus, and program product checkpoint an application in a parallel computing system of the type that includes a plurality of hybrid nodes. Each hybrid node includes a host element and a plurality of accelerator elements. Each host element may include at least one multithreaded processor, and each accelerator element may include at least one multi-element processor. In a first hybrid node from among the plurality of hybrid nodes, checkpointing the application includes executing at least a portion of the application in the host element and at least one accelerator element and, in response to receiving a command to checkpoint the application, checkpointing the host element separately from the at least one accelerator element.
    Type: Grant
    Filed: October 9, 2008
    Date of Patent: January 31, 2012
    Assignee: International Business Machines Corporation
    Inventors: David L Darrington, Matthew W Markland, Philip James Sanders, Richard Michael Shok
  • Patent number: 7873869
    Abstract: A method, apparatus, and program product checkpoint an application in a parallel computing system of the type that includes a plurality of hybrid nodes. Each hybrid node includes a host element and a plurality of accelerator elements. Each host element may include at least one multithreaded processor, and each accelerator element may include at least one multi-element processor. In a first hybrid node from among the plurality of hybrid nodes, checkpointing the application includes executing at least a portion of the application in the host element, configuring and executing at least one computation kernel in at least one accelerator element, and, in response to receiving a command to checkpoint the application, checkpointing the host element separately from the at least one accelerator element upon which the at least one computation kernel is executing.
    Type: Grant
    Filed: October 9, 2008
    Date of Patent: January 18, 2011
    Assignee: International Business Machines Corporation
    Inventors: David L Darrington, Matthew W Markland, Philip James Sanders, Richard Michael Shok
  • Publication number: 20100122256
    Abstract: Efficient application checkpointing uses checkpointing characteristics of a job to determine how to schedule jobs for execution on a multi-node computer system. A checkpoint profile in the job description includes information on the expected frequency and duration of a check point cycle for the application. The checkpoint profile may be based on a user/administrator input as well as historical information. The job scheduler will attempt to group applications (jobs) that have the same checkpoint profile, on the same nodes or group of nodes. Additionally, the job scheduler may control when new jobs start based on when the next checkpoint cycle(s) are expected. The checkpoint monitor will monitor the checkpoint cycles, updating the checkpoint profiles of running jobs. The checkpoint monitor will also keep track of an overall system checkpoint profile to determine the available checkpointing capacity before scheduling jobs on the cluster.
    Type: Application
    Filed: November 13, 2008
    Publication date: May 13, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
  • Publication number: 20100122199
    Abstract: A hybrid node of a High Performance Computing (HPC) cluster uses accelerator nodes for checkpointing to increase overall efficiency of the multi-node computing system. The host node or processor node reads/writes checkpoint data to the accelerators. After offloading the checkpoint data to the accelerators, the host processor can continue processing while the accelerators communicate the checkpoint data with the host or wait for the next checkpoint. The accelerators may also perform dynamic compression and decompression of the checkpoint data to reduce the checkpoint size and reduce network loading. The accelerators may also communicate with other node accelerators to compare checkpoint data to reduce the amount of checkpoint data stored to the host.
    Type: Application
    Filed: November 13, 2008
    Publication date: May 13, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
  • Publication number: 20100095152
    Abstract: A method, apparatus, and program product checkpoint an application in a parallel computing system of the type that includes a plurality of hybrid nodes. Each hybrid node includes a host element and a plurality of accelerator elements. Each host element may include at least one multithreaded processor, and each accelerator element may include at least one multi-element processor. In a first hybrid node from among the plurality of hybrid nodes, checkpointing the application includes executing at least a portion of the application in the host element, configuring and executing at least one computation kernel in at least one accelerator element, and, in response to receiving a command to checkpoint the application, checkpointing the host element separately from the at least one accelerator element upon which the at least one computation kernel is executing.
    Type: Application
    Filed: October 9, 2008
    Publication date: April 15, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
  • Publication number: 20100095100
    Abstract: A method, apparatus, and program product checkpoint an application in a parallel computing system of the type that includes a plurality of hybrid nodes. Each hybrid node includes a host element and a plurality of accelerator elements. Each host element may include at least one multithreaded processor, and each accelerator element may include at least one multi-element processor. In a first hybrid node from among the plurality of hybrid nodes, checkpointing the application includes executing at least a portion of the application in the host element and at least one accelerator element and, in response to receiving a command to checkpoint the application, checkpointing the host element separately from the at least one accelerator element.
    Type: Application
    Filed: October 9, 2008
    Publication date: April 15, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
  • Patent number: 6526412
    Abstract: A method and apparatus for dynamically loading criteria from an object to reduce the amount of total criteria necessary to update a referenced value is disclosed. The value can be “inside” a database or an object in an object-oriented framework. When updating a value that is referenced by a data access object (such as an access key) that depends on other objects (such as access keyables) for criteria necessary to reference the value, a special data access object (called an adapter access key) is used instead of using the data access object. Instead of creating and populating all of the access keyables prior to an update of the value, the adapter access key holds onto the source of the criteria (such as a business object) needed to fill the access keyables and to access the value. The adapter access key dynamically determines criteria from the business object only for those keyables that are important in updating the value.
    Type: Grant
    Filed: April 22, 1999
    Date of Patent: February 25, 2003
    Assignee: International Business Machines Corporation
    Inventors: James Edward Carey, Philip James Sanders
  • Patent number: 6442562
    Abstract: An apparatus and method allow using incomplete cached balance sets to be used to generate other cached balanced sets in certain circumstances. If a cached balance set is complete, a new cached balance set can be generated from it by condensing the existing cached balance set. If the cached balance set is incomplete, a new cached balance set can be created from the existing incomplete cached balance set if the query key meets certain criteria and if the existing cached balance set was condensed from the underlying data in the database itself, rather than from a different cached balance set. It is even possible to create a complete cached balance set from an incomplete cached balance set if certain criteria are met. By using both complete and incomplete cached balance sets to retrieve values in response to a query, the performance of the resulting system is significantly enhanced.
    Type: Grant
    Filed: March 15, 2000
    Date of Patent: August 27, 2002
    Assignee: International Business Machines Corporation
    Inventors: James Edward Carey, Philip James Sanders