Patents Assigned to Silicon Motion, Inc.
  • Publication number: 20240152348
    Abstract: A data storage device includes a memory device and a memory controller. The memory controller executes a first firmware, sets a value of a lock indicator to a first value and receives a first firmware update command in the first firmware. In response to the first firmware update command, the memory controller receives a file of a second firmware. When a version number of the second firmware is a specific version number, the memory controller sets the value of the lock indicator to a second value. When the version number of the second firmware is not a specific version number, the memory controller performs an unlocked firmware update procedure when the value of the lock indicator is set to the second value, and performs a locked firmware update procedure when the value of the lock indicator is not set to the second value.
    Type: Application
    Filed: July 7, 2023
    Publication date: May 9, 2024
    Applicant: Silicon Motion, Inc.
    Inventor: Te-Kai Wang
  • Publication number: 20240154624
    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: January 15, 2024
    Publication date: May 9, 2024
    Applicant: Silicon Motion, Inc.
    Inventors: Tsung-Chieh Yang, Hong-Jung Hsu
  • Publication number: 20240152288
    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 15, 2024
    Publication date: May 9, 2024
    Applicant: Silicon Motion, Inc.
    Inventors: Tsung-Chieh Yang, Chun-Chieh Kuo, Ching-Hui Lin, Yang-Chih Shen
  • Publication number: 20240152347
    Abstract: A data storage device includes a memory device and a memory controller. The memory controller executes a first firmware, sets a value of a lock indicator to a first value in the first firmware, and sequentially receive a first firmware update command and a second firmware update command. In response to the first firmware update command, the memory controller receives file of a second firmware. When determining that a version number of the second firmware is set to a specific version number, the memory controller sets the value of the lock indicator to a second value. In response to the second firmware update command, the memory controller receives a file of a third firmware. When the value of the lock indicator is set to the second value, the memory controller performs a firmware update procedure to the first firmware with the third firmware.
    Type: Application
    Filed: July 6, 2023
    Publication date: May 9, 2024
    Applicant: Silicon Motion, Inc.
    Inventor: Te-Kai Wang
  • Publication number: 20240152516
    Abstract: The invention relates to a method and an apparatus for executing Structural Query Language (SQL) instructions in a Solid-state Storage Device (SSD). The apparatus includes: a processing unit; and a database accelerator. The processing unit is arranged operably to obtain an SQL query from a host side. The database accelerator is arranged operably to parse the SQL query according an SQL syntax tree to generate a series of table tasks to execute; and during the execution of the table tasks, read tables from a flash module through the processing unit, generate intermediate tables and sub-tables based on the read tables, and perform an arithmetic computation, a logical computation or both on a specific field in one intermediate table to generate a final dataset. The processing unit is arranged operably to reply to the host side with the final dataset.
    Type: Application
    Filed: October 27, 2023
    Publication date: May 9, 2024
    Applicant: Silicon Motion, Inc.
    Inventors: Bo-Cheng LAI, Yen-Shi KUO
  • Patent number: 11977752
    Abstract: A method of a flash memory controller includes: providing an input/output (I/O) circuit coupled to the flash memory device; and sending a data toggle set-feature signal to the flash memory device to enable, disable, or configure a data toggle operation of the flash memory device; the data toggle operation of the flash memory device is arranged to make the flash memory device control the flash memory device's data register selecting and transferring a first data unit and a second data unit to the flash memory device's I/O control circuit to make the I/O control circuit sequentially transmit the first data unit and the second data unit to the flash memory controller through the specific communication interface in response to a specific read command or a data toggle command transmitted by the flash memory controller.
    Type: Grant
    Filed: February 24, 2022
    Date of Patent: May 7, 2024
    Assignee: Silicon Motion, Inc.
    Inventors: Tsu-Han Lu, Hsiao-Chang Yen
  • Patent number: 11977500
    Abstract: The invention introduces a method for executing host input-output (IO) commands, performed by a processing unit of a device side, at least including: in response to different types of host IO commands, using multiple stages of a generic framework to drive a frontend interface to interact with a host side for transmitting user data read from a storage unit to the host side, and receiving user data to be programmed into the storage unit from the host side. The frontend interface includes a register, and a data line coupled to the host side. The stages of the generic framework are used to access to the register of the frontend interface and operate the data line of the frontend interface to complete interactions with the host side.
    Type: Grant
    Filed: June 28, 2021
    Date of Patent: May 7, 2024
    Assignee: SILICON MOTION, INC.
    Inventor: Shen-Ting Chiu
  • Patent number: 11977776
    Abstract: A flash memory device is disclosed. The memory cell array has a first plane and a second plane and stores a first data unit and a second data unit. The data register buffers the first data unit and the second data unit transmitted from the memory cell array when a read command or a data toggle command is received and stored by the command register. The control circuit performs a data toggle operation to control the data register selecting and transferring the first data unit and the second data unit to the I/O control circuit to make the I/O control circuit sequentially transmit the first data unit and the second data unit to the flash memory controller through a specific communication interface in response to the read command or the data toggle command. The transmission of the first data unit is followed by the transmission of the second data unit.
    Type: Grant
    Filed: February 24, 2022
    Date of Patent: May 7, 2024
    Assignee: Silicon Motion, Inc.
    Inventors: Tsu-Han Lu, Hsiao-Chang Yen
  • Patent number: 11977783
    Abstract: A method for performing data access control of a memory device with aid of a predetermined command and associated apparatus are provided. The method may include: utilizing the memory controller to receive a first single command from a host device through a transmission interface circuit of the memory controller; and in response to the first single command conforming to a predetermined format of the predetermined command, utilizing the memory controller to perform a series of operations according to the first single command, wherein the first single command represents a first duplicate command, for duplicating from a first source logical address to a first destination logical address. The series of operations may include: reading first data at the first source logical address; and writing the first data at the first destination logical address.
    Type: Grant
    Filed: July 14, 2022
    Date of Patent: May 7, 2024
    Assignee: Silicon Motion, Inc.
    Inventor: Tzu-Yi Yang
  • Patent number: 11977767
    Abstract: A method of caching mapping table for use in a flash memory device having a flash memory controller and a flash memory is provided. The method includes: in response to a host read command, determining whether a group of a logical-to-physical (L2P) required by handling the host read command has been loaded to a DRAM of the flash memory controller; if the required group of the L2P mapping table has not been loaded to the DRAM, loading the required group of the L2P mapping table from the flash memory to a SRAM of the flash memory controller; directly accessing the SRAM to obtain an L2P address associated with the host read command from the required group of the L2P mapping table; and performing a read operation on the flash memory in response to the host read command according to the obtained L2P address.
    Type: Grant
    Filed: March 14, 2022
    Date of Patent: May 7, 2024
    Assignee: Silicon Motion, Inc.
    Inventor: Yi-Kai Pai
  • Publication number: 20240143226
    Abstract: A data storage device includes a memory device and a memory controller. The memory device includes multiple predetermined memory blocks that are configured as a buffer for receiving data from a host device. The memory controller performs a write operation in response to a write command, and during the write operation, the memory controller maintains a first quantity count value for counting a number of the predetermined memory block(s) that has/have been written with data, determine a number of the predetermined memory block(s) which is/are released in response to the write operation and maintains a second quantity count value based on this number. After the write operation, the memory controller performs a garbage collection and updates the first quantity count value based on the second quantity count value when determining that the host device has requested to perform a flush operation on the predetermined memory blocks.
    Type: Application
    Filed: July 11, 2023
    Publication date: May 2, 2024
    Applicant: Silicon Motion, Inc.
    Inventor: Po-Lin Wu
  • Publication number: 20240143208
    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: Application
    Filed: July 7, 2023
    Publication date: May 2, 2024
    Applicant: Silicon Motion, Inc.
    Inventor: Po-Lin Wu
  • Publication number: 20240143791
    Abstract: The invention introduces an apparatus for detecting errors during data encryption. The apparatus includes a search circuitry and a substitution check circuitry. The key generation circuitry is arranged operably to convert a first value of one byte corresponding to a plaintext, an intermediate encryption result, or a round key into a second value of a K-bit according to an 8-to-K lookup table, where K is an integer ranging from 10 to 15 and the second value comprises (K minus 8) bits of a Hamming parity. The substitution check circuitry is arranged operably to employ check formulae corresponding to the 8-to-K lookup table to determine whether an error is occurred during a conversion of the first value of the one byte into the second value of the K-bit, and output an error signal when finding the error, where a total amount of the formulae is K minus 8.
    Type: Application
    Filed: May 30, 2023
    Publication date: May 2, 2024
    Applicant: Silicon Motion, Inc.
    Inventors: Wun-Jhe WU, Po-Hung CHEN, Chiao-Wen CHENG, Jiun-Hung YU, Chih-Wei LIU
  • Patent number: 11972113
    Abstract: A method for performing link management of a memory device in predetermined communications architecture with aid of handshaking phase transition control and associated apparatus are provided. The method may include: utilizing at least one upper layer controller of a transmission interface circuit to turn on a physical layer (PHY) circuit of the transmission interface circuit, for starting establishing a link between a host device and the memory device; before entering a first handshaking phase, utilizing the PHY circuit to receive any first incoming data sent from the host device to determine whether the any first incoming data indicates that the host device is in a corresponding first handshaking phase; and in response to the any first incoming data indicating that the host device is in the corresponding first handshaking phase, utilizing the PHY circuit to send first outgoing data that is equal to first predetermined data to the host device.
    Type: Grant
    Filed: July 26, 2022
    Date of Patent: April 30, 2024
    Assignee: Silicon Motion, Inc.
    Inventors: Bo-Chang Ye, Kuo-Cyuan Kuo, Chih-Chiang Chen
  • Patent number: 11972146
    Abstract: A method of a flash memory controller includes: providing an input/output (I/O) circuit coupled to a flash memory device through a specific communication interface; and, controlling a processor sending a specific read command or a data toggle command through the I/O circuit and the specific communication interface into the flash memory device, to make the flash memory device perform a data toggle operation to control the flash memory device's data register selecting and transferring a first data unit and a second data unit to the flash memory device's I/O control circuit to make the I/O control circuit sequentially transmit the first data unit and the second data unit to the flash memory controller through the specific communication interface in response to the specific read command or the data toggle command.
    Type: Grant
    Filed: February 24, 2022
    Date of Patent: April 30, 2024
    Assignee: Silicon Motion, Inc.
    Inventors: Tsu-Han Lu, Hsiao-Chang Yen
  • Patent number: 11972150
    Abstract: The invention relates to a method, a non-transitory computer-readable storage medium and an apparatus for programming data into flash memory. The method includes: generating a front-end parameter set, a mid-end parameter set and a back-end parameter set for each data-programming transaction; transmitting the front-end parameter set of each data-programming transaction to a routing engine, thereby enabling the routing engine to drive a host interface (I/F) to obtain from the host side; transmitting the mid-end parameter set of each data-programming transaction to an accelerator, thereby enabling the accelerator to drive the RAID engine to encrypt raw data or generate parity-page data according to multiple pages of the raw data; and transmitting the back-end parameter set of each data-programming transaction to the accelerator, thereby enabling the accelerator to drive a data access engine to program source data into a designated physical address of a flash module.
    Type: Grant
    Filed: August 2, 2022
    Date of Patent: April 30, 2024
    Assignee: SILICON MOTION, INC.
    Inventor: Shen-Ting Chiu
  • Patent number: 11966604
    Abstract: The invention relates to a method and an apparatus for programming data into flash memory. The method includes: obtaining, by the accelerator, an execution table indicating that data related to the first virtual carrier need to go through a mid-end and a back-end processing stages earlier than data related to other virtual carriers; driving, by the routing engine, a host interface (I/F) to obtain data associated with all cargos in the second virtual carrier, updating the second cargo flags with third cargo flags to indicate that data associated with all the cargos in the second virtual carrier are prepared in the front-end processing stage; and determining, by the accelerator, that data associated with any cargo in the first virtual carrier hasn't been prepared according to information of the first cargo flags, and disallowing the second virtual carrier to proceed to the following processing stages.
    Type: Grant
    Filed: August 2, 2022
    Date of Patent: April 23, 2024
    Assignee: SILICON MOTION, INC.
    Inventor: Shen-Ting Chiu
  • Patent number: 11966607
    Abstract: The invention relates to a method, a non-transitory computer-readable storage medium and an apparatus for accessing to encoding-history information. The method includes: providing a super-block formed by storage space of flash units, where the super-block includes zones, each zone includes super-page strings, and each super-page string includes pages across the flash units; and programming encoding-history information into a metadata section of a designated first page of a designated super-page string, thereby enabling a damaged page that is occurred in the designated super-page string of the designated zone to be recovered according to the encoding-history information. The encoding-history information includes a history profile and history entries. The history profile indicates which zone or zones are covered in the super-block, and a quantity of the history entries.
    Type: Grant
    Filed: August 2, 2022
    Date of Patent: April 23, 2024
    Assignee: SILICON MOTION, INC.
    Inventor: Shen-Ting Chiu
  • Publication number: 20240126473
    Abstract: A data storage device includes a memory device and a memory controller. The memory device includes multiple predetermined memory blocks that are configured as a buffer for receiving data from a host device. The memory controller performs a write operation in response to a write command issued by the host device, and during the write operation, the memory controller maintains a first quantity count value for counting a number of the predetermined memory block(s) that has/have been written with data, determines a number of the predetermined memory block(s) which is/are released in response to the write operation and maintains a second quantity count value based on this number. After the write operation, the memory controller updates the first quantity count value based on the second quantity count value when determining that the host device has requested to perform a flush operation on the predetermined memory blocks.
    Type: Application
    Filed: July 11, 2023
    Publication date: April 18, 2024
    Applicant: Silicon Motion, Inc.
    Inventor: Po-Lin Wu
  • Publication number: 20240126463
    Abstract: A data storage device includes a memory device and a memory controller. The memory device includes multiple memory blocks. The memory blocks includes one or more spare memory blocks that are 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 is coupled to the memory device and configured to access the memory device. The memory controller is configured to determine 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 and a predetermined threshold, and configure the number of the predetermined memory block(s) as the buffer according to the setting value.
    Type: Application
    Filed: July 10, 2023
    Publication date: April 18, 2024
    Applicant: Silicon Motion, Inc.
    Inventor: Po-Lin Wu