JP2010092574A - フラッシュファイルシステムの誤り訂正機能 - Google Patents

フラッシュファイルシステムの誤り訂正機能 Download PDF

Info

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
Application number
JP2008264701A
Other languages
English (en)
Inventor
Takayuki Yoshida
貴行 吉田
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.)
Kyoto Software Res Inc
Original Assignee
Kyoto Software Res Inc
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 Kyoto Software Res Inc filed Critical Kyoto Software Res Inc
Priority to JP2008264701A priority Critical patent/JP2010092574A/ja
Publication of JP2010092574A publication Critical patent/JP2010092574A/ja
Pending legal-status Critical Current

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

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とともにフラッシュメモリに格納する。このようにすることにより、誤りがあってはならないものには、たとえ処理時間がかかっても誤り訂正機能の高い誤り訂正を付加し、その存在をフラグで認識する。また、そうでないものには、処理時間を優先する方法を取るために特定のフラグをつけることによりプログラムの種類が特定でき、自由な誤り訂正能力を有する誤り訂正機能を付けることができる。
一般に誤り訂正手段の処理時間が多くかかる中で、誤りがあるかないかを先に検出したり、プログラムの重要度に応じて誤り検出機能を下げるなど、誤り訂正処理の時間を短くすることにより、フラッシュファイルシステムの産業上の利用可能性は非常に高くなった。
フラッシュメモリ空間上の、ブートコード、OS、ユーザデータの配置の構成図である。 フラッシュメモリ空間上の、ブートコード、OS、ユーザデータの配置の構成図である。 フラッシュメモリ空間上の、ブートコード、OS、ユーザデータの配置の構成図である。 誤り訂正機能の誤り訂正bitの作り方と、読み出し後の誤り検出、訂正の方法についての図である。
符号の説明
1 フラッシュメモリ空間
2 ブートコード格納領域
3 OS格納領域
4 ユーザデータ格納領域
5 ブートコード
6 OS
7 ユーザデータ

Claims (4)

  1. 所定の数の誤り検出と誤り訂正が可能な誤り訂正ビットを生成多項式により演算し情報ビットに付加してフラッシュメモリに書き込み、読み出すときは、先ず誤り検出数を最大として誤り検出のみ行い、検出した誤りの数に基づき、再度誤り訂正をすることを特徴とするフラッシュファイルシステム。
  2. NAND型フラッシュメモリをもつフラッシュファイルシステムにおいて、当該フラッシュメモリ上のプログラムやデータの種類により、当該フラッシュメモリ上のプログラムやデータを読み書きする誤り訂正手段の誤り検出数と誤り訂正数を変えることを特徴としたフラッシュファイルシステム。
  3. NAND型フラッシュメモリをもつフラッシュファイルシステムにおいて、当該フラッシュメモリ上のプログラムやデータの格納場所により、当該フラッシュメモリ上のプログラムやデータを読み書きする誤り訂正手段の誤り検出数と誤り訂正数を変えることを特徴としたフラッシュファイルシステム。
  4. NAND型フラッシュメモリをもつフラッシュファイルシステムにおいて、当該フラッシュメモリ上のプログラムやデータに付加したフラグにより、当該フラッシュメモリ上のプログラムやデータを読み書きする誤り訂正手段の誤り検出数と誤り訂正数を変えることを特徴としたフラッシュファイルシステム。
JP2008264701A 2008-10-12 2008-10-12 フラッシュファイルシステムの誤り訂正機能 Pending JP2010092574A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ記憶及び再生装置

Patent Citations (17)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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