JP2010079856A - Storage device and memory control method - Google Patents
Storage device and memory control method Download PDFInfo
- Publication number
- JP2010079856A JP2010079856A JP2008250763A JP2008250763A JP2010079856A JP 2010079856 A JP2010079856 A JP 2010079856A JP 2008250763 A JP2008250763 A JP 2008250763A JP 2008250763 A JP2008250763 A JP 2008250763A JP 2010079856 A JP2010079856 A JP 2010079856A
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- nonvolatile semiconductor
- memory control
- semiconductor memories
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、不揮発性半導体メモリを用いたミラーリング(同一データを複数の記憶デバイスに保存して利用すること)の技術に関する。 The present invention relates to a technique of mirroring (storing and using the same data in a plurality of storage devices) using a nonvolatile semiconductor memory.
近年、情報機器の補助記憶装置として、磁気ディスク記憶装置のほかに、耐振性やアクセス速度の面で優れた半導体メモリを記憶媒体とする記憶装置が用いられるようになってきている。その中で、特に、フラッシュメモリなどのEEPROM(Electrically Erasable Programmable Read Only Memory)のような、電気的に消去可能で再書き込み可能な不揮発性半導体メモリを用いたものが、情報機器の補助記憶装置の主流となってきている。 In recent years, as an auxiliary storage device for information equipment, in addition to a magnetic disk storage device, a storage device using a semiconductor memory excellent in vibration resistance and access speed as a storage medium has been used. Among them, in particular, those using an electrically erasable and rewritable nonvolatile semiconductor memory such as an EEPROM (Electrically Erasable Programmable Read Only Memory) such as a flash memory is an auxiliary storage device of information equipment. It has become mainstream.
一般に、不揮発性半導体メモリに記憶させたデータの信頼性は、その素子の特性上、充分高いとは言えない。つまり、不揮発性半導体メモリを用いた記憶装置では、初期段階において、あるいは書き換え回数の増加にともなって、ビット化け(「0」→「1」、あるいは「1」→「0」)によるデータの破損が生じることがある。 In general, the reliability of data stored in a nonvolatile semiconductor memory cannot be said to be sufficiently high due to the characteristics of the element. That is, in a storage device using a nonvolatile semiconductor memory, data is damaged due to bit corruption (“0” → “1” or “1” → “0”) at an initial stage or with an increase in the number of rewrites. May occur.
そこで、このような不揮発性半導体メモリの欠点を補うためには、ミラーリングが有効な手段の1つである。ミラーリングによって同じデータを例えば2箇所に保存しておけば、一方のデータが破損しても、他方のデータが破損していなければ、その破損していないデータを用いることで何も問題がないからである。 Therefore, mirroring is one of the effective means to make up for the drawbacks of such a nonvolatile semiconductor memory. For example, if the same data is stored in two places by mirroring, even if one data is damaged, if the other data is not damaged, there is no problem by using the non-damaged data. It is.
例えば、特許文献1では、2つのフラッシュメモリを用いてミラーリングを行い、データを読み出すときは、両方のフラッシュメモリから該当するデータを読み出して比較し、それらが一致すれば正常(データ破損なし)、一致しなければ異常(データ破損あり)と判定することでデータの信頼性を高める技術が開示されている。
しかしながら、特許文献1の技術では、データを読み出すときは、必ず両方のフラッシュメモリから該当するデータを読み出し、さらに、読み出した2つのデータが一致するか比較しなければならないので、データ処理の効率がよくないという問題があった。
However, in the technique of
そこで、本発明は、前記問題に鑑みてなされたものであり、不揮発性半導体メモリを用いてデータ処理の効率のよいミラーリングを実現することを課題とする。 Therefore, the present invention has been made in view of the above problems, and an object of the present invention is to realize efficient data processing mirroring using a nonvolatile semiconductor memory.
前記課題を解決するために、本発明は、記憶領域に対するデータの書き込みを所定の単位で行うと共に、その所定の単位よりデータ量が大きな物理ブロックの単位でデータの消去を行う2つの不揮発性半導体メモリと、外部のホスト装置からの指示に従い、2つの不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、を具備する記憶装置である。
メモリ制御部は、ホスト装置からデータの書き込み指示を受けた場合、2つの不揮発性半導体メモリの両方に対して当該データを書き込み、ホスト装置からデータの読み出し指示を受けた場合、2つの不揮発性半導体メモリの一方から対応するデータを読み出し、その読み出したデータにエラーがあるかチェックを行い、その読み出したデータにエラーがあると判定したとき、2つの不揮発性半導体メモリの他方から対応するデータを読み出すことを特徴とする。その他の手段については後記する。
In order to solve the above-mentioned problem, the present invention provides two nonvolatile semiconductors that perform data writing to a storage area in a predetermined unit and erase data in units of physical blocks having a larger data amount than the predetermined unit. A storage device includes a memory and a memory control unit that controls writing and reading of data to and from two nonvolatile semiconductor memories in accordance with instructions from an external host device.
When receiving a data write instruction from the host device, the memory control unit writes the data to both of the two nonvolatile semiconductor memories, and when receiving a data read instruction from the host device, the two nonvolatile semiconductors Read the corresponding data from one of the memories, check if there is an error in the read data, and read the corresponding data from the other of the two nonvolatile semiconductor memories when it is determined that there is an error in the read data It is characterized by that. Other means will be described later.
本発明によれば、不揮発性半導体メモリを用いてデータ処理の効率のよいミラーリングを実現することができる。 According to the present invention, efficient mirroring of data processing can be realized using a nonvolatile semiconductor memory.
以下、本発明を実施するための最良の形態(以下、実施形態という。)について、図面を参照(言及図以外の図も適宜参照)しながら説明する。図1は、本実施形態の記憶装置のハードウェア構成を含む説明図である。 Hereinafter, the best mode for carrying out the present invention (hereinafter referred to as an embodiment) will be described with reference to the drawings (refer to drawings other than the referenced drawings as appropriate). FIG. 1 is an explanatory diagram including the hardware configuration of the storage device of this embodiment.
図1に示すように、記憶装置6は、ホスト装置3からの指示に基づいてデータの記憶を行う装置であり、ホスト装置3とデータバス4を介してアクセス可能に接続される。データバス4としては、例えばSCSI(Small Computer System Interface)やATA(Advanced Technology Attachment)などが用いられるが、USB(Universal Serial Bus)などの他のデータバスであってもよい。
As shown in FIG. 1, the storage device 6 is a device that stores data based on an instruction from the
記憶装置6は、メモリ制御部1と、ミラーリングのためのペアをなす2つの不揮発性の半導体メモリ2(2a,2b)とから構成される。なお、以下、2つの半導体メモリ2を区別して表現するときは「半導体メモリ(A系)2a」、「半導体メモリ(B系)2b」と表記し、2つの半導体メモリ2を区別せずに(共通または両方に関して)表現するときは「半導体メモリ2」と表記する。
The storage device 6 includes a
半導体メモリ2とメモリ制御部1とのデータのやり取りは、データバス5を介して行われる。半導体メモリ2は、例えばフラッシュメモリであり、その場合、データの書き込みと読み出しはページ単位(所定の単位)で行われ、データの消去は複数ページからなるブロック単位で行われる。なお、ブロックには、例えば、すでにデータが格納されているデータブロック、データが未格納で待機中の交替ブロック、データの消去を待っている状態の消去待ちブロックなどがあるが、以下、それらを区別した詳細な説明を省略する場合もある。
Data exchange between the
メモリ制御部1は、マイクロプロセッサ11と、メモリI/F(インターフェース)制御部12と、ホストI/F制御部13と、メモリ14とを有している。
The
マイクロプロセッサ11は、ホスト装置3からの指示に従い、2つの半導体メモリ2に対するデータの書き込みおよび読み出しを制御する。
The
メモリI/F制御部12は、マイクロプロセッサ11からの指示により半導体メモリ2とのアクセス制御を行う。なお、マイクロプロセッサ11から半導体メモリ2を直接制御可能であれば、メモリI/F制御部12は必ずしも必要ではない。
The memory I /
ホストI/F制御部13は、ホスト装置3からのデータの書き込みおよび読み出し要求(指示)に従って、ホスト装置3とのデータの送受信を制御する。なお、ホスト装置3からのデータの書き込みおよび読み出し要求は、半導体メモリ2に関して構築される論理的記憶領域に対して行われる(詳細は後記)。
The host I /
メモリ14は、論理・物理変換テーブル141を有している。論理・物理変換テーブル141は、ホスト装置3からのアクセス時に示される論理アドレスと2つの半導体メモリ2上の物理アドレスとの対応付けを行うテーブルである(詳細は図3で後記)。
The memory 14 has a logical / physical conversion table 141. The logical / physical conversion table 141 is a table for associating a logical address indicated at the time of access from the
なお、メモリ14は、このほかに、ブロックごとに次回の書き込みページを管理するためのテーブル、交替ブロックのリストを記憶するテーブル、ブロックごとの消去回数を管理するためのテーブル、消去待ちブロックを管理するためのテーブルなどを有していてもよいが、それらは本発明の特徴と直接関係がないので、図示や詳細な説明を省略する。なお、論理・物理変換テーブル141などのテーブルの内容は、記憶装置6自体の初期化時にマイクロプロセッサ11が設定するものとする。
The memory 14 also manages a table for managing the next write page for each block, a table for storing a list of replacement blocks, a table for managing the number of times of erasure for each block, and a block waiting for erasure. However, since they are not directly related to the features of the present invention, illustrations and detailed descriptions are omitted. The contents of tables such as the logical / physical conversion table 141 are set by the
メモリ14としては、例えば、フラッシュメモリ以外の、SRAM(Static Random Access Memory)、DRAM(Dynamic RAM)、MRAM(Magneto-resistive RAM)などのメモリ素子を使用することができる。 As the memory 14, for example, a memory element such as an SRAM (Static Random Access Memory), a DRAM (Dynamic RAM), or an MRAM (Magneto-resistive RAM) other than the flash memory can be used.
図2は、本実施形態の半導体メモリの内部構成を示した図である。図2では、半導体メモリ2に関する論理的記憶領域を示している。図1に示したホスト装置3は、記憶装置6に関して、この論理的記憶領域を認識する。
FIG. 2 is a diagram showing an internal configuration of the semiconductor memory according to the present embodiment. FIG. 2 shows a logical storage area related to the
ブロック21は、データ消去の最小単位である。ページ211は、データの読み出しおよび書き込みの単位である。図2において、半導体メモリ2の論理的記憶領域は、複数のブロック21で構成されており、ブロック21は複数のページ211により構成されている。すなわち、半導体メモリ2の論理的記憶領域は、ブロック1からブロックm(整数)までのm個の各ブロック21を有し、それぞれのブロックは、ページ1からページn(整数)までのn個のページを有している。
The
図3は、論理・物理変換テーブルの構成例を示した図である。論理・物理変換テーブル141は、ホスト装置3からのアクセス時に示される論理アドレスと、半導体メモリ(A系)2aの物理ブロックと、半導体メモリ(B系)2bの物理ブロックと、この2つの物理ブロックに共通となるページ番号とから構成される。なお、本実施形態において、「ブロック」と「物理ブロック」は同義である。
FIG. 3 is a diagram showing a configuration example of the logical / physical conversion table. The logical / physical conversion table 141 includes a logical address indicated at the time of access from the
これらのうち、論理アドレスの値は原則として初期設定状態から不変であるが、半導体メモリ(A系)2aの物理ブロックと、半導体メモリ(B系)2bの物理ブロックと、ページ番号の値は、メモリ制御部1による半導体メモリ2に対する書き込み動作などに応じて書き換えられる。つまり、論理アドレスと物理アドレス(ブロック番号とページ番号)の対応関係は随時変化し、その対応関係を論理・物理変換テーブル141で管理する。
Among these, the value of the logical address remains unchanged from the initial setting in principle, but the physical block of the semiconductor memory (A system) 2a, the physical block of the semiconductor memory (B system) 2b, and the page number values are: Rewriting is performed according to a write operation to the
図3の論理・物理変換テーブル141からわかるように、ページ番号を、半導体メモリ(A系)2aの物理ブロックと、半導体メモリ(B系)2bの物理ブロックとで共通とすることで、論理・物理変換テーブル141のデータサイズを減らすことができ、それにより、マイクロプロセッサ11による論理・物理変換テーブル141の書き換えや参照の動作を高速化することができる。
As can be seen from the logical / physical conversion table 141 of FIG. 3, by making the page number common to the physical block of the semiconductor memory (A system) 2a and the physical block of the semiconductor memory (B system) 2b, The data size of the physical conversion table 141 can be reduced, and thereby the speed of rewriting and referring to the logical / physical conversion table 141 by the
次に、図4を参照して、論理・物理変換テーブル141において2つの物理ブロックに対しページ番号を共通とするための、マイクロプロセッサ11による半導体メモリ2に対する動作の概要について説明する。図4は、その動作の概要の説明図である。
Next, with reference to FIG. 4, an outline of the operation of the
ここで、半導体メモリ(A系)2aのある物理ブロックにおいてページ5が不良であり、半導体メモリ(B系)2bのある物理ブロックにおいて全ページに不良がないものとする。これらの2つの物理ブロックに対してデータ(1)〜(6)を書き込む場合、2つの物理ブロックに対しページ番号を共通とするため、双方の物理ブロックのページ5は使用せず、双方の物理ブロックのページ1〜4にデータ(1)〜(4)を書き込み、ページ6,7にデータ(5),(6)を書き込む。このようにすれば、2つの物理ブロックに対しページ番号を共通とすることができる。
Here, it is assumed that
続いて、図5を参照して、半導体メモリ2に対する書き込み処理について説明する。図5は、半導体メモリに対する書き込み処理を示したフローチャートである。なお、メモリI/F制御部12とホストI/F制御部13の動作については説明を省略する。
Subsequently, a writing process to the
まず、マイクロプロセッサ11は、ホスト装置3から書き込み指示(論理アドレス、データ、データサイズ)を受信する(ステップS501)。
次に、マイクロプロセッサ11は、ステップS501で受信したデータにCRC(Cyclic Redundancy Check)符号を付加する(ステップS502)。CRC符号は、エラー(誤り)検出のための符号であり、データを所定の生成多項式で除算した剰余がエラー検出用の数値として用いられる。なお、このCRC符号を用いれば、データのエラー検出ができるが、エラー検出時にデータを復旧することはできない。
First, the
Next, the
続いて、マイクロプロセッサ11は、ステップS502でCRC符号を付加したデータに、リードソロモン符号を付加する(ステップS503)。リードソロモン符号は、ガロア体の概念を利用したエラー(誤り)訂正符号の一つである。このリードソロモン符号を用いれば、エラー検出ができ、さらに、エラー検出時には高確率でデータを復旧することができる。
Subsequently, the
次に、マイクロプロセッサ11は、書き込み対象となる半導体メモリ2の物理アドレスを特定するために論理・物理変換テーブル141を参照し、半導体メモリ(A系)2aの所定ブロックと半導体メモリ(B系)2bの所定ブロックに対して、ステップS503でリードソロモン符号を付加したデータをそれぞれのブロックの同じページに書き込む(ステップS504)。なお、ステップS504において、マイクロプロセッサ11は、特定した各ブロック内のページの空き容量が十分であるかの確認や、その空き容量が十分でない場合に書き込み対象を別のブロックとするブロック交替処理や、書き込みエラーにともなうブロック交替処理などを行うが、それらの詳細な説明は省略する。
Next, the
続いて、マイクロプロセッサ11は、ステップS504での処理内容に応じて論理・物理変換テーブル141の内容を更新し(ステップS505)、ホスト装置3に書き込み終了を通知し(ステップS506)、処理を終了する。
Subsequently, the
次に、図6A,6Bを参照して、半導体メモリ2に対する読み出し処理について説明する。図6A,6Bは、半導体メモリに対する読み出し処理を示したフローチャートである。なお、メモリI/F制御部12とホストI/F制御部13の動作については説明を省略する。
Next, read processing for the
まず、マイクロプロセッサ11は、ホスト装置3から読み出し指示(論理アドレス)を受信する(ステップS601)。
次に、マイクロプロセッサ11は、論理・物理変換テーブル141を参照し、一方の半導体メモリ2、例えば半導体メモリ(A系)2aから該当するデータを読み出す(ステップS602)。このステップS602で読み出す対象の半導体メモリ2は、例えば、半導体メモリ(A系)2aと半導体メモリ(B系)2bを交互としてもよいし、他の基準により決定してもよい。
First, the
Next, the
続いて、マイクロプロセッサ11は、ステップS602で読み出したデータをリードソロモン復号化し(ステップS603)、エラーがあるか否かを判定する(ステップS604)。
Subsequently, the
エラーがないと判定された場合(ステップS604でNo)、ステップS607に進む。エラーがあると判定された場合(ステップS604でYes)、マイクロプロセッサ11は、そのエラーの訂正が可能か否かを判定する(ステップS605)。
If it is determined that there is no error (No in step S604), the process proceeds to step S607. If it is determined that there is an error (Yes in step S604), the
エラー訂正が可能でないと判定された場合(ステップS605でNo)、ステップS609に進む(ステップS609の処理については後記する)。エラー訂正が可能であると判定された場合(ステップS605でYes)、マイクロプロセッサ11は、リードソロモンによるエラー訂正を行い(ステップS606)、ステップS607に進む。なお、ステップS606では、半導体メモリ2の性能劣化を回避するために、エラー訂正したデータを他のブロックに書き込み、読み出したデータを消去するブロック交替処理を行うのが好ましい。
If it is determined that error correction is not possible (No in step S605), the process proceeds to step S609 (the process in step S609 will be described later). If it is determined that error correction is possible (Yes in step S605), the
ステップS607において、マイクロプロセッサ11は、CRC復号化とそれによるエラーチェックを行う。
次に、マイクロプロセッサ11は、CRCチェックによるエラーがあるか否かを判定し(ステップS608)、当該エラーがないと判定した場合(No)ステップS618に進み、当該エラーがあると判定した場合(Yes)そのブロックからは有効なデータの読み出しができなかったことになるので論理・物理変換テーブル141において当該ブロックを異常(不使用)と登録する(ステップS609)。
In step S607, the
Next, the
ステップS609の後、マイクロプロセッサ11は、論理・物理変換テーブル141を参照し、他方の半導体メモリ2、例えば半導体メモリ(B系)2bから該当するデータを読み出す(ステップS610)。ステップS611〜S617の処理は、ステップS603〜S609の処理と同様なので、説明を省略する。
After step S609, the
ステップS618において、マイクロプロセッサ11は、ホスト装置3にデータを送信し(ステップS618)、必要に応じてバックグラウンド(空き時間)でミラーリング復旧(エラー発生部分のデータを他の箇所に移動させるなど)を行い(ステップS619)、処理を終了する。
In step S618, the
ステップS617の後、ここでは両方の半導体メモリ2から必要なデータを読み出せなかったので、マイクロプロセッサ11は、ホスト装置3に読み出しエラー通知を行い(ステップS620)、処理を終了する。
After step S617, necessary data could not be read from both the
このように、本実施形態の記憶装置6によれば、データを読み出す際、2つの半導体メモリ2のうちまず一方のみから読み出し、その読み出したデータにエラーがあるかチェックを行い、その読み出したデータにエラーがあると判定したときに、他方の半導体メモリ2から対応するデータを読み出すことで、データ処理の効率のよいミラーリングを実現することができる。
As described above, according to the storage device 6 of the present embodiment, when data is read, the data is first read from only one of the two
また、論理・物理変換テーブル141において、ページ番号を、2つの半導体メモリ2の所定のブロックに対して共通とすることで、論理・物理変換テーブル141のデータサイズを減らすことができ、それにより、マイクロプロセッサ11による論理・物理変換テーブル141の書き換えや参照の動作を高速化することができる。
Further, by making the page number common to a predetermined block of the two
さらに、読み出したデータのエラーチェックに、CRC符号を用いることで、例えばパリティチェック方式のエラーチェックに比べると冗長度に比較して高い誤り検出能力を持つという利点や、バースト誤り(誤りが集中して発生する現象)に強いなど利点を有することができる。また、読み出したデータのエラーチェックに、リードソロモン符号を用いることで、高いエラー訂正機能を実現することができる。 Furthermore, by using a CRC code for error checking of read data, for example, there is an advantage that it has a higher error detection capability compared to the redundancy check compared to the error check of the parity check method, and burst errors (errors are concentrated). It is possible to have advantages such as being strong against In addition, a high error correction function can be realized by using Reed-Solomon codes for error checking of read data.
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、ページ番号を2つの半導体メモリ2の所定のブロックに対して共通とする方式を採用しなくても、本発明に係るデータ処理の効率のよいミラーリングを実現することができる。その他、ハードウェア、ソフトウェアの具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
As mentioned above, although embodiment of this invention was described, this invention is not limited to this, It can implement in the range which does not change the meaning. For example, efficient mirroring of data processing according to the present invention can be realized without adopting a method in which page numbers are common to predetermined blocks of two
1 メモリ制御部
2 半導体メモリ
2a 半導体メモリ(A系)
2b 半導体メモリ(B系)
3 ホスト装置
4 データバス
5 データバス
6 記憶装置
11 マイクロプロセッサ
12 メモリI/F制御部
13 ホストI/F制御部
14 メモリ
21 ブロック
141 論理・物理変換テーブル
211 ページ
DESCRIPTION OF
2b Semiconductor memory (B system)
3
Claims (6)
外部のホスト装置からの指示に従い、前記2つの不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、
を具備する記憶装置であって、
前記メモリ制御部は、
前記ホスト装置からデータの書き込み指示を受けた場合、前記2つの不揮発性半導体メモリの両方に対して当該データを書き込み、
前記ホスト装置からデータの読み出し指示を受けた場合、前記2つの不揮発性半導体メモリの一方から対応するデータを読み出し、その読み出したデータにエラーがあるかチェックを行い、その読み出したデータにエラーがあると判定したとき、前記2つの不揮発性半導体メモリの他方から対応するデータを読み出す
ことを特徴とする記憶装置。 Two nonvolatile semiconductor memories that perform writing of data to the storage area in a predetermined unit and erase data in units of physical blocks having a data amount larger than the predetermined unit;
A memory control unit that controls writing and reading of data to and from the two nonvolatile semiconductor memories in accordance with instructions from an external host device;
A storage device comprising:
The memory control unit
When receiving a data write instruction from the host device, the data is written to both of the two nonvolatile semiconductor memories,
When receiving a data read instruction from the host device, the corresponding data is read from one of the two nonvolatile semiconductor memories, the read data is checked for errors, and the read data has errors. When it is determined, the corresponding data is read from the other of the two nonvolatile semiconductor memories.
前記ホスト装置からデータの書き込み指示を受けて前記2つの不揮発性半導体メモリの両方に対して当該データを書き込む場合、一方の前記不揮発性半導体メモリの所定の前記物理ブロックと、他方の前記不揮発性半導体メモリの所定の前記物理ブロックとに対し、前記所定の単位の同じアドレスに同じデータを書き込むように制御する
ことを特徴とする請求項1に記載の記憶装置。 The memory control unit
When receiving the data write instruction from the host device and writing the data to both of the two nonvolatile semiconductor memories, the predetermined physical block of one of the nonvolatile semiconductor memories and the other nonvolatile semiconductor The storage device according to claim 1, wherein the same data is written to the same address in the predetermined unit with respect to the predetermined physical block of the memory.
前記読み出したデータにエラーがあるかチェックを行うとき、CRC(Cyclic Redundancy Check)符号およびリードソロモン符号の少なくともいずれかを用いる
ことを特徴とする請求項1または請求項2に記載の記憶装置。 The memory control unit
3. The storage device according to claim 1, wherein when checking whether there is an error in the read data, at least one of a CRC (Cyclic Redundancy Check) code and a Reed-Solomon code is used.
外部のホスト装置からの指示に従い、前記2つの不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、
を具備する記憶装置によるメモリ制御方法であって、
前記メモリ制御部は、
前記ホスト装置からデータの書き込み指示を受けた場合、前記2つの不揮発性半導体メモリの両方に対して当該データを書き込み、
前記ホスト装置からデータの読み出し指示を受けた場合、前記2つの不揮発性半導体メモリの一方から対応するデータを読み出し、その読み出したデータにエラーがあるかチェックを行い、その読み出したデータにエラーがあると判定したとき、前記2つの不揮発性半導体メモリの他方から対応するデータを読み出す
ことを特徴とするメモリ制御方法。 Two nonvolatile semiconductor memories that perform writing of data to the storage area in a predetermined unit and erase data in units of physical blocks having a data amount larger than the predetermined unit;
A memory control unit that controls writing and reading of data to and from the two nonvolatile semiconductor memories in accordance with instructions from an external host device;
A memory control method using a storage device comprising:
The memory control unit
When receiving a data write instruction from the host device, the data is written to both of the two nonvolatile semiconductor memories,
When receiving a data read instruction from the host device, the corresponding data is read from one of the two nonvolatile semiconductor memories, the read data is checked for errors, and the read data has errors. When it is determined that the corresponding data is read out from the other of the two non-volatile semiconductor memories, a memory control method.
前記ホスト装置からデータの書き込み指示を受けて前記2つの不揮発性半導体メモリの両方に対して当該データを書き込む場合、一方の前記不揮発性半導体メモリの所定の前記物理ブロックと、他方の前記不揮発性半導体メモリの所定の前記物理ブロックとに対し、前記所定の単位の同じアドレスに同じデータを書き込むように制御する
ことを特徴とする請求項4に記載のメモリ制御方法。 The memory control unit
When receiving the data write instruction from the host device and writing the data to both of the two nonvolatile semiconductor memories, the predetermined physical block of one of the nonvolatile semiconductor memories and the other nonvolatile semiconductor 5. The memory control method according to claim 4, wherein control is performed so that the same data is written to the same address in the predetermined unit with respect to the predetermined physical block of the memory.
前記読み出したデータにエラーがあるかチェックを行うとき、CRC(Cyclic Redundancy Check)符号およびリードソロモン符号の少なくともいずれかを用いる
ことを特徴とする請求項4または請求項5に記載のメモリ制御方法。
The memory control unit
6. The memory control method according to claim 4, wherein when checking whether there is an error in the read data, at least one of a CRC (Cyclic Redundancy Check) code and a Reed-Solomon code is used.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008250763A JP2010079856A (en) | 2008-09-29 | 2008-09-29 | Storage device and memory control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008250763A JP2010079856A (en) | 2008-09-29 | 2008-09-29 | Storage device and memory control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010079856A true JP2010079856A (en) | 2010-04-08 |
Family
ID=42210180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008250763A Pending JP2010079856A (en) | 2008-09-29 | 2008-09-29 | Storage device and memory control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010079856A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203642A (en) * | 2011-03-25 | 2012-10-22 | Mega Chips Corp | Memory system |
WO2013057825A1 (en) * | 2011-10-20 | 2013-04-25 | トヨタ自動車株式会社 | Information processing device, data management method, data management program |
JP2013191174A (en) * | 2012-03-15 | 2013-09-26 | Toshiba Corp | Semiconductor storage device and program |
JP2014063299A (en) * | 2012-09-20 | 2014-04-10 | Fujitsu Ltd | Memory controller, information processor, and memory control method |
CN104036823A (en) * | 2013-03-08 | 2014-09-10 | 飞思卡尔半导体公司 | Symmetrical Data Replication For Failure Management In Non-volatile Memory Systems |
US9875170B2 (en) | 2014-12-03 | 2018-01-23 | Samsung Electronics Co., Ltd. | Data storage device for self-detecting error and logging operation and method of operating the same |
KR20190032839A (en) * | 2017-09-20 | 2019-03-28 | 삼성전자주식회사 | Storage device, method for operating the same storage system including the storage device |
US10353852B2 (en) | 2015-08-28 | 2019-07-16 | Toshiba Memory Corporation | Memory system that stores data redundantly |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1078853A (en) * | 1996-09-05 | 1998-03-24 | Hitachi Ltd | Storage device |
JPH10143207A (en) * | 1996-11-08 | 1998-05-29 | Matsushita Seiko Co Ltd | Controller |
JP2004139503A (en) * | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | Storage device and its control method |
JP2005242903A (en) * | 2004-02-27 | 2005-09-08 | Sony Corp | Memory device, and memory control method and device |
JP2007257547A (en) * | 2006-03-24 | 2007-10-04 | Toshiba Corp | Memory system and bus splitter |
-
2008
- 2008-09-29 JP JP2008250763A patent/JP2010079856A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1078853A (en) * | 1996-09-05 | 1998-03-24 | Hitachi Ltd | Storage device |
JPH10143207A (en) * | 1996-11-08 | 1998-05-29 | Matsushita Seiko Co Ltd | Controller |
JP2004139503A (en) * | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | Storage device and its control method |
JP2005242903A (en) * | 2004-02-27 | 2005-09-08 | Sony Corp | Memory device, and memory control method and device |
JP2007257547A (en) * | 2006-03-24 | 2007-10-04 | Toshiba Corp | Memory system and bus splitter |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012203642A (en) * | 2011-03-25 | 2012-10-22 | Mega Chips Corp | Memory system |
WO2013057825A1 (en) * | 2011-10-20 | 2013-04-25 | トヨタ自動車株式会社 | Information processing device, data management method, data management program |
JP2013191174A (en) * | 2012-03-15 | 2013-09-26 | Toshiba Corp | Semiconductor storage device and program |
JP2014063299A (en) * | 2012-09-20 | 2014-04-10 | Fujitsu Ltd | Memory controller, information processor, and memory control method |
CN104036823A (en) * | 2013-03-08 | 2014-09-10 | 飞思卡尔半导体公司 | Symmetrical Data Replication For Failure Management In Non-volatile Memory Systems |
US9875170B2 (en) | 2014-12-03 | 2018-01-23 | Samsung Electronics Co., Ltd. | Data storage device for self-detecting error and logging operation and method of operating the same |
US10353852B2 (en) | 2015-08-28 | 2019-07-16 | Toshiba Memory Corporation | Memory system that stores data redundantly |
KR20190032839A (en) * | 2017-09-20 | 2019-03-28 | 삼성전자주식회사 | Storage device, method for operating the same storage system including the storage device |
KR102369402B1 (en) | 2017-09-20 | 2022-03-02 | 삼성전자주식회사 | Storage device, method for operating the same storage system including the storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8732392B2 (en) | Systems and methods for determining the status of memory locations in a non-volatile memory | |
KR101730510B1 (en) | Non-regular parity distribution detection via metadata tag | |
US8713381B2 (en) | Systems and methods of using dynamic data for wear leveling in solid-state devices | |
KR102571747B1 (en) | Data storage device and operating method thereof | |
JP5492679B2 (en) | Storage device and memory controller | |
CN107957959B (en) | Memory system with file level secure erase and method of operating the same | |
US20060248434A1 (en) | Non-systematic coded error correction | |
US11204846B2 (en) | Memory system and method for operating the same | |
JP2010079856A (en) | Storage device and memory control method | |
US20110202818A1 (en) | Non-volatile memory device and operation method using the same | |
JP2015018451A (en) | Memory controller, storage device, and memory control method | |
US20160224419A1 (en) | Device and method | |
US11467758B2 (en) | Data writing method using different programming modes based on the number of available physical erasing units, memory control circuit unit and memory storage device | |
US20100287448A1 (en) | Flash memory device with rectifiable redundancy bit and method of controlling the same | |
KR102504178B1 (en) | Memory device | |
JP2009064238A (en) | Memory system | |
US10289328B2 (en) | Memory controller and method for handling host request based on data character | |
JP4956230B2 (en) | Memory controller | |
US20130047056A1 (en) | Flash memory device with rectifiable redundancy and method of controlling the same | |
JP2009157515A (en) | Semiconductor memory controller and semiconductor memory | |
KR20210152738A (en) | Apparatus and method for accessing data in stripe form | |
US10922025B2 (en) | Nonvolatile memory bad row management | |
JP2010128697A (en) | Memory system | |
JP4582078B2 (en) | Memory controller, flash memory system, and flash memory control method | |
US10073685B2 (en) | Methods of system optimization by over-sampling read |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130109 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130129 |