Patents by Inventor Wu-Chi Kuo

Wu-Chi Kuo 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: 20180275887
    Abstract: A data storage device with high reliability. When rebuilding a mapping table, a validity table bitMap within a first block is taken into consideration to determine which is a newer version: the first data within the first block or the second data within a second block. The first block was originally used as a destination block for garbage collection. The second block was originally used as an active block for reception of write data from a host. The validity table bitMap shows the data status (valid or invalid) of the storage units of the first block. The first data and the second data relate to the same logical address.
    Type: Application
    Filed: November 2, 2017
    Publication date: September 27, 2018
    Inventors: Yi-Chien Yang, Wu-Chi Kuo, Yu-Wei Fan
  • Patent number: 9996304
    Abstract: The present invention provides a data storage device including a flash memory, a plurality of counting control arrays and a controller. The flash memory includes a plurality of chips, each chip has a plurality of pages arranged to be assembled into a super block according to a predetermined order, and each of the super blocks includes the pages of the different chips. The controller keeps the value of a first field of a first counting control array corresponding to a first chip required to be read and writes a second value into the other fields except for the first field of the first counting control array when the first field is a first value, and writes the first value into the first field and keeps the values of the other fields of the first counting control array when the first field is the second value.
    Type: Grant
    Filed: March 2, 2016
    Date of Patent: June 12, 2018
    Assignee: SILICON MOTION, INC.
    Inventors: Kuan-Lin Chen, Wu-Chi Kuo
  • Publication number: 20160259552
    Abstract: The present invention provides a data storage device including a flash memory, a plurality of counting control arrays and a controller. The flash memory includes a plurality of chips, each chip has a plurality of pages arranged to be assembled into a super block according to a predetermined order, and each of the super blocks includes the pages of the different chips. The controller keeps the value of a first field of a first counting control array corresponding to a first chip required to be read and writes a second value into the other fields except for the first field of the first counting control array when the first field is a first value, and writes the first value into the first field and keeps the values of the other fields of the first counting control array when the first field is the second value.
    Type: Application
    Filed: March 2, 2016
    Publication date: September 8, 2016
    Inventors: Kuan-Lin CHEN, Wu-Chi KUO
  • Patent number: 8856432
    Abstract: A data programming method for a data programming device having a non-volatile memory and a volatile memory, the method comprising determining whether data exceeds one page; if the data does not exceed one page and is insufficient for one page, storing the data into the volatile memory; determining whether next data is to be programmed into the same page as the data stored in the volatile memory; if the next data is to be programmed into the same page as the data stored in the volatile memory, programming the data and the next data into the non-volatile memory.
    Type: Grant
    Filed: August 28, 2012
    Date of Patent: October 7, 2014
    Assignee: Silicon Motion, Inc.
    Inventors: Cheng-Chih Yu, Wu-Chi Kuo, Hsiao-Chun Pan, Chi-Hsiang Hung
  • Publication number: 20120324154
    Abstract: A data programming method for a data programming device having a non-volatile memory and a volatile memory, the method comprising determining whether data exceeds one page; if the data does not exceed one page and is insufficient for one page, storing the data into the volatile memory; determining whether next data is to be programmed into the same page as the data stored in the volatile memory; if the next data is to be programmed into the same page as the data stored in the volatile memory, programming the data and the next data into the non-volatile memory.
    Type: Application
    Filed: August 28, 2012
    Publication date: December 20, 2012
    Applicant: SILICON MOTION, INC.
    Inventors: Cheng-Chih YU, Wu-Chi KUO, Hsiao-Chun PAN, Chi-Hsiang HUNG
  • Publication number: 20120303879
    Abstract: An access method for use in a memory device. The memory device comprises a data area having a plurality of data blocks and a spare area having a plurality of spare blocks. First, data from a host is received. A spare block is popped from the spare area and the received data is programmed into the popped spare block accordingly. A data block corresponding to the data is pushed to the spare area. The pushed data block is erased when the memory device is waiting for a specific instruction to be issued from the host.
    Type: Application
    Filed: June 15, 2012
    Publication date: November 29, 2012
    Applicant: SILICON MOTION, INC.
    Inventor: Wu-Chi Kuo
  • Patent number: 8312205
    Abstract: A memory device includes a flash memory and a controller. The flash memory includes a plurality of blocks, and each block includes a plurality of pages. The controller is utilized for reading a plurality of bits from an identification region of a page, and determining whether the page is blank or not according to the plurality of bits.
    Type: Grant
    Filed: April 7, 2010
    Date of Patent: November 13, 2012
    Assignees: Silicon Motion Inc., Silicon Motion Inc.
    Inventor: Wu-Chi Kuo
  • Patent number: 8281063
    Abstract: A data programming device is provided and comprises a non-volatile memory, a volatile memory, and a memory control unit. The non-volatile memory is arranged for programming data. The volatile memory is arranged for temporarily storing data. The memory control unit is arranged for receiving data and determining whether the data is programmed into the non-volatile memory or stored into the volatile memory. If the data exceeds one page, the memory control unit programs a first portion of the data into the non-volatile memory and stores a second portion of the data, which is insufficient for one page, into the volatile memory.
    Type: Grant
    Filed: October 2, 2008
    Date of Patent: October 2, 2012
    Assignee: Silicon Motion, Inc.
    Inventors: Cheng-Chih Yu, Wu-Chi Kuo, Hsiao-Chun Pan, Chi-Hsiang Hung
  • Patent number: 8225028
    Abstract: An access method for use in a memory device is provided. The memory device comprises a data area having a plurality of data blocks and a spare area having a plurality of spare blocks. First, data from a host is received. A spare block is popped from the spare area and the received data is programmed into the popped spare block accordingly. A data block corresponding to the data is pushed to the spare area. The pushed data block is erased when the memory device is waiting for a specific instruction to be issued from the host.
    Type: Grant
    Filed: March 15, 2009
    Date of Patent: July 17, 2012
    Assignee: Silicon Motion, Inc.
    Inventor: Wu-Chi Kuo
  • Patent number: 8190810
    Abstract: A non-volatile memory apparatus and a method for accessing the non-volatile memory apparatus are provided. The non-volatile memory apparatus comprises a management unit, a look-up table and a controller. The management unit comprises a plurality of data blocks and a plurality of spare blocks. The look-up table is adapted to record the read status of the management unit. The controller is configured to read the management unit and then generate the read status denoting the times that the management unit has been read to the look-up table, and to replace one of the data blocks by one of the spare blocks in response to the read status when the times that the management unit has been read exceeds a reference value.
    Type: Grant
    Filed: April 18, 2008
    Date of Patent: May 29, 2012
    Assignee: Silicon Motion, Inc.
    Inventors: Chi-Hsiang Hung, Hsiao-Chun Pan, Wu-Chi Kuo
  • Patent number: 8176231
    Abstract: A method for handling data updating of a flash memory is disclosed, in which the flash memory comprises a mother block with a plurality of pages to be updated, and each page comprises a plurality of sectors. In such method, a first data for updating a target page in the mother block is obtained, and then whether the first data comprises data for updating an ending sector in the target page is determined. The first data is written into a replacing page in a first FAT block when the first data does not comprise data for updating the ending sector in the target page. The first data is written into a corresponding page in a second FAT block when the first data comprises the data for updating the ending sector, in which the corresponding page in the second FAT block and the target page in the mother block have the same page indexes.
    Type: Grant
    Filed: March 15, 2009
    Date of Patent: May 8, 2012
    Assignee: Silicon Motion, Inc.
    Inventors: Wu-Chi Kuo, Chi-Hsiang Hung
  • Publication number: 20110197037
    Abstract: A method for accessing a downgrade memory and a downgrade memory apparatus are provided. The downgrade memory apparatus comprises at least one management unit and a controller. The management unit comprises a plurality of blocks, each block having a plurality of pages, and each page having a plurality of sectors, the downgrade memory having a plurality of non-accessible sectors. The controller is configured to parse a write command corresponding to a special block, to select at least one accessible sector according to a status information of the special block and to program the write command to the special block, wherein the status information indicates at least one non-accessible sector in the special block. Thereby the method and the apparatus of downgrade memory may as well omit the non-accessible sectors as enhance the usage memory capacity in accordance with the status information.
    Type: Application
    Filed: April 22, 2011
    Publication date: August 11, 2011
    Applicant: SILICONMOTION INC.
    Inventor: Wu-Chi Kuo
  • Patent number: 7971007
    Abstract: A method for accessing a downgrade memory and a downgrade memory apparatus are provided. The downgrade memory apparatus comprises at least one management unit and a controller. The management unit comprises a plurality of blocks, each block having a plurality of pages, and each page having a plurality of sectors, the downgrade memory having a plurality of non-accessible sectors. The controller is configured to parse a write command corresponding to a special block, to select at least one accessible sector according to a status information of the special block and to program the write command to the special block, wherein the status information indicates at least one non-accessible sector in the special block. Thereby the method and the apparatus of downgrade memory may as well omit the non-accessible sectors as enhance the usage memory capacity in accordance with the status information.
    Type: Grant
    Filed: July 8, 2008
    Date of Patent: June 28, 2011
    Assignee: Silicon Motion, Inc.
    Inventor: Wu-Chi Kuo
  • Publication number: 20110040928
    Abstract: A memory device includes a flash memory and a controller. The flash memory includes a plurality of blocks, and each block includes a plurality of pages. The controller is utilized for reading a plurality of bits from an identification region of a page, and determining whether the page is blank or not according to the plurality of bits.
    Type: Application
    Filed: April 7, 2010
    Publication date: February 17, 2011
    Inventor: Wu-Chi Kuo
  • Publication number: 20110029741
    Abstract: The invention provides a data management method for a memory device. In one embodiment, the memory device comprises a plurality of memories for data storage. First, write data and a write logical address is received from a host. The write logical address is then converted to a write physical address. A target memory corresponding to the write physical address is then determined. Whether the target memory is in a busy state is then checked. When the target memory is in the busy state, the write data is written to a buffer area of a substitute memory of the target memory.
    Type: Application
    Filed: February 9, 2010
    Publication date: February 3, 2011
    Applicant: SILICON MOTION, INC.
    Inventor: Wu-Chi Kuo
  • Publication number: 20100153624
    Abstract: A data managing method for non-volatile memory which comprises a step for receiving a first logical block address and updated data, and a step for merging data in a plurality of physical blocks which have lowest usage rates according to usage parameters in a reference table when the first logical address doesn't exist in the reference table in a buffer memory and a number of pair blocks reaches a determined number.
    Type: Application
    Filed: February 21, 2009
    Publication date: June 17, 2010
    Applicant: Silicon Motion, Inc.
    Inventor: Wu-Chi Kuo
  • Publication number: 20100106892
    Abstract: An access method for use in a memory device is provided. The memory device comprises a data area having a plurality of data blocks and a spare area having a plurality of spare blocks. First, data from a host is received. A spare block is popped from the spare area and the received data is programmed into the popped spare block accordingly. A data block corresponding to the data is pushed to the spare area. The pushed data block is erased when the memory device is waiting for a specific instruction to be issued from the host.
    Type: Application
    Filed: March 15, 2009
    Publication date: April 29, 2010
    Applicant: Silicon Motion, Inc.
    Inventor: Wu-Chi Kuo
  • Publication number: 20100088462
    Abstract: A method for handling data updating of a flash memory is disclosed, in which the flash memory comprises a mother block with a plurality of pages to be updated, and each page comprises a plurality of sectors. In such method, a first data for updating a target page in the mother block is obtained, and then whether the first data comprises data for updating an ending sector in the target page is determined. The first data is written into a replacing page in a first FAT block when the first data does not comprise data for updating the ending sector in the target page. The first data is written into a corresponding page in a second FAT block when the first data comprises the data for updating the ending sector, in which the corresponding page in the second FAT block and the target page in the mother block have the same page indexes.
    Type: Application
    Filed: March 15, 2009
    Publication date: April 8, 2010
    Applicant: SILICON MOTION, INC.
    Inventors: Wu-Chi Kuo, Chi-Hsiang Hung
  • Publication number: 20100011152
    Abstract: A data programming device is provided and comprises a non-volatile memory, a volatile memory, and a memory control unit. The non-volatile memory is arranged for programming data. The volatile memory is arranged for temporarily storing data. The memory control unit is arranged for receiving data and determining whether the data is programmed into the non-volatile memory or stored into the volatile memory. If the data exceeds one page, the memory control unit programs a first portion of the data into the non-volatile memory and stores a second portion of the data, which is insufficient for one page, into the volatile memory.
    Type: Application
    Filed: October 2, 2008
    Publication date: January 14, 2010
    Applicant: SILICON MOTION, INC.
    Inventors: Cheng-Chih YU, Wu-Chi KUO, Hsiao-Chun PAN, Chi-Hsiang HUNG
  • Publication number: 20100011173
    Abstract: A method for accessing a downgrade memory and a downgrade memory apparatus are provided. The downgrade memory apparatus comprises at least one management unit and a controller. The management unit comprises a plurality of blocks, each block having a plurality of pages, and each page having a plurality of sectors, the downgrade memory having a plurality of non-accessible sectors. The controller is configured to parse a write command corresponding to a special block, to select at least one accessible sector according to a status information of the special block and to program the write command to the special block, wherein the status information indicates at least one non-accessible sector in the special block. Thereby the method and the apparatus of downgrade memory may as well omit the non-accessible sectors as enhance the usage memory capacity in accordance with the status information.
    Type: Application
    Filed: July 8, 2008
    Publication date: January 14, 2010
    Applicant: SILICON MOTION, INC.
    Inventor: Wu-Chi Kuo