KR102418060B1 - Apparatus and method for diagnosing error correction code of flash memory - Google Patents
Apparatus and method for diagnosing error correction code of flash memory Download PDFInfo
- Publication number
- KR102418060B1 KR102418060B1 KR1020200174600A KR20200174600A KR102418060B1 KR 102418060 B1 KR102418060 B1 KR 102418060B1 KR 1020200174600 A KR1020200174600 A KR 1020200174600A KR 20200174600 A KR20200174600 A KR 20200174600A KR 102418060 B1 KR102418060 B1 KR 102418060B1
- Authority
- KR
- South Korea
- Prior art keywords
- test
- flash memory
- ecc
- module
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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 arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
플래시 메모리 ECC 모듈의 진단 장치 및 방법이 개시된다. 본 발명의 일 측면에 따른 플래시 메모리 ECC 모듈의 진단 장치는 데이터 영역 및 테스트 영역으로 구분되는 적어도 하나의 플래시 메모리를 포함하는 플래시 메모리 모듈, 상기 플래시 메모리 모듈에 액세스하도록 구성된 플래시 메모리 제어기를 포함하고, 상기 플래시 메모리 제어기는, 상기 플래시 메모리의 에러를 검출하는 ECC(Error Correction Code) 모듈, 및 상기 ECC 모듈의 ECC 비교기 테스트 및 상기 플래시 메모리의 테스트 영역 테스트에 기초하여 상기 ECC 모듈의 정상 동작 여부를 진단하는 제어모듈을 포함한다. A diagnostic apparatus and method for a flash memory ECC module are disclosed. A diagnostic apparatus for a flash memory ECC module according to an aspect of the present invention includes a flash memory module including at least one flash memory divided into a data area and a test area, and a flash memory controller configured to access the flash memory module, The flash memory controller is configured to diagnose whether the ECC module is operating normally based on an error correction code (ECC) module detecting an error of the flash memory, an ECC comparator test of the ECC module, and a test area test of the flash memory It includes a control module that
Description
본 발명은 플래시 메모리 ECC(Error Correction Code) 모듈의 진단 장치 및 방법에 관한 것으로서, 보다 상세하게는 플래시 메모리의 에러 감지 로직인 ECC 모듈의 정상 동작 여부를 진단할 수 있도록 하는 플래시 메모리 ECC 모듈의 진단 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for diagnosing a flash memory ECC (Error Correction Code) module, and more particularly, to a flash memory ECC module diagnostic for diagnosing whether an ECC module, which is an error detection logic of a flash memory, operates normally. It relates to an apparatus and method.
최근 차량이 전자제어화 되어 가면서 차량의 기능 안전이 중요시되고 있다.In recent years, as vehicles have become electronically controlled, functional safety of vehicles is becoming more important.
특히 입력, 연산, 및 출력이 이루어지는 마이크로컨트롤러(MCU)의 메모리 에러 감지(검출) 기능은 제어 오작동을 방지하는데 있어서 아주 중요한 기술에 해당한다.In particular, the memory error detection (detection) function of a microcontroller (MCU) in which input, operation, and output are made corresponds to a very important technology in preventing control malfunction.
이에 따라 종래에는 플래시 메모리의 에러 검출을 위하여, 마이크로컨트롤러(MCU)가 ECC(Error Correction Code) 모듈을 활성화(Enable)하면 ECC 모듈이 플래시 메모리의 에러를 검출하는 방식으로 동작하였다. Accordingly, in the prior art, in order to detect an error in the flash memory, when the microcontroller (MCU) activates the ECC (Error Correction Code) module, the ECC module operates in such a way that the error in the flash memory is detected.
그러나 ECC 모듈이 정상적으로 작동할 때는 문제가 없지만, ECC 모듈 자체에 대한 오동작 여부를 감지할 수 없어 ECC 모듈이 정상적으로 작동하지 않을 때는 플래시 메모리의 에러 검출에 리스크를 수반하고 있다.However, there is no problem when the ECC module operates normally, but when the ECC module does not operate normally because it cannot detect the malfunction of the ECC module itself, there is a risk in detecting errors in the flash memory.
다시 말해 종래에는 ECC 모듈에 대한 자가진단이 불가능하였으며, 플래시 메모리 테스트에서 발생하는 에러의 종류에 대한 분별(구별)도 불가능하였다. 즉, ECC 모듈의 정보에 의존하여서만 에러의 발생 여부를 알 수 있었다.In other words, conventional self-diagnosis of the ECC module was impossible, and it was also impossible to distinguish (discrimination) the types of errors occurring in the flash memory test. That is, it was possible to know whether an error occurred only depending on the information of the ECC module.
이에 따라 ECC 모듈에 대한 오류 여부를 검증할 수 있도록 하는 방법이 요구되고 있다.Accordingly, there is a need for a method for verifying the presence or absence of errors in the ECC module.
본 발명의 배경기술은 대한민국 공개특허 10-2015-0073717호(2015.07.01. 공개, 저장 장치 및 그것의 데이터 엔코딩 및 디코딩 방법들)에 개시되어 있다. Background art of the present invention is disclosed in Korean Patent Application Laid-Open No. 10-2015-0073717 (published on July 1, 2015, storage device and data encoding and decoding methods thereof).
본 발명은 상기와 같은 문제점들을 개선하기 위하여 안출된 것으로, 본 발명의 일 측면에 따른 목적은 플래시 메모리의 에러 감지 로직인 ECC 모듈의 정상 동작 여부를 진단할 수 있도록 하는 플래시 메모리 ECC 모듈의 진단 장치 및 방법을 제공하는 것이다. The present invention has been devised to solve the above problems, and it is an object of the present invention to diagnose whether an ECC module, which is an error detection logic of a flash memory, operates normally. and to provide a method.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the problem(s) mentioned above, and another problem(s) not mentioned will be clearly understood by those skilled in the art from the following description.
본 발명의 일 측면에 따른 플래시 메모리 ECC 모듈의 진단 장치는 데이터 영역 및 테스트 영역으로 구분되는 적어도 하나의 플래시 메모리를 포함하는 플래시 메모리 모듈, 상기 플래시 메모리 모듈에 액세스하도록 구성된 플래시 메모리 제어기를 포함하고, 상기 플래시 메모리 제어기는, 상기 플래시 메모리의 에러를 검출하는 ECC(Error Correction Code) 모듈, 및 상기 ECC 모듈의 ECC 비교기 테스트 및 상기 플래시 메모리의 테스트 영역 테스트에 기초하여 상기 ECC 모듈의 정상 동작 여부를 진단하는 제어모듈을 포함한다. A diagnostic apparatus for a flash memory ECC module according to an aspect of the present invention includes a flash memory module including at least one flash memory divided into a data area and a test area, and a flash memory controller configured to access the flash memory module, The flash memory controller is configured to diagnose whether the ECC module is operating normally based on an error correction code (ECC) module detecting an error of the flash memory, an ECC comparator test of the ECC module, and a test area test of the flash memory It includes a control module that
본 발명에서 상기 플래시 메모리는 상기 데이터 영역에 기준 데이터(Reference Data)가 저장되고, 상기 테스트 영역에 상기 기준 데이터에 대해 에러를 발생시킨 테스트 데이터가 저장될 수 있다. In the flash memory, reference data may be stored in the data area, and test data generating an error with respect to the reference data may be stored in the test area.
본 발명에서 상기 테스트 데이터는, 상기 기준 데이터의 1비트 또는 2비트를 플립(Flip)시킨 에러 정정 가능 데이터(Correctable Error) 및 상기 기준 데이터의 3비트를 플립(Flip)시킨 에러 정정 불가능 데이터(Uncorrectable Error)를 포함할 수 있다. In the present invention, the test data includes error correctable data obtained by flipping 1 bit or 2 bits of the reference data and uncorrectable data obtained by flipping 3 bits of the reference data. error) may be included.
본 발명에서 상기 제어모듈은, 상기 ECC 비교기의 테스트 비트 입력 포트에 오류를 발생시킬 수 있도록 지정된 값을 오아(OR) 입력하는 ECC 비교기 테스트를 통해 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지를 체크할 수 있다. In the present invention, the control module checks whether the error detection function of the ECC module operates properly through an ECC comparator test that ORs a specified value to generate an error in the test bit input port of the ECC comparator. can
본 발명에서 상기 제어모듈은, 상기 테스트 영역에 저장된 에러 정정 가능 데이터(Correctable Error)에 접근하여 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지 체크할 수 있다. In the present invention, the control module may check whether the error detection function of the ECC module operates properly by accessing the correctable error data stored in the test area.
본 발명에서 상기 제어모듈은, 상기 테스트 영역에 저장된 에러 정정 불가능 데이터(Uncorrectable Error)에 접근하여 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지 체크할 수 있다. In the present invention, the control module may access the uncorrectable error data stored in the test area to check whether the error detection function of the ECC module operates properly.
본 발명에서 상기 제어모듈은, 상기 ECC 모듈의 정상 동작 여부를 진단하기 전에, 상기 데이터 영역의 기준 데이터와 상기 텍스트 영역의 테스트 데이터를 비교하여, 상기 테스트 영역의 테스트 데이터가 정상적으로 저장되어 있는지를 체크하고, 상기 테스트 데이터가 정상적으로 저장되어 있지 않으면 상기 기준 데이터에 대해 에러를 발생시킨 테스트 데이터를 생성하여 상기 테스트 영역에 저장할 수 있다. In the present invention, the control module compares the reference data of the data area with the test data of the text area before diagnosing whether the ECC module operates normally, and checks whether the test data of the test area is normally stored. and, if the test data is not normally stored, test data generating an error with respect to the reference data may be generated and stored in the test area.
본 발명에서 상기 제어모듈은, 상기 테스트 영역에 테스트 데이터가 정상적으로 저장된 경우, 초기화를 수행하고, 상기 초기화는, 상기 테스트를 수행하기 위한 테스트 모드에서의 테스트 동작이 마이크로컨트롤러(MCU)의 파워트레인 제어에 영향을 미치지 않도록 하기 위한 설정, 및 멀티코어 시스템에서 테스트 환경을 설정하기 위한 코어의 정지(Idle) 및 ECC 모듈에 대한 설정을 포함할 수 있다. In the present invention, when the test data is normally stored in the test area, the control module initializes, and in the initialization, a test operation in a test mode for performing the test is a powertrain control of a microcontroller (MCU) It may include settings for not affecting , and settings for Idle and ECC modules of the core to set up a test environment in a multi-core system.
본 발명에서 상기 제어모듈은, 상기 ECC 모듈의 진단이 모두 완료되면, 상기 진단 결과를 출력하고, 상기 진단을 위해 설정한 초기화를 해제할 수 있다. In the present invention, when the diagnosis of the ECC module is completed, the control module may output the diagnosis result and release the initialization set for the diagnosis.
본 발명의 다른 측면에 따른 플래시 메모리 ECC 모듈의 진단 방법은, 제어모듈이 플래시 메모리의 테스트 영역에 테스트 데이터가 정상적으로 저장되어 있는지를 판단하는 단계, 및 상기 테스트 데이터가 정상적으로 저장되어 있으면, 상기 제어모듈이 ECC 모듈의 ECC 비교기 테스트 및 상기 플래시 메모리의 테스트 영역 테스트에 기초하여 상기 ECC 모듈의 정상 동작 여부를 진단하는 단계를 포함한다. A method for diagnosing a flash memory ECC module according to another aspect of the present invention includes the steps of: determining, by a control module, whether test data is normally stored in a test area of a flash memory; and, if the test data is normally stored, the control module and diagnosing whether the ECC module operates normally based on the ECC comparator test of the ECC module and the test area test of the flash memory.
본 발명은 상기 판단하는 단계 이전에, 상기 제어모듈이 멀티코어 시스템에서 코어의 동기화 및 코어의 정지(Idle)를 포함하는 코어에 대한 설정을 초기화하는 단계를 더 포함할 수 있다. The present invention may further include the step of initializing, by the control module, settings for the core including the synchronization of the core and the idle of the core in the multi-core system before the determining step.
본 발명은 상기 테스트 데이터가 정상적으로 저장되어 있으면, 상기 제어모듈이 테스트를 위한 초기화를 수행하는 단계를 더 포함하고, 상기 초기화는, 상기 테스트를 수행하기 위한 테스트 모드에서의 테스트 동작이 마이크로컨트롤러(MCU)의 파워트레인 제어에 영향을 미치지 않도록 하기 위한 설정, 및 멀티코어 시스템에서 테스트 환경을 설정하기 위한 코어의 정지(Idle) 및 ECC 모듈에 대한 설정을 포함할 수 있다. The present invention further comprises the step of the control module performing initialization for the test when the test data is normally stored, wherein the initialization is performed by a microcontroller (MCU) in a test mode for performing the test. ) may include settings for not affecting the powertrain control, and settings for Idle and ECC modules of the core to set up a test environment in a multi-core system.
본 발명에서 상기 테스트 데이터가 정상적으로 저장되어 있지 않으면, 상기 제어모듈이 기준 데이터에 대해 에러를 발생시킨 테스트 데이터를 생성하여 상기 테스트 영역에 저장할 수 있다. In the present invention, if the test data is not normally stored, the control module may generate test data that generates an error with respect to the reference data and store the generated test data in the test area.
본 발명에서 상기 테스트 데이터는, 상기 기준 데이터의 1비트 또는 2비트를 플립(Flip)시킨 에러 정정 가능 데이터(Correctable Error) 및 상기 기준 데이터의 3비트를 플립(Flip)시킨 에러 정정 불가능 데이터(Uncorrectable Error)를 포함할 수 있다. In the present invention, the test data includes error correctable data obtained by flipping 1 bit or 2 bits of the reference data and uncorrectable data obtained by flipping 3 bits of the reference data. error) may be included.
본 발명은 상기 ECC 모듈의 정상 동작 여부를 진단하는 단계에서, 상기 제어모듈은, 상기 ECC 비교기의 테스트 비트 입력 포트에 오류를 발생시킬 수 있도록 지정된 값을 오아(OR) 입력하는 ECC 비교기 테스트를 통해 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지를 체크할 수 있다. In the present invention, in the step of diagnosing whether the ECC module is operating normally, the control module performs an ECC comparator test in which a specified value is OR inputted to generate an error in the test bit input port of the ECC comparator. It can be checked whether the error detection function of the ECC module operates properly.
본 발명은 상기 ECC 모듈의 정상 동작 여부를 진단하는 단계에서, 상기 제어모듈은, 상기 테스트 영역에 저장된 에러 정정 가능 데이터(Correctable Error)에 접근하여 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지 체크할 수 있다. In the present invention, in the step of diagnosing whether the ECC module operates normally, the control module accesses the correctable error data stored in the test area to check whether the error detection function of the ECC module operates properly. can
본 발명은 상기 ECC 모듈의 정상 동작 여부를 진단하는 단계에서, 상기 제어모듈은, 상기 테스트 영역에 저장된 에러 정정 불가능 데이터(Uncorrectable Error)에 접근하여 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지 체크할 수 있다. In the present invention, in the step of diagnosing whether the ECC module operates normally, the control module accesses the uncorrectable error data stored in the test area to check whether the error detection function of the ECC module operates properly. can
본 발명의 일 실시예에 따른 플래시 메모리 ECC 모듈의 진단 장치 및 방법은 플래시 메모리의 에러 감지 로직인 ECC 모듈의 정상 동작 여부를 진단함으로써, ECC 모듈에 대한 신뢰성을 높일 수 있다. The apparatus and method for diagnosing a flash memory ECC module according to an embodiment of the present invention can improve reliability of the ECC module by diagnosing whether the ECC module, which is an error detection logic of a flash memory, operates normally.
한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.On the other hand, the effects of the present invention are not limited to the above-mentioned effects, and various effects may be included within the range obvious to those skilled in the art from the description below.
도 1은 본 발명의 일 실시예에 따른 플래시 메모리 ECC 모듈의 진단 장치를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 플래시 메모리의 구성을 설명하기 위한 예시도이다.
도 3은 본 발명의 일 실시예에 따른 ECC 비교기의 테스트를 설명하기 위한 예시도이다.
도 4는 본 발명의 일 실시예에 따른 플래시 메모리 ECC 모듈의 진단 방법을 설명하기 위한 흐름도이다.1 is a diagram illustrating an apparatus for diagnosing a flash memory ECC module according to an embodiment of the present invention.
2 is an exemplary diagram for explaining the configuration of a flash memory according to an embodiment of the present invention.
3 is an exemplary diagram for explaining a test of an ECC comparator according to an embodiment of the present invention.
4 is a flowchart illustrating a method for diagnosing a flash memory ECC module according to an embodiment of the present invention.
이하, 첨부된 도면들을 참조하여 본 발명의 일 실시예에 따른 플래시 메모리 ECC 모듈의 진단 장치 및 방법을 설명한다. 이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, an apparatus and method for diagnosing a flash memory ECC module according to an embodiment of the present invention will be described with reference to the accompanying drawings. In this process, the thickness of the lines or the size of the components shown in the drawings may be exaggerated for clarity and convenience of explanation. In addition, the terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of the user or operator. Therefore, definitions of these terms should be made based on the content throughout this specification.
본 명세서에서 설명된 구현은, 예컨대, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의(예컨대, 방법으로서만 논의)되었더라도, 논의된 특징의 구현은 또한 다른 형태(예컨대, 장치 또는 프로그램)로도 구현될 수 있다. 장치는 적절한 하드웨어, 소프트웨어 및 펌웨어 등으로 구현될 수 있다. 방법은, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍가능한 로직 디바이스 등을 포함하는 프로세싱 디바이스를 일반적으로 지칭하는 프로세서 등과 같은 장치에서 구현될 수 있다. 프로세서는 또한 최종-사용자 사이에 정보의 통신을 용이하게 하는 컴퓨터, 셀 폰, 휴대용/개인용 정보 단말기(personal digital assistant: "PDA") 및 다른 디바이스 등과 같은 통신 디바이스를 포함한다.Implementations described herein may be implemented in, for example, a method or process, an apparatus, a software program, a data stream, or a signal. Although discussed only in the context of a single form of implementation (eg, discussed only as a method), implementations of the discussed features may also be implemented in other forms (eg, as an apparatus or program). The apparatus may be implemented in suitable hardware, software and firmware, and the like. A method may be implemented in an apparatus such as, for example, a processor, which generally refers to a computer, a microprocessor, a processing device, including an integrated circuit or programmable logic device, and the like. Processors also include communication devices such as computers, cell phones, portable/personal digital assistants (“PDA”) and other devices that facilitate communication of information between end-users.
도 1은 본 발명의 일 실시예에 따른 플래시 메모리 ECC 모듈의 진단 장치를 나타낸 도면, 도 2는 본 발명의 일 실시예에 따른 플래시 메모리의 구성을 설명하기 위한 예시도, 도 3은 본 발명의 일 실시예에 따른 ECC 비교기의 테스트를 설명하기 위한 예시도이다. 1 is a diagram illustrating a diagnostic apparatus for a flash memory ECC module according to an embodiment of the present invention, FIG. 2 is an exemplary view for explaining the configuration of a flash memory according to an embodiment of the present invention, and FIG. 3 is a diagram of the present invention It is an exemplary diagram for explaining the test of the ECC comparator according to an embodiment.
도 1을 참조하면, 본 발명의 일 실시예에 따른 플래시 메모리 ECC 모듈의 진단 장치는 적어도 하나의 플래시 메모리(110a, 110b, .., 100n, 이하 '110'이라 칭함)를 포함하는 플래시 메모리 모듈(100), 플래시 메모리 모듈(100)에 액세스하도록 구성된 플래시 메모리 제어기(200)를 포함할 수 있다. Referring to FIG. 1 , an apparatus for diagnosing a flash memory ECC module according to an embodiment of the present invention is a flash memory module including at least one
플래시 메모리 모듈(100)은 복수의 플래시 메모리(110)를 포함하고, 각 플래시 메모리(110)는 데이터 영역(112) 및 테스트 영역(114)을 포함할 수 있다. The
데이터 영역(112)에는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 프로그램은 커널, 미들웨어, 어플리케이션, 프로그래밍 인터페이스(API), 및/또는 어플리케이션 프로그램 등을 포함할 수 있다. 커널, 미들웨어 또는 API의 적어도 일부는 운영 시스템(OS)으로 지칭될 수 있다. The
또한, 데이터 영역(112)에는 ECC 모듈(210)의 자가 진단을 위한 기준 데이터(Reference Data)가 저장될 수 있다. In addition, reference data for self-diagnosis of the
테스트 영역(114)에는 데이터 영역(112)에 저장된 기준 데이터에 대해 에러를 발생시킨 테스트 데이터가 저장될 수 있다. 여기서 테스트 데이터는 정상 데이터(즉, 기준 데이터), 기준 데이터(정상 데이터)의 1비트 또는 2비트를 플립(Flip)시킨 에러 정정 가능 데이터(Correctable Error) 및 기준 데이터(정상 데이터)의 3비트를 플립(Flip)시킨 에러 정정 불가능 데이터(Uncorrectable Error)를 포함할 수 있다. Test data that generates an error with respect to the reference data stored in the
예를 들면, 데이터 영역(112) 및 테스트 영역(114)에는 도 2에 도시된 바와 같이 기준 데이터 및 테스트 데이터가 저장될 수 있다. For example, reference data and test data may be stored in the
플래시 메모리 제어기(200)는 호스트(미도시)의 요청에 응답하여 플래시 메모리(110)에 대한 읽기, 쓰기, 소거 동작 등을 제어한다. The
플래시 메모리 제어기(200)는 ECC(Error Correction Code) 모듈(210), 램(RAM, 220) 및 제어모듈(230)을 포함할 수 있다. The
ECC 모듈(210)은 플래시 메모리(110)로부터 수신한 데이터의 페일 비트(fail bit) 또는 에러 비트(error bit)를 정정하기 위한 에러 정정 코드(ECC; Error Correction Code)를 생성한다. ECC 모듈(210)은 플래시 메모리(110)로 제공되는 데이터의 에러 정정 인코딩을 수행하여, 패리티(parity) 비트가 부가된 데이터를 형성한다. 패리티 비트는 플래시 메모리(110)에 저장될 수 있다. The
한편, ECC 모듈(210)은 플래시 메모리(110)로부터 출력된 데이터에 대하여 에러 정정 디코딩을 수행할 수 있다. ECC 모듈(210)은 패리티(parity)를 사용하여 에러를 정정할 수 있다. ECC 모듈(210)은 LDPC(low density parity check) code, BCH code, turbo code, 리드-솔로몬 코드(Reed-Solomon code), convolution code, RSC(recursive systematic code), TCM(trellis-coded modulation), BCM(Block coded modulation) 등의 코디드 모듈레이션(coded modulation)을 사용하여 에러를 정정할 수 있다. Meanwhile, the
ECC 모듈(210)은 내부에 적어도 하나 이상의 ECC 비교기를 포함하고 있으며, 제어모듈(230)은 ECC 모듈(210)의 자가진단을 위한 프로그램(또는 알고리즘)에 기초하여 테스트 모드와 파워트레인 제어 모드를 선택한다. 이에 따라 테스트 모드에서의 테스트 동작이 파워트레인 제어에 영향을 미치지 않도록 한다. The
램(220)은 제어모듈(230)의 제어에 따라 동작하며, 워크 메모리(work memory), 버퍼 메모리(buffer memory), 캐시 메모리(cache memory) 등으로 사용될 수 있다. 램(220)이 워크 메모리로 사용되는 경우에, 제어모듈(230)에 의해서 처리되는 데이터가 임시 저장된다. 램(220)이 버퍼 메모리로 사용되는 경우에는, 호스트에서 플래시 메모리(110)로 또는 플래시 메모리(110)에서 호스트로 전송될 데이터를 버퍼링하는 데 사용된다. 램(220)이 캐시 메모리로 사용되는 경우에는 저속의 플래시 메모리(110)가 고속으로 동작하도록 한다. The
제어모듈(230)은 ECC 모듈(210)의 정상 동작 여부를 진단할 수 있다. The
참고로 멀티 코어 시스템에서 ECC 모듈(210)의 정상 동작 여부 진단을 위해서는 해당 램(220)과 연동되는 코어를 정지(또는 아이들)시킨 상태에서 테스트를 수행해야 한다. 따라서 제어모듈(230)은 ECC 모듈(210)의 정상 여부 진단을 위해서 해당 램(220)에 연동하여 동작하는 해당 코어를 정지(또는 아이들)시킨 후, 테스트가 완료되면 정지(또는 아이들)시켰던 해당 코어를 다시 구동(RUN)시킬 수 있다. For reference, in order to diagnose whether the
제어모듈(230)은 ECC 모듈(210)의 ECC 비교기 테스트 및 플래시 메모리(110)의 테스트 영역(114) 테스트에 기초하여 ECC 모듈(210)의 정상 여부를 진단할 수 있다.The
제어모듈(230)은 도 3에 도시된 ECC 비교기의 테스트를 수행하여 ECC 모듈(210)의 에러 검출 기능이 제대로 동작하는지 검사할 수 있다. 즉, 제어모듈(230)은 ECC 비교기의 테스트 비트 입력 포트에 오류를 발생시킬 수 있도록 지정된 값(예 : 1)을 오아(OR) 입력(이때 입력 포트를 통해 입력되는 입력 데이터는 모두 정상 데이터가 입력됨)하는 ECC 비교기 테스트를 통해 ECC 모듈(210)의 에러 검출 기능이 제대로 동작하는지 검사할 수 있다. The
또한, 제어모듈(230)은 플래시 메모리(110)의 테스트 영역(114)에 접근하여 ECC 모듈(210)의 에러 검출 기능이 제대로 동작하는지 검사할 수 있다. In addition, the
구체적으로, 제어모듈(230)은 테스트 영역(114)에 저장(flash)된 에러 정정 가능 데이터(Correctable Error)에 접근하여 에러 검출 기능이 제대로 동작하는지 체크할 수 있다. 즉, 제어모듈(230)은 테스트 영역(114)의 에러 정정 가능 데이터(Correctable Error)를 리드(read)하여 오류 발생으로 검출되는지를 체크할 수 있다. 이때, 테스트 영역(114)의 에러 정정 가능 데이터를 리드한 결과 오류 발생으로 검출되면, 제어모듈(230)은 ECC 모듈(210)을 정상으로 판단할 수 있다. 만약, 테스트 영역(114)의 에러 정정 가능 데이터를 리드한 결과 오류 발생으로 검출되지 않으면, 제어모듈(230)은 ECC 모듈(210)이 정상적으로 동작하지 않은 것으로 판단할 수 있다. Specifically, the
또한, 제어모듈(230)은 테스트 영역(114)에 저장(flash)된 에러 정정 불가능 데이터(Uncorrectable Error)에 접근하여 에러 검출 기능이 제대로 동작하는지 체크할 수 있다. 즉, 제어모듈(230)은 테스트 영역(114)의 에러 정정 불가능 데이터(Uncorrectable Error)를 리드(read)하여 에러 발생으로 검출되는지를 체크할 수 있다. 이때, 테스트 영역(114)의 에러 정정 불가능 데이터를 리드한 결과 오류 발생으로 검출되면, 제어모듈(230)은 ECC 모듈(210)을 정상으로 판단할 수 있다. 만약, 테스트 영역(114)의 에러 정정 불가능 데이터를 리드한 결과 오류 발생으로 검출되지 않으면, 제어모듈(230)은 ECC 모듈(210)이 정상적으로 동작하지 않은 것으로 판단할 수 있다. Also, the
ECC 비교기 테스트 및 플래시 메모리(110)의 테스트 영역 테스트에서 정상적으로 에러가 검출되면, 제어모듈(230)은 ECC 모듈(210)을 정상으로 진단할 수 있다. When an error is normally detected in the ECC comparator test and the test area test of the
만약, ECC 비교기 테스트 및 플래시 메모리(110)의 테스트 영역 테스트에서 정상적으로 에러가 검출되지 않으면, 제어모듈(230)은 ECC 모듈(210)이 정상적으로 동작하지 않은 것으로 판단하여 리셋을 발생시켜, 플래시 메모리 제어기(200)가 구동되지 못하도록 할 수 있다. 플래시 메모리 제어기(200)가 리셋 되면, 제어모듈(230)은 ECC 모듈(210)의 ECC 비교기 테스트 및 플래시 메모리(110)의 테스트 영역 테스트를 재수행하여 ECC 모듈(210)의 정상 여부를 재진단 할 수 있다.If an error is not normally detected in the ECC comparator test and the test area test of the
한편, 플래시 메모리(110)의 테스트 영역 테스트 시, 제어모듈(230)은 테스트 영역(114)의 테스트 데이터를 이용하기 때문에 테스트 데이터에 대한 신뢰성이 보장되어야 한다. 이에, 제어모듈(230)은 ECC 모듈(210)의 정상 여부를 진단하기 전에, 데이터 영역(112)의 기준 데이터와 텍스트 영역의 테스트 데이터를 비교하여, 테스트 영역(114)의 테스트 데이터가 정상적으로 저장되어 있는지를 체크할 수 있다. 이때, 제어모듈(230)은 정상적인 ECC값을 지닌 정상 데이터를 테스트 영역(114)에 배치하고, 매 런타임(RunTime)마다 테스트 영역(114)의 정상 데이터와 데이터 영역(112)의 기준 데이터를 비교하여 테스트 영역(114)의 테스트 데이터가 정상적으로 저장되어 있는지를 체크할 수 있다. 그 체크결과 테스트 데이터가 정상적으로 저장되어 있지 않으면, 제어모듈(230)은 기준 데이터에 대해 에러를 발생시킨 테스트 데이터를 생성하여 테스트 영역(114)에 저장(flash)시킬 수 있다.Meanwhile, when testing the test area of the
또한, 제어모듈(230)은 플래시 메모리(110)에 저장된 데이터를 대상으로 테스트를 진행하기 때문에, 테스트를 위한 SW코드가 플래시 메모리(110)에 위치하여 수행될 경우, 신뢰성 확보가 되지 않을 수 있다. 이에, 제어모듈(230)은 플래시 메모리(110)에 위치한 테스트 SW코드를 램(220)으로 업로드하고, 램(220)에 위치한 테스트 SW코드를 통해 ECC 모듈(210)의 정상 여부를 진단할 수 있다. 이때, 램(220)에 업로드된 테스트 SW코드의 신뢰성은 테스트 SW코드의 실행 전, CRC 검사를 통해 테스트 SW코드의 정합성을 보증할 수 있다. In addition, since the
또한 제어모듈(230)은 ECC 비교기 테스트 및 플래시 메모리(110)의 테스트 영역 테스트를 수행하기 전에 테스트를 위한 초기화를 수행할 수 있다. 여기서, 초기화는 테스트를 수행하기 위한 테스트 모드에서의 테스트 동작이 마이크로컨트롤러(MCU)의 파워트레인 제어에 영향을 미치지 않도록 하기 위한 설정, 및 멀티코어 시스템에서 테스트 환경을 설정하기 위한 코어의 정지(Idle) 및 ECC 모듈(210)에 대한 설정을 포함할 수 있다. 즉, 플래시 메모리(110) 특성상, 전자제어장치(ECU)를 제어하는데 있어 실시간으로 사용되고, 플래시 메모리(110)는 램(220)과 다르게 값을 가변할 수 없어 write/erase가 실시간으로 불가능하기 때문에, 제어 중에 ECC 모듈(210)의 자가진단이 불가능한 제약사항이 발생한다. 이에, 제어모듈(230)은 ECC 모듈(210)의 자가진단 전에 초기화를 수행할 수 있다. 제어모듈(230)은 ECC 모듈(210)의 진단이 모두 완료되면, 진단 결과를 출력하고, 진단을 위해 설정한 초기화를 해제할 수 있다. In addition, the
한편, 제어모듈(230)은 플래시 메모리(110)에 대한 전반적인 동작(예를 들면, 읽기, 쓰기, 파일 시스템 관리, 배드 페이지 관리 등)을 제어할 수 있다. 제어모듈(230)에는 중앙처리장치(CPU), 프로세서(processor), 에스램, DMA 제어기 등이 포함될 수 있다. Meanwhile, the
상술한 바와 같이 플래시 메모리 ECC 모듈(210)의 진단 장치는 ECC 모듈(210)의 기능에 대한 신뢰도를 높이기 위해, 각 Driving Cycle 마다 ECC 모듈(210)의 활성화 전에 ECC 모듈(210) 자체에 대한 에러발생 및 실제 ECC 에러 발생 테스트를 함으로써, ECC 모듈(210)에 대한 신뢰성을 높일 수 있다. As described above, in order to increase the reliability of the function of the
도 4는 본 발명의 일 실시예에 따른 플래시 메모리 ECC 모듈의 진단 방법을 설명하기 위한 흐름도이다. 4 is a flowchart illustrating a method for diagnosing a flash memory ECC module according to an embodiment of the present invention.
도 4를 참조하면, 제어모듈(230)은 멀티코어 시스템에서 테스트 환경을 설정하기 위한 코어에 대한 설정을 초기화한다(S402). 즉, 제어모듈(230)은 ECC 모듈(210)의 정상 여부를 진단하기 위해 코어를 동기화시키고, 해당 램(220)에 연동하여 동작하는 해당 코어를 정지(또는 아이들)시킬 수 있다. Referring to FIG. 4 , the
S402 단계가 수행되면, 제어모듈(230)은 플래시 메모리(110)의 테스트 영역(114)에 테스트 데이터가 정상적으로 저장되어 있는지를 판단한다(S404).When step S402 is performed, the
S404 단계의 판단결과, 테스트 데이터가 정상적으로 저장되어 있으면, 제어모듈(230)은 기 지정된 설정에 따라 ECC 모듈(210)의 테스트를 위한 초기화를 실시한다(S406). 예컨대 테스트 모드에서의 테스트 동작이 파워트레인 제어에 영향을 미치지 않도록 하기 위한 설정(예 : 인터럽트, 트랩 백업 등), 및 멀티코어 시스템에서 테스트 환경을 설정하기 위한 코어(예 : 코어 Idle) 및 ECC 모듈(210)에 대한 설정을 포함할 수 있다. As a result of the determination in step S404, if the test data is normally stored, the
S406 단계가 수행되면, 제어모듈(230)은 ECC 비교기의 테스트를 수행하여(S408), ECC 모듈(210)의 에러 검출 기능이 제대로 동작하는지 판단한다(S410). 즉, 제어모듈(230)은 ECC 비교기의 테스트 비트 입력 포트에 오류를 발생시킬 수 있도록 지정된 값(예 : 1)을 오아(OR) 입력(이때 입력 포트를 통해 입력되는 입력 데이터는 모두 정상 데이터가 입력됨)하는 ECC 비교기 테스트를 통해 ECC 모듈(210)의 에러 검출 기능이 제대로 동작하는지 검사할 수 있다. When step S406 is performed, the
S410 단계의 판단결과, ECC 모듈(210)의 에러 검출 기능이 제대로 동작하면, 제어모듈(230)은 테스트 영역(114)에 저장된 에러 정정 가능 데이터(Correctable Error)에 접근하여(S412), 에러 검출 기능이 제대로 동작하는지 판단한다(S414). 즉, 제어모듈(230)은 테스트 영역(114)의 에러 정정 가능 데이터(Correctable Error)에 접근하여 오류 발생으로 검출되는지를 체크할 수 있다. 이때, 테스트 영역(114)의 에러 정정 가능 데이터에 접근한 결과 오류 발생으로 검출되면, 제어모듈(230)은 ECC 모듈(210)을 정상으로 판단할 수 있다. 만약, 테스트 영역(114)의 에러 정정 가능 데이터에 접근한 결과 오류 발생으로 검출되지 않으면, 제어모듈(230)은 ECC 모듈(210)이 정상적으로 동작하지 않은 것으로 판단할 수 있다. As a result of the determination in step S410 , if the error detection function of the
S414 단계의 판단결과 테스트 영역(114)의 에러 정정 가능 데이터에 접근한 결과 오류 발생으로 검출되면, 제어모듈(230)은 테스트 영역(114)의 에러 정정 불가능 데이터(Uncorrectable Error)에 접근하여(S416), 에러 검출 기능이 제대로 동작하는지 판단한다(S418). 즉, 제어모듈(230)은 테스트 영역(114)의 에러 정정 불가능 데이터(Uncorrectable Error)에 접근하여 에러 발생으로 검출되는지를 체크할 수 있다. 이때, 테스트 영역(114)의 에러 정정 불가능 데이터에 접근한 결과 오류 발생으로 검출되면, 제어모듈(230)은 ECC 모듈(210)을 정상으로 판단할 수 있다. 만약, 테스트 영역(114)의 에러 정정 불가능 데이터에 접근한 결과 오류 발생으로 검출되지 않으면, 제어모듈(230)은 ECC 모듈(210)이 정상적으로 동작하지 않은 것으로 판단할 수 있다. As a result of the determination in step S414, if it is detected that an error occurs as a result of accessing the error correctable data of the
S418 단계의 판단결과, 테스트 영역(114)의 에러 정정 불가능 데이터에 접근한 결과 오류 발생으로 검출되면, 제어모듈(230)은 ECC 모듈(210)을 정상으로 판단하고(S420), ECC 모듈(210) 테스트를 위해 설정한 초기화를 해제한다(S422).As a result of the determination of step S418, if it is detected that an error occurs as a result of accessing the error correction impossible data of the
만약, S404 단계의 판단결과, 테스트 데이터가 정상적으로 저장되어 있지 않으면, 제어모듈(230)은 기준 데이터에 대해 에러를 발생시킨 테스트 데이터를 생성하여 테스트 영역(114)에 저장하고(S424), S406 단계를 수행할 수 있다. If, as a result of the determination in step S404, the test data is not normally stored, the
만약, S410 단계의 판단결과, ECC 모듈(210)의 에러 검출 기능이 제대로 동작하지 않으면, 제어모듈(230)은 플래시 메모리 제어기(200)를 리셋을 발생시킨다(S426). 플래시 메모리 제어기(200)가 리셋 되면, 제어모듈(230)은 ECC 모듈(210)의 ECC 비교기 테스트 및 플래시 메모리(110)의 테스트 영역 테스트를 재수행하여 ECC 모듈(210)의 정상 여부를 재진단 할 수 있다.If, as a result of the determination in step S410 , the error detection function of the
만약, S414 단계의 판단결과 테스트 영역(114)의 에러 정정 가능 데이터에 접근한 결과 오류 발생으로 검출되지 않으면, 제어모듈(230)은 플래시 메모리 제어기(200)를 리셋을 발생시킨다(S426). If, as a result of the determination in step S414 , when the error correctable data of the
S418 단계의 판단결과, 테스트 영역(114)의 에러 정정 불가능 데이터에 접근한 결과 오류 발생으로 검출되지 않으면, 제어모듈(230)은 플래시 메모리 제어기(200)를 리셋을 발생시킨다(S426). As a result of the determination in step S418 , if it is not detected that an error has occurred as a result of accessing the data that cannot be corrected for error in the
상술한 바와 같이, 본 발명의 일 실시예에 따른 플래시 메모리 ECC 모듈(210)의 진단 장치 및 방법은 플래시 메모리의 에러 감지 로직인 ECC 모듈(210)의 정상 동작 여부를 진단함으로써, ECC 모듈(210)에 대한 신뢰성을 높일 수 있다. As described above, in the apparatus and method for diagnosing the flash
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.Although the present invention has been described with reference to the embodiment shown in the drawings, this is merely an example, and those skilled in the art to which various modifications and equivalent other embodiments are possible. will understand
따라서 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다.Accordingly, the true technical protection scope of the present invention should be defined by the following claims.
100 : 플래시 메모리 모듈
110 : 플래시 메모리
200 : 플래시 메모리 제어기
210 : ECC 모듈
220 : 램
230 : 제어모듈100: flash memory module
110: flash memory
200: flash memory controller
210: ECC module
220: ram
230: control module
Claims (17)
상기 플래시 메모리 모듈에 액세스하도록 구성된 플래시 메모리 제어기를 포함하고,
상기 플래시 메모리 제어기는,
상기 플래시 메모리의 에러를 검출하는 ECC(Error Correction Code) 모듈; 및
상기 ECC 모듈의 ECC 비교기 테스트 및 상기 플래시 메모리의 테스트 영역 테스트에 기초하여 상기 ECC 모듈의 정상 동작 여부를 진단하는 제어모듈을 포함하고,
상기 플래시 메모리는,
상기 데이터 영역에 기준 데이터(Reference Data)가 저장되고,
상기 테스트 영역에 상기 기준 데이터에 대해 에러를 발생시킨 테스트 데이터가 저장되는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 장치.
a flash memory module including at least one flash memory divided into a data area and a test area; and
a flash memory controller configured to access the flash memory module;
The flash memory controller,
an ECC (Error Correction Code) module for detecting an error of the flash memory; and
a control module for diagnosing whether the ECC module operates normally based on the ECC comparator test of the ECC module and the test area test of the flash memory;
The flash memory is
Reference data is stored in the data area,
The diagnostic apparatus of a flash memory ECC module, wherein test data that generates an error with respect to the reference data is stored in the test area.
상기 플래시 메모리 모듈에 액세스하도록 구성된 플래시 메모리 제어기를 포함하고,
상기 플래시 메모리 제어기는,
상기 플래시 메모리의 에러를 검출하는 ECC(Error Correction Code) 모듈; 및
상기 ECC 모듈의 ECC 비교기 테스트 및 상기 플래시 메모리의 테스트 영역 테스트에 기초하여 상기 ECC 모듈의 정상 동작 여부를 진단하는 제어모듈을 포함하고,
상기 제어모듈은,
상기 테스트 영역에 저장된 에러 정정 불가능 데이터(Uncorrectable Error)에 접근하여 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지 체크하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 장치.
a flash memory module including at least one flash memory divided into a data area and a test area; and
a flash memory controller configured to access the flash memory module;
The flash memory controller,
an ECC (Error Correction Code) module for detecting an error of the flash memory; and
a control module for diagnosing whether the ECC module operates normally based on the ECC comparator test of the ECC module and the test area test of the flash memory;
The control module is
The diagnostic apparatus of a flash memory ECC module, characterized in that it accesses uncorrectable error data stored in the test area and checks whether an error detection function of the ECC module operates properly.
상기 테스트 데이터는,
상기 기준 데이터의 1비트 또는 2비트를 플립(Flip)시킨 에러 정정 가능 데이터(Correctable Error) 및 상기 기준 데이터의 3비트를 플립(Flip)시킨 에러 정정 불가능 데이터(Uncorrectable Error)를 포함하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 장치.
According to claim 1,
The test data is
and error-correctable data obtained by flipping 1 bit or 2 bits of the reference data (Correctable Error) and error-correctable data obtained by flipping 3 bits of the reference data (Uncorrectable Error). A diagnostic device for flash memory ECC modules.
상기 제어모듈은,
상기 ECC 비교기의 테스트 비트 입력 포트에 오류를 발생시킬 수 있도록 지정된 값을 오아(OR) 입력하는 ECC 비교기 테스트를 통해 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지를 체크하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 장치.
According to claim 1,
The control module is
Flash memory ECC module, characterized in that it is checked whether the error detection function of the ECC module operates properly through an ECC comparator test in which a specified value is ORed to generate an error in the test bit input port of the ECC comparator of diagnostic devices.
상기 플래시 메모리 모듈에 액세스하도록 구성된 플래시 메모리 제어기를 포함하고,
상기 플래시 메모리 제어기는,
상기 플래시 메모리의 에러를 검출하는 ECC(Error Correction Code) 모듈; 및
상기 ECC 모듈의 ECC 비교기 테스트 및 상기 플래시 메모리의 테스트 영역 테스트에 기초하여 상기 ECC 모듈의 정상 동작 여부를 진단하는 제어모듈을 포함하고,
상기 제어모듈은,
상기 테스트 영역에 저장된 에러 정정 가능 데이터(Correctable Error)에 접근하여 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지 체크하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 장치.
a flash memory module including at least one flash memory divided into a data area and a test area; and
a flash memory controller configured to access the flash memory module;
The flash memory controller,
an ECC (Error Correction Code) module for detecting an error of the flash memory; and
a control module for diagnosing whether the ECC module operates normally based on the ECC comparator test of the ECC module and the test area test of the flash memory;
The control module is
The diagnostic apparatus of the flash memory ECC module, characterized in that by accessing the correctable error data (Correctable Error) stored in the test area and checking whether the error detection function of the ECC module operates properly.
상기 제어모듈은,
상기 테스트 영역에 저장된 에러 정정 불가능 데이터(Uncorrectable Error)에 접근하여 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지 체크하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 장치.
6. The method of claim 5,
The control module is
The diagnostic apparatus of a flash memory ECC module, characterized in that it accesses uncorrectable error data stored in the test area and checks whether an error detection function of the ECC module operates properly.
상기 플래시 메모리 모듈에 액세스하도록 구성된 플래시 메모리 제어기를 포함하고,
상기 플래시 메모리 제어기는,
상기 플래시 메모리의 에러를 검출하는 ECC(Error Correction Code) 모듈; 및
상기 ECC 모듈의 ECC 비교기 테스트 및 상기 플래시 메모리의 테스트 영역 테스트에 기초하여 상기 ECC 모듈의 정상 동작 여부를 진단하는 제어모듈을 포함하고,
상기 제어모듈은,
상기 ECC 모듈의 정상 동작 여부를 진단하기 전에,
상기 데이터 영역의 기준 데이터와 상기 테스트 영역의 테스트 데이터를 비교하여, 상기 테스트 영역의 테스트 데이터가 정상적으로 저장되어 있는지를 체크하고, 상기 테스트 데이터가 정상적으로 저장되어 있지 않으면 상기 기준 데이터에 대해 에러를 발생시킨 테스트 데이터를 생성하여 상기 테스트 영역에 저장하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 장치.
a flash memory module including at least one flash memory divided into a data area and a test area; and
a flash memory controller configured to access the flash memory module;
The flash memory controller,
an ECC (Error Correction Code) module for detecting an error of the flash memory; and
a control module for diagnosing whether the ECC module operates normally based on the ECC comparator test of the ECC module and the test area test of the flash memory;
The control module is
Before diagnosing whether the ECC module operates normally,
By comparing the reference data of the data area with the test data of the test area, it is checked whether the test data of the test area is normally stored, and if the test data is not normally stored, an error is generated for the reference data. A diagnostic device for a flash memory ECC module, characterized in that the test data is generated and stored in the test area.
상기 제어모듈은,
상기 테스트 영역에 테스트 데이터가 정상적으로 저장된 경우, 초기화를 수행하고,
상기 초기화는, 상기 테스트를 수행하기 위한 테스트 모드에서의 테스트 동작이 마이크로컨트롤러(MCU)의 파워트레인 제어에 영향을 미치지 않도록 하기 위한 설정, 및 멀티코어 시스템에서 테스트 환경을 설정하기 위한 코어의 정지(Idle) 및 ECC 모듈에 대한 설정을 포함하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 장치.
8. The method of claim 7,
The control module is
When the test data is normally stored in the test area, initialization is performed,
The initialization includes setting so that the test operation in the test mode for performing the test does not affect the powertrain control of the microcontroller (MCU), and stopping the core for setting the test environment in the multi-core system ( Idle) and a diagnostic device of a flash memory ECC module, characterized in that it includes settings for the ECC module.
상기 제어모듈은,
상기 ECC 모듈의 진단이 모두 완료되면, 상기 진단 결과를 출력하고, 상기 진단을 위해 설정한 초기화를 해제하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 장치.
According to claim 1,
The control module is
When the diagnosis of the ECC module is completed, the diagnosis result is output and the initialization set for the diagnosis is released.
상기 테스트 데이터가 정상적으로 저장되어 있으면, 상기 제어모듈이 ECC 모듈의 ECC 비교기 테스트 및 상기 플래시 메모리의 테스트 영역 테스트에 기초하여 상기 ECC 모듈의 정상 동작 여부를 진단하는 단계를 포함하고,
상기 테스트 데이터가 정상적으로 저장되어 있지 않으면, 상기 제어모듈이 기준 데이터에 대해 에러를 발생시킨 테스트 데이터를 생성하여 상기 테스트 영역에 저장하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 방법.
determining, by the control module, whether test data is normally stored in a test area of the flash memory; and
diagnosing, by the control module, whether the ECC module operates normally based on the ECC comparator test of the ECC module and the test area test of the flash memory, if the test data is normally stored;
If the test data is not normally stored, the control module generates test data that generates an error with respect to reference data and stores the generated test data in the test area.
상기 판단하는 단계 이전에,
상기 제어모듈이 멀티코어 시스템에서 코어의 동기화 및 코어의 정지(Idle)를 포함하는 코어에 대한 설정을 초기화하는 단계를 더 포함하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 방법.
11. The method of claim 10,
Prior to the step of determining,
The method for diagnosing a flash memory ECC module, characterized in that the control module initializes the setting for the core including the synchronization of the core and the idle of the core in the multi-core system.
상기 테스트 데이터가 정상적으로 저장되어 있으면, 상기 제어모듈이 테스트를 위한 초기화를 수행하는 단계를 더 포함하고,
상기 초기화는, 상기 테스트를 수행하기 위한 테스트 모드에서의 테스트 동작이 마이크로컨트롤러(MCU)의 파워트레인 제어에 영향을 미치지 않도록 하기 위한 설정, 및 멀티코어 시스템에서 테스트 환경을 설정하기 위한 코어의 정지(Idle) 및 ECC 모듈에 대한 설정을 포함하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 방법.
11. The method of claim 10,
If the test data is normally stored, the control module further comprises the step of performing initialization for the test,
The initialization includes setting so that the test operation in the test mode for performing the test does not affect the powertrain control of the microcontroller (MCU), and stopping the core for setting the test environment in the multi-core system ( Idle) and a diagnostic method of a flash memory ECC module, characterized in that it includes a setting for the ECC module.
상기 테스트 데이터가 정상적으로 저장되어 있으면, 상기 제어모듈이 ECC 모듈의 ECC 비교기 테스트 및 상기 플래시 메모리의 테스트 영역 테스트에 기초하여 상기 ECC 모듈의 정상 동작 여부를 진단하는 단계를 포함하고,
상기 ECC 모듈의 정상 동작 여부를 진단하는 단계에서,
상기 제어모듈은, 상기 테스트 영역에 저장된 에러 정정 불가능 데이터(Uncorrectable Error)에 접근하여 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지 체크하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 방법.
determining, by the control module, whether test data is normally stored in a test area of the flash memory; and
diagnosing, by the control module, whether the ECC module operates normally based on the ECC comparator test of the ECC module and the test area test of the flash memory, if the test data is normally stored;
In the step of diagnosing whether the ECC module operates normally,
wherein the control module accesses uncorrectable error data stored in the test area and checks whether an error detection function of the ECC module operates properly.
상기 테스트 데이터는,
상기 기준 데이터의 1비트 또는 2비트를 플립(Flip)시킨 에러 정정 가능 데이터(Correctable Error) 및 상기 기준 데이터의 3비트를 플립(Flip)시킨 에러 정정 불가능 데이터(Uncorrectable Error)를 포함하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 방법.
11. The method of claim 10,
The test data is
and error-correctable data obtained by flipping 1 bit or 2 bits of the reference data (Correctable Error) and error-correctable data obtained by flipping 3 bits of the reference data (Uncorrectable Error). How to diagnose flash memory ECC module.
상기 ECC 모듈의 정상 동작 여부를 진단하는 단계에서,
상기 제어모듈은, 상기 ECC 비교기의 테스트 비트 입력 포트에 오류를 발생시킬 수 있도록 지정된 값을 오아(OR) 입력하는 ECC 비교기 테스트를 통해 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지를 체크하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 방법.
11. The method of claim 10,
In the step of diagnosing whether the ECC module operates normally,
The control module checks whether the error detection function of the ECC module operates properly through an ECC comparator test in which a specified value is ORed to generate an error in the test bit input port of the ECC comparator. How to diagnose flash memory ECC module.
상기 테스트 데이터가 정상적으로 저장되어 있으면, 상기 제어모듈이 ECC 모듈의 ECC 비교기 테스트 및 상기 플래시 메모리의 테스트 영역 테스트에 기초하여 상기 ECC 모듈의 정상 동작 여부를 진단하는 단계를 포함하고,
상기 ECC 모듈의 정상 동작 여부를 진단하는 단계에서,
상기 제어모듈은, 상기 테스트 영역에 저장된 에러 정정 가능 데이터(Correctable Error)에 접근하여 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지 체크하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 방법.
determining, by the control module, whether test data is normally stored in a test area of the flash memory; and
diagnosing, by the control module, whether the ECC module operates normally based on the ECC comparator test of the ECC module and the test area test of the flash memory, if the test data is normally stored;
In the step of diagnosing whether the ECC module operates normally,
and the control module accesses correctable error data stored in the test area and checks whether an error detection function of the ECC module operates properly.
상기 ECC 모듈의 정상 동작 여부를 진단하는 단계에서,
상기 제어모듈은, 상기 테스트 영역에 저장된 에러 정정 불가능 데이터(Uncorrectable Error)에 접근하여 상기 ECC 모듈의 에러 검출 기능이 제대로 동작하는지 체크하는 것을 특징으로 하는 플래시 메모리 ECC 모듈의 진단 방법.17. The method of claim 16,
In the step of diagnosing whether the ECC module operates normally,
wherein the control module accesses uncorrectable error data stored in the test area and checks whether an error detection function of the ECC module operates properly.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020200174600A KR102418060B1 (en) | 2020-12-14 | 2020-12-14 | Apparatus and method for diagnosing error correction code of flash memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020200174600A KR102418060B1 (en) | 2020-12-14 | 2020-12-14 | Apparatus and method for diagnosing error correction code of flash memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20220085100A KR20220085100A (en) | 2022-06-22 |
| KR102418060B1 true KR102418060B1 (en) | 2022-07-07 |
Family
ID=82216308
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020200174600A Active KR102418060B1 (en) | 2020-12-14 | 2020-12-14 | Apparatus and method for diagnosing error correction code of flash memory |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102418060B1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117234789B (en) * | 2023-09-07 | 2024-07-16 | 上海合芯数字科技有限公司 | Verification and error correction method and device, electronic equipment and storage medium |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110258515A1 (en) | 2006-06-26 | 2011-10-20 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory Having an ECC System |
| KR101899343B1 (en) | 2016-10-07 | 2018-09-17 | 고려대학교 산학협력단 | Apparatus for managing Phase Change Memory using error detection and error correction code and method thereof |
| KR102131230B1 (en) * | 2018-11-26 | 2020-07-08 | 현대오트론 주식회사 | Method for self diagnosis of ram error detection logic in powertrain ecu system and apparatus thereof |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3199021B2 (en) * | 1998-03-19 | 2001-08-13 | 日本電気株式会社 | Semiconductor memory device, method of inspecting and using semiconductor memory device |
| KR101507975B1 (en) * | 2007-09-19 | 2015-04-06 | 마벨 월드 트레이드 리미티드 | Flexible sequencer design architecture for solid state memory controller |
| US20110041005A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System |
| KR102794994B1 (en) * | 2018-11-13 | 2025-04-15 | 에스케이하이닉스 주식회사 | Memory system and test system |
-
2020
- 2020-12-14 KR KR1020200174600A patent/KR102418060B1/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110258515A1 (en) | 2006-06-26 | 2011-10-20 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory Having an ECC System |
| KR101899343B1 (en) | 2016-10-07 | 2018-09-17 | 고려대학교 산학협력단 | Apparatus for managing Phase Change Memory using error detection and error correction code and method thereof |
| KR102131230B1 (en) * | 2018-11-26 | 2020-07-08 | 현대오트론 주식회사 | Method for self diagnosis of ram error detection logic in powertrain ecu system and apparatus thereof |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20220085100A (en) | 2022-06-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7900100B2 (en) | Uncorrectable error detection utilizing complementary test patterns | |
| US7447948B2 (en) | ECC coding for high speed implementation | |
| JP5792380B2 (en) | Apparatus and method for providing data integrity | |
| US8645776B2 (en) | Run-time testing of memory locations in a non-volatile memory | |
| EP2438521B1 (en) | Object oriented memory in solid state devices | |
| US10684913B2 (en) | Systems and methods for detecting errors and/or restoring non-volatile random access memory using error correction code | |
| JP2014515537A (en) | Apparatus and method for providing data integrity | |
| KR101557572B1 (en) | Memory circuits, method for accessing a memory and method for repairing a memory | |
| CN114595090A (en) | Error correction method and device | |
| KR102131230B1 (en) | Method for self diagnosis of ram error detection logic in powertrain ecu system and apparatus thereof | |
| CN118466861B (en) | Storage area management method and storage device | |
| CN1971536A (en) | Correcting system and method of basic in-out system | |
| US11573853B2 (en) | Error checking data used in offloaded operations | |
| KR102418060B1 (en) | Apparatus and method for diagnosing error correction code of flash memory | |
| US20230026712A1 (en) | Generating system memory snapshot on memory sub-system with hardware accelerated input/output path | |
| US12499959B2 (en) | Testing parity and ECC logic using MBIST | |
| US11182231B2 (en) | Host system and computing system including the host system | |
| US11593209B2 (en) | Targeted repair of hardware components in a computing device | |
| US11831337B2 (en) | Semiconductor device and error detection methods | |
| CN112068985A (en) | NORFLASH memory ECC (error correction code) error detection and correction method and system with programming instruction identification function | |
| US12130727B2 (en) | Core dump in multiprocessor device | |
| WO2023093173A1 (en) | Memory hardware fault detection method and apparatus, and memory controller | |
| CN112052112A (en) | Bit flip error detection method, device and storage medium based on NOR Flash storage | |
| US12386701B2 (en) | Memory chips and operating methods thereof | |
| US20250328413A1 (en) | Panic handling for memory systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20201214 |
|
| PA0201 | Request for examination | ||
| PN2301 | Change of applicant |
Patent event date: 20211015 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20220125 Patent event code: PE09021S01D |
|
| PG1501 | Laying open of application | ||
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20220629 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220704 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20220704 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| PR1001 | Payment of annual fee |
Payment date: 20250624 Start annual number: 4 End annual number: 4 |