KR102669845B1 - SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법 - Google Patents

SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법 Download PDF

Info

Publication number
KR102669845B1
KR102669845B1 KR1020230159008A KR20230159008A KR102669845B1 KR 102669845 B1 KR102669845 B1 KR 102669845B1 KR 1020230159008 A KR1020230159008 A KR 1020230159008A KR 20230159008 A KR20230159008 A KR 20230159008A KR 102669845 B1 KR102669845 B1 KR 102669845B1
Authority
KR
South Korea
Prior art keywords
ecc
bus
error
module
memory
Prior art date
Application number
KR1020230159008A
Other languages
English (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 KR1020230159008A priority Critical patent/KR102669845B1/ko
Application granted granted Critical
Publication of KR102669845B1 publication Critical patent/KR102669845B1/ko

Links

Classifications

    • 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/1048Adding 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
    • 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
    • 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/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

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

Abstract

SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 장치 및 방법이 개시된다. 버스를 통해 전달되는 데이터에 대한 패리티를 생성하고 검출하는 패리티 생성 검출모듈과 상기 버스에서 전달받은 데이터 및 패리티 생성시 오류를 임의로 추가하는 오류 발생모듈을 포함하는 SoC 버스 오류 검출 모듈; 및 입력되는 데이터에 대해 ECC(error correction code) 인코딩을 수행하여 제1 ECC를 생성하는 제1 ECC 인코더 모듈, 상기 제1 ECC 인코더 모듈에 의해 생성된 제1 ECC가 저장되는 ECC 메모리, 상기 입력되는 데이터가 저장되는 데이터 메모리, 상기 데이터 메모리에 저장된 데이터에 대해 ECC 인코딩을 수행하여 제2 ECC를 생성하는 제2 ECC 인코더 모듈, 상기 ECC 메모리에 저장된 제1 ECC 및 상기 제2 ECC 인코더 모듈에서 생성된 제2 ECC를 대비하여 에러 발생 여부를 확인하는 에러 정정 모듈을 구비하는 SoC 메모리 에러 정정 모듈을 포함하는 상술한 SoC 버스 오류 정정 장치 및 방법에 의하면, SoC 버스 오류를 자체적으로 확인하고 정정하도록 구성됨으로써, SoC 버스 오류로 인한 SoC의 프로세스 효율성을 높이고 정확도를 높일 수 있는 효과가 있다.

Description

SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법{SYSTEM AND METHOD FOR DETECTING BUS ERROR AND CORRECTING MEMORY ERROR IN SYSTEM ON CHIP}
본 발명은 SoC버스 오류 검출과 메모리 오류 정정 장치 및 방법에 관한 것으로서, 좀 더 구체적으로는 SoC(System on Chip) 버스 오류 검출과 메모리 오류 정정이 가능한 SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법에 관한 것이다.
최근에는 반도체 칩 내에 프로세서(processor)와 메모리(memory) 등을 모두 포함하여 하나의 통합된 기능을 수행하는 시스템 온 칩(System on Chip, SoC)의 형태로 제작되는 경우가 많다.
시스템 온 칩의 경우 내부적으로는 데이터 인터페이스를 위한 여러 버스(bus)들이 구비되고, 그러한 내부 통신 프로세스에서 데이터 통신이나 메모리 의 오류가 발생할 여지도 많아질 수밖에 없다.
시스템 온 칩 내부에서의 데이터 통신 오류 및 메모리 오류를 검출하고 자체적으로 신속하고 정확하게 복구하여 시스템 온 칩의 기능의 효율성을 높일 수 있는 방안이 필요하다.
등록특허공보 10-1466694 등록특허공보 10-1517911
본 발명의 목적은 버스 오류 검출과 메모리 오류 정정 수행이 가능한 SoC 버스 오류 검출 및 메모리 오류 정정 장치를 제공하는 데 있다.
본 발명의 다른 목적은 SoC 버스 오류 검출과 메모리 오류 정정 방법을 제공하는 데 있다.
상술한 본 발명의 목적에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치는, 버스를 통해 전달되는 데이터에 대한 패리티를 생성하고 검출하는 패리티 생성검출모듈과 상기 버스에서 전달받은 데이터 및 패리티 생성시 오류를 임의로 추가하는 오류 발생모듈을 포함하는 SoC 버스 오류 검출 모듈; 및 입력되는 데이터에 대해 ECC(error correction code) 인코딩을 수행하여 제1 ECC를 생성하는 제1 ECC 인코더 모듈, 상기 제1 ECC 인코더 모듈에 의해 생성된 제1 ECC가 저장되는 ECC 메모리, 상기 입력되는 데이터가 저장되는 데이터 메모리, 상기 데이터 메모리에 저장된 데이터에 대해 ECC 인코딩을 수행하여 제2 ECC를 생성하는 제2 ECC 인코더 모듈, 상기 ECC 메모리에 저장된 제1 ECC 및 상기 제2 ECC 인코더 모듈에서 생성된 제2 ECC를 대비하여 에러 발생 여부를 확인하는 SoC 메모리 에러 정정 모듈을 포함할 수 있다.
상술한 본 발명의 목적에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치는, 상기 SoC 버스 오류 검출모듈의 오류 검출여부를 판단하는 세이프티 매니저 모듈; 및 상기 SoC 버스 오류 검출모듈의 오류 상황을 테스트 하기 위해 오류를 발생시키는 폴트 인젝터 모듈;을 포함할 수 있다.
상기 SoC 버스 오류 검출모듈은, 상기 폴트 인젝터 모듈과 연동하여 상기 버스에서 전달 받은 데이터에 오류를 임의로 추가해 실제 오류가 검출되는지 확인할 수 있는 버스데이터 오류 발생모듈; 및 상기 폴트 인젝터 모듈과 연동하여 패리티 비트를 생성할 때 임의로 오류를 추가해 전달받는 수신측에서 실제 오류가 검출되는 확인할 수 있는 패리티 오류 발생모듈;을 구비할 수 있다.
또한, 상기 SoC메모리 오류 정정 모듈은, 입력되는 데이터에 대해 ECC 인코딩을 수행하여 제1 ECC를 생성하는 제1 ECC 인코더 모듈; 상기 제1 ECC 인코더 모듈에 의해 생성된 제1 ECC가 저장되는 ECC 메모리; 상기 입력되는 데이터가 저장되는 데이터 메모리; 상기 데이터 메모리에 저장된 데이터에 대해 ECC 인코딩을 수행하여 제2 ECC를 생성하는 제2 ECC 인코더 모듈; 상기 ECC 메모리에 저장된 제1 ECC 및 상기 제2 ECC 인코더 모듈에서 생성된 제2 ECC를 대비하여 에러 발생 여부를 확인하는 에러 정정 모듈을 포함하도록 구성될 수 있다.
여기서, 상기 SoC메모리 오류 정정 모듈은, 상기 제1 ECC 및 상기 제2 ECC를 바이트 단위로 대비하여 에러 발생 여부를 확인하도록 구성될 수 있다.
그리고, SoC메모리 오류 정정 모듈은, 상기 에러 발생 여부의 확인 결과에 따라 해당 에러 비트를 정정하도록 구성될 수 있다.
그리고, SoC메모리 오류 정정 모듈은, 상기 에러가 1 비트에 대해 발생한 경우 정정하도록 구성될 수 있다.
그리고, 상기 ECC 메모리는 ECC SRAM으로 구성되고, 상기 데이터 메모리는 데이터 SRAM으로 구성될 수 있다.
상술한 본 발명의 다른 목적에 따른 SoC 버스 오류 검출과 메모리 오류 정정방법은, SoC 버스 오류 검출 모듈이 버스를 통해 전달되는 데이터에 대한 패리티를 생성하고 검출하면서 상기 버스에서 전달받은 데이터 및 패리티 생성시 오류를 임의로 추가하여 SoC 버스 오류를 검출하는 단계; SoC 메모리 에러 정정 모듈에서 제1 ECC 인코더 모듈이 입력되는 데이터에 대해 ECC 인코딩을 수행하여 제1 ECC를 생성하는 단계; 상기 ECC 메모리에 상기 제1 ECC 인코더 모듈에 의해 생성된 제1 ECC가 저장되는 단계; 데이터 메모리에 상기 입력되는 데이터가 저장되는 단계; 제2 ECC 인코더 모듈이 상기 데이터 메모리에 저장된 데이터에 대해 ECC 인코딩을 수행하여 제2 ECC를 생성하는 단계; 에러 정정 모듈이 상기 ECC 메모리에 저장된 제1 ECC 및 상기 제2 ECC 인코더 모듈에서 생성된 제2 ECC를 대비하여 에러 발생 여부를 확인하는 단계를 포함하도록 구성될 수 있다.
여기서, 상기 에러 정정 모듈이 상기 ECC 메모리에 저장된 제1 ECC 및 상기 제2 ECC 인코더 모듈에서 생성된 제2 ECC를 대비하여 에러 발생 여부를 확인하는 단계는, 상기 제1 ECC 및 상기 제2 ECC를 바이트 단위로 대비하여 에러 발생 여부를 확인하도록 구성될 수 있다.
그리고 상기 에러 정정 모듈이 상기 에러 발생 여부의 확인 결과에 따라 해당 에러 비트를 정정하는 단계를 더 포함하도록 구성될 수 있다.
그리고 상기 에러 정정 모듈이 상기 에러 발생 여부의 확인 결과에 따라 해당 에러 비트를 정정하는 단계는, 상기 에러가 1 비트에 대해 발생한 경우 정정하도록 구성될 수 있다.
그리고 상기 ECC 메모리는 ECC SRAM으로 구성되고, 상기 데이터 메모리는 데이터 SRAM으로 구성될 수 있다.
상술한 SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법에 의하면, SoC 버스 오류 검출 및 메모리 오류를 자체적으로 확인하고 정정하도록 구성됨으로써, SoC 버스 오류 및 메모리 오류로 인한 SoC의 프로세스 효율성을 높이고 정확도를 높일 수 있는 효과가 있다.
또한, SoC 버스를 통한 데이터 전송 중 발생하는 오류에 대해 검출하고 이를 확인하여 SoC 의 안정성을 높일 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치를 구성하는 SoC 메모리 버스 오류 검출 모듈을 개략적으로 나타내는 구성도이다.
도 3은 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치를 구성하는 SoC 메모리 오류 정정 모듈을 개략적으로 나타내는 블록 구성도이다.
도 4 내지 도 6은 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치를 개략적으로 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 방법을 개략적으로 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 발명을 실시하기 위한 구체적인 내용에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 SoC(System on Chip) 장치는 CPU(central processing unit)와 메모리로서 SRAM, ROM 등이 구비되며, 내부 버스(internal bus)로서 AHB(Advanced High performance Bus) 매트릭스(matrix)와 APB(Advanced Peripheral Bus) 매트릭스가 구비될 수 있다.
그리고 AHB 매트릭스와 APB 매트릭스 간의 인터페이스는 AHB2APB가 수행하도록 구성될 수 있다.
AHB 매트릭스는 상대적으로 고속/대용량의 인터페이스를 수행하여 SRAM이나 ROM과 연결되며, APB 매트릭스는 상대적으로 저속/저용량의 인터페이스를 수행하도록 구성되며, I2C, SPI(serial peripheral interface), UART(universal asynchronous receiver/transmitter), GPIO(general-purpose input/output), LIN(local interconnect network), WT, TIMER 등과 연결되도록 구성될 수 있다.
이러한 AHB 매트릭스와 APB 매트릭스를 통한 데이터 인터페이싱 과정에서는 데이터 통신 오류가 발생하거나 다른 오작동이 발생할 수 있다.
이때, 세이프티 매니저(safety manager)가 패리티(parity)나 ECC(error correction code)의 검출 결과를 모두 모아서 어디에서 ECC 에러나 패리티 에러가 났는지 확인하고 모니터링하도록 구성될 수 있다.
그리고 폴트 인젝터(fault injector)는 셀프 테스트를 위한 동작을 위해 구비될 수 있으며, 패리티가 제대로 체크되고 있는지를 확인하는 용도로 이용될 수 있다.
도 2 는 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치를 구성하는 SoC 메모리 버스 오류 검출 모듈을 개략적으로 나타내는 구성도이다.
도면을 참조하면, SoC 버스(System on Chip Bus) 오류 검출 및 메모리 오류 정정 장치(10)는 버스를 통해 전달되는 데이터에 대한 패리티를 생성하고 검출하는 패리티 생성검출모듈(11)과 상기 버스에서 전달받은 데이터 및 패리티 생성시 오류를 임의로 추가하는 오류 발생모듈(12,13)을 포함하는 SoC 버스 오류 검출 모듈(10)을 구비할 수 있다.
또한, 본 발명의 실시예에 따른 SoC 버스(System on Chip Bus) 오류 검출 및 메모리 오류 정정 장치(100)는, 후술하는 도 4 내지 도 5에서, 상기 SoC 버스 오류 검출모듈의 오류 검출여부를 판단하는 세이프티 매니저 모듈(14) 및 상기 SoC 버스 오류 검출모듈의 오류 상황을 테스트하기 위해 오류를 발생시키는 폴트 인젝터 모듈(15)을 포함할 수 있다.
한편, 본 발명의 실시예에 따르면, 상기 SoC 버스 오류 검출모듈(10)은, 도 2에 도시된 바와 같이, 상기 폴트 인젝터 모듈(15)과 연동하여 상기 버스에서 전달받은 데이터에 오류를 임의로 추가해 실제 오류가 검출되는지 확인할 수 있는 버스데이터 오류 발생모듈(12), 및 상기 폴트 인젝터 모듈(15)과 연동하여 패리티 비트를 생성할 때 임의로 오류를 추가해 전달받는 수신측에서 실제 오류가 검출되는 확인할 수 있는 패리티 오류 발생모듈(13)을 구비할 수 있다.
본 발명의 실시예에 따르면, 상기 세이프티 매니저 모듈(14)을 통해 검출 모듈의 결과를 모아 오류 검출 여부를 판단할 수 있는데, 전송 오류는 일반적인 실리콘 반도체 환경에서는 매우 낮은 확률로 발생하기 때문에, 본 발명에서는 이러한 낮은 확률로 발생하는 오류 상황을 테스트하기 위해 오류를 발생시키는 상기 폴트 인젝터 모듈(15)을 포함하도록 구성될 수 있다.
본 발명의 실시예에서, SoC 버스 오류 검출 과정은 다음과 같다.
데이터를 전송하는 장치는 전송되는 데이터에 대하여 패리티(parity)를 생성하여 데이터와 함께 전송한다. 전송된 데이터는 버스를 통해 전달이 된다. 수신 단은 전달된 데이터를 이용하여 패리티를 생성한다. 수신 단에서는 함께 전달된 패리티와 수신된 데이터를 통해 생성한 패리티를 비교한다. 두 패리티를 비교하여 동일하지 않으면 전송 중 오류가 발생한 것으로 간주하고, 세이프티 매니저 모듈(14)에 오류가 발생한 것을 알린다.
패리티(parity)의 생성은 마스터 AHB 모듈, 슬레이브 AHB 모듈 그리고 APB 모듈에서 데이터를 전송할 때 전송하는 데이터를 기준으로 생성한다.
폴트 인젝터 모듈(Fault Injector)는 전송 중 발생할 수 있는 오류를 테스트하기 위해 생성된 Parity 의 전송 중에 오류를 삽입하거나 수신된 데이터에 오류를 삽입한다.
도 3은 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치를 구성하는 SoC 메모리 오류 정정 모듈을 개략적으로 나타내는 블록 구성도이다.
도면에 도시된 바와 같이, 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치를 구성하는 SoC 메모리 오류 정정 모듈(100)은, 제1 ECC(error correction code) 인코더(encoder) 모듈(110), ECC SRAM(Static Random Access Memory)(120), 데이터 SRAM(130), 제2 ECC 인코더 모듈(140), 에러 정정 모듈(150)을 포함하도록 구성될 수 있다.
이하, 세부적인 구성에 대하여 설명한다.
제1 ECC 인코더 모듈(110)은 입력되는 데이터에 대해 ECC 인코딩을 수행하여 제1 ECC를 생성하도록 구성될 수 있다.
ECC SRAM(120)은 제1 ECC 인코더 모듈(110)에 의해 생성된 제1 ECC가 저장되도록 구성될 수 있다.
데이터 SRAM(130)은 입력되는 데이터가 저장되도록 구성될 수 있다.
제2 ECC 인코더 모듈(140)은 데이터 SRAM(130)에 저장된 데이터에 대해 ECC 인코딩을 수행하여 제2 ECC를 생성하도록 구성될 수 있다.
에러 정정 모듈(150)은 ECC SRAM(120)에 저장된 제1 ECC 및 제2 ECC 인코더 모듈(140)에서 생성된 제2 ECC를 바이트(byte) 단위로 대비하여 에러 발생 여부를 확인하고, 확인 결과에 따라 해당 에러를 정정하도록 구성될 수 있다.
도 4 내지 도6은 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 장치를 개략적으로 설명하기 위한 도면이다.
상술한 도면들을 참조하면, SoC 버스 오류 감지 장치는 AHB(Advanced High performance Bus) 매트릭스(matrix)(200) 및 APB(Advanced Peripheral Bus) 매트릭스(300)를 포함하도록 구성될 수 있다.
또한, 오류 검출을 테스트하기 위해 임의로 오류를 추가하는 Fault Injection을 수행하도록 구성될 수 있다.
AHB 매트릭스(200)는 AHB 마스터 IP(Master Intellectual Property)(10) 와 AHB 슬레이브IP(Slave Intellectual Property)(20) 간의 데이터 인터페이스를 수행하도록 구성될 수 있다.
AHB 매트릭스(200)는 제1 버스(210), 마스터 AHB 모니터링 모듈, 슬레이브 AHB 모니터링 모듈을 포함하도록 구성될 수 있다.
여기서, 마스터 AHB 모니터링 모듈과 슬레이브 AHB 모니터링 모듈이 후술하는 APB 모니터링 모듈과 함께 본 발명의 실시예에 따른 SoC 버스 오류 검출 모듈(400)에 해당한다.
이하, 세부적인 구성에 대하여 설명한다.
제1 버스(210)는 데이터 인터페이스를 수행하도록 구성될 수 있다.
마스터 AHB 모니터링 모듈은 AHB 마스터 IP(10)로부터 제1 버스(210)로 입력되거나 제1 버스(210)로부터 AHB 마스터 IP(10)로 입력되는 데이터에 대해 패리티(parity)를 생성하고 대비하여 오류를 판단하도록 구성될 수 있다.
슬레이브 AHB 모니터링 모듈은 제1 버스(210)로부터 AHB 슬레이브 IP(20)로 입력되거나 AHB 슬레이브 IP(20)로부터 제1 버스(210)로 입력되는 데이터에 대해 패리티를 생성하고 대비하여 오류를 판단하도록 구성될 수 있다.
APB 매트릭스(300)는 AHB 슬레이브 IP(20)와 APB IP (30)간의 데이터 인터페이스를 수행하도록 구성될 수 있다.
APB 매트릭스(300)는 제2 버스(310), APB 모니터링 모듈을 포함하도록 구성될 수 있다.
이하, 세부적인 구성에 대하여 설명한다.
제2 버스(310)는 데이터 인터페이스를 수행하도록 구성될 수 있다.
한편, APB 모니터링 모듈은, 본 발명의 실시예에 따른 SoC 버스 오류 검출 모듈(400)에 해당하는 것으로, 제2 버스(310)로부터 APB IP(30)로 입력되거나 APB IP(30)로부터 제2 버스(310)로 입력되는 데이터에 대해 패리티를 생성하고 대비하여 오류를 판단하도록 구성될 수 있다.
도 7은 본 발명의 일 실시예에 따른 SoC 버스 오류 검출과 메모리 오류 정정 방법을 개략적으로 설명하기 위한 흐름도이다.
도 7을 참조하면, 먼저, SoC 버스 오류 검출 모듈이 버스를 통해 전달되는 데이터에 대한 패리티를 생성하고 검출하면서 상기 버스에서 전달받은 데이터 및 패리티 생성시 오류를 임의로 추가하여 SoC 버스 오류를 검출하는 단계를 포함할 수 있다.
다음으로, SoC 메모리 에러 정정 모듈에서 제1 ECC 인코더 모듈(110)이 입력되는 데이터에 대해 ECC 인코딩을 수행하여 제1 ECC를 생성한다(S101).
다음으로, ECC 메모리에 제1 ECC 인코더 모듈(110)에 의해 생성된 제1 ECC가 저장된다(S102).
여기서, ECC 메모리는 ECC SRAM(120)으로 구성될 수 있다.
다음으로, 데이터 메모리에 입력되는 데이터가 저장된다(S103).
여기서, 데이터 메모리는 데이터 SRAM(130)으로 구성될 수 있다.
다음으로, 제2 ECC 인코더 모듈(140)이 데이터 메모리에 저장된 데이터에 대해 ECC 인코딩을 수행하여 제2 ECC를 생성한다(S104).
다음으로, 에러 정정 모듈(150)이 ECC 메모리에 저장된 제1 ECC 및 제2 ECC 인코더 모듈(140)에서 생성된 제2 ECC를 대비하여 에러 발생 여부를 확인한다(S105).
이때, 에러 정정 모듈(150)은 제1 ECC 및 제2 ECC를 바이트 단위로 대비하여 에러 발생 여부를 확인하도록 구성될 수 있다. 그리고 에러 정정 모듈(150)은 에러 비트가 1 비트에 대해 발생한 경우 정정하도록 구성될 수 있다.
다음으로, 에러 정정 모듈(150)이 에러 발생 여부의 확인 결과에 따라 해당 에러 비트를 정정한다(S106).
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10 : SoC 버스 오류 검출 모듈
11 : 패리티 생성 검출모듈
12 : 버스 오류 발생모듈
13 : 패리티 오류 발생모듈
14 : 세이프티 매니저 모듈
15 : 폴트 인젝터 모듈
100: SoC 메모리 오류 정정 모듈
110: 제1 ECC 인코더 모듈
120: ECC SRAM
130: 데이터 SRAM
140: 제2 ECC 인코더 모듈
150: 에러 정정 모듈
200: AHB 매트릭스
210: 제1 버스
300: APB 매트릭스
310: 제2 버스

Claims (12)

  1. 버스를 통해 전달되는 데이터에 대한 패리티를 생성하고 검출하는 패리티 생성 검출모듈과 상기 버스에서 전달받은 데이터 및 패리티 생성시 오류를 임의로 추가하는 오류 발생모듈을 포함하는 SoC 버스 오류 검출 모듈;
    입력되는 데이터에 대해 ECC(error correction code) 인코딩을 수행하여 제1 ECC를 생성하는 제1 ECC 인코더 모듈, 상기 제1 ECC 인코더 모듈에 의해 생성된 제1 ECC가 저장되는 ECC 메모리, 상기 입력되는 데이터가 저장되는 데이터 메모리, 상기 데이터 메모리에 저장된 데이터에 대해 ECC 인코딩을 수행하여 제2 ECC를 생성하는 제2 ECC 인코더 모듈, 상기 ECC 메모리에 저장된 제1 ECC 및 상기 제2 ECC 인코더 모듈에서 생성된 제2 ECC를 대비하여 에러 발생 여부를 확인하는 에러 정정 모듈을 구비하는 SoC 메모리 에러 정정 모듈;
    상기 SoC 버스 오류 검출모듈의 오류 검출여부를 판단하는 세이프티 매니저 모듈;
    상기 SoC 버스 오류 검출모듈의 오류 상황을 테스트 하기 위해 오류를 발생시키는 폴트 인젝터 모듈을 포함하고,
    상기 SoC 버스 오류 검출모듈은,
    상기 폴트 인젝터 모듈과 연동하여 상기 버스에서 전달 받은 데이터에 오류를 임의로 추가해 실제 오류가 검출되는지 확인할 수 있는 버스데이터 오류 발생모듈;
    상기 폴트 인젝터 모듈과 연동하여 패리티 비트를 생성할 때 임의로 오류를 추가해 전달받는 수신측에서 실제 오류가 검출되는지 확인할 수 있는 패리티 오류 발생모듈을 포함하도록 구성되고,
    상기 버스는,
    AHB 마스터 IP 와 AHB 슬레이브 IP 간의 데이터 인터페이스를 수행하는 제1 버스를 구비하는 AHB 매트릭스;
    상기 AHB 슬레이브 IP와 APB IP 간의 데이터 인터페이스를 수행하는 제2 버스를 구비하는 APB 매트릭스를 포함하도록 구성되고,
    상기 SoC 버스 오류 검출모듈은,
    상기 AHB 마스터 IP로부터 상기 제1 버스로 입력되거나 상기 제1 버스로부터 상기 AHB 마스터 IP로 입력되는 데이터에 대해 패리티를 생성하고 대비하여 오류를 판단하는 마스터 AHB 모니터링 모듈;
    상기 제1 버스로부터 상기 AHB 슬레이브 IP로 입력되거나 상기 AHB 슬레이브 IP로부터 상기 제1 버스로 입력되는 데이터에 대해 패리티를 생성하고 대비하여 오류를 판단하는 슬레이브 AHB 모니터링 모듈;
    상기 제2 버스로부터 상기 APB IP로 입력되거나 상기 APB IP로부터 상기 제2 버스로 입력되는 데이터에 대해 패리티를 생성하고 대비하여 오류를 판단하는 APB 모니터링 모듈을 포함하도록 구성되는 것을 특징으로 하는 SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 SoC 메모리 에러 정정 모듈은,
    상기 제1 ECC 및 상기 제2 ECC를 바이트 단위로 대비하여 에러 발생 여부를 확인하도록 구성되는 것을 특징으로 하는 SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 장치.
  5. 제4항에 있어서, 상기 SoC 메모리 에러 정정 모듈은,
    상기 에러 발생 여부의 확인 결과에 따라 해당 에러 비트를 정정하도록 구성되는 것을 특징으로 하는 SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 장치.

  6. 제5항에 있어서, 상기 SoC 메모리 에러 정정 모듈은,
    상기 에러가 1 비트에 대해 발생한 경우 정정하도록 구성되는 것을 특징으로 하는 SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 장치.
  7. 제1항에 있어서,
    상기 ECC 메모리는 ECC SRAM으로 구성되고, 상기 데이터 메모리는 데이터 SRAM으로 구성되는 것을 특징으로 하는 SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 장치.
  8. SoC 버스 오류 검출 모듈이 버스를 통해 전달되는 데이터에 대한 패리티를 생성하고 검출하면서 상기 버스에서 전달받은 데이터 및 패리티 생성시 오류를 임의로 추가하여 오류를 검출하는 단계;
    SoC 메모리 에러 정정 모듈에서 제1 ECC 인코더 모듈이 입력되는 데이터에 대해 ECC 인코딩을 수행하여 제1 ECC를 생성하는 단계;
    ECC 메모리에 상기 제1 ECC 인코더 모듈에 의해 생성된 제1 ECC가 저장되는 단계;
    데이터 메모리에 상기 입력되는 데이터가 저장되는 단계;
    제2 ECC 인코더 모듈이 상기 데이터 메모리에 저장된 데이터에 대해 ECC 인코딩을 수행하여 제2 ECC를 생성하는 단계;
    에러 정정 모듈이 상기 ECC 메모리에 저장된 제1 ECC 및 상기 제2 ECC 인코더 모듈에서 생성된 제2 ECC를 대비하여 에러 발생 여부를 확인하는 단계를 포함하고,
    상기 SoC 버스 오류 검출 모듈이 버스를 통해 전달되는 데이터에 대한 패리티를 생성하고 검출하면서 상기 버스에서 전달받은 데이터 및 패리티 생성시 오류를 임의로 추가하여 오류를 검출하는 단계는,
    마스터 AHB 모니터링 모듈이 AHB 마스터 IP로부터 제1 버스로 입력되거나 상기 제1 버스로부터 상기 AHB 마스터 IP로 입력되는 데이터에 대해 패리티를 생성하고 대비하여 오류를 판단하는 단계;
    슬레이브 AHB 모니터링 모듈이 상기 제1 버스로부터 AHB 슬레이브 IP로 입력되거나 상기 AHB 슬레이브 IP로부터 상기 제1 버스로 입력되는 데이터에 대해 패리티를 생성하고 대비하여 오류를 판단하는 단계;
    APB 모니터링 모듈이 제2 버스로부터 APB IP로 입력되거나 상기 APB IP로부터 상기 제2 버스로 입력되는 데이터에 대해 패리티를 생성하고 대비하여 오류를 판단하는 단계를 포함하도록 구성되고,
    상기 제1 버스는,
    상기 AHB 마스터 IP 와 상기 AHB 슬레이브 IP 간의 데이터 인터페이스를 수행하도록 구성되고,
    상기 제2 버스는,
    상기 AHB 슬레이브 IP와 APB IP 간의 데이터 인터페이스를 수행하도록 구성되는 것을 특징으로 하는 SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 방법.
  9. 제8항에 있어서, 상기 에러 정정 모듈이 상기 ECC 메모리에 저장된 제1 ECC 및 상기 제2 ECC 인코더 모듈에서 생성된 제2 ECC를 대비하여 에러 발생 여부를 확인하는 단계는,
    상기 제1 ECC 및 상기 제2 ECC를 바이트 단위로 대비하여 에러 발생 여부를 확인하도록 구성되는 것을 특징으로 하는 SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 방법.
  10. 제 9항에 있어서,
    상기 에러 정정 모듈이 상기 에러 발생 여부의 확인 결과에 따라 해당 에러 비트를 정정하는 단계를 더 포함하도록 구성되는 것을 특징으로 하는 SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 방법.
  11. 제10항에 있어서, 상기 에러 정정 모듈이 상기 에러 발생 여부의 확인 결과에 따라 해당 에러 비트를 정정하는 단계는,
    상기 에러가 1 비트에 대해 발생한 경우 정정하도록 구성되는 것을 특징으로 하는 SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 방법.
  12. 제8항에 있어서,
    상기 ECC 메모리는 ECC SRAM으로 구성되고, 상기 데이터 메모리는 데이터 SRAM으로 구성되는 것을 특징으로 하는 SoC(System on Chip) 버스 오류 검출 및 메모리 오류 정정 방법.
KR1020230159008A 2023-11-16 2023-11-16 SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법 KR102669845B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230159008A KR102669845B1 (ko) 2023-11-16 2023-11-16 SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230159008A KR102669845B1 (ko) 2023-11-16 2023-11-16 SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법

Publications (1)

Publication Number Publication Date
KR102669845B1 true KR102669845B1 (ko) 2024-05-28

Family

ID=91277085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230159008A KR102669845B1 (ko) 2023-11-16 2023-11-16 SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102669845B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2830491B2 (ja) * 1991-02-08 1998-12-02 日本電気株式会社 バスパリティエラー発生位置検出方式
JP2002124934A (ja) * 2000-10-12 2002-04-26 Yaskawa Electric Corp パリティチェック検証回路
JP2006179131A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd メモリシステム及び半導体記憶装置
KR101466694B1 (ko) 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
KR101517911B1 (ko) 2013-12-13 2015-05-06 경북대학교 산학협력단 Ecc기반 의료 데이터의 보안 방법
KR20150144715A (ko) * 2014-06-17 2015-12-28 에이알엠 리미티드 저장 데이터 값의 에러 검출
JP2020514869A (ja) * 2017-01-05 2020-05-21 日本テキサス・インスツルメンツ合同会社 誤り訂正符号メモリ

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2830491B2 (ja) * 1991-02-08 1998-12-02 日本電気株式会社 バスパリティエラー発生位置検出方式
JP2002124934A (ja) * 2000-10-12 2002-04-26 Yaskawa Electric Corp パリティチェック検証回路
JP2006179131A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd メモリシステム及び半導体記憶装置
KR101466694B1 (ko) 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
KR101517911B1 (ko) 2013-12-13 2015-05-06 경북대학교 산학협력단 Ecc기반 의료 데이터의 보안 방법
KR20150144715A (ko) * 2014-06-17 2015-12-28 에이알엠 리미티드 저장 데이터 값의 에러 검출
JP2020514869A (ja) * 2017-01-05 2020-05-21 日本テキサス・インスツルメンツ合同会社 誤り訂正符号メモリ

Similar Documents

Publication Publication Date Title
US11372715B2 (en) Error correction hardware with fault detection
US7712010B2 (en) Systems, methods and computer program products for utilizing a spare lane for additional checkbits
US20110191659A1 (en) System and method providing fault detection capability
CN112506730B (zh) 适用于网络交换芯片ecc功能验证的验证平台及验证方法
US6601210B1 (en) Data integrity verification in a switching network
CN110688249B (zh) 一种纠错码电路的注错检测电路
KR102669845B1 (ko) SoC 버스 오류 검출과 메모리 오류 정정 장치 및 방법
US11823759B2 (en) Testing of fault detection circuit
CN111880961A (zh) 用于透明寄存器数据错误检测和纠正的***和方法
JP6987303B2 (ja) 安全通信装置、安全通信システム、安全通信方法、及び、安全通信プログラム
US11416332B2 (en) Protection for ethernet physical layer
CN110532127B (zh) 一种差错校验位协议转换器
WO2000038064A9 (en) A method and apparatus for detecting errors in data output from memory and a device failure in the memory
WO2018010084A1 (zh) 应用于数字集成电路的esd检测装置、集成电路及方法
CN108400787B (zh) 一种基于bch编码的并行fir滤波器容错方法
JPH07200419A (ja) バスインタフェース装置
US20240013847A1 (en) Electronic circuit and method for self-diagnosis of a data memory
TWI738627B (zh) 具有錯誤偵測功能的智能網卡系統及錯誤偵測方法
KR101623305B1 (ko) 정보 검사 장치 및 방법과 정보 검사 장치를 포함하는 정보 처리 시스템
US20230085149A1 (en) Intra-chip and inter-chip data protection
CN113037507B (zh) 具有错误侦测功能的智能网卡***及错误侦测方法
CN118169539A (zh) 集成电路的功能安全验证方法、装置、电子设备和介质
WO2022053157A1 (en) Fault resistant verification
CN116737447A (zh) 数据纠错电路和数据传输方法
JPS63311457A (ja) 記憶装置のデ−タ読出回路

Legal Events

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