JP4700562B2 - データ記憶装置およびデータ記憶方法 - Google Patents
データ記憶装置およびデータ記憶方法 Download PDFInfo
- Publication number
- JP4700562B2 JP4700562B2 JP2006138780A JP2006138780A JP4700562B2 JP 4700562 B2 JP4700562 B2 JP 4700562B2 JP 2006138780 A JP2006138780 A JP 2006138780A JP 2006138780 A JP2006138780 A JP 2006138780A JP 4700562 B2 JP4700562 B2 JP 4700562B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage unit
- address
- storage
- storage device
- 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.)
- Expired - Fee Related
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 137
- 238000000034 method Methods 0.000 title claims description 54
- 230000015654 memory Effects 0.000 claims abstract description 243
- 238000012937 correction Methods 0.000 claims description 59
- 238000012544 monitoring process Methods 0.000 claims description 10
- 239000004065 semiconductor Substances 0.000 claims description 5
- 230000008569 process Effects 0.000 description 41
- 238000012545 processing Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 21
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 10
- 238000005192 partition Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 101000824318 Homo sapiens Protocadherin Fat 1 Proteins 0.000 description 4
- 101000824299 Homo sapiens Protocadherin Fat 2 Proteins 0.000 description 4
- 102100022095 Protocadherin Fat 1 Human genes 0.000 description 4
- 102100022093 Protocadherin Fat 2 Human genes 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Communication Control (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ホスト装置から転送されたデータを記憶するデータ記憶装置であって、
所定の記憶領域を有する第1の記憶部と、
所定の記憶領域を有する第2の記憶部と、
少なくとも前記第1の記憶部の使用領域を監視する監視手段と、
前記ホスト装置から前記データが転送された場合において、前記監視手段を用いて前記第1の記憶部の記憶領域が残存していると判断した場合に、前記転送されたデータを前記第1の記憶部に書き込むとともに、前記転送されたデータを補正するための補正用データを前記第2の記憶部に書き込み、前記第1の記憶部の記憶領域が残存していないと判断した場合に、前記第2の記憶部に既に記憶された前記補正用データを前記第2の記憶部の最終アドレスから逆行して消去しつつ、該消去された領域に前記最終アドレスから逆行して前記転送されたデータを書き込む書込制御手段と
を備えることを要旨とする。
前記書込制御手段は、前記補正用データとして、前記ホスト装置から転送されたデータに基づき誤り訂正符号を生成する符号化手段を備えるものとしてもよい。
前記符号化手段は、前記ホスト装置から転送されたデータと同じビット数、またはそれよりも少ないビット数の誤り訂正符号を生成するものとしてもよい。
前記書込制御手段は、前記補正用データとして、前記ホスト装置から転送されたデータと同一のデータ、または、前記ホスト装置から転送されたデータを構成する各ビットを反転させたデータを生成する手段を備えるものとしてもよい。
前記書込制御手段は、前記ホスト装置から転送されたデータを前記第2の記憶部に書き込む際に、前記第1の記憶部の物理的な最終アドレスと、前記第2の記憶部の物理的な最終アドレスとを結合した仮想的なアドレス空間に従って、前記第2の記憶部へデータの書き込みを行うものとしてもよい。
更に、前記ホスト装置からデータの読み出し要求を受けた場合において、該読み出し要求を受けたデータの記憶先が、前記第1の記憶部であり、かつ、該データから生成された補正用データが前記第2の記憶部に存在する場合に、該データを前記第1の記憶部から読み込むとともに、該補正用データを前記第2の記憶部から読み込み、該補正用データに基づき該データを補正して前記ホスト装置に該データを転送する読込制御手段を備えるものとしてもよい。
前記読込制御手段は、前記読み出し要求を受けたデータの記憶先が、前記第1の記憶部であり、かつ、該データから生成された補正用データが前記第2の記憶部に存在しない場合に、該データを前記第1の記憶部から読み込み、該データをそのまま前記ホスト装置に転送する手段を備えるものとしてもよい。
前記読込制御手段は、前記読み出し要求を受けたデータの記憶先が、前記第2の記憶部であり、かつ、該第2の記憶部の通常のデータが記録されている領域である場合に、該データを該第2の記憶部から読み込み、該データをそのまま前記ホスト装置に転送する手段を備えるものとしてもよい。
前記読込制御手段は、前記読み出し要求を受けたデータの記憶先が、前記第2の記憶部の前記補正用データが記憶されている領域である場合に、前記第2の記憶部からデータの読み込みを行うことなく、所定のデータをダミーデータとして前記ホスト装置に転送する手段を備えるものとしてもよい。
前記書込制御手段は、前記ホストから転送されたデータを、前記第2の記憶部に書き込んだ場合に、該データの書き込まれた最大アドレスを示すアドレスポインタを記憶し、
前記読込制御手段は、前記アドレスポインタに基づき、前記読み出し要求を受けたデータに対応する補正用データが前記第2の記憶部に記憶されているか否か、または、前記読み出し要求を受けたデータの記憶先が、前記第2の記憶部の前記補正用データが記憶されている領域であるか否かを判断するものとしてもよい。
前記書込制御手段は、前記ホストから転送されたデータを、前記第2の記憶部に書き込んだ場合に、該第2の記憶部の個々のアドレスについて、データを書き込んだか否かを示す所定のテーブルを記憶し、
前記読込制御手段は、前記テーブルに基づき、前記読み出し要求を受けたデータに対応する補正用データが前記第2の記憶部に記憶されているか否か、または、前記読み出し要求を受けたデータの記憶先が、前記第2の記憶部の前記補正用データが記憶されている領域であるか否かを判断するものとしてもよい。
前記第1の記憶部の記憶領域が残存していない場合であっても、所定の設定操作に応じて、前記書込制御手段に対して前記第2の記憶部への通常のデータの書き込みを制限する設定手段を備えるものとしてもよい。
前記第1の記憶部と前記第2の記憶部とは、同一の記憶容量を有するものとしてもよい。
前記データは、前記ホスト装置からUSBインタフェースを介して転送されるものとしてもよい。
前記第1の記憶部および前記第2の記憶部は、不揮発性の半導体メモリであるものとすることができる。不揮発性の半導体メモリとしては、例えば、NAND型やNOR型の各種フラッシュメモリ、EEPROM、バッテリバックアップされたDRAM等を利用することができる。
所定の記憶領域を有する第1の記憶部と第2の記憶部とを備えるデータ記憶装置がホスト装置から転送されたデータを記憶する方法であって、
前記第1の記憶部の使用領域を監視し、
前記ホスト装置から前記データが転送された場合において、前記監視の結果、前記第1の記憶部の記憶領域が残存していると判断した場合に、該データを前記第1の記憶部に書き込むとともに、該データを補正するための補正用データを前記第2の記憶部に書き込み、
前記第1の記憶部の記憶領域が残存していないと判断した場合に、前記第2の記憶部に既に記憶された前記補正用データを消去しつつ該データを、該第2の記憶部に書き込むデータ記憶方法である。
A.データ記憶装置の概略構成:
B.データ記憶装置の動作の概要:
C.各種処理:
(C1)メイン処理:
(C2)ポインタ設定処理:
(C3)ライト処理:
(C4)リード処理:
D.効果:
E.変形例:
図1は、実施例としてのデータ記憶装置10の概略構成を示す説明図である。図示するように、本実施例のデータ記憶装置10は、内部にフラッシュメモリを2つ備えている(第1フラッシュメモリFL1と第2フラッシュメモリFL2)。フラッシュメモリの種別としては、例えば、NAND型のフラッシュメモリやNOR型のフラッシュメモリを利用することができる。
図2は、データ保障モード時のデータ記憶装置10の内部メモリマップを示す説明図である。図の左側には、第1フラッシュメモリFL1がFAT形式によりフォーマットされ、1つのパーティションが形成されている例を示している。
(C1)メイン処理:
図5は、データ記憶装置10が実行するメイン処理のフローチャートである。この処理は、データ記憶装置10がホストに接続されて電源が供給されたと同時にフラッシュコントローラ130が実行を開始する処理である。
図6は、上述したメイン処理のステップS10で実行されるポインタ設定処理のフローチャートである。このポインタ設定処理は、2つのフラッシュメモリに既に記憶されたデータの位置に基づいて、アドレスポインタの初期値を求めるための処理である。以下の説明において「アドレス」とは、特に明記のない限り図4に示した仮想アドレスのことをいうものとする。
図7は、上述したメイン処理のステップS40で実行されるライト処理のフローチャートである。このライト処理は、ホストから受信したライトデータをフラッシュメモリに書き込むための処理である。
図11は、上述したメイン処理のステップS50で実行されるリード処理のフローチャートである。このリード処理は、ホストからの要求に応じてフラッシュメモリからデータを読み出すための処理である。
以上、本実施例のデータ記憶装置10の詳細な構成およびその処理について説明した。本実施例のデータ記憶装置10によれば、第1フラッシュメモリFL1の記憶領域が残存していれば、ホストから書き込み指示のあったデータを、第1フラッシュメモリFL1に書き込み、さらに、そのデータを補正するためのECCデータを第2フラッシュメモリFL2に書き込む。そのため、仮に、第1フラッシュメモリFL1に記録されたデータが何らかの原因で損傷したとしても、第2フラッシュメモリFL2に書き込まれたECCデータを用いることで、これを補正することができる。
以上、本発明の実施例について説明したが、本発明はこのような実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、ハードウェアによって実現した機能は、ソフトウェアによって実現するものとしてもよい。そのほか、以下のような変形が可能である。
上記実施例では、データ保障モードにおいて、第2フラッシュメモリFL2に対して、ECCデータを記録するものとした。これに対して、第2フラッシュメモリFL2には、第1フラッシュメモリFL1に書き込む内容と同一のデータを書き込むものとしてもよい。このような構成によれば、データの冗長性を高めることができるため、耐障害性を向上させることができる。また、このような構成によれば、両者のデータを対比するだけでエラーのチェックを行うことができるのでデータ記憶装置10の処理負担を軽減することができる。
上記実施例では、アドレスポインタを用いることで、フラッシュメモリ内の管理領域MAとユーザデータ領域DAとの判別や、通常のデータが書き込まれている領域とECCデータが書き込まれている領域との判別を行うものとした。これに対して、例えば、フラッシュメモリ内の個々のアドレスにデータが記憶されているか否かを管理するテーブルを用いることによっても上記実施例と同様の処理を行うことができる。
上記実施例では、第1フラッシュメモリFL1のデータ容量がゼロとなった場合に、データ記憶装置10の動作状態が、自動的に、データ保障モードから容量優先モードに移行するものとして説明した。これに対して、データ記憶装置10にモード切換スイッチを設け、このスイッチの設定によって動作状態が変化するものとしてもよい。こうすることで、ユーザはデータ記憶装置10の利用形態に応じて柔軟に動作モードを設定することができる。例えば、重要なデータを保存する目的では、第2フラッシュメモリFL2に対するデータの書き込みを制限することで、データ保障モードにデータ記憶装置10を強制的に設定し、容量の大きなデータを保存する目的では、容量優先モードにデータ記憶装置10を強制的に設定することができる。データ記憶装置10は、デフォルトの状態では、データの信頼性を向上させるため、データ保障モードに設定されているものとすることができる。
上記実施例では、第1フラッシュメモリFL1に書き込むデータと、第2フラッシュメモリFL2に書き込むECCデータとは、同一のデータ容量を有するものとした。そのため、第1フラッシュメモリFL1と第2フラッシュメモリFL2とは同一の容量を有するものとして説明した。しかし、第2フラッシュメモリFL2に必要な記憶容量は、ECCデータのサイズに応じて変化するため、第1フラッシュメモリFL1と第2フラッシュメモリFL2とは、異なるデータ容量であっても構わない。例えば、第1フラッシュメモリFL1に書き込むデータよりも第2フラッシュメモリFL2に書き込むECCデータのデータ長が短ければ、第2フラッシュメモリFL2のデータ容量を、第1フラッシュメモリFL1のデータ容量よりも少なくすることができる。
上記実施例では、図4に示したように、容量優先モード時には、第1フラッシュメモリFL1の最終実アドレスと、第2フラッシュメモリFL2の最終実アドレスが結合するようにアドレスの管理を行うものとした。これに対して、第1フラッシュメモリFL1の最終実アドレスと、第2フラッシュメモリFL2内のユーザデータ領域の先頭実アドレスとが結合するようにアドレス管理を行うものとしてもよい。このような構成では、容量優先モードに動作状態が移行した場合に、第2フラッシュメモリFL2内の古いECCデータから順に消去を行うものとする。
上記実施例では、データ記憶装置10の動作状態が、データ保障モードから容量優先モードに移行した後に、再度、データ保障モードに移行することについては言及していない。しかし、以下の方法をとることにより、再度、データ保障モードに移行することは可能である。すなわち、容量優先モードに移行した後に、第1フラッシュメモリFL1あるいは第2フラッシュメモリFL2からデータが消去され、記憶されているデータの全容量が第1フラッシュメモリFL1のユーザデータ領域DA以下となった場合に、デフラグメンテーションを実行し、全てのデータを、第1フラッシュメモリFL1のユーザデータ領域に移動させる。その上で、第1フラッシュメモリFL1に移動された個々のデータからECCデータを生成し、これを第2フラッシュメモリFL2に記録する。以上の処理を実行することで、容量優先モードから、再度、データ保障モードに動作状態を移行させることが可能である。かかる処理は、記憶されているデータの全容量が第1フラッシュメモリFL1のユーザデータ領域以下となった場合に自動的に実行するものとしてもよいし、データ記憶装置10に設けた物理的なスイッチの操作や、ホストにインストールした専用のアプリケーションによる操作によって実行するものとしてもよい。
上記実施例では、データ記憶装置10の動作状態が容量優先モードであっても、第2フラッシュメモリFL2にECCデータが残存している限りは、このECCデータを用いてエラー補正等を行うものとした。これに対して、動作状態が容量優先モードに切り替わった場合には、ECCデータをすべて消去、もしくは、ないものとして扱うものとしてもよい。このような構成であれば、容量優先モードにおいて第2フラッシュメモリFL2にECCデータが存在するか否かの判断を行う必要がなくなるため、処理負担が軽減され、読み書きスピードを向上させることが可能になる。
上記実施例では、データ記憶装置10は、記憶デバイスとしてフラッシュメモリを備えるものとした。これに対して、例えば、ハードディスクドライブや書き換え可能な光ディスクなどを記憶デバイスとして備えるものとしてもよい。また、上記実施例では、フラッシュメモリを2つ備えるものとしたが、その数はこれに限られず、偶数個のフラッシュメモリを備えるものとすることができる。この場合、2つのフラッシュメモリを1組として、各組のフラッシュメモリに対して実施例と同様の処理を行うものとすることができる。また、上記実施例では、物理的に異なる2つのフラッシュメモリを備えるものとしたが、1つのフラッシュメモリ内の記憶領域を論理的に2つの領域に分割し、分割した一方の領域を、上記実施例の第1フラッシュメモリFL1と同様に扱い、他方を上記実施例の第2フラッシュメモリFL2と同様に扱うものとしてもよい。
上記実施例では、データ記憶装置10はFAT形式によってフォーマットされるものとして説明したが、フォーマットの形式はこれに限られない。例えば、NTFSやHPFS、Linux(登録商標)EXT等、様々な形式に応用することが可能である。
110...USBコネクタ
120...USB制御回路
130...フラッシュコントローラ
140...アドレス変換回路
145...レジスタ
150...バススイッチ
160...ECCエンコーダ
170...ECCデコーダ
180...ダミーデータ出力回路
Claims (17)
- ホスト装置から転送されたデータを記憶するデータ記憶装置であって、
所定の記憶領域を有する第1の記憶部と、
所定の記憶領域を有する第2の記憶部と、
少なくとも前記第1の記憶部の使用領域を監視する監視手段と、
前記ホスト装置から前記データが転送された場合において、前記監視手段を用いて前記第1の記憶部の記憶領域が残存していると判断した場合に、前記転送されたデータを前記第1の記憶部に書き込むとともに、前記転送されたデータを補正するための補正用データを前記第2の記憶部に書き込み、前記第1の記憶部の記憶領域が残存していないと判断した場合に、前記第2の記憶部に既に記憶された前記補正用データを前記第2の記憶部の最終アドレスから逆行して消去しつつ、該消去された領域に前記最終アドレスから逆行して前記転送されたデータを書き込む書込制御手段と
を備えるデータ記憶装置。 - 請求項1に記載のデータ記憶装置であって、
前記書込制御手段は、前記補正用データとして、前記ホスト装置から転送されたデータに基づき誤り訂正符号を生成する符号化手段を備える
データ記憶装置。 - 請求項2に記載のデータ記憶装置であって、
前記符号化手段は、前記ホスト装置から転送されたデータと同じビット数、またはそれよりも少ないビット数の誤り訂正符号を生成する
データ記憶装置。 - 請求項1に記載のデータ記憶装置であって、
前記書込制御手段は、前記補正用データとして、前記ホスト装置から転送されたデータと同一のデータ、または、前記ホスト装置から転送されたデータを構成する各ビットを反転させたデータを生成する手段を備える
データ記憶装置。 - 請求項1に記載のデータ記憶装置であって、
前記書込制御手段は、前記ホスト装置から転送されたデータを前記第2の記憶部に書き込む際に、前記第1の記憶部の物理的な最終アドレスと、前記第2の記憶部の物理的な最終アドレスとを結合した仮想的なアドレス空間に従って、前記第2の記憶部へデータの書き込みを行う
データ記憶装置。 - 請求項1に記載のデータ記憶装置であって、更に、
前記ホスト装置からデータの読み出し要求を受けた場合において、該読み出し要求を受けたデータの記憶先が、前記第1の記憶部であり、かつ、該データから生成された補正用データが前記第2の記憶部に存在する場合に、該データを前記第1の記憶部から読み込むとともに、該補正用データを前記第2の記憶部から読み込み、該補正用データに基づき該データを補正して前記ホスト装置に該データを転送する読込制御手段を備える
データ記憶装置。 - 請求項6に記載のデータ記憶装置であって、
前記読込制御手段は、前記読み出し要求を受けたデータの記憶先が、前記第1の記憶部であり、かつ、該データから生成された補正用データが前記第2の記憶部に存在しない場合に、該データを前記第1の記憶部から読み込み、該データをそのまま前記ホスト装置に転送する手段を備える
データ記憶装置。 - 請求項6または請求項7のいずれかに記載のデータ記憶装置であって、
前記読込制御手段は、前記読み出し要求を受けたデータの記憶先が、前記第2の記憶部であり、かつ、該第2の記憶部の通常のデータが記録されている領域である場合に、該データを該第2の記憶部から読み込み、該データをそのまま前記ホスト装置に転送する手段を備える
データ記憶装置。 - 請求項6ないし請求項8のいずれかに記載のデータ記憶装置であって、
前記読込制御手段は、前記読み出し要求を受けたデータの記憶先が、前記第2の記憶部の前記補正用データが記憶されている領域である場合に、前記第2の記憶部からデータの読み込みを行うことなく、所定のデータをダミーデータとして前記ホスト装置に転送する手段を備える
データ記憶装置。 - 請求項6ないし請求項9のいずれかに記載のデータ記憶装置であって、
前記書込制御手段は、前記ホストから転送されたデータを、前記第2の記憶部に書き込んだ場合に、該データの書き込まれた最大アドレスを示すアドレスポインタを記憶し、
前記読込制御手段は、前記アドレスポインタに基づき、前記読み出し要求を受けたデータに対応する補正用データが前記第2の記憶部に記憶されているか否か、または、前記読み出し要求を受けたデータの記憶先が、前記第2の記憶部の前記補正用データが記憶されている領域であるか否かを判断する
データ記憶装置。 - 請求項6ないし請求項9のいずれかに記載のデータ記憶装置であって、
前記書込制御手段は、前記ホストから転送されたデータを、前記第2の記憶部に書き込んだ場合に、該第2の記憶部の個々のアドレスについて、データを書き込んだか否かを示す所定のテーブルを記憶し、
前記読込制御手段は、前記テーブルに基づき、前記読み出し要求を受けたデータに対応する補正用データが前記第2の記憶部に記憶されているか否か、または、前記読み出し要求を受けたデータの記憶先が、前記第2の記憶部の前記補正用データが記憶されている領域であるか否かを判断する
データ記憶装置。 - 請求項1ないし請求項11のいずれかに記載のデータ記憶装置であって、
前記第1の記憶部の記憶領域が残存していない場合であっても、所定の設定操作に応じて、前記書込制御手段に対して前記第2の記憶部への通常のデータの書き込みを制限する設定手段を備える
データ記憶装置。 - 請求項1ないし請求項12のいずれかに記載のデータ記憶装置であって、
前記第1の記憶部と前記第2の記憶部とは、同一の記憶容量を有する
データ記憶装置。 - 請求項1ないし請求項13のいずれかに記載のデータ記憶装置であって、
前記データは、前記ホスト装置からUSBインタフェースを介して転送される
データ記憶装置。 - 請求項1ないし請求項14のいずれかに記載のデータ記憶装置であって、
前記第1の記憶部および前記第2の記憶部は、不揮発性の半導体メモリである
データ記憶装置。 - 請求項15に記載のデータ記憶装置であって、
前記不揮発性の半導体メモリとは、フラッシュメモリである
データ記憶装置。 - 所定の記憶領域を有する第1の記憶部と第2の記憶部とを備えるデータ記憶装置がホスト装置から転送されたデータを記憶する方法であって、
前記第1の記憶部の使用領域を監視し、
前記ホスト装置から前記データが転送された場合において、前記監視の結果、前記第1の記憶部の記憶領域が残存していると判断した場合に、前記転送されたデータを前記第1の記憶部に書き込むとともに、前記転送されたデータを補正するための補正用データを前記第2の記憶部に書き込み、
前記第1の記憶部の記憶領域が残存していないと判断した場合に、前記第2の記憶部に既に記憶された前記補正用データを前記第2の記憶部の最終アドレスから逆行して消去しつつ、該消去された領域に前記最終アドレスから逆行して前記転送されたデータを書き込む
データ記憶方法。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006138780A JP4700562B2 (ja) | 2006-05-18 | 2006-05-18 | データ記憶装置およびデータ記憶方法 |
EP07743724A EP2031492B1 (en) | 2006-05-18 | 2007-05-14 | Data storage device and data storage method |
PCT/JP2007/060289 WO2007136018A1 (ja) | 2006-05-18 | 2007-05-14 | データ記憶装置およびデータ記憶方法 |
US12/300,906 US8136015B2 (en) | 2006-05-18 | 2007-05-14 | Data storage apparatus and data storage method |
CN2007800181467A CN101449234B (zh) | 2006-05-18 | 2007-05-14 | 数据存储装置以及数据存储方法 |
AT07743724T ATE521030T1 (de) | 2006-05-18 | 2007-05-14 | Datenspeicheranordnung und datenspeicherverfahren |
TW096117402A TW200821909A (en) | 2006-05-18 | 2007-05-16 | Data storage device and data storage method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006138780A JP4700562B2 (ja) | 2006-05-18 | 2006-05-18 | データ記憶装置およびデータ記憶方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007310636A JP2007310636A (ja) | 2007-11-29 |
JP4700562B2 true JP4700562B2 (ja) | 2011-06-15 |
Family
ID=38723330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006138780A Expired - Fee Related JP4700562B2 (ja) | 2006-05-18 | 2006-05-18 | データ記憶装置およびデータ記憶方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8136015B2 (ja) |
EP (1) | EP2031492B1 (ja) |
JP (1) | JP4700562B2 (ja) |
CN (1) | CN101449234B (ja) |
AT (1) | ATE521030T1 (ja) |
TW (1) | TW200821909A (ja) |
WO (1) | WO2007136018A1 (ja) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8103936B2 (en) * | 2007-10-17 | 2012-01-24 | Micron Technology, Inc. | System and method for data read of a synchronous serial interface NAND |
JP2009211234A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
TWI389127B (zh) * | 2008-08-01 | 2013-03-11 | Jmicron Technology Corp | 快閃記憶體的配置方法 |
TWI406175B (zh) * | 2008-08-20 | 2013-08-21 | Nuvoton Technology Corp | 記憶卡以及用於記憶卡之方法 |
US8555143B2 (en) * | 2008-12-22 | 2013-10-08 | Industrial Technology Research Institute | Flash memory controller and the method thereof |
US8595593B2 (en) * | 2008-12-24 | 2013-11-26 | Hynix Semiconductor Inc. | Nonvolatile memory device having a copy back operation and method of operating the same |
TWI383399B (zh) * | 2009-03-03 | 2013-01-21 | Wistron Corp | 嵌入式電子裝置及資料儲存方法 |
WO2010116538A1 (en) * | 2009-04-06 | 2010-10-14 | Hitachi, Ltd. | Storage apparatus and data transfer method |
TWI472945B (zh) * | 2009-04-14 | 2015-02-11 | Fineart Technology Co Ltd | 外接式儲存裝置及其製造方法與資訊安全管理方法 |
US8688894B2 (en) * | 2009-09-03 | 2014-04-01 | Pioneer Chip Technology Ltd. | Page based management of flash storage |
US8381077B2 (en) * | 2009-09-08 | 2013-02-19 | Lsi Corporation | Systems and methods for implementing error correction in relation to a flash memory |
US8352839B2 (en) | 2010-06-11 | 2013-01-08 | International Business Machines Corporation | Encoding data into constrained memory |
US8972821B2 (en) * | 2010-12-23 | 2015-03-03 | Texas Instruments Incorporated | Encode and multiplex, register, and decode and error correction circuitry |
US8886990B2 (en) | 2011-01-27 | 2014-11-11 | Apple Inc. | Block management schemes in hybrid SLC/MLC memory |
US20120226949A1 (en) * | 2011-03-02 | 2012-09-06 | Texas Instruments Incorporated | Multi-Channel Bus Protection |
JP5458064B2 (ja) * | 2011-07-14 | 2014-04-02 | 株式会社東芝 | 不揮発性半導体メモリ |
CN102915207A (zh) * | 2011-08-01 | 2013-02-06 | 建兴电子科技股份有限公司 | 固态储存装置及其数据储存方法 |
US8700834B2 (en) * | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management in data storage systems |
US8713357B1 (en) * | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
EP2761465B1 (en) | 2011-09-30 | 2022-02-09 | Intel Corporation | Autonomous initialization of non-volatile random access memory in a computer system |
CN104115136B (zh) | 2011-09-30 | 2017-12-08 | 英特尔公司 | 非易失性随机访问存储器中存储bios的装置、方法和系统 |
EP2761469B1 (en) | 2011-09-30 | 2019-11-13 | Intel Corporation | Non-volatile random access memory (nvram) as a replacement for traditional mass storage |
CN107608910B (zh) | 2011-09-30 | 2021-07-02 | 英特尔公司 | 用于实现具有不同操作模式的多级存储器分级结构的设备和方法 |
WO2013048483A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Platform storage hierarchy with non-volatile random access memory having configurable partitions |
US10359949B2 (en) * | 2011-10-31 | 2019-07-23 | Apple Inc. | Systems and methods for obtaining and using nonvolatile memory health information |
CN103164351B (zh) * | 2011-12-16 | 2016-04-27 | 宏碁股份有限公司 | 数据存取方法 |
US9015519B2 (en) * | 2012-01-31 | 2015-04-21 | Symantec Corporation | Method and system for cluster wide adaptive I/O scheduling by a multipathing driver |
US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
US9135097B2 (en) * | 2012-03-27 | 2015-09-15 | Oracle International Corporation | Node death detection by querying |
US9146856B2 (en) | 2012-04-10 | 2015-09-29 | Micron Technology, Inc. | Remapping and compacting in a memory device |
US9116792B2 (en) * | 2012-05-18 | 2015-08-25 | Silicon Motion, Inc. | Data storage device and method for flash block management |
TWI475387B (zh) * | 2012-07-19 | 2015-03-01 | Jmicron Technology Corp | 記憶體控制方法及記憶體控制電路 |
US9098445B2 (en) * | 2013-03-14 | 2015-08-04 | Apple Inc. | Selection of redundant storage configuration based on available memory space |
US9337873B2 (en) | 2013-05-24 | 2016-05-10 | SK Hynix Inc. | Miscorrection detection for error correcting codes using bit reliabilities |
TWI497280B (zh) * | 2013-07-08 | 2015-08-21 | Phison Electronics Corp | 資料保護方法、記憶體儲存裝置與記憶體控制器 |
CN104346561B (zh) * | 2013-07-29 | 2017-12-29 | 联想(北京)有限公司 | 一种保护存储单元的方法及装置 |
JP2015176309A (ja) * | 2014-03-14 | 2015-10-05 | 株式会社東芝 | 半導体記憶装置 |
US10296429B2 (en) * | 2014-07-25 | 2019-05-21 | Hitachi, Ltd. | Storage device |
KR20160073834A (ko) * | 2014-12-17 | 2016-06-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템 동작 방법 |
CN104503705B (zh) * | 2014-12-22 | 2017-08-08 | 吴剀劼 | 利用闪存设备构建可信存储系统的方法及构建的可信存储系统 |
JP6901831B2 (ja) * | 2015-05-26 | 2021-07-14 | 株式会社半導体エネルギー研究所 | メモリシステム、及び情報処理システム |
US10108559B2 (en) * | 2015-06-17 | 2018-10-23 | Xitron LLC | Apparatus for transmitting data through the universal serial bus, converting to SCSI protocols for computer peripherals |
TWI575530B (zh) * | 2015-08-06 | 2017-03-21 | 慧榮科技股份有限公司 | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置 |
JP6527054B2 (ja) | 2015-08-28 | 2019-06-05 | 東芝メモリ株式会社 | メモリシステム |
WO2017131776A1 (en) * | 2016-01-29 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | System state information monitoring |
US10515006B2 (en) | 2016-07-29 | 2019-12-24 | Samsung Electronics Co., Ltd. | Pseudo main memory system |
TWI710903B (zh) * | 2016-09-30 | 2020-11-21 | 南韓商三星電子股份有限公司 | 偽主記憶體系統及操作該系統的方法 |
US10360104B2 (en) | 2017-05-08 | 2019-07-23 | Silicon Laboratories Inc. | ECC memory controller to detect dangling pointers |
US10218387B2 (en) * | 2017-05-08 | 2019-02-26 | Silicon Laboratories Inc. | ECC memory controller supporting secure and non-secure regions |
US10387139B2 (en) | 2017-07-25 | 2019-08-20 | Aurora Labs Ltd. | Opportunistic software updates during select operational modes |
TWI658361B (zh) * | 2017-09-05 | 2019-05-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI644215B (zh) * | 2017-11-02 | 2018-12-11 | 慧榮科技股份有限公司 | 用來控制一資料儲存裝置的運作之方法以及資料儲存裝置及其控制器 |
TWI643066B (zh) | 2018-01-15 | 2018-12-01 | 慧榮科技股份有限公司 | 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置 |
CN111324554B (zh) * | 2020-02-18 | 2022-03-18 | 日立楼宇技术(广州)有限公司 | 闪存数据的管理方法及装置、电梯控制器 |
US11314427B2 (en) | 2020-08-21 | 2022-04-26 | Micron Technology, Inc. | Memory device with enhanced data reliability capabilities |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004139503A (ja) * | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | 記憶装置及びその制御方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2785068B2 (ja) * | 1990-06-25 | 1998-08-13 | 株式会社ゼクセル | 車輌用データの記憶方法 |
JPH04349593A (ja) * | 1991-05-27 | 1992-12-04 | Tokyo Electric Co Ltd | 商品登録処理装置 |
JPH0816327A (ja) * | 1994-06-27 | 1996-01-19 | Shikoku Nippon Denki Software Kk | ディスクアレイ装置 |
JP2000207137A (ja) | 1999-01-12 | 2000-07-28 | Kowa Co | 情報記憶装置 |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
US6925541B2 (en) * | 2002-06-12 | 2005-08-02 | Hitachi, Ltd. | Method and apparatus for managing replication volumes |
US7130229B2 (en) | 2002-11-08 | 2006-10-31 | Intel Corporation | Interleaved mirrored memory systems |
TW591393B (en) * | 2003-01-22 | 2004-06-11 | Fujitsu Ltd | Memory controller |
CN1722096A (zh) * | 2004-07-13 | 2006-01-18 | 鸿富锦精密工业(深圳)有限公司 | 多磁盘容错系统及方法 |
EP2286343A4 (en) * | 2008-05-19 | 2012-02-15 | Axxana Israel Ltd | ROBUST DATA STORAGE IN THE EVENT OF REPLICATION ERRORS AND ROLLING DISASTERS |
-
2006
- 2006-05-18 JP JP2006138780A patent/JP4700562B2/ja not_active Expired - Fee Related
-
2007
- 2007-05-14 WO PCT/JP2007/060289 patent/WO2007136018A1/ja active Application Filing
- 2007-05-14 US US12/300,906 patent/US8136015B2/en not_active Expired - Fee Related
- 2007-05-14 EP EP07743724A patent/EP2031492B1/en not_active Not-in-force
- 2007-05-14 CN CN2007800181467A patent/CN101449234B/zh not_active Expired - Fee Related
- 2007-05-14 AT AT07743724T patent/ATE521030T1/de not_active IP Right Cessation
- 2007-05-16 TW TW096117402A patent/TW200821909A/zh not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004139503A (ja) * | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | 記憶装置及びその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2031492B1 (en) | 2011-08-17 |
CN101449234A (zh) | 2009-06-03 |
TW200821909A (en) | 2008-05-16 |
WO2007136018A1 (ja) | 2007-11-29 |
TWI355605B (ja) | 2012-01-01 |
CN101449234B (zh) | 2012-05-30 |
EP2031492A4 (en) | 2010-07-21 |
US8136015B2 (en) | 2012-03-13 |
ATE521030T1 (de) | 2011-09-15 |
EP2031492A1 (en) | 2009-03-04 |
JP2007310636A (ja) | 2007-11-29 |
US20090158124A1 (en) | 2009-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4700562B2 (ja) | データ記憶装置およびデータ記憶方法 | |
JP4676378B2 (ja) | データ記憶装置およびデータ記憶方法 | |
JP4524309B2 (ja) | フラッシュメモリ用のメモリコントローラ | |
JP4829365B1 (ja) | データ記憶装置及びデータ書き込み方法 | |
JP4560408B2 (ja) | 不揮発性記憶装置の制御方法 | |
US9128618B2 (en) | Non-volatile memory controller processing new request before completing current operation, system including same, and method | |
JP4842719B2 (ja) | ストレージシステム及びそのデータ保護方法 | |
US8312554B2 (en) | Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus | |
US8621139B2 (en) | Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same | |
US20110231597A1 (en) | Data access method, memory controller and memory storage system | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
TWI531963B (zh) | Data storage systems and their specific instruction enforcement methods | |
US20100169556A1 (en) | Nonvolatile storage device, information recording system, and information recording method | |
TWI459198B (zh) | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
US20110066818A1 (en) | Storage device, memory controller, and data protection method | |
TWI651650B (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
JP4663577B2 (ja) | データ記憶装置およびこの初期化方法 | |
JP2011065313A (ja) | ストレージデバイス | |
CN106326131B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN116225993A (zh) | 存储器操作管控方法、存储装置及存储器控制电路单元 | |
CN116149569A (zh) | 基于文件系统的数据整理方法、存储装置及控制电路 | |
CN116893783A (zh) | 操作系统数据管理方法、装置、固态硬盘和存储介质 | |
CN113571121A (zh) | 嵌入式设备NAND Flash的ECC码存储方法 | |
TW202001568A (zh) | 資料儲存裝置、系統資訊編程方法及系統資訊重建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080702 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110119 |
|
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: 20110222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110304 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4700562 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |