KR101252382B1 - 데이터 축적 장치 및 데이터 기록/판독 방법 - Google Patents
데이터 축적 장치 및 데이터 기록/판독 방법 Download PDFInfo
- Publication number
- KR101252382B1 KR101252382B1 KR1020110018645A KR20110018645A KR101252382B1 KR 101252382 B1 KR101252382 B1 KR 101252382B1 KR 1020110018645 A KR1020110018645 A KR 1020110018645A KR 20110018645 A KR20110018645 A KR 20110018645A KR 101252382 B1 KR101252382 B1 KR 101252382B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- error
- page
- parity
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/1044—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 with specific ECC/EDC distribution
-
- 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; CALCULATING OR 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
- G06—COMPUTING; CALCULATING OR 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1057—Parity-multiple bits-RAID6, i.e. RAID 6 implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 메모리칩이 고장난 경우라도, 영상 데이터를 정상적으로 재생할 수 있는 데이터 축적 장치 및 데이터 기록/판독 방법을 제공하는 것을 목적으로 한다.
데이터 축적 장치는, 영상 데이터의 수록시에서, 오류 정정 부호화부(16)에 의해, 인코더(11)로부터의 부호화 데이터에 대하여 리드 솔로몬 정정 부호 등의 오류 정정 부호를 부가하고, RAID 제어부(12)에 의해, 분산 데이터와 패리티 데이터를 오류 검출부(13-1∼13-4)에 출력하며, ECC 부가부(141-1∼141-4)에 의해, 오류 검출부(13-1∼13-4)로부터의 분산 데이터 또는 패리티 데이터에 대하여 ECC를 부가한다. 그리고, 반도체 메모리 영상 축적 재생 장치는, 영상 데이터의 재생시에서, ECC 부가부(141-1∼141-4)에 의해, 비트 오류를 정정하고, RAID 제어부(12)에 의해, 분산 데이터를 복원하며, 오류 정정 복호화부(17)에 의해, 버스트 오류를 정정한다.
데이터 축적 장치는, 영상 데이터의 수록시에서, 오류 정정 부호화부(16)에 의해, 인코더(11)로부터의 부호화 데이터에 대하여 리드 솔로몬 정정 부호 등의 오류 정정 부호를 부가하고, RAID 제어부(12)에 의해, 분산 데이터와 패리티 데이터를 오류 검출부(13-1∼13-4)에 출력하며, ECC 부가부(141-1∼141-4)에 의해, 오류 검출부(13-1∼13-4)로부터의 분산 데이터 또는 패리티 데이터에 대하여 ECC를 부가한다. 그리고, 반도체 메모리 영상 축적 재생 장치는, 영상 데이터의 재생시에서, ECC 부가부(141-1∼141-4)에 의해, 비트 오류를 정정하고, RAID 제어부(12)에 의해, 분산 데이터를 복원하며, 오류 정정 복호화부(17)에 의해, 버스트 오류를 정정한다.
Description
여기서 설명되는 실시형태들은 데이터 축적 장치 및 데이터 기록/판독 방법에 관한 것이다.
최근, 영상 데이터를 축적하는 데이터 축적 장치에서는, 내장되는 메모리 유닛의 신뢰성, 가용성의 향상과 액세스의 고속화를 도모하기 위해, RAID(Redundant Arrays of Inexpensive Disks) 기구를 저장하는 경우가 많다(예컨대, 특허문헌 1 참조). 이 RAID 기구에는 여러 종류의 레벨이 있다. 신뢰성·가용성과 경제성의 밸런스가 우수하기 때문에, RAID5 방식이 널리 채용되고 있다. RAID5 방식은, 각 메모리 유닛에 패리티 정보를 분산 배치하는 방식이다. RAID5 방식에 의하면, 1대의 메모리 유닛이 고장난 경우 경우라도 데이터를 보상할 수 있고, 스트라이핑에 의해 평상시의 판독의 고속화를 실현할 수 있으며, 1대분의 메모리 유닛을 여분으로 갖는 것만으로 된다는 경제성을 갖고 있다.
그런데, 최근, 플래시 메모리 등의 반도체 메모리는, 가동 부분이 없고, 신뢰성이 높다는 이점으로, 데이터 축적 장치의 메모리 유닛에 빈번히 이용되고 있다. 이 종류의 메모리 유닛은, 반도체 메모리로 이루어지는 메모리칩을 복수 구비하고, 이 메모리칩에 데이터를 기록하도록 하고 있다. 그러나, 메모리칩을 복수 구비한 메모리 유닛에서는, 기록 횟수의 초과 등의 이유에 의해, 메모리칩이 고장나는 경우가 있다.
도 1은 제1 실시형태에 따른 데이터 축적 장치의 기능 구성을 도시하는 블록도.
도 2는 도 1의 데이터 축적 장치에서의 데이터 블록에 대한 처리를 도시하는 도면.
도 3은 도 1의 데이터 축적 장치에서의 패리티 데이터 블록에 대한 처리를 도시하는 도면.
도 4는 데이터 블록 및 패리티 데이터 블록의 도 1의 메모리에의 축적예를 도시하는 도면.
도 5는 도 1의 RAID 제어부가 데이터를 복원할 때의 흐름도를 도시하는 도면.
도 6은 제2 실시형태에 따른 데이터 축적 장치의 기능 구성을 도시하는 블록도.
도 7은 도 6의 데이터 축적 장치에서의 데이터 블록 및 패리티 데이터 블록에 대한 처리를 도시하는 도면.
도 8은 도 6의 S/P 변환부의 병렬화 처리를 도시하는 도면.
도 9는 데이터 블록 또는 패리티 데이터 블록의 도 6의 메모리에의 축적예를 도시하는 도면.
도 10은 데이터 블록 또는 패리티 데이터 블록의 도 6의 메모리에의 축적예를 도시하는 도면.
도 11은 도 6의 RAID 제어부가 데이터를 복원할 때의 흐름도를 도시하는 도면.
도 2는 도 1의 데이터 축적 장치에서의 데이터 블록에 대한 처리를 도시하는 도면.
도 3은 도 1의 데이터 축적 장치에서의 패리티 데이터 블록에 대한 처리를 도시하는 도면.
도 4는 데이터 블록 및 패리티 데이터 블록의 도 1의 메모리에의 축적예를 도시하는 도면.
도 5는 도 1의 RAID 제어부가 데이터를 복원할 때의 흐름도를 도시하는 도면.
도 6은 제2 실시형태에 따른 데이터 축적 장치의 기능 구성을 도시하는 블록도.
도 7은 도 6의 데이터 축적 장치에서의 데이터 블록 및 패리티 데이터 블록에 대한 처리를 도시하는 도면.
도 8은 도 6의 S/P 변환부의 병렬화 처리를 도시하는 도면.
도 9는 데이터 블록 또는 패리티 데이터 블록의 도 6의 메모리에의 축적예를 도시하는 도면.
도 10은 데이터 블록 또는 패리티 데이터 블록의 도 6의 메모리에의 축적예를 도시하는 도면.
도 11은 도 6의 RAID 제어부가 데이터를 복원할 때의 흐름도를 도시하는 도면.
[제1 실시형태]
이하, 도면을 참조하면서 본 발명에 따른 데이터 축적 장치의 실시형태에 대해서 상세히 설명한다.
도 1은, 제1 실시형태에 따른 데이터 축적 장치의 기능 구성을 도시하는 블록도이다. 도 1에서의 데이터 축적 장치는 인코더(11), RAID(Redundant Arrays of Independent Disks) 제어부(12), 오류 검출부(13-1∼13-4), 메모리 유닛(14-1∼14-4), 디코더(15), 오류 정정 부호화부(16) 및 오류 정정 복호화부(17)를 구비한다. 데이터 축적 장치는, RAID5를 채용한 구조를 하고 있다.
인코더(11)는, 오류 정정 부호화부(16)와 접속한다.
디코더(15)는, 오류 정정 복호화부(17)와 접속한다.
RAID 제어부(12)에는, 오류 정정 부호화부(16) 및 오류 정정 복호화부(17)가 접속된다. 또한 RAID 제어부(12)는, 접속 인터페이스(121-1∼121-4)를 구비하고, 이 접속 인터페이스(121-1∼121-4)에 의해, 오류 검출부(13-1∼13-4)와 접속한다. 오류 검출부(13-1∼13-4)에는 메모리 유닛(14-1∼14-4)이 접속된다.
인코더(11)는, 카메라 등으로부터 영상 데이터 스트림을 취득하고, 이 영상 데이터 스트림을 미리 설정된 부호화 방식으로 부호화한다. 인코더(11)는, 부호화 데이터 스트림을 오류 정정 부호화부(16)에 출력한다.
오류 정정 부호화부(16)는, 인코더(11)로부터의 부호화 데이터 스트림에 대하여, 버스트 오류를 정정할 수 있는 오류 정정 부호에 의해 부호화한다. 버스트 오류를 정정할 수 있는 오류 정정 부호에는, 예컨대 리드 솔로몬 정정 부호 등이 있다. 오류 정정 부호화부(16)는, 오류 정정 부호화한 부호화 데이터 스트림을 RAID 제어부(12)에 출력한다.
RAID 제어부(12)는 영상 데이터의 수록시에, 부호화 데이터 스트림을 기록 페이지 단위로 3개의 데이터 블록으로 분산시킨다. RAID 제어부(12)는, 기록 페이지 단위로 패리티 데이터 블록을 작성한다. 또한, 기록 단위인 1 페이지의 용량은, 메모리칩에 의해 정해져 있기 때문에, 1 페이지의 데이터 사이즈는 칩의 페이지 사이즈×동시 기록칩 수에 의해 정해진다. 패리티 데이터 블록은, 3개의 데이터 블록과, 패리티 데이터 블록에서 짝수개(0개를 포함)의 "1"을 포함하도록 패리티 데이터가 생성되어 있다. RAID 제어부(12)는, 데이터 블록을 접속 인터페이스(121-1∼121-4) 중 3개의 접속 인터페이스에 출력하고, 패리티 데이터 블록을 접속 인터페이스(121-1∼121-4) 중 1개의 접속 인터페이스에 출력한다. RAID 제어부(12)는, 데이터 블록을 출력하는 접속 인터페이스와, 패리티 데이터 블록을 출력하는 접속 인터페이스를 순차 전환하여, 접속 인터페이스(121-1∼121-4) 중 어느 하나의 접속 인터페이스에 패리티 데이터 블록을 출력하도록 한다.
또한, RAID 제어부(12)는, 영상 데이터의 재생시에, 오류 검출부(13-1∼13-4)로부터의 데이터 블록 및 패리티 데이터 블록을 접속 인터페이스(121-1∼121-4)를 통해 수신한다. RAID 제어부(12)는, 데이터 블록 중 어느 하나에 오류가 발생하고 있는 경우, 정상적인 데이터 블록과 패리티 데이터 블록에 기초하여, 오류가 발생한 데이터 블록을 복원한다. RAID 제어부(12)는, 복원된 데이터 블록과 정상적인 데이터 블록을 합성하여 부호화 데이터 스트림을 작성하고, 오류 정정 복호화부(17)에 출력한다. 한편, 오류가 발생하지 않는 경우, RAID 제어부(12)는, 오류 검출부(13-1∼13-4) 중 3개로부터의 데이터 블록을 합성하여, 부호화 데이터 스트림을 생성한다. RAID 제어부(12)는, 부호화 데이터 스트림을 오류 정정 복호화부(17)에 출력한다.
오류 정정 복호화부(17)는, RAID 제어부(12)로부터의 부호화 데이터 스트림을, 오류 정정 부호화부(16)에서의 오류 정정 부호에 기초하여 오류 정정 복호화한다. 오류 정정 복호화부(17)는 오류 정정 복호화된 부호화 데이터 스트림을 디코더(15)에 출력한다.
디코더(15)는, 오류 정정 복호화부(17)로부터의 부호화 데이터 스트림을, 인코더(11)에서의 부호화 방식에 따른 복호화 방식에 의해 복호화한다. 디코더(15)는 복호화한 데이터를 외부에 출력한다.
오류 검출부(13-1)는, 영상 데이터의 수록시에, RAID 제어부(12)로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여, 체크섬 등의 오류 검출 부호를 부가한다. 오류 검출부(13-1)는, 오류 검출 부호를 부가한 데이터 블록 또는 패리티 데이터 블록을 메모리 유닛(14-1∼14-4)에 각각 출력한다.
또한, 오류 검출부(13-1)는, 영상 데이터의 재생시에, 메모리 유닛(14-1)으로부터의 데이터 블록 또는 패리티 데이터 블록에 오류가 발생하고 있는지의 여부를, 오류 검출 부호에 기초하여 판단한다. 오류 검출부(13-1)는, 데이터 블록 또는 패리티 데이터 블록에서의 오류를 검출한 경우, RAID 제어부(12)에 검출 신호를 출력한다. 또한 오류 검출부(13-2∼13-4)의 동작은, 오류 검출부(13-1)와 같다.
메모리 유닛(14-1∼14-4)은, ECC 부가부(141-1∼141-4), 메모리(142-1∼142-4)를 각각 구비한다. 메모리(142-1∼142-4)는 메모리 제어부(1421-1∼1421-4)와, 플래시 메모리 등의 반도체 메모리로 이루어지는 메모리칩(1422-11∼1422-132, …, 1422-41∼1422-432)을 각각 구비한다. 또한, 본 실시형태에서는, 메모리칩의 수를 32개로 하고 있지만, 메모리칩의 수는 이것으로 한정되지 않는다.
메모리 유닛(14-1∼14-4)은, 영상 데이터의 수록시에, 오류 검출부(13-1∼13-4)로부터의 데이터 블록 또는 패리티 데이터 블록을 기록한다. 또한, 메모리 유닛(14-1∼14-4)에서의 처리는, 각각 마찬가지이기 때문에, 여기서는 메모리 유닛(14-1)에서의 처리를 대표하여 설명한다.
ECC 부가부(141-1)는, 오류 검출부(13-1)로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여 비트 오류 정정 부호인 ECC를 부가한다. ECC가 부가된 데이터 블록 또는 패리티 데이터 블록은, 메모리(142-1)에 출력된다.
메모리(142-1)에서, 메모리 제어부(1421-1)는, ECC 부가부(141-1)로부터의 데이터 블록 또는 패리티 데이터 블록을 수신하면, 메모리칩(1422-11∼1422-132)에 데이터 블록 또는 패리티 데이터 블록을 페이지 단위로 기록한다.
또한, 메모리 유닛(14-1∼14-4)은, 영상 데이터의 재생시에, 기록된 데이터 블록 또는 패리티 데이터 블록을 판독하여, 오류 검출부(13-1∼13-4)에 출력한다. 또한 메모리 유닛(14-1∼14-4)에서의 처리는, 각각 마찬가지이기 때문에, 여기서는, 메모리 유닛(14-1)에서의 처리를 대표하여 설명한다.
메모리 제어부(1421-1)는, 메모리칩(1422-11∼1422-132)에 기록된 데이터 블록 또는 패리티 데이터 블록을 판독하여, ECC 부가부(141-1)에 출력한다.
ECC 부가부(141-1)는, 메모리(142-1)로부터의 데이터 블록 또는 패리티 데이터 블록의 판독 오류를, ECC에 기초하여 정정한다. ECC 부가부(141-1)는 판독 오류를 정정한 데이터 블록 또는 패리티 데이터 블록을 오류 검출부(13-1)에 출력한다.
다음에, 상기 구성에서의 데이터 축적 장치의 동작을 구체적으로 설명한다.
도 2는 제1 실시형태에 따른 데이터 축적 장치가 데이터 블록 또는 패리티 데이터 블록을 기록할 때의 처리를 도시하는 모식도이다. 또한, 도 3은 제1 실시형태에 따른 데이터 축적 장치의 RAID 제어부(12)가 패리티 데이터 블록을 작성하는 처리를 도시하는 모식도이다. 도 2 및 도 3에서, 본 실시형태에서는, 1 페이지의 용량을 2048 byte로 하지만, 1 페이지의 용량은 이 값으로 한정되지 않는다.
오류 정정 부호화부(16)는, 영상 데이터의 수록시에, 인코더(11)로부터의 부호화 데이터 스트림에 대하여, 224 byte의 실제 데이터마다 16 byte의 리드 솔로몬 정정 부호를 부가하여, 도 2의 (a)에 도시하는 부호화 데이터 스트림을 RAID 제어부(12)에 출력한다. 16 byte의 리드 솔로몬 정정 부호를 부가함으로써 8 byte까지의 오류를 정정할 수 있게 된다.
오류 정정 복호화부(17)는, 영상 데이터의 재생시에, RAID 제어부(12)로부터 도 2의 (a)에 도시하는 부호화 데이터 스트림을 수신하고, 리드 솔로몬 정정 부호를 이용하여, 실제 데이터에서의 오류를 정정한다.
RAID 제어부(12)는, 영상 데이터의 수록시에, 오류 정정 부호화부(16)로부터의 부호화 데이터 스트림을, 6093 byte씩 분할하고, 또한 2031 byte의 3개의 데이터 블록으로 분산한다. 도 2의 (b)는 그 중 하나를 도시하고 있다. 이 때, 데이터 블록은 1 페이지분의 용량 2048 byte보다, 17 byte 적게 되어 있다. RAID 제어부(12)는, 도 2의 (b)에 도시하는 데이터 블록을 오류 검출부(13-1∼13-4) 중 3개의 오류 검출부에 출력한다.
또한, RAID 제어부(12)는, 오류 정정 부호화부(16)로부터의 부호화 데이터 스트림을 도 3의 (a)에 도시하는 데이터 블록으로 분산하고, 도 3의 (b)에 도시하는 2031 byte의 패리티 데이터 블록을 작성한다. 이 때, 패리티 데이터 블록은, 1 페이지분의 용량 2048 byte보다, 17 byte 적게 되어 있다. RAID 제어부(12)는, 도 3의 (b)에 도시하는 패리티 데이터 블록을 오류 검출부(13-1∼13-4) 중 1개의 오류 검출부에 출력한다.
또한, RAID 제어부(12)는, 영상 데이터의 재생시에, 오류 검출부(13-1∼13-4) 중 3개의 오류 검출부로부터 도 2의 (b)에 도시하는 데이터 블록을 수신한다. 또한, RAID 제어부(12)는, 오류 검출부(13-1∼13-4) 중 1개의 오류 검출부로부터 도 3의 (b)에 도시하는 패리티 데이터 블록을 수신한다.
RAID 제어부(12)는, 오류 검출부(13-1∼13-4) 중 어느 하나로부터 검출 신호를 수신한 경우, 검출 신호를 생성한 오류 검출부로부터 공급된 데이터 블록 또는 패리티 데이터 블록에는 오류가 발생하고 있는 것으로 판단한다. 데이터 블록 중 어느 하나에 오류가 포함되는 것으로 판단한 경우, RAID 제어부(12)는, 나머지 데이터 블록과 패리티 데이터 블록에 기초하여 오류를 포함하는 데이터 블록을 복원한다. RAID 제어부(12)는, 복원된 데이터 블록과 나머지 데이터 블록을 합성하여 도 2의 (a)에 도시하는 부호화 데이터 스트림을 생성한다. 데이터 블록에 오류가 포함되어 있지 않는 경우, RAID 제어부(12)는, 오류 검출부(13-1∼13-4) 중 3개의 오류 검출부로부터의 데이터 블록을 합성하여 도 2의 (a)에 도시하는 부호화 데이터 스트림을 생성한다. RAID 제어부(12)는, 부호화 데이터 스트림을 오류 정정 복호화부(17)에 출력한다.
오류 검출부(13-1)는, 영상 데이터의 수록시에, RAID 제어부(12)로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여, 도 2의 (c)에 도시하는 바와 같이 1 byte의 체크섬을 부가한다. 오류 검출부(13-1)는, 도 2의 (c)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 메모리 유닛(14-1∼14-4)에 출력한다.
또한 오류 검출부(13-1)는, 영상 데이터의 재생시에, 메모리 유닛(14-1)으로부터, 도 2의 (c)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 수신한다. 오류 검출부(13-1)는 체크섬을 참조하여, 데이터 블록 또는 패리티 데이터 블록에 오류가 발생하고 있는지의 여부를 판단한다. 데이터 블록 또는 패리티 데이터 블록에 오류가 발생하고 있는 것으로 판단한 경우, 오류 검출부(13-1)는, 검출 신호를 생성하여, RAID 제어부(12)에 출력한다. 오류 검출부(13-1)는, 도 2의 (b)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 RAID 제어부(12)에 출력한다.
ECC 부가부(141-1)는, 영상 데이터의 수록시에, 오류 검출부(13-1)로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여, 도 2의 (d)에 도시하는 바와 같이 체크섬 후에 16 byte의 ECC를 부가한다. ECC 부가부(141-1)는, 도 2의 (d)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 메모리(142-1)에 출력한다. 이것에 의해, 2048 byte 모두가 가득차게 된다. ECC가 부가된 데이터 블록 또는 패리티 데이터 블록은, 메모리 제어부(1421-1)에 의해 메모리칩(1422-11∼1422-132)에 기록된다.
또한, ECC 부가부(141-1)는, 영상 데이터의 재생시에, 메모리(142-1)로부터, 도 2의 (d)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 수신한다. ECC 부가부(141-1)는, ECC을 이용하여, 데이터 블록 또는 패리티 데이터 블록의 실제 데이터를 정정한다. ECC 부가부(141-1)는, 도 2의 (c)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 오류 검출부(13-1)에 출력한다.
도 4는 전술한 기록 처리에 의해 메모리(142-1∼142-4)에 기록된 데이터 블록 및 패리티 데이터 블록의 모식도를 도시한다. 도 4에서, D11, D12, D13 …은 데이터 블록을 나타내고, P10, P20, P30…은 패리티 데이터 블록을 나타낸다. 여기서, 데이터 블록 및 패리티 데이터 블록은, 메모리칩의 기록 단위인 1 페이지 단위로 기록되어 있다. 또한 패리티 데이터 블록을 기록하는 메모리 유닛은, RAID 제어부(12)에 의해, 상이한 메모리 유닛에 페이지 단위로 순차 할당된다.
도 5는 일 실시형태에 따른 데이터 축적 장치에서의 RAID 제어부(12)가 데이터를 복원할 때의 흐름도이다.
RAID 제어부(12)는, 오류 검출부(13-1∼13-4) 중 어느 하나의 오류 검출부로부터 검출 신호가 있었는지의 여부를 판단한다(단계 S51). RAID 제어부(12)는, 검출 신호가 있었던 경우(단계 S51의 Yes), 검출 신호가 있었던 오류 검출부(13-1∼13-4)로부터의 데이터 블록 및 패리티 데이터 블록에 오류가 있었던 것으로 판단한다. RAID 제어부(12)는, 데이터 블록에 오류가 발생했는지의 여부를 판단한다(단계 S52). RAID 제어부(12)는, 데이터 블록에 오류가 발생한 경우(단계 S52의 Yes), 정상이던 2개의 데이터 블록과, 패리티 데이터 블록에 기초하여, 오류가 발생한 데이터 블록을 복원한다(단계 S53). RAID 제어부(12)는, 복원된 데이터 블록과, 2개의 정상적인 데이터 블록을 합성하여 부호화 데이터 스트림으로 하고, 이 부호화 데이터 스트림을 오류 정정 복호화부(17)에 출력한다(단계 S54).
RAID 제어부(12)는, 단계 S51에서 검출 신호를 수신하지 않는 경우(단계 S51의 No), 3개의 데이터 블록을 합성하여 부호화 데이터 스트림으로 하고, 이 부호화 데이터 스트림을 오류 정정 복호화부(17)에 출력한다(단계 S55).
RAID 제어부(12)는, 단계 S52에서 데이터 블록에 오류가 발생하지 않는 경우(단계 S52의 No), 처리를 단계 S55에 이행한다.
이상과 같이, 상기 제1 실시형태에서, 데이터 축적 장치는, 영상 데이터의 수록시에서, 오류 정정 부호화부(16)에 의해, 인코더(11)로부터의 부호화 데이터 스트림에 대하여 리드 솔로몬 정정 부호 등의 오류 정정 부호를 부가하고, RAID 제어부(12)에 의해, 패리티 데이터 블록을 작성하며, ECC 부가부(141-1∼141-4)에 의해, 오류 검출부(13-1∼13-4)로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여 ECC를 부가한다. 그리고, 데이터 축적 장치는, 영상 데이터의 재생시에서, ECC 부가부(141-1∼141-4)에 의해, 메모리(142-1∼142-4)로부터의 데이터 블록 및 패리티 데이터 블록의 비트 오류를 정정하고, RAID 제어부(12)에 의해, 오류가 발생한 데이터 블록을 복원하며, 오류 정정 복호화부(17)에 의해, RAID 제어부(12)로부터의 부호화 데이터 스트림의 버스트 오류를 정정하도록 하고 있다. 이와 같이, 데이터 축적 장치는, 영상 데이터의 수록·재생시에, 3중의 용장화를 행하도록 하고 있다.
종래의 데이터 축적 장치에서는, 데이터의 기록/판독시의 비트 오류를 ECC 부가부에 의해 정정하고, 메모리칩 고장과 같이 메모리칩 전체가 손상된 경우는, RAID 제어부에 의해 패리티 데이터 블록을 이용하여 데이터를 복원하고 있었다. 그러나, 종래의 데이터 축적 장치에서는, 복수의 메모리 유닛에서 메모리칩 고장이 발생한 경우는, ECC 부가부 및 RAID 제어부를 이용하여도, 원래의 데이터는 복원할 수 없었다.
한편, 본 실시형태에 따른 데이터 축적 장치에서는, ECC 부가부(141-1∼141-4) 및 RAID 제어부(12)에 추가로, 오류 정정 부호화부(16) 및 오류 정정 복호화부(17)를 구비하도록 하고 있다. 이 때문에, 데이터 축적 장치는, RAID 제어부(12)로부터 출력된 부호화 데이터 스트림에 대하여, 오류 정정 복호화부(17)에 의해 오류를 추가로 정정할 수 있게 된다. 즉, 복수의 메모리 유닛에서 메모리칩 고장이 발생하여, RAID 제어부(12)에서 데이터 블록을 정확히 복원할 수 없었던 경우라도, 오류 정정 복호화부(17)에 의해 오류를 정정할 수 있게 된다. 즉, 복수의 메모리 유닛에서 메모리칩 고장이 발생한 경우라도, 정상적인 영상 데이터를 재생할 수 있게 된다.
또한, 일반적으로, 메모리 유닛이 고장난 경우, 고장난 메모리 유닛을 새로운 메모리 유닛과 교환한다. 이 경우, RAID 제어부는 정상적인 다른 메모리 유닛에 기록된 데이터에 기초하여, 고장난 메모리 유닛에 기록되어 있던 데이터를 복원한다. 그리고 RAID 제어부는, 교환 후의 메모리 유닛에 복원된 데이터를 기록함으로써, 고장난 메모리 유닛에 기록되어 있던 데이터를 재구축하도록 하고 있다. 그러나, 종래의 데이터 축적 장치에서는, 복수의 메모리 유닛에서 메모리칩 고장이 발생하는 경우는, 정상적으로 데이터를 복원할 수 없다. 이 때문에 RAID 제어부는, 교환한 메모리 유닛에, 고장난 메모리 유닛에 기록되어 있던 데이터를 정확히 재구축할 수 없다는 문제가 있었다.
한편, 본 실시형태에 따른 데이터 축적 장치에서는, 오류 정정 부호화부(16) 및 오류 정정 복호화부(17)를 구비하도록 하고 있다. 이 때문에 RAID 제어부(12)에 의한 복원 후의 부호화 데이터 스트림에 대하여, 오류 정정 복호화부(17)에 의해 오류를 추가로 정정할 수 있게 된다. 즉, 복수의 메모리 유닛에서 메모리칩 고장이 발생하여, RAID 제어부(12)에서 데이터 블록을 정확히 복원할 수 없는 경우라도, 오류 정정 복호화부(17)에 의해 오류를 정정할 수 있게 된다. 오류 정정 복호화부(17)에 의해 오류를 정정한 데이터를 오류 정정 부호화부(16)로 부호화하고, 교환한 메모리 유닛에 기록하는 것에 의해, 데이터를 재구축한다. 즉, 복수의 메모리 유닛에서 메모리칩 고장이 발생한 경우라도, 고장난 메모리 유닛에 기록되어 있던 데이터를 정확히 재구축할 수 있게 된다.
따라서, 본 실시형태에 따른 데이터 축적 장치에 의하면, 영상 데이터의 수록, 재생 및 재구축시의 신뢰성이 크게 향상된다.
또한, 상기 제1 실시형태에서, 오류 검출부(13-1)는, RAID 제어부(12)로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여 1 페이지 단위로 오류 검출 부호를 부가한다. 그리고, 오류 검출부(13-1)는, 메모리 유닛(14-1)으로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여, 오류 검출 부호에 기초하여 1 페이지 단위로 오류의 발생을 판단하도록 하고 있다. 이것에 의해, 메모리칩의 고장을, 메모리칩의 기록 단위인 1 페이지 단위로 검출할 수 있게 된다.
또한, 본 실시형태에 따른 데이터 축적 장치에서는, 메모리칩의 기록 단위로 고장 유무를 판별할 수 있기 때문에, 메모리칩 일부분에 고장이 있었던 경우라도, 메모리 유닛 전체의 고장으로 판단하지 않는다. 즉, 메모리 유닛의 메모리칩 일부분에 고장이 있었던 경우라도, 그 메모리 유닛을 계속하여 사용할 수 있게 된다.
[제2 실시형태]
도 6은 제2 실시형태에 따른 데이터 축적 장치의 기능 구성을 도시하는 블록도이다. 도 6에서의 데이터 축적 장치는, 인코더(11), RAID(Redundant Arrays of Independent Disks) 제어부(12), 오류 검출부(13-1∼13-4), 메모리 유닛(14-1∼14-4) 및 디코더(15)를 구비한다. 데이터 축적 장치는, RAID5를 채용한 구조를 하고 있다.
RAID 제어부(12)에는, 인코더(11) 및 디코더(15)가 접속된다. 또한 RAID 제어부(12)는, 접속 인터페이스(121-1∼121-4)를 구비하고, 이 접속 인터페이스(121-1∼121-4)에 의해, 오류 검출부(13-1∼13-4)와 접속한다. 오류 검출부(13-1∼13-4)에는, 메모리 유닛(14-1∼14-4)이 접속된다.
인코더(11)는, 카메라 등으로부터 영상 데이터 스트림을 취득하고, 이 영상 데이터 스트림을 미리 설정된 부호화 방식으로 부호화한다. 인코더(11)는, 부호화 데이터 스트림을 RAID 제어부(12)에 출력한다.
RAID 제어부(12)는, 영상 데이터의 수록시에, 인코더(11)로부터의 부호화 데이터 스트림을 기록 페이지 단위로 3개의 데이터 블록으로 분산시킨다. RAID 제어부(12)는, 기록 페이지 단위로 패리티 데이터 블록을 작성한다. 또한 기록 단위인 1 페이지의 용량은, 메모리 유닛마다 미리 결정되어 있다. 패리티 데이터 블록은 3개의 데이터 블록과, 패리티 데이터 블록에서 짝수개(0개를 포함)의 "1"을 포함하도록 패리티 데이터가 생성되어 있다. RAID 제어부(12)는, 데이터 블록을 접속 인터페이스(121-1∼121-4) 중 3개의 접속 인터페이스에 출력하고, 패리티 데이터 블록을 접속 인터페이스(121-1∼121-4) 중 1개의 접속 인터페이스에 출력한다. RAID 제어부(12)는, 데이터 블록을 출력하는 접속 인터페이스와, 패리티 데이터 블록을 출력하는 접속 인터페이스를 순차 전환하여, 접속 인터페이스(121-1∼121-4) 중 어느 하나의 접속 인터페이스에 패리티 데이터 블록을 출력하도록 한다.
또한 RAID 제어부(12)는, 영상 데이터의 재생시에, 오류 검출부(13-1∼13-4)로부터의 데이터 블록 및 패리티 데이터 블록을 접속 인터페이스(121-1∼121-4)를 통해 수신한다. RAID 제어부(12)는, 데이터 블록 중 어느 하나에 오류가 발생하는 경우, 정상적인 데이터 블록과 패리티 데이터 블록에 기초하여, 오류가 발생한 데이터 블록을 복원한다. RAID 제어부(12)는, 복원된 데이터 블록과 정상적인 데이터 블록을 합성하여 부호화 데이터 스트림을 작성하고, 디코더(15)에 출력한다. 한편, 오류가 발생하지 않는 경우, RAID 제어부(12)는, 오류 검출부(13-1∼13-4) 중 3개로부터의 데이터 블록을 합성하여, 부호화 데이터 스트림을 생성한다. RAID 제어부(12)는, 부호화 데이터 스트림을 디코더(15)에 출력한다.
디코더(15)는, RAID 제어부(12)로부터의 부호화 데이터 스트림을, 인코더(11)에서의 부호화 방식에 따른 복호화 방식에 의해 복호화하여 영상 데이터 스트림을 생성한다. 디코더(15)는, 영상 데이터 스트림을 외부에 출력한다.
오류 검출부(13-1)는, 영상 데이터의 수록시에는, RAID 제어부(12)로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여, 1 페이지 단위로 체크섬 등의 오류 검출 부호를 부가한다. 오류 검출부(13-1)는 오류 검출 부호를 부가한 데이터 블록 또는 패리티 데이터 블록을 메모리 유닛(14-1)에 출력한다.
또한, 오류 검출부(13-1)는, 영상 데이터의 재생시에, 메모리 유닛(14-1)으로부터 데이터 블록 또는 패리티 데이터 블록을 수신한다. 오류 검출부(13-1)는, 메모리 유닛(14-1)으로부터의 데이터 블록 또는 패리티 데이터 블록에 오류가 발생하고 있는지의 여부를, 오류 검출 부호에 기초하여 판단한다. 오류 검출부(13-1)는, 데이터 블록 또는 패리티 데이터 블록에서의 오류를 검출한 경우, RAID 제어부(12)에 검출 신호를 출력한다. 또한 오류 검출부(13-2∼13-4)의 동작은, 오류 검출부(13-1)의 동작과 같다.
메모리 유닛(14-1∼14-4)은, 오류 정정부(143-1∼143-4), 메모리(142-1∼142-4)를 각각 구비한다. 메모리(142-1∼142-4)는, 메모리 제어부(1421-1∼1421-4), 플래시 메모리 등의 반도체 메모리로 이루어지는 메모리칩(1422-11∼1422-132, …, 1422-41∼1422-432) 및 직렬/병렬 변환부(1423-1∼1423-4)를 각각 구비한다. 또한 본 실시형태에서는, 메모리칩의 수를 32개로 하고 있지만, 메모리칩의 수는 이것으로 한정되지 않는다.
메모리 유닛(14-1∼14-4)은, 영상 데이터의 수록시, 오류 검출부(13-1∼13-4)로부터의 데이터 블록 또는 패리티 데이터 블록을 기록한다. 또한 메모리 유닛(14-1∼14-4)에서의 처리는, 각각 마찬가지이기 때문에, 여기서는, 메모리 유닛(14-1)에서의 처리를 대표하여 설명한다.
오류 정정부(143-1)는, 오류 검출부(13-1)로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여, 버스트 오류를 정정할 수 있는 오류 정정 부호에 의해 부호화한다. 버스트 오류를 정정할 수 있는 오류 정정 부호에는, 예컨대 리드 솔로몬 정정 부호 등이 있다. 이 때, 오류 정정부(143-1)는 데이터 블록 또는 패리티 데이터 블록과, 리드 솔로몬 정정 부호와의 합계의 부호 길이가, 메모리칩의 병렬수의 N(N은 자연수)배와 일치하도록 리드 솔로몬 정정 부호를 부가한다. 예컨대 본 실시형태에서는 메모리칩 수가 32개이기 때문에, 오류 정정부(143-1)는 30 byte의 데이터 블록 또는 패리티 데이터 블록마다 2 byte의 오류 정정 부호를 부가한다. 오류 정정부(143-1)는, 오류 정정 부호를 부가한 데이터 블록 또는 패리티 데이터 블록을 메모리(142-1)에 출력한다.
메모리(142-1)에서, 메모리 제어부(1421-1)는, 오류 정정부(143-1)로부터의 데이터 블록 또는 패리티 데이터 블록을 수신하면, 메모리칩(1422-11∼1422-132)에 대하여 기록 제어를 행한다.
직렬/병렬(S/P) 변환부(1423-1)는, 오류 정정부(143-1)로부터의 데이터 블록 또는 패리티 데이터 블록을 1 byte마다 데이터 아이템으로 분할하고, 메모리칩(1422-11∼1422-132)에 병렬하여 출력한다. 메모리칩(1422-11∼1422-132)은 S/P 변환부(1423-1)로부터의 데이터 아이템을 반도체 메모리에 기록한다.
또한, 메모리 유닛(14-1∼14-4)은, 영상 데이터의 재생시에는, 기록된 데이터 블록 또는 패리티 데이터 블록을 판독하여, 오류 검출부(13-1∼13-4)에 출력한다. 또한 메모리 유닛(14-l∼14-4)에서의 처리는, 각각 마찬가지이기 때문에, 여기서는, 메모리 유닛(14-1)에서의 처리를 대표하여 설명한다.
메모리 제어부(1421-1)는, 메모리칩(1422-11∼1422-132)에 기록된 데이터 아이템을 판독 제어한다.
S/P 변환부(1423-1)는, 메모리칩(1422-11∼1422-132)으로부터 판독된 데이터 아이템을 합성하고, 데이터 블록 또는 패리티 데이터 블록을 합성한다. S/P 변환부(1423-1)는, 데이터 블록 또는 패리티 데이터 블록을 오류 정정부(143-1)에 출력한다.
오류 정정부(143-1)는, 메모리(142-1)로부터의 데이터 블록 또는 패리티 데이터 블록의 버스트 오류를, 오류 정정 부호를 이용하여 정정한다. 오류 정정부(143-1)는, 버스트 오류를 정정한 데이터 블록 또는 패리티 데이터 블록을 오류 검출부(13-1)에 출력한다.
다음에, 상기 구성에서의 데이터 축적 장치의 동작을 구체적으로 설명한다.
도 7은 제2 실시형태에 따른 데이터 축적 장치에서의 데이터 블록 및 패리티 데이터 블록에 대한 처리를 도시하는 모식도이다. 도 7에서, 본 실시형태에서는, 1 페이지의 용량을 2048 byte로 하지만, 본 발명에서의 1 페이지의 용량은 이 값으로 한정되지 않는다.
RAID 제어부(12)는, 영상 데이터의 수록시에, 인코더(11)로부터의 부호화 데이터 스트림을, 5670 byte씩 분할하고, 도 7의 (a)에 도시하는 바와 같이 1890 byte의 3개의 데이터 블록으로 분산한다. 이 때, 데이터 블록은, 1 페이지분의 용량 2048 byte보다, 158 byte 적게 되어 있다. RAID 제어부(12)는, 도 7의 (a)에 도시하는 데이터 블록을 오류 검출부(13-1∼13-4) 중 3개의 오류 검출부에 출력한다.
또한, RAID 제어부(12)는, 인코더(11)로부터의 부호화 데이터 스트림에 대해서, 도 7의 (a)에 도시하는 바와 같이 1890 byte의 패리티 데이터 블록을 작성한다. RAID 제어부(12)는, 도 7의 (a)에 도시하는 패리티 데이터 블록을 오류 검출부(13-1∼13-4) 중 1개의 오류 검출부에 출력한다.
또한, RAID 제어부(12)는, 영상 데이터의 재생시에, 오류 검출부(13-1∼13-4) 중 3개의 오류 검출부로부터 도 7의 (a)에 도시하는 데이터 블록을 수신한다. 또한 RAID 제어부(12)는, 오류 검출부(13-1∼13-4) 중 1개의 오류 검출부로부터 도 7의 (a)에 도시하는 패리티 데이터 블록을 수신한다.
RAID 제어부(12)는, 오류 검출부(13-1∼13-4) 중 어느 하나로부터 검출 신호를 수신한 경우, 검출 신호를 생성한 오류 검출부로부터 공급된 데이터 블록 또는 패리티 데이터 블록에는 오류가 발생하고 있는 것으로 판단한다. 데이터 블록 중 어느 하나에 오류가 포함되는 것으로 판단한 경우, RAID 제어부(12)는, 나머지 데이터 블록과 패리티 데이터 블록에 기초하여 오류를 포함하는 데이터 블록을 복원한다. RAID 제어부(12)는, 복원된 데이터 블록과 나머지 데이터 블록을 합성한다. 데이터 블록에 오류가 포함되어 있지 않는 경우, RAID 제어부(12)는, 오류 검출부(13-1∼13-4) 중 3개의 오류 검출부로부터의 데이터 블록을 합성하여 부호화 데이터 스트림을 생성한다. RAID 제어부(12)는, 부호화 데이터 스트림을 디코더(15)에 출력한다.
오류 검출부(13-1)는, 영상 데이터의 수록시에, RAID 제어부(12)로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여, 도 7의 (b)에 도시하는 바와 같이 32 byte의 체크섬을 부가한다. 오류 검출부(13-1)는 도 7의 (b)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 메모리 유닛(14-1)에 출력한다.
또한, 오류 검출부(13-1)는 영상 데이터의 재생시에, 메모리 유닛(14-1)으로부터, 도 7의 (b)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 수신한다. 오류 검출부(13-1)는, 체크섬을 참조하여, 데이터 블록 또는 패리티 데이터 블록에 오류가 발생하고 있는지의 여부를 판단한다. 데이터 블록 또는 패리티 데이터 블록에 오류가 발생하고 있는 것으로 판단한 경우, 오류 검출부(13-1)는, 검출 신호를 생성하여, RAID 제어부(12)에 출력한다. 오류 검출부(13-1)는 도 7의 (a)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 RAID 제어부(12)에 출력한다.
오류 정정부(143-1)는, 영상 데이터의 수록시에, 오류 검출부(13-1)로부터의 데이터 블록 또는 패리티 데이터 블록에 대하여, 도 7의 (c)에 도시하는 바와 같이 30 byte의 실제 데이터마다, 2 byte의 리드 솔로몬 정정 부호를 부가한다. 이것에 의해, 1 페이지분의 용량인 2048 byte가 된다. 오류 정정부(143-1)는, 도 7의 (c)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 메모리(142-1)에 출력한다.
또한, 오류 정정부(143-1)는, 영상 데이터의 재생시에, 메모리(142-1)로부터, 도 7의 (c)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 수신한다. 오류 정정부(143-1)는, 30 byte의 실제 데이터에서의 버스트 오류를, 2 byte의 리드 솔로몬 정정 부호를 이용하여 정정한다. 오류 정정부(143-1)는, 도 7의 (b)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 오류 검출부(13-1)에 출력한다.
도 8은 제2 실시형태에 따른 데이터 축적 장치에서의 S/P 변환부(1423-1)의 병렬화 처리를 도시하는 모식도이다.
S/P 변환부(1423-1)는, 오류 정정부(143-1)로부터 도 7의 (c)에 도시하는 데이터 블록 또는 패리티 데이터 블록을 수신한다. S/P 변환부(1423-1)는, 오류 정정부(143-1)로부터 30 byte의 실제 데이터 및 2 byte의 리드 솔로몬 정정 부호를 수신할 때마다, 이 데이터를 1 byte 마다의 데이터 아이템으로 분할하고, 메모리칩(1422-11∼1422-132)에 병렬하여 출력한다. 이것에 의해, 1 byte의 30개의 실제 데이터와, 1 byte의 2개의 리드 솔로몬 정정 부호가, 메모리칩(1422-11∼1422-132)에 각각 출력된다.
도 9는, 제2 실시형태에 따른 데이터 축적 장치에서의 메모리칩(1422-11∼1422-132)에서의 데이터 블록 또는 패리티 데이터 블록의 축적예를 도시하는 모식도이다.
메모리칩(1422-11∼1422-132)은, S/P 변환부(1423-1)로부터의 데이터 아이템을 반도체 메모리에 기록한다. 이것에 의해, 메모리칩(1422-11∼1422-132)은 도 7의 (c)에 도시하는 데이터 블록 또는 패리티 데이터 블록을, 도 9에 도시한 바와 같이 축적한다. 즉, 메모리칩(1422-11∼1422-130)에는, 실제 데이터와 체크섬이 축적되고, 메모리칩(1422-131, 1422-132)에는, 리드 솔로몬 정정 부호와 체크섬이 축적되게 된다.
도 10은, 전술한 기록 처리에 의해 메모리(142-1∼142-4)에 기록된 데이터 블록 및 패리티 데이터 블록의 모식도를 도시한다. 도 10에서, D11, D12, D13…은 데이터 블록이 S/P 변환부(1423-1, 1423-4)에 의해 분할된 데이터 아이템을 나타내고, P10, P20, P30…은 패리티 데이터 블록이 S/P 변환부(1423-1, 1423-4)에 의해 분할된 데이터 아이템을 나타낸다. 여기서, 데이터 아이템은, 메모리칩(1422-11∼1422-132, …, 1422-41∼1422-432)에 병렬하여 기록되어 있다. 또한 패리티 데이터 블록을 기록하는 메모리 유닛은 RAID 제어부(12)에 의해, 상이한 메모리 유닛에 페이지 단위로 순차 할당된다.
도 11은, 제2 실시형태에 따른 데이터 축적 장치에서의 RAID 제어부(12)가 데이터를 복원할 때의 흐름도이다.
RAID 제어부(12)는, 오류 검출부(13-1∼13-4) 중 어느 하나의 오류 검출부로부터 검출 신호가 있었는지의 여부를 판단한다(단계 S111). RAID 제어부(12)는, 검출 신호가 있었던 경우(단계 S111의 Yes), 검출 신호가 있었던 오류 검출부(13-1∼13-4)로부터의 데이터 블록 및 패리티 데이터 블록에 오류가 있었던 것으로 판단한다. RAID 제어부(12)는, 데이터 블록에 오류가 발생했는지의 여부를 판단한다(단계 S112). RAID 제어부(12)는, 데이터 블록에 오류가 발생한 경우(단계 S112의 Yes), 정상이던 2개의 데이터 블록과, 패리티 데이터 블록에 기초하여, 오류가 발생한 데이터 블록을 복원한다(단계 S113). RAID 제어부(12)는, 복원된 데이터 블록과, 2개의 정상적인 데이터 블록을 합성하여 부호화 데이터 스트림으로 하고, 이 부호화 데이터 스트림을 디코더(15)에 출력한다(단계 S114).
RAID 제어부(12)는, 단계 S111에서 검출 신호를 수신하지 않는 경우(단계 S111의 No), 3개의 데이터 블록을 합성하여 부호화 데이터 스트림으로 하고, 이 부호화 데이터 스트림을 디코더(15)에 출력한다(단계 S115).
RAID 제어부(12)는, 단계 S112에서 데이터 블록에 오류가 발생하지 않는 경우(단계 S112의 No), 처리를 단계 S115로 이행한다.
이상과 같이, 상기 제2 실시형태에서, 데이터 축적 장치는, 영상 데이터의 수록시에는, 오류 정정부(143-1)에 의해, 실제 데이터 및 오류 정정 부호의 합계의 부호 길이가, 메모리칩의 병렬수의 N배와 일치하도록 오류 정정 부호를 부가한다. 그리고 S/P 변환부(1423-1)는, 오류 정정부(143-1)로부터의 데이터를, 메모리칩에 1 byte씩 병렬하여 출력한다. 이것에 의해, 병렬하여 접속되는 메모리칩에는, 실제 데이터 및 리드 솔로몬 정정 부호 중 어느 하나가 기록되게 된다.
또한 데이터 축적 장치는, 영상 데이터의 재생시에, 메모리칩으로부터 데이터 아이템을 병렬하여 판독하고, S/P 변환부(1423-1)에 의해, 판독된 데이터 아이템을 실시간으로 변환한다. 그리고 오류 정정부(143-1)는, S/P 변환부(1423-1)로부터의 데이터 블록 또는 패리티 데이터 블록에 버스트 오류가 있는 경우에는, 리드 솔로몬 정정 부호에 기초하여 이 버스트 오류를 정정한다. 이것에 의해, 병렬하여 접속된 각 메모리칩으로부터 판독된 데이터 아이템에 오류가 포함되는 경우, 이 오류를 리드 솔로몬 정정 부호에 의해 정정할 수 있게 된다. 즉, 병렬하여 접속된 메모리칩 중 어느 하나가 고장난 경우라도, 그 고장에 의한 데이터의 오류를 정정할 수 있게 된다.
또한, 상기 제2 실시형태에서, 오류 검출부(13-1)는, 영상 데이터의 수록시에는, RAID 제어부(12)로부터 출력된 데이터 블록 또는 패리티 데이터 블록에 대하여 1 페이지마다 32 byte의 오류 검출 부호를 부가한다. 그리고 이 32 byte의 오류 검출 부호는, S/P 변환부(1423-1)에 의해 병렬 변환됨으로써, 병렬하여 접속된 각 메모리칩에 1 byte씩 기록된다. 오류 검출부(13-1)는, 영상 데이터의 재생시에, 메모리 유닛(14-1)으로부터의 데이터 블록 또는 패리티 데이터 블록에 부가된 오류 검출 부호에 기초하여, 데이터 블록 또는 패리티 데이터 블록에서의 오류의 발생을 판단한다. 즉 오류 검출부(13-1)는, 메모리칩마다 기록된 오류 검출 부호에 기초하여 오류의 발생을 판단하고 있다. 이것에 의해, 오류 검출부(13-1)는 메모리칩마다의 고장을 검출할 수 있게 된다.
또한, 상기 제2 실시형태에서, RAID 제어부(12)는, 오류 검출부(13-1) 중 어느 하나에 의해 데이터 블록에서의 오류를 검출한 경우, 오류가 검출된 데이터 블록을, 정상적인 데이터 블록 및 패리티 데이터 블록에 의해 복원하도록 하고 있다. 이것에 의해, 메모리칩이 고장난 경우, 그 메모리칩에 기록된 데이터를 복원할 수 있게 된다.
따라서, 본 실시형태에 따른 데이터 축적 장치는, 메모리칩마다의 고장에 대해서도 보상할 수 있기 때문에, 메모리칩이 고장난 경우라도, 영상 데이터를 정상적으로 재생할 수 있다.
또한, 상기 제2 실시형태에서는, 메모리칩이 32개인 경우를 예로 설명했지만, 본 실시형태는, 이것으로 한정되지 않는다. 예컨대 메모리칩이 64개인 경우라도 마찬가지로 실시할 수 있다. 단, 이 경우, 오류 검출부(13-1)는 데이터 블록 또는 패리티 데이터 블록에 64 byte의 체크섬을 부가하고, 오류 정정부(143-1)는, 62 byte의 실제 데이터마다 2 byte의 리드 솔로몬 정정 부호를 부가한다. 그리고 S/P 변환부(1423-1)는, 오류 정정부(143-1)로부터의 데이터 블록 또는 패리티 데이터 블록을 64개의 메모리 칩에 병렬하여 출력한다. 이것에 의해, 메모리칩이 32개인 경우보다, 실제 데이터에 대한 리드 솔로몬 정정 부호의 비율이 감소하기 때문에, 보다 효율적으로 버스트 오류를 정정할 수 있게 된다.
[그 외의 실시형태]
또한, 본 발명은 상기 각 실시형태로 한정되지 않는다. 예컨대 상기 각 실시형태에서의 데이터 축적 장치는, RAID5를 채용하고 있지만, 패리티 데이터 블록을 작성하는 RAID 방식이면, RAID 레벨은 RAID5로 한정되지 않는다. 예컨대 RAID3 및 RAID4 등이어도 마찬가지로 실시할 수 있다.
또한 상기 각 실시형태에서는, 인코더(11)에 의해 영상 데이터를 부호화하여 RAID 제어부(12)에 출력하고, 디코더(15)에 의해 오류 정정 복호화부(17) 또는 RAID 제어부(12)로부터의 부호화 데이터 스트림을 디코딩하는 예에 대해서 설명했지만, 이것으로 한정되지 않는다. 외부로부터의 부호화 데이터 스트림을 오류 정정 부호화부(16) 또는 RAID 제어부(12)에 페치(fetch)하고, 오류 정정 복호화부(17) 또는 RAID 제어부(12)로부터의 부호화 데이터 스트림을 외부에 출력하는 경우라도 상관없다.
어떤 실시형태들을 설명하였지만, 이러한 실시형태들은 단지 예로서 제공되며, 본 발명의 범위를 제한하도록 의도되지 않는다. 실제로, 여기서 설명되는 신규한 실시형태들은 여러 가지 다른 형태로 구현될 수 있고, 또한 본 발명의 사상을 벗어나지 않고 여기서 설명되는 실시형태들의 형태에서 여러 가지 생략, 대체 및 변경을 행할 수 있다. 첨부되는 청구범위 및 그 등가물은 본 발명의 범위 및 사상 내에 포함되는 바와 같이 이러한 형태들 또는 변경들을 커버하도록 의도된다.
Claims (13)
- 페이지 단위로 데이터를 기록할 수 있는 반도체 메모리를 구비하는 메모리칩을 포함하는 데이터 축적 장치에 있어서,
부호화 데이터 스트림에 대하여 오류 정정 부호를 부가하는 오류 정정 부호화부와,
복수의 접속 인터페이스를 구비하고, 상기 오류 정정 부호화부로부터 수신된 부호화 데이터 스트림에 기초하여, 상기 메모리칩의 한 페이지에 해당하는 용량의 페이지 데이터를 복수개 생성하고, 상기 페이지 데이터를 복원하기 위한 패리티 데이터를 생성하고, 상기 복수의 페이지 데이터와 상기 패리티 데이터를 상기 복수의 접속 인터페이스에 각각 출력하는 RAID 제어부와,
상기 복수의 접속 인터페이스에 각각 접속되어 상기 RAID 제어부로부터 상기 페이지 데이터 또는 상기 패리티 데이터를 수신하고, 수신된 상기 페이지 데이터 또는 상기 패리티 데이터에 대하여 오류 검출 부호를 부가하는 복수의 오류 검출부와,
상기 복수의 오류 검출부에 각각 접속하고, 상기 메모리칩을 복수개 포함하며, 상기 오류 검출부로부터 수신된 상기 페이지 데이터 또는 상기 패리티 데이터를 상기 복수의 메모리칩에 기록하는 복수의 메모리 유닛을 포함하는 것을 특징으로 하는 데이터 축적 장치. - 제1항에 있어서, 상기 복수의 메모리 유닛은, 상기 복수의 메모리칩에 기록된 상기 페이지 데이터 또는 상기 패리티 데이터를 판독하고,
상기 복수의 오류 검출부는, 상기 메모리 유닛에서 판독된 상기 페이지 데이터 또는 상기 패리티 데이터를 상기 RAID 제어부에 출력하며, 상기 페이지 데이터 또는 상기 패리티 데이터에 오류가 있는지의 여부를 상기 오류 검출 부호에 기초하여 판단하고, 상기 오류가 있는 경우, 상기 RAID 제어부에 검출 신호를 출력하며,
상기 RAID 제어부는, 상기 검출 신호를 수신한 경우, 상기 검출 신호를 출력한 오류 검출부로부터 수신된 페이지 데이터를, 그 외의 페이지 데이터 및 패리티 데이터에 기초하여 복원하고, 복원된 페이지 데이터와 상기 그 외의 페이지 데이터를 합성하여 부호화 데이터 스트림을 생성하며, 상기 검출 신호를 수신하지 않는 경우, 상기 복수의 오류 검출부로부터 수신된 상기 페이지 데이터를 합성하여 부호화 데이터 스트림을 생성하고,
상기 데이터 축적 장치는,
상기 RAID 제어부로부터 생성된 상기 부호화 데이터 스트림에 포함된 상기 오류 정정 부호에 기초하여, 상기 부호화 데이터 스트림의 오류를 정정하는 오류 정정 복호화부를 더 포함하는 것을 특징으로 하는 데이터 축적 장치. - 제1항에 있어서, 상기 복수의 메모리 유닛은, 상기 오류 검출부로부터 수신된 상기 페이지 데이터 또는 상기 패리티 데이터에 대하여 비트 오류 정정 부호를 부가하는 비트 오류 정정부를 더 포함하는 것을 특징으로 하는 데이터 축적 장치.
- 제2항에 있어서, 상기 복수의 메모리 유닛은,
상기 오류 검출부로부터 수신된 상기 페이지 데이터 또는 상기 패리티 데이터에 대하여 비트 오류 정정 부호를 부가하고, 상기 복수의 메모리칩으로부터 판독된 상기 페이지 데이터 또는 상기 패리티 데이터에 포함되는 비트 오류를, 부가된 상기 비트 오류 정정 부호에 기초하여 정정하는 비트 오류 정정부를 더 포함하는 것을 특징으로 하는 데이터 축적 장치. - 페이지 단위로 데이터를 기록할 수 있는 반도체 메모리를 구비하는 메모리칩을 포함하는 데이터 축적 장치에서 이용되는 데이터 기록/판독 방법에 있어서,
부호화 데이터 스트림에 대하여 오류 정정 부호를 부가하고,
상기 오류 정정 부호가 부가된 부호화 데이터 스트림에 기초하여, 상기 메모리칩의 한 페이지에 해당하는 용량의 페이지 데이터를 복수개 생성하고,
상기 페이지 데이터를 복원하기 위한 패리티 데이터를 생성하고,
상기 페이지 데이터 및 상기 패리티 데이터에 오류 검출 부호를 부가하며,
상기 오류 검출 부호가 부가된 상기 페이지 데이터 및 상기 패리티 데이터를, 상기 메모리칩을 복수개 포함하는 복수의 메모리 유닛에 각각 출력하고,
상기 오류 검출 부호가 부가된 상기 페이지 데이터 및 상기 패리티 데이터를 상기 복수의 메모리칩에 기록하는 것을 특징으로 하는 데이터 기록/판독 방법. - 제5항에 있어서, 상기 복수의 메모리칩에 기록된 상기 페이지 데이터 및 상기 패리티 데이터를 판독하고,
상기 판독된 상기 페이지 데이터 및 상기 패리티 데이터에 오류가 있는지의 여부를 상기 오류 검출 부호에 기초하여 판단하고, 상기 오류가 있는 경우, 검출 신호를 생성하고,
상기 검출 신호가 생성되는 경우, 상기 오류가 있는 페이지 데이터를, 그 외 페이지 데이터 및 패리티 데이터에 기초하여 복원하고, 복원된 페이지 데이터 및 상기 그 외의 페이지 데이터를 합성하여 부호화 데이터 스트림을 생성하며,
상기 검출 신호가 생성되지 않는 경우, 복수의 상기 페이지 데이터를 합성하여 부호화 데이터 스트림을 생성하고,
상기 생성된 부호화 데이터 스트림에 포함된 상기 오류 정정 부호에 기초하여 상기 부호화 데이터 스트림의 오류를 정정하는 것을 특징으로 하는 데이터 기록/판독 방법. - 반도체 메모리를 구비하는 메모리칩을 포함하는 데이터 축적 장치에 있어서,
복수의 접속 인터페이스를 구비하고, 부호화 데이터 스트림에 기초하여, 상기 메모리칩의 한 페이지에 해당하는 용량의 페이지 데이터를 복수개 생성하고, 상기 페이지 데이터를 복원하기 위한 패리티 데이터를 생성하고, 상기 복수의 페이지 데이터와 상기 패리티 데이터를 상기 복수의 접속 인터페이스에 각각 출력하는 RAID 제어부와,
상기 복수의 접속 인터페이스에 각각 접속되어 상기 RAID 제어부로부터 상기 페이지 데이터 또는 상기 패리티 데이터를 수신하고, 수신된 상기 페이지 데이터 또는 상기 패리티 데이터에 대하여 오류 검출 부호를 부가하는 복수의 오류 검출부와,
상기 복수의 오류 검출부에 각각 접속되는 복수의 메모리 유닛으로서, 상기 복수의 메모리 유닛은, 상기 오류 검출부로부터 수신된 상기 페이지 데이터 또는 상기 패리티 데이터에 대하여 오류 정정 부호를 부가하는 오류 정정부와, 상기 오류 정정 부호를 부가한 페이지 데이터 또는 패리티 데이터를 미리 설정된 용량의 데이터 아이템으로 분할하는 직렬/병렬 변환부와, 상기 데이터 아이템을 각각 병렬하여 복수의 상기 메모리칩에 기록하는 메모리 제어부를 포함하는 복수의 메모리 유닛을 포함하는 것을 특징으로 하는 데이터 축적 장치. - 제7항에 있어서, 상기 복수의 메모리 유닛에서, 상기 메모리 제어부에 의해, 상기 복수의 메모리칩에 기록된 데이터 아이템을 병렬하여 판독하고, 상기 직렬/병렬 변환부에 의해, 상기 데이터 아이템을 합성하여 페이지 데이터 또는 패리티 데이터를 생성하며, 상기 오류 정정부에 의해, 상기 페이지 데이터 또는 상기 패리티 데이터에 포함되는, 상기 복수의 메모리칩 마다의 오류를 상기 오류 정정 부호에 기초하여 정정하고,
상기 복수의 오류 검출부는, 상기 메모리 유닛으로부터의 상기 페이지 데이터 또는 상기 패리티 데이터를 상기 RAID 제어부에 출력하며, 상기 페이지 데이터 또는 상기 패리티 데이터에 오류가 있는지의 여부를 각각에 부가된 상기 오류 검출 부호에 기초하여 판단하고, 상기 오류가 있는 경우, 상기 RAID 제어부에 검출 신호를 출력하며,
상기 RAID 제어부는, 상기 검출 신호를 수신한 경우, 상기 검출 신호를 출력한 오류 검출부로부터의 페이지 데이터를, 그 외의 페이지 데이터 및 패리티 데이터에 기초하여 복원하고, 복원된 페이지 데이터와 상기 그 외의 페이지 데이터를 합성하여 부호화 데이터 스트림을 생성하며, 상기 검출 신호를 수신하지 않는 경우, 상기 복수의 오류 검출부로부터 수신된 상기 페이지 데이터를 합성하여 부호화 데이터 스트림을 생성하는 것을 특징으로 하는 데이터 축적 장치. - 제7항에 있어서, 상기 오류 정정부는, 상기 오류 검출부로부터 수신된 상기 페이지 데이터 또는 상기 패리티 데이터에 대하여, 상기 페이지 데이터 또는 상기 패리티 데이터와, 상기 오류 정정 부호와의 부호 길이의 합계가, 상기 복수의 메모리칩의 병렬수의 정수배가 되도록, 상기 오류 정정 부호를 부가하는 것을 특징으로 하는 데이터 축적 장치.
- 제7항에 있어서, 상기 오류 정정부는, 상기 오류 검출부로부터 수신된 상기 페이지 데이터 또는 상기 패리티 데이터와, 상기 오류 정정 부호와의 부호 길이의 합계가, 상기 복수의 메모리칩의 병렬수(N)와 일치하도록, 상기 병렬수(N)로부터 상기 오류 정정 부호의 부호 길이(M)를 뺀 N-M 바이트의 페이지 데이터 또는 패리티 데이터를 수신할 때 마다, 상기 N-M 바이트의 페이지 데이터 또는 패리티 데이터에 상기 오류 정정 부호를 M 바이트 부가하는 것을 특징으로 하는 데이터 축적 장치.
- 제7항에 있어서, 상기 오류 검출부는, 상기 접속 인터페이스에 접속되어 수신된 상기 페이지 데이터 또는 상기 패리티 데이터에 대하여 상기 메모리칩의 병렬수와 동일 바이트의 상기 오류 검출 부호를 부가하는 것을 특징으로 하는 데이터 축적 장치.
- 반도체 메모리를 구비하는 메모리칩을 포함하는 데이터 축적 장치에 이용되는 데이터 기록/판독 방법에 있어서,
부호화 데이터 스트림에 기초하여, 상기 메모리칩의 한 페이지에 해당하는 용량의 페이지 데이터를 복수개 생성하고,
상기 페이지 데이터를 복원하기 위한 패리티 데이터를 생성하며,
상기 페이지 데이터 및 상기 패리티 데이터에 오류 검출 부호를 부가하고,
상기 오류 검출 부호가 부가된 상기 페이지 데이터 및 상기 패리티 데이터를, 상기 메모리칩을 복수개 포함하는 복수의 메모리 유닛에 각각 출력하고,
상기 오류 검출 부호가 부가된 상기 페이지 데이터 및 상기 패리티 데이터에 대하여 오류 정정 부호를 부가하며,
상기 오류 정정 부호를 부가한 상기 페이지 데이터 및 상기 패리티 데이터를 미리 설정된 용량의 데이터 아이템으로 분할하고,
상기 데이터 아이템을 복수의 상기 메모리칩에 병렬하여 기록하는 것을 특징으로 하는 데이터 기록/판독 방법. - 제12항에 있어서, 상기 복수의 메모리칩에 기록된 데이터 아이템을 병렬하여 판독하고,
상기 판독된 데이터 아이템을 합성하여 상기 페이지 데이터 및 상기 패리티 데이터를 생성하며,
상기 생성된 상기 페이지 데이터 및 상기 패리티 데이터에 포함되는, 상기 복수의 메모리칩 마다의 오류를 상기 오류 정정 부호에 기초하여 정정하고,
상기 정정 후의 상기 페이지 데이터 및 상기 패리티 데이터에 오류가 있는지의 여부를 상기 오류 검출 부호에 기초하여 판단하여, 오류가 있는 경우, 검출 신호를 생성하고,
상기 검출 신호가 생성되는 경우, 상기 오류가 있는 페이지 데이터를, 그 외의 페이지 데이터 및 패리티 데이터에 기초하여 복원하고, 상기 복원된 페이지 데이터 및 상기 그 외의 페이지 데이터를 합성하여 부호화 데이터 스트림을 생성하며,
상기 검출 신호가 생성되지 않는 경우, 복수의 상기 정정 후의 상기 페이지 데이터를 합성하여 부호화 데이터 스트림을 생성하는 것을 특징으로 하는 데이터 기록/판독 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2010-059814 | 2010-03-16 | ||
JP2010059814A JP4940322B2 (ja) | 2010-03-16 | 2010-03-16 | 半導体メモリ映像蓄積再生装置及びデータ書込み/読出し方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110104428A KR20110104428A (ko) | 2011-09-22 |
KR101252382B1 true KR101252382B1 (ko) | 2013-04-08 |
Family
ID=44648190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110018645A KR101252382B1 (ko) | 2010-03-16 | 2011-03-02 | 데이터 축적 장치 및 데이터 기록/판독 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8495468B2 (ko) |
JP (1) | JP4940322B2 (ko) |
KR (1) | KR101252382B1 (ko) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013058103A (ja) * | 2011-09-08 | 2013-03-28 | Toshiba Corp | 映像収録再生装置及びリビルド処理方法 |
US9158675B2 (en) * | 2012-03-16 | 2015-10-13 | Marvell World Trade Ltd. | Architecture for storage of data on NAND flash memory |
JP5970917B2 (ja) * | 2012-03-30 | 2016-08-17 | 富士通株式会社 | 受信回路、情報処理装置、および制御方法 |
EP2856471A4 (en) * | 2012-05-31 | 2015-11-18 | Hewlett Packard Development Co | LOCAL ERROR DETECTION AND GLOBAL ERROR CORRECTION |
US8938661B2 (en) | 2012-08-01 | 2015-01-20 | Nvidia Corporation | System and method for detecting errors in audio data |
US9009561B2 (en) * | 2012-08-01 | 2015-04-14 | Nvidia Corporation | System and method for detecting errors in audio data |
US8972826B2 (en) | 2012-10-24 | 2015-03-03 | Western Digital Technologies, Inc. | Adaptive error correction codes for data storage systems |
US9311181B2 (en) | 2012-11-15 | 2016-04-12 | Samsung Electronics Co., Ltd. | Memory controller changing partial data in memory device and method for changing partial data thereof |
US8935592B2 (en) * | 2012-11-20 | 2015-01-13 | Arm Limited | Apparatus and method for correcting errors in data accessed from a memory device |
US9021339B2 (en) | 2012-11-29 | 2015-04-28 | Western Digital Technologies, Inc. | Data reliability schemes for data storage systems |
US9059736B2 (en) | 2012-12-03 | 2015-06-16 | Western Digital Technologies, Inc. | Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme |
US9214963B1 (en) | 2012-12-21 | 2015-12-15 | Western Digital Technologies, Inc. | Method and system for monitoring data channel to enable use of dynamically adjustable LDPC coding parameters in a data storage system |
JP6005533B2 (ja) * | 2013-01-17 | 2016-10-12 | 株式会社東芝 | 記憶装置および記憶方法 |
WO2014158130A1 (en) * | 2013-03-25 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Memory device having error correction logic |
KR102318478B1 (ko) | 2014-04-21 | 2021-10-27 | 삼성전자주식회사 | 스토리지 컨트롤러, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법 |
US9529670B2 (en) * | 2014-05-16 | 2016-12-27 | International Business Machines Corporation | Storage element polymorphism to reduce performance degradation during error recovery |
KR20170034224A (ko) | 2015-09-18 | 2017-03-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 및 이를 이용한 반도체 시스템 |
JP6479638B2 (ja) * | 2015-12-09 | 2019-03-06 | 株式会社東芝 | ビデオサーバ装置およびデータ書き込み/読み出し方法 |
KR102688433B1 (ko) * | 2017-05-07 | 2024-07-26 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102688423B1 (ko) * | 2017-07-05 | 2024-07-26 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
DE102017125617B8 (de) * | 2017-11-02 | 2020-08-27 | Infineon Technologies Ag | Bestimmung und verwendung von bytefehlerpositionssignalen |
CN109445982A (zh) * | 2018-09-17 | 2019-03-08 | 至誉科技(武汉)有限公司 | 实现数据可靠读写的数据存储装置 |
CN109444716B (zh) * | 2018-11-27 | 2021-08-10 | 中科曙光信息产业成都有限公司 | 一种具有定位功能的扫描测试结构及方法 |
US11886295B2 (en) | 2022-01-31 | 2024-01-30 | Pure Storage, Inc. | Intra-block error correction |
CN114415983B (zh) * | 2022-03-30 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 一种raid编解码方法、装置、设备及可读存储介质 |
CN118098324A (zh) * | 2022-11-18 | 2024-05-28 | 长鑫存储技术有限公司 | 存储器系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10240453A (ja) * | 1997-02-28 | 1998-09-11 | Nec Corp | ディスクアレイ装置 |
JP2008102819A (ja) * | 2006-10-20 | 2008-05-01 | Hitachi Ltd | 記憶装置及び記憶方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3138116B2 (ja) * | 1993-05-31 | 2001-02-26 | 三洋電機株式会社 | ディスク再生装置 |
JPH10164581A (ja) * | 1996-12-03 | 1998-06-19 | Sony Corp | 画像信号符号化方法及び装置、信号記録媒体 |
US5960169A (en) * | 1997-02-27 | 1999-09-28 | International Business Machines Corporation | Transformational raid for hierarchical storage management system |
US6148368A (en) * | 1997-07-31 | 2000-11-14 | Lsi Logic Corporation | Method for accelerating disk array write operations using segmented cache memory and data logging |
JPH1196081A (ja) | 1997-09-22 | 1999-04-09 | Chishiki Joho Kenkyusho:Kk | 記憶装置の制御方法および記憶装置ならびに記憶装置の製造方法 |
US6070182A (en) * | 1998-06-05 | 2000-05-30 | Intel Corporation | Data processor having integrated boolean and adder logic for accelerating storage and networking applications |
US6230240B1 (en) * | 1998-06-23 | 2001-05-08 | Hewlett-Packard Company | Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface |
US6243827B1 (en) * | 1998-06-30 | 2001-06-05 | Digi-Data Corporation | Multiple-channel failure detection in raid systems |
JP2001006299A (ja) * | 1999-06-18 | 2001-01-12 | Matsushita Electric Ind Co Ltd | データ誤り訂正装置 |
JP3341745B2 (ja) * | 1999-12-10 | 2002-11-05 | 日本電気株式会社 | 電子ディスク装置の書き込み/読み出し制御方法及びその装置 |
JP2001325770A (ja) * | 2000-05-16 | 2001-11-22 | Sanyo Electric Co Ltd | データ処理装置及びデータ変換回路 |
JP2002319233A (ja) * | 2001-04-23 | 2002-10-31 | Hitachi Ltd | デジタル信号記録再生装置 |
US7080278B1 (en) * | 2002-03-08 | 2006-07-18 | Network Appliance, Inc. | Technique for correcting multiple storage device failures in a storage array |
JP2008033412A (ja) * | 2006-07-26 | 2008-02-14 | Hitachi Ltd | 計算機システムの性能管理方法、管理計算機、及びストレージ装置 |
-
2010
- 2010-03-16 JP JP2010059814A patent/JP4940322B2/ja active Active
-
2011
- 2011-01-27 US US13/014,938 patent/US8495468B2/en active Active
- 2011-03-02 KR KR1020110018645A patent/KR101252382B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10240453A (ja) * | 1997-02-28 | 1998-09-11 | Nec Corp | ディスクアレイ装置 |
JP2008102819A (ja) * | 2006-10-20 | 2008-05-01 | Hitachi Ltd | 記憶装置及び記憶方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2011192206A (ja) | 2011-09-29 |
US20110231737A1 (en) | 2011-09-22 |
JP4940322B2 (ja) | 2012-05-30 |
US8495468B2 (en) | 2013-07-23 |
KR20110104428A (ko) | 2011-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101252382B1 (ko) | 데이터 축적 장치 및 데이터 기록/판독 방법 | |
US8918701B2 (en) | Nested multiple erasure correcting codes for storage arrays | |
US7900118B2 (en) | Flash memory system and method for controlling the same | |
US20110066883A1 (en) | Data storage apparatus and data writing/reading method | |
US6453440B1 (en) | System and method for detecting double-bit errors and for correcting errors due to component failures | |
JP4668970B2 (ja) | フォールトトレラントデータストレージシステムにおけるブロックレベルのデータ破損の検出および訂正 | |
US9600365B2 (en) | Local erasure codes for data storage | |
KR100573356B1 (ko) | 코드워드데이터를저장하기위한데이터버퍼와에러신드롬을저장하기위한신드롬버퍼를사용하는ecc시스템 | |
US10503588B2 (en) | Memory systems including memory controllers and memory modules and methods of processing data in the memory systems | |
US8448045B2 (en) | Outer code error correction | |
US8140945B2 (en) | Hard component failure detection and correction | |
US7836379B1 (en) | Method for computing buffer ECC | |
JP2005202957A (ja) | エラー訂正のためのデータの分割 | |
US20120221920A1 (en) | Multiple erasure correcting codes for storage arrays | |
JP2001256068A5 (ko) | ||
WO2006029243A1 (en) | Memory array error correction | |
KR20040093748A (ko) | 오류정정의 추가층을 오류정정코드 내에 삽입하는 방법 및장치 | |
US20190384671A1 (en) | Systems and methods for ultra fast ecc with parity | |
JPS6349245B2 (ko) | ||
US20160139988A1 (en) | Memory unit | |
US20150143201A1 (en) | Error-correcting code distribution for memory systems | |
WO2016122515A1 (en) | Erasure multi-checksum error correction code | |
KR102004928B1 (ko) | 데이터 저장 장치 및 그것의 에러 정정 코드 처리 방법 | |
KR101489827B1 (ko) | 낸드 플래시 메모리와 컨트롤러 간의 효율적인 프로토콜을사용하는 반도체 메모리 장치 | |
US20160147598A1 (en) | Operating a memory unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160304 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170317 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190227 Year of fee payment: 7 |