Patents by Inventor Phillip Peterson

Phillip Peterson 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: 11481121
    Abstract: An indirection mapping data structure can maintain a mapping between logical block addresses used by a host computer and physical data storage locations on a solid state drive. Changes to the indirection mapping data structure can be stored in journals. When a journal is full, the journal can be stored to a predetermined location on the cluster block determined based on the number of entries stored by the journal, leading to a number of journals scattered throughout the cluster block at predetermined locations. Each physical chunk of media, whether written with data or marked as defective is journaled. Such a journaling scheme, where the journal locations are predetermined and each physical chunk of media is journaled is referred to as physical media-aware spatially coupled journaling. During replay the spatially coupled journals can be retrieved from the predefined locations within cluster blocks and used to rebuild the indirection mapping data structure.
    Type: Grant
    Filed: December 26, 2019
    Date of Patent: October 25, 2022
    Assignee: Amazon Technologies, Inc.
    Inventors: Phillip Peterson, Leonid Baryudin, Daniel Sladic, Sujan Biswas
  • Patent number: 11347413
    Abstract: An opportunistic storage service, or system, identifies currently unused storage capacity on a plurality of physical storage components of computing devices dispersed throughout a provider network. In some embodiments, the currently unused storage capacity is provisioned as primary storage, but is not currently being used to store primary storage data. The opportunistic storage service advertises at least a portion of the currently unused storage capacity as opportunistic storage capacity and provisions the opportunistic storage capacity subject to revocation if additional storage capacity of the physical storage components is needed to store primary storage data to fulfill a primary storage commitment.
    Type: Grant
    Filed: September 4, 2020
    Date of Patent: May 31, 2022
    Assignee: Amazon Technologies, Inc.
    Inventors: Christopher Nathan Watson, Leonid Baryudin, Tyler Huston Doornenbal, Truong Nguyen, Phillip Peterson, Wenzhou Chen, Christopher J. Douglass
  • 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
  • Publication number: 20200401329
    Abstract: An opportunistic storage service, or system, identifies currently unused storage capacity on a plurality of physical storage components of computing devices dispersed throughout a provider network. In some embodiments, the currently unused storage capacity is provisioned as primary storage, but is not currently being used to store primary storage data. The opportunistic storage service advertises at least a portion of the currently unused storage capacity as opportunistic storage capacity and provisions the opportunistic storage capacity subject to revocation if additional storage capacity of the physical storage components is needed to store primary storage data to fulfill a primary storage commitment.
    Type: Application
    Filed: September 4, 2020
    Publication date: December 24, 2020
    Applicant: Amazon Technologies, Inc.
    Inventors: Christopher Nathan Watson, Leonid Baryudin, Tyler Huston Doornenbal, Truong Nguyen, Phillip Peterson, Wenzhou Chen, Christopher J. Douglass
  • Patent number: 10768835
    Abstract: An opportunistic storage service, or system, identifies currently unused storage capacity on a plurality of physical storage components of computing devices dispersed throughout a provider network. In some embodiments, the currently unused storage capacity is provisioned as primary storage, but is not currently being used to store primary storage data. The opportunistic storage service advertises at least a portion of the currently unused storage capacity as opportunistic storage capacity and provisions the opportunistic storage capacity subject to revocation if additional storage capacity of the physical storage components is needed to store primary storage data to fulfill a primary storage commitment.
    Type: Grant
    Filed: June 27, 2018
    Date of Patent: September 8, 2020
    Assignee: Amazon Technologies, Inc.
    Inventors: Christopher Nathan Watson, Leonid Baryudin, Tyler Huston Doornenbal, Truong Nguyen, Phillip Peterson, Wenzhou Chen, Christopher J. Douglass
  • 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: 20200133519
    Abstract: An indirection mapping data structure can maintain a mapping between logical block addresses used by a host computer and physical data storage locations on a solid state drive. Changes to the indirection mapping data structure can be stored in journals. When a journal is full, the journal can be stored to a predetermined location on the cluster block determined based on the number of entries stored by the journal, leading to a number of journals scattered throughout the cluster block at predetermined locations. Each physical chunk of media, whether written with data or marked as defective is journaled. Such a journaling scheme, where the journal locations are predetermined and each physical chunk of media is journaled is referred to as physical media-aware spatially coupled journaling. During replay the spatially coupled journals can be retrieved from the predefined locations within cluster blocks and used to rebuild the indirection mapping data structure.
    Type: Application
    Filed: December 26, 2019
    Publication date: April 30, 2020
    Inventors: Phillip Peterson, Leonid Baryudin, Daniel Sladic, Sujan Biswas
  • 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: 10613973
    Abstract: In a solid state drive, a journal may be associated with a cluster block, such that the journal stores updates to an indirection mapping data structure for that cluster block. The journals may be stored on the cluster block. During garbage collection these spatially coupled journals can be retrieved and used to determine the data written to each media location within the cluster block. Logical and physical address information can be determined from the journal content, and used to compare against the current mapping in the indirection mapping data structure, to determine the validity of each media location. Since the journals are physical media aware, this comparison can occur without the consultation of a bad block tracking structure. When a physical media address is deemed to hold valid data it will be relocated as part of garbage collection processing.
    Type: Grant
    Filed: December 28, 2016
    Date of Patent: April 7, 2020
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: Leonid Baryudin, Phillip Peterson, Daniel Sladic
  • Patent number: 10540102
    Abstract: An indirection mapping data structure can maintain a mapping between logical block addresses used by a host computer and physical data storage locations on a solid state drive. Changes to the indirection mapping data structure can be stored in journals. When a journal is full, the journal can be stored to a predetermined location on the cluster block determined based on the number of entries stored by the journal, leading to a number of journals scattered throughout the cluster block at predetermined locations. Each physical chunk of media, whether written with data or marked as defective is journaled. Such a journaling scheme, where the journal locations are predetermined and each physical chunk of media is journaled is referred to as physical media-aware spatially coupled journaling. During replay the spatially coupled journals can be retrieved from the predefined locations within cluster blocks and used to rebuild the indirection mapping data structure.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: January 21, 2020
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: Phillip Peterson, Leonid Baryudin, Daniel Sladic, Sujan Biswas
  • Patent number: 10489289
    Abstract: An indirection mapping data structure can maintain a mapping between logical block addresses used by a host computer and physical data storage locations on an SSD. The indirection mapping data structure can include a existence map as well as a user data map. Trim data may be received from a host computer or other entity and may be used to mark particular logical addresses that are not in use as trimmed. To ensure trim data persists even if the indirection mapping data structure is lost, the existence map may be regularly stored to disk. The existence map can be journaled in the same way as user data stored to disk. When the indirection mapping data structure is rebuilt, the spatially coupled journals can be retrieved from the predefined scattered locations and used to identify the stored trim data which can be used to rebuild the existence map.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: November 26, 2019
    Assignee: Amazon Technologies, Inc.
    Inventors: Phillip Peterson, Leonid Baryudin
  • Patent number: 10346072
    Abstract: Aspects of dislocated charge storage for power loss protection in non-volatile memory systems are described. A system includes a power supply having an output power stage with bulk capacitance to supply power for a period of time after a power supply failure. The system also includes a network storage interface device and a non-volatile memory media card both coupled to the power supply for power. The power supply is configured to generate a power loss alert in response to the power supply failure. In turn, the network storage interface device is configured to perform a power loss data protection procedure with the non-volatile memory media card based on the power loss alert and during the period of time that the bulk capacitance can supply power after the power supply failure. The additional capacitance typically needed for power loss protection features is located apart from the non-volatile memory media cards.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: July 9, 2019
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: Phillip Peterson, Max Jesse Wishman, Christopher Nathan Watson
  • Patent number: 10289321
    Abstract: Spatially coupled journals include information for every portion of physical media, including defective, or “bad”, blocks. Because data cannot be stored to bad blocks, a bad block table is needed before a solid state drive (SSD) can be accessed. Using the information already stored in the journals, the bad block table can be rebuilt following a loss of power. To ensure the journals can be located, a small seed can be stored in off band storage. The seed can include information pointing to a boot catalog stored on the SSD. The boot catalog can be used to determine the locations of journals, which may vary from their predetermined locations depending on the bad blocks of the drive. By storing a small seed, rather than an entire bad block table, the size of external storage needed to maintain the bad block table is reduced.
    Type: Grant
    Filed: May 5, 2017
    Date of Patent: May 14, 2019
    Assignee: AMAZON TECHNOLOGIES, INC.
    Inventors: Leonid Baryudin, Phillip Peterson, Daniel Sladic
  • Patent number: 10289408
    Abstract: Techniques are described for managing firmware versions for a storage device. In one example, a storage device includes a memory and a controller. The controller is configured to execute a first version of a firmware, receive information for a second version of a firmware that is different from the first version, determine, based on the information for the second version of the firmware, whether the version of the second version of the firmware is stored in a system area of the memory, responsive to determining that the second version of the firmware is stored in the system area, load the second version of the firmware, responsive to determining that the second version of the firmware is not stored in the system area, store the second version of the firmware in the system area, update an active firmware index, and execute the second version of the firmware.
    Type: Grant
    Filed: August 2, 2016
    Date of Patent: May 14, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Darin E. Gerhart, Cory Lappi, Phillip Peterson, William J. Walker
  • 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: 9965198
    Abstract: Systems and methods for internally preconditioning SSDs for various workloads are disclosed. One such method involves (1) receiving preconditioning parameters including an invalidity distribution across ribbons, a transfer size of workloads, and a randomness of workloads, (2) generating workload data including a percentage of random data and a percentage of non-random data, where the percentages are based on the randomness of workloads parameter, (3) determining preselected physical block addresses (PBAs) of a ribbon using the invalidity distribution parameter, (4) writing a portion of the workload data to each of the preselected PBAs of the ribbon using a preselected transfer size until the ribbon is full, where the transfer size is based on the transfer size of workloads parameter, (5) marking all PBAs of the ribbon that were not preselected using the invalidity distribution parameter as being invalid, and (6) repeating (2) to (5) until a preselected end condition is met.
    Type: Grant
    Filed: July 21, 2016
    Date of Patent: May 8, 2018
    Assignee: Western Digital Technologies, Inc.
    Inventors: Timothy Glen Hallett, Anton John Neu, Phillip Peterson
  • 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
  • Publication number: 20180095680
    Abstract: An indirection mapping data structure can maintain a mapping between logical block addresses used by a host computer and physical data storage locations on a solid state drive. Changes to the indirection mapping data structure can be stored in journals. When a journal is full, the journal can be stored to a predetermined location on the cluster block determined based on the number of entries stored by the journal, leading to a number of journals scattered throughout the cluster block at predetermined locations. Each physical chunk of media, whether written with data or marked as defective is journaled. Such a journaling scheme, where the journal locations are predetermined and each physical chunk of media is journaled is referred to as physical media-aware spatially coupled journaling. During replay the spatially coupled journals can be retrieved from the predefined locations within cluster blocks and used to rebuild the indirection mapping data structure.
    Type: Application
    Filed: September 30, 2016
    Publication date: April 5, 2018
    Inventors: Phillip Peterson, Leonid Baryudin, Daniel Sladic, Sujan Biswas
  • 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: 20180024753
    Abstract: Systems and methods for internally preconditioning SSDs for various workloads are disclosed. One such method involves (1) receiving preconditioning parameters including an invalidity distribution across ribbons, a transfer size of workloads, and a randomness of workloads, (2) generating workload data including a percentage of random data and a percentage of non-random data, where the percentages are based on the randomness of workloads parameter, (3) determining preselected physical block addresses (PBAs) of a ribbon using the invalidity distribution parameter, (4) writing a portion of the workload data to each of the preselected PBAs of the ribbon using a preselected transfer size until the ribbon is full, where the transfer size is based on the transfer size of workloads parameter, (5) marking all PBAs of the ribbon that were not preselected using the invalidity distribution parameter as being invalid, and (6) repeating (2) to (5) until a preselected end condition is met.
    Type: Application
    Filed: July 21, 2016
    Publication date: January 25, 2018
    Inventors: Timothy Glen Hallett, Anton John Neu, Phillip Peterson