Patents by Inventor Kuan-Yu KE

Kuan-Yu KE 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: 11860669
    Abstract: The invention introduces a method, an apparatus and a non-transitory computer program product for storing data in flash memory. The method is performed by a processing unit when loading and executing program code of a flash translation layer to include: dividing storage space of a flash module into a first region and a second region; programming data belonging to a first partition type received from a host side into first physical blocks of the first region only; and programming data belonging to a second partition type received from the host side into the first physical blocks of the first region and the second physical blocks of the second region. With the region division and the policy for writing data into the regions in terms of data characteristics of different partition types, storage space of the flash module would be used more effective.
    Type: Grant
    Filed: January 25, 2021
    Date of Patent: January 2, 2024
    Assignee: SILICON MOTION, INC.
    Inventor: Kuan-Yu Ke
  • Patent number: 11662944
    Abstract: A method and apparatus for performing resuming management are provided. The method includes: utilizing a boot loader to load a group of In-System Programming (ISP) codes; storing information to be retained, including a resume ISP loader, into a retention region of a RAM, for being retained during sleeping; determining whether to start sleeping, and generating a determining result; in response to the determining result, controlling the memory device to start sleeping; after starting sleeping, determining whether a wake-up event occurs; after the wake-up event occurs, executing a first ISP code within the group of ISP codes to start performing a first operation; and executing the resume ISP loader to load other ISP codes within the group of ISP codes.
    Type: Grant
    Filed: November 1, 2020
    Date of Patent: May 30, 2023
    Assignee: Silicon Motion, Inc.
    Inventor: Kuan-Yu Ke
  • Patent number: 11580017
    Abstract: The invention relates to a method, a non-transitory computer program product, and an apparatus for managing data storage. The method performed by a flash controller includes: obtaining information indicating a subregion to be activated, where the subregion is associated with a logical block address (LBA) range; triggering a garbage collection (GC) process being performed in background to migrate user data of all the or a portion of the LBA range associated with the subregion to continuous physical addresses in a flash device; and updating content of a plurality of entries associated with the subregion according to migration results, where each entry includes information indicating which physical address that user data of a corresponding logical address is physically stored in the flash device.
    Type: Grant
    Filed: January 28, 2021
    Date of Patent: February 14, 2023
    Assignee: SILICON MOTION, INC.
    Inventor: Kuan-Yu Ke
  • Patent number: 11403018
    Abstract: A method and apparatus for performing block management regarding a non-volatile memory are provided. The method includes: determining whether a first blank block belongs to a cold block group or a hot block group according to an erase count of the first blank block; in response to the first blank block belonging to the cold block group, selecting the first blank block from a plurality of blank blocks as a target block, for performing data writing; according to at least one characteristic parameter regarding first data to be written, determining whether the first data belongs to a cold data group or a hot data group; and in response to the first data belonging to the hot data group, writing the first data into the first blank block to use the first blank block as a data block of the first data.
    Type: Grant
    Filed: April 7, 2021
    Date of Patent: August 2, 2022
    Assignee: Silicon Motion, Inc.
    Inventor: Kuan-Yu Ke
  • Patent number: 11397676
    Abstract: The invention relates to a non-transitory computer program product, a method and an apparatus for managing garbage collection process. The non-transitory computer program product includes program code to: determine source blocks to be processed, wherein each source block includes an invalid page; program user data of valid pages in the source blocks, whose quantity is less than a total number of pages in one first-type physical block, into empty pages in a second-type physical block, wherein the total number of pages in one first-type physical block is greater than a total number of pages in one second-type physical block; and fill remaining empty pages in the second-type physical block with dummy values.
    Type: Grant
    Filed: September 21, 2020
    Date of Patent: July 26, 2022
    Assignee: SILICON MOTION, INC.
    Inventor: Kuan-Yu Ke
  • Patent number: 11366596
    Abstract: A data storage device utilized for accessing boot data includes a flash memory, a controller and a RAM. The flash memory includes several blocks, and each block includes several pages. The controller is coupled to the flash memory and the RAM. The controller receives a write command from a host and determines whether the data of the write command is system data or normal data. If the data to be written is system data, the controller transmits a confirm message to the host after the system data has been completely stored on the data storage device.
    Type: Grant
    Filed: May 8, 2019
    Date of Patent: June 21, 2022
    Assignee: SILICON MOTION, INC.
    Inventors: Kuan-Yu Ke, Shen-Ting Chiu
  • Patent number: 11307786
    Abstract: A data storage device includes a memory device and a memory controller. The memory controller configures a first predetermined memory block and a second predetermined memory block as buffers to receive data from a host device and determines to use the first or the second predetermined memory block to receive the data according to write addresses of a write command received from the host device. When the write addresses indicate that the data to be written by the host device is management data of a file system of the host device, the memory controller writes the data to the first predetermined memory block. When the write addresses indicate that the data to be written by the host device is not the management data of the file system of the host device, the memory controller writes the data to the second predetermined memory block.
    Type: Grant
    Filed: April 15, 2020
    Date of Patent: April 19, 2022
    Assignee: Silicon Motion, Inc.
    Inventor: Kuan-Yu Ke
  • Patent number: 11307766
    Abstract: The invention relates to an apparatus, a method, and a non-transitory computer program product for programming flash administration tables. The non-transitory computer program product includes program code to: periodically determine whether user data that has been programmed into a current block of a flash module satisfies a random-write condition; and update a record of a host-to-flash (H2F) sub-table according to content of a flash-to-host (F2H) table for the current block when user data that has been programmed into the current block of the flash module satisfies the random-write condition.
    Type: Grant
    Filed: September 21, 2020
    Date of Patent: April 19, 2022
    Assignee: SILICON MOTION, INC.
    Inventor: Kuan-Yu Ke
  • Publication number: 20220100373
    Abstract: The invention introduces a method, an apparatus and a non-transitory computer program product for storing data in flash memory. The method is performed by a processing unit when loading and executing program code of a flash translation layer to include: dividing storage space of a flash module into a first region and a second region; programming data belonging to a first partition type received from a host side into first physical blocks of the first region only; and programming data belonging to a second partition type received from the host side into the first physical blocks of the first region and the second physical blocks of the second region. With the region division and the policy for writing data into the regions in terms of data characteristics of different partition types, storage space of the flash module would be used more effective.
    Type: Application
    Filed: January 25, 2021
    Publication date: March 31, 2022
    Applicant: Silicon Motion, Inc.
    Inventor: Kuan-Yu KE
  • Patent number: 11216381
    Abstract: A data storage device includes a memory device and a memory controller. The memory controller selects a predetermined memory device to receive data and accordingly records multiple logical addresses in a first mapping table. The first mapping table records which logical page the data stored in each physical page of the predetermined memory block is directed to. When the predetermined memory block is full, the memory controller edits a second mapping table and a third mapping table according to the first mapping table. The second mapping table corresponds to multiple logical pages and records which memory block and which physical page is the data of each logical page stored in. The third mapping table corresponds to the physical pages of the predetermined memory block and indicates whether each physical page is a valid page or an invalid page.
    Type: Grant
    Filed: December 5, 2019
    Date of Patent: January 4, 2022
    Assignee: Silicon Motion, Inc.
    Inventor: Kuan-Yu Ke
  • Patent number: 11204864
    Abstract: A data storage device includes a memory device and a memory controller. The memory device includes multiple memory blocks. The memory controller is coupled to the memory device and is configured to access the memory device. In a garbage collection procedure, the memory controller is configured to select multiple spare memory blocks as destination memory blocks and move valid data stored in at least one source memory block into the destination memory blocks. In the garbage collection procedure, the memory controller is further configured to determine an attribute of each valid data and determine which destination memory block to move the valid data into according to the corresponding attribute. Valid data having the same attribute is moved to the same destination memory block.
    Type: Grant
    Filed: April 15, 2020
    Date of Patent: December 21, 2021
    Assignee: SILICON MOTION, INC.
    Inventor: Kuan-Yu Ke
  • Patent number: 11176035
    Abstract: A data storage device includes a memory device and a memory controller. The memory device includes multiple memory blocks. The memory controller determines whether execution of a garbage collection procedure is required according to a number of spare memory blocks. When the execution of the garbage collection procedure is required, the memory controller determines an execution period according to a latest editing status of a plurality of open memory blocks; starts the execution of the garbage collection procedure so as to perform at least a portion of the garbage collection procedure in the execution period; and suspends the execution of the garbage collection procedure when the execution period has expired but the garbage collection procedure is not finished. The memory controller further determines a time interval for continuing the execution of the garbage collection procedure later according to the latest editing status of the open memory blocks.
    Type: Grant
    Filed: March 26, 2020
    Date of Patent: November 16, 2021
    Assignee: Silicon Motion, Inc.
    Inventor: Kuan-Yu Ke
  • Patent number: 11176033
    Abstract: A data storage device includes a memory device and a memory controller. The memory controller selects a predetermined memory block to receive data and accordingly records multiple logical addresses in a first mapping table. When the predetermined memory block is full, the memory controller edits a second mapping table or a third mapping table based on the first mapping table. The memory controller determines whether the first mapping table has recorded logical addresses of a predetermined number of consecutive logical pages. If not, the memory controller edits the second mapping table. If so, the memory controller skips editing the second mapping table and edits the third mapping table instead, so as to record the mapping information of a predetermined logical page among the predetermined number of consecutive logical pages as representative mapping information in a corresponding field of the third mapping table.
    Type: Grant
    Filed: April 15, 2020
    Date of Patent: November 16, 2021
    Assignee: SILICON MOTION, INC.
    Inventor: Kuan-Yu Ke
  • Publication number: 20210334209
    Abstract: The invention relates to a method, a non-transitory computer program product, and an apparatus for managing data storage. The method performed by a flash controller includes: obtaining information indicating a subregion to be activated, where the subregion is associated with a logical block address (LBA) range; triggering a garbage collection (GC) process being performed in background to migrate user data of all the or a portion of the LBA range associated with the subregion to continuous physical addresses in a flash device; and updating content of a plurality of entries associated with the subregion according to migration results, where each entry includes information indicating which physical address that user data of a corresponding logical address is physically stored in the flash device.
    Type: Application
    Filed: January 28, 2021
    Publication date: October 28, 2021
    Applicant: Silicon Motion, Inc.
    Inventor: Kuan-Yu KE
  • Publication number: 20210326042
    Abstract: A method and apparatus for performing block management regarding a non-volatile memory are provided. The method includes: determining whether a first blank block belongs to a cold block group or a hot block group according to an erase count of the first blank block; in response to the first blank block belonging to the cold block group, selecting the first blank block from a plurality of blank blocks as a target block, for performing data writing; according to at least one characteristic parameter regarding first data to be written, determining whether the first data belongs to a cold data group or a hot data group; and in response to the first data belonging to the hot data group, writing the first data into the first blank block to use the first blank block as a data block of the first data.
    Type: Application
    Filed: April 7, 2021
    Publication date: October 21, 2021
    Inventor: Kuan-Yu Ke
  • Publication number: 20210318954
    Abstract: The invention relates to a non-transitory computer program product, a method and an apparatus for managing garbage collection process. The non-transitory computer program product includes program code to: determine source blocks to be processed, wherein each source block includes an invalid page; program user data of valid pages in the source blocks, whose quantity is less than a total number of pages in one first-type physical block, into empty pages in a second-type physical block, wherein the total number of pages in one first-type physical block is greater than a total number of pages in one second-type physical block; and fill remaining empty pages in the second-type physical block with dummy values.
    Type: Application
    Filed: September 21, 2020
    Publication date: October 14, 2021
    Applicant: Silicon Motion, Inc.
    Inventor: Kuan-Yu KE
  • Publication number: 20210303159
    Abstract: The invention relates to an apparatus, a method, and a non-transitory computer program product for programming flash administration tables. The non-transitory computer program product includes program code to: periodically determine whether user data that has been programmed into a current block of a flash module satisfies a random-write condition; and update a record of a host-to-flash (H2F) sub-table according to content of a flash-to-host (F2H) table for the current block when user data that has been programmed into the current block of the flash module satisfies the random-write condition.
    Type: Application
    Filed: September 21, 2020
    Publication date: September 30, 2021
    Applicant: Silicon Motion, Inc.
    Inventor: Kuan-Yu KE
  • Publication number: 20210279003
    Abstract: A method and apparatus for performing resuming management are provided. The method includes: utilizing a boot loader to load a group of In-System Programming (ISP) codes; storing information to be retained, including a resume ISP loader, into a retention region of a RAM, for being retained during sleeping; determining whether to start sleeping, and generating a determining result; in response to the determining result, controlling the memory device to start sleeping; after starting sleeping, determining whether a wake-up event occurs; after the wake-up event occurs, executing a first ISP code within the group of ISP codes to start performing a first operation; and executing the resume ISP loader to load other ISP codes within the group of ISP codes.
    Type: Application
    Filed: November 1, 2020
    Publication date: September 9, 2021
    Inventor: Kuan-Yu Ke
  • Patent number: 11068177
    Abstract: A data storage device includes a memory device and a memory controller. The memory device includes multiple memory blocks. The memory blocks include multiple table blocks configured to store tables and multiple data blocks configured to store data. The memory controller is configured to receive a predefined command which is a command from a host device to instruct the memory controller to perform initialization of the data storage device. The initialization of the data storage device includes a plurality of processing procedures which include a first portion of processing procedures and a second portion of processing procedures. The memory controller is configured to perform the first portion of processing procedures in response to the predefined command. After the first portion of processing procedures has been finished, the memory controller is configured to notify the host device that the data storage device is ready.
    Type: Grant
    Filed: October 23, 2019
    Date of Patent: July 20, 2021
    Assignee: Silicon Motion, Inc.
    Inventor: Kuan-Yu Ke
  • Patent number: 11055231
    Abstract: A data storage device includes a memory device and a memory controller. The memory controller selects a predetermined memory block to receive data and records multiple logical addresses in a first mapping table. When the predetermined memory block is full, the memory controller edits a second mapping table based on the first mapping table. When editing the second mapping table, the memory controller determines whether M consecutive logical addresses have been recorded in the first mapping table. When the memory controller determines that M consecutive logical addresses have been recorded in the first mapping table, the memory controller edits the second mapping table according to a data compression rate (R), such that one or more fields, which correspond to one or more logical addresses recorded in the first mapping table, of the second mapping table are skipped and not edited. M and R are positive integers greater than 1.
    Type: Grant
    Filed: April 15, 2020
    Date of Patent: July 6, 2021
    Assignee: SILICON MOTION, INC.
    Inventor: Kuan-Yu Ke