Patents by Inventor Adam Christopher GEML
Adam Christopher GEML 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: 10379747Abstract: A method includes receiving, by a hardware controller of a storage device and from a host device, a command to read data from or write data to a non-volatile memory device of the storage device. The method includes, responsive to receiving the command: initializing, by firmware executing at a processor of the hardware controller, a command to retrieve data from or write data to the non-volatile memory device; determining, by circuit logic of the hardware controller, a time indicative of when the firmware initialized the command; determining, by the circuit logic, a time indicative of when the command terminated; and storing, by the circuit logic and at a latency monitoring cache of the storage device, a timestamp associated with the time indicative of when the command was initialized and a timestamp associated with the time indicative of when the command terminated.Type: GrantFiled: December 21, 2015Date of Patent: August 13, 2019Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.Inventors: Mark David Erickson, Adam Christopher Geml, Darin Edward Gerhart, Nicholas Edward Ortmeier
-
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
-
Publication number: 20170177241Abstract: A method includes receiving, by a hardware controller of a storage device and from a host device, a command to read data from or write data to a non-volatile memory device of the storage device. The method includes, responsive to receiving the command: initializing, by firmware executing at a processor of the hardware controller, a command to retrieve data from or write data to the non-volatile memory device; determining, by circuit logic of the hardware controller, a time indicative of when the firmware initialized the command; determining, by the circuit logic, a time indicative of when the command terminated; and storing, by the circuit logic and at a latency monitoring cache of the storage device, a timestamp associated with the time indicative of when the command was initialized and a timestamp associated with the time indicative of when the command terminated.Type: ApplicationFiled: December 21, 2015Publication date: June 22, 2017Inventors: Mark David Erickson, Adam Christopher Geml, Darin Edward Gerhart, Nicholas Edward Ortmeier
-
Patent number: 9557922Abstract: Techniques for peer-to-peer Peripheral Component Interconnect Express (PCIe) storage transfers are disclosed. In some embodiments, the techniques may be realized as a method for providing peer-to-peer storage transfers between PCIe devices including providing, in memory of a first PCIe device, a queue for data communicated between the first PCIe device and a target PCIe device, receiving, at the first PCIe device, queue memory allocation information transmitted from a host device communicatively coupled to the first PCIe device and the target PCIe device, and generating, using a computer processor of the first PCIe device, a storage command.Type: GrantFiled: March 31, 2016Date of Patent: January 31, 2017Assignee: HGST Netherlands B.V.Inventors: Colin Christopher McCambridge, Christopher William Barr, Adam Christopher Geml
-
Publication number: 20160210062Abstract: Techniques for peer-to-peer Peripheral Component Interconnect Express (PCIe) storage transfers are disclosed. In some embodiments, the techniques may be realized as a method for providing peer-to-peer storage transfers between PCIe devices including providing, in memory of a first PCIe device, a queue for data communicated between the first PCIe device and a target PCIe device, receiving, at the first PCIe device, queue memory allocation information transmitted from a host device communicatively coupled to the first PCIe device and the target PCIe device, and generating, using a computer processor of the first PCIe device, a storage command.Type: ApplicationFiled: March 31, 2016Publication date: July 21, 2016Inventors: Colin Christopher MCCAMBRIDGE, Christopher William BARR, Adam Christopher GEML
-
Patent number: 9304690Abstract: Techniques for peer-to-peer Peripheral Component Interconnect Express (PCIe) storage transfers are disclosed. In some embodiments, the techniques may be realized as a method for providing peer-to-peer storage transfers between PCIe devices including providing, in memory of a first PCIe device, a queue for data communicated between the first PCIe device and a target PCIe device, receiving, at the first PCIe device, queue memory allocation information transmitted from a host device communicatively coupled to the first PCIe device and the target PCIe device, and generating, using a computer processor of the first PCIe device, a storage command.Type: GrantFiled: May 7, 2014Date of Patent: April 5, 2016Assignee: HGST Netherlands B.V.Inventors: Colin Christopher McCambridge, Christopher William Barr, Adam Christopher Geml
-
Publication number: 20150324118Abstract: Techniques for peer-to-peer Peripheral Component Interconnect Express (PCIe) storage transfers are disclosed. In some embodiments, the techniques may be realized as a method for providing peer-to-peer storage transfers between PCIe devices including providing, in memory of a first PCIe device, a queue for data communicated between the first PCIe device and a target PCIe device, receiving, at the first PCIe device, queue memory allocation information transmitted from a host device communicatively coupled to the first PCIe device and the target PCIe device, and generating, using a computer processor of the first PCIe device, a storage command.Type: ApplicationFiled: May 7, 2014Publication date: November 12, 2015Applicant: HGST NETHERLANDS B.V.Inventors: Colin Christopher MCCAMBRIDGE, Christopher William BARR, Adam Christopher GEML