Patents by Inventor Srikumar Subramanian

Srikumar Subramanian 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: 11182077
    Abstract: A method for determining when to load read I/O operations into an SSD cache medium for a physical storage medium of a data storage system can include maintaining an SSD filter bitmap with a plurality of bits, where each of the bits corresponds to a respective data block of the physical storage medium. The method can also include initially setting each of the bits to a first predetermined value, receiving a first read I/O operation directed to a particular data block of the physical storage medium and, in response to receiving the first read I/O operation, setting a bit corresponding to the particular data block to a second predetermined value. The method can further include receiving a second read I/O operation directed to the particular data block and, in response to receiving the second I/O operation, loading data for the particular data block into the SSD cache medium.
    Type: Grant
    Filed: October 3, 2018
    Date of Patent: November 23, 2021
    Assignee: AmZetta Technologies, LLC
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Narayanaswami Ganapathy, Senthilkumar Ramasamy
  • Patent number: 10628043
    Abstract: Systems, methods, and computer-readable media for intelligent distribution of data in a storage cluster are described herein. An example method can include striping a volume across a plurality of storage nodes. For example, a plurality of logical blocks of the volume can be distributed to the storage nodes in relation to respective sizes of the storage nodes. Additionally, the method can include maintaining a cluster volume table (CVT) storing information regarding distribution of the logical blocks across the storage nodes. The CVT can include a plurality of entries, where each of the entries in the CVT can include information identifying a respective owner storage node of a respective logical block. Optionally, a factor can be used to determine a number of logical blocks distributed to a storage node for each stripe when striping the volume across the storage nodes.
    Type: Grant
    Filed: May 2, 2018
    Date of Patent: April 21, 2020
    Assignee: Amzetta Technologies, LLC
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Loganathan Ranganathan, Raghavan Sowrirajan
  • Patent number: 10176103
    Abstract: An example method for performing cache replacement in a caching medium for a data storage system can include providing an SSD cache, providing an LRU data structure including buckets for managing the SSD cache, and providing cache headers for managing the cache lines. The method can include assigning two or more cache headers to a same bucket of the LRU data structure, and arranging the cache headers in a linked list based on access time. A cache header for an LRU cache line is a tail node of the linked list. The method can further include providing an LFU data structure including frequency buckets, assigning the tail node of the linked list of the same bucket of the LRU data structure to a frequency bucket based on access frequency, and selecting an LFU cache line for cache replacement using the LFU data structure.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: January 8, 2019
    Assignee: AMERICAN MEGATRENDS, INC.
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Senthilkumar Ramasamy, Narayanaswami Ganapathy
  • Patent number: 10114566
    Abstract: A method for offloading RMW operations on a volume of a storage system to a caching medium includes providing an SSD cache, a data structure for managing the SSD cache and cache headers for managing cache lines. The method also includes maintaining cache headers for cache lines corresponding to a same chunk of the volume as a group, creating a snapshot of the volume and, after creating the snapshot, receiving a write I/O operation directed to a portion of the same chunk. The method further includes allocating a new RMW header for the write I/O operation, maintaining the new RMW header in a new group, performing the write I/O operation on the SSD cache, allocating an old RMW header for the group, maintaining the old RMW header with the group and providing a link between the new and old RMW headers.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: October 30, 2018
    Assignee: AMERICAN MEGATRENDS, INC.
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Senthilkumar Ramasamy, Narayanaswami Ganapathy
  • Patent number: 10108344
    Abstract: A method for determining when to load read I/O operations into an SSD cache medium for a physical storage medium of a data storage system can include maintaining an SSD filter bitmap with a plurality of bits, where each of the bits corresponds to a respective data block of the physical storage medium. The method can also include initially setting each of the bits to a first predetermined value, receiving a first read I/O operation directed to a particular data block of the physical storage medium and, in response to receiving the first read I/O operation, setting a bit corresponding to the particular data block to a second predetermined value. The method can further include receiving a second read I/O operation directed to the particular data block and, in response to receiving the second I/O operation, loading data for the particular data block into the SSD cache medium.
    Type: Grant
    Filed: May 3, 2016
    Date of Patent: October 23, 2018
    Assignee: AMERICAN MEGATRENDS, INC.
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Narayanaswami Ganapathy, Senthilkumar Ramasamy
  • Patent number: 10089227
    Abstract: A method for performing cache flushing operations in a data storage system can include maintaining a plurality of SSDs as a cache medium for a data storage medium, controlling a region of the SSDs in a write-back cache mode, and monitoring a status of the SSDs to detect a low-performance condition. In the write-back cache mode, data is mirrored across the SSDs. The method can also include performing normal purge operations on the data stored in the region under a condition that the low-performance condition is not detected, and performing aggressive purge operations on the data stored in the region in response to detecting the low-performance condition. The normal purge operations can include flushing the data stored in the region to the data storage medium. The aggressive purge operations can include sequentially mirroring the data stored in the region to one or more special territories of the data storage medium.
    Type: Grant
    Filed: May 3, 2016
    Date of Patent: October 2, 2018
    Assignee: AMERICAN MEGATRENDS, INC.
    Inventors: Srikumar Subramanian, Vijayarankan Muthirisavenugopal, Anandh Mahalingam, Narayanaswami Ganapathy
  • Patent number: 10067682
    Abstract: Disclosed herein is an enhanced volume manager (VM) for a storage system that accelerates input/output (I/O) performance for random write operations to a striped disk array using parity. More specifically, various implementations are directed to accelerating “random writes” (writes comprising less than a complete stripe of data) by consolidating several random writes together to create a “sequential write” (a full-stripe write) to eliminate one or more read operations and/or increase the volume of new/updated data stored for each write operation. Several such implementations comprise functionality in the VM (volume manager) for identifying random write I/O requests, queuing them locally in a journal, and then periodically flushing the journal to the disk array as a sequential write request.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: September 4, 2018
    Assignee: American Megatrends, Inc.
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Raghavan Sowrirajan, Sankarji Gopalakrishnan
  • Patent number: 10055354
    Abstract: A method for managing a caching medium for a storage system includes providing an SSD cache including a plurality of cache lines, providing a data structure including a plurality of buckets for managing the SSD cache, and providing a plurality of cache headers for managing the cache lines. Each cache line has a first predetermined size, and each bucket corresponds to a contiguous region of a physical storage capacity having a second predetermined size. Each cache header associates a cache line and a corresponding data block stored in the data storage system. The method also includes assigning two or more cache headers for cache lines associated with corresponding data blocks stored in a same contiguous region of the physical storage capacity to a same bucket, and maintaining the two or more cache headers as a first group of cache headers within the same bucket.
    Type: Grant
    Filed: May 4, 2016
    Date of Patent: August 21, 2018
    Assignee: AMERICAN MEGATRENDS, INC.
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Narayanaswami Ganapathy, Venugopalreddy Mallavaram
  • Patent number: 10019362
    Abstract: An example method for using a plurality of SSDs as a caching medium in a data storage system can include splitting the SSDs into a plurality of cache regions, maintaining a first cache region of the SSDs as a read cache and maintaining a second cache region of the SSDs as a write cache. Additionally, read data can be stored by striping the read data across the SSDs in the first cache region, and dirty write data can be stored by mirroring the dirty write data across the SSDs in the second cache region. The computer-implemented method can also include dynamically adjusting a size of at least one of the first and second cache regions of the SSDs based on an input/output (“I/O”) load of the data storage system.
    Type: Grant
    Filed: May 3, 2016
    Date of Patent: July 10, 2018
    Assignee: American Megatrends, Inc.
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Sankarji Gopalakrishnan, Senthilkumar Ramasamy
  • Patent number: 9442814
    Abstract: A RAID bad block module is added to a RAID controller. The bad block module intercepts bad block errors and marks them in a bad block table. When a bad block error is intercepted the bad block module logs the error and determines, based on the error and previously received errors logged in the table, whether the RAID controller can handle the error without failing the entire array. If so, the bad block module passes the error to the RAID controller. Else, the bad block module passes the error to an application or operating system where it is handled like any other disk error. Thus, instead of failing the entire array, the bad block errors are dealt with by the operating system.
    Type: Grant
    Filed: February 6, 2015
    Date of Patent: September 13, 2016
    Assignee: American Megatrends, Inc.
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Raghavan Sowrirajan
  • Patent number: 9430367
    Abstract: A first RAID module is added to a first RAID controller and a second RAID module is added to a second RAID controller. An array of physical disks is partitioned into two partitions across the array of physical disks. The first partition is assigned to the first RAID module and the second partition is exposed to the second RAID module. Each of the RAID modules exposes their respective partitions to their associated RAID controller as a single array. Each RAID module further receives I/O from its respective RAID controller, and translates the I/O to access its associated partition.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: August 30, 2016
    Assignee: AMERICAN MEGATRENDS, INC.
    Inventors: Srikumar Subramanian, Senthilkumar Ramasamy, Loganathan Ranganathan, Udita Chatterjee
  • Patent number: 9396067
    Abstract: Disclosed herein is an enhanced volume manager (VM) for a storage system that accelerates input/output (I/O) performance for random write operations to a striped disk array using parity. More specifically, various implementations are directed to accelerating “random writes” (writes comprising less than a complete stripe of data) by consolidating several random writes together to create a “sequential write” (a full-stripe write) to eliminate one or more read operations and/or increase the volume of new/updated data stored for each write operation. Several such implementations comprise functionality in the VM (volume manager) for identifying random write I/O requests, queuing them locally in a journal, and then periodically flushing the journal to the disk array as a sequential write request.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: July 19, 2016
    Assignee: American Megatrends, Inc.
    Inventors: Srikumar Subramanian, Raghavan Sowrirajan, Sankarji Gopalakrishnan, Paresh Chatterjee, Udita Chatterjee
  • Patent number: 9350493
    Abstract: Technologies are described herein for performing a multi-protocol data transfer. A first protocol that guarantees reliability and in-order delivery of data packets is utilized to transmit control information for a data transfer. Once the control information has been transmitted and received at the destination, a second protocol is utilized to transfer the actual data. The second protocol does not guarantee data reliability or in-order delivery. If any data packets are not delivered to the destination using the second protocol, either the first protocol, the second protocol, or a combination can be utilized to retransmit the missing packets.
    Type: Grant
    Filed: April 28, 2014
    Date of Patent: May 24, 2016
    Assignee: American Megatrends, Inc.
    Inventors: Shankar Subramonian, Srikumar Subramanian, Anandh Mahalingam, Jomy Maliakal
  • Patent number: 9304951
    Abstract: Disclosed is a policy-based I/O dispatcher that intercepts I/O requests from several individual volumes made to a shared storage system (such as a RAID array) and manages these I/O requests so that no single volume monopolizes the I/O bandwidth and excludes the other volumes from timely completing their own I/O requests. Also disclosed are a plurality of attributes that may be assigned to each volume sharing a disk array to effectively manage the sharing of the disk array among the volumes. The I/O policy manager may handle I/O requests from several sources including volume-based iSCSI I/O requests as well as the file-share-based XFS I/O requests.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: April 5, 2016
    Assignee: American Megatrends, Inc.
    Inventors: Srikumar Subramanian, Sankarji Gopalakrishnan, Loganathan Ranganathan, Udita Chatterjee
  • Patent number: 9268644
    Abstract: A RAID module for a RAID controller that includes a thin RAID layer and a thin disk layer. The thin RAID layer sits between an operating system layer and a RAID stack, and intercepts and fields requests and I/Os made the between operating system and the RAID stack. The thin disk layer sits between the RAID stack and the disks that comprise the array, and intercepts and fields requests and I/Os made between the RAID stack and the array. The module may maintain a bitmap with an entry corresponding to each stripe of the array. When the module detects that a stripe has zero data, the entry in the bitmap for the stripe is set to 0. When the module detects that data has been written to a stripe, the entry in the bitmap for the stripe is set to 1.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: February 23, 2016
    Assignee: American Megatrends, Inc.
    Inventors: Srikumar Subramanian, Sankarji Gopalakrishnan, Narayanaswami Ganapathy, Paresh Chatterjee, Udita Chatterjee
  • Patent number: 9063854
    Abstract: A first RAID module is added to a first RAID controller and a second RAID module is added to a second RAID controller. An array of physical disks is partitioned into two partitions across the array of physical disks. The first partition is assigned to the first RAID module and the second partition is exposed to the second RAID module. Each of the RAID modules exposes their respective partitions to their associated RAID controller as a single array. Each RAID module further receives I/O from its respective RAID controller, and translates the I/O to access its associated partition.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: June 23, 2015
    Assignee: American Megatrends, Inc.
    Inventors: Srikumar Subramanian, Sankarji Gopalakrishnan, Udita Chatterjee
  • Patent number: 9053073
    Abstract: Systems and methods for maintaining data consistency across mirrored storage nodes. Data consistency may be maintained in networked storage environments using a timestamp of an I/O in the primary and secondary servers (also referred to as nodes) in synchronous replication to re-synchronize the data efficiently, without much performance drop and while reducing the memory footprint. According to an aspect presented herein, data consistency is maintained in a mirror node by timestamping the I/O for a volume's logical territory in both the primary and secondary nodes. The timestamp acts as a watermark. Thus, whenever a disaster or failure occurs, the watermark point determines the re-synchronization point.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: June 9, 2015
    Assignee: American Megatrends, Inc.
    Inventors: Srikumar Subramanian, Raja Jayaraman, Jomy Maliakal, Udita Chatterjee
  • Publication number: 20150154090
    Abstract: A RAID bad block module is added to a RAID controller. The bad block module intercepts bad block errors and marks them in a bad block table. When a bad block error is intercepted the bad block module logs the error and determines, based on the error and previously received errors logged in the table, whether the RAID controller can handle the error without failing the entire array. If so, the bad block module passes the error to the RAID controller. Else, the bad block module passes the error to an application or operating system where it is handled like any other disk error.
    Type: Application
    Filed: February 6, 2015
    Publication date: June 4, 2015
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Raghavan Sowrirajan
  • Patent number: 8984011
    Abstract: Technologies are described herein for caching variably sized access control lists (ACLs) in a data storage system utilizing page object caching. A request to access a file is received. An inode number of the requested file is identified. A hash key based on the inode number and a predefined hash value is determined. A determination is made as to whether the hash key is contained in a hash list. In response to determining that the hash key is contained in the hash list, access to a page object in the memory is provided. The page object contains an access control list (ACL) associated with the requested file. The ACL is retrieved from the page object.
    Type: Grant
    Filed: January 8, 2013
    Date of Patent: March 17, 2015
    Assignee: American Megatrends, Inc.
    Inventors: Paresh Chatterjee, Srikumar Subramanian, Raghavan Sowrirajan
  • Patent number: 8954670
    Abstract: A RAID bad block module is added to a RAID controller. The bad block module intercepts bad block errors and marks them in a bad block table. When a bad block error is intercepted the bad block module logs the error and determines, based on the error and previously received errors logged in the table, whether the RAID controller can handle the error without failing the entire array. If so, the bad block module passes the error to the RAID controller. Else, the bad block module passes the error to an application or operating system where it is handled like any other disk error. Thus, instead of failing the entire array, the bad block errors are dealt with by the operating system.
    Type: Grant
    Filed: April 18, 2012
    Date of Patent: February 10, 2015
    Assignee: American Megatrends, Inc.
    Inventors: Srikumar Subramanian, Raghavan Sowrirajan, Udita Chatterjee