Patents by Inventor Ricardo Cassia

Ricardo Cassia 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: 20220113912
    Abstract: A storage device. In some embodiments the storage device includes a storage controller; a nonvolatile memory device connected to the storage controller through a first physical interface, and a processing circuit. The processing circuit may be connected, through a second physical interface, to the storage controller or to the nonvolatile memory device, the second physical interface being the same as the first physical interface.
    Type: Application
    Filed: December 22, 2021
    Publication date: April 14, 2022
    Inventors: Ricardo CASSIA, Vladimir ALVES
  • Publication number: 20200387330
    Abstract: A storage device. In some embodiments the storage device includes a storage controller; a nonvolatile memory device connected to the storage controller through a first physical interface, and a processing circuit. The processing circuit may be connected, through a second physical interface, to the storage controller or to the nonvolatile memory device, the second physical interface being the same as the first physical interface.
    Type: Application
    Filed: June 9, 2020
    Publication date: December 10, 2020
    Inventors: Ricardo Cassia, Vladimir Alves
  • Patent number: 10691417
    Abstract: A system and method for executing user-provided code securely on a solid state drive (SSD) to perform data processing on the SSD. In one embodiment, a user uses a security-oriented cross-compiler to compile user-provided source code for a data processing task on a host computer containing, or otherwise connected to, an SSD. The resulting binary is combined with lists of input and output file identifiers and sent to the SSD. A central processing unit (CPU) on the SSD extracts the binary and the lists of file identifiers. The CPU obtains from the host file system the addresses of storage areas in the SSD containing the data in the input files, reads the input data, executes the binary using a container, and writes the results of the data processing task back to the SSD, in areas corresponding to the output file identifiers.
    Type: Grant
    Filed: November 16, 2018
    Date of Patent: June 23, 2020
    Assignee: NGD SYSTEMS, INC.
    Inventors: Kamyar Souri, Joao Alcantara, Ricardo Cassia
  • Patent number: 10338832
    Abstract: A system and method for combining the execution of a query with other operations, such as a data retention scan, in a storage device, when the execution of the query is not time-sensitive. The storage device may be connected to a host, and may operate during intervals of time in a power save mode. When a query is received by the host that is not time-sensitive, the query may be stored in the host or in the storage device until such time as the device would otherwise return to a normal operating mode, and then the query may be executed. Such delayed execution may enable the sharing of read operations for the query with read operations used, for example, for the execution of other queries or for a data retention scan.
    Type: Grant
    Filed: September 1, 2017
    Date of Patent: July 2, 2019
    Assignee: NGD Systems, Inc.
    Inventors: Joao Alcantara, Ricardo Cassia, Vincent Lazo, Kamyar Souri
  • Patent number: 10268420
    Abstract: A system and method for providing consistent performance in a storage device, such as a solid state drive. A threshold value for command execution time for a command in a category of command (e.g., a read command or a write command) and a command size, is stored in the storage device. When a host command in the category (e.g., a read command) and corresponding size is received, the storage device executes the command, and if it completes execution of the command in a time that is less than the threshold value, the solid state drive waits until an amount of time equal to the threshold value has elapsed before sending the command completion.
    Type: Grant
    Filed: April 10, 2018
    Date of Patent: April 23, 2019
    Assignee: NGD Systems, Inc.
    Inventors: Joao Alcantara, Ricardo Cassia, Kamyar Souri, Vladimir Alves, Guangming Lu
  • Publication number: 20190087159
    Abstract: A system and method for executing user-provided code securely on a solid state drive (SSD) to perform data processing on the SSD. In one embodiment, a user uses a security-oriented cross-compiler to compile user-provided source code for a data processing task on a host computer containing, or otherwise connected to, an SSD. The resulting binary is combined with lists of input and output file identifiers and sent to the SSD. A central processing unit (CPU) on the SSD extracts the binary and the lists of file identifiers. The CPU obtains from the host file system the addresses of storage areas in the SSD containing the data in the input files, reads the input data, executes the binary using a container, and writes the results of the data processing task back to the SSD, in areas corresponding to the output file identifiers.
    Type: Application
    Filed: November 16, 2018
    Publication date: March 21, 2019
    Inventors: Kamyar Souri, Joao Alcantara, Ricardo Cassia
  • Patent number: 10176092
    Abstract: A system and method of providing enhanced data processing and analysis in an infrastructure for distributed computing and large-scale data processing. This infrastructure uses the Apache Spark framework to divide an application into a large number of small fragments of work, each of which may be performed on one of a large number of compute nodes. The work may involve Spark transformations, operations, and actions, which may be used to categorize and analyze large amounts of data in distributed systems. This infrastructure includes a cluster with a driver node and a plurality of worker nodes. The worker nodes may be, or may include, intelligent solid state drives capable of executing data processing functions under the Apache Spark framework. The use of intelligent solid state drives reduces the need to exchange data with a central processing unit (CPU) in a server.
    Type: Grant
    Filed: September 20, 2017
    Date of Patent: January 8, 2019
    Assignee: NGD Systems, Inc.
    Inventors: Joao Alcantara, Vladimir Alves, Ricardo Cassia, Vincent Lazo
  • Patent number: 10168997
    Abstract: A system and method for executing user-provided code securely on a solid state drive (SSD) to perform data processing on the SSD. In one embodiment, a user uses a security-oriented cross-compiler to compile user-provided source code for a data processing task on a host computer containing, or otherwise connected to, an SSD. The resulting binary is combined with lists of input and output file identifiers and sent to the SSD. A central processing unit (CPU) on the SSD extracts the binary and the lists of file identifiers. The CPU obtains from the host file system the addresses of storage areas in the SSD containing the data in the input files, reads the input data, executes the binary using a container, and writes the results of the data processing task back to the SSD, in areas corresponding to the output file identifiers.
    Type: Grant
    Filed: December 5, 2014
    Date of Patent: January 1, 2019
    Assignee: NGD Systems, Inc.
    Inventors: Kamyar Souri, Joao Alcantara, Ricardo Cassia
  • Publication number: 20180232180
    Abstract: A system and method for providing consistent performance in a storage device, such as a solid state drive. A threshold value for command execution time for a command in a category of command (e.g., a read command or a write command) and a command size, is stored in the storage device. When a host command in the category (e.g., a read command) and corresponding size is received, the storage device executes the command, and if it completes execution of the command in a time that is less than the threshold value, the solid state drive waits until an amount of time equal to the threshold value has elapsed before sending the command completion.
    Type: Application
    Filed: April 10, 2018
    Publication date: August 16, 2018
    Inventors: Joao Alcantara, Ricardo Cassia, Kamyar Souri, Vladimir Alves, Guangming Lu
  • Patent number: 9983831
    Abstract: A system and method for providing consistent performance in a storage device, such as a solid state drive. A threshold value for command execution time for a command in a category of command (e.g., a read command or a write command) and a command size, is stored in the storage device. When a host command in the category (e.g., a read command) and corresponding size is received, the storage device executes the command, and if it completes execution of the command in a time that is less than the threshold value, the solid state drive waits until an amount of time equal to the threshold value has elapsed before sending the command completion.
    Type: Grant
    Filed: August 5, 2016
    Date of Patent: May 29, 2018
    Assignee: NGD SYSTEMS, INC.
    Inventors: Joao Alcantara, Ricardo Cassia, Kamyar Souri, Vladimir Alves, Guangming Lu
  • Publication number: 20180081798
    Abstract: A system and method of providing enhanced data processing and analysis in an infrastructure for distributed computing and large-scale data processing. This infrastructure uses the Apache Spark framework to divide an application into a large number of small fragments of work, each of which may be performed on one of a large number of compute nodes. The work may involve Spark transformations, operations, and actions, which may be used to categorize and analyze large amounts of data in distributed systems. This infrastructure includes a cluster with a driver node and a plurality of worker nodes. The worker nodes may be, or may include, intelligent solid state drives capable of executing data processing functions under the Apache Spark framework. The use of intelligent solid state drives reduces the need to exchange data with a central processing unit (CPU) in a server.
    Type: Application
    Filed: September 20, 2017
    Publication date: March 22, 2018
    Inventors: Joao Alcantara, Vladimir Alves, Ricardo Cassia, Vincent Lazo
  • Publication number: 20180059972
    Abstract: A system and method for combining the execution of a query with other operations, such as a data retention scan, in a storage device, when the execution of the query is not time-sensitive. The storage device may be connected to a host, and may operate during intervals of time in a power save mode. When a query is received by the host that is not time-sensitive, the query may be stored in the host or in the storage device until such time as the device would otherwise return to a normal operating mode, and then the query may be executed. Such delayed execution may enable the sharing of read operations for the query with read operations used, for example, for the execution of other queries or for a data retention scan.
    Type: Application
    Filed: September 1, 2017
    Publication date: March 1, 2018
    Inventors: Joao Alcantara, Ricardo Cassia, Vincent Lazo, Kamyar Souri
  • Patent number: 9753661
    Abstract: A system and method for combining the execution of a query with other operations, such as a data retention scan, in a storage device, when the execution of the query is not time-sensitive. The storage device may be connected to a host, and may operate during intervals of time in a power save mode. When a query is received by the host that is not time-sensitive, the query may be stored in the host or in the storage device until such time as the device would otherwise return to a normal operating mode, and then the query may be executed. Such delayed execution may enable the sharing of read operations for the query with read operations used, for example, for the execution of other queries or for a data retention scan.
    Type: Grant
    Filed: September 8, 2016
    Date of Patent: September 5, 2017
    Assignee: NGD Systems, Inc.
    Inventors: Joao Alcantara, Ricardo Cassia, Vincent Lazo, Kamyar Souri
  • Patent number: 9602130
    Abstract: A system and method for comparing a character from a search space simultaneously to each of a set of search characters. The set of search characters may correspond to a regular expression. In one embodiment, the search space character is encoded to a short binary presentation (e.g., to an 8-bit representation), which is then converted to a long binary representation one bit of which is set, at a first position in the long binary representation corresponding to the value of the short representation. Each character of the set of search characters is similarly encoded and converted to a respective long binary representation. If the bit in one of the long binary representations corresponding to the set of search characters is set, it indicates that the search character matches the corresponding character of the set of search characters.
    Type: Grant
    Filed: August 19, 2016
    Date of Patent: March 21, 2017
    Assignee: NGD Systems, Inc.
    Inventors: Ricardo Cassia, Joao Alcantara, Kamyar Souri
  • Publication number: 20170003901
    Abstract: A system and method for combining the execution of a query with other operations, such as a data retention scan, in a storage device, when the execution of the query is not time-sensitive. The storage device may be connected to a host, and may operate during intervals of time in a power save mode. When a query is received by the host that is not time-sensitive, the query may be stored in the host or in the storage device until such time as the device would otherwise return to a normal operating mode, and then the query may be executed. Such delayed execution may enable the sharing of read operations for the query with read operations used, for example, for the execution of other queries or for a data retention scan.
    Type: Application
    Filed: September 8, 2016
    Publication date: January 5, 2017
    Inventors: Joao Alcantara, Ricardo Cassia, Vincent Lazo, Kamyar Souri
  • Publication number: 20160359501
    Abstract: A system and method for comparing a character from a search space simultaneously to each of a set of search characters. The set of search characters may correspond to a regular expression. In one embodiment, the search space character is encoded to a short binary presentation (e.g., to an 8-bit representation), which is then converted to a long binary representation one bit of which is set, at a first position in the long binary representation corresponding to the value of the short representation. Each character of the set of search characters is similarly encoded and converted to a respective long binary representation. If the bit in one of the long binary representations corresponding to the set of search characters is set, it indicates that the search character matches the corresponding character of the set of search characters.
    Type: Application
    Filed: August 19, 2016
    Publication date: December 8, 2016
    Inventors: Ricardo Cassia, Joao Alcantara, Kamyar Souri
  • Publication number: 20160342367
    Abstract: A system and method for providing consistent performance in a storage device, such as a solid state drive. A threshold value for command execution time for a command in a category of command (e.g., a read command or a write command) and a command size, is stored in the storage device. When a host command in the category (e.g., a read command) and corresponding size is received, the storage device executes the command, and if it completes execution of the command in a time that is less than the threshold value, the solid state drive waits until an amount of time equal to the threshold value has elapsed before sending the command completion.
    Type: Application
    Filed: August 5, 2016
    Publication date: November 24, 2016
    Inventors: Joao Alcantara, Ricardo Cassia, Kamyar Souri, Vladimir Alves, Guangming Lu
  • Publication number: 20160041596
    Abstract: The solution described here is a method to schedule the execution of data processing tasks while data retention operations need to be performed. The main objective of this approach is to minimize the power consumption of the host data processing tasks that are not time sensitive. The Storage Device may be in a power saving mode or even off at the time the Host wants to execute a data processing task. For non-critical data processing tasks, the Host activates the device at a specific time estimated by the drive to run data retention tasks, and then sends the data processing function to the device. The device executes the Host data processing tasks and also performs the data retention operations accordingly. After the entire process is complete, the device can return to the initial power state or any power state determined by the Host.
    Type: Application
    Filed: August 3, 2015
    Publication date: February 11, 2016
    Inventors: Joao Alcantara, Ricardo Cassia, Vincent Lazo, Kamyar Souri
  • Publication number: 20160043736
    Abstract: Method to simultaneously detect all possible types, combinations and/or ranges of characters of a Regular Expression search pattern in a search space by re-encoding the search pattern and the search space in single set bit representations, employing a single detection logic. The search space n-bit representation is re-encoded into a single set bit representation of 2n bits while single/multiple search pattern(s) n-bit representation(s) is (are) re-encoded and combined into a sole single/multiple set bit representation of 2n bits. The hardware implementation of the method detects the presence of any character existent from the search pattern in the search space.
    Type: Application
    Filed: August 3, 2015
    Publication date: February 11, 2016
    Inventors: Ricardo Cassia, Joao Alcantara, Kamyar Souri
  • Publication number: 20160026402
    Abstract: The solution described here is a method to provide consistent performance in a storage device. A performance manager module is implemented to measure the time interval in which a command takes to be completed. In case the time interval is longer than a certain threshold, the difference is annotated and used on the consecutive commands within a programmable time window. This time window can be a regular time interval e.g. every second. In case the time interval is shorter than a threshold, the control module delays sending the command completion to the host until the threshold value is reached. The delay is adjusted based on the credit annotation due to commands that took longer than the time interval to be completed in order to compensate for commands that took longer than the threshold to complete, during a certain time window.
    Type: Application
    Filed: July 22, 2015
    Publication date: January 28, 2016
    Inventors: Joao Alcantara, Ricardo Cassia, Kamyar Souri, Vladimir Alves, Guangming Lu