Patents by Inventor Jongman Yoon
Jongman Yoon 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: 20240192881Abstract: A namespace is a declarative region that provides a scope to identifiers inside the namespace, which identifiers are the names of types, functions, variables, and the like. Namespaces are used to organize code into logical groups. A namespace is a collection of logical block addresses that are accessible to host software. The logical block addresses that comprise a namespace may be utilized to minimize overhead with smaller allocation of resources for multiple namespaces in SSD and to improve the operation of the OS by eliminating the need for defragmentation operations.Type: ApplicationFiled: December 9, 2022Publication date: June 13, 2024Inventors: Jongman Yoon, Huaitao Wang
-
Patent number: 11481145Abstract: The present invention extends to methods, systems, and computer program products for dynamically throttling host write data rates, for example, at SSDs. Host write data is received from a host at a host write data rate. The host write data is buffered in an SSD buffer at the host write data rate. Some host write data is transferred from the SSD buffer to NAND storage at an internal NAND data rate. A host write throttle is calculated at least based on the host data rate and the internal NAND data rate. The host write throttle defines a new (e.g., increased or decreased) host write data rate. The host write throttle is sent to the host requesting the host utilize the new host write data rate. When a new host write data rate is decreased, data transfer from SSD buffer to NAND storage can be allowed to “catch up”.Type: GrantFiled: February 25, 2021Date of Patent: October 25, 2022Assignee: PETAIO INC.Inventor: Jongman Yoon
-
Publication number: 20220269435Abstract: The present invention extends to methods, systems, and computer program products for dynamically throttling host write data rates, for example, at SSDs. Host write data is received from a host at a host write data rate. The host write data is buffered in an SSD buffer at the host write data rate. Some host write data is transferred from the SSD buffer to NAND storage at an internal NAND data rate. A host write throttle is calculated at least based on the host data rate and the internal NAND data rate. The host write throttle defines a new (e.g., increased or decreased) host write data rate. The host write throttle is sent to the host requesting the host utilize the new host write data rate. When a new host write data rate is decreased, data transfer from SSD buffer to NAND storage can be allowed to “catch up”.Type: ApplicationFiled: February 25, 2021Publication date: August 25, 2022Inventor: Jongman Yoon
-
Publication number: 20220066954Abstract: A peripheral device implements a plurality of queue sets each including a submission queue and a completion queue. Changes to the queues are monitored and arbitration parameters are adjusted, the arbitration parameters defining how submission queues are selected for retrieval of a command. An arbitration burst for a submission queue may be increased in response to tail movement for the submission queue being larger than for another submission queue. Priorities used for weighted round robin arbitration may also be adjusted based on tail movement. Arbitration burst quantities and priorities of groups of queues may also be adjusted. Head movement of the completion queues is monitored and may be used to lower priority, enable interrupt coalescing, or pause command retrieval where head movement does not meet a threshold condition.Type: ApplicationFiled: September 3, 2020Publication date: March 3, 2022Inventors: JinKi Han, Jongman Yoon
-
Patent number: 11249926Abstract: A peripheral device implements a plurality of queue sets each including a submission queue and a completion queue. Changes to the queues are monitored and arbitration parameters are adjusted, the arbitration parameters defining how submission queues are selected for retrieval of a command. An arbitration burst for a submission queue may be increased in response to tail movement for the submission queue being larger than for another submission queue. Priorities used for weighted round robin arbitration may also be adjusted based on tail movement. Arbitration burst quantities and priorities of groups of queues may also be adjusted. Head movement of the completion queues is monitored and may be used to lower priority, enable interrupt coalescing, or pause command retrieval where head movement does not meet a threshold condition.Type: GrantFiled: September 3, 2020Date of Patent: February 15, 2022Assignee: PETAIO INC.Inventors: JinKi Han, Jongman Yoon
-
Patent number: 11023154Abstract: A storage device implements striping logic with respect to a plurality of slices, each slice including one or more storage media, such as NAND flash dies. Data operations are distributed among the slice in an unequal manner such that the frequency of selection of a slice decreases with number of defects in the NAND dies of that slice. For example, data operations may be distributed in a round-robin fashion with some slices being skipped periodically. In some embodiments, a skip map may be used that maps host addresses (HLBA) to a particular slice and device address (DLBA) in that slice, the skip map implementing the skipping of slices. The skip map may be smaller than the size of the storage device such that each HLBA is mapped to a zone of the storage device and a slice and offset within that zone are determined according to the skip map.Type: GrantFiled: October 10, 2018Date of Patent: June 1, 2021Assignee: PETAIO INC.Inventor: Jongman Yoon
-
Publication number: 20200117382Abstract: A storage device implements striping logic with respect to a plurality of slices, each slice including one or more storage media, such as NAND flash dies. Data operations are distributed among the slice in an unequal manner such that the frequency of selection of a slice decreases with number of defects in the NAND dies of that slice. For example, data operations may be distributed in a round-robin fashion with some slices being skipped periodically. In some embodiments, a skip map may be used that maps host addresses (HLBA) to a particular slice and device address (DLBA) in that slice, the skip map implementing the skipping of slices. The skip map may be smaller than the size of the storage device such that each HLBA is mapped to a zone of the storage device and a slice and offset within that zone are determined according to the skip map.Type: ApplicationFiled: October 10, 2018Publication date: April 16, 2020Inventor: Jongman Yoon
-
Publication number: 20200117623Abstract: A storage device retrieves commands from a command queue of a host and monitors depth of the command queue. Commands are executed from the command queue and outcomes of the commands are written to a completion queue of the host. Interrupts for the completed commands are coalesced until an aggregation threshold or aggregation delay are met. Coalescing is disabled and interrupts generated upon completion of commands when depth of the command queue is below a threshold.Type: ApplicationFiled: October 10, 2018Publication date: April 16, 2020Inventors: Jinki Han, Jongman Yoon
-
Patent number: 10025531Abstract: A storage device, such as a NAND flash device, includes a controller that assigns host read commands to a high priority queue and all other I/O commands including host write commands to a low priority queue. The controller executes any commands in the high priority queue before executing commands in the low priority queue. Block write commands are broken into page write commands that are added to the low priority queue, thereby enabling any host read commands to be interleaved with execution of the page write commands, rather than waiting for completion of a block write command. Coherency between overlapping commands is performed by a host device coupled to the controller such that no checking of coherency is performed by the SSD controller.Type: GrantFiled: September 10, 2015Date of Patent: July 17, 2018Assignee: HONEYCOMBDATA INC.Inventors: Jongman Yoon, Sushma Devendrappa, Xiangyong Ouyang
-
Patent number: 9891833Abstract: A storage device, such as a NAND flash device, avoids the need for garbage collection. An application executing on a host system tracks data objects that are marked as invalid and maintains an association between data objects and logical blocks, each logical block corresponding to a physical block of memory in the NAND flash device. Upon determining that the logical block contains no valid objects, the application instructs an SSD to trim the physical block of memory corresponding to the logical block. The application also aggregates write commands until a full block of data is ready to be written, at which point the application transmits a write command to the SSD.Type: GrantFiled: October 22, 2015Date of Patent: February 13, 2018Assignee: HONEYCOMBDATA INC.Inventors: Sushma Devendrappa, Xiangyong Ouyang, Jongman Yoon
-
Patent number: 9645922Abstract: A storage device, such as a NAND flash device, includes a controller that maintains a temperature for a plurality of data blocks, the temperature calculated according to a function that increases with a number of valid data objects in the block and recency with which the valid data objects have been accessed. Blocks with the lowest temperature are selected for garbage collection. Recency for a block is determined based on a number of valid data objects stored in the block that are referenced in a hot list of a LRU list. During garbage collection, data objects that are least recently used are invalidated to reduce write amplification.Type: GrantFiled: September 10, 2015Date of Patent: May 9, 2017Assignee: HONEYCOMBDATA INC.Inventors: Xiangyong Ouyang, Jongman Yoon, Sushma Devendrappa
-
Publication number: 20170115890Abstract: A storage device, such as a NAND flash device, avoids the need for garbage collection. An application executing on a host system tracks data objects that are marked as invalid and maintains an association between data objects and logical blocks, each logical block corresponding to a physical block of memory in the NAND flash device. Upon determining that the logical block contains no valid objects, the application instructs an SSD to trim the physical block of memory corresponding to the logical block. The application also aggregates write commands until a full block of data is ready to be written, at which point the application transmits a write command to the SSD.Type: ApplicationFiled: October 22, 2015Publication date: April 27, 2017Inventors: Sushma Devendrappa, Xiangyong Ouyang, Jongman Yoon
-
Publication number: 20170075570Abstract: A storage device, such as a NAND flash device, includes a controller that assigns host read commands to a high priority queue and all other I/O commands including host write commands to a low priority queue. The controller executes any commands in the high priority queue before executing commands in the low priority queue. Block write commands are broken into page write commands that are added to the low priority queue, thereby enabling any host read commands to be interleaved with execution of the page write commands, rather than waiting for completion of a block write command. Coherency between overlapping commands is performed by a host device coupled to the controller such that no checking of coherency is performed by the SSD controller.Type: ApplicationFiled: September 10, 2015Publication date: March 16, 2017Inventors: Jongman Yoon, Sushma Devendrappa, Xiangyong Ouyang
-
Publication number: 20170075805Abstract: A storage device, such as a NAND flash device, includes a controller that maintains a temperature for a plurality of data blocks, the temperature calculated according to a function that increases with a number of valid data objects in the block and recency with which the valid data objects have been accessed. Blocks with the lowest temperature are selected for garbage collection. Recency for a block is determined based on a number of valid data objects stored in the block that are referenced in a hot list of a LRU list. During garbage collection, data objects that are least recently used are invalidated to reduce write amplification.Type: ApplicationFiled: September 10, 2015Publication date: March 16, 2017Inventors: Xiangyong Ouyang, Jongman Yoon, Sushma Devendrappa