KR101506330B1 - 데이터 강건성 관리장치와, 데이터 저장 방법 및 데이터 복구 방법 - Google Patents

데이터 강건성 관리장치와, 데이터 저장 방법 및 데이터 복구 방법 Download PDF

Info

Publication number
KR101506330B1
KR101506330B1 KR1020080093235A KR20080093235A KR101506330B1 KR 101506330 B1 KR101506330 B1 KR 101506330B1 KR 1020080093235 A KR1020080093235 A KR 1020080093235A KR 20080093235 A KR20080093235 A KR 20080093235A KR 101506330 B1 KR101506330 B1 KR 101506330B1
Authority
KR
South Korea
Prior art keywords
data
column
address
protection
stored
Prior art date
Application number
KR1020080093235A
Other languages
English (en)
Other versions
KR20100034212A (ko
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 KR1020080093235A priority Critical patent/KR101506330B1/ko
Priority to US12/431,859 priority patent/US8356230B2/en
Publication of KR20100034212A publication Critical patent/KR20100034212A/ko
Application granted granted Critical
Publication of KR101506330B1 publication Critical patent/KR101506330B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents

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)
  • Storage Device Security (AREA)

Abstract

데이터 강건성 관리를 위한 데이터 처리 기술을 개시한다. 이 기술에 따르면, 물리적 또는 논리적으로 분리된 다수의 저장부의 어드레스 열들을 보호 열과 비 보호 열로 분류하여 보호 열에 보호 데이터가 저장되도록 동적 관리하고, 보호 열에 해당하는 어드레스 열 중 어느 하나의 저장부의 특정 어드레스 열에 저장된 데이터가 손실된 경우, 다른 어느 하나의 저장부의 해당 어드레스 열에 저장된 연관성 데이터를 이용해 손실된 데이터를 복구할 수 있도록 구현함으로써 간단한 구성으로 효율적인 데이터 강건성 확보가 가능하다.
데이터 강건성, 데이터 저장, 데이터 복구, 어드레스 열, 연관성 데이터

Description

