Patents by Inventor Michael Zappe
Michael Zappe 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: 11960412Abstract: A method for managing data in a NAND flash storage system is provided. The method includes one or more of receiving an empty data segment directive at a storage controller, returning a data string including data of a predetermined logic level in response to a read command requesting to read data associated with a logical identifier included in the empty data segment directive, maintaining an index of mapping between the logical identifier and a physical storage location, updating the index to indicate data at the physical storage location does not need to be preserved, monitoring one or more physical storage locations, including the physical storage location, to determine a percentage of the one or more physical storage locations that do not need to be preserved, and initiating garbage collection on the one or more physical storage locations in response to the percentage reaching a threshold. The empty data segment directive includes a logical identifier associated with the physical storage location.Type: GrantFiled: October 19, 2022Date of Patent: April 16, 2024Inventors: David Flynn, Jonathan Thatcher, Michael Zappe
-
Patent number: 11847066Abstract: A system is provided. The system includes a solid state storage including a plurality of banks, a first controller that directs one or more commands to a queue of a set of a plurality of queues, and a second controller configured to receive the one or more commands from the plurality of queues. The one or more commands are separated into the set of the plurality of queues based on a command type of each command of the one or more commands, and each set of the plurality of queues includes a first queue configured to store management commands and a second queue configured to store other commands. Each bank of the plurality of banks corresponds to a different set of the plurality of queues. The second controller is configured to generate subcommands based on the commands and direct the subcommands to a bank of the solid state storage.Type: GrantFiled: December 19, 2022Date of Patent: December 19, 2023Inventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, Michael Zappe
-
Publication number: 20230144287Abstract: A method for managing data in a NAND flash storage system is provided. The method includes one or more of receiving an empty data segment directive at a storage controller, returning a data string including data of a predetermined logic level in response to a read command requesting to read data associated with a logical identifier included in the empty data segment directive, maintaining an index of mapping between the logical identifier and a physical storage location, updating the index to indicate data at the physical storage location does not need to be preserved, monitoring one or more physical storage locations, including the physical storage location, to determine a percentage of the one or more physical storage locations that do not need to be preserved, and initiating garbage collection on the one or more physical storage locations in response to the percentage reaching a threshold. The empty data segment directive includes a logical identifier associated with the physical storage location.Type: ApplicationFiled: October 19, 2022Publication date: May 11, 2023Applicant: Unification Technologies LLCInventors: David Flynn, Jonathan Thatcher, Michael Zappe
-
Publication number: 20230134374Abstract: A system is provided. The system includes a solid state storage including a plurality of banks, a first controller that directs one or more commands to a queue of a set of a plurality of queues, and a second controller configured to receive the one or more commands from the plurality of queues. The one or more commands are separated into the set of the plurality of queues based on a command type of each command of the one or more commands, and each set of the plurality of queues includes a first queue configured to store management commands and a second queue configured to store other commands. Each bank of the plurality of banks corresponds to a different set of the plurality of queues. The second controller is configured to generate subcommands based on the commands and direct the subcommands to a bank of the solid state storage.Type: ApplicationFiled: December 19, 2022Publication date: May 4, 2023Applicant: Unification Technologies LLCInventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, Michael Zappe
-
Patent number: 11640359Abstract: An apparatus, system, and method are disclosed for managing a non-volatile storage medium. A storage controller receives a message that identifies data that no longer needs to be retained on the non-volatile storage medium. The data may be identified using a logical identifier. The message may comprise a hint, directive, or other indication that the data has been erased and/or deleted. In response to the message, the storage controller records an indication that the contents of a physical storage location and/or physical address associated with the logical identifier do not need to be preserved on the non-volatile storage medium.Type: GrantFiled: August 16, 2019Date of Patent: May 2, 2023Assignee: Unification Technologies LLCInventors: David Flynn, Jonathan Thatcher, Michael Zappe
-
Patent number: 11573909Abstract: An apparatus, system, and method are disclosed for efficiently managing commands in a solid-state storage device that includes a solid-state storage arranged in two or more banks. Each bank is separately accessible and includes two or more solid-state storage elements accessed in parallel by a storage input/output bus. The solid-state storage includes solid-state, non-volatile memory. The solid-state storage device includes a bank interleave that directs one or more commands to two or more queues, where the one or more commands are separated by command type into the queues. Each bank includes a set of queues in the bank interleave controller. Each set of queues includes a queue for each command type. The bank interleave controller coordinates among the banks execution of the commands stored in the queues, where a command of a first type executes on one bank while a command of a second type executes on a second bank.Type: GrantFiled: June 9, 2021Date of Patent: February 7, 2023Assignee: Unification Technologies LLCInventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, Michael Zappe
-
Patent number: 11182212Abstract: Data of a vector storage request pertaining to one or more disjoint, non-adjacent, and/or non-contiguous logical identifier ranges are stored contiguously within a log on a non-volatile storage medium. A request consolidation module modifies one or more sub-requests of the vector storage request in response to other, cached storage requests. Data of an atomic vector storage request may comprise persistent indicators, such as persistent metadata flags, to identify data pertaining to incomplete atomic storage requests. A restart recovery module identifies and excludes data of incomplete atomic operations.Type: GrantFiled: April 1, 2019Date of Patent: November 23, 2021Assignee: SANDISK TECHNOLOGIES LLCInventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
-
Publication number: 20210294753Abstract: An apparatus, system, and method are disclosed for efficiently managing commands in a solid-state storage device that includes a solid-state storage arranged in two or more banks. Each bank is separately accessible and includes two or more solid-state storage elements accessed in parallel by a storage input/output bus. The solid-state storage includes solid-state, non-volatile memory. The solid-state storage device includes a bank interleave that directs one or more commands to two or more queues, where the one or more commands are separated by command type into the queues. Each bank includes a set of queues in the bank interleave controller. Each set of queues includes a queue for each command type. The bank interleave controller coordinates among the banks execution of the commands stored in the queues, where a command of a first type executes on one bank while a command of a second type executes on a second bank.Type: ApplicationFiled: June 9, 2021Publication date: September 23, 2021Inventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, Michael Zappe
-
Patent number: 11061825Abstract: An apparatus, system, and method are disclosed for efficiently managing commands in a solid-state storage device that includes a solid-state storage arranged in two or more banks. Each bank is separately accessible and includes two or more solid-state storage elements accessed in parallel by a storage input/output bus. The solid-state storage includes solid-state, non-volatile memory. The solid-state storage device includes a bank interleave that directs one or more commands to two or more queues, where the one or more commands are separated by command type into the queues. Each bank includes a set of queues in the bank interleave controller. Each set of queues includes a queue for each command type. The bank interleave controller coordinates among the banks execution of the commands stored in the queues, where a command of a first type executes on one bank while a command of a second type executes on a second bank.Type: GrantFiled: January 10, 2017Date of Patent: July 13, 2021Assignee: Unification Technologies LLCInventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, Michael Zappe
-
Publication number: 20190370185Abstract: An apparatus, system, and method are disclosed for managing a non-volatile storage medium. A storage controller receives a message that identifies data that no longer needs to be retained on the non-volatile storage medium. The data may be identified using a logical identifier. The message may comprise a hint, directive, or other indication that the data has been erased and/or deleted. In response to the message, the storage controller records an indication that the contents of a physical storage location and/or physical address associated with the logical identifier do not need to be preserved on the non-volatile storage medium.Type: ApplicationFiled: August 16, 2019Publication date: December 5, 2019Inventors: David Flynn, Jonathan Thatcher, Michael Zappe
-
Patent number: 10387327Abstract: An apparatus, system, and method are disclosed for managing a non-volatile storage medium. A storage controller receives a message that identifies data that no longer needs to be retained on the non-volatile storage medium. The data may be identified using a logical identifier. The message may comprise a hint, directive, or other indication that the data has been erased and/or deleted. In response to the message, the storage controller records an indication that the contents of a physical storage location and/or physical address associated with the logical identifier do not need to be preserved on the non-volatile storage medium.Type: GrantFiled: August 4, 2016Date of Patent: August 20, 2019Assignee: FIO Semiconductor Technologies, LLCInventors: David Flynn, Jonathan Thatcher, Michael Zappe
-
Patent number: 10387328Abstract: An apparatus, system, and method are disclosed for managing a non-volatile storage medium. A storage controller receives a message that identifies data that no longer needs to be retained on the non-volatile storage medium. The data may be identified using a logical identifier. The message may comprise a hint, directive, or other indication that the data has been erased and/or deleted. In response to the message, the storage controller records an indication that the contents of a physical storage location and/or physical address associated with the logical identifier do not need to be preserved on the non-volatile storage medium.Type: GrantFiled: March 15, 2017Date of Patent: August 20, 2019Assignee: FIO Semiconductor Technologies, LLCInventors: David Flynn, Jonathan Thatcher, Michael Zappe
-
Publication number: 20190235925Abstract: Data of a vector storage request pertaining to one or more disjoint, non-adjacent, and/or non-contiguous logical identifier ranges are stored contiguously within a log on a non-volatile storage medium. A request consolidation module modifies one or more sub-requests of the vector storage request in response to other, cached storage requests. Data of an atomic vector storage request may comprise persistent indicators, such as persistent metadata flags, to identify data pertaining to incomplete atomic storage requests. A restart recovery module identifies and excludes data of incomplete atomic operations.Type: ApplicationFiled: April 1, 2019Publication date: August 1, 2019Applicant: SanDisk Technologies LLCInventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
-
Publication number: 20190171581Abstract: One method includes streaming a data segment to a write buffer corresponding to a virtual page including at least two physical pages. Each physical page is defined within a respective solid-state storage element. The method also includes programming contents of the write buffer to the virtual page, such that a first portion of the data segment is programmed to a first one of the physical pages, and a second portion of the data segment is programmed to a second one of the physical pages.Type: ApplicationFiled: November 29, 2018Publication date: June 6, 2019Inventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, John Walker, Michael Zappe
-
Patent number: 10296220Abstract: Data of a vector storage request pertaining to one or more disjoint, non-adjacent, and/or non-contiguous logical identifier ranges are stored contiguously within a log on a non-volatile storage medium. A request consolidation module modifies one or more sub-requests of the vector storage request in response to other, cached storage requests. Data of an atomic vector storage request may comprise persistent indicators, such as persistent metadata flags, to identify data pertaining to incomplete atomic storage requests. A restart recovery module identifies and excludes data of incomplete atomic operations.Type: GrantFiled: January 19, 2016Date of Patent: May 21, 2019Assignee: SANDISK TECHNOLOGIES LLCInventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
-
Publication number: 20190073296Abstract: Data is stored on a non-volatile storage media in a sequential, log-based format. The formatted data defines an ordered sequence of storage operations performed on the non-volatile storage media. A storage layer maintains volatile metadata, which may include a forward index associating logical identifiers with respective physical storage units on the non-volatile storage media. The volatile metadata may be reconstructed from the ordered sequence of storage operations. Persistent notes may be used to maintain consistency between the volatile metadata and the contents of the non-volatile storage media. Persistent notes may identify data that does not need to be retained on the non-volatile storage media and/or is no longer valid.Type: ApplicationFiled: November 1, 2018Publication date: March 7, 2019Inventors: David Atkisson, David Nellans, David Flynn, Jens Axboe, Michael Zappe
-
Patent number: 10146700Abstract: One apparatus includes a storage division selection module configured to select a storage division of a solid-state storage medium for recovery. The solid-state storage medium includes a plurality of storage divisions. Each storage division includes a plurality of storage locations. The apparatus also includes an erase module configured to erase the selected storage division. The apparatus includes a storage division recovery module configured to store a sequence indicator in the erased storage division. The sequence indicator is indicative of an ordered sequence of the plurality of storage divisions, and the sequence indicator is determined by reading information stored with data on the plurality of storage divisions.Type: GrantFiled: September 15, 2016Date of Patent: December 4, 2018Assignee: LONGITUDE ENTERPRISE FLASH S.A.R.L.Inventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, John Walker, Michael Zappe
-
Patent number: 10133663Abstract: Data is stored on a non-volatile storage media in a sequential, log-based format. The formatted data defines an ordered sequence of storage operations performed on the non-volatile storage media. A storage layer maintains volatile metadata, which may include a forward index associating logical identifiers with respective physical storage units on the non-volatile storage media. The volatile metadata may be reconstructed from the ordered sequence of storage operations. Persistent notes may be used to maintain consistency between the volatile metadata and the contents of the non-volatile storage media. Persistent notes may identify data that does not need to be retained on the non-volatile storage media and/or is no longer valid.Type: GrantFiled: October 3, 2013Date of Patent: November 20, 2018Assignee: Longitude Enterprise Flash S.A.R.L.Inventors: David Atkisson, David Nellans, David Flynn, Jens Axboe, Michael Zappe
-
Patent number: 10133662Abstract: A storage controller is configured to implement an atomic storage operation comprising a plurality of separate storage operations on a non-volatile storage medium. The storage controller may store persistent indicators to identify data that pertains to the atomic storage operation. An invalid shutdown may occur before the atomic storage operation is complete. A restart and recovery operation comprises a first scan of the non-volatile storage medium to identify data of the failed atomic storage operation. A physical trim note is stored on the non-volatile storage medium to identify the data of the failed atomic storage operation. The data may be identified by media address. Storage metadata is reconstructed in a second scan, which excludes the data and/or operations of the failed atomic storage operation.Type: GrantFiled: June 29, 2012Date of Patent: November 20, 2018Assignee: SANDISK TECHNOLOGIES LLCInventors: James G. Peterson, Ashish Batwara, Nisha Talagala, Michael Zappe
-
Patent number: 9824027Abstract: An apparatus and system are disclosed for a storage area network (“SAN”). In one embodiment, a computer system includes an internal storage device and an internal storage controller. In this embodiment, the internal storage controller is configured to implement a SAN that includes at least the internal storage device and a storage device external to the computer system. In this embodiment, the internal storage controller is further configured to service a storage request received from a client that involves data stored by the internal storage device. In this embodiment, the internal storage controller is configured to communicate with the external storage device via a network.Type: GrantFiled: July 11, 2013Date of Patent: November 21, 2017Assignee: SANDISK TECHNOLOGIES LLCInventors: David Flynn, David Atkisson, Bert Lagerstedt, John Strasser, Jonathan Thatcher, Michael Zappe