KR20110018605A - 자동 백업기능을 갖는 저장장치 - Google Patents

자동 백업기능을 갖는 저장장치 Download PDF

Info

Publication number
KR20110018605A
KR20110018605A KR1020090076150A KR20090076150A KR20110018605A KR 20110018605 A KR20110018605 A KR 20110018605A KR 1020090076150 A KR1020090076150 A KR 1020090076150A KR 20090076150 A KR20090076150 A KR 20090076150A KR 20110018605 A KR20110018605 A KR 20110018605A
Authority
KR
South Korea
Prior art keywords
block
backup
data
controller
user data
Prior art date
Application number
KR1020090076150A
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 KR1020090076150A priority Critical patent/KR20110018605A/ko
Priority to JP2010164552A priority patent/JP2011040057A/ja
Priority to US12/844,391 priority patent/US20110047409A1/en
Publication of KR20110018605A publication Critical patent/KR20110018605A/ko

Links

Images

Classifications

    • 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
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

자동 백업기능을 갖는 저장장치가 개시된다. 상기 자동 백업기능을 갖는 저장장치는 유저 데이터가 저장될 수 있는 저장매체 및 상기 저장매체의 데이터 기입 및 독출을 제어하는 컨트롤러를 포함하며, 상기 컨트롤러는 상기 저장장치의 유휴시간에 상기 저장매체에 저장된 상기 유저 데이터의 적어도 일부를 상기 저장매체의 가용영역에 백업한다.

Description

