JP2011040057A - 自動バックアップ機能を有する保存装置 - Google Patents

自動バックアップ機能を有する保存装置 Download PDF

Info

Publication number
JP2011040057A
JP2011040057A JP2010164552A JP2010164552A JP2011040057A JP 2011040057 A JP2011040057 A JP 2011040057A JP 2010164552 A JP2010164552 A JP 2010164552A JP 2010164552 A JP2010164552 A JP 2010164552A JP 2011040057 A JP2011040057 A JP 2011040057A
Authority
JP
Japan
Prior art keywords
block
storage device
controller
backup
data
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
Application number
JP2010164552A
Other languages
English (en)
Inventor
Jung Wook Hur
程 旭 許
Hae-Jung Lee
海 中 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2011040057A publication Critical patent/JP2011040057A/ja
Withdrawn legal-status Critical Current

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】運用体系やユーザの命令なしに保存装置自体でデータバックアップを所定の方式で行う自動バックアップ機能を有する保存装置を提供する。
【解決手段】自動バックアップ機能を有する保存装置は、ホスト装置と連結されてユーザデータを保存する保存装置であって、ユーザデータが保存される記録媒体と、記録媒体のデータ書き込み及び読み出しを制御するコントローラと、を備え、コントローラは、保存装置の遊休時間に、記録媒体に保存されたユーザデータの少なくとも一部を記録媒体の可用領域にバックアップする。
【選択図】図9

Description

