JP2016189187A - 記録装置、および情報処理装置 - Google Patents

記録装置、および情報処理装置 Download PDF

Info

Publication number
JP2016189187A
JP2016189187A JP2016050329A JP2016050329A JP2016189187A JP 2016189187 A JP2016189187 A JP 2016189187A JP 2016050329 A JP2016050329 A JP 2016050329A JP 2016050329 A JP2016050329 A JP 2016050329A JP 2016189187 A JP2016189187 A JP 2016189187A
Authority
JP
Japan
Prior art keywords
data
storage module
initialized
storage
initialization
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.)
Granted
Application number
JP2016050329A
Other languages
English (en)
Other versions
JP6600815B2 (ja
Inventor
山下 英明
Hideaki Yamashita
英明 山下
大塚 健
Takeshi Otsuka
健 大塚
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JP2016189187A publication Critical patent/JP2016189187A/ja
Application granted granted Critical
Publication of JP6600815B2 publication Critical patent/JP6600815B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

【課題】アドレス変換テーブルの初期化処理を誤って実行した場合でも、元のデータの復旧が可能な記録装置を提供する。
【解決手段】記録装置100は、記憶モジュール150と記録制御部120を備える。記録制御部120は、書き込み要求に対して、パリティデータを生成し、記憶モジュール150に書き込む。読み出し要求に対して、エラーを検出した場合に、他の記憶モジュール150から読み出したデータとパリティデータから、エラーのデータを復旧する。記憶モジュール150の初期化要求に対して、記憶モジュール150から初期化を行う記憶モジュール150を特定し、アドレス変換テーブル158を初期化する。また、初期化された記憶モジュール150を識別する識別情報を保持する。記憶モジュール150のテーブル初期化要求を取り消す要求に対して、保持している識別情報に対応する記憶モジュール150からのデータの読み出しをエラーとして処理する。
【選択図】図2

Description

本開示は、記録装置、並びに、これを利用した情報処理装置に関する。
特許文献1は、フラッシュメモリが内蔵された記録装置を開示している。
特開2012−141944号公報
本開示は、誤ったトリムの実行要求があった場合でも、貴重なデータの復旧ができる記録装置および情報処理装置を提供する。
本開示における記録装置は、複数の記憶モジュールと、複数の記憶モジュールを制御する記録制御部と、複数の記憶モジュールの各々を識別する識別情報を保持する管理情報記憶部とを備える。
記憶モジュールの各々は、フラッシュメモリと、フラッシュメモリ制御部とを備える。フラッシュメモリは、アドレス変換テーブルのデータを保持するテーブル記憶領域と、ユーザのデータを保持するユーザデータ記憶領域とを有する。フラッシュメモリ制御部は、フラッシュメモリのデータの読み出しと書き込みを行うとともに、アドレス変換テーブルを初期化する。
記録制御部は、パリティ生成部と、エラー検出部と、データ復旧部と、初期化制御部とを有する。初期化制御部は、アドレス変換テーブル初期化部と、記憶モジュール選択部とを有する。
パリティ生成部は、データの書き込み要求に対して、書き込みデータに対応するパリティデータを生成し、生成したパリティデータを、複数の記憶モジュールのいずれかへ書き込む。
エラー検出部は、データの読み出し要求に対して、読み出し対象の複数の記憶モジュールの各々から読み出されたデータについてエラーを検出する。
データ復旧部は、エラー検出部がエラーを検出した場合に、エラーが検出された記憶モジュール以外の記憶モジュールから読み出したデータとパリティデータとを用いて、エラーが検出された記憶モジュールのデータを復旧する。
初期化制御部は、記憶モジュールへの初期化要求に対して、管理情報記憶部が保持している識別情報に基づき初期化対象の記憶モジュールを特定する。そして、特定された初期化対象の記憶モジュールのアドレス変換テーブルを初期化するように、フラッシュメモリ制御部に指示する。さらに、初期化対象の記憶モジュールを識別する識別情報を管理情報記憶部に格納する。
また、初期化制御部は、記憶モジュールの初期化要求を取り消す要求に対して、管理情報記憶部が保持している識別情報に対応する初期化対象の記憶モジュールから読み出されるデータを、エラーとして処理するようにエラー検出部に指示する。
本開示によれば、誤ったトリムの要求によりアドレス変換テーブルの初期化処理を実行した場合でも、元のデータの復旧が可能な記録装置を提供できる。
図1は、実施の形態1における情報処理装置の全体構成を示すブロック図である。 図2は、実施の形態1における記録装置の構成を示すブロック図である。 図3は、実施の形態1における記憶モジュールの構成を示すブロック図である。 図4は、実施の形態1におけるアドレス変換テーブルの構造の概要を示す図である。 図5は、実施の形態1における初期化後のアドレス変換テーブルの構造の概要を示す図である。 図6は、実施の形態1における情報処理装置の動作を示すシーケンス図である。 図7は、実施の形態1におけるパリティデータを用いたデータ復旧処理を行うためのデータ記録方法について説明する図である。 図8は、実施の形態1におけるデータ復旧時の処理を説明する図である。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
(実施の形態1)
以下、図1〜8を用いて、実施の形態1を説明する。
[1−1.構成]
[1−1−1.情報処理装置の全体構成]
図1は、実施の形態1における情報処理装置の全体構成を示すブロック図である。情報処理装置は、ホスト装置200と記録装置100とで構成される。ホスト装置200は、CPU210と、表示部220と、ホスト装置I/F(Interface)230とを有する。CPU210は、ホスト装置200全体を制御する。表示部220は、液晶ディスプレイ等の表示装置である。ホスト装置I/F230は、ホスト装置200が記録装置100にアクセスするためのインタフェースである。ホスト装置200は、プロトコル変換を行うアダプタなどを介して、記録装置100にアクセスしてもよい。
[1−1−2.記録装置の構成]
図2は、実施の形態1における記録装置100の構成を示すブロック図である。記録装置100は、ホストI/F110と、記録制御部120と、管理情報記憶部130と、装置バッファ135と、記憶モジュールI/F140と、複数の記憶モジュール150(150A〜150E)とを有する。実施の形態1では、記録装置100が5つの記憶モジュール150A〜150Eを有する形態について説明するが、記憶モジュール150の数は5つに限定されず、複数であればよい。
ホストI/F110は、ホスト装置200とホスト装置I/F230により接続される。記録制御部120は、ホストI/F110を介して、ホスト装置200との間でコマンドの送受信を行う。記録制御部120は、記録装置100全体を制御する。記録制御部120は、ハードウェアのみで構成してもよいし、ハードウェアとソフトウェアとを組み合わせることにより実現してもよい。記録制御部120は、マイコンなどで実現してもよい。管理情報記憶部130は、メモリを備える。管理情報記憶部130は、初期化が行われた記憶モジュール150を識別する情報をメモリに保持する。装置バッファ135は、ホスト装置200および記憶モジュール150との間で送受信を行うデータを、一時的に保持する。なお、管理情報記憶部130と装置バッファ135とは、同一のメモリを用いて構成してもよい。記憶モジュールI/F140は、記憶モジュール150に対して、初期化、データの読み出し、および、データの書き込みのためのコマンドを発行するためのインタフェースである。
記録制御部120は、パリティ生成部121と、エラー検出部122と、データ復旧部123と、初期化制御部124とを有する。初期化制御部124は、アドレス変換テーブル初期化部125と、記憶モジュール選択部126とを有する。
パリティ生成部121は、記憶モジュール150に書き込まれるデータを復旧するためのパリティデータを生成し、装置バッファ135に対して書き込む。さらに、記憶モジュールI/F140経由で、記憶モジュール150A〜150Eに対して、装置バッファ135に書き込んだパリティデータの書き込みを指示する。
エラー検出部122は、記憶モジュールI/F140経由で記憶モジュール150から読み出したデータがエラーであるか否かを判断する。データがエラーであることの判断は、エラー訂正コード(Error Correction Code、ECC)を用いて行ってもよい。例えば、記憶モジュール150へのデータの書き込み時に、セクタ単位ごとにエラー訂正コードを付与しておく。そして、記憶モジュール150からのデータの読み出し時に、このエラー訂正コードを用いて、読み出したデータがエラーであるかを判断する。
データ復旧部123は、エラー検出部122がエラーと判断したデータを、そのデータが記憶されていた記憶モジュール150以外の記憶モジュール150のデータを用いて正常なデータとなるように復旧する。データの復旧処理について詳しくは後述する。
アドレス変換テーブル初期化部125は、記憶モジュールI/F140経由で、記憶モジュール150に対して、アドレス変換テーブル158の初期化を指示する。
記憶モジュール選択部126は、初期化を行う記憶モジュール150を選択する。記憶モジュール選択部126は、管理情報記憶部130を管理し、必要な情報を保持するために利用する。
記憶モジュール150A〜150Eは、共通の構成である。なお、記憶モジュール150A〜150Eは、異なる構成であってもよい。共通の構成である場合の記憶モジュール150について、図3に示す。記憶モジュール150は、モジュールI/F151と、フラッシュメモリ制御部152と、バッファ154と、フラッシュメモリI/F155と、フラッシュメモリ156とを有する。
モジュールI/F151は、記録制御部120からのコマンドを受け付け、フラッシュメモリ制御部152へ渡す。また、モジュールI/F151は、記録制御部120とバッファ154との間のデータ転送を行う。
フラッシュメモリ制御部152は、記憶モジュール150全体を制御する。フラッシュメモリ制御部152は、ハードウェアまたはマイコンなどで実現できる。バッファ154は、記録制御部120とフラッシュメモリ156との間で受け渡すデータを、一時的に保持する。フラッシュメモリI/F155は、フラッシュメモリ156に対して、初期化処理を実行するとともに、読み出し要求や書き込み要求を発行する。
フラッシュメモリ制御部152は、テーブル初期化部153を有する。テーブル初期化部153は、最新の有効なアドレス変換テーブル158が存在するアドレスを特定して、そのアドレス変換テーブル158を初期化する。
フラッシュメモリ制御部152は、読み出しのためのコマンドを記録制御部120から受け取った時には、テーブル記憶領域157内のアドレス変換テーブル158を読み出し、ユーザのデータ(ユーザーデータ)が存在するアドレスを求める。その後、フラッシュメモリ制御部152は、求めたアドレスを基に、ユーザデータ記憶領域159内のユーザデータを読み出す。
フラッシュメモリ制御部152は、記録制御部120から書き込みのためのコマンドを受け取った時には、アドレス変換テーブル158を読み出して、ユーザデータを書き込むべき領域を特定する。フラッシュメモリ制御部152は、特定した領域に、ユーザデータを書き込むとともに、アドレス変換テーブル158を更新する。
フラッシュメモリ156は、テーブル記憶領域157と、ユーザデータ記憶領域159とを有する。テーブル記憶領域157は、アドレス変換テーブル158のデータを記憶する領域であり、論理アドレスと物理アドレスとを変換するための管理データを保持する。ユーザデータ記憶領域159は、ユーザが読み出しと書き込みを行うユーザーのデータ(ユーザーデータ)を記憶しておく領域である。フラッシュメモリ制御部152は、フラッシュメモリI/F155を介して、フラッシュメモリ156に対するデータの読み出しと書き込みの処理や、アドレス変換テーブル158に対する初期化の処理などを行う。
[1−1−3.テーブル記憶領域の初期化時のデータ構成]
図4は、アドレス変換テーブル158内にデータとして保持されている情報を示す。ここでは、一例として、テーブル記憶領域157は、アドレス変換テーブル158を構成するために、テーブルポインタテーブル400と、3つのブロック420〜440を備えているものとする。アドレス変換テーブル158は、論理的に4つの更新単位テーブルa〜dに分割されているものとする。さらに、それぞれの更新単位テーブルは、複数のエントリを有している。それぞれのエントリは、論理アドレスと物理アドレスとを変換するための管理データを有している。図示するように、ブロック420〜440のうちのブロック420およびブロック430を使用して更新単位テーブルa〜dの内容が保持されている。テーブル記憶領域157の記憶内容のうち、7個の更新単位テーブルの内容が無効となっている。有効な更新単位テーブルaおよび有効な更新単位テーブルdは、ブロック430に格納されている。また、有効な更新単位テーブルbおよび有効な更新単位テーブルcは、ブロック420に格納されている。更新単位テーブルa〜dのそれぞれにかかる有効な内容の格納位置は、テーブルポインタテーブル400に保持されるポインタ402により特定できる。図4の例においては、テーブルポインタテーブル400に保持されるそれぞれのポインタ402は、論理アドレスと対応づけられており、論理アドレスの少なくとも一部をインデックス401として用いることにより検索される。このインデックス401は、更新単位テーブルを構成するエントリに含まれるそれぞれの論理アドレスに共通の上位のビットにより構成し、テーブルポインタテーブル400に登録しておいてもよい。ブロック420〜440内の有効なテーブルは、例えば、ブロックの先頭から有効なエントリを順次検索していくことにより、検出可能である。
次に、テーブル初期化処理における情報の更新について説明する。図5は、テーブル初期化処理を行った後の、アドレス変換テーブル158内に保持されている情報を示している。テーブルポインタテーブル400のポインタ402のみを初期化するために、テーブル記憶領域157内のあらたな領域にテーブルポインタテーブル400を生成する。これにより、ポインタ402の内容がリセットされ、新規の書き込みに対して、これまでの書き込みを全て無効にすることが可能になる。この処理は、テーブルポインタテーブル400のみの書き込みで済むために、高速に処理することができる。
[1−2.動作]
[1−2−1.ホスト装置と記録装置間のシーケンス]
図6は、ホスト装置200と記録装置100との間における動作のシーケンスを示す。
通常の読み出し、あるいは、書き込み時には、ホスト装置200は、Read/Write要求を記録装置100に発行する(S101)。すなわち、読み出し時にはRead要求を発行し、書き込み時にはWrite要求を発行する。Read/Write要求を受け取った記録装置100は、要求に応じて記憶モジュール150に対して、読み出しあるいは書き込みを行い、その完了をホスト装置200に対して通知する(S102)。記録装置100は、読み出し時には、完了の通知とともに、記憶モジュール150から読み出したデータをホスト装置200に対して返す。書き込み時には、書き込みデータと、パリティ生成部121で生成したパリティデータとを、各記憶モジュール150に対して書き込む。さらに、書き込み時には、ユーザデータ記憶領域への書き込み内容に応じて、フラッシュメモリ156内のアドレス変換テーブル158を更新する。
次に、ホスト装置200が、記録装置100にテーブル初期化要求を発行した場合について説明する(S103)。ホスト装置200からテーブル初期化要求を受け取ると、記憶モジュール選択部126は、記憶モジュール150A〜150Eの中からテーブル初期化を行う対象の記憶モジュール150を選択する。記憶モジュール選択部126は、管理情報記憶部130から前回初期化された記憶モジュール150の識別情報を取得し、前回初期化された記憶モジュール150以外の記憶モジュール150を、テーブル初期化対象の記憶モジュール150として選択する。アドレス変換テーブル初期化部125は、選択された記憶モジュール150に対して、初期化要求を発行する。初期化要求を受け取った記憶モジュール150において、テーブル初期化部153が、テーブル初期化処理を実行する(S104)。初期化制御部124は、初期化された記憶モジュール150を識別する識別情報を管理情報記憶部130に記憶させた上で、モジュール初期化の完了をホスト装置200に対して通知する(S105)。その後、ホスト装置200は、通常の読み出し、書き込み処理を必要に応じて行う(S106)。
次に、ホスト装置200が誤ったテーブル初期化要求を発行した場合について説明する(S107)。記録装置100は、上述のアドレス変換テーブル初期化の処理S104とモジュール識別情報更新S105と同等の処理を行う(S108、S109)。この誤ったアドレス変換テーブル初期化により失われたデータを復旧するために、ホスト装置200は、アドレス変換テーブル初期化無効化要求、すなわち、アドレス変換テーブル158の初期化の要求を取り消す要求を記録装置100に対して発行する(S110)。記録装置100が要求を受け取ると、初期化制御部124は、管理情報記憶部130から初期化された記憶モジュール150を識別する識別情報を読み出す。さらに、初期化制御部124は、読み出すべき記憶モジュール150のデータを復旧するために、アドレス変換テーブル158が初期化された記憶モジュール150のデータをエラーとして扱うようにエラー検出部122に指示する。そして、テーブル初期化無効化の完了をホスト装置200に対して通知する(S111)。その後、ホスト装置200は、通常の読み出しを行うためにRead要求を記録装置100に対して発行する(S112)。Read要求を受けた記録装置100は、アドレス変換テーブル158が誤って初期化された記憶モジュール150からのデータの読み出しを、エラー検出部122でエラーとして判断させる。この判断に基づき、データ復旧部123は、誤って初期化された記憶モジュール150以外の記憶モジュール150のデータとパリティデータとを用いて、正常なデータを復旧する。そして、復旧したデータをホスト装置200に対して送信する(S113)。
[1−2−2.データ復旧処理]
図7は、パリティデータを用いたデータ復旧処理を行うためのデータ記録方法について説明する図である。この動作は、RAID(Redundant Arrays of Inexpensive Disks)の方式に基づきハードディスクの信頼性を向上させる技術である。ここでは、複数台のハードディスクを組み合わせることで仮想的な1台のハードディスクとして運用し、冗長な構成により信頼性を向上させる。
記録装置100は、ホスト装置200からの書き込み要求に対して、パリティ生成部121でデータ復旧用のパリティデータを生成する。さらに、生成したパリティデータと、ホスト装置200からの書き込みデータとを、記憶モジュール150A〜150Eに対して、等しいサイズで書き込む。記録装置100は、たとえば、セクタ(512Byte)単位や、フラッシュメモリのページサイズ(4KByte)単位での書き込みを行う。一例として、図7に示すように、記録装置100は、ホスト装置200からの書き込みデータを4つに分割し、4つの記憶モジュール150A〜150Dにそれぞれ書き込む。あわせて、分割された4つのデータからパリティデータを生成し、残り1つの記憶モジュール150Eに書き込む。信頼性の向上のために、記録装置100は、この書き込み処理において、パリティデータを書き込む記憶モジュール150を順次変更する。パリティデータを含む5つの記憶モジュール150の1つのデータがエラーとなっても、他の4つの記憶モジュール150のデータからエラーとなったデータを復旧することができる。
図8は、誤ったアドレス変換テーブル初期化から復旧する場合を説明する図である。図8は、記憶モジュール150Cのアドレス変換テーブル158が誤って初期化された場合の例である。この場合、初期化制御部124からの指示に基づきエラー検出部122は、記憶モジュール150Cへの読み出し要求に対して、記憶モジュール150Cから読み出すデータを必ずエラーとなるように判断する。そして、エラー検出部122は、記憶モジュール150Cからの読み出しがエラーであったことを、データ復旧部123に通知する。データ復旧部123は、記憶モジュール150C以外の記憶モジュール150から読み出したデータとパリティデータにより、記憶モジュール150Cのデータを復旧する。
[1−3.効果等]
以上のように、実施の形態1において、記録装置100は、複数の記憶モジュール150と、複数の記憶モジュール150を制御する記録制御部120と、複数の記憶モジュール150の各々を識別する識別情報を保持する管理情報記憶部130とを備える。
記憶モジュール150の各々は、フラッシュメモリ156と、フラッシュメモリ制御部152とを備える。フラッシュメモリ156は、アドレス変換テーブル158のデータを保持するテーブル記憶領域157と、ユーザデータを保持するユーザデータ記憶領域159とを有する。フラッシュメモリ制御部152は、フラッシュメモリ156のデータの読み出しと書き込みを行うとともに、アドレス変換テーブル158を初期化する。
記録制御部120は、パリティ生成部121と、エラー検出部122と、データ復旧部123と、初期化制御部124とを有する。初期化制御部124は、アドレス変換テーブル初期化部125と、記憶モジュール選択部126とを有する。
パリティ生成部121は、データの書き込み要求に対して、書き込みデータに対応するパリティデータを生成し、生成したパリティデータを、複数の記憶モジュール150のいずれかへ書き込む。
エラー検出部122は、データの読み出し要求に対して、読み出し対象の複数の記憶モジュール150の各々から読み出されたデータについてエラーを検出する。
データ復旧部123は、エラー検出部122がエラーを検出した場合に、エラーが検出された記憶モジュール150以外の記憶モジュール150から読み出したデータとパリティデータとを用いて、エラーが検出された記憶モジュール150のデータを復旧する。
初期化制御部124は、記憶モジュール150への初期化要求に対して、管理情報記憶部130が保持している識別情報に基づき初期化対象の記憶モジュール150を特定する。そして、特定された初期化対象の記憶モジュール150のアドレス変換テーブル158を初期化するように、フラッシュメモリ制御部152に指示する。さらに、初期化対象の記憶モジュール150を識別する識別情報を管理情報記憶部130に格納する。
また、初期化制御部124は、記憶モジュール150の初期化要求を取り消す要求に対して、管理情報記憶部130が保持している識別情報に対応する初期化対象の記憶モジュール150から読み出されるデータを、エラーとして処理するようにエラー検出部122に指示する。
これにより、誤ったトリムの要求によりアドレス変換テーブル158の初期化処理を実行した場合でも、元のデータの復旧が可能となる。
(他の実施の形態)
以上のように、本出願において開示する技術の例示として、実施の形態1を説明した。しかしながら、本開示における技術は、これに限定されず、変更、置き換え、付加、省略などを行った実施の形態にも適用できる。また、上記実施の形態1で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。
そこで、以下、他の実施の形態を説明する。
実施の形態1では、5つの記憶モジュール150を用いた場合について説明したが、記憶モジュール150の数はこれに限定されず、複数であればよい。また、実施の形態1では、1つのパリティデータを生成する場合について説明したが、パリティデータの数はこれに限定されず、複数のパリティデータを生成してもよい。また、実施の形態1では、4つのデータと1つのパリティデータとを、5つの異なる記憶モジュール150に記録する場合について説明したが、データの数とパリティデータの数との組み合わせはこれに限定されず、他の組み合わせであってもよい。
実施の形態1では、初期化された記憶モジュール150についてのエラーの判断をエラー検出部122で行っている例について説明をしたが、記憶モジュール150がエラーデータを返すようにしても実現可能である。例えば、データに付与されるエラー訂正コードを、このデータがエラーとして検出されるように加工することで実現可能である。
記録装置100は、アドレス変換テーブル158の初期化時に、アドレス変換テーブル158の初期化だけでなく、記憶モジュール150の物理消去を行った場合、同等の効果に加えて、書き込み時の高速化を図ることも可能となる。
また、記録装置100は、アドレス変換テーブル158の初期化を行う領域をパラメタとして指定し、所定の領域のみに対応しても効果が得ることが可能である。具体的には、例えば、ホスト装置200は、記録装置100に対して、記憶モジュール150の初期化を行う領域をパラメタにより指定した初期化要求を発行する。初期化制御部124は、初期化対象の記憶モジュール150を特定し、特定された初期化対象の記憶モジュール150のアドレス変換テーブル158のうち、所定の領域を初期化するように、フラッシュメモリ制御部152に指示する。指示を受け取ったフラッシュメモリ制御部152は、アドレス変換テーブル158を初期化するとともに、初期化された記憶モジュール150を識別する識別情報と初期化された領域の情報とを格納する。さらに、記憶モジュール150のテーブル初期化要求を取り消す要求に対して、特定された記憶モジュール150のフラッシュメモリ制御部152は、前回初期化された記憶モジュール150の識別情報と初期化された領域の情報を取得する。そして、取得した記憶モジュール150の識別情報に対応する記憶モジュール150の初期化された領域からのデータの読み出しがエラーとして判断されるように、このデータのエラー訂正コードを加工する。
実施の形態1において、記憶モジュール選択部126は、管理情報記憶部130から前回初期化された記憶モジュール150の識別情報を取得し、前回初期化された記憶モジュール150以外の記憶モジュール150を、テーブル初期化対象として選択するとした。しかし、初期化する記憶モジュール150の選択方法は、これに限定されず他の方法であってもよい。前回以前に初期化された記憶モジュール150の識別情報を保持しておき、初期化の回数が最も少ない記憶モジュール150を初期化対象として選択してもよい。これにより、フラッシュメモリへの書き込みの平準化をはかることができる。
また、ホスト装置200は、アドレス変換テーブル158の初期化を記憶モジュール150のフォーマット時に必ず実行してもよい。あるいは、ホスト装置200は、表示部220上でユーザインタフェースを提供し、利用者から明示的に記録装置100のアドレス変換テーブル158の初期化を実行したり、情報処理装置の利用終了後に、次の利用者へ情報処理装置を引き渡す時にアドレス変換テーブル158の初期化を行ってもよい。
本開示は、記録装置に映像を記録する電子機器に適用可能である。具体的には、業務用カメラ、ディジタルスチルカメラ、ムービーや、汎用のパーソナルコンピュータなどに、本開示は適用可能である。
100 記録装置
110 ホストI/F
120 記録制御部
121 パリティ生成部
122 エラー検出部
123 データ復旧部
124 初期化制御部
125 アドレス変換テーブル初期化部
126 記憶モジュール選択部
130 管理情報記憶部
135 装置バッファ
140 記憶モジュールI/F
150,160,170,180,190 記憶モジュール
151 モジュールI/F
152 フラッシュメモリ制御部
153 テーブル初期化部
154 バッファ
155 フラッシュメモリI/F
156 フラッシュメモリ
157 テーブル記憶領域
158 アドレス変換テーブル
159 ユーザデータ記憶領域
200 ホスト装置
210 CPU
220 表示部
230 ホスト装置I/F
400 テーブルポインタテーブル
420,430,440 ブロック

Claims (6)

  1. 複数の記憶モジュールと、
    前記複数の記憶モジュールを制御する記録制御部と、
    前記複数の記憶モジュールの各々を識別する識別情報を保持する管理情報記憶部と、を備え、
    前記記憶モジュールの各々は、
    アドレス変換テーブルのデータを保持するテーブル記憶領域、および、ユーザのデータを保持するユーザデータ記憶領域を有するフラッシュメモリと、
    前記フラッシュメモリのデータの読み出しと書き込みを行うとともに、前記アドレス変換テーブルを初期化するフラッシュメモリ制御部と、を備え、
    前記記録制御部は、
    データの書き込み要求に対して、書き込みデータに対応するパリティデータを生成し、前記生成したパリティデータを、前記複数の記憶モジュールのいずれかへ書き込むパリティ生成部と、
    データの読み出し要求に対して、前記複数の記憶モジュールの各々から読み出されたデータについてエラーを検出するエラー検出部と、
    前記エラー検出部が前記エラーを検出した場合に、前記エラーが検出された記憶モジュール以外の記憶モジュールから読み出したデータとパリティデータとを用いて、前記エラーが検出された記憶モジュールのデータを復旧するデータ復旧部と、
    初期化要求に対して、前記管理情報記憶部が保持している前記識別情報に基づき初期化対象の記憶モジュールを特定し、特定された前記初期化対象の記憶モジュールの前記アドレス変換テーブルを初期化するように、前記フラッシュメモリ制御部に指示し、前記初期化対象の記憶モジュールを識別する前記識別情報を前記管理情報記憶部に格納し、
    初期化要求を取り消す要求に対して、前記管理情報記憶部が保持している前記識別情報に対応する前記初期化対象の記憶モジュールから読み出されるデータを、エラーとして処理するように前記エラー検出部に指示する、初期化制御部と、を備える、
    記録装置。
  2. 前記初期化制御部は、前記初期化要求に対して、前記管理情報記憶部が保持している前回初期化された記憶モジュールの識別情報を基に、次に初期化する記憶モジュールを特定する、
    請求項1に記載の記録装置。
  3. 前記初期化対象の記憶モジュールにおいて、前記フラッシュメモリ制御部は、前記アドレス変換テーブルを初期化するとともに、前記フラッシュメモリ内のデータを物理的に消去する、
    請求項1に記載の記録装置。
  4. 前記初期化制御部は、前記初期化要求が、初期化を行う領域を指定された初期化要求である場合に、前記複数の記憶モジュールから前記初期化対象の記憶モジュールを特定し、
    前記特定された記憶モジュールの前記フラッシュメモリ制御部は、
    前記初期化要求に対して、前記アドレス変換テーブルを初期化するとともに、初期化された識別情報と初期化が行われた領域の情報とを格納し、
    前記初期化要求を取り消す要求に対して、前記特定された記憶モジュールの前記フラッシュメモリ制御部に格納された識別情報と初期化が行われた領域の情報を取得し、取得した識別情報に対応する記憶モジュールの初期化が行われた領域からのデータの読み出しをエラーとして処理する、
    請求項1に記載の記録装置。
  5. 請求項1に記載の記録装置と、
    前記記録装置に対して、前記データの書き込み要求と、前記データの読み出し要求と、初期化要求と、初期化要求を取り消す要求と、を発行するホスト装置と、
    を備える情報処理装置。
  6. 前記ホスト装置は、ユーザインタフェースを有し、ユーザからの指示により、前記記録装置に対して、前記記憶モジュールの初期化要求を発行する、
    請求項5に記載の情報処理装置。
JP2016050329A 2015-03-27 2016-03-15 記録装置、および情報処理装置 Active JP6600815B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015065876 2015-03-27
JP2015065876 2015-03-27

Publications (2)

Publication Number Publication Date
JP2016189187A true JP2016189187A (ja) 2016-11-04
JP6600815B2 JP6600815B2 (ja) 2019-11-06

Family

ID=56975325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016050329A Active JP6600815B2 (ja) 2015-03-27 2016-03-15 記録装置、および情報処理装置

Country Status (2)

Country Link
US (1) US9836239B2 (ja)
JP (1) JP6600815B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049007B2 (en) * 2015-10-28 2018-08-14 Via Technologies, Inc. Non-volatile memory device and read method thereof
US11288007B2 (en) * 2019-05-16 2022-03-29 Western Digital Technologies, Inc. Virtual physical erase of a memory of a data storage device
CN113961383A (zh) * 2021-09-07 2022-01-21 浙江吉利控股集团有限公司 一种写入作业的状态信息的确定方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744328A (ja) * 1993-07-26 1995-02-14 Nec Corp 磁気ディスクのデータ復活処理方式
JP2012068862A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 半導体記憶制御装置
WO2013030866A1 (en) * 2011-08-29 2013-03-07 Hitachi, Ltd. Semiconductor storage device comprising electrically rewritable nonvolatile semiconductor memory
JP2013196164A (ja) * 2012-03-16 2013-09-30 Toshiba Corp 不揮発性記憶装置、情報処理装置の制御方法、及び情報処理装置
JP2014119948A (ja) * 2012-12-17 2014-06-30 Nec Corp 情報処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101490246B1 (ko) * 2007-07-02 2015-02-05 엘지전자 주식회사 방송 수신기 및 방송신호 처리방법
JP5535128B2 (ja) 2010-12-16 2014-07-02 株式会社東芝 メモリシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0744328A (ja) * 1993-07-26 1995-02-14 Nec Corp 磁気ディスクのデータ復活処理方式
JP2012068862A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 半導体記憶制御装置
WO2013030866A1 (en) * 2011-08-29 2013-03-07 Hitachi, Ltd. Semiconductor storage device comprising electrically rewritable nonvolatile semiconductor memory
JP2013196164A (ja) * 2012-03-16 2013-09-30 Toshiba Corp 不揮発性記憶装置、情報処理装置の制御方法、及び情報処理装置
JP2014119948A (ja) * 2012-12-17 2014-06-30 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
JP6600815B2 (ja) 2019-11-06
US9836239B2 (en) 2017-12-05
US20160283322A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
TWI694329B (zh) 用於記憶體之針對性淨除之方法及設備
KR102198609B1 (ko) 모바일 장치 및 그것의 동작 방법
DK3179359T3 (en) PROCEDURE FOR SENDING DATA, PROCEDURE FOR RECEIVING DATA AND STORAGE UNIT
JP3682256B2 (ja) ディスクアレイ装置及び同装置におけるパリティ処理方法
US10120769B2 (en) Raid rebuild algorithm with low I/O impact
US9703816B2 (en) Method and system for forward reference logging in a persistent datastore
US11157357B2 (en) Operation methods of memory system and host, and computing system
US9817600B2 (en) Configuration information backup in memory systems
US11520487B2 (en) Managing write operations during a power loss
US20150052415A1 (en) Data storage device, operating method thereof and data processing system including the same
TWI489466B (zh) 記憶體抹除方法、記憶體控制器與記憶體儲存裝置
CN109522154B (zh) 数据恢复方法及相关设备与系统
WO2015133982A1 (en) Dram row sparing
US10127099B2 (en) Bad sector repair method and apparatus
US11288183B2 (en) Operating method of memory system and host recovering data with write error
JP6600815B2 (ja) 記録装置、および情報処理装置
US8533560B2 (en) Controller, data storage device and program product
US8856468B2 (en) Memory device capable of improving write processing speed and memory control method
US8560789B2 (en) Disk apparatus, data replicating method onto disk apparatus and program recording medium
CN110865945B (zh) 存储设备的扩展地址空间
WO2018040804A1 (zh) 一种存储器块处理方法、装置和计算机存储介质
JP2010536112A (ja) 中断された書込みの回復のためのデータ記憶方法、機器およびシステム
US10872008B2 (en) Data recovery after storage failure in a memory system
JP2014041524A (ja) 半導体記憶装置、ストレージ装置、半導体記憶装置制御方法、ストレージ制御方法、および、コンピュータ・プログラム
US12013753B2 (en) Proactive loss notification and handling in data storage devices

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160526

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181105

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20190118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190731

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190909

R151 Written notification of patent or utility model registration

Ref document number: 6600815

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151