자동 백업기능을 갖는 저장장치{Memory apparatus supporting auto back-up function}
본 발명의 실시 예는 메모리 장치에 관한 것으로, 보다 상세하게는 호스트 또는 유저의 커맨드 없이 저장장치에서 자동으로 데이터를 백업하는 기능을 제공하는 저장장치에 관한 것이다.
현재 사용되고 있는 데이터 백업 및 복원 방식으로는 OS에서 제공되는 기능을 이용하여 저장장치에 저장된 데이터를 백업(back-up)하고, 백업된 데이터를 이용하여 데이터 복원을 수행하는 방식을 사용하고 있다. 또는 사용자가 호스트(예컨대, 컴퓨터)에 백업을 위한 소정의 애플리케이션/프로그램을 설치하고, 설치된 애플리케이션/프로그램을 이용하여 저장장치에 저장된 데이터의일부 또는 전체를 복사, 압축하여 백업하고, 필요시 백업된 데이터를 이용하여 데이터 복원을 수행한다.
종래의 이러한 백업방법에 의하면 백업을 수행하는 경우, 저장장치의 일부분을 항시 백업 된 파일을 저장하기 위해 할당하고 있어야 하므로, 백업을 위해 할당된 저장장치의 용량이 크고 실제 활용도가 떨어지는 문제점이 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 OS나 사용자의 명령없이 저장장치 자체에서 데이터의 백업을 소정의 방식으로 수행하는 저장장치를 제공하는 것이다.
또한, 백업을 위한 공간이 특정 공간으로 고정되지 않고, 다이나믹(dynamic)하게 비어있는 공간을 스스로 찾아내어 데이터를 백업함으로써 저장장치의 공간의 활용성을 높일 수 있는 저장장치를 제공하는 것이다.
또한, OS나 사용자가 별도로 백업을 수행하지 않았음에도 저장장치가 스스로 데이터를 백업해 주므로, 해당 파일이 손상되었을 경우, 백업된 파일이 있는 위치로 자동으로 찾아가서 읽어서 저장장치 자체의 신뢰도가 높아질 수 있는 저장장치를 제공하느 것이다.
상기 기술적 과제를 해결하기 위한 호스트 장치와 연결되어 유저 데이터를 저장하는 저장장치에 있어서, 상기 자동 백업기능을 갖는 저장장치는 상기 유저 데이터가 저장될 수 있는 저장매체 및 상기 저장매체의 데이터 기입 및 독출을 제어하는 컨트롤러를 포함하며, 상기 컨트롤러는 상기 저장장치의 유휴시간에 상기 저장매체에 저장된 상기 유저 데이터의 적어도 일부를 상기 저장매체의 가용영역에 백업한다.
상기 컨트롤러는 상기 가용영역에서 상기 유저 데이터의 적어도 일부가 백업 될 위치를 탐색하고, 탐색된 위치에 상기 유저 데이터의 적어도 일부를 백업할 수 있다.
상기 컨트롤러는 상기 저장매체를 미리 결정된 크기의 단위인 다수의 블록(block)으로 구분하고, 구분된 다수의 블록 중 제1블록에 상기 유저 데이터가 적어도 일부 기입된 경우, 상기 제1블록을 백업할 백업대상블록으로 판단하고, 상기 제1블록을 상기 가용영역의 제2블록에 백업할 수 있다.
상기 컨트롤러는 상기 제2블록이 상기 제1블록의 백업블록임을 나타내는 매칭정보를 상기 저장매체 또는 상기 저장매체에 구비된 메모리 중 적어도 하나에 저장할 수 있다.
상기 컨트롤러는 상기 호스트로부터 상기 제1블록의 읽기 명령이 수신되고, 상기 제1블록의 읽기 오류가 발생하는 경우 상기 매칭정보에 기초하여 상기 제2블록에 대한 정보를 상기 호스트로 제공할 수 있다.
상기 컨트롤러는 상기 제2블록에 제2유저 데이터의 기입명령이 수신되는 경우, 상기 제2블록에 상기 제2유저 데이터를 기입하는 것을 특징으로 할 수 있다.
상기 컨트롤러는 상기 제1블록을 백업대상블록 중 백업 우선순위가 높아지도록 설정하는 것을 특징으로 할 수 있다.
상기 컨트롤러는 상기 제1블록 중 적어도 일부영역이 디펙(defect)으로 판단되는 경우, 상기 적어도 일부영역을 상기 저장매체의 타영역에 리어사인(reassgin)하고, 상기 제2블록 중 상기 적어도 일부영역에 대응되는 백업영역을 리어사인된 상기 타영역에 복사할 수 있다.
상기 컨트롤러는 상기 유저 데이터의 적어도 일부의 데이터 종류에 기초하여 상기 가용역역에 상기 유저 데이터의 적어도 일부를 백업할지 여부를 판단하거나, 백업된 상기 유저 데이터의 적어도 일부를 삭제하는 것을 특징으로 할 수 있다.
상기 기술적 과제를 달성하기 위한 자동 백업기능을 갖는 저장장치는 유저 데이터가 저장될 수 있는 저장매체 및 상기 저장매체의 데이터 기입 및 독출을 제어하는 컨트롤러를 포함하며, 상기 컨트롤러는 상기 저장매체를 미리 결정된 단위인 블록으로 구분하고, 구분된 블록 중 어느 한 제1블록에 상기 유저 데이터가 적어도 일부 기입되는 경우, 상기 제1블록을 유휴시간에 상기 저장매체의 가용영역 중 어느 한 블록인 제2블록에 백업하는 것을 특징으로 한다.
본 발명에 따른 자동 백업기능을 갖는 저장장치에 의하면, 저장장치의 유휴시간에 저장장치가 자체적으로 데이터 백업을 수행하므로 사용자의 체감성능을 저하시키지 않으면서도 저장장치의 신뢰성을 높일 수 있는 효과가 있다.
또한, 저장장치가 백업을 위해 고정된 공간을 미리 할당하거나 할당된 공간이 고정되어 있지 않고, 다이나믹하게 공간을 활용할 수 있으므로 저장공간의 사용 효율성을 높일 수 있는 효과가 있다.
또한, 백업공간의 부족시 데이터의 종류에 따라 백업데이터를 삭제할수 있으므로, 불필요하거나 백업의 필요성이 낮은 데이터를 미리 설정함으로써 백업의 효율성을 높일 수 있는 효과가 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다.
반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치의개략적인 구성을 나타낸다.
도 1을 참조하면, 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)는 컨트롤러(110) 및 저장매체(120)를 포함한다. 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)는 자체 펌웨어(firmware)를 구비하여 본 발명의 실시 예에 따른 기술적 사상을 구현할 수 있는 모든 종류의 저장장치를 포함할 수 있다.
상기 자동 백업기능을 갖는 저장장치(100)는 하드 디스크 드라이브, SDD(Solid State Disk), 플래시 메모리 등의 대용량 저장장치에 적용될 수 있다.
이하 본 명세서에서는 상기 자동 백업기능을 갖는 저장장치(100)가 하드 디스크 드라이브인 경우를 일 예로 설명하지만, 본 발명의 궈리범위가 이에 한정되지는 않으며 다양한 저장장치에 적용될 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
상기 자동 백업기능을 갖는 저장장치(100)의 컨트롤러(110)는 호스트(예컨대, 컴퓨터등, 200)로부터 유저 데이터의 기입(write) 명령 및/또는 상기 자동 백업기능을 갖는 저장장치(100)의 저장매체(120)에 기록된 데이터의 독출(read) 명령을 수신한다. 그러면, 상기 컨트롤러(110)는 수신된 명령에 상응하는 동작을 수행하기 위해 상기 저장매체(120) 및/또는 상기 저장매체(120)에 데이터의 기입/독출을 수행하기 위한 소정의 장치들을 제어할 수 있다.
도 2는 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)가 하드 디스크 드라이브인 경우를 설명하기 위한 도면이다.
도 2를 참조하면, 상기 자동 백업기능을 갖는 저장장치(100)는 전술한 바와 같이, 컨트롤러(110)와 저장매체(120)뿐만 아니라, VCM(Voice Coil Motor), VCM 구동부, 스핀들 모터, 스핀들 모터 구동부, 자기헤드(130), 전치증폭기, R/W 채널회로, 호스트 인터페이스, 버퍼 등을 더 구비할 수 있다. 따라서, 상기 컨트롤러(110)는 상기한 VCM(Voice Coil Motor), VCM 구동부, 스핀들 모터, 스핀들 모터 구동부, 자기헤드(130), 전치증폭기, R/W 채널회로, 호스트 인터페이스, 버퍼 등을 제어함으로써 본 발명의 실시 예에 따른 기술적 사상을 구현할 수 있다.
예컨대, 상기 컨트롤러(110)는 상기 자동 백업기능을 갖는 저장장치(100)의 구동에 필요한 여러 가지 제어를 수행한다. 예컨대, 상기 저장매체(예컨대, 디스크, 120)에 데이터 기입 동작을 수행하기 위해서는 상기 컨트롤러는 R/W 채널 회로 및 전치 증폭기를 통하여 기입될 데이터를 상기 자기헤드(130)로 출력하며, 상기 VCM 구동부 및 상기 스핀들 모터를 제어하여 상기 데이터가 상기 저장매체(120)에서 쓰여질 위치를 제어하게 된다. 상기 컨트롤러(110)가 상술한 동작 및 그 외에 널리 알려진 여러 동작을 수행하기 위해서는 소정의 펌웨어(firmware)가 필요하며, 상기 펌웨어는 상기 컨트롤러(110)에 구비되거나 상기 컨트롤러(110)와 연결된 소정의 메모리(예컨대, RAM(random access memory) 또는 노어형 플래시(flash), 미도시)에 저장될 수 있다. 상기 펌웨어는 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)를 제공하기 위한 소정의 코드들을 포함할 수 있다. 이러한 하드 디스크 드라이브의 동작 및 각 구성들의 기능과 구조는 널리 알려져 있으므로 상세한 설명은 생략하기로 한다.
다시 도 1을 참조하면, 본 발명의 실시 예에 따른 상기 자동 백업기능을 갖는 저장장치(100)는 호스트(200)와 데이터 통신을 수행하면서, 상기 호스트(200)의 OS(Operating System) 및/또는 유저의 커맨드에 상응하는 동작을 수행하다가, 이러한 동작이 완료되는 경우에 유휴시간(Idle time)을 갖게 된다.
본 명세서에서 유휴시간이라 함은, 본 발명의 기술적 사상을 구현하기 위해 상기 자동 백업기능을 갖는 저장장치(100)가 동작하는 것과 무관하게, 유저 및/또 는 OS로부터 수신되는 명령을 수행하기 위한 동작이 완료되어 상기 자동 백업기능을 갖는 저장장치(100)가 실질적으로 아무런 동작을 수행하지 않는 시간을 의미할 수 있다.
따라서 본 발명의 기술적 사상에 의하면 이러한 유휴시간을 이용하여 자동 백업기능을 갖는 저장장치(100)가 자체적으로 상기 컨트롤러(110) 및 상기 컨트롤러(110)에 구동되는 펌웨어를 이용하여 후술하는 바와 같은 소정의 방법을 통해 상기 저장매체(120)에 기입되어 있는 유저 데이터를 상기 저장매체(120)의 빈 영역 즉, 가용영역에 백업할 수 있다. 그럼으로써 유저는 상기 자동 백업기능을 갖는 저장장치(100)의 능력의 저하나 유저가 원하는 동작을 수행하는데에 전혀 방해를 받지 않고서도 데이터의 백업이 가능한 효과를 얻을 수 있다.
한편, 본 명세서에서 유저 데이터라 함은, 상기 호스트(200)를 통해 유저가 상기 저장매체(120)에 기입한 데이터뿐만 아니라, 상기 호스트(200)를 구동하기 위해 필요한 OS 등과 같이 상기 저장매체(120)에 저장된 모든 유의미한 데이터를 의미할 수 있다. 또한, 가용영역이라 함은, 상기 저장매체(120)에 데이터가 새롭게 기입될 수 있는 영역을 의미하며, 반드시 아무런 데이터가 쓰여있지 않은 것을 의미하지는 않는다. 실제로 하드 디스크 드라이브의 경우 데이터의 삭제를 수행하면, 데이터를 저장매체(120)에서 지우는 것이 아니라 상기 데이터를 포인팅 하는 위치를 삭제함으로써 그 데이터에 덮어쓰기(overwriting)이 수행될 수 있는 것을 의미할 수도 있기 때문이다.
이하에서는 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100) 를 제공하기 위한 백업방법에 대해 구체적으로 설명하도록 한다.
본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)는 유저가 인식하지 못하게 자동으로 상기 자동 백업기능을 갖는 저장장치(100)가 유저 데이터를 백업하도록 할 수 있다. 따라서, 실제로 유저 데이터가 백업된 백업데이터가 저장된 영역도 유저에게는 실질적으로 가용영역으로 인식될 수 있다. 따라서 백업데이터가 저장된 위치에 유저 및/또는 OS의 명령에 의해 소정의 데이터의 기입명령이 수행되는 경우에는 상기 자동 백업기능을 갖는 저장장치(100)는 상기 백업데이터를 포기하고 상기 소정의 데이터를 기입하도록 할 수 있다. 따라서, 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)는 종래의 백업 방법과는 달리 데이터의 백업위치가 다이나믹(dynamic)하게 변할 수 있는 특징이 있다.
따라서, 상기 컨트롤러(110)는 유저 데이터의 일부(또는 전부)를 백업하고자 하는 경우, 상기 저장매체(120)에서 실질적으로 백업할 수 있는 위치를 탐색하고, 탐색된 위치에 백업을 수행하게 된다. 따라서 특정 고정된 공간에 백업을 수행하지 않으므로, 공간의 가용성을 높일 수 있는 효과가 있다.
한편, 상기 컨트롤러(110)는 본 발명의 기술적 사상을 효율적으로 구현하기 위해 상기 저장매체(120)를 미리 결정된 단위인 블록(block)단위로 구분하고, 구분된 블록 단위별로 백업을 진행할 수 있다. 즉, 단위 용량인 블록 단위로 유휴시간에 백업을 진행함으로써, 유휴시간이 짧은 경우에도 백업을 일부나마 진행시킬 수 있으며, 상기 저장매체(120)에 데이터의 가용영역이 물리적으로 연속되지 않더라도 효율적으로 백업을 진행할 수 있는 효과가 있다.
도 3 내지 도 8은 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)가 백업을 진행하는 과정을 설명하기 위한 도면이다.
먼저 도 3을 참조하면, 상기 자동 백업기능을 갖는 저장장치(100)가 하드 디스크 드라이브인 경우, 상기 저장매체(120)의 용량은 LBA(Logical Block Address)로 표현될 수 있다. 상기 전체 LBA는 미리 결정된 소정의 단위 즉 블록으로 나뉘어질 수 있다. 도 3에서는 전체 저장매체(120) 즉, 디스크 전체의 유저 데이터가 하나도 존재하지 않는 초기화 상태를 의미할 수 있으며, 전체 저장매체(120)가 십만개의 블록으로 구분된 경우를 나타낸다.
또한, 상기 컨트롤러(110)는 원본 데이터가 존재하는 블록과 원본 데이터가 복사된 블록 즉, 백업블록의 관계를 나타내는 매칭정보를 상기 저장매체(120, 예컨대, 하드 디스크 드라이브의 메인터넌스 실린더) 또는 상기 자동 백업기능을 갖는 저장장치(100)의 별도의 메모리(예컨대, DRAM, SRAM 또는 버퍼 등)에 유지할 수 있다. 상기 매칭정보는 도 3에 도시된 바와 같이, 소정의 테이블(table) 형태인 매칭 테이블로 유지될 수 있으나 이에 국한되지는 않는다. 또한, 백업의 효율성을 위해, 각 블록에 데이터가 유지하는지 여부 및/또는 각 블록이 백업블록인지 원본블록인지 여부를 더 유지할 수도 있다.
도 3에서는 상기 저장매체(120)에 유저 데이터가 전혀 기입되어 있지 않으므로, 각각의 블록에 대응되는 백업블록(copied data block)에는 모두 '0'이라는 정보가 기입되어 있을 수 있다. 또한, 각각의 블록에 데이터가 저장되어 있는지 여부를 나타내는 데이터 존재 필드(Data Exist?) 및 각각의 블록이 백업블록인지 여부 를 나타내는 백업여부 필드(Copy Data?)가 매칭 테이블에 더 포함될 수 있다.
그러면, 상기 컨트롤러(110)는 구분된 다수의 블록 중 어느 한 블록에 상기 유저 데이터가 적어도 일부 기입된 경우 상기 제1블록을 백업할 백업대상블록으로 판단할 수 있다.
어느 한 블록에 유저 데이터의 적어도 일부가 기입된 경우라 하면, 구현 예에 따라 어느 한 블록에 데이터가 가득찬 경우뿐만 아니라, 일부만 찬 경우에도 백업을 수행할 백업대상블록이 될 수 있음을 의미할 수 있다. 즉, 어느 한 블록이 가득 찬 경우에만 백업을 수행할 수도 있고, 일부만 찬 경우에도 백업을 수행할 수 있다. 상기 컨트롤러(110)는 어느 한 블록에 데이터가 가득 찼는지 여부 또는 일부만 찼는지 여부를 판단하기 위해 다양한 방법을 사용할 수 있다. 예컨대, 하드 디스크 드라이브인 경우에는 호스트(200)로부터 출력되는 호스트 커맨드 즉, 기입(write) 명령에 포함된 기입 어드레스에 대한 정보가 메인터넌스 실린더에 저장되어 있을 수 있으며, 이러한 기입 어드레스에 기초하여 어느 한 블록이 백업대상블록인지 여부를 판단할 수 있다. 물론, 다양한 실시 예들이 가능할 수 있다.
상기 컨트롤러(110)는 백업대상블록이라고 판단된 경우에는 상기 자동 백업기능을 갖는 저장장치(100)의 유휴시간에 백업대상블록을 소정의 우선순위대로 또는 순차적으로 백업할 수 있다.
도 4는 블록 1부터 블록 1001까지에 유저 데이터가 기입된 경우를 일 예로 나타내며, 블록 50001부터 순차적으로 백업블록으로 설정된 경우를 나타낸다. 물론 구현 예에 따라 블록 1의 백업블록이 블록 2일 수도 있으며, 백업블록이 도 4에 도 시된 바와 같이 연속적이지 않을 수도 있다. 상기 컨트롤러(110)는 백업대상블록을 백업할 백업블록을 탐색하기 위해, 백업할 수 있는 블록 즉, 가용영역에 속하는 블록 중 블록 번호가 가장 빠른 번호를 서치하거나 이진탐색 등 다양한 방식의 탐색알고리즘(예컨대, sequentioal search, binary search 등)을 통해 가용영역 즉, 백업을 할 수 있는 블록들 중 실제로 백업을 수행할 백업블록을 탐색할 수 있다.
예컨대, 도 4에 도시된 바와 같이 블록 1부터 블록 1001까지 순차적으로 유저 데이터가 기입된 경우라면, 상기 컨트롤러(110)는 상기 매칭테이블의 데이터 존재 필드(Data Exist?)에 상기 블록 1 내지 블록 1001에 데이터가 존재함을 나타내는 정보를 기입할 수 있다. 또한, 상기 컨트롤러(110)가 상기 블록 1 내지 블록 1001 각각의 백업대상블록을 블록 50001 내지 블록 51001로 탐색(또는 설정)한 경우, 상기 컨트롤러(110)는 유휴시간에 상기 블록 1 내지 블록 1001을 대응되는 백업대상 블록 즉, 블록 50001 내지 블록 51001에 복사할 수 있다. 그러면, 도 4에 도시된 바와 같이, 블록 50001 내지 블록 51001에 해당하는 데이터 존재 필드(Data Exist?)에는 데이터가 존재함을 나타내는 정보를 기입하고, 백업여부 필드(Copy Data?)에는 상기 블록이 백업블록임을 나타내는 정보를 기입할 수 있다.
이와 같은 방식으로 백업을 수행하여 최대한 많은 백업을 수행한 경우가 도 5에 도시된다. 즉, 전체 저장매체(120)의 용량 중 절반의 공간 즉 전체 블록들 중 절반의 블록에 유저 데이터가 기입된 경우에 모든 유저 데이터가 백업될 수 있다.
도 5에 도시된 상태에서 새롭게 유저 데이터가 기입되는 경우는 도 6에 도시된다.
도 6을 참조하면, 도 5의 상태에서 호스트(200)로부터 블록 50001, 50002, 및 50004에 새로운 유저 데이터를 기입하기 위한 기입명령이 상기 컨트롤러(110)로 수신된 경우, 상기 컨트롤러(110)는 백업블록인 상기 블록 50001, 50002, 및 50004의 백업데이터를 포기하고 새로운 유저 데이터를 기입한다. 그러면, 상기 컨트롤러(110)는 매칭 테이블에서 블록 1, 블록 2, 블록 4는 백업블록이 존재하지 않는다는 정보(예컨대, '-1')를 기입한다. 또한, 새로운 유저 데이터가 기입된 블록 50001, 50002, 및 50004도 백업을 수행할 가용영역이 존재하지 않으므로, 백업블록이 존재하지 않는다는 정보(예컨대, '-1')를 기입할 수 있다. 또한, 블록 50001, 50002, 및 50004는 도 5에서는 백업블록이었으나, 도 6에서는 원본 데이터이므로 백업여부 필드(Copy Data?)에 백업블록이 아니라는 정보(예컨대, 'N')를 기입할 수 있다.
즉, 도 6에서도 알 수 있듯이, 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)는 유저나 호스트(200)의 명령과는 무관하게, 빈 영역을 백업을 위해 사용하므로, 호스트(200)입장에서는 실제로 백업블록도 빈 영역으로 인식할 수 있다. 따라서, 본 발명의 기술적 사상에 의하면 모든 유저 데이터의 백업을 보장하지는 않는다. 하지만, 저장장치의 대용량화 경향에 따라 저장장치의 대부분의 공간이 빈 공간인 경우가 많으므로, 본 발명의 기술적 사상이 유용하게 사용될 여지가 충분히 크다. 또한, 백업을 위해 압축을 수행하지 않는한 종래의 방법에 의하더라도 유저 데이터가 저장매체(120)의 용량의 절반이 넘는 경우에는 모든 유저 데이터의 백업을 수행할 수는 없으므로 종래의 방법에 비해 백업 효과가 떨어진다고 볼수도 없다.
한편, 도 6의 상태에서 원본 데이터가 지워지는 경우의 상태는 도 7에 도시된다.
도 7을 참조하면, 도 6의 상태에서 블록 1001의 데이터를 지우라는 호스트 커맨드가 수신되는 경우, 상기 컨트롤러(110)는 블록 1001의 데이터를 지우고, 매칭 테이블에서 블록 1001은 데이터가 존재하지 않는다는 정보(예컨대, 데이터 존재 필드(Data Exist?)에 'N')을 기입하고, 블록 1001의 백업블록에 대한 정보 즉, Copied Data Block 필드에서 블록 51001에 대한 정보를 지울 수 있다. 물론, 블록 51001에도 데이터가 존재하지 않는다는 정보를 기입할 수 있다.
그러면, 도 7에 도시된 바와 같이, 백업대상블록 즉, 백업을 해야할 블록임에도 백업이 되어 있지 않은 블록은 백업블록에 대한 정보(Copied Data Block 필드)에 백업 블록의 식별번호가 기입되는 것이 아닌 별도의 정보(예컨대, '-1' 또는 '0)가 기입될 수 있다.
이때 상기 컨트롤러(110)는 백업대상블록(예컨대, 블록 1, 2 또는 블록 1001, 51001)의 백업블록에 대한 정보에 서로 다른 정보(예컨대,-1 또는 0)를 기록함으로써 백업대상블록 중 백업이 수행될 우선순위를 설정할 수도 있다.
예컨대, 백업블록에 대한 정보(Copied Data Block 필드)에 '0'이 기록된 경우에는 어떠한 데이터라도 해당블록에 기입될 수 있음을 나타낼 수 있다.
예컨대, 블록 1 또는 2와 같이 백업이 되어 있던 블록이었다가, 블록 1 또는 2의 백업블록(블록 50001, 50002)에 유저 데이터가 기입되면서 백업블록이 삭제된 경우에는 백업블록에 대한 정보에 '-1'이 기입될 수 있다. '-1'은 백업대상블록 중 가장 먼저 백업을 수행할 블록을 나타낼 수 있다.
한편 블록 1001 또는 51001와 같이 새로운 데이터가 기입되는 경우, 백업을 할 가용공간이 없으므로 블록 1001 또는 51001에 새로운 데이터가 기입되는 경우, 상기 백업블록에 대한 정보에 '-2'가 기입될 수 있다. 이는 두 번째로 우선적으로 백업할 블록을 의미할 수 있다.
이처럼 상기 컨트롤러(110)는 백업대상블록의 우선순위를 소정의 기준에 의해 설정함으로써, 백업공간의 부족시에 미리 설정된 기준에 맞는 효율적인 백업 알고리즘과 우선순위를 제시할 수 있는 효과가 있다.
도 8을 참조하면, 도 7의 상태에서 블록 1001 또는 51001에 새로운 유저 데이터가 기입되지 않은 상태에서 상기 자동 백업기능을 갖는 저장장치(100)가 다시 유휴상태로 진입하면, 상기 컨트롤러(110)는 우선순위가 높은 백업대상블록(예컨대, 블록 1, 2)를 백업할 수 있으며, 블록 1, 2의 백업블록은 블록 1001, 51001이 될 수 있다. 그러면, 상기 컨트롤러(110)는 도 8과 같은 매칭 테이블을 생성할 수 있다.
상술한 바와 같은 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)에 의하면, 상기 컨트롤러(110)가 상기 호스트(200)로부터 특정 블록 또는 특정 블록의 일부분에 해당하는 영역의 데이터 읽기 명령을 수신하는 경우, 상기 데이터의 읽기(read) 동작을 수행할 수 있다. 읽어진 데이터는 상기 컨트롤러(110)에 의해 호스트(200)로 전송될 수 있다. 상기 호스트(200)에 의해 전송된 데이터에 오류가 발생한 경우에는 상기 컨트롤러(110)는 상기 매칭 테이블에 포함되는 정보 즉, 매칭정보에 기초하여 상기 데이터의 백업블록을 판단하고, 상기 데이터에 상응하는 상기 백업블록에 저장된 정보 중 적어도 일부를 상기 호스트(200)로 제공할 수 있다. 그리고 상기 백업블록에 저장된 정보를 원본 데이터가 있던 특정블록에 덮어씀으로써 자동으로 데이터의 복원을 수행할 수 있다. 구현 예에 따라 읽기 오류의 발생이 상기 컨트롤러(110)에 의해 판단될 수도 있으며 이때에도 유사한 과정을 거쳐 데이터의 복원이 수행될 수 있다.
한편, 상기 컨트롤러(110)는 특정 블록 중 적어도 일부영역이 디펙(defect)으로 판단되는 경우, 상기 적어도 일부영역을 상기 저장매체의 타영역에 리어사인(reassgin)하고, 상기 특정 블록의 백업블록 중 상기 적어도 일부영역에 대응되는 백업영역을 리어사인된 상기 타영역에 복사할 수도 있다. 상기 컨트롤러(110)가 디펙으로 판단하는 경우는 구현 예에 따라 다양할 수 있다. 예컨대, 읽기 오류가 반복하여 발생하는 경우에 특정 영역을 디펙으로 판단할 수도 있고, 미리 결정된 회수 이상으로 발생하는 경우에 디펙으로 판단할 수도 있다.
이처럼 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)에 의하면 저장매체(120)에 디펙이 발생한 경우에 저장장치에서 자동으로 디펙 영역을 리어사인 하고, 리어사인된 영역에 백업된 데이터를 복원함으로써 저장매체(120)의 신뢰성을 높일 수 있는 효과가 있다.
한편, 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)는 백업할 공간이 부족한 경우, 상기 저장매체(120)에 백업할 공간을 확보하기 위해 데 이터의 종류에 따라 상기 데이터의 백업된 데이터를 삭제할 수도 있다. 또는 미리 원본 데이터의 종류에 따라 백업 여부를 판단하여 백업을 수행하지 않을 수도 있다. 예컨대, 유저 데이터가 동영상이나 음악과 같은 컨텐츠인 경우 백업의 중요성이 낮다고 판단한다면, 상기 컨트롤러(110)는 유저 데이터의 파일명에 기초하여 유저 데이터의 종류를 인식하거나 기타 다양한 방법으로 유저 데이터의 종류를 인식하고, 상기 유저 데이터가 미리 지정된 종류의 데이터인 경우, 백업을 수행하지 않거나 백업이 된 경우에도 상기 유저 데이터의 백업블록부터 삭제를 수행하여 백업 공간을 늘릴 수 있다. 물론, 이러한 과정도 상기 자동 백업기능을 갖는 저장장치(100)의 유휴시간에 수행되는 것이 바람직하다. 상기 컨트롤러(110)가 백업할 공간이 부족하다고 판단하는 경우는 전체 용량 대비 미리 결정된 비율 이상의 공간이 사용되는 경우일 수 있다.
상술한 바와 같은 본 발명의 기술적 사상을 플로우 챠트를 이용하여 설명하면 다음과 같다.
도 9는 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)의 백업 과정을 설명하기 위한 플로우 챠트이다.
도 9를 참조하면, 컨트롤러(110)는 유저 및/또는 OS의 명령에 따라 N번째 블록에 데이터를 기입할 수 있다(S10). 그러면, 상기 컨트롤러(110)는 매칭 테이블에 상기 N 번째 블록이 데이터가 기입되었음을 마스킹(기록)할 수 있다(S20). 그 후 상기 자동 백업기능을 갖는 저장장치(100)가 유휴시간에 진입하면(S30), 상기 컨트롤러(110)는 가용영역에 있는 블록 즉, 유저 데이터가 기입되지 않은 블록 중 어느 하나를 탐색하고, 탐색된 블록인 B 블록에 N 블록을 복사할 수 있다(S40). 그리고 B블록과 N블록의 관계에 대한 매칭정보를 도 3 내지 도 8에서 설명한 바와 같이 기록할 수 있다(S50).
만약 저장매체(120)의 용량이 가득 찬 경우라면(S60), 상기 컨트롤러(110)는 호스트(200)로부터 수신되는 데이터 삭제 명령을 모니터링 하다가(S70), 특정 X 블록의 데이터가 모두 지원진 경우(S80), 상기 X 블록에 관련되어 기록된 정보를 상기 매칭 테이블에서 초기화할 수 있다(S90). 초기화한다고 함은 도 6 또는 도 7에서 설명한 바와 같이 X 블록이 삭제된 후의 백업관계 및/또는 우선순위를 반영할 수 있도록 매칭 테이블을 수정하는 것을 의미할 수 있다.
도 10은 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)의 데이터 복원 과정을 설명하기 위한 플로우 챠트이다.
도 10을 참조하면, 상기 컨트롤러(110)는 N 블록을 읽을 수 있다(S110). 이대 읽기 오류가 발생한 경우(S120), 상기 컨트롤러(110)는 상기 매칭 테이블을 참조하여 상기 N 블록의 백업블록이 어떤 블록인지를 판단한다. N 블록의 백업블록이 B 블록인 경우, 상기 컨트롤러(110)는 B 블록의 백업 데이터를 읽음으로써 읽기 오류를 피할 수 있다(S130). 그리고, 상기 컨트롤러(110)는 N 블록이 복원되어야 할 블록임을 상기 매칭 테이블 및/또는 소정의 위치에 기록할 수 있다(S140).
그러면 상기 자동 백업기능을 갖는 저장장치(100)가 유휴시간이 되는 경우, 복원되어야 할 블록임이 표시된 상기 N 블록은 B 블록의 데이터가 복사됨으로써 복원될 수 있다(S160).
그리고, 상기 컨트롤러(110)는 다시 N 블록이 읽기 오류가 발생하는지를 확인(scan)할 수 있고(S170), 다시 읽기 오류가 발생한 경우에는 상기 N 블록에 상응하는 물리적 저장매체에 디펙이 발생한 것으로 판단하고, N 블록에서 오류가 발생한 위치를 리어사인한 뒤, 리어사인한 위치에 백업데이터를 복사함으로써 디펙처리를 수행할 수 있다(S190).
본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)를 제공하기 위한 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것 이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치의개략적인 구성을 나타낸다.
도 2는 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)가 하드 디스크 드라이브인 경우를 설명하기 위한 도면이다.
도 3 내지 도 8은 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)가 백업을 진행하는 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)의 백업 과정을 설명하기 위한 플로우 챠트이다.
도 10은 본 발명의 실시 예에 따른 자동 백업기능을 갖는 저장장치(100)의 데이터 복원 과정을 설명하기 위한 플로우 챠트이다.