데이터 강건성 관리장치와, 데이터 저장 방법 및 데이터 복구 방법{Apparatus for managing data stability, method for storing data and method for recovering data}
본 발명은 데이터 처리 기술에 관련한 것으로, 특히 데이터 강건성 관리장치와, 데이터 저장 방법 및 데이터 복구 방법에 관한 것이다.
데이터를 저장하는 저장장치의 치명적인 오류(물리적 또는 논리적인 오류)로 인한 손실된 데이터를 복구하는 다양한 기술들이 연구되었다.
예컨대, 하나의 저장장치에 저장되는 원본 데이터를 주기적 또는 비주기적으로 백업하여 다른 저장 장치에 저장하고, 원본 데이터 파손시 백업 데이터를 이용해 복구하는 방법이 있다.
이와는 달리, 데이터 저장시 동일한 데이터를 두 저장장치에 동시에 저장하여 하나의 저장장치에 저장된 데이터가 파손시 다른 하나의 저장장치에 저장된 데이터를 이용해 복구하는 방법이 있다.
최근, 데이터를 분산하여 여러 저장장치에 나누어 분산 저장하는 분산 저장 기술이 널리 이용되고 있다. 이러한 분산 저장 기술의 경우 상기와 같은 데이터 백 업 기술을 이용해 손실된 데이터를 복구할 경우, 많은 수의 백업용 저장장치가 필요하기 때문에 바람직하지 않다.
또한, 상기와 같은 데이터 백업 기술의 경우 안전하게 보호되어야할 데이터(이하, 보호 데이터라 칭한다)와 손실되어도 무방한 데이터(이하, 비보호 데이터라 칭한다) 모두를 백업하므로, 메모리 활용 측면에서도 바람직하지 않다.
따라서, 본 발명자는 물리적 또는 논리적으로 분리된 다수의 저장부를 구비한 시스템에서 특정 저장부에 저장된 데이터가 파손시 이를 효율적으로 복구할 수 있는 간단한 구성의 데이터 강건성 관리 기술에 대한 연구를 하게 되었다.
물리적 또는 논리적으로 분리된 다수의 저장부에 저장된 데이터 중 특정 저장부에 저장된 데이터가 파손시 이를 효율적으로 복구할 수 있도록 데이터의 강건성을 관리할 수 있는 기술을 제공한다.
본 발명의 일 양상에 따르면, 물리적 또는 논리적으로 분리된 다수의 저장부 중 적어도 하나의 저장부의 특정 어드레스 열(Address Row)에 보호 데이터가 저장되는 경우, 보호 데이터가 저장되는 저장부 이외의 저장부 중 하나를 선택하여 동일한 어드레스 열에 상기 보호 데이터에 관련된 연관성 데이터를 저장한다.
본 발명의 또 다른 양상에 따르면, 물리적 또는 논리적으로 분리된 다수의 저장부의 어드레스 열들을 보호 열과 비 보호 열로 분류하여 동적 관리한다.
본 발명의 또 다른 양상에 따르면, 보호 열에 해당하는 어드레스 열 중 어느 하나의 저장부의 특정 어드레스 열에 저장된 데이터가 손실된 경우, 다른 어느 하나의 저장부의 해당 어드레스 열에 저장된 연관성 데이터를 이용해 손실된 데이터를 복구한다.
물리적 또는 논리적으로 분리된 다수의 저장부의 어드레스 열들을 보호 열과 비 보호 열로 분류하여 보호 열에 보호 데이터가 저장되도록 동적 관리하고, 보호 열에 해당하는 어드레스 열 중 어느 하나의 저장부의 특정 어드레스 열에 저장된 데이터가 손실된 경우, 다른 어느 하나의 저장부의 해당 어드레스 열에 저장된 연관성 데이터를 이용해 손실된 데이터를 복구할 수 있도록 함으로써 간단한 구성으로 효율적인 데이터 강건성 확보가 가능한 효과가 있다.
이하, 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.
도 1 은 본 발명의 일 양상에 따른 데이터 강건성 관리장치의 개요도이다. 도 1 에 도시한 양상에 따른 데이터 강건성 관리장치(100)는 다수의 저장부(110)와, 제어부(120)를 포함하여 이루어진다.
상기 다수의 저장부(110) 각각은 물리적 또는 논리적으로 분리된 데이터 저장수단일 수 있다. 이 때, 상기 각 저장부(110)는 메모리 크기가 모두 동일할 수도, 각각 서로 다를 수도 있다.
예컨대, 물리적으로 분리된 경우에는 하나는 HDD, 나머지는 낸드 플래쉬와 같이 별개의 메모리 장치일 수 있다. 예컨대, 논리적으로 분리된 경우에는 하나의 HDD가 논리적으로 C 드라이브, D 드라이브, E 드라이브 등과 같이 영역 분할된 것일 수 있다.
상기 제어부(120)는 상기 다수의 저장부(100) 중 적어도 하나의 저장부의 특정 어드레스 열(Address Row)에 보호 데이터가 저장되는 경우, 보호 데이터가 저장되는 저장부 이외의 저장부 중 하나를 선택하여 동일한 어드레스 열에 상기 보호 데이터에 관련된 연관성 데이터를 저장하도록 처리한다. 여기서, 상기 어드레스 열(Address Row)은 각 저장부(110)에 접근하기 위한 접근 주소 또는 메모리 블럭 번호를 묶어 하나의 열로 구성한 것을 말한다.
이 때, 상기 제어부(120)가 상기 다수의 저장부(100)들의 어드레스 열들을 보호 열과 비보호 열로 분류하여 동적 관리하고, 보호 데이터는 반드시 보호 열에 저장되도록 관리한다. 비보호 데이터는 보호 열 또는 비보호 열 어디에 저장되어도 무방하다.
도 2 는 어드레스 열의 일 예를 도시한 도면으로, 메모리 크기가 상이한 4개의 저장부의 어드레스 열을 예시한 것이다. 도면에서 저장부1은 n개의 어드레스 열, 저장부2는 n-1개의 어드레스 열, 저장부3은 n-2개의 어드레스 열, 저장부4는 n-3개의 어드레스 열로 이루어져 있음을 알 수 있다.
도면에서 어드레스 열 1,3,n-3,n-2는 보호 데이터가 저장된 보호 열, 어드레스 열 2,n-1,n은 보호 데이터가 저장되지 않은 비보호 열임을 알 수 있다. 이 때, 각 저장부의 동일한 어드레스 열의 메모리 접근 주소는 동일하다.
한편, 상기 연관성 데이터는 예컨대, 패리티(Parity) 정보일 수 있다. 상기 패리티(Parity) 정보는 상기 보호 열에 해당하는 각 저장부(100)들의 어드레스 열에 포함되는 메모리 블럭의 각 메모리 주소의 비트값을 논리 연산함에 의해 얻어지는 값일 수 있다.
예컨대, 상기 패리티 정보가 보호 열에 해당하는 특정 어드레스 열에 패리티 정보가 저장되는 저장부 이외의 각 저장부의 동일한 어드레스 열에 포함되는 데이터들 각각을 XOR 연산함에 의해 결정되도록 구현할 수 있다.
도 3 은 패리티 정보의 일 예를 도시한 도면으로, 저장부1의 어드레스 열에 저장된 데이터가 '1010'이고, 저장부2의 동일한 어드레스 열에 저장된 데이터가 '1001'일 경우, 저장부3의 동일한 어드레스 열에 저장된 패리티 정보가 '1010'과 '1001'을 배타적 논리조합(XOR)한 값인 '0011'임을 알 수 있다.
만약, 저장부2의 어드레스 열에 저장된 데이터가 손실되었다면, 저장부1의 동일한 어드레스 열에 저장된 '1010'과, 저장부3의 동일한 어드레스 열에 저장된 패리티 정보 '0011'를 알고 있고, 배타적 논리조합(XOR)은 두 값이 동일한 값일 경우에는 0, 두 값이 다른 값일 경우에는 1값을 가지므로, 이들로부터 저장부2의 동일한 어드레스 열에 저장된 데이터가 '1001'임을 알 수 있게 된다.
3 이상의 저장부 각각에 저장된 특정 어드레스 열의 데이터와 이들과 다른 저장부에 저장된 동일한 어드레스 열의 패리티 정보를 이용해 어느 하나의 저장부에 저장된 동일한 어드레스 열의 데이터를 복구할 경우에는 위의 패리티 연산을 복합(다중 논리 조합)하면 되므로, 이에 대해서는 설명을 생략하기로 한다.
이렇게 함으로써, 물리적 또는 논리적으로 분리된 다수의 저장부의 보호 열에 해당하는 어드레스 열 중 어느 하나의 저장부의 특정 어드레스 열에 저장된 데이터가 손실된 경우, 다른 어느 하나의 저장부의 해당 어드레스 열에 저장된 연관성 데이터를 이용해 손실된 데이터를 복구할 수 있으므로, 데이터 백업을 이용한 데이터 복구 기술과는 달리 데이터 백업을 위한 메모리 낭비가 매우 적으므로, 간단한 구성으로 효율적인 데이터 강건성 확보가 가능해 진다.
도 4 를 참조하여 상기한 양상을 갖는 데이터 강건성 관리장치의 구체적인 실시예를 알아본다. 도 4 는 본 발명에 따른 데이터 강건성 관리장치의 일 실시예에 따른 블럭도이다. 이 실시예에 따른 데이터 강건성 관리장치(100)의 제어부(120)는 다수의 개별 관리부(121)와, 가상화 관리부(122)를 포함하여 이루어진다.
상기 다수의 개별 관리부(121)는 상기 저장부(110)들 각각에 연동되어, 각 저장부(110)의 어드레스 열을 관리한다. 즉, 각 개별 관리부(121)는 자신과 연동된 저장부(110)의 메모리 블럭들의 사용 상태를 관리한다.
예컨대, 상기 개별 관리부(121)는 각 저장부(110)의 각 어드레스 열에 저장되는 데이터가 보호 데이터인지, 비보호 데이터인지, 연관성 데이터인지, 미사용 중인지를 나타내는 상태정보를 동적 관리한다.
도 5 는 상태정보의 일 예를 도시한 도면이다. 도 5 를 참조해 보면, 저장부(110)의 어드레스 열 1의 블럭 1,2,m은 보호 데이터임을 알 수 있다. 어드레스 열 2의 블럭 1,2,m은 비보호 데이터임을 알 수 있다. 어드레스 열 n의 블럭 1은 비보호 데이터, 블럭 2,m은 미사용 상태임을 알 수 있다.
즉, 상기 개별 관리부(121)는 각 저장부(110)의 각 어드레스 열의 메모리 블럭들에 데이터가 저장되거나, 변경되거나 삭제될 경우, 각 어드레스 열의 각 메모리 블럭의 사용 상태를 파악해 상기 상태정보에 저장하여 반영함으로써 상태정보를 동적 관리한다. 상기 상태정보는 이후 설명할 가상화 관리부(122)에 의한 데이터 저장, 변경 또는 삭제 등의 데이터 관리시 참조되게 된다.
상기 가상화 관리부(122)는 상기 개별 관리부(121)들 각각을 제어하며, 상기 다수의 저장부(110)들을 하나의 장치로 가상화하여 관리한다. 즉, 가상화 관리부(122)는 상기 각 개별 관리부(121)에 의해 동적 관리되는 상태정보를 이용해 다수의 저장부(110)를 하나의 저장장치와 같이 사용할 수 있도록 한다.
예컨대, 저장부1의 메모리 크기가 1024MB, 저장부2의 메모리 크기가 2048MB, 저장부3의 메모리 크기가 1024MB라 가정하면, 상기 가상화 관리부(122)에 의해 4096MB의 메모리 크기를 가진 하나의 메모리처럼 관리되게 된다.
상기 가상화 관리부(122)는 각 개별 관리부(121)에 의해 관리되는 상태정보들을 참조해, 데이터의 저장, 변경 또는 삭제될 저장부(110) 및 해당 저장부의 메모리 주소 또는 블럭을 결정하여 해당 저장부(110)를 관리하는 개별 관리부(121)에 제어명령을 전송하면, 해당 개별 관리부(121)가 자신과 연동된 저장부(110)의 상기 결정된 메모리 주소 또는 블럭에 대해 데이터를 저장, 변경 또는 삭제하고, 상기 상태정보를 갱신한다.
따라서, 이렇게 함에 의해 각 저장부(110)에 접근하기 위한 접근 주소 또는 메모리 블럭 번호를 묶어 하나의 열로 구성한 어드레스 열(Address Row)의 상태정보를 각 저장부(110)에 연동되는 개별 관리부(121)를 통해 동적 관리하고, 상기 각 개별 관리부(121)에 의해 동적 관리되는 상태정보를 참조해 가상화 관리부(122)가 다수의 저장부를 하나의 저장장치처럼 가상화하여 관리할 수 있게 된다.
한편, 이 실시예에 따른 데이터 강건성 관리장치(100)의 부가적인 양상에 따르면, 상기 제어부(120)가 어드레스 열 관리부(123)를 더 포함할 수 있다. 상기 어드레스 열 관리부(123)는 상기 어드레스 열들을 보호 열과 비보호 열로 분류하여 동적 관리한다.
상기 보호 열과 비보호 열은 사용자 요청이 있을 때 마다 동적으로 정의된다. 초기 상태에서는 각 저장부(110)의 모든 어드레스 열이 비보호 열로 설정되어, 비보호 파일을 저장하기 위한 메모리 블럭으로 사용된다.
만약, 보호 데이터의 저장을 위한 사용자 요청이 있으면, 가상화 관리부(122)가 어드레스 열 관리부(123)에 의해 동적 관리되는 어드레스 열 정보를 참조하여 보호 열로 설정된 어드레스 열의 빈 메모리 블럭을 검색하고, 검색된 빈 메모리 블럭에 보호 데이터를 저장하도록 해당 빈 메모리 블럭을 포함하는 저장부(110)를 관리하는 개별 관리부(121)로 명령하여 보호 데이터가 저장되도록 한다.
만약, 보호 데이터의 저장을 위한 사용자 요청이 있어서 상기 가상화 관리부(122)가 어드레스 열 관리부(123)에 의해 동적 관리되는 어드레스 열 정보를 참조했으나, 보호 열이 설정되어 있지 않은 경우에는 상기 가상화 관리부(122)가 어드레스 열 관리부(123)에 명령하여 보호 열을 새로이 생성하도록 한다.
그러면, 어드레스 열 관리부(123)는 보호 열을 생성하고, 어드레스 열 정보에 보호 열을 설정한다. 도 6 은 어드레스 열 정보의 일 예를 도시한 도면으로, 어드레스 열 1,3,n-3,n-2는 보호 열로, 어드레스 열 2,n-1,n은 비보호 열로 설정되어 있음을 알 수 있다.
만약, 상기 어드레스 열 관리부(123)에 의해 관리되는 보호 열에 해당하는 어드레스 열 중 어느 하나의 저장부(110)의 특정 어드레스 열에 저장된 데이터가 손실된 경우, 상기 가상화 관리부(122)는 다른 어느 하나의 저장부의 해당 어드레 스 열에 저장된 연관성 데이터를 이용해 손실된 데이터를 복구하도록 처리한다. 손실된 데이터의 복구에 관련해서는 기 설명했으므로, 중복 설명은 생략하기로 한다.
따라서, 위와 같이함에 의해 이 실시예에 따른 데이터 강건성 관리장치는 물리적 또는 논리적으로 분리된 다수의 저장부의 어드레스 열들을 보호 열과 비 보호 열로 분류하여 보호 열에 보호 데이터가 저장되도록 동적 관리하고, 보호 열에 해당하는 어드레스 열 중 어느 하나의 저장부의 특정 어드레스 열에 저장된 데이터가 손실된 경우, 다른 어느 하나의 저장부의 해당 어드레스 열에 저장된 연관성 데이터를 이용해 손실된 데이터를 복구할 수 있으므로, 간단한 구성으로 효율적인 데이터 강건성 확보가 가능하여 상기에서 제시한 본 발명의 목적을 달성할 수 있게 된다.
도 7 및 도 8 을 참조하여 상기와 같은 구성을 갖는 본 발명에 따른 데이터 강건성 관리장치의 데이터 저장 동작 및 데이터 복구 동작을 간략하게 알아본다. 도 7 은 본 발명에 따른 데이터 저장 방법의 일 실시예를 도시한 흐름도, 도 8 은 본 발명에 따른 데이터 복구 방법의 일 실시예를 도시한 흐름도이다.
도 7 을 참조하여 데이터 저장 동작을 알아보면, 사용자로부터의 데이터 저장 요청이 있을 경우, 데이터 강건성 관리장치가 단계 S110에서 저장 요청된 데이터가 보호 데이터인지 여부를 판단한다.
만약, 상기 단계 S110에 의해 보호 데이터라 판단된 경우, 데이터 강건성 관리장치가 단계 S120에서 다수의 저장부 중 하나의 저장부를 선택하고, 해당 선택된 저장부의 어드레스 열 중 보호 열로 설정된 어드레스 열에 상기 보호 데이터를 저 장한다.
만약, 상기 단계 S110에 의해 보호 데이터가 아니라 판단된 경우에는 데이터 강건성 관리장치가 다수의 저장부 중 하나의 저장부를 선택하고, 해당 선택된 저장부의 어드레스 열 중 비보호 열로 설정된 어드레스 열에 상기 비보호 데이터를 저장한다.
상기 단계 S120에 의해 보호 데이터가 저장되면, 데이터 강건성 관리장치가 해당 보호 데이터가 저장되는 저장부 이외의 저장부 중 하나를 선택하여 동일한 어드레스 열에 상기 보호 데이터와 관련된 연관성 데이터를 저장한다. 한편, 상기 보호 데이터는 선택된 저장부의 어드레스 열 중 보호 열로 설정된 어드레스 열의 미사용 블럭에 저장되는 것이 바람직하다.
이 때, 상기 연관성 데이터는 예컨대, 패리티(Parity) 정보일 수 있다. 상기 패리티(Parity) 정보는 상기 보호 열에 해당하는 각 저장부들의 어드레스 열에 포함되는 메모리 블럭의 각 메모리 주소의 비트값을 논리 연산함에 의해 얻어지는 값일 수 있다. 이에 대해서는 기 설명했으므로, 중복 설명은 생략하기로 한다.
따라서, 이와 같이함에 의해 물리적 또는 논리적으로 분리된 다수의 저장부 중 적어도 하나의 저장부의 특정 어드레스 열(Address Row)에 보호 데이터를 저장할 수 있고, 보호 데이터가 저장되는 저장부 이외의 저장부 중 하나를 선택하여 동일한 어드레스 열에 상기 보호 데이터에 관련된 연관성 데이터를 저장하여 어느 하나의 저장부의 해당 어드레스 열에 저장된 데이터가 파손시 상기 연관성 데이터를 이용해 복구할 수 있도록 한다.
도 8 을 참조하여 데이터 복구 동작을 알아보면, 데이터 강건성 관리장치가 단계 S210에서 다수의 저장부 중 어느 하나의 저장부의 보호 열에 해당하는 특정 어드레스 열에 저장된 데이터가 손실되었는지 여부를 판단한다.
만약, 상기 단계 S210에 의해 손실되었다 판단된 경우, 데이터 강건성 관리장치가 단계 S220에서 다른 어느 하나의 저장부의 해당 어드레스 열에 저장된 연관성 데이터와, 데이터가 손실되지 않은 나머지 저장부의 해당 어드레스 열에 저장된 데이터를 분석하여 데이터가 손실된 어드레스 열의 데이터를 추출한다.
이 때, 상기 연관성 데이터는 예컨대, 패리티(Parity) 정보일 수 있다. 상기 패리티(Parity) 정보는 상기 보호 열에 해당하는 각 저장부들의 어드레스 열에 포함되는 메모리 블럭의 각 메모리 주소의 비트값을 논리 연산함에 의해 얻어지는 값일 수 있다. 이에 대해서는 기 설명했으므로, 중복 설명은 생략하기로 한다.
동일한 어드레스 열에 저장된 연관성 데이터 및 손실되지 않은 데이터를 이용해 동일한 어드레스 열의 파손된 데이터를 추출하는 동작은 기 설명했으므로, 이에 대한 중복 설명은 생략하기로 한다.
상기 단계 S220에 의해 손실된 어드레스 열의 데이터가 추출되면, 데이터 강건성 관리장치가 단계 S230에서 추출된 데이터를 해당 데이터가 손실된 어드레스 열에 저장하여 손실된 데이터를 복구한다.
따라서, 이와 같이함에 의해 동일한 어드레스 열에 저장된 연관성 데이터 및 손실되지 않은 데이터를 이용해 동일한 어드레스 열의 파손된 데이터 복구할 수 있게 되므로, 상기에서 제시한 본 발명의 목적을 달성할 수 있게 된다.
본 발명은 첨부된 도면에 의해 참조되는 바람직한 실시예를 중심으로 기술되었지만, 이러한 기재로부터 후술하는 특허청구범위에 의해 포괄되는 범위 내에서 본 발명의 범주를 벗어남이 없이 다양한 변형이 가능하다는 것은 명백하다.
도 1 은 본 발명의 일 양상에 따른 데이터 강건성 관리장치의 개요도
도 2 는 어드레스 열의 일 예를 도시한 도면
도 3 은 패리티 정보의 일 예를 도시한 도면
도 4 는 본 발명에 따른 데이터 강건성 관리장치의 일 실시예에 따른 블럭도
도 5 는 상태정보의 일 예를 도시한 도면
도 6 은 어드레스 열 정보의 일 예를 도시한 도면
도 7 은 본 발명에 따른 데이터 저장 방법의 일 실시예를 도시한 흐름도
도 8 은 본 발명에 따른 데이터 복구 방법의 일 실시예를 도시한 흐름도
<도면의 주요 부분에 대한 부호의 설명>
100 : 데이터 강건성 관리장치 110 : 저장부
120 : 제어부 121 : 개별 관리부
122 : 가상화 관리부 123 : 어드레스 열 관리부

