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: 10289544Abstract: 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: GrantFiled: July 19, 2016Date of Patent: May 14, 2019Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
-
Patent number: 10254985Abstract: 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: GrantFiled: March 15, 2016Date of Patent: April 9, 2019Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
-
Patent number: 10089134Abstract: 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: GrantFiled: June 30, 2016Date of Patent: October 2, 2018Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
-
Publication number: 20180024919Abstract: 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: ApplicationFiled: July 19, 2016Publication date: January 25, 2018Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
-
Publication number: 20180004559Abstract: 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: ApplicationFiled: June 30, 2016Publication date: January 4, 2018Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
-
Publication number: 20170300249Abstract: 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: ApplicationFiled: April 15, 2016Publication date: October 19, 2017Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
-
Publication number: 20170269860Abstract: 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: ApplicationFiled: March 15, 2016Publication date: September 21, 2017Inventors: Adam Christopher Geml, Colin Christopher McCambridge, Philip James Sanders, Lee Anton Sendelbach
-
Patent number: 9417909Abstract: 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: GrantFiled: November 13, 2008Date of Patent: August 16, 2016Assignee: International Business Machines CorporationInventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
-
Patent number: 9104617Abstract: 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: GrantFiled: November 13, 2008Date of Patent: August 11, 2015Assignee: International Business Machines CorporationInventors: David L Darrington, Matthew W Markland, Philip James Sanders, Richard Michael Shok
-
Patent number: 8108662Abstract: 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: GrantFiled: October 9, 2008Date of Patent: January 31, 2012Assignee: International Business Machines CorporationInventors: David L Darrington, Matthew W Markland, Philip James Sanders, Richard Michael Shok
-
Patent number: 7873869Abstract: 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: GrantFiled: October 9, 2008Date of Patent: January 18, 2011Assignee: International Business Machines CorporationInventors: David L Darrington, Matthew W Markland, Philip James Sanders, Richard Michael Shok
-
Publication number: 20100122256Abstract: 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: ApplicationFiled: November 13, 2008Publication date: May 13, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
-
Publication number: 20100122199Abstract: 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: ApplicationFiled: November 13, 2008Publication date: May 13, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
-
Publication number: 20100095152Abstract: 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: ApplicationFiled: October 9, 2008Publication date: April 15, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
-
Publication number: 20100095100Abstract: 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: ApplicationFiled: October 9, 2008Publication date: April 15, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: David L. Darrington, Matthew W. Markland, Philip James Sanders, Richard Michael Shok
-
Patent number: 6526412Abstract: 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: GrantFiled: April 22, 1999Date of Patent: February 25, 2003Assignee: International Business Machines CorporationInventors: James Edward Carey, Philip James Sanders
-
Patent number: 6442562Abstract: 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: GrantFiled: March 15, 2000Date of Patent: August 27, 2002Assignee: International Business Machines CorporationInventors: James Edward Carey, Philip James Sanders