Patents by Inventor Colin Christopher MCCAMBRIDGE

Colin Christopher MCCAMBRIDGE 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: 11226747
    Abstract: Techniques for improved copy on write functionality within an SSD are disclosed. In some embodiments, the techniques may be realized as a method for providing improved copy on write functionality within an SSD including providing, in memory of a device, an indirection data structure. The data structure may include a master entry for cloned data, the master entry having a reference to one or more indexes and a clone entry for the cloned data, the cloned entry having at least one of: a reference to a master index, a reference to a next index, and a value indicating an end of a data structure. The techniques may include traversing, using a computer processor, one or more copies of the cloned data using one or more of the references.
    Type: Grant
    Filed: January 17, 2020
    Date of Patent: January 18, 2022
    Assignee: Western Digital Technologies, Inc.
    Inventors: Dylan Mark Dewitt, Adam Michael Espeseth, Colin Christopher McCambridge, David George Dreyer
  • Patent number: 11182091
    Abstract: A method of indirection replay for a flash storage system includes writing data, in a host stream, to blocksets of the flash storage system. The host blocksets are assigned a major sequence number incremented from the most recently closed host blockset. The method includes writing an indirection journal to each host blockset which are associated with the assigned major sequence number. The method includes writing data, in a garbage collection (GC) stream, to other blocksets of the flash storage system. The GC blocksets are assigned a major sequence number, based on the most recently closed host blockset, and a minor sequence number, incremented from the most recently closed GC blockset. The method includes writing an indirection journal to each GC blockset which are associated with the assigned major and minor sequence numbers. The indirection table is constructed by replaying the journals of the blocksets in order of major sequence and minor sequence numbers.
    Type: Grant
    Filed: March 19, 2020
    Date of Patent: November 23, 2021
    Assignee: Western Digital Technologies, Inc.
    Inventors: David George Dreyer, Colin Christopher McCambridge, Phillip Peterson, Sanjay Subbarao
  • Patent number: 11003614
    Abstract: A method includes receiving, by a storage device and from a host device, a set of protocol parameters initialized by the host device. The set of protocol parameters are used to facilitate data transfer between the host device and the storage device. The method also includes determining that a threshold value associated with the data transfer between the host device and the storage device has been satisfied. The method further includes, in response to determining that the threshold value has been satisfied, sending, by the storage device and to the host device, the set of protocol parameters that were received from the host device.
    Type: Grant
    Filed: September 6, 2016
    Date of Patent: May 11, 2021
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Adam Espeseth, Colin Christopher McCambridge
  • Patent number: 10740459
    Abstract: Some examples detect malicious activity on a computing device. A processor in kernel mode detects an event on the computing device. The processor provides a validation request on a kernel-level bus. A bidirectional bridge component transmits the request to a user-level bus. The processor in user mode determines that the event is associated with malicious activity and provides a validation response on the user-level bus. The bridge component transmits the validation response to the kernel-level bus. In some examples, the processor in user mode receives security-relevant information from a system service of the computing device, and analyzes the event based at least in part on the security-relevant information. In some examples, the processor in user mode receives a security query, queries the kernel mode via the bridge component, and responds to the security query indicating that the data stream is associated with malware.
    Type: Grant
    Filed: December 28, 2017
    Date of Patent: August 11, 2020
    Assignee: CrowdStrike, Inc.
    Inventors: David F. Diehl, Milos Petrbok, Colin Christopher McCambridge, Aaron Putnam
  • Publication number: 20200218463
    Abstract: A method of indirection replay for a flash storage system includes writing data, in a host stream, to blocksets of the flash storage system. The host blocksets are assigned a major sequence number incremented from the most recently closed host blockset. The method includes writing an indirection journal to each host blockset which are associated with the assigned major sequence number. The method includes writing data, in a garbage collection (GC) stream, to other blocksets of the flash storage system. The GC blocksets are assigned a major sequence number, based on the most recently closed host blockset, and a minor sequence number, incremented from the most recently closed GC blockset. The method includes writing an indirection journal to each GC blockset which are associated with the assigned major and minor sequence numbers. The indirection table is constructed by replaying the journals of the blocksets in order of major sequence and minor sequence numbers.
    Type: Application
    Filed: March 19, 2020
    Publication date: July 9, 2020
    Inventors: David George DREYER, Colin Christopher MCCAMBRIDGE, Phillip PETERSON, Sanjay SUBBARAO
  • Publication number: 20200150883
    Abstract: Techniques for improved copy on write functionality within an SSD are disclosed. In some embodiments, the techniques may be realized as a method for providing improved copy on write functionality within an SSD including providing, in memory of a device, an indirection data structure. The data structure may include a master entry for cloned data, the master entry having a reference to one or more indexes and a clone entry for the cloned data, the cloned entry having at least one of: a reference to a master index, a reference to a next index, and a value indicating an end of a data structure. The techniques may include traversing, using a computer processor, one or more copies of the cloned data using one or more of the references.
    Type: Application
    Filed: January 17, 2020
    Publication date: May 14, 2020
    Applicant: Western Digital Technologies, Inc.
    Inventors: Dylan Mark DEWITT, Adam Michael ESPESETH, Colin Christopher MCCAMBRIDGE, David George DREYER
  • Patent number: 10635341
    Abstract: A method of indirection replay for a flash storage system includes writing data, in a host stream, to blocksets of the flash storage system. The host blocksets are assigned a major sequence number incremented from the most recently closed host blockset. The method includes writing an indirection journal to each host blockset which are associated with the assigned major sequence number. The method includes writing data, in a garbage collection (GC) stream, to other blocksets of the flash storage system. The GC blocksets are assigned a major sequence number, based on the most recently closed host blockset, and a minor sequence number, incremented from the most recently closed GC blockset. The method includes writing an indirection journal to each GC blockset which are associated with the assigned major and minor sequence numbers. The indirection table is constructed by replaying the journals of the blocksets in order of major sequence and minor sequence numbers.
    Type: Grant
    Filed: April 13, 2018
    Date of Patent: April 28, 2020
    Assignee: Western Digital Technologies, Inc.
    Inventors: David George Dreyer, Colin Christopher McCambridge, Phillip Peterson, Sanjay Subbarao
  • Patent number: 10540106
    Abstract: Techniques for improved copy on write functionality within an SSD are disclosed. In some embodiments, the techniques may be realized as a method for providing improved copy on write functionality within an SSD including providing, in memory of a device, an indirection data structure. The data structure may include a master entry for cloned data, the master entry having a reference to one or more indexes and a clone entry for the cloned data, the cloned entry having at least one of: a reference to a master index, a reference to a next index, and a value indicating an end of a data structure. The techniques may include traversing, using a computer processor, one or more copies of the cloned data using one or more of the references.
    Type: Grant
    Filed: January 22, 2018
    Date of Patent: January 21, 2020
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Dylan Mark Dewitt, Adam Michael Espeseth, Colin Christopher Mccambridge, David George Dreyer
  • Patent number: 10387228
    Abstract: A symmetric, cross-platform, bridge component is described herein. The bridge component creates an interface (through a set of application programming interfaces (APIs)) to enable the sending of data between a pair of components, called “endpoints,” a first endpoint component of the pair being executed in a kernel mode of a computing device, and a second endpoint component of the pair being executed in a user mode of the computing device. A process for sending data between a kernel-level endpoint component and a user-level endpoint component executing on a computing device involves opening a communications port, setting the communications port to a connected state, and sending a message containing the data via the communications port. Data may be transmitted in this manner between the user mode and the kernel mode of the computing device in either direction.
    Type: Grant
    Filed: February 21, 2017
    Date of Patent: August 20, 2019
    Assignee: CrowdStrike, Inc.
    Inventors: Milos Petrbok, Colin Christopher McCambridge
  • Publication number: 20190205533
    Abstract: Some examples detect malicious activity on a computing device. A processor in kernel mode detects an event on the computing device. The processor provides a validation request on a kernel-level bus. A bidirectional bridge component transmits the request to a user-level bus. The processor in user mode determines that the event is associated with malicious activity and provides a validation response on the user-level bus. The bridge component transmits the validation response to the kernel-level bus. In some examples, the processor in user mode receives security-relevant information from a system service of the computing device, and analyzes the event based at least in part on the security-relevant information. In some examples, the processor in user mode receives a security query, queries the kernel mode via the bridge component, and responds to the security query indicating that the data stream is associated with malware.
    Type: Application
    Filed: December 28, 2017
    Publication date: July 4, 2019
    Inventors: David F. Diehl, Milos Petrbok, Colin Christopher McCambridge, Aaron Putnam
  • Patent number: 10339079
    Abstract: A host interface communicates with a non-volatile memory (NVM) device over a bus. The host interface includes a first buffer, a second buffer and a scatter/gather list (SGL). The first buffer stores blocks of application data to be communicated to the storage device. The second buffer stores blocks of protection data added by the host interface with respect to the blocks of application data stored in the first buffer. The SGL utilizes a first descriptor type that includes a first buffer address, a first buffer interleave burst length, and a burst count, and a second descriptor type that includes a second buffer address, and a second buffer interleave burst length, wherein only a first descriptor and a second descriptor is required to interleave application data from the first buffer with protection data from the second buffer.
    Type: Grant
    Filed: June 2, 2014
    Date of Patent: July 2, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Dylan Mark Dewitt, Colin Christopher McCambridge
  • 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: 10108350
    Abstract: An apparatus for implementing an enhanced-write-bandwidth caching stream includes a memory that stores machine instructions and a processor that executes the machine instructions. The apparatus apportions a first address space and a second address space that comprises a logical namespace. The apparatus also subjects the first address space to host-write throttling, and exempts the second address space from host-write throttling. The apparatus further requires that valid data in memory cells corresponding to the second address space be invalidated at an interval not to exceed a number of host writes equaling the capacity of the second address space.
    Type: Grant
    Filed: September 10, 2015
    Date of Patent: October 23, 2018
    Assignee: Western Digital Technologies, Inc.
    Inventors: Adam Michael Espeseth, Colin Christopher McCambridge, David George Dreyer
  • 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: 20180239657
    Abstract: A symmetric, cross-platform, bridge component is described herein. The bridge component creates an interface (through a set of application programming interfaces (APIs)) to enable the sending of data between a pair of components, called “endpoints,” a first endpoint component of the pair being executed in a kernel mode of a computing device, and a second endpoint component of the pair being executed in a user mode of the computing device. A process for sending data between a kernel-level endpoint component and a user-level endpoint component executing on a computing device involves opening a communications port, setting the communications port to a connected state, and sending a message containing the data via the communications port. Data may be transmitted in this manner between the user mode and the kernel mode of the computing device in either direction.
    Type: Application
    Filed: February 21, 2017
    Publication date: August 23, 2018
    Inventors: Milos Petrbok, Colin Christopher McCambridge
  • Publication number: 20180232176
    Abstract: A method of indirection replay for a flash storage system includes writing data, in a host stream, to blocksets of the flash storage system. The host blocksets are assigned a major sequence number incremented from the most recently closed host blockset. The method includes writing an indirection journal to each host blockset which are associated with the assigned major sequence number. The method includes writing data, in a garbage collection (GC) stream, to other blocksets of the flash storage system. The GC blocksets are assigned a major sequence number, based on the most recently closed host blockset, and a minor sequence number, incremented from the most recently closed GC blockset. The method includes writing an indirection journal to each GC blockset which are associated with the assigned major and minor sequence numbers. The indirection table is constructed by replaying the journals of the blocksets in order of major sequence and minor sequence numbers.
    Type: Application
    Filed: April 13, 2018
    Publication date: August 16, 2018
    Inventors: David George DREYER, Colin Christopher MCCAMBRIDGE, Phillip PETERSON, Sanjay SUBBARAO
  • Patent number: 10048876
    Abstract: An apparatus for implementing an enhanced-write-bandwidth caching stream includes a memory that stores machine instructions and a processor that executes the machine instructions. The apparatus receives a first host write stream and a second host write stream that comprises latency-sensitive host write requests. The apparatus also subjects the first host write stream to host-write throttling, and exempts the second host write stream from host-write throttling. The apparatus further requires that the second host write stream invalidate logical blocks in an order corresponding to a previous order in which the respective logical blocks were previously programmed.
    Type: Grant
    Filed: September 10, 2015
    Date of Patent: August 14, 2018
    Assignee: Western Digital Technologies, Inc.
    Inventors: Adam Michael Espeseth, Colin Christopher McCambridge, David George Dreyer
  • Publication number: 20180150249
    Abstract: Techniques for improved copy on write functionality within an SSD are disclosed. In some embodiments, the techniques may be realized as a method for providing improved copy on write functionality within an SSD including providing, in memory of a device, an indirection data structure. The data structure may include a master entry for cloned data, the master entry having a reference to one or more indexes and a clone entry for the cloned data, the cloned entry having at least one of: a reference to a master index, a reference to a next index, and a value indicating an end of a data structure. The techniques may include traversing, using a computer processor, one or more copies of the cloned data using one or more of the references.
    Type: Application
    Filed: January 22, 2018
    Publication date: May 31, 2018
    Applicant: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Dylan Mark DEWITT, Adam Michael ESPESETH, Colin Christopher MCCAMBRIDGE, David George DREYER
  • Patent number: 9946489
    Abstract: A method of indirection replay for a flash storage system includes writing data, in a host stream, to blocksets of the flash storage system. The host blocksets are assigned a major sequence number incremented from the most recently closed host blockset. The method includes writing an indirection journal to each host blockset which are associated with the assigned major sequence number. The method includes writing data, in a garbage collection (GC) stream, to other blocksets of the flash storage system. The GC blocksets are assigned a major sequence number, based on the most recently closed host blockset, and a minor sequence number, incremented from the most recently closed GC blockset. The method includes writing an indirection journal to each GC blockset which are associated with the assigned major and minor sequence numbers. The indirection table is constructed by replaying the journals of the blocksets in order of major sequence and minor sequence numbers.
    Type: Grant
    Filed: July 27, 2016
    Date of Patent: April 17, 2018
    Assignee: Western Digital Technologies, Inc.
    Inventors: David George Dreyer, Colin Christopher McCambridge, Phillip Peterson, Sanjay Subbarao