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).

  • 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
  • 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
  • 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
  • Publication number: 20180032277
    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: July 27, 2016
    Publication date: February 1, 2018
    Inventors: David George DREYER, Colin Christopher McCAMBRIDGE, Phillip PETERSON, Sanjay SUBBARAO
  • Publication number: 20170075590
    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: Application
    Filed: September 10, 2015
    Publication date: March 16, 2017
    Inventors: Adam Michael ESPESETH, Colin Christopher McCAMBRIDGE, David George DREYER
  • Publication number: 20170075591
    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: Application
    Filed: September 10, 2015
    Publication date: March 16, 2017
    Inventors: Adam Michael ESPESETH, Colin Christopher McCAMBRIDGE, David George DREYER
  • Publication number: 20160246521
    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: February 25, 2015
    Publication date: August 25, 2016
    Applicant: HGST Netherlands B.V.
    Inventors: Dylan Mark DEWITT, Adam Michael ESPESETH, Colin Christopher MCCAMBRIDGE, David George DREYER
  • Publication number: 20160210062
    Abstract: 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: Application
    Filed: March 31, 2016
    Publication date: July 21, 2016
    Inventors: Colin Christopher MCCAMBRIDGE, Christopher William BARR, Adam Christopher GEML
  • Publication number: 20150347012
    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: Application
    Filed: June 2, 2014
    Publication date: December 3, 2015
    Applicant: HGST Netherlands B.V.
    Inventors: Dylan Mark DEWITT, Colin Christopher McCAMBRIDGE
  • Publication number: 20150324118
    Abstract: 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: Application
    Filed: May 7, 2014
    Publication date: November 12, 2015
    Applicant: HGST NETHERLANDS B.V.
    Inventors: Colin Christopher MCCAMBRIDGE, Christopher William BARR, Adam Christopher GEML