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: 11481121Abstract: 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: GrantFiled: December 26, 2019Date of Patent: October 25, 2022Assignee: Amazon Technologies, Inc.Inventors: Phillip Peterson, Leonid Baryudin, Daniel Sladic, Sujan Biswas
-
Patent number: 11347413Abstract: 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: GrantFiled: September 4, 2020Date of Patent: May 31, 2022Assignee: Amazon Technologies, Inc.Inventors: Christopher Nathan Watson, Leonid Baryudin, Tyler Huston Doornenbal, Truong Nguyen, Phillip Peterson, Wenzhou Chen, Christopher J. Douglass
-
Patent number: 11182091Abstract: 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: GrantFiled: March 19, 2020Date of Patent: November 23, 2021Assignee: Western Digital Technologies, Inc.Inventors: David George Dreyer, Colin Christopher McCambridge, Phillip Peterson, Sanjay Subbarao
-
Publication number: 20200401329Abstract: 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: ApplicationFiled: September 4, 2020Publication date: December 24, 2020Applicant: Amazon Technologies, Inc.Inventors: Christopher Nathan Watson, Leonid Baryudin, Tyler Huston Doornenbal, Truong Nguyen, Phillip Peterson, Wenzhou Chen, Christopher J. Douglass
-
Patent number: 10768835Abstract: 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: GrantFiled: June 27, 2018Date of Patent: September 8, 2020Assignee: Amazon Technologies, Inc.Inventors: Christopher Nathan Watson, Leonid Baryudin, Tyler Huston Doornenbal, Truong Nguyen, Phillip Peterson, Wenzhou Chen, Christopher J. Douglass
-
Publication number: 20200218463Abstract: 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: ApplicationFiled: March 19, 2020Publication date: July 9, 2020Inventors: David George DREYER, Colin Christopher MCCAMBRIDGE, Phillip PETERSON, Sanjay SUBBARAO
-
Publication number: 20200133519Abstract: 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: ApplicationFiled: December 26, 2019Publication date: April 30, 2020Inventors: Phillip Peterson, Leonid Baryudin, Daniel Sladic, Sujan Biswas
-
Patent number: 10635341Abstract: 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: GrantFiled: April 13, 2018Date of Patent: April 28, 2020Assignee: Western Digital Technologies, Inc.Inventors: David George Dreyer, Colin Christopher McCambridge, Phillip Peterson, Sanjay Subbarao
-
Patent number: 10613973Abstract: 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: GrantFiled: December 28, 2016Date of Patent: April 7, 2020Assignee: AMAZON TECHNOLOGIES, INC.Inventors: Leonid Baryudin, Phillip Peterson, Daniel Sladic
-
Patent number: 10540102Abstract: 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: GrantFiled: September 30, 2016Date of Patent: January 21, 2020Assignee: AMAZON TECHNOLOGIES, INC.Inventors: Phillip Peterson, Leonid Baryudin, Daniel Sladic, Sujan Biswas
-
Patent number: 10489289Abstract: 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: GrantFiled: September 30, 2016Date of Patent: November 26, 2019Assignee: Amazon Technologies, Inc.Inventors: Phillip Peterson, Leonid Baryudin
-
Patent number: 10346072Abstract: 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: GrantFiled: September 30, 2016Date of Patent: July 9, 2019Assignee: AMAZON TECHNOLOGIES, INC.Inventors: Phillip Peterson, Max Jesse Wishman, Christopher Nathan Watson
-
Patent number: 10289321Abstract: 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: GrantFiled: May 5, 2017Date of Patent: May 14, 2019Assignee: AMAZON TECHNOLOGIES, INC.Inventors: Leonid Baryudin, Phillip Peterson, Daniel Sladic
-
Patent number: 10289408Abstract: 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: GrantFiled: August 2, 2016Date of Patent: May 14, 2019Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.Inventors: Darin E. Gerhart, Cory Lappi, Phillip Peterson, William J. Walker
-
Publication number: 20180232176Abstract: 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: ApplicationFiled: April 13, 2018Publication date: August 16, 2018Inventors: David George DREYER, Colin Christopher MCCAMBRIDGE, Phillip PETERSON, Sanjay SUBBARAO
-
Patent number: 9965198Abstract: 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: GrantFiled: July 21, 2016Date of Patent: May 8, 2018Assignee: Western Digital Technologies, Inc.Inventors: Timothy Glen Hallett, Anton John Neu, Phillip Peterson
-
Patent number: 9946489Abstract: 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: GrantFiled: July 27, 2016Date of Patent: April 17, 2018Assignee: Western Digital Technologies, Inc.Inventors: David George Dreyer, Colin Christopher McCambridge, Phillip Peterson, Sanjay Subbarao
-
Publication number: 20180095680Abstract: 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: ApplicationFiled: September 30, 2016Publication date: April 5, 2018Inventors: Phillip Peterson, Leonid Baryudin, Daniel Sladic, Sujan Biswas
-
Publication number: 20180032277Abstract: 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: ApplicationFiled: July 27, 2016Publication date: February 1, 2018Inventors: David George DREYER, Colin Christopher McCAMBRIDGE, Phillip PETERSON, Sanjay SUBBARAO
-
Publication number: 20180024753Abstract: 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: ApplicationFiled: July 21, 2016Publication date: January 25, 2018Inventors: Timothy Glen Hallett, Anton John Neu, Phillip Peterson