Patents by Inventor Tei-Wei Kuo

Tei-Wei 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).

  • Patent number: 9513815
    Abstract: A method is provided for managing a memory device including a plurality of physical memory segments. A logical memory space is classified into a plurality of classifications based on usage specifications. The plurality of physical memory segments is allocated to corresponding logical addresses based on the plurality of classifications, and on usage statistics of the physical memory segments. A data structure is maintained recording translation between logical addresses in the logical memory space and physical addresses of the physical memory segments. The plurality of classifications includes a first classification and a second classification having different usage statistic requirements than the first classification. Logical addresses having the second classification can be redirected to physical segments allocated to logical addresses having the first classification, and the data structure can be updated to record redirected logical addresses.
    Type: Grant
    Filed: October 24, 2014
    Date of Patent: December 6, 2016
    Assignee: Macronix International Co., Ltd.
    Inventors: Ping-Chun Chang, Yuan-Hao Chang, Hung-Sheng Chang, Tei-Wei Kuo, Hsiang-Pang Li
  • Patent number: 9501396
    Abstract: A method for managing utilization of a memory including a physical address space comprises mapping logical addresses of data objects to locations within the physical address space, and defining a plurality of address segments in the space as an active window. The method comprises allowing writes of data objects having logical addresses mapped to locations within the plurality of address segments in the active window. The method comprises, upon detection of a request to write a data object having a logical address mapped to a location outside the active window, updating the mapping so that the logical address maps to a selected location within the active window, and then allowing the write to the selected location. The method comprises maintaining access data indicating utilization of the plurality of address segments in the active window, and adding and removing address segments from the active window in response to the access data.
    Type: Grant
    Filed: August 16, 2013
    Date of Patent: November 22, 2016
    Assignee: MACRONIX INTERNATIONAL CO., LTD.
    Inventors: Hung-Sheng Chang, Cheng-Yuan Wang, Hsiang-Pang Li, Yuan-Hao Chang, Pi-Cheng Hsiu, Tei-Wei Kuo
  • Patent number: 9411649
    Abstract: A resource allocation method adapted to a mobile device having a multi-core central processing unit (CPU) is provided. The CPU executes at least one application. The method includes steps as follows. A usage status of each of the at least one application is obtained according to a level of concern of a user for each of the at least one application. A sensitivity of at least one thread of each of the at least one application is determined according to the usage status of each of the at least one application. Resources of the CPU are allocated according to the sensitivity of the at least one thread run by the cores.
    Type: Grant
    Filed: July 1, 2014
    Date of Patent: August 9, 2016
    Assignees: National Taiwan University, Academia Sinica
    Inventors: Po-Hsien Tseng, Pi-Cheng Hsiu, Chin-Chiang Pan, Tei-Wei Kuo, Wei-Ming Chen
  • Publication number: 20160154736
    Abstract: A cache system is provided. The cache system includes a first cache and a second cache. The first cache is configured for storing a first status of a plurality of data. The second cache is configured for storing a table. The table includes the plurality of data arranged from a highest level to a lowest level. The cache system is configured to update the first status of the plurality of data in the first cache. The cache system is further configured to update the table in the second cache according to the first status of the plurality of data.
    Type: Application
    Filed: August 13, 2015
    Publication date: June 2, 2016
    Inventors: Hung-Sheng Chang, Hsiang-Pang Li, Yuan-Hao Chang, Tei-Wei Kuo
  • Publication number: 20160154593
    Abstract: A memory system is provided. The memory system includes a memory controller and a first memory block. The first memory block is configured to store a first data from a top of the first memory block in a top-down fashion. The first memory block is configured to store a first metadata corresponding to the first data from a bottom of the first memory block in a bottom-up fashion. The first data forms a first data area. The first metadata forms a first metadata area. And a first continuous space is formed between a bottom of the first data area and a top of the first metadata area.
    Type: Application
    Filed: July 29, 2015
    Publication date: June 2, 2016
    Inventors: Hung-Sheng Chang, Hsiang-Pang Li, Chun-Ta Lin, Yuan-Hao Chang, Tei-Wei Kuo
  • Publication number: 20160147464
    Abstract: An operating method for a memory, the memory comprising at least one memory block including a plurality of first pages and a plurality of second pages corresponding to the first pages, the operating method including the following steps: determining whether a target first page of the first pages is valid, wherein the target first page is corresponding to a target second page of the second pages; if the target first page is valid, performing first type programming on the target second page; if the target first page is invalid, performing second type programming on the target second page.
    Type: Application
    Filed: July 22, 2015
    Publication date: May 26, 2016
    Inventors: Yu-Ming Chang, Yung-Chun Li, Hsiang-Pang Li, Yuan-Hao Chang, Tei-Wei Kuo
  • Publication number: 20160148694
    Abstract: A multiple-bit-per-cell, page mode memory comprises a plurality of physical pages, each physical page having N addressable pages p(n). Logic implements a plurality of selectable program operations to program an addressed page. Logic select one of the plurality of selectable program operations to program an addressed page in the particular physical page using a signal that indicates a logical status of another addressable page in the particular physical page. The logical status can indicate whether the other addressable page contains invalid data. The first program operation overwrites the other addressable page, and the second program operation preserves the other addressable page. The first program operation can execute more quickly than the second program operation. The logic can also be applied for programming multiple-bit-per-cell memory not configured in a page mode.
    Type: Application
    Filed: September 17, 2015
    Publication date: May 26, 2016
    Applicant: MACRONIX INTERNATIONAL CO., LTD.
    Inventors: YU-MING CHANG, YUNG-CHUN LI, HSIANG-PANG LI, YUAN-HAO CHANG, TEI-WEI KUO
  • Patent number: 9348748
    Abstract: Technology is described that increases endurance of memory devices through heal leveling. Heal leveling is a lightweight solution to distribute healing cycles among memory blocks. Approaches described herein can accomplish heal leveling without introducing a large amount of overhead. Heal leveling significantly improves the access performance and the effective lifetime of memory blocks. By more evenly distributing the heal count it may not be necessary to directly apply wear leveling based on access counts of each block because each block will be more evenly accessed in the long run. Heal leveling may be performed by moving data that is seldom or never modified after creation, such as read-only files, to blocks having suffered the greatest number, or a high number, of healing cycles.
    Type: Grant
    Filed: December 22, 2014
    Date of Patent: May 24, 2016
    Assignee: MACRONIX INTERNATIONAL CO., LTD.
    Inventors: Yu-Ming Chang, Hsiang-Pang Li, Hang-Ting Lue, Yuan-Hao Chang, Tei-Wei Kuo
  • Patent number: 9305638
    Abstract: Operation methods for a memory device is provided. An operation method for the memory device comprises programming the memory device as described in follows. Data are provided. The data comprise a plurality of codes. Each number of the codes is counted. Then, a mapping rule is generated according to each number of the codes. In the mapping rule, each of the codes is mapped to one of a plurality of verifying voltage levels which are sequentially arranged from low to high. After that, the data are programmed into the memory device according to the mapping rule.
    Type: Grant
    Filed: October 29, 2014
    Date of Patent: April 5, 2016
    Assignee: MACRONIX INTERNATIONAL CO., LTD.
    Inventors: Yu-Ming Chang, Yung-Chun Li, Chih-Chang Hsieh, Shih-Fu Huang, Hsiang-Pang Li, Yuan-Hao Chang, Tei-Wei Kuo
  • Patent number: 9251056
    Abstract: A method for memory management is provided for a memory including a plurality of pages. The method comprises assigning in-use pages to in-use buckets according to use counts. The in-use buckets include a low in-use bucket for a lowest range of use counts, and a high in-use bucket for a highest range of use counts. The method comprises assigning free pages to free buckets according to use counts. The free buckets include a low free bucket for a lowest range of use counts, and a high free bucket for a highest range of use counts. The method maintains use counts for in-use pages. On a triggering event for a current in-use page, the method determines whether the use count of the current in-use page exceeds a hot swap threshold, and if so moves data in the current in-use page to a lead page in the low free bucket.
    Type: Grant
    Filed: October 5, 2012
    Date of Patent: February 2, 2016
    Assignee: Macronix International Co., Ltd.
    Inventors: Po-Chao Fang, Cheng-Yuan Wang, Hsiang-Pang Li, Chi-Hao Chen, Pi-Cheng Hsiu, Tei-Wei Kuo
  • Publication number: 20150301864
    Abstract: A resource allocation method adapted to a mobile device having a multi-core central processing unit (CPU) is provided. The CPU executes at least one application. The method includes steps as follows. A usage status of each of the at least one application is obtained according to a level of concern of a user for each of the at least one application. A sensitivity of at least one thread of each of the at least one application is determined according to the usage status of each of the at least one application. Resources of the CPU are allocated according to the sensitivity of the at least one thread run by the cores.
    Type: Application
    Filed: July 1, 2014
    Publication date: October 22, 2015
    Inventors: Po-Hsien Tseng, Pi-Cheng Hsiu, Chin-Chiang Pan, Tei-Wei Kuo, Wei-Ming Chen
  • Publication number: 20150178010
    Abstract: A method is provided for managing a memory device including a plurality of physical memory segments. A logical memory space is classified into a plurality of classifications based on usage specifications. The plurality of physical memory segments is allocated to corresponding logical addresses based on the plurality of classifications, and on usage statistics of the physical memory segments. A data structure is maintained recording translation between logical addresses in the logical memory space and physical addresses of the physical memory segments. The plurality of classifications includes a first classification and a second classification having different usage statistic requirements than the first classification. Logical addresses having the second classification can be redirected to physical segments allocated to logical addresses having the first classification, and the data structure can be updated to record redirected logical addresses.
    Type: Application
    Filed: October 24, 2014
    Publication date: June 25, 2015
    Applicant: Macronix International Co., Ltd.
    Inventors: Ping-Chun Chang, Yuan-Hao Chang, Hung-Sheng Chang, Tei-Wei Kuo, Hsiang-Pang Li
  • Publication number: 20150177996
    Abstract: Technology is described that increases endurance of memory devices through heal leveling. Heal leveling is a lightweight solution to distribute healing cycles among memory blocks. Approaches described herein can accomplish heal leveling without introducing a large amount of overhead. Heal leveling significantly improves the access performance and the effective lifetime of memory blocks. By more evenly distributing the heal count it may not be necessary to directly apply wear leveling based on access counts of each block because each block will be more evenly accessed in the long run. Heal leveling may be performed by moving data that is seldom or never modified after creation, such as read-only files, to blocks having suffered the greatest number, or a high number, of healing cycles.
    Type: Application
    Filed: December 22, 2014
    Publication date: June 25, 2015
    Applicant: MACRONIX INTERNATIONAL CO., LTD.
    Inventors: YU-MING CHANG, HSIANG-PANG LI, HANG-TING LUE, YUAN-HAO CHANG, TEI-WEI KUO
  • Patent number: 9025375
    Abstract: Technology is described that supports reduced program disturb of nonvolatile memory. A three/two dimensional NAND array includes a plurality of pages, which are divided into a plurality of page groups. Access is allowed to memory cells within a first page group of a plurality of page groups in an erase block of the three dimensional NAND array, while access is minimized to memory cells within a second page group of the plurality of page groups in the erase block of the three/two dimensional NAND array. Pages in the same page group are physically nonadjacent with each other in the three/two dimensional NAND array.
    Type: Grant
    Filed: October 22, 2013
    Date of Patent: May 5, 2015
    Assignee: Macronix International Co., Ltd.
    Inventors: Yu-Ming Chang, Yung-Chun Li, Hsing-Chen Lu, Hsiang-Pang Li, Cheng-Yuan Wang, Yuan-Hao Chang, Tei-Wei Kuo
  • Publication number: 20140310447
    Abstract: A method for managing block erase operations is provided for an array of memory cells including erasable blocks of memory cells in the array. The method comprises maintaining status data for a plurality of sub-blocks of the erasable blocks of the array. The status data indicate whether the sub-blocks are currently accessible and whether the sub-blocks are invalid. The method comprises, in response to a request to erase a selected sub-block of a particular erasable block, issuing an erase command to erase the particular block if the other sub-blocks of the particular erasable block are invalid, else updating the status data to indicate that the selected sub-block is invalid.
    Type: Application
    Filed: September 4, 2013
    Publication date: October 16, 2014
    Applicant: Macronix International Co., Ltd.
    Inventors: YU-MING CHANG, YUNG-CHUN LI, HSING-CHEN LU, HSIANG-PANG LI, CHENG-YUAN WANG, YUAN-HAO CHANG, TEI-WEI KUO
  • Publication number: 20140307505
    Abstract: Technology is described that supports reduced program disturb of nonvolatile memory. A three/two dimensional NAND array includes a plurality of pages, which are divided into a plurality of page groups. Access is allowed to memory cells within a first page group of a plurality of page groups in an erase block of the three dimensional NAND array, while access is minimized to memory cells within a second page group of the plurality of page groups in the erase block of the three/two dimensional NAND array. Pages in the same page group are physically nonadjacent with each other in the three/two dimensional NAND array.
    Type: Application
    Filed: October 22, 2013
    Publication date: October 16, 2014
    Applicant: Macronix International Co., Ltd
    Inventors: Yu-Ming Chang, Yung-Chun Li, Hsing-Chen Lu, Hsiang-Pang Li, Cheng-Yuan Wang, Yuan-Hao Chang, Tei-Wei Kuo
  • Publication number: 20140189286
    Abstract: A method for managing utilization of a memory including a physical address space comprises mapping logical addresses of data objects to locations within the physical address space, and defining a plurality of address segments in the space as an active window. The method comprises allowing writes of data objects having logical addresses mapped to locations within the plurality of address segments in the active window. The method comprises, upon detection of a request to write a data object having a logical address mapped to a location outside the active window, updating the mapping so that the logical address maps to a selected location within the active window, and then allowing the write to the selected location. The method comprises maintaining access data indicating utilization of the plurality of address segments in the active window, and adding and removing address segments from the active window in response to the access data.
    Type: Application
    Filed: August 16, 2013
    Publication date: July 3, 2014
    Applicant: MACRONIX INTERNATIONAL CO., LTD.
    Inventors: HUNG-SHENG CHANG, CHENG-YUAN WANG, HSIANG-PANG LI, YUAN-HAO CHANG, PI-CHENG HSIU, TEI-WEI KUO
  • Publication number: 20140189276
    Abstract: A method is provided for managing a file system including data objects. The data objects, indirect pointers and source pointers are stored in containers that have addresses and include addressable units of a memory. The objects are mapped to addresses for corresponding containers. The indirect pointer in a particular container points to the address of a container in which the corresponding object is stored. The source pointer in the particular container points to the address of the container to which the object in the particular container is mapped. An object in a first container is moved to a second container. The source pointer in the first container is used to find a third container to which the object is mapped. The indirect pointer in the third container is updated to point to the second container. The source pointer in the second container is updated to point to the third container.
    Type: Application
    Filed: July 11, 2013
    Publication date: July 3, 2014
    Inventors: Hung-Sheng Chang, Cheng-Yuan Wang, Hsiang-Pang Li, Yuan-Hao Chang, Pi-Cheng Hsiu, Tei-Wei Kuo
  • Patent number: 8762377
    Abstract: A candidate key retrieving apparatus, a candidate key retrieving method and a tangible machine-readable medium thereof are provided. The candidate key retrieving apparatus comprises a storage unit and a microprocessor. The storage unit is configured to store a table recording a data amount of the table, a plurality of attributes, and a data distinct amount and a data type of each attribute. The microprocessor is configured to generate a candidate key according to the data amount, the distinct amounts and the data types.
    Type: Grant
    Filed: November 30, 2009
    Date of Patent: June 24, 2014
    Assignee: Institute for Information Industry
    Inventors: Tei-Wei Kuo, Chi-Sheng Shih, Ren-Shan Luoh, Pei-Lun Suei, Che-Wei Kuo, Min-Siong Liang
  • Patent number: 8700839
    Abstract: A method for performing a static wear leveling on a flash memory is disclosed. Accordingly, a static wear leveling unit is disposed with a block reclamation unit of either a flash translation layer or a native file system in the flash memory, and utilizes less memory space to trace a distribution status of block leveling cycles of each physical block of the flash memory. Based on the distribution record of the block leveling cycles, the number of the leveling cycles less than a premeditated threshold would be found while the system idles. Then the static wear leveling unit requests the block reclamation unit to level the found blocks. Before leveling the found block, the rarely updated data is compelled to move from one block to another block which is leveled frequently, whereby accurate wear leveling cycles for the blocks can be averaged extremely.
    Type: Grant
    Filed: December 21, 2007
    Date of Patent: April 15, 2014
    Assignee: Genesys Logic, Inc.
    Inventors: Yuan-Hao Chang, Jen-Wei Hsieh, Tei-Wei Kuo, Cheng-Chih Yang