本発明は、メモリ(memory)装置に係り、より詳細には、ホスト(host)又はユーザ(user)のコマンド(command)なしに自動でデータをバックアップ(backup)する機能を有する保存装置に関する。
現在、使われているデータのバックアップと復元方式としては、運用体系(Operating System)から提供される機能を用いて保存装置に保存されたデータをバックアップし、バックアップされたデータを用いてデータ復元を行う方式を使う。ユーザが、ホスト(例えば、コンピュータ)にバックアップのための所定のアプリケーション(application)又はプログラム(program)を組み込み、組み込まれたアプリケーション又はプログラムを用いて保存装置に保存されたデータの一部又はデータの全部をコピー又は圧縮してバックアップし、必要時にバックアップされたデータを用いてデータ復元を行う。
従来のバックアップ方法を用いてバックアップを行う際、保存装置の一部分は、常にバックアップされたファイルを保存するための領域に割り当てていなければならないので、バックアップのために割り当てられた保存装置の容量が大きくなり、実際の活用度が落ちるという問題点がある。
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、運用体系やユーザの命令なしに保存装置自体でデータバックアップを所定の方式で行う保存装置を提供することにある。また、バックアップのための空間が特定空間に固定されず、ダイナミック(dynamic)に空き空間を自ら捜し出してデータをバックアップすることで、保存装置の空間の活用性を高めることができる保存装置を提供することにある。また、運用体系又はユーザが別途にバックアップを行わなくても、保存装置が自らデータをバックアップすることで、当該ファイルが損傷された場合、バックアップされたファイルがある位置を自動で捜して読み出し、保存装置自体の信頼度を高めうる保存装置を提供することにある。
上記目的を達成するためになされた本発明の一特徴による自動バックアップ機能を有する保存装置は、ホスト装置と連結されてユーザデータを保存する保存装置であって、前記ユーザデータが保存される記録媒体と、前記記録媒体のデータ書き込み及び読み出しを制御するコントローラと、を備え、前記コントローラは、前記保存装置の遊休時間に、前記記録媒体に保存された前記ユーザデータの少なくとも一部を該記録媒体の可用領域にバックアップする。
前記コントローラは、前記可用領域で、前記ユーザデータの少なくとも一部がバックアップされる位置を探索し、該探索された位置に前記ユーザデータの少なくとも一部をバックアップすることができる。前記コントローラは、前記記録媒体を既定の大きさの単位である多数のブロック(block)に区分し、該区分された多数のブロックのうちの第1ブロックに前記ユーザデータが少なくとも一部書き込まれた場合、該第1ブロックをバックアップするバックアップ対象ブロックと判断し、該第1ブロックを前記可用領域の第2ブロックにバックアップすることができる。
前記コントローラは、前記第2ブロックが、前記第1ブロックのバックアップブロックであることを表わすマッチング情報を前記記録媒体又は前記記録媒体に備えられたメモリのうちの少なくとも一つに保存することができる。前記コントローラは、前記ホストから前記第1ブロックの読み出し命令を受信し、該第1ブロックの読み出しエラーが発生した場合、前記マッチング情報に基づいて、前記第2ブロックに保存されたバックアップデータを前記ホストに提供することができる。前記コントローラは、前記第2ブロックに第2ユーザデータの書き込み命令を受信した場合、該第2ブロックに前記第2ユーザデータを書き込むことができる。前記コントローラは、バックアップ対象ブロックのうち、前記第1ブロックをバックアップ優先順位が高くなるように設定することができる。
前記コントローラは、前記第1ブロックのうちの少なくとも一部領域がディフェクト(defect)と判断された場合、該少なくとも一部領域を前記記録媒体の他領域にリアサイン(reassgin)し、前記第2ブロックのうち、前記少なくとも一部領域に対応するバックアップ領域を、リアサインされた前記他領域にコピーすることができる。前記コントローラは、前記ユーザデータの少なくとも一部のデータの種類に基づいて、前記可用領域に前記ユーザデータの少なくとも一部をバックアップするか否かを判断するか、又はバックアップされた前記ユーザデータの少なくとも一部を削除することができる。
上記目的を達成するためになされた本発明の他の特徴による自動バックアップ機能を有する保存装置は、ホスト装置と連結されてユーザデータを保存する保存装置であって、前記ユーザデータが保存される記録媒体と、前記記録媒体のデータ書き込み及び読み出しを制御するコントローラと、を備え、前記コントローラは、前記記録媒体を既定の単位であるブロックに区分し、該区分されたブロックのうちの何れか一つの第1ブロックに前記ユーザデータが少なくとも一部書き込まれる場合、遊休時間に、前記第1ブロックを前記記録媒体の可用領域のうちの何れか一つのブロックである第2ブロックにバックアップする。
本発明の自動バックアップ機能を有する保存装置によれば、保存装置の遊休時間に保存装置自体がデータバックアップを行うので、ユーザの体感性能を低下させずに保存装置の信頼性を高めることができる。また、保存装置が、バックアップのための空間を予め割り当てておらず、また割り当てられた空間が固定されておらず、ダイナミックにバックアップ空間を活用することができるので、保存空間の使用効率性を高めることができる。また、バックアップ空間の不足時にデータの種類によってバックアップデータを削除することができるので、不要であるか又はバックアップの必要性が低いデータを予め設定することで、バックアップの効率性を高めることができる。
本発明の一実施形態による自動バックアップ機能を有する保存装置の概略的な構成を示す図である。 本発明の一実施形態による自動バックアップ機能を有する保存装置がハードディスクドライブである場合を説明するための図である。 本発明の一実施形態による自動バックアップ機能を有する保存装置がバックアップを進行する過程を説明するための図である。 本発明の一実施形態による自動バックアップ機能を有する保存装置がバックアップを進行する過程を説明するための図である。 本発明の一実施形態による自動バックアップ機能を有する保存装置がバックアップを進行する過程を説明するための図である。 本発明の一実施形態による自動バックアップ機能を有する保存装置がバックアップを進行する過程を説明するための図である。 本発明の一実施形態による自動バックアップ機能を有する保存装置がバックアップを進行する過程を説明するための図である。 本発明の一実施形態による自動バックアップ機能を有する保存装置がバックアップを進行する過程を説明するための図である。 本発明の一実施形態による自動バックアップ機能を有する保存装置100のバックアップ過程を説明するためのフローチャートである。 本発明の一実施形態による自動バックアップ機能を有する保存装置100のデータ復元過程を説明するためのフローチャートである。
以下、本発明の自動バックアップ機能を有する保存装置を実施するための形態の具体例を、図面を参照しながら詳しく説明する。
図1は、本発明の一実施形態による自動バックアップ機能を有する保存装置の概略的な構成を示す図である。図1を参照すると、自動バックアップ機能を有する保存装置100は、コントローラ(controller)110と、記録媒体120とを含む。自動バックアップ機能を有する保存装置100は、自体のファームウェア(firmware)を含み、本発明の技術的思想を具現することができるあらゆる種類の保存装置を含みうる。
自動バックアップ機能を有する保存装置100は、ハードディスクドライブ(hard disk drive)、SSD(Solid State Disk)、フラッシュ(flash)メモリなどの大容量保存装置に適用可能である。以下、本明細書では、自動バックアップ機能を有する保存装置100がハードディスクドライブである場合を、一例として説明するが、本発明の権利範囲は、これに限定されず、多様な保存装置に適用可能である。
自動バックアップ機能を有する保存装置100のコントローラ110は、ホスト(例えば、コンピュータなど)200からユーザデータの書き込み(write)命令又は自動バックアップ機能を有する保存装置100の記録媒体120に記録されたデータの読み出し(read)命令を受信する。コントローラ110は、受信した命令に相応する動作を行うために、記録媒体120、或いは記録媒体120にデータの書き込み又は読み出しを行うための所定の装置を制御することができる。
図2は、本発明の一実施形態による自動バックアップ機能を有する保存装置がハードディスクドライブである場合を説明するための図である。図2を参照すると、自動バックアップ機能を有する保存装置100は、コントローラ110及び記録媒体120だけではなく、VCM(Voice Coil Motor)、VCM駆動部、スピンドルモータ(spindle motor)、スピンドルモータ駆動部、磁気ヘッド130、前置増幅器、R/Wチャンネル(channel)回路、ホストインターフェース(host interface)、バッファ(buffer)などを更に含みうる。従って、コントローラ110は、VCM、VCM駆動部、スピンドルモータ、スピンドルモータ駆動部、磁気ヘッド130、前置増幅器、R/Wチャンネル回路、ホストインターフェース、バッファなどを制御することで、本発明の技術的思想を具現することができる。
例えば、コントローラ110は、自動バックアップ機能を有する保存装置100の駆動に必要なさまざまな制御を行う。例えば、記録媒体120(例えば、ディスク)にデータ書き込み動作を行うためには、コントローラ110は、R/Wチャンネル回路と前置増幅器とを通じて書き込まれるデータを磁気ヘッド130に出力し、VCM駆動部とスピンドルモータとを制御して、データが記録媒体120に書き込まれる位置を制御する。コントローラ110が、上述した動作及びそれ以外に広く知られた多様な動作を行うためには、所定のファームウェアが必要であり、ファームウェアは、コントローラ110に備えられるか、コントローラ110と連結された所定のメモリ(例えば、RAM(random access memory)又はNOR型フラッシュ(NOR type flash)、図示せず)に保存することができる。ファームウェアは、自動バックアップ機能を有する保存装置100を提供するための所定のコード(code)を含みうる。このようなハードディスクドライブの動作及び各構成の機能と構造とは広く知られているので、詳細な説明は省略する。
再び図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から削除するのではなく、データのポインティング(pointing)位置を削除することで、データに上書き(overwriting)が行われることを意味することもある。
以下、自動バックアップ機能を有する保存装置100を提供するためのバックアップ方法について具体的に説明する。自動バックアップ機能を有する保存装置100は、ユーザに認識させずに自動でユーザデータをバックアップさせうる。従って、実際に、ユーザデータがバックアップされたバックアップデータが保存された領域は、ユーザには実質的に可用領域として認識されうる。従って、バックアップデータが、保存された位置にユーザ及び/又はOSの命令によって所定のデータの書き込み命令が行われる場合、自動バックアップ機能を有する保存装置100は、バックアップデータを破棄し、所定のデータを書き込みさせうる。従って、自動バックアップ機能を有する保存装置100は、従来のバックアップ方法とは異なって、データのバックアップ位置をダイナミックに変える特徴がある。
従って、コントローラ110は、ユーザデータの一部(又は、全部)をバックアップしようとする場合、記録媒体120で実質的にバックアップすることができる位置を探索し、探索された位置にバックアップを行う。従って、自動バックアップ機能を有する保存装置100は、特定の固定された空間にバックアップを行わないので、空間の可用性を高めうる。
一方、コントローラ110は、本発明の技術的思想を効率的に具現するために、記録媒体120を既定の単位であるブロック単位に区分し、区分されたブロック単位別にバックアップを進行することができる。即ち、自動バックアップ機能を有する保存装置100は、単位容量であるブロック単位で遊休時間にバックアップを進行することによって、遊休時間が短い場合にも、バックアップを一部でも進行させることができ、記録媒体120にデータの可用領域が物理的に連続しないとしても、効率的にバックアップを進行させうる。
図3〜図8は、本発明の一実施形態による自動バックアップ機能を有する保存装置100がバックアップを進行する過程を説明するための図である。先ず、図3を参照すると、自動バックアップ機能を有する保存装置100がハードディスクドライブである場合、記録媒体120の容量は、LBA(Logical Block Address)と表現される。全体LBAは、既定の所定の単位、即ち、ブロックに分けられうる。図3では、全体記録媒体120、即ち、ディスク全体のユーザデータが一つも存在しない初期化状態を意味し、全体記録媒体120が十万個のブロックに区分された場合を表わす。
また、コントローラ110は、原本データが存在するブロックと原本データがコピーされたブロック、即ち、バックアップブロックの関係を表わすマッチング(matching)情報を記録媒体120(例えば、ハードディスクドライブのメンテナンスシリンダー(maintenance cylinder))又は自動バックアップ機能を有する保存装置100の別途のメモリ(例えば、DRAM、SRAM又はバッファなど)に維持することができる。マッチング情報は、図3に示したように、所定のテーブル(table)状であるマッチングテーブルに保存されうるが、これに限らない。また、バックアップの効率性のために、各ブロックにデータが維持されるか、及び/又は各ブロックがバックアップブロックであるか、又は原本ブロックであるか否かを更に維持することもできる。
図3では、記録媒体120にユーザデータが全く書き込まれていないので、それぞれのブロックに対応するバックアップブロック(Copied Data Block)には、いずれも‘0’という情報が書き込まれている。また、それぞれのブロックにデータが保存されているか否かを表わすデータ存在フィールド(Data Exist?)及びそれぞれのブロックがバックアップブロックであるか否かを表わすバックアップ如何フィールド(Copy Data?)が、マッチングテーブルに更に含まれうる。
コントローラ110は、区分された多数のブロックのうちから何れか一つのブロックに、ユーザデータの少なくとも一部が書き込まれた場合、ブロックをバックアップするバックアップ対象ブロックと判断することができる。何れか一つのブロックにユーザデータの少なくとも一部が書き込まれた場合、一実施例として、何れか一つのブロックにデータが満たされた場合だけではなく、一部のみ満たされた場合にも、バックアップを行うバックアップ対象ブロックになるということを意味する。即ち、自動バックアップ機能を有する保存装置100は、何れか一つのブロックが満たされた場合にのみバックアップを行うこともできるし、一部のみ満たされた場合にも、バックアップを行うことができる。
コントローラ110は、何れか一つのブロックにデータが満たされたか、又は一部のみ満たされたかを判断するために多様な方法を使うことができる。例えば、ハードディスクドライブで、ホスト200から出力されるホスト命令、即ち、書き込み命令に含まれた書き込みアドレス(address)についての情報がメンテナンスシリンダーに保存されており、コントローラ110は、書き込みアドレスに基づいて何れか一つのブロックがバックアップ対象ブロックであるか否かを判断することができる。勿論、多様な実施形態が可能である。
コントローラ110は、何れか一つのブロックがバックアップ対象ブロックであると判断された場合、自動バックアップ機能を有する保存装置100の遊休時間に、バックアップ対象ブロックを所定の優先順位通りに、又は順次にバックアップすることができる。
図4は、ブロック1からブロック1001までにユーザデータが書き込まれた場合を一例として表わし、ブロック50001から順次にバックアップブロックに設定された場合を表わす。勿論、一実施例として、ブロック1のバックアップブロックがブロック2であり、バックアップブロックが、図4に示したようには連続していないこともある。コントローラ110は、バックアップ対象ブロックをバックアップするバックアップブロックを探索するために、バックアップすることができるブロック、即ち、可用領域に属するブロックのうちからブロック番号が最も早い番号を探索するか、二進探索など多様な方式の探索アルゴリズム(例えば、sequential 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についての情報を削除することができる。勿論、コントローラ110は、ブロック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から特定ブロック又は特定ブロックの一部分に該当する領域に対するデータ読み出し命令を受信した場合、データの読み出し動作を行うことができる。読み出しデータは、コントローラ110によってホスト200に伝送することができる。ホスト200によって伝送されたデータにエラーが発生した場合、コントローラ110は、マッチングテーブルに含まれる情報、即ち、マッチング情報に基づいて、データのバックアップブロックを判断し、データに相応するバックアップブロックに保存された情報のうち少なくとも一部をホスト200に提供することができる。そして、バックアップブロックに保存された情報を原本データがあった特定ブロックに上書きすることによって、自動でデータの復元を行うことができる。一実施例として、読み出しエラーの発生をコントローラ110によって判断することもでき、この際にも、類似した過程を経てデータの復元が行われる。
コントローラ110は、特定ブロックのうちから少なくとも一部領域をディフェクト(defect)と判断した場合、少なくとも一部領域を記録媒体の他領域に再割り当て(reassgin)し、特定ブロックのバックアップブロックのうちから少なくとも一部領域に対応するバックアップ領域を再割り当てされた他領域にコピーすることもできる。コントローラ110がディフェクトと判断する場合は、具現例によって多様であり得る。例えば、特定領域で読み出しエラーが反復して発生する場合、コントローラ110は、特定領域をディフェクトと判断し、既定の回数以上に読み出しエラーが発生する場合、特定領域をディフェクトと判断することもできる。
自動バックアップ機能を有する保存装置100は、記録媒体120にディフェクトが発生した場合、自動でディフェクト領域を再割り当てし、再割り当てされた領域にバックアップされたデータを復元することで、記録媒体120の信頼性を高めうる。一方、自動バックアップ機能を有する保存装置100は、バックアップする空間が不足した場合、記録媒体120にバックアップする空間を確保するために、データの種類によって、バックアップされたデータを削除することもできる。或いは、保存装置100は、予め原本データの種類によって、バックアップ如何を判断してバックアップを行わないこともある。例えば、ユーザデータが、動画や音楽のようなコンテンツである場合など、バックアップの重要性が低いと判断するならば、コントローラ110は、ユーザデータのファイル名に基づいてユーザデータの種類を認識するか、その他の多様な方法でユーザデータの種類を認識し、ユーザデータが、既定の種類のデータである場合、バックアップを行わないか、バックアップする場合にも、ユーザデータのバックアップブロックから削除を行ってバックアップ空間を増やすことができる。勿論、このような過程も、自動バックアップ機能を有する保存装置100の遊休時間に行われる。コントローラ110が、バックアップ空間が不足していると判断する場合、全体容量対比既定の比率以上の空間が使われる場合であり得る。
上述したような本発明を、フローチャートを用いて説明すると、次の通りである。図9は、本発明の一実施形態による自動バックアップ機能を有する保存装置100のバックアップ過程を説明するためのフローチャートである。図9を参照すると、コントローラ110は、ユーザ又は運用体系(OS)の命令によってN番目のブロックにデータを書き込む(ステップS10)。コントローラ110は、マッチングテーブルにN番目のブロックにデータが書き込まれたことをマスキング(masking:記録)する(ステップS20)。その後、自動バックアップ機能を有する保存装置100が遊休時間に進入すると(ステップS30)、コントローラ110は可用領域にあるブロック、即ち、ユーザデータが書き込まれていないブロックのうちから何れか一つを探索し、探索されたブロックであるBブロックに、Nブロックをコピーする(ステップS40)。そして、BブロックとN番目のブロックとの関係についてのマッチング情報を、図3〜図8で説明したように記録する(ステップS50)。
仮に、記録媒体120の容量が満たされた場合(ステップS60)、コントローラ110は、ホスト200から受信したデータ削除命令をモニタリングしながら(ステップS70)、特定Χブロックのデータがいずれも削除された場合(ステップS80)、Χブロックに関連して記録された情報をマッチングテーブルで初期化する(ステップS90)。初期化するということは、図6又は図7で説明したように、Χブロックが削除された後のバックアップ関係又は優先順位を反映できるようにマッチングテーブルを修正することを意味する。
図10は、本発明の一実施形態による自動バックアップ機能を有する保存装置100のデータ復元過程を説明するためのフローチャートである。図10を参照すると、コントローラ110は、Nブロックを読み取る(ステップS110)。Nブロックで読み出しエラーが発生した場合(ステップ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)プログラム、コード及びコードセグメント(code segment)は、本発明が属する技術分野のプログラマーによって容易に推論されうる。
以上、本発明の実施形態について詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
100 自動バックアップ機能を有する保存装置
110 コントローラ
120 記録媒体
130 磁気ヘッド
200 ホスト

Claims (10)

  1. ホスト装置と連結されてユーザデータを保存する保存装置であって、
    前記ユーザデータが保存される記録媒体と、
    前記記録媒体のデータ書き込み及び読み出しを制御するコントローラと、を備え、
    前記コントローラは、前記保存装置の遊休時間に、前記記録媒体に保存された前記ユーザデータの少なくとも一部を該記録媒体の可用領域にバックアップすることを特徴とする自動バックアップ機能を有する保存装置。
  2. 前記コントローラは、
    前記可用領域で、前記ユーザデータの少なくとも一部がバックアップされる位置を探索し、該探索された位置に前記ユーザデータの少なくとも一部をバックアップすることを特徴とする請求項1に記載の自動バックアップ機能を有する保存装置。
  3. 前記コントローラは、
    前記記録媒体を既定の大きさの単位である多数のブロックに区分し、該区分された多数のブロックのうちの第1ブロックに前記ユーザデータが少なくとも一部書き込まれた場合、該第1ブロックをバックアップするバックアップ対象ブロックと判断し、該第1ブロックを前記可用領域の第2ブロックにバックアップすることを特徴とする請求項1に記載の自動バックアップ機能を有する保存装置。
  4. 前記コントローラは、
    前記第2ブロックが、前記第1ブロックのバックアップブロックであることを表わすマッチング情報を前記記録媒体又は前記記録媒体に備えられたメモリのうちの少なくとも一つに保存することを特徴とする請求項3に記載の自動バックアップ機能を有する保存装置。
  5. 前記コントローラは、
    前記ホストから前記第1ブロックの読み出し命令を受信し、該第1ブロックの読み出しエラーが発生した場合、前記マッチング情報に基づいて、前記第2ブロックに保存されたバックアップデータを前記ホストに提供することを特徴とする請求項4に記載の自動バックアップ機能を有する保存装置。
  6. 前記コントローラは、
    前記第2ブロックに第2ユーザデータの書き込み命令を受信した場合、該第2ブロックに前記第2ユーザデータを書き込むことを特徴とする請求項4に記載の自動バックアップ機能を有する保存装置。
  7. 前記コントローラは、
    バックアップ対象ブロックのうち、前記第1ブロックをバックアップ優先順位が高くなるように設定することを特徴とする請求項6に記載の自動バックアップ機能を有する保存装置。
  8. 前記コントローラは、
    前記第1ブロックのうちの少なくとも一部領域がディフェクトと判断された場合、該少なくとも一部領域を前記記録媒体の他領域にリアサインし、前記第2ブロックのうち、前記少なくとも一部領域に対応するバックアップ領域を、リアサインされた前記他領域にコピーすることを特徴とする請求項4に記載の自動バックアップ機能を有する保存装置。
  9. 前記コントローラは、
    前記ユーザデータの少なくとも一部のデータの種類に基づいて、前記可用領域に前記ユーザデータの少なくとも一部をバックアップするか否かを判断するか、又はバックアップされた前記ユーザデータの少なくとも一部を削除することを特徴とする請求項1に記載の自動バックアップ機能を有する保存装置。
  10. ホスト装置と連結されてユーザデータを保存する保存装置であって、
    前記ユーザデータが保存される記録媒体と、
    前記記録媒体のデータ書き込み及び読み出しを制御するコントローラと、を備え、
    前記コントローラは、前記記録媒体を既定の単位であるブロックに区分し、該区分されたブロックのうちの何れか一つの第1ブロックに前記ユーザデータが少なくとも一部書き込まれる場合、遊休時間に、該第1ブロックを前記記録媒体の可用領域のうちの何れか一つのブロックである第2ブロックにバックアップすることを特徴とする自動バックアップ機能を有する保存装置。
JP2010164552A 2009-08-18 2010-07-22 自動バックアップ機能を有する保存装置 Withdrawn JP2011040057A (ja)

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
JP2011040057A true JP2011040057A (ja) 2011-02-24

Family

ID=43606248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010164552A Withdrawn JP2011040057A (ja) 2009-08-18 2010-07-22 自動バックアップ機能を有する保存装置

Country Status (3)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012114790A1 (ja) 2011-02-25 2012-08-30 日本精工株式会社 多列組合せ玉軸受

Families Citing this family (4)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012114790A1 (ja) 2011-02-25 2012-08-30 日本精工株式会社 多列組合せ玉軸受

Also Published As

Publication number Publication date
US20110047409A1 (en) 2011-02-24
KR20110018605A (ko) 2011-02-24

Similar Documents

Publication Publication Date Title
US8521949B2 (en) Data deleting method and apparatus
US20200081832A1 (en) Mapping table updating method
US7401174B2 (en) File system defragmentation and data processing method and apparatus for an information recording medium
US7873600B2 (en) Storage control device to backup data stored in virtual volume
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
US8291189B2 (en) Storage system and storage control method that compress and store data elements
US20070288711A1 (en) Snapshot copy management method used for logic volume manager
KR20130070178A (ko) 하이브리드 저장 장치 및 그것의 동작 방법
JP2009181314A (ja) 情報記録装置およびその制御方法
JP4874844B2 (ja) 情報記録装置及びその制御方法
JP2011040057A (ja) 自動バックアップ機能を有する保存装置
JP5152006B2 (ja) 記憶装置、記憶装置のデータ転送方法
JP2010211618A (ja) 半導体記憶装置
US8527733B2 (en) Memory system
JP2009032305A (ja) 情報記録装置及びその制御方法
JP2006011811A (ja) 記憶制御システム及び記憶制御方法
EP0694831A2 (en) Computer system having storage unit provided with data compression function andmethod of management of storage area thereof
WO2013046342A1 (ja) 仮想テープ装置及び仮想テープ装置の制御方法
KR102152724B1 (ko) 감시 시스템의 영상 관리 장치 및 방법
JP2005050192A (ja) 情報記録システム
JP2008262452A (ja) 記録デバイスのキャッシュ方法および記録装置
JP6015700B2 (ja) 情報記憶装置および情報記憶方法
CN111949212A (zh) 基于自定义开放通道ssd的文件系统及文件管理方法
JP2010003150A (ja) メモリコントローラおよびフラッシュメモリのデータ管理方法
JP2003099208A (ja) ディスクアレイ間データ転送方法及びディスクアレイシステム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20130416

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20131001