Claims (14)

  1. 다수의 저장부와;
    상기 저장부의 어드레스 열들을 보호 열과 비보호 열로 분류하여 동적 관리하되, 상기 다수의 저장부 중 적어도 하나의 저장부의 특정 어드레스 열(Address Row)에 보호 데이터가 저장되는 경우, 보호 데이터가 저장되는 저장부 이외의 저장부 중 하나를 선택하여 동일한 어드레스 열에 상기 보호 데이터에 관련된 연관성 데이터를 저장하도록 처리하는 제어부를;
    포함하는 데이터 강건성 관리장치.
  2. 제 1 항에 있어서,
    상기 제어부가:
    상기 저장부들 각각에 연동되어, 각 저장부의 어드레스 열을 관리하는 다수의 개별 관리부와;
    상기 개별 관리부들 각각을 제어하며, 상기 다수의 저장부들을 하나의 장치로 가상화하여 관리하는 가상화 관리부를;
    포함하는 데이터 강건성 관리장치.
  3. 제 2 항에 있어서,
    상기 제어부가:
    상기 어드레스 열들을 보호 열과 비보호 열로 분류하여 동적 관리하는 어드 레스 열 관리부를;
    더 포함하는 데이터 강건성 관리장치.
  4. 제 3 항에 있어서,
    상기 가상화 관리부가:
    상기 어드레스 열 관리부에 의해 관리되는 보호 열에 해당하는 어드레스 열 중 어느 하나의 저장부의 특정 어드레스 열에 저장된 데이터가 손실된 경우, 다른 어느 하나의 저장부의 해당 어드레스 열에 저장된 연관성 데이터를 이용해 손실된 데이터를 복구하도록 처리하는 데이터 강건성 관리장치.
  5. 제 2 항에 있어서,
    상기 개별 관리부가:
    각 저장부의 각 어드레스 열에 저장되는 데이터가 보호 데이터인지, 비보호 데이터인지, 연관성 데이터인지, 미사용 중인지를 나타내는 상태정보를 동적 관리하는 데이터 강건성 관리장치.
  6. 제 1 항 내지 제 5 항 중의 어느 한 항에 있어서,
    상기 연관성 데이터가:
    패리티(Parity) 정보인 데이터 강건성 관리장치.
  7. 제 6 항에 있어서,
    상기 패리티 정보는:
    특정 어드레스 열에 패리티 정보가 저장되는 저장부 이외의 각 저장부의 동일한 어드레스 열에 포함되는 데이터들 각각을 XOR 연산함에 의해 결정되는 데이터 강건성 관리장치.
  8. 저장 요청된 데이터가 보호 데이터인지 여부를 판단하는 단계와;
    상기 단계에 의해 보호 데이터라 판단된 경우, 어드레스 열들이 보호 열과 비보호 열로 분류하여 동적 관리되는 다수의 저장부 중 하나의 저장부를 선택하고, 해당 선택된 저장부의 어드레스 열 중 보호 열로 설정된 어드레스 열에 상기 보호 데이터를 저장하는 단계와;
    상기 단계에 의해 보호 데이터가 저장되면, 해당 보호 데이터가 저장되는 저장부 이외의 저장부 중 하나를 선택하여 동일한 어드레스 열에 상기 보호 데이터와 관련된 연관성 데이터를 저장하는 단계를;
    포함하는 데이터 저장 방법.
  9. 제 8 항에 있어서,
    상기 연관성 데이터가:
    패리티(Parity) 정보인 데이터 저장 방법.
  10. 제 9 항에 있어서,
    상기 패리티 정보는:
    특정 어드레스 열에 패리티 정보가 저장되는 저장부 이외의 각 저장부의 동일한 어드레스 열에 포함되는 데이터들 각각을 XOR 연산함에 의해 결정되는 데이터 저장 방법.
  11. 제 8 항 내지 제 10 항 중의 어느 한 항에 있어서,
    상기 보호 데이터가:
    선택된 저장부의 어드레스 열 중 보호 열로 설정된 어드레스 열의 미사용 블럭에 저장되는 데이터 저장 방법.
  12. 어드레스 열들이 보호 열과 비보호 열로 분류하여 동적 관리되는 다수의 저장부 중 어느 하나의 저장부의 보호 열에 해당하는 특정 어드레스 열에 저장된 데이터가 손실되었는지 여부를 판단하는 단계와;
    상기 단계에 의해 손실되었다 판단된 경우, 다른 어느 하나의 저장부의 해당 어드레스 열에 저장된 연관성 데이터와, 데이터가 손실되지 않은 나머지 저장부의 해당 어드레스 열에 저장된 데이터를 분석하여 데이터가 손실된 어드레스 열의 데이터를 추출하는 단계와;
    상기 단계에 의해 추출된 데이터를 해당 데이터가 손실된 어드레스 열에 저장하여 손실된 데이터를 복구하는 단계를;
    포함하는 데이터 복구 방법.
  13. 제 12 항에 있어서,
    상기 연관성 데이터가:
    패리티(Parity) 정보인 데이터 복구 방법.
  14. 제 13 항에 있어서,
    상기 패리티 정보는:
    특정 어드레스 열에 패리티 정보가 저장되는 저장부 이외의 각 저장부의 동일한 어드레스 열에 포함되는 데이터들 각각을 XOR 연산함에 의해 결정되는 데이터 복구 방법.
