Patents Assigned to Silicon Motion, Inc. (TW)
  • Patent number: 12353327
    Abstract: A method for performing garbage collection (GC) management of a memory device with aid of block classification and associated apparatus are provided. The method may include: utilizing a memory controller to divide at least one portion of blocks among a plurality of blocks into multiple first blocks belonging to at least one first type in a first area and multiple second blocks belonging to at least one second type in a second area; utilizing the memory controller to receive a first command from a host device through a transmission interface circuit within the memory controller; and during writing data in response to the first command, performing a foreground GC procedure to control the memory device to perform GC before completing at least one writing operation corresponding to the first command, for controlling priority of releasing storage space of the second area to be higher than that of the first area.
    Type: Grant
    Filed: May 2, 2024
    Date of Patent: July 8, 2025
    Assignee: Silicon Motion, Inc.
    Inventor: Cheng-Yu Tsai
  • Patent number: 12353758
    Abstract: A method used in a flash memory controller includes: using an error correction code (ECC) circuit to perform an ECC operation upon data of a block of a flash memory chip/die of a flash memory device to generate an ECC result; when the ECC result indicates a failure, storing an access task corresponding to the block into a specific buffer; and, controlling a voltage generator of the flash memory device through a specific communication interface to control at least one address decoder of the flash memory device to access the block of the flash memory chip/die again according to at least one threshold voltage level of the voltage generator after the access task has been temporarily stored in the specific buffer for a specific default time.
    Type: Grant
    Filed: April 25, 2024
    Date of Patent: July 8, 2025
    Assignee: Silicon Motion, Inc.
    Inventor: Tzu-Yi Yang
  • Publication number: 20250217231
    Abstract: A decoding method includes: using a syndrome calculation check circuit to calculate a syndrome value of variable node Vi of a parity check matrix based on multiple input bits; rotating the syndrome value of variable node Vi into the direction of variable node Vi+1 to generate an estimated syndrome value of variable node Vi+1; rotating the syndrome value of variable node Vi?1 into the direction of variable node Vi?? to generate a rotated syndrome information; performing a weighted-sum calculation based on multiple rotated syndrome information to generate a flipping function value; and comparing the flipping function value with a flipping threshold to generate a flipping result; the syndrome calculation check circuit determines whether to modify/flip a specific bit according to the flipping result.
    Type: Application
    Filed: November 11, 2024
    Publication date: July 3, 2025
    Applicant: Silicon Motion, Inc.
    Inventor: Shiuan-Hao Kuo
  • Patent number: 12348630
    Abstract: The invention introduces an apparatus for detecting errors during data encryption. The apparatus includes an encoding circuitry and an error detection circuitry. The encoding circuitry is arranged operably to realize an encryption algorithm including multiple rounds, in which of each round encodes plaintext or an intermediate encryption result with a round key. The error detection circuitry is arranged operably to: calculate redundant data corresponding to the intermediate encryption result; and output an error signal to a processing unit when finding that the intermediate encryption result does not match the redundant data at a check point during an encryption process.
    Type: Grant
    Filed: December 7, 2022
    Date of Patent: July 1, 2025
    Assignee: Silicon Motion, Inc.
    Inventors: Wun-Jhe Wu, Po-Hung Chen, Chiao-Wen Cheng, Jiun-Hung Yu, Chih-Wei Liu
  • Publication number: 20250211251
    Abstract: A flash memory storage management method includes: providing a flash memory module including single-level-cell (SLC) blocks and at least one multiple-level-cell block such as MLC block, TLC block, or QLC block; classifying data to be programmed into groups of data; respectively executing SLC programing and RAID-like error code encoding to generate corresponding parity check codes, to program the groups of data and corresponding parity check codes to the SLC blocks; when completing program of the SLC blocks, performing an internal copy to program the at least one multiple-level-cell block by sequentially reading and writing the groups of data and corresponding parity check codes from the SLC blocks to the multiple-level-cell block according to a storage order of the SLC blocks.
    Type: Application
    Filed: March 17, 2025
    Publication date: June 26, 2025
    Applicant: Silicon Motion, Inc.
    Inventors: Tsung-Chieh Yang, Hong-Jung Hsu
  • Publication number: 20250200202
    Abstract: The invention introduces a method for programming and recovering protected data. Protected data instructed by a data write command is received from a host side in multiple batches. After an encoding algorithm is used to generate an intermediate calculation result according to a first portion of the protected data, and an authentication key, multiple authentication calculation operations for remaining portions of the protected data, and multiple data programming operations for all portions of the protected data are arranged to enable the authentication calculation operations to be performed in parallel to the data programming operations. Each data programming operation is performed to program a corresponding portion of the protected data and a metadata associated with the corresponding portion of the protected data into a current block of a flash module. The metadata comprises information about whether the protected data has passed an authentication.
    Type: Application
    Filed: January 19, 2024
    Publication date: June 19, 2025
    Applicant: Silicon Motion, Inc.
    Inventors: Ching-Hung CHEN, Chiu-Han CHANG
  • Patent number: 12334168
    Abstract: A method for performing a test upon a flash memory module includes: performing data writing upon a plurality of first blocks of a first group in the flash memory module; reading the plurality of first blocks of the first group to determine whether there is any abnormal block in the plurality of first blocks and generating a first test result; after the plurality of first blocks are read, performing data writing upon a plurality of second blocks of a second group in the flash memory module; and reading the plurality of second blocks of the second group to determine whether there is any abnormal block in the plurality of second blocks and generating a second test result.
    Type: Grant
    Filed: August 22, 2023
    Date of Patent: June 17, 2025
    Assignee: Silicon Motion, Inc.
    Inventors: Chiu-Han Chang, Yu-Ting Chen
  • Patent number: 12333155
    Abstract: A flash memory controller and a data reading method are provided. The flash memory controller includes a control logic circuit and a processor. The control logic circuit is coupled to a first chip-enable-signal controlled area of a flash memory through a channel to transmit data and commands. The processor controls the control logic circuit to transmit a first command and a second command to the first chip-enable-signal controlled area through the channel. The first command is configured to instruct the first chip-enable-signal controlled area to read stored data and read operating temperature information. In response to the transmission of the second command, the processor controls the control logic circuit to receive at least one of the stored data and the operating temperature information from the first chip-enable-signal controlled area.
    Type: Grant
    Filed: February 5, 2024
    Date of Patent: June 17, 2025
    Assignee: Silicon Motion Inc.
    Inventors: Hsiao-chang Yen, Tsu-han Lu
  • Patent number: 12326808
    Abstract: The present invention provides a control method of a flash memory controller, which includes the steps of: setting a waiting time in an interrupt coalescing mechanism, and setting a timer, wherein a timeout value of the timer is equal to the waiting time; receiving multiple commands from a submission queue in a host device, generating multiple command responses after processing the multiple commands, and writing the multiple command responses to a completion queue in the host device; receiving a submission queue tail and a completion queue head from the host device; and when the timer reaches the timeout value, subtracting the completion queue head from the submission queue tail to obtain a queue depth of a command queue of the host device.
    Type: Grant
    Filed: April 1, 2024
    Date of Patent: June 10, 2025
    Assignee: Silicon Motion, Inc.
    Inventors: Kuo-Han Yuan, Cheng-Yu Tsai
  • Patent number: 12321297
    Abstract: A bridge device for bridging a host device and a data storage device includes a first controller and a second controller. The first controller includes a first transmission interface. The second controller is coupled to the first controller and includes a second transmission interface. The second transmission interface is coupled to the first transmission interface through a bus. The first transmission interface operates in a slave mode and the second transmission interface operates in a master mode. The first transmission interface and the second transmission interface generate multiple transfer data chunks in compliance with a common bridge transfer format to perform transfer operations in dual directions for respectively transferring a command and data between a host device and a data storage device.
    Type: Grant
    Filed: July 26, 2023
    Date of Patent: June 3, 2025
    Assignee: Silicon Motion, Inc.
    Inventors: Chen-Hao Chen, Shih-Hsiang Shen, Hui-Lin Liu
  • Publication number: 20250156093
    Abstract: A flash memory controller for controlling a flash memory module includes a communication interface for receiving a first data and a second data; and a processing circuit for dynamically controlling a data writing mode of the flash memory module according to an amount of stored data in the flash memory module. If the amount of stored data in the flash memory module is less than a first threshold when the communication interface receives the first data, the processing circuit controls the flash memory module so that the first data is written into the first data block under an one-bit-per-cell mode. If the amount of stored data in the flash memory module is greater than the first threshold when the communication interface receives the second data, the processing circuit controls the flash memory module so that the second data is written into the second data block under a two-bit-per-cell mode.
    Type: Application
    Filed: January 16, 2025
    Publication date: May 15, 2025
    Applicant: Silicon Motion, Inc.
    Inventors: Tsung-Chieh Yang, Chun-Chieh Kuo, Ching-Hui Lin, Yang-Chih Shen
  • Patent number: 12292826
    Abstract: A method for managing a memory apparatus including a non-volatile (NV) memory element having a plurality of physical blocks includes: obtaining a first host address and first data from a first access command; obtaining a second host address and second data from a second access command; linking the first host address to a first page of the physical block and the second host address to a second page of the physical block; storing the first data and second data into the physical block; building a valid page position table and storing the valid page position table in the volatile memory; and building a global page address linking table and storing the global page address linking table in the volatile memory. The valid page position table and the global page address linking table are loaded from the volatile memory and stored to the NV memory element at predetermined time periods.
    Type: Grant
    Filed: May 14, 2024
    Date of Patent: May 6, 2025
    Assignee: Silicon Motion, Inc.
    Inventors: Tsai-Cheng Lin, Chun-Kun Lee
  • Patent number: 12287973
    Abstract: An interface circuit includes multiple signal processing devices and a monitor and calibration module. A process monitor monitors a current or a voltage of a test element to generate a process detection result. A temperature monitor monitors an environment temperature to generate a temperature monitored result. A calibration circuit performs calibration operation on a signal processing device according to a preferred reference value subset to adjust a characteristic value of the signal processing device. A compensation control mechanism operation logic selects the preferred reference value subset from multiple reference value subsets according to the process detection result and the temperature monitored result and generates a calibration control signal to control the calibration operation of the calibration circuit.
    Type: Grant
    Filed: July 24, 2023
    Date of Patent: April 29, 2025
    Assignee: Silicon Motion, Inc.
    Inventor: Fu-Jen Shih
  • Patent number: 12287988
    Abstract: A technique for accurate communication between a non-volatile memory and its controller. The controller accesses a storage area of the non-volatile memory through data lines, wherein the controller transmits a command through the data lines to access the storage area of the non-volatile memory. The command is further returned from the non-volatile memory to the controller through the data lines for comparison, to determine whether the command is correctly received by the non-volatile memory.
    Type: Grant
    Filed: August 3, 2023
    Date of Patent: April 29, 2025
    Assignee: SILICON MOTION, INC.
    Inventors: Hsu-Ping Ou, Chien-Hung Lee
  • Patent number: 12287975
    Abstract: A control method of a memory device includes: controlling a flash memory controller to transmit a command to a flash memory module; determining whether the flash memory controller is in an idle state; in response to the flash memory controller being in the idle state, determining whether an idle time of the idle state exceeds a threshold value, wherein the threshold value is less than a time required for the flash memory module to complete executing a write command or an erase command; and in response to the idle time exceeding the threshold value, controlling the flash memory controller to enter a power saving mode to turn off a part of components in the flash memory controller.
    Type: Grant
    Filed: July 10, 2023
    Date of Patent: April 29, 2025
    Assignee: Silicon Motion, Inc.
    Inventor: Wen-Sheng Lin
  • Patent number: 12282665
    Abstract: A memory operation method, comprising: when a first super block of a memory device is a open block (or in programming state), obtaining a first read count of one of a plurality of first memory blocks in the first super block, wherein the first read count is a number of times that data of one of the first memory blocks is read out; determining whether the first read count is larger than a first threshold; and when the first read count is larger than the first threshold, moving a part of the data in the first super block to a safe area in the memory device, wherein the part of the data comprises data in the first memory block.
    Type: Grant
    Filed: June 6, 2023
    Date of Patent: April 22, 2025
    Assignee: SILICON MOTION INC.
    Inventors: Po-Sheng Chou, Hsiang-Yu Huang, Yan-Wen Wang
  • Patent number: 12283971
    Abstract: A flash memory storage management method includes: providing a flash memory module including single-level-cell (SLC) blocks and at least one multiple-level-cell block such as MLC block, TLC block, or QLC block; classifying data to be programmed into groups of data; respectively executing SLC programing and RAID-like error code encoding to generate corresponding parity check codes, to program the groups of data and corresponding parity check codes to the SLC blocks; when completing program of the SLC blocks, performing an internal copy to program the at least one multiple-level-cell block by sequentially reading and writing the groups of data and corresponding parity check codes from the SLC blocks to the multiple-level-cell block according to a storage order of the SLC blocks.
    Type: Grant
    Filed: January 15, 2024
    Date of Patent: April 22, 2025
    Assignee: Silicon Motion, Inc.
    Inventors: Tsung-Chieh Yang, Hong-Jung Hsu
  • Patent number: 12277330
    Abstract: A data storage device includes a memory device and a memory controller. The memory device includes multiple memory blocks which include one or more spare memory blocks not written with data and one or more predetermined memory blocks that are configured as a buffer for receiving data from a host device. The memory controller obtains a total number of remaining erasable count of the memory blocks and determines a setting value of a number of said one or more predetermined memory blocks according to a number of currently remaining spare memory block(s), a number of the predetermined memory block(s) that has/have been written with data among said one or more predetermined memory blocks, a predetermined threshold and the total number of remaining erasable count of the memory blocks, and configures the number of the predetermined memory block(s) as the buffer according to the setting value.
    Type: Grant
    Filed: July 7, 2023
    Date of Patent: April 15, 2025
    Assignee: Silicon Motion, Inc.
    Inventor: Po-Lin Wu
  • Patent number: 12277288
    Abstract: An interface circuit includes multiple signal processing devices and a monitor and calibration module including multiple monitoring circuits, multiple calibration circuits and a compensation control mechanism operation logic. The monitoring circuits monitor a reception signal, a transmission signal, a power supplying voltage and a ground voltage to correspondingly generate monitored results. The calibration circuits perform a calibration operation on at least one signal processing device to adjust a characteristic value of the signal processing device.
    Type: Grant
    Filed: June 26, 2023
    Date of Patent: April 15, 2025
    Assignee: Silicon Motion, Inc.
    Inventor: Fu-Jen Shih
  • Patent number: 12277966
    Abstract: A method for performing memory access of a Flash cell of a Flash memory includes: performing a series of sensing operations respectively corresponding to a plurality of sensing voltages, wherein a sensing voltage of a specific sensing operation of the series of sensing operations has a sensing voltage determined according to a result of an initial sensing operation of the series of sensing operations; determining a threshold voltage of the Flash cell according to at least a digital value generated by the series of sensing operations; and using the determined threshold voltage to perform soft decoding of the Flash cell.
    Type: Grant
    Filed: November 28, 2023
    Date of Patent: April 15, 2025
    Assignee: Silicon Motion, Inc.
    Inventors: Tsung-Chieh Yang, Hsiao-Te Chang, Wen-Long Wang