Patents by Inventor Rajinikanth PANDURANGAN

Rajinikanth PANDURANGAN 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: 10956294
    Abstract: A system and method of generating representative I/O. The system is configured to utilize representative I/O patterns stored in a pattern database. A user may select one or more patterns to perform I/O using. The patterns are modified according to user supplied parameters and multiple parameters are integrated into a single workload. I/O is then generated according to the workload and system performance may be measured.
    Type: Grant
    Filed: December 22, 2017
    Date of Patent: March 23, 2021
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Janki Sharadkumar Bhimani, Rajinikanth Pandurangan, Vijay Balakrishnan, Changho Choi
  • Patent number: 10901907
    Abstract: A method for providing a Bloom filter for a multi-stream enabled solid-state drive (SSD) is disclosed. The Bloom filter includes two Bloom filter arrays, a counter corresponding to the two Bloom filter arrays, and a masking logic. The method includes: inserting an element in one or more of the two Bloom filter arrays using a plurality of hash functions; and updating the counter based on the insertion of the element. The method further includes: updating the Bloom filter by inserting one or more additional elements in one or more of the two Bloom filter arrays and updating the counter; and masking a data stored in the Bloom filter with the one or more additional elements to pseudo delete the data using the masking logic and reduce a false positive rate of the Bloom filter.
    Type: Grant
    Filed: February 13, 2018
    Date of Patent: January 26, 2021
    Inventors: Janki Bhimani, Rajinikanth Pandurangan, Vijay Balakrishnan, Changho Choi
  • Patent number: 10880071
    Abstract: A programmable data storage device includes: a non-volatile memory; a storage controller configured to control the non-volatile memory; a network interface; and a field programmable gate array configured to: implement a blockchain algorithm; and store at least one block of a blockchain corresponding to the blockchain algorithm in the non-volatile memory via the storage controller; and a processor having memory coupled thereto, the memory having instructions stored thereon that, when executed by the processor, cause the processor to: send and receive one or more blocks of the blockchain via the network interface; and control the field programmable gate array to execute the blockchain algorithm on the one or more blocks of the blockchain.
    Type: Grant
    Filed: May 16, 2018
    Date of Patent: December 29, 2020
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Rajinikanth Pandurangan, Vijay Balakrishnan
  • Patent number: 10866905
    Abstract: Embodiments include a multi-stream storage device, a system including a multi-stream storage device, and a method, comprising: receiving an access to a multi-stream storage device; converting at least one parameter of the access into a stream identifier; and accessing the multi-stream storage device using the stream identifier.
    Type: Grant
    Filed: December 22, 2016
    Date of Patent: December 15, 2020
    Inventors: Rajinikanth Pandurangan, Changho Choi, Jingpei Yang
  • Publication number: 20200293443
    Abstract: A Solid State Drive (SSD) is disclosed. The SSD may include flash memory to store data. An SSD controller may manage reading and writing data to the flash memory. The SSD may include an automatic stream detection logic to select a stream identifier responsive to attributes of data. A garbage collection logic may select an erase block and program valid data in the erase block into a second block responsive to a stream ID determined the automatic stream detection logic. The stream ID may be determined after the garbage collection logic has selected the erase block for garbage collection.
    Type: Application
    Filed: June 3, 2020
    Publication date: September 17, 2020
    Inventors: Rajinikanth PANDURANGAN, Changho CHOI
  • Publication number: 20200249839
    Abstract: A Solid State Drive (SSD) is disclosed. The SSD may include flash memory to store data and may support a plurality of device streams. A SSD controller may manage reading and writing data to the flash memory, and may store a submission queue and a chunk-to-stream mapper. A flash translation layer may include a receiver to receive a write command, an LBA mapper to map an LBA to a chunk identifier (ID), stream selection logic to select a stream ID based on the chunk ID, a stream ID adder to add the stream ID to the write command, a queuer to place the chunk ID in the submission queue, and background logic to update the chunk-to-stream mapper after the chunk ID is removed from the submission queue.
    Type: Application
    Filed: April 22, 2020
    Publication date: August 6, 2020
    Inventors: Jingpei YANG, Changho CHOI, Rajinikanth PANDURANGAN, Vijay BALAKRISHNAN, Ramaraj PANDIAN
  • Patent number: 10698808
    Abstract: A Solid State Drive (SSD) is disclosed. The SSD may include flash memory to store data. An SSD controller may manage reading and writing data to the flash memory. The SSD may include an automatic stream detection logic to select a stream identifier responsive to attributes of data. A garbage collection logic may select an erase block and program valid data in the erase block into a second block responsive to a stream ID determined the automatic stream detection logic. The stream ID may be determined after the garbage collection logic has selected the erase block for garbage collection.
    Type: Grant
    Filed: June 12, 2017
    Date of Patent: June 30, 2020
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Rajinikanth Pandurangan, Changho Choi
  • Patent number: 10656838
    Abstract: A Solid State Drive (SSD) is disclosed. The SSD may include flash memory to store data and may support a plurality of device streams. A SSD controller may manage reading and writing data to the flash memory, and may store a submission queue and a chunk-to-stream mapper. A flash translation layer may include a receiver to receive a write command, an LBA mapper to map an LBA to a chunk identifier (ID), stream selection logic to select a stream ID based on the chunk ID, a stream ID adder to add the stream ID to the write command, a queuer to place the chunk ID in the submission queue, and background logic to update the chunk-to-stream mapper after the chunk ID is removed from the submission queue.
    Type: Grant
    Filed: April 27, 2017
    Date of Patent: May 19, 2020
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Jingpei Yang, Changho Choi, Rajinikanth Pandurangan, Vijay Balakrishnan, Ramaraj Pandian
  • Publication number: 20190268141
    Abstract: A programmable data storage device includes: a non-volatile memory; a storage controller configured to control the non-volatile memory; a network interface; and a field programmable gate array configured to: implement a blockchain algorithm; and store at least one block of a blockchain corresponding to the blockchain algorithm in the non-volatile memory via the storage controller; and a processor having memory coupled thereto, the memory having instructions stored thereon that, when executed by the processor, cause the processor to: send and receive one or more blocks of the blockchain via the network interface; and control the field programmable gate array to execute the blockchain algorithm on the one or more blocks of the blockchain.
    Type: Application
    Filed: May 16, 2018
    Publication date: August 29, 2019
    Inventors: Rajinikanth Pandurangan, Vijay Balakrishnan
  • Publication number: 20190196713
    Abstract: A Solid State Drive (SSD) is disclosed. The SSD may include flash memory to store data and may support a plurality of device streams. A SSD controller may manage reading and writing data to the flash memory, and may store a submission queue and a chunk-to-stream mapper. A flash translation layer may include a receiver to receive a write command, an LBA mapper to map an LBA to a chunk identifier (ID), stream selection logic to select a stream ID based on the chunk ID, a stream ID adder to add the stream ID to the write command, a queuer to place the chunk ID in the submission queue, and background logic to update the chunk-to-stream mapper after the chunk ID is removed from the submission queue.
    Type: Application
    Filed: April 27, 2017
    Publication date: June 27, 2019
    Inventors: Jingpei YANG, Changho CHOI, Rajinikanth PANDURANGAN, Vijay BALAKRISHNAN, Ramaraj PANDIAN
  • Patent number: 10324832
    Abstract: Embodiments include a multi-stream storage device, a system including a multi-stream storage device, and a method, comprising: receiving an access to a logical address associated with a multi-stream storage device; converting the logical address into a stream identifier; and accessing the multi-stream storage device using the logical address and the stream identifier.
    Type: Grant
    Filed: August 5, 2016
    Date of Patent: June 18, 2019
    Assignee: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Jingpei Yang, Changho Choi, Rajinikanth Pandurangan
  • Publication number: 20190121742
    Abstract: A method for providing a Bloom filter for a multi-stream enabled solid-state drive (SSD) is disclosed. The Bloom filter includes two Bloom filter arrays, a counter corresponding to the two Bloom filter arrays, and a masking logic. The method includes: inserting an element in one or more of the two Bloom filter arrays using a plurality of hash functions; and updating the counter based on the insertion of the element. The method further includes: updating the Bloom filter by inserting one or more additional elements in one or more of the two Bloom filter arrays and updating the counter; and masking a data stored in the Bloom filter with the one or more additional elements to pseudo delete the data using the masking logic and reduce a false positive rate of the Bloom filter.
    Type: Application
    Filed: February 13, 2018
    Publication date: April 25, 2019
    Inventors: Janki Bhimani, Rajinikanth Pandurangan, Vijay Balakrishnan, Changho Choi
  • Publication number: 20190087300
    Abstract: A system and method of generating representative I/O. The system is configured to utilize representative I/O patterns stored in a pattern database. A user may select one or more patterns to perform I/O using. The patterns are modified according to user supplied parameters and multiple parameters are integrated into a single workload. I/O is then generated according to the workload and system performance may be measured.
    Type: Application
    Filed: December 22, 2017
    Publication date: March 21, 2019
    Inventors: Janki Sharadkumar Bhimani, Rajinikanth Pandurangan, Vijay Balakrishnan, Changho Choi
  • Publication number: 20180321855
    Abstract: A storage device is disclosed. The storage device may include storage to store data, which may include a first storage of a first type and a second storage of a second type. The storage device may support a number of device streams, some of which associated with the first storage and some associated with the second storage. The storage device may also include a streaming capabilities analyzer that may inventory the streaming capabilities for the storage device. Finally, the storage device may include a transmitter to transmit the streaming capabilities of the storage device to a storage manager.
    Type: Application
    Filed: August 29, 2017
    Publication date: November 8, 2018
    Inventors: Jason MARTINEAU, Changho CHOI, Rajinikanth PANDURANGAN, Jingpei YANG
  • Publication number: 20180307596
    Abstract: A Solid State Drive (SSD) is disclosed. The SSD may include flash memory to store data. An SSD controller may manage reading and writing data to the flash memory. The SSD may include an automatic stream detection logic to select a stream identifier responsive to attributes of data. A garbage collection logic may select an erase block and program valid data in the erase block into a second block responsive to a stream ID determined the automatic stream detection logic. The stream ID may be determined after the garbage collection logic has selected the erase block for garbage collection.
    Type: Application
    Filed: June 12, 2017
    Publication date: October 25, 2018
    Inventors: Rajinikanth PANDURANGAN, Changho CHOI
  • Publication number: 20180307598
    Abstract: A Solid State Drive (SSD) is disclosed. The SSD may include storage for data and a host interface logic to receive requests from a host machine. The SSD may also include an SSD controller to manage reading data from and writing data to the storage responsive to the requests. The SSD controller may include a flash translation layer to translate logical addresses to physical addresses, a garbage collection logic to perform garbage collection on an erase block that includes a valid page, a stream logic to manage stream characteristics for the data in the valid page, and a restreamer logic to assign the valid page to a new block based on the stream characteristics.
    Type: Application
    Filed: November 22, 2017
    Publication date: October 25, 2018
    Inventors: Stephen G. FISCHER, Changho CHOI, Jason MARTINEAU, Rajinikanth PANDURANGAN
  • Publication number: 20170344491
    Abstract: Embodiments include a multi-stream storage device, a system including a multi-stream storage device, and a method, comprising: receiving an access to a multi-stream storage device; converting at least one parameter of the access into a stream identifier; and accessing the multi-stream storage device using the stream identifier.
    Type: Application
    Filed: December 22, 2016
    Publication date: November 30, 2017
    Inventors: Rajinikanth PANDURANGAN, Changho CHOI, Jingpei YANG
  • Publication number: 20170344470
    Abstract: Embodiments include a multi-stream storage device, a system including a multi-stream storage device, and a method, comprising: receiving an access to a logical address associated with a multi-stream storage device; converting the logical address into a stream identifier; and accessing the multi-stream storage device using the logical address and the stream identifier.
    Type: Application
    Filed: August 5, 2016
    Publication date: November 30, 2017
    Inventors: Jingpei YANG, Changho CHOI, Rajinikanth PANDURANGAN
  • Publication number: 20170285967
    Abstract: A solid state drive (SSD) includes a first memory; a second memory of a different type than the first memory; a third memory of a different type than the first memory and of a different type than the second memory; and a weight determiner for determining a weightage of externally supplied data, prior to storing the data in any of the first memory, the second memory, or the third memory, and for assigning the data to one of the first memory, the second memory, or the third memory based on the determined weightage.
    Type: Application
    Filed: May 20, 2016
    Publication date: October 5, 2017
    Inventors: Rajinikanth Pandurangan, Changho Choi
  • Publication number: 20170242625
    Abstract: A solid state drive including non-flash memory for storage of short-lifetime data and/or frequently updated data. The solid state drive is configured, when it receives a write command, to identify short lifetime data, and store it in non-flash memory, e.g., DRAM, instead of flash memory and store longer lifetime data to flash memory. When the non-flash memory is volatile memory (e.g., DRAM) the solid state drive may also include an energy storage device, such as a supercapacitor, to provide temporary power to move data from the volatile memory to flash memory if supply power is interrupted.
    Type: Application
    Filed: April 25, 2016
    Publication date: August 24, 2017
    Inventors: Rajinikanth Pandurangan, Changho Choi