KR1020080093235A 2008-09-23 2008-09-23 데이터 강건성 관리장치와, 데이터 저장 방법 및 데이터 복구 방법 KR101506330B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080093235A KR101506330B1 (ko) 2008-09-23 2008-09-23 데이터 강건성 관리장치와, 데이터 저장 방법 및 데이터 복구 방법
US12/431,859 US8356230B2 (en) 2008-09-23 2009-04-29 Apparatus to manage data stability and methods of storing and recovering data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080093235A KR101506330B1 (ko) 2008-09-23 2008-09-23 데이터 강건성 관리장치와, 데이터 저장 방법 및 데이터 복구 방법

Publications (2)

Publication Number Publication Date
KR20100034212A KR20100034212A (ko) 2010-04-01
KR101506330B1 true KR101506330B1 (ko) 2015-03-27

Family

ID=42038847

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080093235A KR101506330B1 (ko) 2008-09-23 2008-09-23 데이터 강건성 관리장치와, 데이터 저장 방법 및 데이터 복구 방법

Country Status (2)

Country Link
US (1) US8356230B2 (ko)
KR (1) KR101506330B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007145064A1 (ja) * 2006-06-13 2007-12-21 Sharp Kabushiki Kaisha データ送信装置、データ送信方法、視聴環境制御装置、視聴環境制御システム、及び視聴環境制御方法
CN105701040B (zh) * 2014-11-28 2018-12-07 杭州华为数字技术有限公司 一种激活内存的方法及装置
KR102193969B1 (ko) * 2019-03-29 2020-12-22 한국전자통신연구원 동적 데이터의 안전한 분산 데이터 관리를 위한 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010111544A (ko) * 2000-06-12 2001-12-19 정자춘 데이터 액세스 제어 방법 및 시스템

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57117197A (en) 1981-01-13 1982-07-21 Toshiba Corp Detecting method for auxiliary storage device
US6018806A (en) * 1995-10-16 2000-01-25 Packard Bell Nec Method and system for rebooting a computer having corrupted memory using an external jumper
KR200258404Y1 (ko) 1998-09-07 2002-04-22 서경석 컴퓨터용하드디스크내자료보호및복원장치
KR100621614B1 (ko) 1999-08-30 2006-09-06 삼성전자주식회사 컴퓨터 시스템의 파일 백업 방법
KR100489178B1 (ko) 2001-12-19 2005-05-17 (주)새늘 디스크블록화를 통한 하드디스크 보호방법
KR100468781B1 (ko) * 2002-12-23 2005-01-29 삼성전자주식회사 백업 헤드를 포함하는 하드 디스크 드라이브를 이용한셀프 레이드 시스템 및 백업 헤드를 포함하는 하드 디스크드라이브에 데이터를 기록 및 독출하기 위한 방법
US7188278B1 (en) * 2003-02-13 2007-03-06 American Megatrends, Inc. Method, system, and apparatus for utilizing compressed program code in the boot block portion of a computer BIOS
US7934120B2 (en) * 2006-09-11 2011-04-26 International Business Machines Corporation Storing data redundantly
WO2008146639A1 (ja) * 2007-05-23 2008-12-04 Nec Corporation 情報共有システム、コンピュータ、プロジェクト管理サーバ及びそれらに用いる情報共有方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010111544A (ko) * 2000-06-12 2001-12-19 정자춘 데이터 액세스 제어 방법 및 시스템