Claims (10)

  1. 호스트 장치와 연결되어 유저 데이터를 저장하는 저장장치에 있어서,
    상기 유저 데이터가 저장될 수 있는 저장매체; 및
    상기 저장매체의 데이터 기입 및 독출을 제어하는 컨트롤러를 포함하며,
    상기 컨트롤러는 상기 저장장치의 유휴시간에 상기 저장매체에 저장된 상기 유저 데이터의 적어도 일부를 상기 저장매체의 가용영역에 백업하는 자동 백업기능을 갖는 저장장치.
  2. 제 1항에 있어서, 상기 컨트롤러는,
    상기 가용영역에서 상기 유저 데이터의 적어도 일부가 백업될 위치를 탐색하고,
    탐색된 위치에 상기 유저 데이터의 적어도 일부를 백업하는 자동 백업기능을 갖는 저장장치.
  3. 제 1항에 있어서, 상기 컨트롤러는,
    상기 저장매체를 미리 결정된 크기의 단위인 다수의 블록(block)으로 구분하고,
    구분된 다수의 블록 중 제1블록에 상기 유저 데이터가 적어도 일부 기입된 경우,
    상기 제1블록을 백업할 백업대상블록으로 판단하고, 상기 제1블록을 상기 가용영역의 제2블록에 백업하는 자동 백업기능을 갖는 저장장치.
  4. 제 3항에 있어서, 상기 컨트롤러는,
    상기 제2블록이 상기 제1블록의 백업블록임을 나타내는 매칭정보를 상기 저장매체 또는 상기 저장매체에 구비된 메모리 중 적어도 하나에 저장하는 자동 백업기능을 갖는 저장장치.
  5. 제 4항에 있어서, 상기 컨트롤러는,
    상기 호스트로부터 상기 제1블록의 읽기 명령이 수신되고,
    상기 제1블록의 읽기 오류가 발생하는 경우,
    상기 매칭정보에 기초하여 상기 제2블록에 저장된 백업데이터를 상기 호스트로 제공하는 자동 백업기능을 갖는 저장장치.
  6. 제 4항에 있어서, 상기 컨트롤러는,
    상기 제2블록에 제2유저 데이터의 기입명령이 수신되는 경우,
    상기 제2블록에 상기 제2유저 데이터를 기입하는 것을 특징으로 하는 자동 백업기능을 갖는 저장장치.
  7. 제 6항에 있어서, 상기 컨트롤러는,
    상기 제1블록을 백업대상블록 중 백업 우선순위가 높아지도록 설정하는 것을 특징으로 하는 자동 백업기능을 갖는 저장장치.
  8. 제 4항에 있어서, 상기 컨트롤러는,
    상기 제1블록 중 적어도 일부영역이 디펙(defect)으로 판단되는 경우,
    상기 적어도 일부영역을 상기 저장매체의 타영역에 리어사인(reassgin)하고, 상기 제2블록 중 상기 적어도 일부영역에 대응되는 백업영역을 리어사인된 상기 타영역에 복사하는 자동 백업기능을 갖는 저장장치.
  9. 제 1항에 있어서, 상기 컨트롤러는,
    상기 유저 데이터의 적어도 일부의 데이터 종류에 기초하여 상기 가용역역에 상기 유저 데이터의 적어도 일부를 백업할지 여부를 판단하거나, 백업된 상기 유저 데이터의 적어도 일부를 삭제하는 것을 특징으로 하는 자동 백업기능을 갖는 저장장치.
  10. 호스트 장치와 연결되어 유저 데이터를 저장하는 저장장치에 있어서,
    상기 유저 데이터가 저장될 수 있는 저장매체; 및
    상기 저장매체의 데이터 기입 및 독출을 제어하는 컨트롤러를 포함하며,
    상기 컨트롤러는 상기 저장매체를 미리 결정된 단위인 블록으로 구분하고,
    구분된 블록 중 어느 한 제1블록에 상기 유저 데이터가 적어도 일부 기입되 는 경우,
    상기 제1블록을 유휴시간에 상기 저장매체의 가용영역 중 어느 한 블록인 제2블록에 백업하는 것을 특징으로 하는 자동 백업기능을 갖는 저장장치.
