KR20130105972A - 라이트 데이터의 에러 검출 방법 및 상기 방법을 수행할 수 있는 데이터 처리 시스템 - Google Patents
라이트 데이터의 에러 검출 방법 및 상기 방법을 수행할 수 있는 데이터 처리 시스템 Download PDFInfo
- Publication number
- KR20130105972A KR20130105972A KR1020120027512A KR20120027512A KR20130105972A KR 20130105972 A KR20130105972 A KR 20130105972A KR 1020120027512 A KR1020120027512 A KR 1020120027512A KR 20120027512 A KR20120027512 A KR 20120027512A KR 20130105972 A KR20130105972 A KR 20130105972A
- Authority
- KR
- South Korea
- Prior art keywords
- error detection
- data
- buffer memory
- write data
- error
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
라이트 데이터의 에러를 검출하는 방법은 버퍼 메모리 컨트롤러에서 버퍼 메모리에 라이트될 제1라이트 데이터에 기초하여 제1에러 검출 데이터를 생성하는 단계와, 에러 검출 회로에서 상기 제1라이트 데이터에 연관된 제2라이트 데이터에 기초하여 제2에러 검출 데이터를 생성하는 단계와, 상기 에러 검출 회로에서 상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터를 서로 비교하고 비교 결과에 따라 에러 검출 신호를 생성하는 단계를 포함한다.
Description
본 발명의 개념에 따른 실시 예는 라이트 데이터의 에러 검출 스킴(scheme)에 관한 것으로, 특히 라이트 동작 시 라이트 데이터의 에러를 검출하기 위한 방법과 상기 방법을 수행할 수 있는 데이터 처리 시스템에 관한 것이다.
중앙 처리 장치(central processing unit(CPU))와 주변 장치 사이에서, 정보를 주고받을 경우 상기 CPU와 상기 주변 장치 사이에는 데이터 전송 속도의 차이가 존재한다.
버퍼 메모리(buffer memory)는 상기 데이터 전송 속도의 차이에 따른 문제를 해결하기 위해 데이터를 일시적으로 저장하는 장치이다. 캐시 메모리(cache memory)는 워크스테이션(workstation) 또는 중대형의 컴퓨터의 기본 처리 장치 내부에 들어 있는 고속 메모리이다.
버퍼 메모리와 캐시 메모리는 데이터의 중간 저장소라는 점에서 공통점이 있다. 그러나, 상기 캐시 메모리는 작업 속도를 빠르게 하기 위한 것인 반면, 상기 버퍼 메모리는 복수의 작업들 각각의 사이에서 데이터를 주고받기 위한 것이라는 점에서 차이점이 있다.
즉, 버퍼 메모리는 데이터 처리 속도, 데이터 처리 단위, 또는 데이터 사용 시간이 서로 다른 두 장치들 또는 프로그램들 사이에서 데이터를 주고받기 위해 사용된다. 또한, 버퍼 메모리는 데이터 처리 속도 차이가 존재하는 하드웨어들 또는 우선 순위가 다른 프로그램들 각각의 프로세스에 공유될 수 있다.
일반적으로, 버퍼 메모리에 저장된 데이터의 에러 검출은 상기 버퍼 메모리의 리드 동작(read operation) 동안 수행된다. 그러나, 데이터의 에러가 리드 동작 동안 검출된 경우에도, 상기 리드 동작 이후 다른 동작이 수행되면 에러가 발생한 데이터가 복구될 수 없는 경우가 발생한다.
본 발명이 이루고자 하는 기술적인 과제는 라이트 동작 시 라이트 데이터의 에러를 검출하여, 에러 검출의 효율을 높이고 상기 라이트 데이터의 신뢰성을 향상시키기 위한 라이트 데이터의 에러 검출 방법 및 상기 방법을 수행할 수 있는 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 라이트 데이터의 에러를 검출하는 방법은, 버퍼 메모리 컨트롤러에서, 버퍼 메모리에 라이트될 제1라이트 데이터에 기초하여 제1에러 검출 데이터를 생성하는 단계와, 에러 검출 회로에서 상기 제1라이트 데이터에 연관된 제2라이트 데이터에 기초하여 제2에러 검출 데이터를 생성하는 단계와, 상기 에러 검출 회로에서 상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터를 서로 비교하고 비교 결과에 따라 에러 검출 신호를 생성하는 단계를 포함한다.
실시 예에 따라 상기 제2라이트 데이터는 상기 버퍼 메모리 컨트롤러로부터 출력될 수 있다.
다른 실시 예에 따라 상기 제2라이트 데이터는 상기 버퍼 메모리로부터 리드될 수 있다.
또 다른 실시 예에 따라, 상기 제2라이트 데이터는 상기 버퍼 메모리 컨트롤러와 상기 버퍼 메모리 사이에 접속된 입출력 인터페이스로부터 피드백될 수 있다.
실시 예에 따라, 상기 버퍼 메모리 컨트롤러, 상기 버퍼 메모리, 및 상기 에러 검출 회로는 동일한 칩에 구현될 수 있다.
다른 실시 예에 따라, 상기 에러 검출 회로와 상기 버퍼 메모리는 서로 다른 칩에 구현될 수 있다.
상기 방법은 상기 버퍼 메모리 컨트롤러가 상기 에러 검출 신호에 응답하여 상기 제1라이트 데이터를 상기 버퍼 메모리로 재전송하는 단계를 더 포함할 수 있다.
상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터 각각은 패리트 비트들을 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 처리 시스템은 버퍼 메모리에 라이트될 제1라이트 데이터에 기초하여 제1에러 검출 데이터를 생성하는 버퍼 메모리 컨트롤러와, 상기 제1라이트 데이터에 연관된 제2라이트 데이터에 기초하여 제2에러 검출 데이터를 생성하고, 상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터를 서로 비교하고, 비교 결과에 따라 에러 검출 신호를 생성하는 에러 검출 회로를 포함할 수 있다.
상기 에러 검출 회로는 상기 제2라이트 데이터에 기초하여 상기 제2에러 검출 데이터를 생성하는 에러 데이터 생성 회로와, 상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터를 서로 비교하고 상기 에러 검출 신호를 생성하는 비교 회로를 포함하며, 상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터 각각은 패리트 비트들(parity bits)을 포함할 수 있다.
상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터가 서로 다를 때 생성된 상기 에러 검출 신호는 상기 제1라이트 데이터가 상기 버퍼 메모리로 전송되는 도중에 상기 제1라이트 데이터와 다른 상기 제2라이트 데이터로 변경되었음을 나타낸다.
또한, 상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터가 서로 같을 때 생성된 상기 에러 검출 신호는 상기 제1라이트 데이터와 동일한 상기 제2라이트 데이터가 상기 버퍼 메모리로 전송됨을 나타낸다.
상기 버퍼 메모리 컨트롤러는 상기 에러 검출 신호에 응답하여 상기 제1라이트 데이터를 상기 버퍼 메모리로 재전송할 수 있다.
상기 데이터 처리 시스템은 상기 에러 검출 신호에 응답하여 제어 신호를 생성하는 프로세서를 더 포함하며, 상기 버퍼 메모리 컨트롤러는 상기 제어 신호에 응답하여 상기 제1라이트 데이터를 상기 버퍼 메모리로 재전송할 수 있다.
상기 데이터 처리 시스템은 시스템 온 칩으로 구현될 수 있다.
본 발명의 실시 예에 따른 방법과 상기 방법을 수행할 수 있는 장치는 라이트 동작 시 라이트 데이터의 에러를 검출하여, 에러 검출의 효율을 높이고, 상기 라이트 데이터의 무결성(integrity)을 향상시킬 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 데이터 처리 시스템의 블락도이다.
도 2는 도 1에 도시된 버퍼 메모리 컨트롤러와 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 3은 도 1에 도시된 버퍼 메모리 컨트롤러, 프로세서, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 4는 도 1에 도시된 내부 버퍼 메모리, 버퍼 메모리 컨트롤러, 및 제2에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 5는 도 1에 도시된 내부 버퍼 메모리, 버퍼 메모리 컨트롤러, 프로세서, 및 제2에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 6은 본 발명의 다른 실시 예에 따른 데이터 처리 시스템의 블락도이다.
도 7은 도 6에 도시되고 본 발명의 일 실시 예에 따른, 버퍼 메모리 컨트롤러, 입출력 인터페이스, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 8은 도 6에 도시되고 본 발명의 다른 실시 예에 따른, 버퍼 메모리 컨트롤러, 입출력 인터페이스, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 9는 도 6에 도시되고 본 발명의 또 다른 실시 예에 따른, 버퍼 메모리 컨트롤러, 입출력 인터페이스, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 10은 도 1 또는 도 6에 도시된 데이터 처리 시스템의 개략적인 동작을 설명하기 위한 플로우 차트이다.
도 11은 도 1 또는 도 6에 도시된 데이터 처리 시스템의 구체적인 동작을 설명하기 위한 플로우 차트이다.
도 12는 도 1 또는 도 6에 도시된 데이터 처리 시스템의 구체적인 동작을 설명하기 위한 플로우 차트이다.
도 1은 본 발명의 일 실시 예에 따른 데이터 처리 시스템의 블락도이다.
도 2는 도 1에 도시된 버퍼 메모리 컨트롤러와 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 3은 도 1에 도시된 버퍼 메모리 컨트롤러, 프로세서, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 4는 도 1에 도시된 내부 버퍼 메모리, 버퍼 메모리 컨트롤러, 및 제2에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 5는 도 1에 도시된 내부 버퍼 메모리, 버퍼 메모리 컨트롤러, 프로세서, 및 제2에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 6은 본 발명의 다른 실시 예에 따른 데이터 처리 시스템의 블락도이다.
도 7은 도 6에 도시되고 본 발명의 일 실시 예에 따른, 버퍼 메모리 컨트롤러, 입출력 인터페이스, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 8은 도 6에 도시되고 본 발명의 다른 실시 예에 따른, 버퍼 메모리 컨트롤러, 입출력 인터페이스, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 9는 도 6에 도시되고 본 발명의 또 다른 실시 예에 따른, 버퍼 메모리 컨트롤러, 입출력 인터페이스, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 10은 도 1 또는 도 6에 도시된 데이터 처리 시스템의 개략적인 동작을 설명하기 위한 플로우 차트이다.
도 11은 도 1 또는 도 6에 도시된 데이터 처리 시스템의 구체적인 동작을 설명하기 위한 플로우 차트이다.
도 12는 도 1 또는 도 6에 도시된 데이터 처리 시스템의 구체적인 동작을 설명하기 위한 플로우 차트이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 데이터 처리 시스템의 블락도이다.
도 1을 참조하면, 데이터 처리 시스템(10)은 미디어(media; 20), 호스트(25)와 컨트롤러(30)를 포함한다.
데이터 처리 시스템(10)은 PC(personal computer), 데이터 서버, 또는 휴대용 장치(portable device)로 구현될 수 있다. 예컨대, 휴대용 장치는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰 (smart phone), 태블릿(tablet) PC, PDA (personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP (portable multimedia player), PDN(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 또는 e-북(e-book)으로 구현될 수 있다.
미디어(20)는 데이터를 저장하기 위한 매체로서, 실시 예에 따라 하드디스크 (hard disk), 휘발성 메모리 장치(volatile memory device), 또는 불휘발성 메모리 장치(non-volatile memory device) 등으로 구현될 수 있다.
실시 예에 따라, 상기 불휘발성 메모리 장치는 EEPROM(electrically erasable programmable read-only Memory), 플래시 메모리(flash memory), MRAM(magnetic RAM), 스핀전달토크 MRAM(spin-transfer torque MRAM), Conductive bridging RAM(CBRAM), FeRAM (ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(resistive RAM (RRAM)), 나노튜브 RRAM(nanotube RRAM), 폴리머 RAM(polymer RAM: PoRAM), 나노 부유 게이트 메모리(nano floating gate memory: NFGM), 홀로그래픽 메모리 (holographic memory), 분자 전자 메모리 소자(molecular electronics memory device), 또는 절연 저항 변화 메모리(insulator resistance change memory) 등으로 구현될 수 있다.
컨트롤러(30)는 미디어(20)와 호스트(25) 사이의 데이터 통신을 제어할 수 있다.
컨트롤러(30)는 미디어 컨트롤러(media controller;32), 내부 버퍼 메모리 (internal buffer memory; 34), 버퍼 메모리 컨트롤러(buffer memory controller; 36), 호스트 인터페이스(host interface(host I/F); 38), ROM(read only memory; 40), 프로세서(processor; 42), 및 제1에러 검출 회로(error detection circuit; 50)를 포함한다. 실시 예에 따라, 컨트롤러(30)는 제2에러 검출 회로(52)를 더 포함할 수 있다.
미디어 컨트롤러(32)는 미디어(20)에 대한 액세스(access)를 제어할 수 있다. 실시 예에 따라, 미디어 컨트롤러(32)는 미디어(20)에 데이터를 라이트하는 라이트 동작, 또는 미디어(20)에 저장된 데이터를 리드하는 리드 동작을 제어할 수 있다.
내부 버퍼 메모리(34)는 호스트(HOST)와 미디어(20) 사이에 주고 받는 데이터를 버퍼링할 수 있다. 실시 예에 따라, 내부 버퍼 메모리(34)는 SRAM(static random access memory) 또는 임베디드 DRAM(embedded DRAM) 등으로 구현될 수 있다.
버퍼 메모리 컨트롤러(36)는 내부 버퍼 메모리(34)에 대한 액세스를 제어할 수 있다. 실시 예에 따라, 버퍼 메모리 컨트롤러(36)는 내부 버퍼 메모리(34)에 데이터를 라이트하는 라이트 동작, 또는 내부 버퍼 메모리(34)에 저장된 데이터를 리드하는 리드 동작을 제어할 수 있다.
호스트 인터페이스(38)는 호스트(HOST)와 컨트롤러(30)가 주고 받는 데이터 신호들을 인터페이싱(interfacing) 할 수 있다.
ROM(40)은 프로세서(42)의 동작에 필요한 데이터들을 저장할 수 있고, 그 명칭에도 불구하고 다양한 불휘발성 메모리로 구현될 수 있다.
프로세서(42)는 컨트롤러(30)의 전반적인 동작을 제어할 수 있다.
제1에러 검출 회로(50)는 버퍼 메모리 컨트롤러(36)로부터 출력된 라이트 데이터를 수신하고, 수신한 라이트 데이터에 기초하여 상기 라이트 데이터의 에러를 검출할 수 있다.
제2에러 검출 회로(52)는 내부 버퍼 메모리(34)로부터 출력된 라이트 데이터에 기초하여 상기 라이트 데이터의 에러를 검출할 수 있다.
제1에러 검출 회로(50)와 제2에러 검출 회로(52) 각각의 구조와 동작은 도 2부터 도 5를 참조하여 상세히 설명될 것이다.
데이터 처리 시스템(10)의 라이트 동작 시, 호스트(25)로부터 출력된 라이트 데이터는 호스트 인터페이스(38)와 버퍼 메모리 컨트롤러(36)를 통하여 내부 버퍼 메모리(34)에 저장된 후, 버퍼 메모리 컨트롤러(36)의 제어에 따라 내부 버퍼 메모리(34)로부터 리드된 라이트 데이터는 미디어 컨트롤러(32)를 통해서 미디어(20)에 라이트될 수 있다.
이때, 호스트(25)로부터 출력된 라이트 데이터는 버퍼 메모리 컨트롤러(36)의 주파수 특성 및/또는 전압 특성에 따라 변경될 수 있다.
또한, 버퍼 메모리 컨트롤러(36)로부터 출력된 라이트 데이터는 버퍼 메모리 컨트롤러(36)와 내부 버퍼 메모리(34) 사이의 인터페이스의 특성, 예컨대 노이즈에 의해 변경될 수 있다.
또한, 내부 버퍼 메모리(34)에 라이트된 데이터는 내부 버퍼 메모리(34)의 동작 특성, 예컨대 동작 전압 또는 메모리 셀의 커플링에 따라 변경될 수 있다.
본 발명의 기술적 사상은 상술한 특성들에 의해 변경된 라이트 데이터를 빠르게 검출할 수 있는 방법을 제공하는 것이다.
도 2는 도 1에 도시된 버퍼 메모리 컨트롤러와 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 1과 도 2를 참조하면, 제1에러 검출 회로(50)는 제1에러 데이터 생성 회로(50-1)와 제1비교 회로(50-2)를 포함한다.
실시 예에 따라, 제1에러 데이터 생성 회로(50-1)는 제2라이트 데이터(DW2)의 에러를 검출하기 위한 제2에러 검출 데이터(DATA2)를 생성할 수 있다. 예컨대, 제1에러 데이터 생성 회로(50-1)는 제2라이트 데이터(DW2)에 대한 패리티 비트들을 생성할 수 있다.
실시 예에 따라, 제1에러 데이터 생성 회로(50-1)는 ECC(error correction code)를 이용하여 패리티 비트들을 생성하고, 상기 패리티 비트들을 포함하는 제2에러 검출 데이터(DATA2)를 생성할 수 있다.
다른 실시 예에 따라, 제1에러 데이터 생성 회로(50-1)는 CRC(cyclic redundancy check)를 이용하여 패리티 비트들을 생성하고, 상기 패리티 비트들을 포함하는 제2에러 검출 데이터(DATA2)를 생성할 수 있다.
또 다른 실시 예에 따라, 제1에러 데이터 생성회로(50-1)는 제2라이트 데이터(DW2)의 에러를 검출하기 위해 다른 에러 검출 알고리즘을 사용할 수도 있다.
버퍼 메모리 컨트롤러(36)는 수신된 제1라이트 데이터(DW1)에 대응되는 제2라이트 데이터(DW2)를 내부 버퍼 메모리(34) 및/또는 제1에러 검출 회로(50)로 전송할 수 있다.
제1라이트 데이터(DW1)가 버퍼 메모리 컨트롤러(36)에 의해 처리되는 도중에 에러가 발생하지 않은 경우, 버퍼 메모리 컨트롤러(36)로부터 출력된 제2라이트 데이터(DW2)는 제1라이트 데이터(DW1)와 동일하다. 그러나, 제1라이트 데이터(DW1)가 버퍼 메모리 컨트롤러(36)에 의해 처리되는 도중에 에러가 발생하면, 버퍼 메모리 컨트롤러(36)로부터 출력된 제2라이트 데이터(DW2)는 제1라이트 데이터(DW1)와 다르다.
버퍼 메모리 컨트롤러(36)는 제1라이트 데이터(DW1)에 기초하여 제1라이트 데이터(DW1)의 에러를 검출하기 위한 패리티 비트들, 즉 제1에러 검출 데이터 (DATA1)를 생성한다.
실시 예에 따라, 버퍼 메모리 컨트롤러(36)는 제1에러 검출 데이터(DATA1)를 생성하기 위한 에러 데이터 생성 회로(미 도시)를 포함할 수 있다. 예컨대 상기 에러 데이터 생성 회로는 ECC 또는 CRC를 이용하여 제1에러 검출 데이터(DATA1)를 생성할 수 있다.
제1에러 검출 회로(50)는 버퍼 메모리 컨트롤러(36)로부터 출력된 제2라이트 데이터(DW2)와 제1에러 검출 데이터(DATA1)를 수신할 수 있다.
제1에러 데이터 생성 회로(50-1)는 제2라이트 데이터(DW2)에 기초하여 제2라이트 데이터(DW2)의 에러를 검출하기 위한 패리티 비트들, 즉 제2에러 검출 데이터 (DATA2)를 생성할 수 있다.
실시 예에 따라, 제1에러 검출 데이터(DATA1)와 제2에러 검출 데이터(DATA2) 각각은 패리티 비트들, 예컨대 ECC 또는 CRC에 따라 생성된 패리티 비트들을 호함할 수 있다.
제1비교 회로(50-2)는 제1에러 검출 데이터(DATA1)와 제2에러 검출 데이터 (DATA2)를 서로 비교하고, 비교 결과에 따라 에러 검출 신호(EDS1)를 생성할 수 있다.
예컨대, 제1에러 검출 데이터(DATA1)와 제2에러 검출 데이터(DATA2)가 서로 동일할 때 제1비교 회로(50-2)는 제1값, 예컨대 로직 0을 갖는 에러 검출 신호 (EDS1)를 생성할 수 있다. 그러나, 제1에러 검출 데이터(DATA1)와 제2에러 검출 데이터(DATA2)가 서로 다를 때 제1비교 회로(50-2)는 제2값, 예컨대 로직 1을 갖는 에러 검출 신호(EDS1)를 생성할 수 있다.
실시 예에 따라, 제1비교 회로(50-2)는 비트 단위로 제1에러 검출 데이터 (DATA1)와 제2에러 검출 데이터(DATA2)가 서로 동일한지의 여부를 비교할 수 있다.
다른 실시 예에 따라, 제1비교 회로(50-2)는 제1에러 검출 데이터(DATA1)에 포함된 패리티 비트들과 제2에러 검출 데이터(DATA2)에 포함된 패리티 비트들 중에서 서로 다른 비트들의 수를 계산할 수 있다.
실시 예에 따라, 버퍼 메모리 컨트롤러(36)는 제2값을 갖는 에러 검출 신호 (EDS1)에 기초하여 내부 버퍼 메모리(34)에 제1라이트 데이터(DW1)를 다시 라이트하는 동작을 수행할 수 있다.
도 3은 도 1에 도시된 버퍼 메모리 컨트롤러, 프로세서, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 2와 도 3을 참조하면, 에러 검출 신호(EDS1)가 프로세서(42)로 공급되는 것을 제외하면, 도 2의 제1에러 검출 회로(50)의 구조와 동작과 도 3의 제1에러 검출 회로(50)의 구조와 동작은 실질적으로 동일하다.
프로세서(42)는 에러 검출 신호(EDS1)에 응답하여 제어 신호를 생성할 수 있다.
프로세서(42)는 에러 검출 신호(EDS1)에 응답하여 현재 실행 중인 동작 및/또는 주변 장치(미도시)의 동작을 중단시킬 수 있다. 버퍼 메모리 컨트롤러(36)는 프로세서(42)로부터 출력된 상기 제어 신호에 응답하여 제1라이트 데이터(DW1)를 내부 버퍼 메모리(34)에 다시 라이트할 수 있다.
실시 예에 따라, 에러 검출 신호(EDS1)는 프로세서(42)에 포함된 상태 레지스터(status register; 미도시)에 저장될 수 있다. 에러 검출 신호(EDS1)는 제1라이트 데이터(DW1)에 에러가 포함되었는지의 여부를 나타내는 인덱스(index)로서 사용될 수 있다.
도 4는 도 1에 도시된 내부 버퍼 메모리, 버퍼 메모리 컨트롤러, 및 제2에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
제2에러 검출 회로(52)는 제2에러 데이터 생성 회로(52-1)와 제2비교 회로 (52-2)를 포함한다.
버퍼 메모리 컨트롤러(36)는 수신된 제1라이트 데이터(DW1)에 대응되는 제2라이트 데이터(DW2)를 내부 버퍼 메모리(34)로 전송할 수 있다. 상술한 바와 같이, 제1라이트 데이터(DW1)가 버퍼 메모리 컨트롤러(36)에 의해 처리되는 도중에 에러가 발생했는지의 여부에 따라, 제1라이트 데이터(DW1)와 제2라이트 데이터(DW2)는 동일한 데이터이거나 또는 서로 다른 데이터일 수 있다.
버퍼 메모리 컨트롤러(36)는 제1라이트 데이터(DW1)에 기초하여 제1라이트 데이터(DW1)의 에러를 검출할 수 있는 제1에러 검출 데이터(DATA1)를 생성한다.
제2에러 검출 회로(52)는 내부 버퍼 메모리(34)로부터 제3라이트 데이터 (DW3)를 수신할 수 있다. 상술한 바와 같이, 내부 버퍼 메모리(34)에 라이트된 제2라이트 데이터(DW2)는 내부 버퍼 메모리(34)의 동작 특성에 따라 변경될 수 있다.
제2에러 검출 회로(52)의 제3라이트 데이터(DW3)에 대한 리드 동작은 제2라이트 데이터(DW2)가 내부 버퍼 메모리(34)에 라이트된 후 다른 동작이 수행되기 이전에 수행될 수 있다.
제2에러 데이터 생성 회로(52-1)는 제3라이트 데이터(DW3)에 기초하여 제3라이트 데이터(DW3)의 에러를 검출할 수 있는 패리티 비트들, 즉 제3에러 검출 데이터(DATA3)를 생성할 수 있다.
실시 예에 따라, 제3에러 검출 데이터(DATA3)는 ECC 데이터 또는 CRC 데이터일 수 있다.
제2비교 회로(52-2)는 제1에러 검출 데이터(DATA1)와 제3에러 검출 데이터 (DATA3)를 서로 비교하고, 비교 결과에 따라 에러 검출 신호(EDS2)를 생성할 수 있다.
각 라이트 데이터(DW1, DW2, 및 DW3)가 서로 동일하며, 제2에러 데이터 생성 회로(52-1)는 제1에러 검출 데이터(DATA1)와 동일한 제3에러 검출 데이터(DATA3)를 생성할 수 있다. 그 외의 경우, 제2에러 데이터 생성 회로(52-1)는 제1에러 검출 데이터(DATA1)와 서로 다른 제3에러 검출 데이터(DATA3)를 생성할 수 있다.
제1에러 검출 데이터(DATA1)와 제3에러 검출 데이터(DATA3)가 서로 동일할 때 제2비교 회로(52-2)는 제1값을 갖는 에러 검출 신호(EDS2)를 생성할 수 있다. 그러나, 제1에러 검출 데이터(DATA1)와 제3에러 검출 데이터(DATA3)가 서로 다를 때 제2비교 회로(52-2)는 제2값을 갖는 에러 검출 신호(EDS2)를 생성할 수 있다.
실시 예에 따라, 제2비교 회로(52-2)는 비트 단위로 제1에러 검출 데이터 (DATA1)와 제3에러 검출 데이터(DATA3)가 서로 동일한지의 여부를 비교할 수 있다.
다른 실시 예에 따라, 제2비교 회로(52-2)는 제1에러 검출 데이터(DATA1)에 포함된 패리티 비트들과 제3에러 검출 데이터(DATA3)에 포함된 패리티 비트들 중에서 서로 다른 비트들의 수를 계산할 수 있다.
버퍼 메모리 컨트롤러(36)는 제2값을 갖는 에러 검출 신호(EDS2)에 응답하여 내부 버퍼 메모리(34)에 제1라이트 데이터(DW1)를 다시 라이트 하는 동작을 수행할 수 있다.
도 5는 도 1에 도시된 내부 버퍼 메모리, 버퍼 메모리 컨트롤러, 프로세서, 및 제2에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 4와 도 5를 참조하면, 에러 검출 신호(EDS2)가 프로세서(42)로 공급되는 것을 제외하면, 도 4의 제2에러 검출 회로(52)의 구조와 동작과 도 5의 제2에러 검출 회로(52)의 구조와 동작은 실질적으로 동일하다.
프로세서(42)는 에러 검출 신호(EDS2)에 응답하여 제어 신호를 생성할 수 있다.
프로세서(42)는 에러 검출 신호(EDS2)에 응답하여 현재 실행 중인 동작 및/또는 주변 장치(미도시)의 동작을 중단시킬 수 있다. 버퍼 메모리 컨트롤러(36)는 프로세서(42)로부터 출력된 상기 제어 신호에 응답하여 제1라이트 데이터(DW1)를 내부 버퍼 메모리(34)에 다시 라이트할 수 있다.
실시 예에 따라, 에러 검출 신호(EDS2)는 프로세서(42)에 포함된 상태 레지스터(미도시)에 저장될 수 있다. 에러 검출 신호(EDS2)는 제1라이트 데이터(DW1)에 에러가 포함되었는지의 여부를 나타내는 인덱스로서 사용될 수 있다.
도 6은 본 발명의 다른 실시 예에 따른 데이터 처리 시스템의 블락도이다.
도 1과 도 6을 참조하면, 도 1의 내부 버퍼 메모리(34)가 외부 버퍼 메모리 (34')로 변경되고, 입출력 인터페이스(44)를 더 포함하는 것을 제외하면, 도 1의 데이터 처리 시스템(10)의 구조와 동작은 도 6의 데이터 처리 시스템(10')의 구조와 동작과 실질적으로 동일하다.
외부 버퍼 메모리(34')는 SRAM 또는 DRAM(dynamic random access memory)과 같은 휘발성 메모리 장치로 구현될 수 있다. 또한, 외부 버퍼 메모리(34')는 불휘발성 메모리 장치로 구현될 수 있다.
입출력 인터페이스(44)는 버퍼 메모리 컨트롤러(36)와 외부 버퍼 메모리 (34')가 주고 받는 데이터를 인터페이싱 할 수 있다.
입출력 인터페이스(44)와 제1에러 검출 회로(50)의 구조 및 동작은 도 7 내지 도 9를 참조하여 상세히 설명될 것이다.
도 7은 도 6에 도시되고 본 발명의 일 실시 예에 따른, 버퍼 메모리 컨트롤러, 입출력 인터페이스, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 2, 도 3, 도 6, 및 도 7을 참조하면, 입출력 인터페이스(44)는 출력 버퍼 (44a)와 피드백 버퍼(44b)를 포함한다.
실시 예에 따라, 출력 버퍼(44a)는 제2라이트 데이터(DW2)를 버퍼링하고, 피드백 버퍼(44b)는 버퍼된 라이트 데이터(DEXT)를 버퍼링할 수 있다.
실시 예에 따라, 출력 버퍼(44a)와 피드백 버퍼(44b) 각각은 버퍼 메모리 컨트롤러(36)에 의한 라이트 동작 동안에 동작할 수 있다.
버퍼 메모리 컨트롤러(36)는 수신된 제2라이트 데이터(DW2)를 입출력 인터페이스(44) 및/또는 제1에러 검출 회로(50)로 전송할 수 있다.
제2라이트 데이터(DW2)는 제1버스(BUS)를 통해 입출력 인터페이스(44)로 전송될 수 있다.
입출력 인터페이스(44)의 출력 버퍼(44a)는 제2라이트 데이터(DW2)를 버퍼된 라이트 데이터(DEXT)로서 출력할 수 있다. 입출력 인터페이스(44)의 피드백 버퍼 (44b)는 버퍼된 라이트 데이터(DEXT)를 피드백 라이트 데이터(DFB)로서 버퍼 메모리 컨트롤러(36)로 피드백할 수 있다. 이때 피드백 라이트 데이터(DFB)는 제2버스 (BUS2)를 통하여 피드백될 수 있다.
버퍼된 라이트 데이터(DEXT)는 외부 버퍼 메모리(34')에 라이트될 데이터를 의미할 수 있다. 또한, 피드백 라이트 데이터(DFB)는 버퍼된 라이트 데이터(DEXT)의 에러를 검출하기 위한 피드백 데이터를 의미할 수 있다.
제1에러 검출 회로(50)는 에러 검출 신호(EDS3)를 버퍼 메모리 컨트롤러 (36)와 프로세서(42)로 중에서 적어도 하나로 전송할 수 있다. 따라서, 에러 검출 신호(EDS3)가 공급되는 대상(36과 42)을 제외하면, 도 7의 제1에러 검출 회로(50)의 구조는 도 2의 제1에러 검출 회로(50)의 구조와 실질적으로 동일하다.
제1에러 검출 회로(50)는 버퍼 메모리 컨트롤러(36)로부터 출력된 제1에러 검출 데이터(DATA1)와 수신된 제2라이트 데이터(DW2)에 기초하여 생성된 제2에러 검출 데이터(DATA2)의 비교 결과에 따라 제2라이트 데이터(DW2)의 에러 여부를 검출할 수 있다.
버퍼 메모리 컨트롤러(36)는 에러 검출 신호(EDS3)에 기초하여 제1라이트 데이터(DW1)를 외부 버퍼 메모리(34')로 다시 전송할지의 여부를 결정할 수 있다.
또한, 프로세서(42)는 에러 검출 신호(EDS3)에 기초하여 버퍼 메모리 컨트롤러(36)를 제어할 수 있다. 따라서, 버퍼 메모리 컨트롤러(36)는 프로세서(42)의 제어에 따라 제1라이트 데이터(DW1)를 외부 버퍼 메모리(34')로 다시 전송할지의 여부를 결정할 수 있다.
또한, 버퍼 메모리 컨트롤러(36)는 제1라이트 데이터(DW1)와 피드백 라이트 데이터(DFB)를 비교하고, 비교 결과에 따라 제1라이트 데이터(DW1)에 에러가 포함되어 있는지의 여부를 더 판단할 수 있다.
예컨대, 제1에러 검출 회로(50)로부터 출력된 에러 검출 신호(EDS3)가 제1값을 가질 때라도, 제1라이트 데이터(DW1)의 패리티 비트들과 피드백 라이트 데이터 (DFB)의 패리티 비트들이 서로 다르면, 버퍼 메모리 컨트롤러(36)는 제1라이트 데이터(DW1)를 입출력 인터페이스(44)를 통하여 외부 버퍼 메모리(34')로 다시 전송할 수 있다.
도 8은 도 6에 도시되고 본 발명의 다른 실시 예에 따른, 버퍼 메모리 컨트롤러, 입출력 인터페이스, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 2와 도 8을 참조하면, 제1에러 검출 회로(50)는 버퍼 메모리 컨트롤러 (36)로부터 출력된 제1에러 검출 데이터(DATA1)와, 피드백 라이트 데이터(DFB)에 기초하여 생성된 제2에러 검출 데이터(DATA2)의 비교 결과에 따라, 피드백 라이트 데이터(DFB)의 에러 발생 여부를 검출할 수 있다.
이때, 도 2의 제1에러 데이터 생성 회로(50-1)는 피드백 라이트 데이터(DFB)에 기초하여 제2에러 검출 데이터(DATA2)를 생성할 수 있다. 도 2의 제1비교 회로 (50-2)는 제1에러 검출 데이터(DATA1)와 제2에러 검출 데이터(DATA2)의 비교 결과에 따라 에러 검출 신호(EDS4=EDS1)를 생성한다.
상술한 바와 같이, 각 데이터(DW2와 DFB)는 입출력 인터페이스(44)의 특성에 따라 변경될 수 있다.
예컨대, 각 라이트 데이터(DW1, DW2, 및 DFB)가 서로 동일할 때, 도 2의 제1비교 회로(50-2)는 제1값을 갖는 에러 검출 신호(EDS4=EDS1)를 생성한다. 그외의 경우, 도 2의 제1비교 회로(50-2)는 제2값을 갖는 에러 검출 신호(EDS4=EDS1)를 생성한다.
버퍼 메모리 컨트롤러(36)는 제2값을 갖는 에러 검출 신호(EDS4)에 기초하여 제1라이트 데이터(DW1)를 외부 버퍼 메모리(34')로 다시 전송할지의 여부를 결정할 수 있다.
또한, 제2값을 갖는 에러 검출 신호(EDS4)가 프로세서(42)로 공급될 때, 프로세서(42)는 에러 검출 신호(EDS4)에 기초하여 버퍼 메모리 컨트롤러(36)를 제어할 수 있다. 따라서, 버퍼 메모리 컨트롤러(36)는 프로세서(42)의 제어에 따라 제1라이트 데이터(DW1)를 외부 버퍼 메모리(34')로 다시 전송할지의 여부를 결정할 수 있다.
도 9는 도 6에 도시되고 본 발명의 또 다른 실시 예에 따른, 버퍼 메모리 컨트롤러, 입출력 인터페이스, 및 제1에러 검출 회로를 포함하는 컨트롤러의 일부를 나타내는 블락도이다.
도 2와 도 9를 참조하면, 제1에러 검출 회로(50)는 버퍼 메모리 컨트롤러 (36)로부터 출력된 제1에러 검출 데이터(DATA1)와, 피드백 라이트 데이터(DFB)에 기초하여 생성된 제2에러 검출 데이터(DATA2)의 비교 결과에 따라 피드백 라이트 데이터(DFB)의 에러 발생 여부를 검출할 수 있다.
이때, 도 2의 제1에러 데이터 생성 회로(50-1)는 피드백 라이트 데이터(DFB)에 기초하여 제2에러 검출 데이터(DATA2)를 생성할 수 있다.
도 2의 제1비교 회로(50-2)는 제1에러 검출 데이터(DATA1)와 제2에러 검출 데이터(DATA2)의 비교 결과에 따라 에러 검출 신호(EDS5)를 생성한다.
상술한 바와 같이, 각 데이터(DW2와 DFB)는 입출력 인터페이스(44)의 특성에 따라 변경될 수 있다.
예컨대, 각 라이트 데이터(DW1, DW2, 및 DFB)가 서로 동일할 때, 도 2의 제1비교 회로(50-2)는 제1값을 갖는 에러 검출 신호(EDS5=EDS1)를 생성한다. 그외의 경우, 도 2의 제1비교 회로(50-2)는 제2값을 갖는 에러 검출 신호(EDS5=EDS1)를 생성한다.
버퍼 메모리 컨트롤러(36)는 제2값을 갖는 에러 검출 신호(EDS5)에 기초하여 제1라이트 데이터(DW1)를 외부 버퍼 메모리(34')로 다시 전송할지의 여부를 결정할 수 있다.
제2값을 갖는 에러 검출 신호(EDS5)가 프로세서(42)로 공급될 때, 프로세서 (42)는 에러 검출 신호(EDS5)에 기초하여 버퍼 메모리 컨트롤러(36)를 제어할 수 있다. 따라서, 버퍼 메모리 컨트롤러(36)는 프로세서(42)의 제어에 따라 제1라이트 데이터(DW1)를 외부 버퍼 메모리(34')로 다시 전송할지의 여부를 결정할 수 있다.
버퍼 메모리 컨트롤러(36)는 제1라이트 데이터(DW1)에 대한 패리티 비트들과 피드백 라이트 데이터(DFB)의 패리티 비트들을 서로 비교하고, 비교 결과에 따라 피드백 라이트 데이터(DFB)에 에러가 포함되어 있는지의 여부를 판단할 수 있다.
예컨대, 제1에러 검출 회로(50)로부터 출력된 에러 검출 신호(EDS5)가 제1값을 가질 때라도, 제1라이트 데이터(DW1)의 패리티 비트들과 피드백 라이트 데이터 (DFB)의 패리티 비트들이 서로 다르면, 버퍼 메모리 컨트롤러(36)는 제1라이트 데이터(DW1)를 입출력 인터페이스(44)를 통하여 외부 버퍼 메모리(34')로 다시 전송할 수 있다.
도 10은 도 1 또는 도 6에 도시된 데이터 처리 시스템의 개략적인 동작을 설명하기 위한 플로우차트이다.
도 1부터 도 10을 참조하면, 제1에러 검출 회로(50)는 라이트 데이터(DW1, DW2, 또는 DEXT)가 버퍼 메모리(34 또는 34')로 전송되는 동안에, 라이트 데이터 (DW1, DW2, 또는 DEXT)의 에러를 검출한다(S10).
버퍼 메모리 컨트롤러(36)는 에러 검출 결과, 예컨대 에러 검출 신호(EDS1, EDS3, EDS4, 또는 EDS5)에 기초하여 라이트 데이터(DW1)를 버퍼 메모리(34 또는 34')로 다시 전송할지의 여부를 결정할 수 있다.
도 3, 도 7, 도 8, 또는 도 9에 도시된 바와 같이, 버퍼 메모리 컨트롤러(36)가 프로세서(42)의 제어에 따라 동작할 때, 버퍼 메모리 컨트롤러(36)는 프로세서(42)로부터 출력된 제어 신호에 기초하여 라이트 데이터(DW1)를 버퍼 메모리(34 또는 34')로 다시 전송할지의 여부를 결정할 수 있다.
상술한 바와 같이, 버퍼 메모리 컨트롤러(36)는 독립적으로 또는 프로세서 (42)의 제어에 따라 라이트 데이터(DW1)를 버퍼 메모리(34 또는 34')로 다시 전송할지의 여부를 결정할 수 있다.
도 11은 도 1 또는 도 6에 도시된 데이터 처리 시스템의 구체적인 동작을 설명하기 위한 플로우차트이다.
도 1, 도 2, 도 3, 도 6부터 도 9, 및 도 11을 참조하면, 버퍼 메모리 컨트롤러(36)는 수신된 제1라이트 데이터(DW1)에 기초하여 제1에러 검출 데이터(DATA1)를 생성할 수 있다(S20).
제1에러 검출 회로(50)는 버퍼 메모리 컨트롤러(36)로부터 출력된 제2라이트 데이터(DW2)를 수신하고, 수신된 제2라이트 데이터(DW2)에 기초하여 제2에러 검출 데이터(DATA2)를 생성할 수 있다(S22).
제1비교 회로(54)는 제1에러 검출 데이터(DATA1)와 제2에러 검출 데이터 (DATA2)를 서로 비교하고, 비교 결과에 따라 에러 검출 신호(EDS1, EDS3, EDS4, 또는 EDS5)을 생성할 수 있다(S24).
에러 검출 신호(EDS1, EDS3, EDS4, 또는 EDS5)는 버퍼 메모리 컨트롤러(36) 또는 프로세서(42)로 전송될 수 있다(S26).
도 12는 도 1 또는 도 6에 도시된 데이터 처리 시스템의 구체적인 동작을 설명하기 위한 플로우 차트이다.
도 1, 도 4, 도 5, 도 6, 및 도 12를 참조하면, 버퍼 메모리 컨트롤러(36)는 수신된 제1라이트 데이터(DW1)에 기초하여 제1에러 검출 데이터(DATA1)를 생성할 수 있다(S30).
제2에러 검출 회로(52)는 버퍼 메모리(34 또는 34')로부터 출력된 제3라이트 데이터(DW3)를 수신하고, 제3라이트 데이터(DW3)에 기초하여 제3에러 검출 데이터 (DATA3)를 생성할 수 있다(S32).
제2비교 회로(54')는 제1에러 검출 데이터(DATA1)와 제3에러 검출 데이터 (DATA3)를 비교하고, 비교 결과에 따라 에러 검출 신호(EDS2)를 생성할 수 있다 (S34).
에러 검출 신호(EDS2)는 버퍼 메모리 컨트롤러(36) 또는 프로세서(42)로 전송될 수 있다(S36).
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10, 10': 데이터 처리 시스템
20: 미디어
25: 호스트
30: 컨트롤러
34: 내부 버퍼 메모리
34': 외부 버퍼 메모리
36: 버퍼 메모리 컨트롤러
42: 프로세서
50: 제1에러 검출 회로
50-1: 제1에러 데이터 생성 회로
50-2: 제1비교 회로
52: 제2에러 검출 회로
52-1: 제2에러 데이터 생성 회로
52-2: 제2비교 회로
20: 미디어
25: 호스트
30: 컨트롤러
34: 내부 버퍼 메모리
34': 외부 버퍼 메모리
36: 버퍼 메모리 컨트롤러
42: 프로세서
50: 제1에러 검출 회로
50-1: 제1에러 데이터 생성 회로
50-2: 제1비교 회로
52: 제2에러 검출 회로
52-1: 제2에러 데이터 생성 회로
52-2: 제2비교 회로
Claims (10)
- 버퍼 메모리 컨트롤러에서, 버퍼 메모리에 라이트될 제1라이트 데이터에 기초하여 제1에러 검출 데이터를 생성하는 단계;
에러 검출 회로에서, 상기 제1라이트 데이터에 연관된 제2라이트 데이터에 기초하여 제2에러 검출 데이터를 생성하는 단계; 및
상기 에러 검출 회로에서, 상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터를 서로 비교하고 비교 결과에 따라 에러 검출 신호를 생성하는 단계를 포함하는 라이트 데이터의 에러를 검출하는 방법. - 제1항에 있어서,
상기 제2라이트 데이터는 상기 버퍼 메모리 컨트롤러로부터 출력되는 라이트 데이터의 에러를 검출하는 방법. - 제1항에 있어서,
상기 제2라이트 데이터는 상기 버퍼 메모리로부터 리드되는 라이트 데이터의 에러를 검출하는 방법. - 제1항에 있어서,
상기 제2라이트 데이터는 상기 버퍼 메모리 컨트롤러와 상기 버퍼 메모리 사이에 접속된 입출력 인터페이스로부터 피드백되는 라이트 데이터의 에러를 검출하는 방법. - 제1항에 있어서,
상기 버퍼 메모리 컨트롤러는 상기 에러 검출 신호에 응답하여 상기 제1라이트 데이터를 상기 버퍼 메모리로 재전송하는 단계를 더 포함하는 라이트 데이터의 에러를 검출하는 방법. - 버퍼 메모리에 라이트될 제1라이트 데이터에 기초하여 제1에러 검출 데이터를 생성하는 버퍼 메모리 컨트롤러; 및
상기 제1라이트 데이터에 연관된 제2라이트 데이터에 기초하여 제2에러 검출 데이터를 생성하고, 상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터를 서로 비교하고, 비교 결과에 따라 에러 검출 신호를 생성하는 에러 검출 회로를 포함하는 데이터 처리 시스템. - 제6항에 있어서, 상기 에러 검출 회로는,
상기 제2라이트 데이터에 기초하여 상기 제2에러 검출 데이터를 생성하는 에러 데이터 생성 회로; 및
상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터를 서로 비교하고 상기 에러 검출 신호를 생성하는 비교 회로를 포함하며,
상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터 각각은 패리트 비트들(parity bits)을 포함하는 데이터 처리 시스템. - 제6항에 있어서,
상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터가 서로 다를 때 생성된 상기 에러 검출 신호는 상기 제1라이트 데이터가 상기 버퍼 메모리로 전송되는 도중에 상기 제1라이트 데이터와 다른 상기 제2라이트 데이터로 변경되었음을 나타내는 데이터 처리 시스템. - 제6항에 있어서,
상기 제1에러 검출 데이터와 상기 제2에러 검출 데이터가 서로 같을 때 생성된 상기 에러 검출 신호는 상기 제1라이트 데이터와 동일한 상기 제2라이트 데이터가 상기 버퍼 메모리로 전송됨을 나타내는 데이터 처리 시스템. - 제6항에 있어서,
상기 버퍼 메모리 컨트롤러는 상기 에러 검출 신호에 응답하여 상기 제1라이트 데이터를 상기 버퍼 메모리로 재전송하는 데이터 처리 시스템.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020120027512A KR20130105972A (ko) | 2012-03-19 | 2012-03-19 | 라이트 데이터의 에러 검출 방법 및 상기 방법을 수행할 수 있는 데이터 처리 시스템 |
| US13/799,609 US20130246847A1 (en) | 2012-03-19 | 2013-03-13 | Method of detecting error in write data and data processing system to perform the method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020120027512A KR20130105972A (ko) | 2012-03-19 | 2012-03-19 | 라이트 데이터의 에러 검출 방법 및 상기 방법을 수행할 수 있는 데이터 처리 시스템 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20130105972A true KR20130105972A (ko) | 2013-09-27 |
Family
ID=49158845
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020120027512A Withdrawn KR20130105972A (ko) | 2012-03-19 | 2012-03-19 | 라이트 데이터의 에러 검출 방법 및 상기 방법을 수행할 수 있는 데이터 처리 시스템 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20130246847A1 (ko) |
| KR (1) | KR20130105972A (ko) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150040537A (ko) * | 2013-10-07 | 2015-04-15 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 포함하는 반도체 시스템 |
| KR20180055148A (ko) * | 2016-11-16 | 2018-05-25 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10489240B2 (en) * | 2015-09-25 | 2019-11-26 | Microsoft Technology Licensing, Llc | Efficient detection of corrupt data |
| KR102507302B1 (ko) * | 2018-01-22 | 2023-03-07 | 삼성전자주식회사 | 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
| FR3100346B1 (fr) * | 2019-09-04 | 2022-07-15 | St Microelectronics Rousset | Détection d'erreurs |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5285456A (en) * | 1991-05-15 | 1994-02-08 | International Business Machines Corporation | System and method for improving the integrity of control information |
| US5566193A (en) * | 1994-12-30 | 1996-10-15 | Lucent Technologies Inc. | Method and apparatus for detecting and preventing the communication of bit errors on a high performance serial data link |
| US8250453B2 (en) * | 2008-12-22 | 2012-08-21 | Hitachi Ltd. | Storage apparatus and data verification method in storage apparatus |
-
2012
- 2012-03-19 KR KR1020120027512A patent/KR20130105972A/ko not_active Withdrawn
-
2013
- 2013-03-13 US US13/799,609 patent/US20130246847A1/en not_active Abandoned
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20150040537A (ko) * | 2013-10-07 | 2015-04-15 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이를 포함하는 반도체 시스템 |
| KR20180055148A (ko) * | 2016-11-16 | 2018-05-25 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20130246847A1 (en) | 2013-09-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20240096392A1 (en) | Data storage device and operating method thereof | |
| TWI756297B (zh) | 記憶體系統及其操作方法 | |
| US11094364B2 (en) | Data storage device and operating method thereof | |
| CN110716883B (zh) | 存储器系统及其操作方法 | |
| JP6345210B2 (ja) | 軟判定復号のための物理アドレスの相互関連付け | |
| US20170269992A1 (en) | Data reliability information in a non-volatile memory device | |
| US10521341B2 (en) | Memory system and operating method to perform read reclaim operation based on read count | |
| US11907066B2 (en) | Managing storage of multiple plane parity data in a memory sub-system | |
| KR102768318B1 (ko) | 데이터 저장 장치의 에러 정정 코드 처리 방법 | |
| CN108932203A (zh) | 数据处理系统和数据处理方法 | |
| US20160179596A1 (en) | Operating method of data storage device | |
| US11194512B2 (en) | Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof | |
| KR20130105972A (ko) | 라이트 데이터의 에러 검출 방법 및 상기 방법을 수행할 수 있는 데이터 처리 시스템 | |
| KR20140113851A (ko) | 메모리 컨트롤러, 및 이의 동작 방법 | |
| US11830545B2 (en) | Data programming techniques to store multiple bits of data per memory cell with high reliability | |
| US11556261B2 (en) | Memory stripe coding management | |
| US10642531B2 (en) | Atomic write method for multi-transaction | |
| US20240419544A1 (en) | Reduction of Errors in Data Retrieved from a Memory Device to Apply an Error Correction Code of a Predetermined Code Rate | |
| US11429612B2 (en) | Address search circuit and method of semiconductor memory apparatus and controller therefor | |
| US12602275B2 (en) | System-level coordinated resilience | |
| US11501840B1 (en) | Proximity disturb remediation based on a number of programmed memory cells | |
| US12142333B2 (en) | Error correction in a memory device having an error correction code of a predetermined code rate | |
| US11474738B1 (en) | Probabilistic data integrity scan enhanced by a supplemental data integrity scan | |
| US20230342244A1 (en) | Read Look Ahead Optimization According To NVMe Dataset Management Hints |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20120319 |
|
| PG1501 | Laying open of application | ||
| PC1203 | Withdrawal of no request for examination | ||
| WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |