Patents Assigned to Nimble Storage, Inc.
-
Patent number: 9304909Abstract: A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.Type: GrantFiled: October 27, 2015Date of Patent: April 5, 2016Assignee: Nimble Storage, Inc.Inventor: Umesh Maheshwari
-
Patent number: 9274967Abstract: Described herein are methods, systems and machine-readable media for simulating a FIFO cache using a Bloom filter ring, which includes a plurality of Bloom filters arranged in a circular log. New elements are registered in the Bloom filter at the head of the circular log. When the Bloom filter at the head of the circular log is filled to its capacity, membership information associated with old elements in the Bloom filter at the tail of the circular log is evicted (simulating FIFO cache behavior), and the head and tail of the log are advanced. The Bloom filter ring is used to determine cache statistics (e.g., cache hit, cache miss) of a FIFO cache of various sizes. In response to simulation output specifying cache statistics for FIFO cache of various sizes, a FIFO cache is optimally sized.Type: GrantFiled: August 7, 2013Date of Patent: March 1, 2016Assignee: Nimble Storage, Inc.Inventors: Senthil Kumar Ramamoorthy, Umesh Maheshwari
-
Patent number: 9235506Abstract: A storage device includes a flash memory-based cache for a hard disk-based storage device and a controller that is configured to limit the rate of cache updates through a variety of mechanisms, including determinations that the data is not likely to be read back from the storage device within a time period that justifies its storage in the cache, compressing data prior to its storage in the cache, precluding storage of sequentially-accessed data in the cache, and/or throttling storage of data to the cache within predetermined write periods and/or according to user instruction.Type: GrantFiled: August 29, 2014Date of Patent: January 12, 2016Assignee: Nimble Storage, Inc.Inventors: Umesh Maheshwari, Varun Mehta
-
Patent number: 9213628Abstract: A storage device includes a flash memory-based cache for a hard disk-based storage device and a controller that is configured to limit the rate of cache updates through a variety of mechanisms, including determinations that the data is not likely to be read back from the storage device within a time period that justifies its storage in the cache, compressing data prior to its storage in the cache, precluding storage of sequentially-accessed data in the cache, and/or throttling storage of data to the cache within predetermined write periods and/or according to user instruction.Type: GrantFiled: July 14, 2010Date of Patent: December 15, 2015Assignee: Nimble Storage, Inc.Inventors: Umesh Maheshwari, Varun Mehta
-
Patent number: 9176874Abstract: A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.Type: GrantFiled: June 25, 2015Date of Patent: November 3, 2015Assignee: Nimble Storage, Inc.Inventor: Umesh Maheshwari
-
Patent number: 9116630Abstract: Described herein are methods, systems and machine-readable media for migrating data between storage devices of a storage array. A metric is used to measure the optimality of candidate data migrations, the metric taking into account capacity balance and proper data striping. Candidate migrations are evaluated against the metric. The candidate migration that ranks as the best migration according to the metric may be carried out. This process of evaluating candidate migrations and carrying out the best candidate migration may be iterated until data is properly distributed among the storage devices of the storage array.Type: GrantFiled: August 30, 2013Date of Patent: August 25, 2015Assignee: Nimble Storage, Inc.Inventors: Brian Rowe, Bob Fozard
-
Patent number: 9098405Abstract: A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.Type: GrantFiled: March 12, 2015Date of Patent: August 4, 2015Assignee: Nimble Storage, Inc.Inventor: Umesh Maheshwari
-
Patent number: 9092376Abstract: Techniques are described herein which minimize the impact of virtual machine snapshots on the performance virtual machines and hypervisors. In the context of a volume snapshot which may involve (i) taking virtual machine snapshots of all virtual machines associated with the volume, (ii) taking the volume snapshot, and (iii) removing all the virtual machine snapshots, the virtual machine snapshots may be created in a first order and removed in a second order. Specifically, snapshots for busy virtual machines (i.e., virtual machines with higher disk write activity) may be created last and removed first. Consequently, snapshots of busy virtual machines are retained for the shorter periods of time, thereby minimizing the effect of virtual machine snapshots on those virtual machines (and their associated hypervisors) that would be most negatively impacted by virtual machine snapshots.Type: GrantFiled: August 29, 2014Date of Patent: July 28, 2015Assignee: Nimble Storage, Inc.Inventors: Raja Shekar Chelur, Juhsun Wang, Gaurav Ranganathan
-
Patent number: 9081670Abstract: A storage device includes a flash memory-based cache for a hard disk-based storage device and a controller that is configured to limit the rate of cache updates through a variety of mechanisms, including determinations that the data is not likely to be read back from the storage device within a time period that justifies its storage in the cache, compressing data prior to its storage in the cache, precluding storage of sequentially-accessed data in the cache, and/or throttling storage of data to the cache within predetermined write periods and/or according to user instruction.Type: GrantFiled: May 8, 2014Date of Patent: July 14, 2015Assignee: Nimble Storage, Inc.Inventors: Umesh Maheshwari, Varun Mehta
-
Patent number: 9015406Abstract: A storage device made up of multiple storage media is configured such that a flash memory serves as a cache for data stored on a backend storage device having one or more magnetic storage media. The storage device includes a controller configured to maintain a direct mapping from respective backend block addresses of the backend storage device to respective physical addresses of the flash memory. Such mapping is used to translate a backend block address of the backend storage device at which a first block is stored into a physical address of the flash memory at which the first block is cached.Type: GrantFiled: March 21, 2014Date of Patent: April 21, 2015Assignee: Nimble Storage, Inc.Inventor: Umesh Maheshwari
-
Patent number: 9003113Abstract: A storage device includes a flash memory-based cache for a hard disk-based storage device and a controller that is configured to limit the rate of cache updates through a variety of mechanisms, including determinations that the data is not likely to be read back from the storage device within a time period that justifies its storage in the cache, compressing data prior to its storage in the cache, precluding storage of sequentially-accessed data in the cache, and/or throttling storage of data to the cache within predetermined write periods and/or according to user instruction.Type: GrantFiled: May 8, 2014Date of Patent: April 7, 2015Assignee: Nimble Storage, Inc.Inventors: Umesh Maheshwari, Varun Mehta
-
Patent number: 8949502Abstract: A memory system controller includes one or more sockets for accommodating NVDIMM cards produced by different NVDIMM providers; a PCIe interface for coupling the memory system controller to a host; and a controller coupled to the PCIe interface over a PCIe-compliant connection and to the one or more sockets over respective DDR2 connections. The controller is configured to manage data transfers between the host and a specified one of the NVDIMM sockets in which an NVDIMM card is accommodated as DMA reads and writes, format data received from the PCIe interface for transmission to the specified NVDIMM socket over the corresponding one or more DDR2 interfaces, and initiate save and restore operations on the NVDIMM card accommodated within the specified NVDIMM socket in response to power failure and power restoration indications.Type: GrantFiled: November 18, 2011Date of Patent: February 3, 2015Assignee: Nimble Storage, Inc.Inventors: Thomas P. McKnight, Xiaoshan Zuo, Umesh Maheshwari
-
Patent number: 8924607Abstract: Described herein are techniques for cancelling I/O requests. Initially, virtual memory of an application is assigned to a first portion of memory. The application may issue a read request to an external device. The external device is instructed to record any response to the read request in the first portion of memory. The read request may be cancelled as follows. The virtual memory of the application may be re-assigned to a second portion of the memory. If and when the external device finishes processing the read request, the external device's response to the read request may still be saved in the first portion of memory, even though the read request has been cancelled. Such action of the external device would ordinarily corrupt the virtual memory of the application, but due to the memory re-assignment, no corruption of the virtual memory occurs. Similar techniques may be applied to cancel write requests.Type: GrantFiled: October 7, 2013Date of Patent: December 30, 2014Assignee: Nimble Storage, Inc.Inventors: Anil Nanduri, Chunqi Han, Murali Krishna Vishnumolakala
-
Publication number: 20140337561Abstract: A storage device made up of multiple storage media is configured such that a flash memory serves as a cache for data stored on a backend storage device having one or more magnetic storage media. The storage device includes a controller configured to maintain a direct mapping from respective backend block addresses of the backend storage device to respective physical addresses of the flash memory. Such mapping is used to translate a backend block address of the backend storage device at which a first block is stored into a physical address of the flash memory at which the first block is cached.Type: ApplicationFiled: March 21, 2014Publication date: November 13, 2014Applicant: Nimble Storage, Inc.Inventor: Umesh Maheshwari
-
Patent number: 8832330Abstract: Described herein are methods, systems and machine-readable media that facilitate an analysis of the contributing factors of storage system latency. The variation over time of the storage system latency is measured, along with the variation over time of the activity of various processes and/or components, the various processes and/or components being potentially contributing factors to the storage system latency. The latency measurements are correlated with the process and/or component measurements. High correlation, while not providing direct evidence of the causation of latency, is nevertheless used to identify likely factors (i.e., processes, components) contributing to latency. The latency measurements are plotted over time, the plot including supplemental information indicating, at any time instant, likely factors contributing to the storage system latency.Type: GrantFiled: May 23, 2013Date of Patent: September 9, 2014Assignee: Nimble Storage, Inc.Inventor: Larry Lancaster
-
Patent number: 8719488Abstract: A storage device made up of multiple storage media is configured such that a flash memory serves as a cache for data stored on a backend storage device having one or more magnetic storage media. The storage device includes a controller configured to maintain a direct mapping from respective backend block addresses of the backend storage device to respective physical addresses of the flash memory. Such mapping is used to translate a backend block address of the backend storage device at which a first block is stored into a physical address of the flash memory at which the first block is cached.Type: GrantFiled: August 27, 2012Date of Patent: May 6, 2014Assignee: Nimble Storage, Inc.Inventor: Umesh Maheshwari
-
Patent number: 8285918Abstract: A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.Type: GrantFiled: December 11, 2009Date of Patent: October 9, 2012Assignee: Nimble Storage, Inc.Inventor: Umesh Maheshwari
-
Publication number: 20110145473Abstract: A storage device made up of multiple storage media is configured such that one such media serves as a cache for data stored on another of such media. The device includes a controller configured to manage the cache by consolidating information concerning obsolete data stored in the cache with information concerning data no longer desired to be stored in the cache, and erase segments of the cache containing one or more of the blocks of obsolete data and the blocks of data that are no longer desired to be stored in the cache to produce reclaimed segments of the cache.Type: ApplicationFiled: December 11, 2009Publication date: June 16, 2011Applicant: NIMBLE STORAGE, INC.Inventor: Umesh Maheshwari