Patents by Inventor Swaminathan Sundararaman
Swaminathan Sundararaman 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).
-
Publication number: 20140310499Abstract: A data services module performs log storage operations in response to requests by storing data on one or more storage devices, and appending information pertaining to the requests to a separate metadata log. A log order of the metadata log may correspond to an order in which the requests were received, regardless of the order in which data of the requests are written to the storage devices. The requests may correspond to identifiers of a logical address space. The data services module implements an any-to-any translation layer configured to map identifiers of the logical address space to the stored data. The virtualization module may include a metadata management module configured to checkpoint the translation layer metadata by, inter alia, appending aggregate, checkpoint entries to the metadata log. The data services module may leverage the translation layer between the logical identifiers and underlying storage locations to efficiently implement logical manipulation operations.Type: ApplicationFiled: April 15, 2014Publication date: October 16, 2014Inventors: Swaminathan Sundararaman, Nisha Talagala, Sriram Subramanian
-
Publication number: 20140281307Abstract: Techniques are disclosed relating to handling snapshot data for a storage device. In one embodiment, a computing system maintains information that indicates the state of data associated with an application at a particular point in time. In this embodiment, the computing system assigns an epoch number to a current epoch, where the current epoch is an interval between the particular point in time and a future point in time. In this embodiment, the computing system writes, during the current epoch, a block of data to the storage device. In this embodiment, the writing the block of data includes storing the epoch number with the block of data.Type: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Applicant: FUSION-IO, INC.Inventors: James G. Peterson, Nisha Talagala, Swaminathan Sundararaman, Sriram Subramanian
-
Publication number: 20140281260Abstract: Techniques are disclosed relating to determining statistics associated with the storage of data on a medium. In one embodiment, a computing system maintains a management statistic for a storage device, and uses the management statistic as a proxy for a workload statistic for a storage block within the storage device. In some embodiments, the storage block is a first storage block included within a second storage block of the storage device. In one embodiment, the management statistic is a timestamp indicative of when a write operation was performed for the second storage block; the workload statistic is a write frequency of the first storage block. In one embodiment, the management statistic is a number of read operations performed for the second storage block; the using includes deriving, based on the number of read operation, a read frequency for the first storage block as the workload statistic.Type: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Applicant: FUSION-IO, INC.Inventors: James G. Peterson, Swaminathan Sundararaman
-
Patent number: 8782344Abstract: A cache layer leverages a logical address space and storage metadata of a storage layer (e.g., storage layer) to cache data of a backing store. The cache layer maintains access metadata to track data characteristics of logical identifiers in the logical address space, including accesses pertaining to data that is not in the cache. The access metadata may be separate and distinct from the storage metadata maintained by the storage layer. The cache layer determines whether to admit data into the cache using the access metadata. Data may be admitted into the cache when the data satisfies cache admission criteria, which may include an access threshold and/or a sequentiality metric. Time-ordered history of the access metadata is used to identify important/useful blocks in the logical address space of the backing store that would be beneficial to cache.Type: GrantFiled: January 12, 2012Date of Patent: July 15, 2014Assignee: Fusion-io, Inc.Inventors: Nisha Talagala, Swaminathan Sundararaman, Amar Mudrankit
-
Publication number: 20140195480Abstract: Apparatuses, systems, methods, and computer program products are disclosed for persistent memory management. Persistent memory management may include providing a persistent data structure stored at least partially in volatile memory configured to ensure persistence of the data structure in a non-volatile memory medium. Persistent memory management may include replicating a persistent data structure in volatile memory buffers of at least two non-volatile storage devices. Persistent memory management may include preserving a snapshot copy of data in association with completion of a barrier operation for the data. Persistent memory management may include determining which interface of a plurality of supported interfaces is to be used to flush data from a processor complex.Type: ApplicationFiled: March 12, 2014Publication date: July 10, 2014Applicant: Fusion-io, Inc.Inventors: Nisha Talagala, Swaminathan Sundararaman, David Flynn
-
Publication number: 20140195564Abstract: Apparatuses, systems, methods, and computer program products are disclosed for a persistent data structure. A method includes associating a logical identifier with a data structure. A method includes writing data of a data structure to a first region of a volatile memory module. A volatile memory module may be configured to ensure that data is preserved in response to a trigger. A method includes copying data of a data structure from a volatile memory module to a non-volatile storage medium such that the data of the data structure remains associated with a logical identifier.Type: ApplicationFiled: March 12, 2014Publication date: July 10, 2014Applicant: Fusion-io, Inc.Inventors: Nisha Talagala, Swaminathan Sundararaman, David Flynn
-
Publication number: 20140156965Abstract: Techniques are disclosed relating to reclaiming data on recording media. In one embodiment, an apparatus has a solid-state memory array including a plurality of blocks. The solid-state memory array may implement a cache for one or more storage devices. Respective operational effects are determined relating to reclaiming ones of the plurality of blocks. One of the plurality of blocks is selected as a candidate for reclamation based on the determined operational effects, and the selected block is reclaimed. In some embodiments, the determined operational effects for a given block indicate a number of write operations to be performed to reclaim the given block. In some embodiments, operational effects are determined based on criteria relating to assigned quality-of-service levels. In some embodiments, operational effects are determined based on information relating virtual storage units.Type: ApplicationFiled: February 4, 2013Publication date: June 5, 2014Applicant: FUSION-IO, INC.Inventors: Jingpei Yang, Ned D. Plasson, Nisha Talagala, Dhananjoy Das, Swaminathan Sundararaman
-
Publication number: 20140119371Abstract: An information handling system is provided. The information handling system includes systems and methods for expanding the port count in a single Fibre Channel domain by adding modular Fibre Channel switches. Such a system includes a system enclosure that contains a plurality of Fibre Channel modules configured to send and receive Fibre Channel packets, the Fibre Channel modules providing a plurality of Fibre Channel ports and a switch processor coupled to the plurality of Fibre Channel ports and to a plurality of Ethernet ports. The switch processor is configured to apply a stacking header to Fibre Channel packets for transmission from one of the plurality of Ethernet ports over a stacking link to another switch processor in another system enclosure.Type: ApplicationFiled: October 26, 2012Publication date: May 1, 2014Applicant: Dell Products L.P.Inventors: Hiren A. Desai, Haresh K. Shah, Krishnamurthy Subramanian, Swaminathan Sundararaman, Saikrishna M. Kotha
-
Publication number: 20140095775Abstract: A cache and/or storage module may be configured to reduce write amplification in a cache storage. Cache layer write amplification (CLWA) may occur due to an over-permissive admission policy. The cache module may be configured to reduce CLWA by configuring admission policies to avoid unnecessary writes. Admission policies may be predicated on access and/or sequentiality metrics. Flash layer write amplification (FLWA) may arise due to the write-once properties of the storage medium. FLWA may be reduced by delegating cache eviction functionality to the underlying storage layer. The cache and storage layers may be configured to communicate coordination information, which may be leveraged to improve the performance of cache and/or storage operations.Type: ApplicationFiled: December 5, 2013Publication date: April 3, 2014Inventors: Nisha Talagala, Ned D. Plasson, Jingpai Yang, Robert Wood, Swaminathan Sundararaman, Gregory N. Gillis
-
Publication number: 20140089264Abstract: Apparatuses, systems, and methods are disclosed for snapshots of a non-volatile device. A method includes writing data in a sequential log structure for a non-volatile device. A method includes marking a point, in a sequential log structure, for a snapshot of data. A method includes preserving a logical-to-physical mapping for a snapshot based on a marked point and a temporal order for data in a sequential log structure.Type: ApplicationFiled: July 11, 2013Publication date: March 27, 2014Inventors: Nisha Talagala, Swaminathan Sundararaman, Sriram Subramanian
-
Publication number: 20140089265Abstract: An apparatus, system, and method are disclosed for data management. The method includes writing data in a sequential log structure. The method also includes receiving a time sequence request from a client. The method further includes servicing the time sequence request based on a temporal order of the data in the sequential log structure.Type: ApplicationFiled: March 14, 2013Publication date: March 27, 2014Applicant: FUSION-IO. INC.Inventors: Nisha Talagala, Swaminathan Sundararaman, Sriram Subramanian, James Peterson, David Flynn
-
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: 20130290945Abstract: An information handling system is provided. The information handling system includes one or more devices coupled together to route information between the one or more devices and other devices coupled thereto based on routing information stored in the one or more devices. The one or more devices includes a routing processor, one or more line cards coupled to the routing processor, the one or more line cards receiving the routing information from the routing processor for routing data packets to a destination, and a memory coupled to the routing processor. The routing processor is configured to create an active image having a current state of the routing information and create a standby image having the current state of the routing information, wherein the standby image requests the current state of the routing information from the active image using a key that is calculated using a portion of the routing information.Type: ApplicationFiled: April 30, 2012Publication date: October 31, 2013Applicant: DELL PRODUCTS, L.P.Inventors: Vinay SAWAL, Swaminathan SUNDARARAMAN
-
Publication number: 20130275391Abstract: Apparatuses, systems, and methods are disclosed for data expiry. A method includes examining metadata associated with data in a non-volatile recording medium. A method includes expiring data from a non-volatile recording medium in response to metadata indicating that an expiration period for the data has been satisfied.Type: ApplicationFiled: January 23, 2013Publication date: October 17, 2013Applicant: FUSION-IO, INC.Inventors: Ashish Batwara, Swaminathan Sundararaman, James Peterson, Nisha Talagala
-
Publication number: 20130275656Abstract: Apparatuses, systems, and methods are disclosed for a key-value store. A method includes encoding a key of a key-value pair into a logical address of a sparse logical address space for a non-volatile medium. A method includes mapping a logical address to a physical location in the non-volatile medium. A method includes storing a value of a key-value pair at a physical location.Type: ApplicationFiled: August 20, 2012Publication date: October 17, 2013Applicant: FUSION-IO, INC.Inventors: Nisha Talagala, Swaminathan Sundararaman, Bharath Ramsundar, Ashish Batwara
-
Patent number: 8510597Abstract: In general, techniques are described for enabling a restartable file system. A computing device comprising a processor that executes an operating system may implement the techniques. The processor executes kernel and file system functions of the operating system to perform an operation, where both types of functions call each other to perform the operation. The operating system stores data identifying those of the kernel functions that called the file system functions. In response to determining that one of the file system functions that was called has failed, the operating system accesses the data to identify one of the kernel functions that most recently called one of the file system functions, and returns control to the identified one of the kernel functions without executing any of the file system functions called after the identified one of the kernel functions and prior to the one of the file system functions that failed.Type: GrantFiled: February 8, 2011Date of Patent: August 13, 2013Assignee: Wisconsin Alumni Research FoundationInventors: Michael M. Swift, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Swaminathan Sundararaman, Sriram Subramanian, Abhishek Rajimwale
-
Publication number: 20130185475Abstract: A cache module leverages a logical address space and storage metadata of a storage module (e.g., virtual storage module) to cache data of a backing store. The cache module maintains access metadata to track access characteristics of logical identifiers in the logical address space, including accesses pertaining to data that is not currently in the cache. The access metadata may be separate from the storage metadata maintained by the storage module. The cache module may calculate a performance metric of the cache based on profiling metadata, which may include portions of the access metadata. The cache module may determine predictive performance metrics of different cache configurations. An optimal cache configuration may be identified based on the predictive performance metrics.Type: ApplicationFiled: February 22, 2013Publication date: July 18, 2013Applicant: Fusion-io, Inc.Inventors: Nisha Talagala, Swaminathan Sundararaman
-
Publication number: 20130185508Abstract: A cache layer leverages a logical address space and storage metadata of a storage layer (e.g., virtual storage layer) to cache data of a backing store. The cache layer maintains access metadata to track data characteristics of logical identifiers in the logical address space, including accesses pertaining to data that is not in the cache. The access metadata may be separate and distinct from the storage metadata maintained by the storage layer. The cache layer determines whether to admit data into the cache using the access metadata. Data may be admitted into the cache when the data satisfies cache admission criteria, which may include an access threshold and/or a sequentiality metric. Time-ordered history of the access metadata is used to identify important/useful blocks in the logical address space of the backing store that would be beneficial to cache.Type: ApplicationFiled: January 12, 2012Publication date: July 18, 2013Applicant: FUSION-IO, INC.Inventors: Nisha Talagala, Swaminathan Sundararaman
-
Publication number: 20130185488Abstract: A cache module leverages storage metadata to cache data of a backing store on a non-volatile storage device. The cache module maintains access metadata pertaining to access characteristics of logical identifiers in the logical address space, including access characteristics of un-cached logical identifiers (e.g., logical identifiers associated with data that is not stored on the non-volatile storage device). The access metadata may be separate and/or distinct from the storage metadata. The cache module determines whether to admit data into the cache and/or evict data from the cache using the access metadata. A storage module may provide eviction candidates to the cache module. The cache module may select candidates for eviction. The storage module may leverage the eviction candidates to improve the performance of storage recovery and/or grooming operations.Type: ApplicationFiled: February 22, 2013Publication date: July 18, 2013Applicant: Fusion-io, Inc.Inventors: Nisha Talagala, Swaminathan Sundararaman
-
Publication number: 20120204060Abstract: In general, techniques are described for enabling a restartable file system. A computing device comprising a processor that executes an operating system may implement the techniques. The processor executes kernel and file system functions of the operating system to perform an operation, where both types of functions call each other to perform the operation. The operating system stores data identifying those of the kernel functions that called the file system functions. In response to determining that one of the file system functions that was called has failed, the operating system accesses the data to identify one of the kernel functions that most recently called one of the file system functions, and returns control to the identified one of the kernel functions without executing any of the file system functions called after the identified one of the kernel functions and prior to the one of the file system functions that failed.Type: ApplicationFiled: February 8, 2011Publication date: August 9, 2012Applicant: Wisconsin Alumni Research FoundationInventors: Michael M. Swift, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Swaminathan Sundararaman, Sriram Subramanian, Abhishek Rajimwale