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: 11182212
    Abstract: 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: Grant
    Filed: April 1, 2019
    Date of Patent: November 23, 2021
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
  • Patent number: 10558561
    Abstract: 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: Grant
    Filed: April 15, 2014
    Date of Patent: February 11, 2020
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Nick Piggin, Santhosh Koundinya, Nisha Talagala
  • Publication number: 20190235925
    Abstract: 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: Application
    Filed: April 1, 2019
    Publication date: August 1, 2019
    Applicant: SanDisk Technologies LLC
    Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
  • Patent number: 10296220
    Abstract: 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: Grant
    Filed: January 19, 2016
    Date of Patent: May 21, 2019
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
  • Patent number: 10289545
    Abstract: 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: Grant
    Filed: May 31, 2017
    Date of Patent: May 14, 2019
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Nisha Talagala, Swaminathan Sundararaman, Nick Piggin, Ashish Batwara, David Flynn
  • Patent number: 10019320
    Abstract: 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: Grant
    Filed: June 6, 2014
    Date of Patent: July 10, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Nisha Talagala, Dhananjoy Das, Swaminathan Sundararaman, Ashish Batwara, Nick Piggin
  • Publication number: 20170270041
    Abstract: 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: Application
    Filed: May 31, 2017
    Publication date: September 21, 2017
    Applicant: SanDisk Technologies LLC
    Inventors: Nisha Talagala, Swaminathan Sundararaman, Nick Piggin, Ashish Batwara, David Flynn
  • Patent number: 9690694
    Abstract: 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: Grant
    Filed: September 27, 2012
    Date of Patent: June 27, 2017
    Assignee: SanDisk Technologies, LLC
    Inventors: David Nellans, Jens Axboe, Nick Piggin
  • Patent number: 9678863
    Abstract: 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: Grant
    Filed: March 5, 2013
    Date of Patent: June 13, 2017
    Assignee: SanDisk Technologies, LLC
    Inventors: Nisha Talagala, Swaminathan Sundararaman, Nick Piggin, Ashish Batwara, David Flynn
  • Patent number: 9563555
    Abstract: 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: Grant
    Filed: April 17, 2013
    Date of Patent: February 7, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: David Flynn, Nick Piggin, Nisha Talagala
  • Publication number: 20160132243
    Abstract: 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: Application
    Filed: January 19, 2016
    Publication date: May 12, 2016
    Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
  • Patent number: 9274937
    Abstract: 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: Grant
    Filed: December 21, 2012
    Date of Patent: March 1, 2016
    Assignee: Longitude Enterprise Flash S.a.r.l.
    Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe
  • Publication number: 20150113326
    Abstract: 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: Application
    Filed: June 6, 2014
    Publication date: April 23, 2015
    Applicant: FUSION-IO, INC.
    Inventors: Nisha Talagala, Dhananjoy Das, Swaminathan Sundararaman, Ashish Batwara, Nick Piggin
  • Publication number: 20150032982
    Abstract: 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: Application
    Filed: June 12, 2014
    Publication date: January 29, 2015
    Applicant: FUSION-IO, INC.
    Inventors: Nisha Talagala, Nick Piggin, David Flynn, Robert Wipfel, David Nellans, John Strasser
  • Publication number: 20140344507
    Abstract: 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: Application
    Filed: April 15, 2014
    Publication date: November 20, 2014
    Inventors: Nick Piggin, Santhosh Koundinya, Nisha Talagala
  • Publication number: 20130332660
    Abstract: 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: Application
    Filed: March 5, 2013
    Publication date: December 12, 2013
    Applicant: FUSION-IO, INC.
    Inventors: Nisha Talagala, Swaminathan Sundararaman, Nick Piggin, Ashish Batwara, David Flynn
  • Publication number: 20130166855
    Abstract: 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: Application
    Filed: December 21, 2012
    Publication date: June 27, 2013
    Applicant: Fusion-io, Inc.
    Inventors: Ashish Batwara, James G. Peterson, Nisha Talagala, Nick Piggin, Michael Zappe