Patents by Inventor Nick Piggin
Nick Piggin 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: 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
-
Patent number: 10558561Abstract: A storage layer may be configured to over-provision logical storage resources to objects. The storage layer may provision the resources in response to, inter alia, a request to open and/or create a zero-length file. The storage layer may be further configured to store data of the objects in a contextual format configured to associate the data with respective logical identifiers. The storage layer may determine an actual, storage size of the object based on the associations stored on the stored associations. Storage clients may rely on the storage layer to determine the size of the object and, as such, may defer and/or eliminate updates to persistent metadata.Type: GrantFiled: April 15, 2014Date of Patent: February 11, 2020Assignee: SANDISK TECHNOLOGIES LLCInventors: Nick Piggin, Santhosh Koundinya, Nisha Talagala
-
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
-
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
-
Patent number: 10289545Abstract: Apparatuses, systems, methods, and computer program products are disclosed for hybrid checkpointed memory. An extended memory module uses volatile memory of a host and a non-volatile memory medium as virtual memory for the host. A clone module clones data of a range of virtual memory in response to a checkpoint event for the range of virtual memory. A range of virtual memory may include data stored in a volatile memory and data stored in a non-volatile memory medium. A checkpoint module flushes dirty data of a range of virtual memory to a non-volatile memory medium in response to a checkpoint event. A hybrid checkpointed memory interface provides access to data of a range of virtual memory while dirty data is being flushed using data of a range of virtual memory, or using a clone of the data.Type: GrantFiled: May 31, 2017Date of Patent: May 14, 2019Assignee: SANDISK TECHNOLOGIES LLCInventors: Nisha Talagala, Swaminathan Sundararaman, Nick Piggin, Ashish Batwara, David Flynn
-
Patent number: 10019320Abstract: An aggregation module combines a plurality of logical address spaces to form a conglomerated address space. The logical address spaces comprising the conglomerated address space may correspond to different respective storage modules and/or storage devices. An atomic aggregation module coordinates atomic storage operations within the conglomerated address space, and which span multiple storage modules. The aggregation module may identify the storage modules used to implement the atomic storage request, assign a sequence indicator to the atomic storage request, and issue atomic storage requests (sub-requests) to the storage modules. The storage modules may be configured to store a completion tag comprising the sequence indicator upon completing the sub-requests issued thereto. The aggregation module may identify incomplete atomic storage requests based on the completion information stored on the storage modules.Type: GrantFiled: June 6, 2014Date of Patent: July 10, 2018Assignee: SANDISK TECHNOLOGIES LLCInventors: Nisha Talagala, Dhananjoy Das, Swaminathan Sundararaman, Ashish Batwara, Nick Piggin
-
Publication number: 20170270041Abstract: Apparatuses, systems, methods, and computer program products are disclosed for hybrid checkpointed memory. An extended memory module uses volatile memory of a host and a non-volatile memory medium as virtual memory for the host. A clone module clones data of a range of virtual memory in response to a checkpoint event for the range of virtual memory. A range of virtual memory may include data stored in a volatile memory and data stored in a non-volatile memory medium. A checkpoint module flushes dirty data of a range of virtual memory to a non-volatile memory medium in response to a checkpoint event. A hybrid checkpointed memory interface provides access to data of a range of virtual memory while dirty data is being flushed using data of a range of virtual memory, or using a clone of the data.Type: ApplicationFiled: May 31, 2017Publication date: September 21, 2017Applicant: SanDisk Technologies LLCInventors: Nisha Talagala, Swaminathan Sundararaman, Nick Piggin, Ashish Batwara, David Flynn
-
Patent number: 9690694Abstract: An apparatus, system, and method are disclosed for storage address translation. The method includes storing, in volatile memory, a plurality of logical-to-physical mapping entries for a non-volatile recording device. The method includes persisting a logical-to-physical mapping entry from the volatile memory to recording media of the non-volatile recording device. The logical-to-physical mapping entry may be selected for persisting based on a mapping policy indicated by a client. The method includes loading the logical-to-physical mapping entry from the recording media of the non-volatile recording device into the volatile memory in response to a storage request associated with the logical-to-physical mapping entry.Type: GrantFiled: September 27, 2012Date of Patent: June 27, 2017Assignee: SanDisk Technologies, LLCInventors: David Nellans, Jens Axboe, Nick Piggin
-
Patent number: 9678863Abstract: Apparatuses, systems, methods, and computer program products are disclosed for hybrid checkpointed memory. A method includes referencing data of a range of virtual memory of a host. The referenced data is already stored by a non-volatile medium. A method includes writing, to a non-volatile medium, data of a range of virtual memory that is not stored by the non-volatile medium. A method includes providing access to data of a range of virtual memory from a non-volatile medium using a persistent identifier associated with referenced data and written data.Type: GrantFiled: March 5, 2013Date of Patent: June 13, 2017Assignee: SanDisk Technologies, LLCInventors: Nisha Talagala, Swaminathan Sundararaman, Nick Piggin, Ashish Batwara, David Flynn
-
Patent number: 9563555Abstract: Resources of an address space are managed in dynamically sized ranges, extents, sets, and/or blocks. The address space may be divided into regions, each corresponding to a different, respective allocation granularity. Allocating a block within a first region of the address space may comprise allocating a particular number of logical addresses (e.g., a particular range, set, and/or block of addresses), and allocating a block within a different region may comprise allocating a different number of logical addresses. The regions may be configured to reduce the metadata overhead needed to identify free address blocks (and/or maintain address block allocations), while facilitating efficient use of the address space for differently sized data structures.Type: GrantFiled: April 17, 2013Date of Patent: February 7, 2017Assignee: SanDisk Technologies LLCInventors: David Flynn, Nick Piggin, Nisha Talagala
-
Publication number: 20160132243Abstract: 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: January 19, 2016Publication date: May 12, 2016Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
-
Patent number: 9274937Abstract: 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: December 21, 2012Date of Patent: March 1, 2016Assignee: Longitude Enterprise Flash S.a.r.l.Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
-
Publication number: 20150113326Abstract: An aggregation module combines a plurality of logical address spaces to form a conglomerated address space. The logical address spaces comprising the conglomerated address space may correspond to different respective storage modules and/or storage devices. An atomic aggregation module coordinates atomic storage operations within the conglomerated address space, and which span multiple storage modules. The aggregation module may identify the storage modules used to implement the atomic storage request, assign a sequence indicator to the atomic storage request, and issue atomic storage requests (sub-requests) to the storage modules. The storage modules may be configured to store a completion tag comprising the sequence indicator upon completing the sub-requests issued thereto. The aggregation module may identify incomplete atomic storage requests based on the completion information stored on the storage modules.Type: ApplicationFiled: June 6, 2014Publication date: April 23, 2015Applicant: FUSION-IO, INC.Inventors: Nisha Talagala, Dhananjoy Das, Swaminathan Sundararaman, Ashish Batwara, Nick Piggin
-
Publication number: 20150032982Abstract: A storage layer is configured to implement efficient open-close consistency operations. Open close consistency may comprise preserving the original state of a file until the file is closed. The storage layer may be configured to clone a file in response to a file open request. Cloning the file may comprise referencing file data by two separate sets of identifiers. One set may be configured to reflect file modifications, and the other set may be configured to preserve the original state of the file. Subsequent operations configured to modify the file may be performed in reference to one of the sets of identifiers, while the storage layer provides access to the unmodified file through the other set of identifiers. Closing the file may comprise merging the sets of identifiers according to a merge policy.Type: ApplicationFiled: June 12, 2014Publication date: January 29, 2015Applicant: FUSION-IO, INC.Inventors: Nisha Talagala, Nick Piggin, David Flynn, Robert Wipfel, David Nellans, John Strasser
-
Publication number: 20140344507Abstract: A storage layer may be configured to over-provision logical storage resources to objects. The storage layer may provision the resources in response to, inter alia, a request to open and/or create a zero-length file. The storage layer may be further configured to store data of the objects in a contextual format configured to associate the data with respective logical identifiers. The storage layer may determine an actual, storage size of the object based on the associations stored on the stored associations. Storage clients may rely on the storage layer to determine the size of the object and, as such, may defer and/or eliminate updates to persistent metadata.Type: ApplicationFiled: April 15, 2014Publication date: November 20, 2014Inventors: Nick Piggin, Santhosh Koundinya, Nisha Talagala
-
Publication number: 20130332660Abstract: Apparatuses, systems, methods, and computer program products are disclosed for hybrid checkpointed memory. A method includes referencing data of a range of virtual memory of a host. The referenced data is already stored by a non-volatile medium. A method includes writing, to a non-volatile medium, data of a range of virtual memory that is not stored by the non-volatile medium. A method includes providing access to data of a range of virtual memory from a non-volatile medium using a persistent identifier associated with referenced data and written data.Type: ApplicationFiled: March 5, 2013Publication date: December 12, 2013Applicant: FUSION-IO, INC.Inventors: Nisha Talagala, Swaminathan Sundararaman, Nick Piggin, Ashish Batwara, David Flynn
-
Publication number: 20130166855Abstract: 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: December 21, 2012Publication date: June 27, 2013Applicant: Fusion-io, Inc.Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe