KR102598152B1 - Asynchronous non-volatile memory module with self-diagnosis function - Google Patents

Asynchronous non-volatile memory module with self-diagnosis function Download PDF

Info

Publication number
KR102598152B1
KR102598152B1 KR1020220049927A KR20220049927A KR102598152B1 KR 102598152 B1 KR102598152 B1 KR 102598152B1 KR 1020220049927 A KR1020220049927 A KR 1020220049927A KR 20220049927 A KR20220049927 A KR 20220049927A KR 102598152 B1 KR102598152 B1 KR 102598152B1
Authority
KR
South Korea
Prior art keywords
data
crc32
self
turned
power
Prior art date
Application number
KR1020220049927A
Other languages
Korean (ko)
Other versions
KR20230150494A (en
Inventor
양오
Original Assignee
청주대학교 산학협력단
주식회사 한길이에스티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 청주대학교 산학협력단, 주식회사 한길이에스티 filed Critical 청주대학교 산학협력단
Priority to KR1020220049927A priority Critical patent/KR102598152B1/en
Publication of KR20230150494A publication Critical patent/KR20230150494A/en
Application granted granted Critical
Publication of KR102598152B1 publication Critical patent/KR102598152B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0054Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell
    • G11C14/0063Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a SRAM cell and the nonvolatile element is an EEPROM element, e.g. a floating gate or MNOS transistor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/102Error in check bits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 반도체 메모리에 관한 것으로, 본 발명에 따르면, 휘발성 메모리(volatile memory)와 비휘발성 메모리(non-volatile memory)를 구비하여 전원이 차단되는 경우에도 데이터를 보존할 수 있으나, 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지할 수 없는 한계가 있었던 종래기술의 불휘발성 SRAM(Non-Volatile SRAM ; NVSRAM)의 문제점을 해결하기 위해, 전원이 꺼지면 슈퍼 커패시터에 충전된 전압을 이용하여 의사정적램(Pseudo SRAM ; PSRAM)의 데이터를 낸드플래시(NAND flash) 메모리에 저장하며, 이때, BBT(Bad Block Table)를 통해 불량블록을 피하여 유효블록에 저장하고 ECC(Error Correction Code) 데이터와 CRC(Cyclic Redundancy Code)32, 데이터체크섬(Data Check Sum) 데이터를 함께 저장한 다음, 다시 전원이 켜졌을 때 저장된 데이터를 읽고 함께 저장된 CRC32 및 데이터체크섬 데이터를 비교하여 다를 경우는 ECC를 통해 잘못된 데이터를 수정하는 처리가 수행되도록 구성됨으로써, 데이터의 손실을 방지하는 동시에, 오류검출 및 수정의 신뢰성과 정확성을 더욱 높일 수 있도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈이 제공된다. The present invention relates to a semiconductor memory. According to the present invention, it has a volatile memory and a non-volatile memory, so that data can be preserved even when the power is turned off, but data can be read and written. To solve the problem of non-volatile SRAM (NVSRAM) in the prior art, which had limitations in preventing data loss due to errors occurring in the process, the voltage charged in the super capacitor is used when the power is turned off. Data from pseudo-static RAM (PSRAM) is stored in NAND flash memory. At this time, bad blocks are avoided through BBT (Bad Block Table) and stored in valid blocks, and ECC (Error Correction Code) data is stored in valid blocks. After saving CRC (Cyclic Redundancy Code)32 and Data Check Sum data together, when the power is turned on again, the saved data is read and the CRC32 and Data Checksum data stored together are compared. If there is a difference, the error is detected through ECC. An asynchronous non-volatile memory module having a self-diagnosis function is provided that is configured to perform data correction processing, thereby preventing data loss and further increasing the reliability and accuracy of error detection and correction.

Description

자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈{Asynchronous non-volatile memory module with self-diagnosis function} Asynchronous non-volatile memory module with self-diagnosis function}

본 발명은 반도체 메모리 모듈 및 그 설계방법에 관한 것으로, 더 상세하게는, 종래, 일반적으로, 휘발성 메모리(volatile memory)와 비휘발성 메모리(non-volatile memory)의 2개의 메모리를 구비하여 전원이 꺼질때 휘발성 메모리에서 작업하던 데이터를 비휘발성 메모리에 저장하는 것에 의해 전원이 차단되는 경우에도 데이터를 보존할 수 있는 장점이 있으나, 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지할 수 없는 한계가 있었던 종래기술의 불휘발성 SRAM(Non-Volatile SRAM ; NVSRAM)의 문제점을 해결하기 위해, 자기진단을 통해 메모리의 상태를 스스로 파악하여 읽고 쓰는 과정에서 발생하는 데이터의 오류를 올바르게 수정하는 것에 의해 데이터 손실을 최소화하고 메모리의 신뢰성과 안정성을 높일 수 있도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈에 관한 것이다. The present invention relates to a semiconductor memory module and a design method thereof. More specifically, the present invention relates to a semiconductor memory module and a method of designing the same. Conventionally, in general, it is provided with two memories, a volatile memory and a non-volatile memory, so that the power can be turned off. Saving data that was being worked on in volatile memory to non-volatile memory has the advantage of preserving data even when the power is turned off, but it also prevents data loss due to errors that occur in the process of reading and writing data. In order to solve the problems of non-volatile SRAM (NVSRAM) in the prior art, which had limitations, it was necessary to determine the state of the memory through self-diagnosis and correctly correct data errors that occur during reading and writing. It relates to an asynchronous non-volatile memory module with a self-diagnosis function that is configured to minimize data loss and increase memory reliability and stability.

또한, 본 발명은, 상기한 바와 같이 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지할 수 없는 한계가 있었던 종래기술의 NVSRAM의 문제점을 해결하기 위해, ECC(Error Correction Code) 알고리즘과, CRC(Cyclic Redundancy Code)32, BBT(Bad Block Table) 및 데이터체크섬(Data Check Sum)을 적용하여, 전원이 꺼지면 슈퍼 커패시터에 충전된 전압을 이용하여 의사정적램(Pseudo SRAM ; PSRAM)의 데이터를 낸드플래시(NAND flash) 메모리에 저장하며, 이때, BBT를 통해 불량블록을 피하여 유효블록에 저장하고 ECC 데이터와 CRC32, 데이터체크섬 데이터를 함께 저장한 다음, 다시 전원이 켜졌을 때 저장된 데이터를 읽고 함께 저장된 CRC32 및 데이터체크섬 데이터를 비교하여 읽어들인 내용이 정확한지 판단하며, 읽어들인 내용이 다를 경우는 ECC를 통해 잘못된 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되도록 구성됨으로써, 데이터의 손실을 방지하는 동시에, 오류검출 및 수정의 신뢰성과 정확성을 더욱 높일 수 있도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈에 관한 것이다. In addition, the present invention uses an ECC (Error Correction Code) algorithm to solve the problem of the NVSRAM of the prior art, which had limitations in preventing data loss due to errors occurring in the process of reading and writing data as described above. And, by applying CRC (Cyclic Redundancy Code) 32, BBT (Bad Block Table) and Data Check Sum, when the power is turned off, the voltage charged in the super capacitor is used to control the Pseudo SRAM (PSRAM). Data is stored in NAND flash memory. At this time, bad blocks are avoided through BBT, stored in valid blocks, ECC data, CRC32, and data checksum data are stored together, and the stored data is restored when the power is turned on again. The CRC32 and data checksum data read and stored together are compared to determine whether the read content is accurate. If the read content is different, the data is configured to correct the correct data by finding and recovering the incorrect data through ECC. It relates to an asynchronous non-volatile memory module with a self-diagnosis function configured to prevent loss and further increase the reliability and accuracy of error detection and correction.

일반적으로, 메모리는, 크게 나누어, 전원이 공급되는 동안에만 데이터가 유지되는 휘발성 메모리(volatile memory)와, 전원이 공급되지 않아도 데이터를 보관할 수 있는 비휘발성 메모리(non-volatile memory)가 있다. In general, memory is roughly divided into volatile memory, which retains data only while power is supplied, and non-volatile memory, which can store data even when power is not supplied.

또한, 비휘발성 메모리는, 전원이 없으면 모든 데이터가 지워지는 휘발성 메모리에 비해 전원이 공급되지 않아도 데이터를 계속 보관할 수 있는 장점이 있으나, 휘발성 메모리에 비해 더 비싸고 속도면에서 많이 느린 단점이 있으며, 이에, 일반적으로, 시스템의 구성시 시스템이 동작하는 동안에는 휘발성 메모리를 이용하다가 데이터의 저장이 필요할 경우에만 비휘발성 메모리에 데이터를 저장하는 방식이 널리 사용되고 있다. In addition, non-volatile memory has the advantage of being able to keep data even when power is not supplied compared to volatile memory, in which all data is erased without power, but has the disadvantage of being more expensive and much slower than volatile memory. , Generally, when configuring a system, volatile memory is used while the system is operating, and data is stored in non-volatile memory only when data storage is necessary.

여기서, 장비가 갑자기 고장나거나 전원이 꺼지는 상황이 발생하면 작업하던 내용을 모두 잃어버리게 되는 일이 발생하여 처음부터 데이터를 복구하는 작업을 수행해야 하므로, 데이터를 잃어버릴 만한 상황이 발생하더라도 최대한 데이터 손실을 줄이는 방법이 요구된다. Here, if the equipment suddenly breaks down or the power is turned off, you may lose all of your work and have to recover the data from the beginning. Therefore, even if a situation occurs where data may be lost, you must lose as much data as possible. A method to reduce is required.

이에, 종래, 휘발성 메모리와 비휘발성 메모리의 2개의 메모리를 모두 구비하여 전원이 꺼질때 휘발성 메모리에서 작업하던 데이터를 비휘발성 메모리에 저장하는 것에 의해 데이터를 보존할 수 있도록 구성되는 NVSRAM(Non-Volatile SRAM)가 제시된 바 있다. Accordingly, conventionally, NVSRAM (Non-Volatile Memory) is configured to preserve data by having both a volatile memory and a non-volatile memory and saving the data being worked on in the volatile memory to the non-volatile memory when the power is turned off. SRAM) has been presented.

즉, 상기한 바와 같은 NVSRAM에 대한 종래기술의 예로는, 먼저, 예를 들면, 한국 등록특허공보 제10-2330018호에 제시된 바와 같은 "플래시메모리 기반의 6T 비휘발성 SRAM 및 그 동작 방법"이 있다. That is, examples of the prior art for NVSRAM as described above include, for example, “Flash memory-based 6T non-volatile SRAM and operating method thereof” as presented in Korean Patent Publication No. 10-2330018. .

더 상세하게는, 상기한 한국 등록특허공보 제10-2330018호는, 6T 비휘발성(Non-volatile) SRAM(Static Random Access Memory)에 있어서, 제 1 풀업(pull up) 트랜지스터에 연결되는 제 1 풀다운(pull down) 트랜지스터로 형성되는 제 1 인버터; 제 2 풀업 트랜지스터에 연결되는 제 2 풀다운 트랜지스터로 형성되는 제 2 인버터; 제 1 인버터의 출력과 비트라인바 노드 사이에 연결되는 비휘발성(Non-volatile) 메모리 소자로 이루어지는 제 1 패스게이트(pass gate); 및 제 2 인버터의 출력과 비트라인 노드 사이에 연결되는 비휘발성 메모리 소자로 이루어지는 제 2 패스게이트를 포함하고, 상기 제 1 패스게이트 또는 제 2 패스게이트를 이루는 비휘발성 메모리 소자는, SRAM의 프리차지(Precharge)를 통해 비트라인 노드 또는 비트라인바 노드에 인가되는 전압과, SRAM의 워드라인 노드에 인가되는 전압을 이용하여 제 1 인버터 또는 제 2 인버터의 출력전압 간의 전압차이로 인해 HEI(Hot electron injection)가 발생하여 비휘발성 메모리 소자의 플로팅게이트(Floating gate)가 전하로 차지(charge)되어 비휘발성 메모리 소자의 데이터 스토어가 이루어지고, 워드라인 노드에 반대 극성의 전압을 인가하여 플로팅 게이트에 차지된 전하를 제거하도록 구성됨으로써, 6개의 트랜지스터로 구성되어 기존의 DRAM, NAND 메모리 및 플래시 메모리(Flash Memory)에 비해 동작속도가 빠르나 휘발성 메모리로서 전원이 차단되거나 비활성화된 후에 정보가 유지되지 못하고 손실되는 단점이 있었던 종래기술의 6T SRAM의 단점을 해결하여, 6T SRAM의 빠른 동작 속도를 유지하면서 전원이 차단된 후에도 정보가 사라지지 않고 유지되도록 구성되는 플래시메모리 기반의 6T 비휘발성 SRAM에 관한 것이다. More specifically, the above-mentioned Korean Patent Publication No. 10-2330018 describes a first pull-down connected to a first pull-up transistor in a 6T non-volatile SRAM (Static Random Access Memory). A first inverter formed of a (pull down) transistor; a second inverter formed by a second pull-down transistor connected to a second pull-up transistor; A first pass gate made of a non-volatile memory element connected between the output of the first inverter and the bit line bar node; and a second pass gate made of a non-volatile memory element connected between the output of the second inverter and the bit line node, wherein the non-volatile memory element forming the first pass gate or the second pass gate is a precharge of the SRAM. HEI (Hot electron) due to the voltage difference between the voltage applied to the bit line node or bit line bar node through (Precharge) and the output voltage of the first or second inverter using the voltage applied to the word line node of SRAM. Injection occurs, the floating gate of the non-volatile memory device is charged with charge, and data storage of the non-volatile memory device is achieved, and a voltage of opposite polarity is applied to the word line node to charge the floating gate. By being configured to remove accumulated charges, it is composed of six transistors and has a faster operating speed than existing DRAM, NAND memory, and flash memory, but as a volatile memory, information is not maintained and is lost after the power is turned off or deactivated. This relates to a 6T non-volatile SRAM based on flash memory that solves the shortcomings of the 6T SRAM of the prior art and maintains the fast operation speed of 6T SRAM and retains information even after the power is turned off.

아울러, 상기한 바와 같은 NVSRAM에 대한 종래기술의 다른 예로는, 예를 들면, 한국 등록특허공보 제10-2222813호에 제시된 바와 같은 "3차원 플래시메모리가 도입된 6T 비휘발성 SRAM"이 있다. In addition, another example of the prior art for NVSRAM as described above is, for example, “6T non-volatile SRAM incorporating 3D flash memory” as presented in Korean Patent Publication No. 10-2222813.

더 상세하게는, 상기한 한국 등록특허공보 제10-2222813호는, 6T 비휘발성(nonvolatile) SRAM(Static Random Access Memory)에 있어서, 기판; 제 1 풀업(pull up) 트랜지스터에 연결되는 제 1 풀다운(pull down) 트랜지스터와, 제 2 풀업 트랜지스터에 연결되는 제 2 풀다운 트랜지스터로 이루어져 기판상에 적층되는 리피트(Repeat) 블록; 및 두 개의 비휘발성(Non-volatile) 메모리 소자로 이루어져 리피트 블록상에 수직으로 적층 되는 억세스 블록을 포함하고, 상기 억세스 블록은, 6T 비휘발성 SRAM 셀의 프리차지(Precharge) 전압을 통해 발생하는 HEI(Hot electron injection)를 이용하여 비휘발성(Non-volatile) 메모리 소자의 플로팅 게이트(Floating gate)가 차지(charge)되도록 구성됨으로써, 6T SRAM의 빠른 동작 속도를 유지하면서도 전원이 차단된 후에도 정보가 사라지지 않고 유지되며, 메모리 어레이를 이루는 셀(Bit_Cell)의 구조가 6개의 트랜지스터로 구성되어 집적도가 떨어지는 6T SRAM의 집적도를 향상시킬 수 있도록 구성되는 3차원 플래시메모리가 도입된 6T 비휘발성 SRAM에 관한 것이다. More specifically, the above-mentioned Korean Patent Publication No. 10-2222813 discloses a 6T nonvolatile SRAM (Static Random Access Memory), comprising: a substrate; A repeat block consisting of a first pull-down transistor connected to a first pull-up transistor and a second pull-down transistor connected to a second pull-up transistor and stacked on a substrate; and an access block composed of two non-volatile memory elements and vertically stacked on a repeat block, wherein the access block is a HEI generated through the precharge voltage of a 6T non-volatile SRAM cell. By using hot electron injection to charge the floating gate of the non-volatile memory device, information disappears even after the power is turned off while maintaining the fast operation speed of 6T SRAM. It is about 6T non-volatile SRAM with 3D flash memory that is maintained without loss and the structure of the cell (Bit_Cell) forming the memory array is composed of 6 transistors to improve the integration of 6T SRAM, which has low integration. .

상기한 바와 같이, 종래, NVSRAM에 대하여 다양한 기술내용들이 제시된 바 있으나, 상기한 바와 같은 종래기술의 내용들은 다음과 같은 한계가 있는 것이었다. As mentioned above, various technical details regarding NVSRAM have been proposed in the past, but the contents of the prior art as described above have the following limitations.

즉, 상기한 바와 같이, NVSRAM은, 시스템의 전원이 꺼지게 되었을 경우 데이터 손실의 위험을 감지하고 휘발성 메모리인 의사정적램(PSRAM : Pseudo SRAM)의 데이터를 불휘발성 메모리인 낸드플래시(NAND flash)메모리로 백업하는 절차를 진행하며, 그것에 의해, NVSRAM을 사용하면 전압이 불안정하게 공급되는 현장에서도 데이터의 손실을 방지할 수 있다. In other words, as mentioned above, NVSRAM detects the risk of data loss when the system power is turned off and transfers data from pseudo-static RAM (PSRAM: Pseudo SRAM), a volatile memory, to NAND flash memory, a non-volatile memory. By proceeding with the backup procedure, using NVSRAM can prevent data loss even in fields with unstable voltage supply.

그러나 NVSRAM은, 전기적 충격에 약하고, 가격이 비싸며, 그러한 비싼 가격에 비해 용량도 적은 등의 단점이 아직까지도 여전히 존재하므로, 이러한 문제점을 해결하기 위하여 계속적인 연구가 필요한 실정이다. However, NVSRAM still has disadvantages such as being vulnerable to electrical shock, being expensive, and having a low capacity compared to the high price, so continued research is needed to solve these problems.

더욱이, 상기한 바와 같은 종래기술의 NVSRAM들은, 자기진단을 통해 메모리의 상태를 스스로 파악하여 읽고 쓰는 과정에서 발생하는 데이터의 오류를 올바르게 수정하는 기능이 없으므로, 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지할 수 없는 한계도 있는 것이었다. Moreover, the NVSRAMs of the prior art as described above do not have the function of self-diagnosing the state of the memory and correctly correcting data errors that occur during reading and writing, so data may be damaged due to errors that occur during reading and writing. There were also limitations in preventing losses.

따라서 상기한 바와 같은 종래기술의 종래기술의 NVSRAM의 한계를 해결하기 위하여는, 메모리의 상태를 스스로 파악하여 읽고 쓰는 과정에서 발생하는 데이터의 오류를 수정하는 것에 의해 데이터 손실을 최소화하고 메모리의 신뢰성과 안정성을 높일 수 있도록 구성되는 새로운 구성의 자기진단 기능을 가지는 메모리 모듈 구조 및 그 설계방법을 제시하는 것이 바람직하나, 아직까지 그러한 요구를 모두 만족시키는 장치나 방법은 제시되지 못하고 있는 실정이다. Therefore, in order to solve the limitations of the NVSRAM of the prior art as described above, data loss is minimized and the reliability of the memory is improved by self-identifying the state of the memory and correcting data errors that occur during reading and writing. It would be desirable to propose a memory module structure and design method with a self-diagnosis function of a new configuration configured to increase stability, but no device or method that satisfies all such requirements has yet been proposed.

한국 등록특허공보 제10-2330018호 (2021.11.24.)Korean Patent Publication No. 10-2330018 (2021.11.24.) 한국 등록특허공보 제10-2222813호 (2021.03.05.)Korean Patent Publication No. 10-2222813 (2021.03.05.)

본 발명은 상기한 바와 같은 종래기술의 문제점을 해결하고자 하는 것으로, 따라서 본 발명의 목적은, 휘발성 메모리(volatile memory)와 비휘발성 메모리(non-volatile memory)의 2개의 메모리를 구비하여 전원이 꺼질때 휘발성 메모리에서 작업하던 데이터를 비휘발성 메모리에 저장하는 것에 의해 전원이 차단되는 경우에도 데이터를 보존할 수 있는 장점이 있으나, 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지할 수 없는 한계가 있었던 종래기술의 불휘발성 SRAM(Non-Volatile SRAM ; NVSRAM)의 문제점을 해결하기 위해, 자기진단을 통해 메모리의 상태를 스스로 파악하여 읽고 쓰는 과정에서 발생하는 데이터의 오류를 올바르게 수정하는 것에 의해 데이터 손실을 최소화하고 메모리의 신뢰성과 안정성을 높일 수 있도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈을 제시하고자 하는 것이다. The present invention seeks to solve the problems of the prior art as described above. Therefore, the purpose of the present invention is to provide a memory device that can be turned off by providing two memories, a volatile memory and a non-volatile memory. Saving data that was being worked on in volatile memory to non-volatile memory has the advantage of preserving data even when the power is turned off, but it also prevents data loss due to errors that occur in the process of reading and writing data. In order to solve the problems of non-volatile SRAM (NVSRAM) in the prior art, which had limitations, it was necessary to determine the state of the memory through self-diagnosis and correctly correct data errors that occur during reading and writing. The aim is to present an asynchronous non-volatile memory module with a self-diagnosis function that is configured to minimize data loss and increase memory reliability and stability.

또한, 본 발명의 다른 목적은, 상기한 바와 같이 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지할 수 없는 한계가 있었던 종래기술의 NVSRAM의 문제점을 해결하기 위해, ECC(Error Correction Code) 알고리즘과, CRC(Cyclic Redundancy Code)32, BBT(Bad Block Table) 및 데이터체크섬(Data Check Sum)을 적용하여, 전원이 꺼지면 슈퍼 커패시터에 충전된 전압을 이용하여 의사정적램(Pseudo SRAM ; PSRAM)의 데이터를 낸드플래시(NAND flash) 메모리에 저장하며, 이때, BBT를 통해 불량블록을 피하여 유효블록에 저장하고 ECC 데이터와 CRC32, 데이터체크섬 데이터를 함께 저장한 다음, 다시 전원이 켜졌을 때 저장된 데이터를 읽고 함께 저장된 CRC32 및 데이터체크섬 데이터를 비교하여 읽어들인 내용이 정확한지 판단하며, 읽어들인 내용이 다를 경우는 ECC를 통해 잘못된 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되도록 구성됨으로써, 데이터의 손실을 방지하는 동시에, 오류검출 및 수정의 신뢰성과 정확성을 더욱 높일 수 있도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈을 제시하고자 하는 것이다. In addition, another object of the present invention is to solve the problem of the NVSRAM of the prior art, which had limitations in preventing data loss due to errors occurring in the process of reading and writing data, as described above, by using ECC (Error Correction Code) algorithm, CRC (Cyclic Redundancy Code)32, BBT (Bad Block Table), and Data Check Sum are applied to use the voltage charged in the super capacitor when the power is turned off. PSRAM) data is stored in NAND flash memory. At this time, bad blocks are avoided through BBT and stored in valid blocks, and ECC data, CRC32, and data checksum data are stored together, and then when the power is turned on again. It reads the stored data and compares the CRC32 and data checksum data stored together to determine whether the read content is accurate. If the read content is different, processing is performed to correct the correct data by finding and recovering the incorrect data through ECC. By doing so, the aim is to present an asynchronous non-volatile memory module with a self-diagnosis function that prevents data loss and simultaneously improves the reliability and accuracy of error detection and correction.

상기한 바와 같은 목적을 달성하기 위해, 본 발명에 따르면, 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈(asynchronous non-volatile memory module)에 있어서, 전원 인가(ON)시 데이터 처리를 위한 제 1 메모리부; 전원 차단(OFF)시 데이터의 저장을 위한 제 2 메모리부; 및 상기 제 1 메모리부 및 상기 제 2 메모리부의 동작을 각각 제어하고, 자기진단을 통해 데이터의 오류를 수정하는 처리가 수행되도록 이루어지는 자기진단 제어부를 포함하여 구성되는 것을 특징으로 하는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈이 제공된다. In order to achieve the above object, according to the present invention, in an asynchronous non-volatile memory module having a self-diagnosis function, a first memory unit for data processing when power is turned on (ON) ; a second memory unit for storing data when the power is turned off; and a self-diagnosis control unit that controls the operations of the first memory unit and the second memory unit, respectively, and performs a process to correct data errors through self-diagnosis. An asynchronous non-volatile memory module is provided.

여기서, 상기 제 1 메모리부는, 전원 인가(ON)시 데이터 처리를 위한 PSRAM(Pseudo SRAM)을 포함하여 구성되는 것을 특징으로 한다. Here, the first memory unit is characterized by including PSRAM (Pseudo SRAM) for data processing when power is turned on.

또한, 상기 제 2 메모리부는, 전원 차단(OFF)시 데이터의 저장을 위한 낸드플래시(NAND Flash) 메모리를 포함하여 구성되는 것을 특징으로 한다. In addition, the second memory unit is characterized by including a NAND flash memory for storing data when the power is turned off.

아울러, 상기 자기진단 제어부는, 상기 제 1 메모리부의 PSRAM 및 상기 제 2 메모리부의 낸드플래시 메모리의 동작을 각각 제어하고, ECC(Error Correction Code) 알고리즘, CRC(Cyclic Redundancy Code)32, 미리 설정된 BBT(Bad Block Table) 및 데이터체크섬(Data Check Sum)을 이용한 자기진단을 통해 각각의 메모리의 상태를 진단하고 데이터의 오류를 수정하는 처리가 수행되도록 이루어지는 CPU를 포함하여 구성되는 것을 특징으로 한다. In addition, the self-diagnosis control unit controls the operations of the PSRAM of the first memory unit and the NAND flash memory of the second memory unit, respectively, and uses an Error Correction Code (ECC) algorithm, Cyclic Redundancy Code (CRC)32, and a preset BBT ( It is characterized by comprising a CPU that diagnoses the state of each memory through self-diagnosis using the Bad Block Table and Data Check Sum and performs processing to correct data errors.

더욱이, 상기 자기진단 제어부는, 전원이 꺼지면 슈퍼커패시터에 충전된 전압을 이용하여 상기 PSRAM의 데이터를 상기 낸드플래시 메모리에 저장하고, 이때, 상기 BBT를 통해 불량블록을 피하고 유효블록에 ECC 데이터와 CRC32 및 데이터체크섬 데이터를 함께 저장하며, 그 후, 다시 전원이 켜지면 상기 낸드플래시 메모리에 저장된 데이터 및 함께 저장된 상기 CRC32와 상기 데이터체크섬 데이터를 읽어들이고, 읽어들인 데이터의 CRC32 부분과 CPU 내부의 CRC32를 비교하며, CRC32의 비교결과 이상이 없을 경우는 읽어들인 데이터체크섬 데이터와 CPU 내부의 데이터체크섬 데이터를 다시 비교하며, CRC32 또는 데이터체크섬 데이터의 비교결과 데이터의 내용이 다를 경우는 ECC 알고리즘을 이용하여 오류가 발생한 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되도록 구성되는 것을 특징으로 한다. Moreover, when the power is turned off, the self-diagnosis control unit stores the data of the PSRAM in the NAND flash memory using the voltage charged in the supercapacitor, and at this time, avoids bad blocks through the BBT and stores ECC data and CRC32 in valid blocks. and data checksum data, and then, when the power is turned on again, the data stored in the NAND flash memory and the CRC32 and the data checksum data stored together are read, and the CRC32 portion of the read data and the CRC32 inside the CPU are read. Compare, and if there is no error as a result of CRC32 comparison, the read data checksum data and the data checksum data inside the CPU are compared again. If the data contents are different as a result of comparison of CRC32 or data checksum data, an error is made using the ECC algorithm. It is characterized in that it is configured to perform a process of modifying the correct data by finding and recovering the data in which the error has occurred.

또한, 본 발명에 따르면, NVSRAM(Non-Volatile SRAM)의 데이터 오류를 방지할 수 있도록 구성되는 NVSRAM의 자기진단방법에 있어서, 전원이 꺼지면 슈퍼커패시터에 충전된 전압을 이용하여 PSRAM의 데이터를 낸드플래시 메모리에 저장하고, 이때, 미리 설정된 BBT를 통해 불량블록을 피하고 유효블록에 ECC 데이터와 CRC32 및 데이터체크섬 데이터를 함께 저장하는 처리가 수행되는 데이터 저장단계; 다시 전원이 켜지면 상기 낸드플래시 메모리에 저장된 데이터 및 함께 저장된 상기 CRC32와 상기 데이터체크섬 데이터를 읽어들이고, 읽어들인 데이터의 CRC32 부분과 CPU 내부의 CRC32를 비교하는 처리가 수행되는 CRC 비교단계; 상기 CRC 비교단계의 비교결과 데이터의 내용이 다를 경우는 ECC 알고리즘을 이용하여 오류가 발생한 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되는 제 1 데이터 복구단계; 상기 CRC 비교단계의 비교결과 이상이 없을 경우는 읽어들인 데이터체크섬 데이터와 CPU 내부의 데이터체크섬 데이터를 비교하는 처리가 수행되는 데이터체크섬 비교단계; 상기 데이터체크섬 비교단계의 비교결과 데이터의 내용이 다를 경우는 ECC 알고리즘을 이용하여 오류가 발생한 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되는 제 2 데이터 복구단계를 포함하여 구성되는 것을 특징으로 하는 NVSRAM의 자기진단방법이 제공된다. In addition, according to the present invention, in the self-diagnosis method of NVSRAM (Non-Volatile SRAM) configured to prevent data errors in NVSRAM (Non-Volatile SRAM), when the power is turned off, the data of PSRAM is stored in NAND flash using the voltage charged in the supercapacitor. A data storage step in which the data is stored in memory, and processing is performed to avoid bad blocks through a preset BBT and store ECC data, CRC32, and data checksum data in valid blocks together; When the power is turned on again, the data stored in the NAND flash memory and the CRC32 and the data checksum data stored together are read, and a CRC comparison step is performed to compare the CRC32 portion of the read data with the CRC32 inside the CPU; A first data recovery step in which, if the content of the data as a result of the CRC comparison step is different, processing to correct the data with correct data by finding and recovering the data in error using an ECC algorithm is performed; If there is no abnormality as a result of the CRC comparison step, a data checksum comparison step is performed to compare the read data checksum data and the data checksum data inside the CPU; If the contents of the data are different as a result of the comparison of the data checksum comparison step, the second data recovery step is performed to correct the correct data by finding and recovering the erroneous data using the ECC algorithm. A self-diagnosis method of the featured NVSRAM is provided.

상기한 바와 같이, 본 발명에 따르면, ECC 알고리즘과, CRC32, BBT 및 데이터체크섬을 적용하여, 전원이 꺼지면 슈퍼 커패시터에 충전된 전압을 이용하여 PSRAM의 데이터를 낸드플래시 메모리에 저장하며, 이때, BBT를 통해 불량블록을 피하여 유효블록에 저장하고 ECC 데이터와 CRC32, 데이터체크섬 데이터를 함께 저장한 다음, 다시 전원이 켜졌을 때 저장된 데이터를 읽고 함께 저장된 CRC32 및 데이터체크섬 데이터를 비교하여 읽어들인 내용이 정확한지 판단하며, 읽어들인 내용이 다를 경우는 ECC를 통해 잘못된 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈이 제공됨으로써, 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지하는 동시에, 오류검출 및 수정의 신뢰성과 정확성을 더욱 높일 수 있다. As described above, according to the present invention, by applying the ECC algorithm, CRC32, BBT, and data checksum, when the power is turned off, the data of the PSRAM is stored in the NAND flash memory using the voltage charged in the super capacitor, and at this time, the BBT It saves in valid blocks to avoid bad blocks, stores ECC data, CRC32, and data checksum data together, and then reads the saved data when the power is turned on again and compares the CRC32 and data checksum data stored together to ensure that the read content is accurate. An asynchronous non-volatile memory module is provided with a self-diagnosis function configured to determine and, if the read content is different, process to correct the correct data by finding and recovering incorrect data through ECC. While preventing data loss due to errors occurring in the process, the reliability and accuracy of error detection and correction can be further improved.

또한, 본 발명에 따르면, 상기한 바와 같이 자기진단을 통해 메모리의 상태를 스스로 파악하여 읽고 쓰는 과정에서 발생하는 데이터의 오류를 올바르게 수정하는 것에 의해 데이터 손실을 최소화하고 메모리의 신뢰성과 안정성을 높일 수 있도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈이 제공됨으로써, 휘발성 메모리(volatile memory)와 비휘발성 메모리(non-volatile memory)의 2개의 메모리를 구비하여 전원이 꺼질때 휘발성 메모리에서 작업하던 데이터를 비휘발성 메모리에 저장하는 것에 의해 전원이 차단되는 경우에도 데이터를 보존할 수 있는 장점이 있으나, 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지할 수 없는 한계가 있었던 종래기술의 NVSRAM의 문제점을 해결할 수 있다. In addition, according to the present invention, it is possible to minimize data loss and increase reliability and stability of memory by identifying the state of the memory through self-diagnosis and correctly correcting data errors that occur during reading and writing, as described above. An asynchronous non-volatile memory module with a self-diagnosis function is provided, so that it has two memories, a volatile memory and a non-volatile memory, so that when the power is turned off, the data working in the volatile memory is provided. There is the advantage of preserving data even when the power is turned off by storing data in non-volatile memory, but it has the limitation of not being able to prevent data loss due to errors that occur during the process of reading and writing data. The problem of NVSRAM can be solved.

도 1은 종래기술의 NVSRAM의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 실시예에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈의 전체적인 구성을 개략적으로 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈에 적용되는 자기진단을 위한 낸드플래시 메모리 구조를 표로 정리하여 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈에 적용되는 NVSRAM 데이터의 신뢰성 향상을 위한 자기진단 알고리즘의 전체적인 처리과정 중 전원 오프시의 동작을 개략적으로 나타내는 플로차트이다.
도 5는 본 발명의 실시예에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈에 적용되는 NVSRAM 데이터의 신뢰성 향상을 위한 자기진단 알고리즘의 전체적인 처리과정중 전원 온시의 동작을 개략적으로 나타내는 플로차트이다.
도 6은 데이터를 읽어들이는 과정에서 읽어들인 데이터가 정확한지를 CRC32 및 데이터체크섬을 통해 검증하는 알고리즘의 전체적인 처리과정을 나타내는 도면이다.
도 7은 ECC 알고리즘을 이용하여 오류가 발생한 데이터를 찾아 올바른 데이터로 수정하는 알고리즘의 전체적인 처리과정을 나타내는 도면이다.
도 8은 전원 오프시 NVSRAM의 동작 파형을 나타낸 도면이다.
도 9는 전원 온시 NVSRAM의 동작 파형을 나타낸 도면이다.
도 10은 데이터의 읽기/쓰기 동작기 CS핀과 RD, WR핀의 파형을 각각 나타내는 도면이다.
Figure 1 is a diagram schematically showing the overall configuration of a prior art NVSRAM.
Figure 2 is a diagram schematically showing the overall configuration of an asynchronous non-volatile memory module with a self-diagnosis function according to an embodiment of the present invention.
Figure 3 is a table showing the NAND flash memory structure for self-diagnosis applied to an asynchronous non-volatile memory module with self-diagnosis function according to an embodiment of the present invention.
Figure 4 is a flowchart schematically showing the operation when the power is turned off during the overall processing of the self-diagnosis algorithm for improving the reliability of NVSRAM data applied to an asynchronous non-volatile memory module with a self-diagnosis function according to an embodiment of the present invention.
Figure 5 is a flow chart schematically showing the operation when power is turned on during the overall processing of the self-diagnosis algorithm for improving the reliability of NVSRAM data applied to an asynchronous non-volatile memory module with a self-diagnosis function according to an embodiment of the present invention.
Figure 6 is a diagram showing the overall processing process of the algorithm that verifies whether the read data is accurate through CRC32 and data checksum during the data reading process.
Figure 7 is a diagram showing the overall processing process of the algorithm for finding erroneous data and correcting it with correct data using the ECC algorithm.
Figure 8 is a diagram showing the operation waveform of NVSRAM when the power is turned off.
Figure 9 is a diagram showing the operation waveform of NVSRAM when power is turned on.
Figure 10 is a diagram showing the waveforms of the data read/write operator CS pin, RD, and WR pins, respectively.

이하, 첨부된 도면을 참조하여, 본 발명에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈의 구체적인 실시예에 대하여 설명한다. Hereinafter, with reference to the attached drawings, a specific embodiment of an asynchronous non-volatile memory module with a self-diagnosis function according to the present invention will be described.

여기서, 이하에 설명하는 내용은 본 발명을 실시하기 위한 하나의 실시예일 뿐이며, 본 발명은 이하에 설명하는 실시예의 내용으로만 한정되는 것은 아니라는 사실에 유념해야 한다. Here, it should be noted that the content described below is only one embodiment for carrying out the present invention, and the present invention is not limited to the content of the embodiment described below.

또한, 이하의 본 발명의 실시예에 대한 설명에 있어서, 종래기술의 내용과 동일 또는 유사하거나 당업자의 수준에서 용이하게 이해하고 실시할 수 있다고 판단되는 부분에 대하여는, 설명을 간략히 하기 위해 그 상세한 설명을 생략하였음에 유념해야 한다. In addition, in the description of the embodiments of the present invention below, parts that are the same or similar to the contents of the prior art or that are judged to be easily understood and implemented at the level of those skilled in the art will be described in detail to simplify the explanation. It should be noted that is omitted.

즉, 본 발명은, 후술하는 바와 같이, 휘발성 메모리(volatile memory)와 비휘발성 메모리(non-volatile memory)의 2개의 메모리를 구비하여 전원이 꺼질때 휘발성 메모리에서 작업하던 데이터를 비휘발성 메모리에 저장하는 것에 의해 전원이 차단되는 경우에도 데이터를 보존할 수 있는 장점이 있으나, 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지할 수 없는 한계가 있었던 종래기술의 불휘발성 SRAM(Non-Volatile SRAM ; NVSRAM)의 문제점을 해결하기 위해, 자기진단을 통해 메모리의 상태를 스스로 파악하여 읽고 쓰는 과정에서 발생하는 데이터의 오류를 올바르게 수정하는 것에 의해 데이터 손실을 최소화하고 메모리의 신뢰성과 안정성을 높일 수 있도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈에 관한 것이다. That is, as will be described later, the present invention is provided with two memories, a volatile memory and a non-volatile memory, so that when the power is turned off, the data being worked on in the volatile memory is stored in the non-volatile memory. Non-volatile SRAM (Non-volatile RAM) of the prior art has the advantage of preserving data even when the power is cut off, but has limitations in preventing data loss due to errors that occur in the process of reading and writing data. In order to solve problems with Volatile SRAM (NVSRAM), we minimize data loss and increase memory reliability and stability by identifying the state of the memory through self-diagnosis and correctly correcting data errors that occur during reading and writing. It relates to an asynchronous non-volatile memory module having a self-diagnosis function configured to enable

아울러, 본 발명은, 후술하는 바와 같이, 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지할 수 없는 한계가 있었던 종래기술의 NVSRAM의 문제점을 해결하기 위해, ECC(Error Correction Code) 알고리즘과, CRC(Cyclic Redundancy Code)32, BBT(Bad Block Table) 및 데이터체크섬(Data Check Sum)을 적용하여, 전원이 꺼지면 슈퍼 커패시터에 충전된 전압을 이용하여 의사정적램(Pseudo SRAM ; PSRAM)의 데이터를 낸드플래시(NAND flash) 메모리에 저장하며, 이때, BBT를 통해 불량블록을 피하여 유효블록에 저장하고 ECC 데이터와 CRC32, 데이터체크섬 데이터를 함께 저장한 다음, 다시 전원이 켜졌을 때 저장된 데이터를 읽고 함께 저장된 CRC32 및 데이터체크섬 데이터를 비교하여 읽어들인 내용이 정확한지 판단하며, 읽어들인 내용이 다를 경우는 ECC를 통해 잘못된 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되도록 구성됨으로써, 데이터의 손실을 방지하는 동시에, 오류검출 및 수정의 신뢰성과 정확성을 더욱 높일 수 있도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈에 관한 것이다. In addition, as will be described later, the present invention uses ECC (Error Correction Code) to solve the problem of the NVSRAM of the prior art, which has limitations in preventing data loss due to errors occurring in the process of reading and writing data. By applying the algorithm, CRC (Cyclic Redundancy Code) 32, BBT (Bad Block Table), and Data Check Sum, the voltage charged in the super capacitor is used to create pseudo-static RAM (PSRAM) when the power is turned off. Data is stored in NAND flash memory. At this time, bad blocks are avoided through BBT, stored in valid blocks, ECC data, CRC32, and data checksum data are stored together, and then when the power is turned on again, the saved data is stored. It is configured to read and compare the CRC32 and data checksum data stored together to determine whether the read content is accurate. If the read content is different, processing is performed to correct the correct data by finding and recovering the incorrect data through ECC. It relates to an asynchronous non-volatile memory module with a self-diagnosis function configured to prevent data loss and further increase the reliability and accuracy of error detection and correction.

계속해서, 도면을 참조하여, 본 발명에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈의 구체적인 내용에 대하여 설명한다. Continuing, with reference to the drawings, specific details of the asynchronous non-volatile memory module with a self-diagnosis function according to the present invention will be described.

더 상세하게는, 먼저, 도 1을 참조하면, 도 1은 종래기술의 NVSRAM의 전체적인 구성을 개략적으로 나타내는 도면이다. More specifically, referring first to FIG. 1, FIG. 1 is a diagram schematically showing the overall configuration of a prior art NVSRAM.

즉, 도 1에 나타낸 NVSRAM 구조는 현재 상용화되어 있는 Cypress사의 NVSRAM 구조를 나타낸 것으로, 전원이 꺼지면 정적 램(Static RAM ; SRAM)의 데이터를 비휘발성 메모리인 양자 트랩(Quantum Trap)에 저장하는 처리가 소프트웨어를 통해 제어되는 방식으로 구성되어 있다. That is, the NVSRAM structure shown in FIG. 1 represents the currently commercialized NVSRAM structure of Cypress. When the power is turned off, the data of the static RAM (SRAM) is stored in a quantum trap, a non-volatile memory. It is configured in a way that is controlled through software.

여기서, 일반적으로, 데이터는 이진수인 0과 1로만 이루어져 있으며, CPU에서는 전압의 값에 따라 0에 가까우면 LOW(0)로 인식하고 1에 가까우면 HIGH(1)로 인식하므로, 이러한 데이터는 외부의 노이즈나 전기적인 충격에 쉽게 왜곡되고 오류가 발생할 수 있다. Here, generally, data consists only of binary numbers 0 and 1, and in the CPU, if it is close to 0, it is recognized as LOW (0), and if it is close to 1, it is recognized as HIGH (1), depending on the value of the voltage. It can be easily distorted and errors occur due to noise or electrical shock.

따라서 데이터의 손실을 최소화하기 위해서는 확실하게 전압의 레벨을 잡아줄 보조적인 전원 안정화 회로와 정확하고 정밀하게 전압을 인식할 수 있는 프로그램이 필요하며, 이에 더하여, 데이터의 오류를 없애기 위해서는 비동기식 불휘발성 메모리의 데이터에 대하여 ECC(Error Correction Code) 알고리즘을 적용한 CRC(Cyclic Redundancy Code)32 처리와, BBT(Bad Block Table) 관리, 전원상태 및 메모리 모듈의 동작상태에 대한 각종 데이터를 메모리 모듈이 스스로 수집하고 이상 여부를 판단하여 동작중 발생하는 에러를 줄이고 데이터의 신뢰성을 향상할 수 있도록 메모리 모듈을 설계하는 것이 요구된다. Therefore, in order to minimize data loss, an auxiliary power stabilization circuit to reliably control the voltage level and a program to recognize the voltage accurately and precisely are required. In addition, to eliminate data errors, an asynchronous non-volatile memory is required. The memory module itself collects various data about the CRC (Cyclic Redundancy Code)32 processing by applying the ECC (Error Correction Code) algorithm to the data, BBT (Bad Block Table) management, power status, and the operation status of the memory module. It is required to design a memory module to determine whether there is an abnormality, reduce errors occurring during operation, and improve data reliability.

즉, ECC는 오류가 발생한 데이터를 찾아 수정하여 원래의 데이터로 복구하는 알고리즘으로, 소프트웨어나 하드웨어를 통해 여러 가지 방법으로 구현될 수 있으며, CRC는 통신시스템에서 가장 많이 이용되는 수신데이터 오류 검출방법으로 잘 알려져 있다. In other words, ECC is an algorithm that finds and corrects data with errors and restores the original data. It can be implemented in various ways through software or hardware, and CRC is the most commonly used received data error detection method in communication systems. It is well known.

또한, 배드블록(Bad Block)은 낸드플래시 메모리에 존재하는 불량블록으로 생산중에 발생하기도 하고 사용 도중에 발생하기도 하며, 이러한 불량블록을 사용하게 되면 데이터에 오류가 발생할 수 있으므로 불량블록을 사용하지 않고 정상적인 블록에만 데이터를 저장할 수 있도록 하는 방법이 필요하다. In addition, bad blocks are bad blocks that exist in NAND flash memory and can occur during production or during use. Using these bad blocks can cause data errors, so do not use bad blocks and use them to ensure normal operation. A method is needed to allow data to be stored only in blocks.

아울러, BBT는 낸드플래시 메모리의 물리블록 번호(Physical block number)와 접근하려는 논리블록 번호(Logical block number)를 연결해 주는 방식으로, 이러한 BBT의 구현은 난이도가 높으나 제대로 구현하면 랜덤억세스(Random Access) 및 안정성이 크게 높아지고 메모리 관리의 효율성이 증가하는 이점이 있다. In addition, BBT is a method that connects the physical block number of NAND flash memory with the logical block number to be accessed. Implementation of this BBT is difficult, but if implemented properly, random access is possible. This has the advantage of greatly increasing stability and increasing efficiency of memory management.

이에, 본 발명에서는, 보다 효율적으로 시스템이 동작 할 수 있도록 데이터 로깅(Data logging) 알고리즘을 향상시켜 낸드플래시에 BBT, CRC32, 데이터체크섬, 유효 데이터블록 등을 저장하고, 이를 통해 모듈의 상태와 관계없이 즉각적으로 동작할 수 있도록 메모리 모듈을 설계하고, 추가적으로 전원이 불안정한 경우 빠른 전원 감지가 필요하므로 저전압 감지(Low Power Voltage Detect) 회로를 설계하여 전원이 불안정할 경우 PSRAM의 데이터를 낸드플래시 메모리에 즉각적으로 저장하도록 구성됨으로써, 고장이나 전원이 갑자기 꺼지는 상황에서도 데이터를 보존할 수 있도록 하여 시간 및 비용적인 측면에서 큰 이점을 가질 수 있도록 구성되는 자기진단 기능을 가지는 새로운 메모리 모듈 구조를 제시하였다. Accordingly, in the present invention, to enable the system to operate more efficiently, the data logging algorithm is improved to store BBT, CRC32, data checksum, valid data block, etc. in NAND flash, and through this, the status and relationship of the module are stored. We designed the memory module so that it can operate immediately without any additional power, and in addition, since quick power detection is required when the power is unstable, we designed a Low Power Voltage Detect circuit to immediately transfer PSRAM data to the NAND flash memory when the power is unstable. We proposed a new memory module structure with a self-diagnosis function that allows data to be preserved even in situations where a failure or power is suddenly turned off, thereby providing a significant advantage in terms of time and cost.

즉, 도 2를 참조하면, 도 2는 본 발명의 실시예에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈(10)의 전체적인 구성을 개략적으로 나타내는 블록도이다. That is, referring to FIG. 2, FIG. 2 is a block diagram schematically showing the overall configuration of the asynchronous non-volatile memory module 10 with a self-diagnosis function according to an embodiment of the present invention.

도 2에 나타낸 바와 같이, 본 발명의 실시예에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈(10)은, 크게 나누어, 전원 인가(ON)시 빠른 데이터 처리를 위한 PSRAM을 포함하여 이루어지는 제 1 메모리부(11)와, 전원 차단(OFF)시 데이터의 저장을 위한 낸드플래시(NAND Flash) 메모리를 포함하여 이루어지는 제 2 메모리부(12)와, 상기한 제 1 메모리부(11) 및 제 2 메모리부(12)의 PSRAM과 낸드플래시 메모리의 동작을 각각 제어하고, 후술하는 바와 같이 하여 자기진단 시스템(Self-diagnosis system)을 통해 각각의 메모리의 상태를 진단하여 오류를 수정하는 처리가 수행되도록 이루어지는 CPU(STM32H750 : 480MHz)(13)를 포함하여 이루어지는 자기진단 제어부(13)를 포함하여 구성될 수 있다. As shown in FIG. 2, the asynchronous nonvolatile memory module 10 with a self-diagnosis function according to an embodiment of the present invention is roughly divided into a first module including a PSRAM for fast data processing when power is turned on. A memory unit 11, a second memory unit 12 including a NAND flash memory for storing data when the power is turned off, and the first memory unit 11 and the second memory unit 12 described above. The operations of the PSRAM and NAND flash memory of the memory unit 12 are controlled respectively, and the status of each memory is diagnosed through a self-diagnosis system as described later to correct errors. It may be configured to include a self-diagnosis control unit 13 including a CPU (STM32H750: 480 MHz) 13.

더 상세하게는, 도 3을 참조하면, 도 3은 본 발명의 실시예에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈(10)에 적용되는 자기진단을 위한 낸드플래시 메모리 구조를 표로 정리하여 나타낸 도면이다. More specifically, referring to FIG. 3, FIG. 3 shows in a table the NAND flash memory structure for self-diagnosis applied to the asynchronous non-volatile memory module 10 having a self-diagnosis function according to an embodiment of the present invention. It is a drawing.

도 3에 나타낸 바와 같이, 본 발명에 적용되는 NAND 플래시 메모리 구조는, 0번 페이지에 불량블록 테이블(Bad Block Table)과, 불량블록에 대한 CRC32 데이터와, SRAM에 대한 CRC32 데이터 및 예약 데이터가 각각 할당되어 해당 페이지를 사용하지 않고 불량블록을 관리하며, 나머지 페이지에 유효블록과 각 페이지별 CRC32 데이터 및 자기진단 데이터가 각각 할당되어 관리됨으로써, 데이터의 저장시 불량블록을 사용하지 않고 정상적인 블록만 사용하도록 하여 불량블록으로 인해 데이터가 소실되는 것을 방지하도록 구성될 수 있다. As shown in FIG. 3, the NAND flash memory structure applied to the present invention has a bad block table on page 0, CRC32 data for bad blocks, CRC32 data for SRAM, and reservation data, respectively. Bad blocks are managed without using the allocated pages, and valid blocks and CRC32 data and self-diagnosis data for each page are allocated and managed in the remaining pages, so when storing data, only normal blocks are used without using bad blocks. It can be configured to prevent data loss due to bad blocks.

여기서, 상기한 자기진단 데이터는, 도 3에 나타낸 바와 같이, CRC 에러코드와 BBT 에러코드 및 체크섬데이터를 각각 포함하여 구성될 수 있다. Here, the above-mentioned self-diagnosis data may be composed of a CRC error code, a BBT error code, and checksum data, respectively, as shown in FIG. 3.

또한, 도 4 및 도 5를 참조하면, 먼저, 도 4는 본 발명의 실시예에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈(10)에 적용되는 NVSRAM 데이터의 신뢰성 향상을 위한 자기진단 알고리즘의 전체적인 처리과정 중 전원 오프시의 동작을 개략적으로 나타내는 플로차트이고, 도 5는 전원 온시의 동작을 각각 개략적으로 나타내는 플로차트이다. Also, referring to FIGS. 4 and 5, first, FIG. 4 shows a self-diagnosis algorithm for improving the reliability of NVSRAM data applied to the asynchronous non-volatile memory module 10 having a self-diagnosis function according to an embodiment of the present invention. It is a flowchart schematically showing the operation when the power is turned off during the overall processing process, and Figure 5 is a flowchart schematically showing the operation when the power is turned on.

도 4 및 도 5에 나타낸 바와 같이, 기존의 자기진단 방법에서는 ECC 알고리즘만 적용되었으나, 본 발명에서는, ECC 알고리즘에 더하여 CPU 내부의 CRC32, BBT, 데이터체크섬(Data Check Sum)을 추가하여 자기진단 및 오류수정에 대한 신뢰성 및 정확성을 더욱 높일 수 있도록 구성된다. As shown in Figures 4 and 5, in the existing self-diagnosis method, only the ECC algorithm was applied, but in the present invention, in addition to the ECC algorithm, CRC32, BBT, and Data Check Sum inside the CPU were added to perform self-diagnosis and It is designed to further increase the reliability and accuracy of error correction.

더 상세하게는, 먼저, 도 4에 나타낸 바와 같이, 전원이 꺼지면 슈퍼커패시터에 충전된 전압을 이용하여 PSRAM의 데이터를 낸드플래시에 저장하는 동작이 수행되며, 이때, BBT를 통해서 불량블록을 피하고 유효블록에 ECC 데이터와 CRC32 및 데이터체크섬 데이터를 함께 저장한다. More specifically, first, as shown in FIG. 4, when the power is turned off, an operation is performed to store PSRAM data in NAND flash using the voltage charged in the supercapacitor. At this time, bad blocks are avoided through BBT and effective ECC data, CRC32, and data checksum data are stored together in the block.

그 후, 도 5에 나타낸 바와 같이, 다시 전원이 켜지면 낸드플래시 메모리에 저장된 데이터 및 함께 저장된 CRC32와 데이터체크섬 데이터를 읽어들이고, 읽어들인 데이터의 CRC32 부분과 CPU 내부의 CRC32를 비교하며, CRC32의 비교결과 이상이 없을 경우는 읽어들인 데이터체크섬 데이터와 CPU 내부의 데이터체크섬 데이터를 다시 비교한다. Afterwards, as shown in FIG. 5, when the power is turned on again, the data stored in the NAND flash memory and the CRC32 and data checksum data stored together are read, the CRC32 portion of the read data is compared with the CRC32 inside the CPU, and the CRC32 of the CRC32 is compared. If there are no abnormalities as a result of the comparison, compare the read data checksum data and the data checksum data inside the CPU again.

이어서, CRC32 또는 데이터체크섬 데이터의 비교결과 데이터의 내용이 다를 경우는 ECC 알고리즘을 이용하여 오류가 발생한 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되도록 구성될 수 있다. Subsequently, if the contents of the data are different as a result of comparing the CRC32 or data checksum data, the ECC algorithm can be used to find and restore the erroneous data and correct it into correct data.

즉, 도 6 및 도 7을 참조하면, 도 6은 데이터를 읽어들이는 과정에서 읽어들인 데이터가 정확한지를 CRC32 및 데이터체크섬을 통해 검증하는 알고리즘의 전체적인 처리과정을 나타내는 도면이고, 도 7은 ECC 알고리즘을 이용하여 오류가 발생한 데이터를 찾아 올바른 데이터로 수정하는 알고리즘의 전체적인 처리과정을 나타내는 도면이다. That is, referring to FIGS. 6 and 7, FIG. 6 is a diagram showing the overall processing process of the algorithm that verifies whether the read data is accurate through CRC32 and data checksum during the data reading process, and FIG. 7 is an ECC algorithm. This is a diagram showing the overall processing process of the algorithm that uses to find erroneous data and correct it with correct data.

상기한 바와 같이, 전원이 켜졌을 경우 읽어들인 데이터를 CPU 내부의 CRC32를 사용하여 저장했던 데이터의 CRC32 부분과 비교하고, 읽은 데이터들을 데이터체크섬을 통해 또 다시 비교하며, 마지막으로 ECC 알고리즘을 이용하여 잘못된 부분의 오류가 발생한 위치를 확인하고 해당하는 부분의 데이터를 정확한 데이터로 수정함으로써 데이터의 신뢰성을 더욱 향상시킬 수 있다. As mentioned above, when the power is turned on, the read data is compared with the CRC32 part of the stored data using the CRC32 inside the CPU, the read data is compared again through the data checksum, and finally, the ECC algorithm is used to compare the read data. The reliability of the data can be further improved by checking where the error occurred and correcting the corresponding part of the data with accurate data.

여기서, 상기한 본 발명의 실시예에 있어서, 상기한 ECC 알고리즘이나 CRC32 및 데이터체크섬을 이용하여 오류를 검출하고 수정하는 처리과정의 보다 구체적인 내용에 대하여는 종래기술의 오류정정 방법 등을 참조하여 당업자가 적절히 구성할 수 있는 사항이므로, 이에, 본 발명에서는, 상기한 바와 같이 종래기술의 문헌 등을 참조하여 당업자가 용이하게 이해하고 실시할 수 있는 내용에 대하여는 그 상세한 설명을 생략하였음에 유념해야 한다. Here, in the embodiment of the present invention described above, for more specific details of the process of detecting and correcting errors using the ECC algorithm, CRC32, and data checksum, those skilled in the art can refer to error correction methods of the prior art. Since this is a matter that can be appropriately configured, it should be noted that in the present invention, detailed description of content that can be easily understood and implemented by a person skilled in the art with reference to prior art literature, etc., has been omitted as described above.

계속해서, 상기한 바와 같이 하여 구성되는 본 발명의 실시예에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈 및 자기진단 알고리즘의 실제 성능을 실험을 통해 검증한 결과에 대하여 설명한다. Next, the results of verifying through experiment the actual performance of the asynchronous non-volatile memory module with a self-diagnosis function and the self-diagnosis algorithm according to the embodiment of the present invention configured as described above will be described.

즉, 본 발명자들은, 본 발명에서 제안된 자기진단 알고리즘의 검증을 위해 테스트베드를 구현하고 실험을 진행하였으며, 이를 위해, 오실로스코프의 파형을 통해서 전원의 상태, 읽기/쓰기 동작이 정상적으로 이루어지는지 확인하였다. In other words, the present inventors implemented a test bed and conducted experiments to verify the self-diagnosis algorithm proposed in the present invention, and for this purpose, they checked whether the power status and read/write operations were normal through the waveform of the oscilloscope. .

더 상세하게는, 먼저, 도 8을 참조하면, 도 8은 전원 오프시 NVSRAM의 동작 파형을 나타낸 도면이다. In more detail, first, referring to FIG. 8, FIG. 8 is a diagram showing the operation waveform of the NVSRAM when the power is turned off.

도 8에 나타낸 파형은 전원이 꺼질 때 외부전압 EVCC가 0V가 되어도 CPU에 공급되는 전압 IVCC는 3.3V로 유지되는 결과를 나타내는 것으로, 외부전압이 꺼지더라도 CPU에 공급되는 전압은 3.3V로 유지되므로 PSRAM의 데이터를 낸드플래시에 저장하는데 충분한 시간을 만들어 준다. The waveform shown in Figure 8 shows the result that the voltage IVCC supplied to the CPU is maintained at 3.3V even if the external voltage EVCC becomes 0V when the power is turned off. Even if the external voltage is turned off, the voltage supplied to the CPU remains at 3.3V. It provides sufficient time to store PSRAM data in NAND flash.

또한, 도 9를 참조하면, 도 9는 전원 온시 NVSRAM의 동작 파형을 나타낸 도면이다. Also, referring to FIG. 9, FIG. 9 is a diagram showing the operation waveform of the NVSRAM when the power is turned on.

도 9에 나타낸 결과는 전원이 켜졌을 경우 낸드플래시에 저장했던 데이터를 PSRAM에 다시 로드하기 위해서 데이터를 읽는 파형으로, 전원이 켜졌을 경우 꺼지기 직전의 데이터를 가져와 자기진단 알고리즘을 통해 올바른 데이터로 복구하여 다시 작업할 수 있도록 만들어 준다. The result shown in Figure 9 is a waveform that reads data in order to reload the data stored in the NAND flash to PSRAM when the power is turned on. When the power is turned on, the data just before turning off is retrieved and the correct data is restored through a self-diagnosis algorithm. This makes it possible to work again.

아울러, 도 10을 참조하면, 도 10은 데이터의 읽기/쓰기 동작기 CS핀과 RD, WR핀의 파형을 각각 나타내는 도면이다. In addition, referring to FIG. 10, FIG. 10 is a diagram showing the waveforms of the data read/write operator CS pin and RD and WR pins, respectively.

상기한 바와 같은 실험결과들을 통하여, 전원이 불안정하게 되더라도 CPU의 전압은 정상적으로 들어가게 되면서 데이터가 보존되고, 다시 전원이 공급되면 보존된 데이터를 가져와 다시 작업할 수 있음을 확인할 수 있다. Through the above-described experimental results, it can be confirmed that even if the power supply becomes unstable, the CPU's voltage is normalized and data is preserved, and when power is supplied again, the preserved data can be retrieved and worked again.

상기한 바와 같이, 시스템을 구동하는데 필수적인 메모리는 그 속도와 가격 차이 등으로 인해 주로 휘발성 메모리가 사용되나 현장에서는 언제든지 전압이 불안정 할 수 있고 고장이 쉽게 날 수 있는 환경이며, 이 경우 휘발성 메모리는 모든 데이터가 지워지게 되고, 모든 데이터가 저장되지 않고 지워지면 다시 처음부터 시간적, 비용적 손해를 감수하고 데이터를 복구해야 한다. As mentioned above, the memory essential to drive the system is mainly volatile memory due to its speed and price difference, but in the field, the voltage can be unstable at any time and it can easily break down. In this case, volatile memory is used for all If the data is erased and all the data is erased without being saved, the data must be recovered from the beginning again at the cost of time and cost.

이러한 문제를 해결하기 위해 속도는 느리지만 전원이 꺼져도 데이터가 유지되는 비휘발성 메모리와 속도는 빠르지만 전원이 꺼지면 데이터가 지워지는 휘발성 메모리의 장점을 결합하여 NVSRAM이 제시되었으나, 이는 외부의 노이즈나 전기적 충격에 취약하여 데이터가 쉽게 손상될 수 있다. To solve this problem, NVSRAM was proposed by combining the advantages of non-volatile memory, which is slow but retains data even when the power is turned off, and volatile memory, which is fast but loses data when the power is turned off. It is vulnerable to shock, so data can be easily damaged.

이에, 본 발명에서는, 데이터의 손실을 최소화하기 위해 자기진단 알고리즘을 적용하였으며, 이를 위해, 데이터의 손상을 자기진단을 통해 알아내고 손상된 데이터를 본래의 올바른 데이터로 수정하는 ECC 뿐만 아니라, 데이터가 정상적인지 확인하는 CPU 내부의 CRC32를 사용하는 방법과 데이터체크섬(Data Check Sum)을 추가하여 쓰고/읽는 데이터의 신뢰성과 정확성을 높였으며, 상용화의 가능성을 제시하였다. Accordingly, in the present invention, a self-diagnosis algorithm was applied to minimize data loss. To this end, not only ECC, which detects damage to data through self-diagnosis and corrects the damaged data to the original correct data, but also ensures that the data is normal. The reliability and accuracy of writing/reading data were improved by using the CRC32 inside the CPU to check the reliability and adding a data check sum, and the possibility of commercialization was suggested.

따라서 상기한 바와 같이 하여 본 발명의 실시예에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈을 구현할 수 있으며, 그것에 의해, 본 발명에 따르면, ECC 알고리즘과, CRC32, BBT 및 데이터체크섬을 적용하여, 전원이 꺼지면 슈퍼 커패시터에 충전된 전압을 이용하여 PSRAM의 데이터를 낸드플래시 메모리에 저장하며, 이때, BBT를 통해 불량블록을 피하여 유효블록에 저장하고 ECC 데이터와 CRC32, 데이터체크섬 데이터를 함께 저장한 다음, 다시 전원이 켜졌을 때 저장된 데이터를 읽고 함께 저장된 CRC32 및 데이터체크섬 데이터를 비교하여 읽어들인 내용이 정확한지 판단하며, 읽어들인 내용이 다를 경우는 ECC를 통해 잘못된 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈이 제공됨으로써, 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지하는 동시에, 오류검출 및 수정의 신뢰성과 정확성을 더욱 높일 수 있다. Therefore, as described above, an asynchronous non-volatile memory module having a self-diagnosis function according to an embodiment of the present invention can be implemented, whereby, according to the present invention, by applying the ECC algorithm, CRC32, BBT, and data checksum, When the power is turned off, the PSRAM data is stored in the NAND flash memory using the voltage charged in the super capacitor. At this time, bad blocks are avoided through BBT and stored in valid blocks, and ECC data, CRC32, and data checksum data are stored together. When the power is turned on again, the saved data is read and compared with the CRC32 and data checksum data stored together to determine whether the read content is accurate. If the read content is different, the correct data is restored by finding and recovering the incorrect data through ECC. By providing an asynchronous non-volatile memory module with a self-diagnosis function configured to perform correction processing, data loss due to errors occurring in the process of reading and writing data is provided, while ensuring reliability and accuracy of error detection and correction. It can be raised even further.

또한, 본 발명에 따르면, 상기한 바와 같이 자기진단을 통해 메모리의 상태를 스스로 파악하여 읽고 쓰는 과정에서 발생하는 데이터의 오류를 올바르게 수정하는 것에 의해 데이터 손실을 최소화하고 메모리의 신뢰성과 안정성을 높일 수 있도록 구성되는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈이 제공됨으로써, 휘발성 메모리(volatile memory)와 비휘발성 메모리(non-volatile memory)의 2개의 메모리를 구비하여 전원이 꺼질때 휘발성 메모리에서 작업하던 데이터를 비휘발성 메모리에 저장하는 것에 의해 전원이 차단되는 경우에도 데이터를 보존할 수 있는 장점이 있으나, 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지할 수 없는 한계가 있었던 종래기술의 NVSRAM의 문제점을 해결할 수 있다. In addition, according to the present invention, it is possible to minimize data loss and increase reliability and stability of memory by identifying the state of the memory through self-diagnosis and correctly correcting data errors that occur during reading and writing, as described above. An asynchronous non-volatile memory module with a self-diagnosis function is provided, so that it has two memories, a volatile memory and a non-volatile memory, so that when the power is turned off, the data working in the volatile memory is provided. There is the advantage of preserving data even when the power is turned off by storing data in non-volatile memory, but it has the limitation of not being able to prevent data loss due to errors that occur during the process of reading and writing data. The problem of NVSRAM can be solved.

이상, 상기한 바와 같은 본 발명의 실시예를 통하여 본 발명에 따른 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈의 상세한 내용에 대하여 설명하였으나, 본 발명은 상기한 실시예에 기재된 내용으로만 한정되는 것은 아니며, 따라서 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 설계상의 필요 및 기타 다양한 요인에 따라 여러 가지 수정, 변경, 결합 및 대체 등이 가능한 것임은 당연한 일이라 하겠다. Above, the details of the asynchronous non-volatile memory module having a self-diagnosis function according to the present invention have been described through the embodiments of the present invention as described above. However, the present invention is not limited to the contents described in the above-described embodiments. Therefore, it is natural that the present invention can be modified, changed, combined, and replaced in various ways by those skilled in the art according to design needs and various other factors.

10. 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈
11. 제 1 메모리부
12. 제 2 메모리부
13. 자기진단 제어부
10. Asynchronous non-volatile memory module with self-diagnosis function
11. First memory unit
12. Second memory unit
13. Self-diagnosis control unit

Claims (6)

자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈(asynchronous non-volatile memory module)에 있어서,
전원 인가(ON)시 데이터 처리를 위한 PSRAM(Pseudo SRAM)을 포함하여 이루어지는 제 1 메모리부;
전원 차단(OFF)시 데이터의 저장을 위한 낸드플래시(NAND Flash) 메모리를 포함하여 이루어지는 제 2 메모리부;
상기 제 1 메모리부의 PSRAM 및 상기 제 2 메모리부의 낸드플래시 메모리의 동작을 각각 제어하고, ECC(Error Correction Code) 알고리즘, CRC(Cyclic Redundancy Code)32, 미리 설정된 BBT(Bad Block Table) 및 데이터체크섬(Data Check Sum)을 이용한 자기진단을 통해 각각의 메모리의 상태를 진단하고 데이터의 오류를 수정하는 처리가 수행되도록 이루어지는 CPU를 포함하여 이루어지는 자기진단 제어부를 포함하여 구성되고,
상기 자기진단 제어부는,
전원이 꺼지면 슈퍼커패시터에 충전된 전압을 이용하여 상기 PSRAM의 데이터를 상기 낸드플래시 메모리에 저장하고, 이때, 상기 BBT를 통해 불량블록을 피하고 유효블록에 ECC 데이터와 CRC32 및 데이터체크섬 데이터를 함께 저장하며,
그 후, 다시 전원이 켜지면 상기 낸드플래시 메모리에 저장된 데이터 및 함께 저장된 상기 CRC32와 상기 데이터체크섬 데이터를 읽어들이고, 읽어들인 데이터의 CRC32 부분과 CPU 내부의 CRC32를 비교하며,
CRC32의 비교결과 이상이 없을 경우는 읽어들인 데이터체크섬 데이터와 CPU 내부의 데이터체크섬 데이터를 다시 비교하며,
CRC32 또는 데이터체크섬 데이터의 비교결과 데이터의 내용이 다를 경우는 ECC 알고리즘을 이용하여 오류가 발생한 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되도록 구성됨으로써,
전원이 차단되는 경우에도 데이터를 보존할 수 있는 데 더하여, 전원 차단시 데이터를 읽고 쓰는 과정에서 발생하는 오류로 인한 데이터의 손실을 방지하는 동시에, 오류검출 및 수정의 신뢰성과 정확성을 높일 수 있도록 구성되는 것을 특징으로 하는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈.
In an asynchronous non-volatile memory module with a self-diagnosis function,
A first memory unit including PSRAM (Pseudo SRAM) for data processing when power is turned on (ON);
a second memory unit including NAND flash memory for storing data when the power is turned off;
It controls the operation of the PSRAM of the first memory unit and the NAND flash memory of the second memory unit, respectively, and uses an Error Correction Code (ECC) algorithm, Cyclic Redundancy Code (CRC)32, a preset Bad Block Table (BBT), and a data checksum ( It is configured to include a self-diagnosis control unit including a CPU that diagnoses the state of each memory through self-diagnosis using (Data Check Sum) and performs processing to correct data errors,
The self-diagnosis control unit,
When the power is turned off, the data of the PSRAM is stored in the NAND flash memory using the voltage charged in the supercapacitor. At this time, bad blocks are avoided through the BBT and ECC data, CRC32, and data checksum data are stored together in the valid block. ,
Afterwards, when the power is turned on again, the data stored in the NAND flash memory and the CRC32 and the data checksum data stored together are read, and the CRC32 portion of the read data is compared with the CRC32 inside the CPU,
If there is no abnormality as a result of CRC32 comparison, the read data checksum data and the data checksum data inside the CPU are compared again.
If the data contents are different as a result of comparing CRC32 or data checksum data, the ECC algorithm is used to find and restore the erroneous data and correct it with the correct data.
In addition to being able to preserve data even when the power is turned off, it is designed to prevent data loss due to errors that occur in the process of reading and writing data when the power is turned off, and to increase the reliability and accuracy of error detection and correction. An asynchronous non-volatile memory module with a self-diagnosis function.
제 1항에 있어서,
상기 낸드플래시 메모리는,
0번 페이지에 불량블록 테이블(Bad Block Table)과, 불량블록에 대한 CRC32 데이터와, SRAM에 대한 CRC32 데이터 및 예약 데이터가 각각 할당되어 해당 페이지를 사용하지 않고 불량블록을 관리하며, 나머지 페이지에 유효블록과 각 페이지별 CRC32 데이터 및 CRC 에러코드와 BBT 에러코드 및 체크섬데이터를 포함하는 자기진단 데이터가 각각 할당되어 관리되도록 구성됨으로써,
데이터의 저장시 불량블록을 사용하지 않고 정상적인 블록만 사용하도록 하여 불량블록으로 인해 데이터가 소실되는 것을 방지할 수 있도록 구성되는 것을 특징으로 하는 자기진단 기능을 가지는 비동기식 불휘발성 메모리 모듈.
According to clause 1,
The NAND flash memory is,
The Bad Block Table, CRC32 data for bad blocks, CRC32 data for SRAM, and reservation data are allocated to page 0, respectively, to manage bad blocks without using the page, and are valid for the remaining pages. Self-diagnosis data including CRC32 data, CRC error code, BBT error code, and checksum data for each block and each page are allocated and managed, respectively.
An asynchronous non-volatile memory module with a self-diagnosis function, which is configured to prevent data loss due to bad blocks by using only normal blocks instead of bad blocks when storing data.
삭제delete 삭제delete 삭제delete NVSRAM(Non-Volatile SRAM)의 데이터 오류를 방지할 수 있도록 구성되는 NVSRAM의 자기진단방법에 있어서,
전원이 꺼지면 슈퍼커패시터에 충전된 전압을 이용하여 PSRAM의 데이터를 낸드플래시 메모리에 저장하고, 이때, 미리 설정된 BBT를 통해 불량블록을 피하고 유효블록에 ECC 데이터와 CRC32 및 데이터체크섬 데이터를 함께 저장하는 처리가 수행되는 데이터 저장단계;
다시 전원이 켜지면 상기 낸드플래시 메모리에 저장된 데이터 및 함께 저장된 상기 CRC32와 상기 데이터체크섬 데이터를 읽어들이고, 읽어들인 데이터의 CRC32 부분과 CPU 내부의 CRC32를 비교하는 처리가 수행되는 CRC 비교단계;
상기 CRC 비교단계의 비교결과 데이터의 내용이 다를 경우는 ECC 알고리즘을 이용하여 오류가 발생한 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되는 제 1 데이터 복구단계;
상기 CRC 비교단계의 비교결과 이상이 없을 경우는 읽어들인 데이터체크섬 데이터와 CPU 내부의 데이터체크섬 데이터를 비교하는 처리가 수행되는 데이터체크섬 비교단계;
상기 데이터체크섬 비교단계의 비교결과 데이터의 내용이 다를 경우는 ECC 알고리즘을 이용하여 오류가 발생한 데이터를 찾아서 복구하는 것에 의해 올바른 데이터로 수정하는 처리가 수행되는 제 2 데이터 복구단계를 포함하여 구성되는 것을 특징으로 하는 NVSRAM의 자기진단방법.
In the NVSRAM self-diagnosis method configured to prevent data errors in NVSRAM (Non-Volatile SRAM),
When the power is turned off, the data in the PSRAM is stored in the NAND flash memory using the voltage charged in the supercapacitor. At this time, processing is performed to avoid bad blocks through preset BBT and store ECC data, CRC32, and data checksum data together in valid blocks. A data storage step is performed;
When the power is turned on again, the data stored in the NAND flash memory and the CRC32 and the data checksum data stored together are read, and a CRC comparison step is performed to compare the CRC32 portion of the read data with the CRC32 inside the CPU;
A first data recovery step in which, if the content of the data as a result of the CRC comparison step is different, processing to correct the data with correct data by finding and recovering the data in error using an ECC algorithm is performed;
If there is no abnormality as a result of the CRC comparison step, a data checksum comparison step is performed to compare the read data checksum data and the data checksum data inside the CPU;
If the contents of the data are different as a result of the comparison of the data checksum comparison step, the second data recovery step is performed to correct the correct data by finding and recovering the erroneous data using the ECC algorithm. Characteristic self-diagnosis method of NVSRAM.
KR1020220049927A 2022-04-22 2022-04-22 Asynchronous non-volatile memory module with self-diagnosis function KR102598152B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220049927A KR102598152B1 (en) 2022-04-22 2022-04-22 Asynchronous non-volatile memory module with self-diagnosis function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220049927A KR102598152B1 (en) 2022-04-22 2022-04-22 Asynchronous non-volatile memory module with self-diagnosis function

Publications (2)

Publication Number Publication Date
KR20230150494A KR20230150494A (en) 2023-10-31
KR102598152B1 true KR102598152B1 (en) 2023-11-06

Family

ID=88543388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220049927A KR102598152B1 (en) 2022-04-22 2022-04-22 Asynchronous non-volatile memory module with self-diagnosis function

Country Status (1)

Country Link
KR (1) KR102598152B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200322213Y1 (en) * 2003-04-23 2003-08-02 삼성탈레스 주식회사 Circuit for inputting power to backup-memory
US20050157563A1 (en) * 2004-01-19 2005-07-21 Comax Semiconductor Inc. Memory Device and mobile communication device using a specific access procedure

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100845529B1 (en) * 2007-01-03 2008-07-10 삼성전자주식회사 Ecc controller for use in flash memory device and memory system including the same
KR20160074025A (en) * 2014-12-17 2016-06-28 에스케이하이닉스 주식회사 Operating method for data storage device
KR102330018B1 (en) 2019-09-19 2021-11-24 충남대학교 산학협력단 6T Non-volatile SRAM based on flash memory and method of operating the same
KR102222813B1 (en) 2019-09-19 2021-03-05 충남대학교 산학협력단 6T nonvolatile SRAM based on 3D flash memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200322213Y1 (en) * 2003-04-23 2003-08-02 삼성탈레스 주식회사 Circuit for inputting power to backup-memory
US20050157563A1 (en) * 2004-01-19 2005-07-21 Comax Semiconductor Inc. Memory Device and mobile communication device using a specific access procedure

Also Published As

Publication number Publication date
KR20230150494A (en) 2023-10-31

Similar Documents

Publication Publication Date Title
US9201718B2 (en) Data recovery in a solid state storage system
US8589766B2 (en) Codeword remapping schemes for non-volatile memories
US7954037B2 (en) Method for recovering from errors in flash memory
JP6312698B2 (en) System and method for recovering lower page data in a solid state drive
TWI555023B (en) Refresh method for flash memory and memory controller
US7839685B2 (en) Soft errors handling in EEPROM devices
US11677259B2 (en) Power backup architecture using capacitor
US20080184065A1 (en) Methods and apparatus for employing redundant arrays to configure non-volatile memory
US20070113121A1 (en) Repair of semiconductor memory device via external command
US10509697B2 (en) Data storage device and operating method therefor
US20180067799A1 (en) System and method for detecting and correcting mapping table errors in a non-volatile memory system
EP3783489B1 (en) Memory controller with high data reliability, a memory system having the same, and an operation method of the memory controller
US9305655B2 (en) Solving MLC NAND paired page program using reduced spatial redundancy
EP1355234A1 (en) Use of an error correction circuit in program and erase verify procedures
KR102598152B1 (en) Asynchronous non-volatile memory module with self-diagnosis function
US11651821B2 (en) Adaptive program verify scheme for performance improvement
US11727984B2 (en) Detection of page discrepancy during read threshold calibration
KR102404257B1 (en) Asynchronous mass memory module with error corrction function using error correction code and error correction method of asynchronous mass memory module using error correction code
US11966303B2 (en) Memory system failure detection and self recovery of memory dice
US11704190B2 (en) UECC failure handling method
US11568938B2 (en) QLC data programming
CN113495676B (en) Read-write method and memory device
US20230186995A1 (en) Performing data integrity checks to identify defective wordlines
CN115562591A (en) Reliable EEPROM data storage system, method and device
CN117716342A (en) On-die ECC data for memory devices

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant