Patents by Inventor Akshay Mathur

Akshay Mathur 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: 11099824
    Abstract: Provided are methods and systems for transition between a current cloud-based code environment and an updated cloud-based code environment. A method for transition between a current cloud-based code environment and an updated cloud-based code may commence with generating a steering policy. The steering policy may include a set of rules to guide steering decisions between a current cloud-based code environment and an updated cloud-based code environment. The method may further include sending the steering policy to a steering server. The steering server may make steering decisions to steer, based on the steering policy, service requests between the current cloud-based code environment and the updated cloud-based code environment. The method may continue with receiving feedback concerning actual steering decisions made by the steering server. The method may further include automatically adjusting the steering policy in response to the feedback.
    Type: Grant
    Filed: March 6, 2019
    Date of Patent: August 24, 2021
    Assignee: A10 Networks, Inc.
    Inventors: Ragavan Ramanathan, Alak Deb, Sudarshan Raghavan, Anirudha Kamatgi, Sridhar Srinivasan, Girish Karthik Ramasamy, Srinath Chandrashekhar, Akshay Mathur
  • Patent number: 10656840
    Abstract: Systems, methods and/or devices are used to enable real-time I/O pattern recognition to enhance performance and endurance of a storage device. In one aspect, the method includes (1) at a storage device, receiving from a host a plurality of input/output (I/O) requests, the I/O requests specifying operations to be performed in a plurality of regions in a logical address space of the host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) maintaining a history of I/O request patterns in the region for a predetermined time period, and (b) using the history of I/O request patterns in the region to adjust subsequent I/O processing in the region.
    Type: Grant
    Filed: July 3, 2014
    Date of Patent: May 19, 2020
    Assignee: SanDisk Technologies LLC
    Inventors: Dharani Kotte, Akshay Mathur, Chayan Biswas, Baskaran Kannan, Sumant K. Patro
  • Patent number: 10656842
    Abstract: Systems, methods and/or devices are used to enable using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region has a history of I/O requests to access data of size less than a predefined small-size threshold during a predetermined time period, (b) determining whether the region has a history of sequential write requests during the predetermined time period, and (c) if both determinations are true, coalescing subsequent write requests to the region.
    Type: Grant
    Filed: July 3, 2014
    Date of Patent: May 19, 2020
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Akshay Mathur, Dharani Kotte, Chayan Biswas, Baskaran Kannan, Sumant K. Patro
  • Patent number: 10372613
    Abstract: Systems, methods and/or devices are used to enable using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests including read requests and write requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including, for each sub-region of a plurality of sub-regions of the region: (a) determining whether the sub-region is accessed more than a predetermined threshold number of times during a predetermined time period, and (b) if so, caching, from a storage medium of the storage device to a cache of the storage device, data from the sub-region.
    Type: Grant
    Filed: July 3, 2014
    Date of Patent: August 6, 2019
    Assignee: Sandisk Technologies LLC
    Inventors: Akshay Mathur, Dharani Kotte, Chayan Biswas, Baskaran Kannan, Sumant K. Patro
  • Publication number: 20190205117
    Abstract: Provided are methods and systems for transition between a current cloud-based code environment and an updated cloud-based code environment. A method for transition between a current cloud-based code environment and an updated cloud-based code may commence with generating a steering policy. The steering policy may include a set of rules to guide steering decisions between a current cloud-based code environment and an updated cloud-based code environment. The method may further include sending the steering policy to a steering server. The steering server may make steering decisions to steer, based on the steering policy, service requests between the current cloud-based code environment and the updated cloud-based code environment. The method may continue with receiving feedback concerning actual steering decisions made by the steering server. The method may further include automatically adjusting the steering policy in response to the feedback.
    Type: Application
    Filed: March 6, 2019
    Publication date: July 4, 2019
    Inventors: Ragavan Ramanathan, Alak Deb, Sudarshan Raghavan, Anirudha Kamatgi, Sridhar Srinivasan, Girish Karthik Ramasamy, Srinath Chandrashekhar, Akshay Mathur
  • Patent number: 10268467
    Abstract: Policy-driven management of application traffic is provided for services to cloud-based applications. A steering policy refers to a set of rules is generated for a deployment from a current code environment to one or more replicated code environment differing in some key respect. The steering policy can guide steering decisions between the current and updated code environments. A steering server uses the steering policy to make decisions about whether to send service requests to the current code environment or the updated code environment. Feedback concerning actual steering decisions made by the steering server is received (e.g., performance metrics). The steering policy is automatically adjusted in response to the feedback.
    Type: Grant
    Filed: November 12, 2015
    Date of Patent: April 23, 2019
    Assignee: A10 Networks, Inc.
    Inventors: Ragavan Ramanathan, Alak Deb, Sudarshan Raghavan, Anirudha Kamatgi, Sridhar Srinivasan, Girish Karthik Ramasamy, Srinath Chandrashekhar, Akshay Mathur
  • Patent number: 10162748
    Abstract: Systems, methods and/or devices are used to enable prioritizing garbage collection and block allocation based on I/O history for logical address regions. In one aspect, the method includes (1) receiving, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host, (2) in accordance with the plurality of I/O requests over a predetermined time period, identifying an idle region of the plurality of regions in the logical address space of the host, and (3) in accordance with the identification of the idle region, enabling garbage collection of data storage blocks, in the storage device, that store data in the idle region.
    Type: Grant
    Filed: July 3, 2014
    Date of Patent: December 25, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Dharani Kotte, Akshay Mathur, Chayan Biswas, Sumant K. Patro, Baskaran Kannan
  • Patent number: 10146448
    Abstract: Systems, methods and/or devices are used to enable using history of I/O sequences to trigger cached read ahead in a non-volatile storage device. In one aspect, the method includes (1) receiving, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region has a history of sequential read requests during a predetermined time period, and (b) in accordance with a determination that the region has a history of sequential read requests during the predetermined time period, enabling read ahead logic for the region.
    Type: Grant
    Filed: July 3, 2014
    Date of Patent: December 4, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Dharani Kotte, Akshay Mathur, Baskaran Kannan, Sumant K. Patro
  • Patent number: 10114557
    Abstract: Systems, methods and/or devices are used to enable identification of hot regions to enhance performance and endurance of a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region is accessed by the plurality of I/O requests more than a predetermined threshold number of times during a predetermined time period, (b) if so, marking the region with a hot region indicator, and (c) while the region is marked with the hot region indicator, identifying open blocks associated with the region, and marking each of the identified open blocks with a hot block indicator.
    Type: Grant
    Filed: July 3, 2014
    Date of Patent: October 30, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Dharani Kotte, Akshay Mathur, Chayan Biswas, Sumant K. Patro
  • Patent number: 10019174
    Abstract: A storage device may be configured to determine a delay associated with execution of a read operation responsive to a read command for data stored at the storage device. The storage device may send a notification that indicates the delay, that includes data that indicates a duration of the delay, or both. In response to receiving the notification, an access device may be configured to generate a second read command for redundant associated with data stored at the storage device.
    Type: Grant
    Filed: October 27, 2015
    Date of Patent: July 10, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Brian Walter O'Krafka, Johann George, Akshay Mathur
  • Patent number: 9703491
    Abstract: Systems, methods and/or devices are used to enable using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests including read requests and write requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region has a history of unaligned write requests during a predetermined time period, and (b) if so: (i) determining one or more sub-regions within the region that are accessed more than a predetermined threshold number of times during the predetermined time period, and (ii) caching data from the determined one or more sub-regions.
    Type: Grant
    Filed: July 3, 2014
    Date of Patent: July 11, 2017
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Akshay Mathur, Dharani Kotte, Chayan Biswas, Baskaran Kannan
  • Publication number: 20170115891
    Abstract: A storage device may be configured to determine a delay associated with execution of a read operation responsive to a read command for data stored at the storage device. The storage device may send a notification that indicates the delay, that includes data that indicates a duration of the delay, or both. In response to receiving the notification, an access device may be configured to generate a second read command for redundant associated with data stored at the storage device.
    Type: Application
    Filed: October 27, 2015
    Publication date: April 27, 2017
    Inventors: Brian Walter O'Krafka, Johann George, Akshay Mathur
  • Publication number: 20170024140
    Abstract: Embodiments herein provide a method for metadata storage management. The method includes receiving a write request having a data. Further, the method includes storing the data in a log entry of a first portion of a metadata log in the Non-volatile memory. Further, the method includes returning an acknowledgement to the write request. Further, the method includes copying the log entry to a second portion of the metadata log. Further, the method includes flushing the data from the second portion to a Solid-state drive (SSD).
    Type: Application
    Filed: July 19, 2016
    Publication date: January 26, 2017
    Inventors: Srikanth Tumkur Shivanand, Akshay MATHUR, Praveen KUMAR
  • Patent number: 9507711
    Abstract: In a memory system having non-volatile memory and volatile memory, write data are stored in a write-coalescing buffer in the volatile memory until the write data is written to non-volatile memory. First and second level address mapping tables are stored in the volatile memory and corresponding first and second level address mapping tables are stored in the non-volatile memory, and furthermore the second level address mapping table in the volatile memory contains entries corresponding to only a subset of the entries in the second level address mapping table in the non-volatile memory. The first address-mapping table in volatile memory includes entries storing pointers to entries in the second address-mapping table in volatile memory, entries storing pointers to locations in the write-coalescing buffer, and entries storing pointers to locations in the non-volatile memory that store data.
    Type: Grant
    Filed: May 22, 2015
    Date of Patent: November 29, 2016
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Dharani Kotte, Akshay Mathur, Satish B. Vasudeva, Sumant K. Patro
  • Publication number: 20160342509
    Abstract: In a memory system having non-volatile memory and volatile memory, write data are stored in a write-coalescing buffer in the volatile memory until the write data is written to non-volatile memory. First and second level address mapping tables are stored in the volatile memory and corresponding first and second level address mapping tables are stored in the non-volatile memory, and furthermore the second level address mapping table in the volatile memory contains entries corresponding to only a subset of the entries in the second level address mapping table in the non-volatile memory. The first address-mapping table in volatile memory includes entries storing pointers to entries in the second address-mapping table in volatile memory, entries storing pointers to locations in the write-coalescing buffer, and entries storing pointers to locations in the non-volatile memory that store data.
    Type: Application
    Filed: May 22, 2015
    Publication date: November 24, 2016
    Inventors: Dharani Kotte, Akshay Mathur, Satish B. Vasudeva, Sumant K. Patro
  • Publication number: 20160139910
    Abstract: Policy-driven management of application traffic is provided for services to cloud-based applications. A steering policy refers to a set of rules is generated for a deployment from a current code environment to one or more replicated code environment differing in some key respect. The steering policy can guide steering decisions between the current and updated code environments. A steering server uses the steering policy to make decisions about whether to send service requests to the current code environment or the updated code environment. Feedback concerning actual steering decisions made by the steering server is received (e.g., performance metrics). The steering policy is automatically adjusted in response to the feedback.
    Type: Application
    Filed: November 12, 2015
    Publication date: May 19, 2016
    Inventors: Ragavan Ramanathan, Alak Deb, Sudarshan Raghavan, Anirudha Kamatgi, Sridhar Srinivasan, Girish Karthik Ramasamy, Srinath Chandrashekhar, Akshay Mathur
  • Publication number: 20150347030
    Abstract: Systems, methods and/or devices are used to enable using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests including read requests and write requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region has a history of unaligned write requests during a predetermined time period, and (b) if so: (i) determining one or more sub-regions within the region that are accessed more than a predetermined threshold number of times during the predetermined time period, and (ii) caching data from the determined one or more sub-regions.
    Type: Application
    Filed: July 3, 2014
    Publication date: December 3, 2015
    Inventors: Akshay Mathur, Dharani Kotte, Chayan Biswas, Baskaran Kannan
  • Publication number: 20150347041
    Abstract: Systems, methods and/or devices are used to enable using history of I/O sequences to trigger cached read ahead in a non-volatile storage device. In one aspect, the method includes (1) receiving, at a storage device, a plurality of input/output (I/O) requests from a host, the plurality of I/O requests including read requests and write requests to be performed in a plurality of regions in a logical address space of the host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region has a history of sequential read requests during a predetermined time period, and (b) in accordance with a determination that the region has a history of sequential read requests during the predetermined time period, enabling read ahead logic for the region.
    Type: Application
    Filed: July 3, 2014
    Publication date: December 3, 2015
    Inventors: Dharani Kotte, Akshay Mathur, Baskaran Kannan, Sumant K. Patro
  • Publication number: 20150347013
    Abstract: Systems, methods and/or devices are used to enable using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests including read requests and write requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including, for each sub-region of a plurality of sub-regions of the region: (a) determining whether the sub-region is accessed more than a predetermined threshold number of times during a predetermined time period, and (b) if so, caching, from a storage medium of the storage device to a cache of the storage device, data from the sub-region.
    Type: Application
    Filed: July 3, 2014
    Publication date: December 3, 2015
    Inventors: Akshay Mathur, Dharani Kotte, Chayan Biswas, Baskaran Kannan, Sumant K. Patro
  • Publication number: 20150347040
    Abstract: Systems, methods and/or devices are used to enable using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device. In one aspect, the method includes (1) receiving a plurality of input/output (I/O) requests to be performed in a plurality of regions in a logical address space of a host, and (2) performing one or more operations for each region of the plurality of regions in the logical address space of the host, including (a) determining whether the region has a history of I/O requests to access data of size less than a predefined small-size threshold during a predetermined time period, (b) determining whether the region has a history of sequential write requests during the predetermined time period, and (c) if both determinations are true, coalescing subsequent write requests to the region.
    Type: Application
    Filed: July 3, 2014
    Publication date: December 3, 2015
    Inventors: Akshay Mathur, Dharani Kotte, Chayan Biswas, Baskaran Kannan, Sumant K. Patro