-
公开(公告)号:US10855477B2
公开(公告)日:2020-12-01
申请号:US15857341
申请日:2017-12-28
Applicant: MACRONIX INTERNATIONAL CO., LTD.
Inventor: Chun-Hsiung Hung , Kuen-Long Chang , Ken-Hui Chen , Shih-Chang Huang
Abstract: A device which can be implemented on a single packaged integrated circuit or a multichip includes a plurality of non-volatile memory cells, and logic to use a physical unclonable function to produce an initial key and to store the initial key in a set of non-volatile memory cells in the plurality of non-volatile memory cells. The device can include logic to use a random number generator to generate a random number, and logic to combine the initial key and the random number to produce an enhanced key. The physical unclonable function can use entropy derived from non-volatile memory cells in the plurality of non-volatile memory cells to produce the initial key. Logic is described to disable changes to data in the set of non-volatile memory cells, and thereby freeze the key after it is stored in the set.
-
公开(公告)号:US10749695B2
公开(公告)日:2020-08-18
申请号:US16592850
申请日:2019-10-04
Applicant: MACRONIX INTERNATIONAL CO., LTD.
Inventor: Chun-Hsiung Hung , Kuen-Long Chang , Ken-Hui Chen , Shih-Chang Huang
IPC: G06F13/00 , H04L9/32 , G06F3/06 , G09C1/00 , G11C16/22 , H04L9/08 , H04L9/14 , G11C11/16 , G11C13/00 , G06F7/58 , G06F11/10 , G06F12/02 , G06F12/14 , G06F21/31 , G06F21/60 , G06F21/75 , G11C7/24 , G11C16/10 , G11C16/26 , G11C8/20 , G06F13/42 , G11C7/10
Abstract: A system and method for utilizing a security key stored in non-volatile memory, and for generating a PUF-based data set on an integrated circuit including non-volatile memory cells, such as flash memory cells, are described. The method includes storing a security key in a particular block in a plurality of blocks of the non-volatile memory array; utilizing, in a security logic circuit coupled to the non-volatile memory array, the security key stored in the particular block in a protocol to enable access via a port by external devices or communication networks to data stored in blocks in the plurality of blocks; and enabling read-only access to the particular block by the security logic for use in the protocol, and preventing access to the particular block via the port.
-
公开(公告)号:US10445173B2
公开(公告)日:2019-10-15
申请号:US15632460
申请日:2017-06-26
Applicant: MACRONIX INTERNATIONAL CO., LTD.
Inventor: Shih-Chang Huang , Kun-Tse Lee
IPC: G06F11/10
Abstract: A method for programming a non-volatile memory in a programming operation is provided. The non-volatile memory has a number of cells and each of part of the cells stores data having at least 2 bits at least corresponding to a first page and a second page. The first programming-verifying operation including programming the first page and verifying whether the first page is successfully programmed is performed. When a first original fail-bit number for the first page is more than a predetermined fail-bit value, a second programming-verifying operation to the first page is performed to obtain a first over-counting fail-bit number for the first page and reduce the first original fail-bit number by the first over-counting fail-bit number. When the reduced first original fail-bit number is not more than the predetermined fail-bit value, the first page is set as successfully programmed.
-
公开(公告)号:US20180373584A1
公开(公告)日:2018-12-27
申请号:US15632460
申请日:2017-06-26
Applicant: MACRONIX INTERNATIONAL CO., LTD.
Inventor: Shih-Chang Huang , Kun-Tse Lee
IPC: G06F11/10
CPC classification number: G06F11/102 , G06F11/1072
Abstract: A method for programming a non-volatile memory in a programming operation is provided. The non-volatile memory has a number of cells and each of part of the cells stores data having at least 2 bits at least corresponding to a first page and a second page. The first programming-verifying operation including programming the first page and verifying whether the first page is successfully programmed is performed. When a first original fail-bit number for the first page is more than a predetermined fail-bit value, a second programming-verifying operation to the first page is performed to obtain a first over-counting fail-bit number for the first page and reduce the first original fail-bit number by the first over-counting fail-bit number. When the reduced first original fail-bit number is not more than the predetermined fail-bit value, the first page is set as successfully programmed.
-
公开(公告)号:US09535785B2
公开(公告)日:2017-01-03
申请号:US14158613
申请日:2014-01-17
Applicant: Macronix International Co., Ltd.
Inventor: Nai-Ping Kuo , Shih-Chang Huang , Chin-Hung Chang , Ken-Hui Chen , Kuen-Long Chang , Chun-Hsiung Hung
CPC classification number: G06F11/1048 , G06F2212/1036 , G11C16/3436
Abstract: A method of operating a memory storing data sets, and ECCs for the data sets is provided. The method includes when writing new data in a data set, computing and storing an ECC, if a number of addressable segments storing the new data and data previously programmed in the data set includes at least a predetermined number of addressable segments. The method includes storing indications for whether to enable or disable use of the ECCs, using the ECC and a first additional ECC bit derived from the ECC. The method includes reading from a data set an extended ECC including an ECC and a first additional ECC bit derived from the ECC, and enabling or disabling use of the ECC according to the indications stored for the data set. The method includes enabling use of ECCs for blank data sets, using the indications and a second additional ECC bit.
Abstract translation: 提供了一种操作存储数据集的存储器和数据集的ECC的方法。 如果存储新数据的多个可寻址段和先前在数据集中编程的数据包括至少预定数量的可寻址段,则该方法包括在将新数据写入数据集时,计算和存储ECC。 该方法包括使用ECC和从ECC导出的第一附加ECC比特来存储是否启用或禁止使用ECC的指示。 该方法包括从数据集读取包括ECC的扩展ECC和从ECC导出的第一附加ECC位,以及根据为数据集存储的指示启用或禁用ECC的使用。 该方法包括使用所述指示和第二附加ECC位使能ECC空白数据集。
-
公开(公告)号:US20150370634A1
公开(公告)日:2015-12-24
申请号:US14841950
申请日:2015-09-01
Applicant: MACRONIX INTERNATIONAL CO., LTD.
Inventor: Shih-Chang Huang , Ken-Hui Chen , Chun-Hsiung Hung
CPC classification number: G06F11/1068 , G06F11/1052 , G11C29/52 , G11C2029/0411
Abstract: A method of operating a memory device storing ECCs for corresponding data is provided. The method includes writing an extended ECC during a first program operation, the extended ECC including an ECC and an extended bit derived from the ECC. The method includes overwriting the extended ECC with a pre-determined state during a second program operation to indicate the second program operation. The method includes, setting the ECC to an initial ECC state before the first program operation; during the first program operation, computing the ECC, changing the ECC to the initial ECC state if the computed ECC equals the pre-determined state; and changing the extended bit to an initial value if the ECC equals the initial ECC state. The method includes reading an extended ECC including an extended bit and an ECC for corresponding data, and determining whether to enable ECC logic using the extended ECC.
Abstract translation: 提供一种操作存储用于相应数据的ECC的存储设备的方法。 该方法包括在第一程序操作期间写入扩展ECC,扩展ECC包括ECC和从ECC导出的扩展位。 该方法包括在第二程序操作期间以预定状态重写扩展ECC以指示第二程序操作。 该方法包括:在第一程序操作之前将ECC设置为初始ECC状态; 在第一程序操作期间,如果所计算的ECC等于预定状态,则计算ECC,将ECC改变为初始ECC状态; 并且如果ECC等于初始ECC状态,则将扩展位改变为初始值。 该方法包括读取包括扩展位的扩展ECC和用于相应数据的ECC,并且确定是否使用扩展ECC来启用ECC逻辑。
-
公开(公告)号:US20150205665A1
公开(公告)日:2015-07-23
申请号:US14158613
申请日:2014-01-17
Applicant: Macronix International Co., Ltd.
Inventor: Nai-Ping Kuo , Shih-Chang Huang , Chin-Hung Chang , Ken-Hui Chen , Kuen-Long Chang , Chun-Hsiung Hung
IPC: G06F11/10
CPC classification number: G06F11/1048 , G06F2212/1036 , G11C16/3436
Abstract: A method of operating a memory storing data sets, and ECCs for the data sets is provided. The method includes when writing new data in a data set, computing and storing an ECC, if a number of addressable segments storing the new data and data previously programmed in the data set includes at least a predetermined number of addressable segments. The method includes storing indications for whether to enable or disable use of the ECCs, using the ECC and a first additional ECC bit derived from the ECC. The method includes reading from a data set an extended ECC including an ECC and a first additional ECC bit derived from the ECC, and enabling or disabling use of the ECC according to the indications stored for the data set. The method includes enabling use of ECCs for blank data sets, using the indications and a second additional ECC bit.
Abstract translation: 提供了一种操作存储数据集的存储器和数据集的ECC的方法。 如果存储新数据的多个可寻址段和先前在数据集中编程的数据包括至少预定数量的可寻址段,则该方法包括在将新数据写入数据集时,计算和存储ECC。 该方法包括使用ECC和从ECC导出的第一附加ECC比特来存储是否启用或禁止使用ECC的指示。 该方法包括从数据集读取包括ECC的扩展ECC和从ECC导出的第一附加ECC位,以及根据为数据集存储的指示启用或禁用ECC的使用。 该方法包括使用所述指示和第二附加ECC位使能ECC空白数据集。
-
公开(公告)号:US12237024B2
公开(公告)日:2025-02-25
申请号:US17894838
申请日:2022-08-24
Applicant: MACRONIX International Co., Ltd.
Inventor: Kun-Tse Lee , Han-Sung Chen , Shih-Chang Huang
Abstract: A memory device and a programming method thereof are provided. The programming method includes the following steps. According to a step value, based on an incremental step pulse programming scheme, multiple programming operations are performed for a selected memory page. In a setting mode, multiple program verify operations are respectively performed corresponding to the programming operations to respectively generate multiple pass bit numbers. In the setting mode, a pass bit number difference value of two pass bit numbers corresponding to two programming operations is calculated. In the setting mode, an amount of the step value is adjusted according to the pass bit number difference value.
-
公开(公告)号:US20240071523A1
公开(公告)日:2024-02-29
申请号:US17894838
申请日:2022-08-24
Applicant: MACRONIX International Co., Ltd.
Inventor: Kun-Tse Lee , Han-Sung Chen , Shih-Chang Huang
CPC classification number: G11C16/3459 , G11C16/08 , G11C16/102 , G11C16/28
Abstract: A memory device and a programming method thereof are provided. The programming method includes the following steps. According to a step value, based on an incremental step pulse programming scheme, multiple programming operations are performed for a selected memory page. In a setting mode, multiple program verify operations are respectively performed corresponding to the programming operations to respectively generate multiple pass bit numbers. In the setting mode, a pass bit number difference value of two pass bit numbers corresponding to two programming operations is calculated. In the setting mode, an amount of the step value is adjusted according to the pass bit number difference value.
-
公开(公告)号:US11258599B2
公开(公告)日:2022-02-22
申请号:US16793986
申请日:2020-02-18
Applicant: MACRONIX INTERNATIONAL CO., LTD.
Inventor: Chun-Hsiung Hung , Kuen-Long Chang , Ken-Hui Chen , Shih-Chang Huang , Chin-Hung Chang , Chen-Chia Fan
IPC: H04L9/08 , H04L9/32 , G06F21/62 , G06F3/06 , G06F12/0877
Abstract: A system and method use a physical unclonable function in a PUF circuit on an integrated circuit to generate a security key, and stabilize the security key by storage in a set of nonvolatile memory cells. The stabilized security key is moved from the set of nonvolatile memory cells to a cache memory, and utilized as stored in the cache memory in a security protocol. Also, data transfer from the PUF circuit to the set of nonvolatile memory cells can be disabled after using the PUF circuit to produce the security key, at a safe time, such as after the security key has been moved from the set of nonvolatile memory cells to the cache memory.
-
-
-
-
-
-
-
-
-