Patents Assigned to NGD Systems, Inc.
-
Patent number: 11080409Abstract: A storage device. In some embodiments, the storage device includes a storage interface, configured to be connected to a host computer, a processing circuit, and persistent storage media. The processing circuit may be configured to: read first data from the persistent storage media in response to a read command received through the storage interface; transmit second data through the storage interface, the second data being based on the first data; receive a write command, with third data, through the storage interface; write fourth data, based on the third data, to the persistent storage media; and perform a cryptographic operation on the first data or on the third data.Type: GrantFiled: November 6, 2019Date of Patent: August 3, 2021Assignee: NGD Systems, Inc.Inventors: Vahab Alemzadeh, Hermes Costa, Vladimir Alves
-
Patent number: 10929206Abstract: A method of facilitating communication from an embedded computer in a computational storage device to a host or an external device includes receiving a message from an embedded user process for transmission to a user process running at either the host or the external device, determining that a destination address of the message corresponds to the host or the external device, in response to the determination, forwarding the message to an embedded relay process associated with the host or the external device, instructing a storage controller of the computational storage device about the message to be delivered, notifying a host relay process at the host of a presence of the message, receiving a send message request from the host in response to the notification, and in response to receiving the send message request, transmitting the message to the host.Type: GrantFiled: October 15, 2019Date of Patent: February 23, 2021Assignee: NGD Systems, Inc.Inventors: Hermes Costa, Vladimir Alves
-
Patent number: 10915381Abstract: A method of facilitating communication to an embedded computer in a computational storage device via a host includes receiving a message for transmission to an embedded process running at the embedded computer, determining that a destination address of the message corresponds to the embedded computer within the computational storage device, in response to the determination, forwarding the message to a host relay process associated with the embedded computer, and encapsulating the message to generate a proprietary command for transmission to the computational storage device.Type: GrantFiled: October 15, 2019Date of Patent: February 9, 2021Assignee: NGD Systems, Inc.Inventors: Hermes Costa, Vladimir Alves
-
Patent number: 10445012Abstract: A system and methods for in-storage on-demand data decompression. Compressed data are stored in a storage device connected to a host computer. When decompressed data are needed, the host computer sends a decompression command to the storage device indicating which data are to be decompressed, and instructing it how to decompress the data. The storage device decompresses the data and stores the decompressed data, making it available to the host.Type: GrantFiled: April 19, 2018Date of Patent: October 15, 2019Assignee: NGD Systems, Inc.Inventor: Vladimir Alves
-
Patent number: 10417087Abstract: A system and method for adaptive multiple read of NAND flash memory. A solid state drive may employ adaptive multiple-read to perform enhanced performance error correction using soft decisions without a performance penalty that otherwise might result from performing unnecessary reads. The soft decision error correcting algorithm may employ lookup tables containing log likelihood ratios. The method may include performing one or more read operations to obtain one or more raw data words for a code word, attempting to decode the code words using the one or more raw data words, and performing additional read operations when the decoding attempt fails. This process may be repeated until a decoding attempt succeeds.Type: GrantFiled: October 2, 2017Date of Patent: September 17, 2019Assignee: NGD Systems, Inc.Inventor: Guangming Lu
-
Patent number: 10402359Abstract: A solid state drive with modular memory. The solid state drive may include a modular array of memory cards installed on a controller board, each memory card being connected to the controller board utilizing a respective connector. Redundant data, e.g., parity data, may be stored in the solid state drive, making it possible for a solid state drive controller on the controller board to restore the contents of a removed memory card (e.g., a memory card that has failed) on a replacement memory card installed in its place. The connector utilized to connect each memory card to the controller board may be an industry standard, commercial off the shelf connector, e.g., an M.2 connector; the functions of the conductors in the connector may be redefined, from the industry standard definitions, for the purposes of embodiments of the present invention.Type: GrantFiled: November 8, 2018Date of Patent: September 3, 2019Assignee: NGD Systems, Inc.Inventor: Richard Mataya
-
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
-
Patent number: 10223316Abstract: A solid state drive with modular memory. The solid state drive may include a modular array of memory cards installed on a controller board, each memory card being connected to the controller board utilizing a respective connector. Redundant data, e.g., parity data, may be stored in the solid state drive, making it possible for a solid state drive controller on the controller board to restore the contents of a removed memory card (e.g., a memory card that has failed) on a replacement memory card installed in its place. The connector utilized to connect each memory card to the controller board may be an industry standard, commercial off the shelf connector, e.g., an M.2 connector; the functions of the conductors in the connector may be redefined, from the industry standard definitions, for the purposes of embodiments of the present invention.Type: GrantFiled: June 28, 2016Date of Patent: March 5, 2019Assignee: NGD Systems, Inc.Inventor: Richard Mataya
-
Patent number: 10216572Abstract: A system and method for generating lookup tables for use in an adaptive multiple-read system for reading flash memory. Successive different attempts are made to decode previously stored data using error correction codes, the attempts differing, for example, with respect to the combination of raw data words used for each attempt, each raw data word having been obtained by reading a code word of data using a different word line voltage. When a decoding attempt succeeds, log likelihood ratios are calculated from counts of flipped bits, i.e., bits in the raw data read from the memory having a different value than the corresponding bits in the decoded data.Type: GrantFiled: August 5, 2016Date of Patent: February 26, 2019Assignee: NGD Systems, Inc.Inventor: Guangming Lu
-
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
-
Patent number: 10067844Abstract: A method of restoring user data in a modular solid-state drive including memory channels coupled to respective ones of non-volatile memory cards, the method including: upon physical replacement of a defunct memory card of the non-volatile memory cards with a new non-volatile memory card, and power on of the modular solid-state drive, retrieving a firmware segment and a system segment of the modular solid-state drive from unaffected memory channels of the memory channels not coupled to the new non-volatile memory card; rebuilding a firmware of the modular solid-state drive based on the retrieved firmware segment; rebuilding a data mapping table associated with the non-volatile memory cards based on the retrieved system segment; and restoring full integrity of the user data originally stored on the non-volatile memory cards based on the rebuilt data mapping table and data from the unaffected memory channels.Type: GrantFiled: June 27, 2016Date of Patent: September 4, 2018Assignee: NGD Systems, Inc.Inventor: Guangming Lu
-
Patent number: 9965210Abstract: A system and methods for in-storage on-demand data decompression. Compressed data are stored in a storage device connected to a host computer. When decompressed data are needed, the host computer sends a decompression command to the storage device indicating which data are to be decompressed, and instructing it how to decompress the data. The storage device decompresses the data and stores the decompressed data, making it available to the host.Type: GrantFiled: May 26, 2017Date of Patent: May 8, 2018Assignee: NGD Systems, Inc.Inventor: Vladimir Alves
-
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: 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