Also Published As

Publication number Publication date
KR20100034212A (ko) 2010-04-01
US20100077283A1 (en) 2010-03-25
US8356230B2 (en) 2013-01-15

Similar Documents

Publication Publication Date Title
US10977124B2 (en) Distributed storage system, data storage method, and software program
JP6294518B2 (ja) 不揮発性メモリシステムにおける同期ミラーリング
CN101566931B (zh) 虚拟磁盘驱动系统和方法
CN103761053B (zh) 一种数据处理方法和装置
US9880759B2 (en) Metadata for data storage array
JP5881859B2 (ja) ストレージ装置
US8732411B1 (en) Data de-duplication for information storage systems
CN102707990A (zh) 基于容器的处理方法、装置和系统
CN111031096A (zh) 一种基于拟态防御的分布式存储系统构建方法
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
US10564865B2 (en) Lockless parity management in a distributed data storage system
US20070061540A1 (en) Data storage system using segmentable virtual volumes
TW201131351A (en) System and method for optimizing redundancy restoration in distributed data layout environments
CN107515726B (zh) 用于管理存储设备的方法和系统
JPWO2008114441A1 (ja) ストレージ管理プログラム、ストレージ管理方法およびストレージ管理装置
CN112328168A (zh) 分片管理方法和分片管理装置
JP2007012054A (ja) ファイルシステム保全の最適化されたスタートアップ認証
KR20200113047A (ko) 오픈 채널 스토리지 장치의 동작 방법
US9495253B2 (en) Virtual snapshot system and method
US20130238867A1 (en) Method and apparatus to deploy and backup volumes
KR20110093035A (ko) 플래시 주소 변환 장치 및 그 방법
US9501362B2 (en) RAID configuration management device and RAID configuration management method
CN100478865C (zh) 虚拟磁盘驱动系统和方法
KR101506330B1 (ko) 데이터 강건성 관리장치와, 데이터 저장 방법 및 데이터 복구 방법
KR101548452B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200228

Year of fee payment: 6