KR1020090076150A 2009-08-18 2009-08-18 자동 백업기능을 갖는 저장장치 KR20110018605A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020090076150A KR20110018605A (ko) 2009-08-18 2009-08-18 자동 백업기능을 갖는 저장장치
JP2010164552A JP2011040057A (ja) 2009-08-18 2010-07-22 自動バックアップ機能を有する保存装置
US12/844,391 US20110047409A1 (en) 2009-08-18 2010-07-27 Storage device supporting auto backup function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090076150A KR20110018605A (ko) 2009-08-18 2009-08-18 자동 백업기능을 갖는 저장장치

Publications (1)

Publication Number Publication Date
KR20110018605A true KR20110018605A (ko) 2011-02-24

Family

ID=43606248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090076150A KR20110018605A (ko) 2009-08-18 2009-08-18 자동 백업기능을 갖는 저장장치

Country Status (3)

Country Link
US (1) US20110047409A1 (ko)
JP (1) JP2011040057A (ko)
KR (1) KR20110018605A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101603547B1 (ko) * 2014-11-06 2016-03-15 현대자동차주식회사 차량제어기 캘리브레이션 메모리 제어 방법 및 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2679840A4 (en) 2011-02-25 2017-10-25 NSK Ltd. Multi-row combination ball bearing
US9384200B1 (en) * 2012-12-21 2016-07-05 Emc Corporation Parallelizing backup and restore for network-attached storage
US20140317459A1 (en) * 2013-04-18 2014-10-23 Intronis, Inc. Backup system defect detection
CN106126374B (zh) * 2016-06-22 2018-09-25 腾讯科技(深圳)有限公司 数据写入方法、数据读取方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297124A (en) * 1992-04-24 1994-03-22 Miltope Corporation Tape drive emulation system for a disk drive
US6546499B1 (en) * 1999-10-14 2003-04-08 International Business Machines Corporation Redundant array of inexpensive platters (RAIP)
US6728751B1 (en) * 2000-03-16 2004-04-27 International Business Machines Corporation Distributed back up of data on a network
JP2003288252A (ja) * 2002-03-27 2003-10-10 Nec Corp 記憶装置における不良ブロックの復旧処理方法
US7047380B2 (en) * 2003-07-22 2006-05-16 Acronis Inc. System and method for using file system snapshots for online data backup
US7461101B2 (en) * 2004-07-13 2008-12-02 International Business Machines Corporation Method for reducing data loss and unavailability by integrating multiple levels of a storage hierarchy
KR100645058B1 (ko) * 2004-11-03 2006-11-10 삼성전자주식회사 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법
US7958430B1 (en) * 2005-06-20 2011-06-07 Cypress Semiconductor Corporation Flash memory device and method
US7774316B2 (en) * 2005-11-30 2010-08-10 Oracle International Corp. Filesystem snapshot enhancement to improve system performance
US20090240905A1 (en) * 2008-03-18 2009-09-24 Ching-Lung Tsai Real-time backup method for single storage medium
US8074012B2 (en) * 2008-07-02 2011-12-06 Silicon Motion, Inc. Flash memory apparatus and method for securing a flash memory from data damage
TWI474165B (zh) * 2009-03-13 2015-02-21 Prolific Technology Inc 資料儲存系統及其備份方法
US9063886B2 (en) * 2009-09-18 2015-06-23 Apple Inc. Metadata redundancy schemes for non-volatile memories

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101603547B1 (ko) * 2014-11-06 2016-03-15 현대자동차주식회사 차량제어기 캘리브레이션 메모리 제어 방법 및 장치
US10152282B2 (en) 2014-11-06 2018-12-11 Hyundai Motor Company Calibration memory control method and apparatus of electronic control unit

