Patents by Inventor JOAO ALCANTARA
JOAO ALCANTARA 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: 10691417Abstract: 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: GrantFiled: November 16, 2018Date of Patent: June 23, 2020Assignee: NGD SYSTEMS, INC.Inventors: Kamyar Souri, Joao Alcantara, Ricardo Cassia
-
Patent number: 10338832Abstract: 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: GrantFiled: September 1, 2017Date of Patent: July 2, 2019Assignee: NGD Systems, Inc.Inventors: Joao Alcantara, Ricardo Cassia, Vincent Lazo, Kamyar Souri
-
Patent number: 10268420Abstract: 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: GrantFiled: April 10, 2018Date of Patent: April 23, 2019Assignee: NGD Systems, Inc.Inventors: Joao Alcantara, Ricardo Cassia, Kamyar Souri, Vladimir Alves, Guangming Lu
-
Publication number: 20190087159Abstract: 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: ApplicationFiled: November 16, 2018Publication date: March 21, 2019Inventors: Kamyar Souri, Joao Alcantara, Ricardo Cassia
-
Patent number: 10198215Abstract: A method of writing multi-stream host data to a storage device comprising a CPU, a multi-stream fast release buffer (FRB), and a non-volatile memory (NVM), includes: receiving a command to write the multi-stream host data to the NVM, the multi-stream host data being associated with a logical block number (LBN) and a new stream ID, recording a status of the active stream ID and retrieving a status of the new stream ID to determine a physical address in the NVM for storing one or more codewords (CWs) corresponding to the multi-stream host data, allocating space in a buffer of the FRB for storage of the multi-stream host data, organizing the multi-stream host data into the one or more CWs, and storing the one or more CWs into the allocated space in the buffer, transferring the one or more CWs from the buffer to the physical address in the NVM.Type: GrantFiled: January 30, 2017Date of Patent: February 5, 2019Assignee: NGD Systems, Inc.Inventors: Vincent Lazo, Joao Alcantara
-
Patent number: 10176092Abstract: 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: GrantFiled: September 20, 2017Date of Patent: January 8, 2019Assignee: NGD Systems, Inc.Inventors: Joao Alcantara, Vladimir Alves, Ricardo Cassia, Vincent Lazo
-
Patent number: 10168997Abstract: 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: GrantFiled: December 5, 2014Date of Patent: January 1, 2019Assignee: NGD Systems, Inc.Inventors: Kamyar Souri, Joao Alcantara, Ricardo Cassia
-
Patent number: 10101930Abstract: A method for memory-efficient backup of a logical-to-physical (LtoP) table in a storage device having a processor, a volatile memory, and a non-volatile memory, includes retrieving and subsequently processing, by the processor, a plurality of flushed zone segments stored in a first block stripe of the non-volatile memory in an order opposite to an order of storage of the plurality of flushed zone segments in the first block stripe in the non-volatile memory, wherein the processing of the plurality of flushed zone segments includes identifying a retrieved flushed zone segment of the plurality of flushed zone segments differing from all previously retrieved plurality of flushed zone segments, and writing the identified retrieved flushed zone segment of the plurality of flushed zone segments to a second block stripe of the non-volatile memory.Type: GrantFiled: September 30, 2016Date of Patent: October 16, 2018Assignee: NGD Systems, Inc.Inventors: Nader Salessi, Joao Alcantara
-
Publication number: 20180232180Abstract: 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: ApplicationFiled: April 10, 2018Publication date: August 16, 2018Inventors: Joao Alcantara, Ricardo Cassia, Kamyar Souri, Vladimir Alves, Guangming Lu
-
Patent number: 9983831Abstract: 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: GrantFiled: August 5, 2016Date of Patent: May 29, 2018Assignee: NGD SYSTEMS, INC.Inventors: Joao Alcantara, Ricardo Cassia, Kamyar Souri, Vladimir Alves, Guangming Lu
-
Publication number: 20180081798Abstract: 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: ApplicationFiled: September 20, 2017Publication date: March 22, 2018Inventors: Joao Alcantara, Vladimir Alves, Ricardo Cassia, Vincent Lazo
-
Publication number: 20180059972Abstract: 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: ApplicationFiled: September 1, 2017Publication date: March 1, 2018Inventors: Joao Alcantara, Ricardo Cassia, Vincent Lazo, Kamyar Souri
-
Publication number: 20170371585Abstract: A method of writing multi-stream host data to a storage device comprising a CPU, a multi-stream fast release buffer (FRB), and a non-volatile memory (NVM), includes: receiving a command to write the multi-stream host data to the NVM, the multi-stream host data being associated with a logical block number (LBN) and a new stream ID, recording a status of the active stream ID and retrieving a status of the new stream ID to determine a physical address in the NVM for storing one or more codewords (CWs) corresponding to the multi-stream host data, allocating space in a buffer of the FRB for storage of the multi-stream host data, organizing the multi-stream host data into the one or more CWs, and storing the one or more CWs into the allocated space in the buffer, transferring the one or more CWs from the buffer to the physical address in the NVM.Type: ApplicationFiled: January 30, 2017Publication date: December 28, 2017Inventors: Vincent Lazo, Joao Alcantara
-
Patent number: 9772781Abstract: A method of maintaining and updating a logical-to-physical (LtoP) table in a storage device including a processor, a volatile memory, and a non-volatile memory, the storage device being in communication with a host utilizing atomic writes, the method including receiving, by the processor, data for storing at a plurality of physical addresses in the non-volatile memory, the data being associated with a plurality of logical addresses of the host, storing, by the processor, the plurality of physical addresses in an atomic segment in the volatile memory, storing, by the processor, one or more of zones of the LtoP table in the non-volatile memory, the one or more zones of the LtoP table corresponding in size to the atomic segment, and updating the one or more zones of the LtoP table with the plurality of physical addresses in the atomic segment.Type: GrantFiled: November 27, 2013Date of Patent: September 26, 2017Assignee: NGD Systems, Inc.Inventors: Nader Salessi, Joao Alcantara
-
Patent number: 9753661Abstract: 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: GrantFiled: September 8, 2016Date of Patent: September 5, 2017Assignee: NGD Systems, Inc.Inventors: Joao Alcantara, Ricardo Cassia, Vincent Lazo, Kamyar Souri
-
Patent number: 9652156Abstract: Managing data returns to a host in response to read commands, an operation monitor of a solid-state drive (SSD) manages counters used to hold metrics that characterize the estimated time to complete a read operation on a corresponding flash die. A timer generates a periodic event which decrements the counters over time. The value stored in each counter is generated for flash operations submitted to the corresponding die and is, generally, based on the operational history and the physical location of the operation. Whenever a read command is scheduled for submission to a particular die, the time estimate for that particular read operation is retrieved and, based on this information, the optimum order in which to return data to the host is determined. This order is used to schedule and program data transfers to the host so that a minimum number of read commands get blocked by other read commands.Type: GrantFiled: May 13, 2016Date of Patent: May 16, 2017Assignee: Western Digital Technologies, Inc.Inventors: Joao Alcantara, Zoltan Szubbocsev
-
Patent number: 9602130Abstract: 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: GrantFiled: August 19, 2016Date of Patent: March 21, 2017Assignee: NGD Systems, Inc.Inventors: Ricardo Cassia, Joao Alcantara, Kamyar Souri
-
Publication number: 20170017428Abstract: a method for memory-efficient backup of a logical-to-physical (LtoP) table in a storage device having a processor, a volatile memory, and a non-volatile memory, includes retrieving and subsequently processing, by the processor, a plurality of flushed zone segments stored in a first block stripe of the non-volatile memory in an order opposite to an order of storage of the plurality of flushed zone segments in the first block stripe in the non-volatile memory, wherein the processing of the plurality of flushed zone segments includes identifying a retrieved flushed zone segment of the plurality of flushed zone segments differing from all previously retrieved plurality of flushed zone segments, and writing the identified retrieved flushed zone segment of the plurality of flushed zone segments to a second block stripe of the non-volatile memory.Type: ApplicationFiled: September 30, 2016Publication date: January 19, 2017Inventors: Nader Salessi, Joao Alcantara
-
Publication number: 20170003901Abstract: 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: ApplicationFiled: September 8, 2016Publication date: January 5, 2017Inventors: Joao Alcantara, Ricardo Cassia, Vincent Lazo, Kamyar Souri
-
Publication number: 20160359501Abstract: 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: ApplicationFiled: August 19, 2016Publication date: December 8, 2016Inventors: Ricardo Cassia, Joao Alcantara, Kamyar Souri