JP2010092574A - フラッシュファイルシステムの誤り訂正機能 - Google Patents
フラッシュファイルシステムの誤り訂正機能 Download PDFInfo
- Publication number
- JP2010092574A JP2010092574A JP2008264701A JP2008264701A JP2010092574A JP 2010092574 A JP2010092574 A JP 2010092574A JP 2008264701 A JP2008264701 A JP 2008264701A JP 2008264701 A JP2008264701 A JP 2008264701A JP 2010092574 A JP2010092574 A JP 2010092574A
- Authority
- JP
- Japan
- Prior art keywords
- error correction
- error
- flash memory
- file system
- program
- 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
Landscapes
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】フラッシュファイルシステムのようなフラッシュメモリにデータを読み書きする場合は誤り訂正手段が不可欠である。しかし、誤り訂正機能を使用するときの演算量は大変多くの時間を消費する。
【解決手段】そこで、誤り訂正を行う前に誤り検出のみ行い、誤りがあった場合だけ適切な誤り訂正を行ったり、フラッシュメモリ上のプログラムやデータの種類により、誤り訂正手段の誤り検出数と誤り訂正数を可変して、誤り訂正の処理時間を短縮した。
【選択図】図1
【解決手段】そこで、誤り訂正を行う前に誤り検出のみ行い、誤りがあった場合だけ適切な誤り訂正を行ったり、フラッシュメモリ上のプログラムやデータの種類により、誤り訂正手段の誤り検出数と誤り訂正数を可変して、誤り訂正の処理時間を短縮した。
【選択図】図1
Description
本発明は、フラッシュファイルシステムの誤り訂正機能であって、誤り検出を行った後、誤り訂正を行ったり、フラッシュメモリ上のプログラムの種類により誤り訂正機能の能力を変えることに関するものである。
昨今、外部記憶装置の容量は指数関数的に大きくなり、転送時間も大きくなってきた。その為、転送スピードを速くし対応を取ってきた。しかし、転送スピードを上げるとデータの転送誤りが増加し、誤り訂正システムが必要不可欠となってきた。このような背景の元に誤り訂正システムも多くの種類のものが提案され、何bitの誤りを検出でき何bitの誤りを訂正できるか、その為には何bitの誤り訂正ビットを付加するかなど、誤り検出の数、誤り訂正の数により適切な誤り訂正のアルゴリズムが存在する。
NAND型フラッシュメモリを使用するフラッシュファイルシステムにおいて、メモリの容量の増加や読み書き時間の短縮に伴い、誤り訂正は必要不可欠となった。また、昨今、NAND型フラッシュメモリは多値を持つNAND型フラッシュメモリも増加し、データの誤り率も多くなり、誤り訂正手段はさらに重要な要素となった。一方誤り訂正手段はハミング距離が3であるハミングの誤り訂正を使用していたが、誤り検出と誤り訂正の数が増えるとBCH誤り訂正が必要となってきた。BCH誤り訂正は情報ビットと生成多項式により誤り訂正ビットをつくり、情報ビットに付加してフラッシュメモリに書き込み、フラッシュメモリから読み出すときは、読み出した後、シンドロームの計算を行い、誤りの存否を判断し、誤りがある場合は再度計算やルックアップテーブルにより誤りを訂正した。
具体的には図4のように、I(x):情報bitをG(x):生成多項式で割り算をして、h(x):商とR(x):余りを求める。R(x):余りが誤り訂正bitとなり、I(x):情報bitの後ろにつけて、I(x)+R(x)で誤り訂正付きのデータとなる。この形でフラッシュメモリに書き込み、読み出した後は、α*4+α+1=0の1つの解をI(x)+R(x)のxに代入してS(α)なるシンドロームを求める。S(α):シンドロームが全て0であれば誤りは無い。しかし、S(α)が0で無いならば誤りが発生しているので、誤り訂正の計算かルックアップテーブルを用いて誤りを訂正する。
フラッシュファイルシステムの誤り訂正機能に関する文献は無いが、ファイルシステムの誤り訂正に関するものは以下のとおりである。
特開2000−011689
特開平11−272568
特開平11−143787
特開平11−232778
上記で示すように、誤り訂正の処理は生成多項式による計算など多大な時間を消費しシンドロームから誤りを訂正する過程も多大な時間を消費する。即ち、読み書きごとの誤り訂正作業はフラッシュファイルシステムにとっては重い処理であった。つまり、誤り訂正の数と誤り検出の数を多くすることで処理時間が長くなることが課題であった。
そこで、所定の数の誤り検出と誤り訂正が可能な誤り訂正ビットを生成多項式により演算し情報ビットに付加してフラッシュメモリに書き込み、読み出すときは、先ず誤り検出数を最大として誤り検出のみ行い、検出した誤りの数に基づき、再度誤り訂正をしたり、フラッシュメモリ上のプログラムやデータの種類により、当該フラッシュメモリ上のプログラムやデータを読み書きする誤り訂正手段の誤り検出数と誤り訂正数を変え、または、フラッシュメモリ上のプログラムやデータの格納場所により、当該フラッシュメモリ上のプログラムやデータを読み書きする誤り訂正手段の誤り検出数と誤り訂正数を変え、または、フラッシュメモリ上のプログラムやデータに付加したフラグにより、当該フラッシュメモリ上のプログラムやデータを読み書きする誤り訂正手段の誤り検出数と誤り訂正数を変えた。
一般に誤り訂正手段の処理時間が多くかかる中で、誤りがあるかないかを先に検出したり、プログラムの重要度に応じて誤り検出機能を下げるなど、誤り訂正処理の時間を短くすることにより、システムは非常に効率的となった。
最小距離が6以上の誤り訂正機能を持った誤り訂正検出手段を例に挙げると、誤り訂正処理をしない場合は5bitの誤り検出ができる。またシンドロームから1bitの誤り訂正を行う場合は4bitの誤り検出ができる。また、2つのシンドロームから2bitの誤り訂正を行う場合は3bitの誤り検出ができる。この事から、先ず5bitの誤り検出を行い、どれくらいの誤り数があるかを判断した後適正な誤り訂正を行う。これにより先ずは最大数の誤り検出機能で誤り検出の不能を避け、次いで、確定した誤り検出数を得て、適切な誤り訂正を行うことが可能となる。
図1において、1はフラッシュメモリ空間である。2のブートコード格納領域には例えば誤り3bit訂正、4bit検出をできる誤り訂正機能を付けて格納する。3のOS格納領域には例えば誤り2bit訂正、3bit検出をできる誤り訂正機能を付けて格納する。4のユーザデータ格納領域には例えば誤り1it訂正、2bit検出をできる誤り訂正機能を付けて格納する。
このようなプログラムの種類により誤り訂正機能の能力を変えることにより、もっとも誤り訂正能力の高い誤り訂正機能をブートコードに付けて、その次に誤り訂正能力の高い誤り訂正機能をOSに付けて、最後に、最も誤り訂正能力の低い誤り訂正機能をユーザデータに取り付けた。このようにすることにより、誤りがあってはならないものには、たとえ処理時間がかかっても誤り訂正機能の高いものを付加し、そうでないものには、処理時間を優先する方法を取った。
図2において、1はフラッシュメモリ空間である。2のブートコードには例えば誤り3bit訂正、4bit検出をできる誤り訂正機能を付けてフラッシュメモリの先頭ブロックに格納する。フラッシュメモリの先頭ブロックは先天性の不良ブロックがないため連続して格納することが可能となる。3のOSには例えば誤り2bit訂正、3bit検出をできる誤り訂正機能を付けて予め決めておいたブロックに格納する。4のユーザデータには例えば誤り1it訂正、2bit検出をできる誤り訂正機能を付けて予め決めておいた格納する。
このように、プログラムの種類を予め決めておいたブロックに格納し、各ブロック毎に誤り訂正機能の能力を変えることにより、もっとも誤り訂正能力の高い誤り訂正機能をブートコードが格納されているブロックに割り付けて、その次に誤り訂正能力の高い誤り訂正機能をOSが格納されているブロックに割り付けて、最後に、最も誤り訂正能力の低い誤り訂正機能をユーザデータが格納されているブロックに割り付けた。このようにすることにより、誤りがあってはならないものには、たとえ処理時間がかかっても誤り訂正機能の高いものを付加し特定のブロックに割付し、そうでないものには、処理時間を優先するために特定のブロックに割り付けた。よってブロックの種類により、プログラムの種類が特定でき、自由な誤り訂正能力を有する誤り訂正機能を付けることができる。
図3において、1はフラッシュメモリ空間である。2のブートコードには例えば誤り3bit訂正、4bit検出をできる誤り訂正機能を付けて、またブートコードであることがわかるフラグ1をつけてフラッシュメモリに格納する。3のOSには例えば誤り2bit訂正、3bit検出をできる誤り訂正機能を付けて、またOSであることがわかるフラグ2を付けてフラッシュメモリに格納する。4のユーザデータには例えば誤り1it訂正、2bit検出をできる誤り訂正機能を付けて、またユーザデータであることがわかるフラグ3を付けてフラッシュメモリに格納する。
このように、プログラムの種類を予め決めておいたフラグで認識できるようにし、各プログラムの種類毎に誤り訂正機能の能力を変えることにより、もっとも誤り訂正能力の高い誤り訂正機能をブートコードに付けフラグ1とともにフラッシュメモリに格納し、その次に誤り訂正能力の高い誤り訂正機能をOSに付け、フラグ2とともにフラッシュメモリに格納し、最後に、最も誤り訂正能力の低い誤り訂正機能をユーザデータに付け、フラグ3とともにフラッシュメモリに格納する。このようにすることにより、誤りがあってはならないものには、たとえ処理時間がかかっても誤り訂正機能の高い誤り訂正を付加し、その存在をフラグで認識する。また、そうでないものには、処理時間を優先する方法を取るために特定のフラグをつけることによりプログラムの種類が特定でき、自由な誤り訂正能力を有する誤り訂正機能を付けることができる。
一般に誤り訂正手段の処理時間が多くかかる中で、誤りがあるかないかを先に検出したり、プログラムの重要度に応じて誤り検出機能を下げるなど、誤り訂正処理の時間を短くすることにより、フラッシュファイルシステムの産業上の利用可能性は非常に高くなった。
1 フラッシュメモリ空間
2 ブートコード格納領域
3 OS格納領域
4 ユーザデータ格納領域
5 ブートコード
6 OS
7 ユーザデータ
2 ブートコード格納領域
3 OS格納領域
4 ユーザデータ格納領域
5 ブートコード
6 OS
7 ユーザデータ
Claims (4)
- 所定の数の誤り検出と誤り訂正が可能な誤り訂正ビットを生成多項式により演算し情報ビットに付加してフラッシュメモリに書き込み、読み出すときは、先ず誤り検出数を最大として誤り検出のみ行い、検出した誤りの数に基づき、再度誤り訂正をすることを特徴とするフラッシュファイルシステム。
- NAND型フラッシュメモリをもつフラッシュファイルシステムにおいて、当該フラッシュメモリ上のプログラムやデータの種類により、当該フラッシュメモリ上のプログラムやデータを読み書きする誤り訂正手段の誤り検出数と誤り訂正数を変えることを特徴としたフラッシュファイルシステム。
- NAND型フラッシュメモリをもつフラッシュファイルシステムにおいて、当該フラッシュメモリ上のプログラムやデータの格納場所により、当該フラッシュメモリ上のプログラムやデータを読み書きする誤り訂正手段の誤り検出数と誤り訂正数を変えることを特徴としたフラッシュファイルシステム。
- NAND型フラッシュメモリをもつフラッシュファイルシステムにおいて、当該フラッシュメモリ上のプログラムやデータに付加したフラグにより、当該フラッシュメモリ上のプログラムやデータを読み書きする誤り訂正手段の誤り検出数と誤り訂正数を変えることを特徴としたフラッシュファイルシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008264701A JP2010092574A (ja) | 2008-10-12 | 2008-10-12 | フラッシュファイルシステムの誤り訂正機能 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008264701A JP2010092574A (ja) | 2008-10-12 | 2008-10-12 | フラッシュファイルシステムの誤り訂正機能 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010092574A true JP2010092574A (ja) | 2010-04-22 |
Family
ID=42255129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008264701A Pending JP2010092574A (ja) | 2008-10-12 | 2008-10-12 | フラッシュファイルシステムの誤り訂正機能 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010092574A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011515784A (ja) * | 2008-03-18 | 2011-05-19 | サムスン エレクトロニクス カンパニー リミテッド | 符号化および/または復号化メモリ装置および方法 |
JP2013542533A (ja) * | 2010-10-27 | 2013-11-21 | エルエスアイ コーポレーション | フラッシュメモリベースのデータ記憶のための順応ecc技術 |
US9190160B2 (en) | 2012-08-07 | 2015-11-17 | Samsung Electronics Co., Ltd. | Memory device having variable read voltage and related methods of operation |
CN107273316A (zh) * | 2017-06-08 | 2017-10-20 | 迈普通信技术股份有限公司 | 并行flash访问***和方法 |
US11586848B2 (en) | 2018-07-24 | 2023-02-21 | Samsung Electronics Co., Ltd. | Object recognition devices, electronic devices and methods of recognizing objects |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58181162A (ja) * | 1982-04-16 | 1983-10-22 | Hitachi Ltd | 情報記憶方式 |
JPS61338U (ja) * | 1984-06-06 | 1986-01-06 | クラリオン株式会社 | 復号装置 |
JPS613374A (ja) * | 1984-06-15 | 1986-01-09 | Ricoh Co Ltd | 誤り訂正方式 |
JPS6356879A (ja) * | 1986-08-28 | 1988-03-11 | Canon Inc | 情報記録再生装置 |
JPS6458127A (en) * | 1987-08-28 | 1989-03-06 | Matsushita Electric Ind Co Ltd | Code error correction method |
JPH01273154A (ja) * | 1988-04-25 | 1989-11-01 | Mitsubishi Electric Corp | Ecc回路付記憶装置 |
JPH02131625A (ja) * | 1988-11-11 | 1990-05-21 | Matsushita Electric Ind Co Ltd | 誤り訂正装置 |
JPH06161906A (ja) * | 1992-11-19 | 1994-06-10 | Toshiba Corp | 半導体メモリー回路 |
JPH10229343A (ja) * | 1997-02-14 | 1998-08-25 | Hitachi Ltd | 誤り訂正処理方法 |
WO2001054123A1 (fr) * | 2000-01-21 | 2001-07-26 | Sony Corporation | Procede de differentiation de disque optique, procede de lecture de disque optique et dispositif a disque optique |
JP2002091831A (ja) * | 2000-09-12 | 2002-03-29 | Hitachi Ltd | データ処理システム及びデータ処理方法 |
JP2004503891A (ja) * | 2000-06-13 | 2004-02-05 | エスティーマイクロエレクトロニクス | 誤り訂正回路を備えた安全なeepromメモリ |
JP2005011386A (ja) * | 2003-06-16 | 2005-01-13 | Renesas Technology Corp | 誤り訂正装置 |
JP2006260619A (ja) * | 2005-03-15 | 2006-09-28 | Matsushita Electric Ind Co Ltd | 誤り訂正装置、誤り訂正方法及びデジタルデータ記録再生装置 |
JP2007104708A (ja) * | 2006-11-27 | 2007-04-19 | Renesas Technology Corp | データ処理方法 |
JP2007299249A (ja) * | 2006-05-01 | 2007-11-15 | Hagiwara Sys-Com:Kk | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 |
JP2008508632A (ja) * | 2004-08-02 | 2008-03-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ記憶及び再生装置 |
-
2008
- 2008-10-12 JP JP2008264701A patent/JP2010092574A/ja active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58181162A (ja) * | 1982-04-16 | 1983-10-22 | Hitachi Ltd | 情報記憶方式 |
JPS61338U (ja) * | 1984-06-06 | 1986-01-06 | クラリオン株式会社 | 復号装置 |
JPS613374A (ja) * | 1984-06-15 | 1986-01-09 | Ricoh Co Ltd | 誤り訂正方式 |
JPS6356879A (ja) * | 1986-08-28 | 1988-03-11 | Canon Inc | 情報記録再生装置 |
JPS6458127A (en) * | 1987-08-28 | 1989-03-06 | Matsushita Electric Ind Co Ltd | Code error correction method |
JPH01273154A (ja) * | 1988-04-25 | 1989-11-01 | Mitsubishi Electric Corp | Ecc回路付記憶装置 |
JPH02131625A (ja) * | 1988-11-11 | 1990-05-21 | Matsushita Electric Ind Co Ltd | 誤り訂正装置 |
JPH06161906A (ja) * | 1992-11-19 | 1994-06-10 | Toshiba Corp | 半導体メモリー回路 |
JPH10229343A (ja) * | 1997-02-14 | 1998-08-25 | Hitachi Ltd | 誤り訂正処理方法 |
WO2001054123A1 (fr) * | 2000-01-21 | 2001-07-26 | Sony Corporation | Procede de differentiation de disque optique, procede de lecture de disque optique et dispositif a disque optique |
JP2004503891A (ja) * | 2000-06-13 | 2004-02-05 | エスティーマイクロエレクトロニクス | 誤り訂正回路を備えた安全なeepromメモリ |
JP2002091831A (ja) * | 2000-09-12 | 2002-03-29 | Hitachi Ltd | データ処理システム及びデータ処理方法 |
JP2005011386A (ja) * | 2003-06-16 | 2005-01-13 | Renesas Technology Corp | 誤り訂正装置 |
JP2008508632A (ja) * | 2004-08-02 | 2008-03-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ記憶及び再生装置 |
JP2006260619A (ja) * | 2005-03-15 | 2006-09-28 | Matsushita Electric Ind Co Ltd | 誤り訂正装置、誤り訂正方法及びデジタルデータ記録再生装置 |
JP2007299249A (ja) * | 2006-05-01 | 2007-11-15 | Hagiwara Sys-Com:Kk | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 |
JP2007104708A (ja) * | 2006-11-27 | 2007-04-19 | Renesas Technology Corp | データ処理方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011515784A (ja) * | 2008-03-18 | 2011-05-19 | サムスン エレクトロニクス カンパニー リミテッド | 符号化および/または復号化メモリ装置および方法 |
JP2013542533A (ja) * | 2010-10-27 | 2013-11-21 | エルエスアイ コーポレーション | フラッシュメモリベースのデータ記憶のための順応ecc技術 |
US9190160B2 (en) | 2012-08-07 | 2015-11-17 | Samsung Electronics Co., Ltd. | Memory device having variable read voltage and related methods of operation |
CN107273316A (zh) * | 2017-06-08 | 2017-10-20 | 迈普通信技术股份有限公司 | 并行flash访问***和方法 |
US11586848B2 (en) | 2018-07-24 | 2023-02-21 | Samsung Electronics Co., Ltd. | Object recognition devices, electronic devices and methods of recognizing objects |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108376554B (zh) | 存储器模块、包括其的存储***及其错误校正方法 | |
US9075742B2 (en) | Memory device | |
US9195551B2 (en) | Enhanced storage of metadata utilizing improved error detection and correction in computer memory | |
US8069389B2 (en) | Error correction circuit and method, and semiconductor memory device including the circuit | |
US10795763B2 (en) | Memory system and error correcting method thereof | |
US20150089310A1 (en) | Use of error correction pointers to handle errors in memory | |
US20070268905A1 (en) | Non-volatile memory error correction system and method | |
JP2010237822A (ja) | メモリコントローラおよび半導体記憶装置 | |
JP6540703B2 (ja) | メモリコントローラおよびメモリコントローラの制御方法 | |
US20160124803A1 (en) | Storage Device Data Access Method and Storage Device | |
US8332727B2 (en) | Error correction circuit, flash memory system including the error correction circuit, and operating method of the error correction circuit | |
JP2010092574A (ja) | フラッシュファイルシステムの誤り訂正機能 | |
US10741212B2 (en) | Error correction code (ECC) encoders, ECC encoding methods capable of encoding for one clock cycle, and memory controllers including the ECC encoders | |
CN104299637A (zh) | 快闪存储器装置及其运作方法 | |
US10804935B2 (en) | Techniques for reducing latency in the detection of uncorrectable codewords | |
US8738989B2 (en) | Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page | |
US11372720B2 (en) | Systems and methods for encoding metadata | |
US10915398B2 (en) | Memory system and operating method thereof | |
US10025652B2 (en) | Error location pointers for non volatile memory | |
US9092354B2 (en) | Storage device, CRC generation device, and CRC generation method | |
US20190042360A1 (en) | Error correction circuit and memory system including the same | |
JP2007257628A (ja) | 記憶された情報データの読み取りのための誤り訂正と誤り検出の方法およびそのための記憶制御ユニット | |
JP2005011386A (ja) | 誤り訂正装置 | |
JP2011054221A (ja) | 記憶装置及び電子機器 | |
JP2016170679A (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111018 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120313 |