Also Published As

Publication number Publication date
US20110047409A1 (en) 2011-02-24
JP2011040057A (ja) 2011-02-24

Similar Documents

Publication Publication Date Title
US8521949B2 (en) Data deleting method and apparatus
US8271444B2 (en) Storage control device to backup data stored in virtual volume
US7890720B2 (en) Snapshot system
US8041991B2 (en) System and method for recovering solid state drive data
US7325159B2 (en) Method and system for data recovery in a continuous data protection system
KR101473344B1 (ko) 플래시 메모리를 스토리지로 사용하는 장치 및 그 동작방법
US9330105B1 (en) Systems, methods, and computer readable media for lazy compression of data incoming to a data storage entity
US8364885B2 (en) Semiconductor storage system for decreasing page copy frequency and controlling method thereof
US20100023676A1 (en) Solid state storage system for data merging and method of controlling the same according to both in-place method and out-of-place method
US9311002B1 (en) Systems, methods, and computer readable media for compressing data at a virtually provisioned storage entity
WO2010038558A1 (ja) 情報バックアップ/リストア処理装置、及び情報バックアップ/リストア処理システム
RU2440629C1 (ru) Устройство привода оптического диска
KR20130070178A (ko) 하이브리드 저장 장치 및 그것의 동작 방법
JP2005011317A (ja) ストレージシステムを初期化する方法と装置
CN106294007B (zh) 一种数据恢复方法及装置
JP4225206B2 (ja) 記憶装置の複製データ格納システムと複製データ格納プログラム
US11237979B2 (en) Method for management of multi-core solid state drive
JP2007004788A (ja) インタリーブされたバックアップを提供するための方法及びシステム
CN102043687A (zh) 实现数据快照的首写拷贝装置及控制方法
KR20110018605A (ko) 자동 백업기능을 갖는 저장장치
US20090094299A1 (en) Apparatus and method for defragmenting files on a hydrid hard disk
JPWO2009001514A1 (ja) メモリコントローラ、不揮発性記憶装置、ファイルシステム、不揮発性記憶システム、データ書き込み方法及びデータ書き込みプログラム
JP2005352535A (ja) データを保護する方法
US11256432B2 (en) Memory controller and memory system
KR20110041843A (ko) 하이브리드 저장장치 및 그 동작방법

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid