JP2010528380A - フラッシュメモリのリード・ライト処理方法 - Google Patents

フラッシュメモリのリード・ライト処理方法 Download PDF

Info

Publication number
JP2010528380A
JP2010528380A JP2010509666A JP2010509666A JP2010528380A JP 2010528380 A JP2010528380 A JP 2010528380A JP 2010509666 A JP2010509666 A JP 2010509666A JP 2010509666 A JP2010509666 A JP 2010509666A JP 2010528380 A JP2010528380 A JP 2010528380A
Authority
JP
Japan
Prior art keywords
flash memory
data
read
encoded
encoding
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
JP2010509666A
Other languages
English (en)
Other versions
JP2010528380A5 (ja
Inventor
ヘー ホアン
Original Assignee
メモライト メモリテック (シェンチェン) カンパニー リミテッド
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 メモライト メモリテック (シェンチェン) カンパニー リミテッド filed Critical メモライト メモリテック (シェンチェン) カンパニー リミテッド
Publication of JP2010528380A publication Critical patent/JP2010528380A/ja
Publication of JP2010528380A5 publication Critical patent/JP2010528380A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Abstract

フラッシュメモリのリード・ライト処理方法において、フラッシュメモリのライト操作時には、記憶されるデータをエンコードしてエンコードしたデータの中で特定の数値の個数をエンコード前より減らし、エンコードしたデータをフラッシュメモリ記憶セルに書き込むステップ1と、フラッシュメモリの読み取り操作時には、フラッシュメモリ記憶セルからエンコードしたデータを読み取り、読み取ったデータに対し、前記ステップ1においてのエンコード処理に対応するデコード処理をして、デコードした元のデータを出力するステップ2と、を含む。本発明によって、書き込み及び消去操作におけるフラッシュメモリチップの損耗を減少して、フラッシュメモリチップの使用寿命を引き伸ばし、かつ、書き込み及び消去操作効率を向上させ、操作時間を減らし、フラッシュメモリの操作にかかる電力消費を減らす。
【選択図】図1

Description

本発明はフラッシュメモリのリード・ライト処理方法に関し、より詳細には、データをエンコード、デコードすることによってフラッシュメモリの操作の最適化を目指す方法に関する。
フラッシュメモリは記憶装置として汎用されている。フラッシュメモリは、複数回の読み書き、消去が可能なだけではなく、密度が高い、容量が大きい、読み書き操作時間が短い、不揮発性、及び電力消費が低いなどの長所を持つために、ますますパソコン、様々なデジタル電子装置及びほかのデジタル記憶装置に使用されてきている。近年、フラッシュメモリ技術が成熟し、値段も安くなり、後端アプリケーション技術も進んでいるので、メモリ分野においてハードディスクと同じ市場シェアを占めている。しかし、製造方法の問題により、自体の欠点がフラッシュメモリの発展と応用を制約している。その一つは、通常、フラッシュメモリチップは自体の記憶原理によって、使用寿命があることである。一般的に、フラッシュメモリユニットの操作方式は、まず記憶セルのフローティングゲートを放電させて(即ち、通常の消去操作)通用状態にし、次にデータの書き込み過程において、フローティングゲートを充電して(即ち、通常のプログラミング)データの記憶に必要な状態にする。消去とプログラミングを繰り返す過程において、フローティングゲートはトンネル効果により蓄積される電子が徐々に増え、より大きな正向電圧が必要となり、記憶セルがリプログラミングできる。同時に、消去過程において、絶縁体が繰り返しのトンネル効果により老化してしまい、最後にバリアが役に立たなくなる(即ち、バリアの通り抜け)。これらの場合には記憶セルが正常に操作できない(即ちこの記憶セルの使用周期が終わる)可能性がある。以下、最も汎用されるNANDフラッシュメモリを例として説明する。NANDフラッシュメモリについては、消去またはリプログラミング回数は10万回程度である。もう一つは、フラッシュメモリチップの書き込みや消去の操作は特殊で、ページ単位で書き込みブロック単位で消去し、フラッシュメモリに書き込んだり消去したりするには大量の時間がかかり、データをページ毎にフラッシュメモリの内部のバッファから書き込む時間は200μs〜700μs必要で、ブロック単位で消去する時間は2ms必要である。これらの操作時間はフラッシュメモリチップの製造技術に関わり、フラッシュメモリの消去操作は全ての記憶セルの状態を1にして、データを書き込む過程において、書き込まれるデータが1だと当該フラッシュメモリ記憶セルをリプログラミングする必要がなく、書き込みデータが0だとリプログラミングする(即ち、フローティングゲートに充電する)必要がある。また、次回当該ページにデータを書き込むまえにデータを消去しなければならない、つまり、0と書かれた記憶セルが放電される。故に、一回の操作過程においてページデータでの0が多ければ多いほど損耗される記憶セルが多いということである。第三は、フラッシュメモリの製造技術により、フラッシュメモリの書き込みの時間は書き込みデータの値に関わり、一回にページに書き込まれるデータの中で0が多ければ多いほど、より多い操作時間がかかる。消去操作についても同じ結論である。第四は、フラッシュメモリチップの電力消費は書き込まれた内容に関わり、フラッシュメモリ記憶セルのデータライト操作時に、書き込まれるデータが1であれば、消去したデータが1であるためフローティングゲートに充電する必要がなく、逆に、書き込まれるデータが0であれば、フローティングゲートに充電する必要があるため、ページに書き込む0が少なければ少ないほど記憶セルの充電操作が少なくなり、電力消費も低くなる。
現在、フラッシュメモリの使用寿命を引き伸ばすための方法は以下の通り、ライトと消去の操作をできるだけ均等にブロック毎に割り当て、フラッシュメモリチップの使用中において各ブロックを均等に損耗させることであり、これは現在フラッシュメモリメーカーに一般的に使用されている方法である。しかし、この方法はフラッシュメモリの操作損耗をフラッシュメモリチップの各ブロックに均等化させるだけで、フラッシュメモリチップの損耗を減らすことはできない。
本発明は、上記した従来の技術の欠点を解決するために案出されたものであり、フラッシュメモリの操作中、フラッシュメモリの記憶セルを損耗させる操作回数を減少させて、フラッシュメモリの寿命と記憶操作の効率とを向上させ、電力消費を低下させるフラッシュメモリのデータリード・ライト方法を提供することを目的とする。
本発明は、フラッシュメモリのリード・ライト方法であって、フラッシュメモリのライト操作時には、エンコードしたデータの中で特定の数値の個数をエンコード前より減らすように、記憶されるデータをエンコードし、エンコードしたデータをフラッシュメモリ記憶セルに書き込むステップ1と、フラッシュメモリの読み取り操作時には、フラッシュメモリ記憶セルからエンコードしたデータを読み取り、読み取ったデータに対し、前記ステップ1においてのエンコード処理に対応するデコード処理をして、デコードした元のデータを出力するステップ2とを含むことを特徴とするフラッシュメモリのリード・ライト処理方法を提供する。
前記データが2進数である場合、前記特定の数値は0或いは1であることが好ましい。
前記ステップ1では、ホストシステム、フラッシュメモリコントローラー、及びフラッシュメモリチップのうちのいずれかで、記憶されるデータをエンコードできることが好ましい。
前記ステップ2では、ホストシステム、フラッシュメモリコントローラー、及びフラッシュメモリチップのうちのいずれかで、読み取ったデータをデコードできることが好ましい。
前記フラッシュメモリのリード・ライト処理方法は、エンコード・デコード情報をフラッシュメモリチップに保存することをさらに含むことが好ましい。
前記ステップ1において、エンコードした各組の2進法データにおける特定数値の個数はエンコード前より多くないことと、前記ステップ2では以上の処理に対応しているデコード方法を採用することが好ましい。
更に、エンコード中の特定数値の個数を元のデータの個数より減らせるように、データとエンコードのマッピング関係を作ることを含み、前記ステップ1では、マッピング関係のサーチによってデータをエンコードすることと、前記ステップ2では、マッピング関係のサーチによってデータをデコードすることが好ましい。
前記ステップ1において、エンコード処理が、データの特定数値の個数が他の数値の個数より多い場合、このデータをビット反転することを含み、前記ステップ2において、デコード処理が、エンコードでビット反転されたデータをビット反転して元のデータを得ることを含むことが好ましい。
前記ステップ1では、設定サイクルにおいて、エンコードした各組の2進法データの中で特定数値の総数がエンコード前より小さいことと、ステップ2では以上の操作に対応しているデコード処理を採用することが好ましい。
NAND型のフラッシュメモリの場合、前記ステップ1では、エンコードした2進法データの0の個数がエンコード前の0の個数より少なくなるように、記憶される2進法データをエンコードし、その後、エンコードした2進法データをフラッシュメモリ記憶セルに書き込むことが好ましい。
本発明のフラッシュメモリのリード・ライト方法によれば、エンコード・デコードによって、データ中の特定数値を減少させることで、書き込み・消去操作におけるフラッシュメモリチップの損耗を減少して、フラッシュメモリチップの使用寿命を引き伸ばし、かつ、フラッシュメモリチップに特定数値の書き込む回数を減らすことで、書き込み・消去操作効率を向上させ、操作時間を減らし、さらに、このようなエンコード・デコード方法によって、フラッシュメモリの操作にかかる電力消費を減らすことができるという効果が得られる。
本発明フラッシュコントローラーのエンコード・デコードの実施例の原理図である。 本発明フラッシュコントローラーのエンコード・デコード中のライト操作を示す概略図である。 本発明フラッシュコントローラーのエンコード・デコードのリード操作を示す概略図である。 本発明を採用したフラッシュメモリチップのページデータの操作を示す概略図である。 本発明を採用しないフラッシュメモリチップのページデータの操作における概略図である。 本発明マッピングエンコード・デコード方式の実施例の4位データの組み合わせ概略図である。 本発明マッピングエンコード・デコード方式の実施例の2位を加えたデータの組み合わせ概略図である。 本発明マッピングエンコード・デコード方式の実施例の4位の元のデータと桁数を加えたデータのマッピング関係概略図である。 本発明圧縮エンコード・デコード方式実施例で圧縮していない元のデータ概略図である。 本発明圧縮エンコード・デコード方式実施例で元のデータと圧縮エンコードのマッピング関係概略図である。 本発明圧縮エンコード・デコード方式実施例で圧縮したエンコードデータ概略図である。
本発明を実施するための実施形態についてNANDフラッシュメモリを例として、以下、図面を用いて説明する。
フラッシュメモリブロックの記憶セルの操作特徴によって、フラッシュメモリの記憶セルの使用寿命に影響する原因は、書き込み過程において1から0になるという操作と、消去過程において0から1になるという操作とによる記憶セルの損耗である。そのため、ブロックで消去してから毎回の操作ページに書き込む0が少なければ少ないほど、消去過程で損耗される記憶セルも少なくなり、ブロックの使用回数が引き伸ばせる。統計方法で計算すれば全フラッシュメモリチップの寿命も延び、それに、書き込んだデータの値を制御することにより操作時間を減らすことができ、書き込みと消去操作の効率を高め、書き込んだデータの値を制御することによって操作の損耗も減らせる。本発明は、最適にデータを書き込むエンコード・デコード方式によってフラッシュメモリの使用寿命を延ばし、フラッシュメモリの操作を最適化しフラッシュメモリの損耗を減らすことを目的とするものである。
本発明のエンコード方式には何種類かがあり、その一つは、アルゴリズムによってエンコードし、エンコードしたデータの0の個数をエンコード前より少なくすることである。もう一つは、データ圧縮により記憶セルに書き込まれるデータ量を減らすことである。より重要なのはデータ中の0の個数を減らすことである。本発明のエンコード・デコード方式のアルゴリズムには何種類かがあり、ライト操作において書き込んだデータをエンコードし、エンコードしたデータにおける0の個数を減らすことによって、書き込みと消去の操作による記憶セルの損耗を減らすことと、リード操作において対応するデコード方法によって元のデータに戻せることを目的とするものである。
本発明によるフラッシュメモリのリード・ライト中のエンコード・デコードアルゴリズムは様々の方法で実現するが、実現方法には以下のような何種類かがある。1.ソフトウェアによって、ホストシステムが記憶装置にデータを送信する時に直接データをエンコードし、フラッシュメモリインターフェースにエンコードしたデータを送信する。ホストシステムがフラッシュメモリを読み取る時に、直接インターフェースが読み取ったデータをデコードしてからその他の記憶装置に送信する。2.ハードウェアによって、記憶装置の中のコントローラーモジュールにエンコード・デコードモジュールを付加して、ライト操作において、エンコードモジュールがフラッシュメモリインタフェースから送信されたデータを受信した後、データをエンコードし、エンコードした結果をフラッシュメモリチップに送信して記憶する。リード操作において、コントローラーモジュールがフラッシュメモリチップでエンコードしたデータを読み取ってデコードし、インターフェースを通してデコードしたデータをホストシステムに送信する。3.フラッシュメモリチップの内部にエンコード・デコードモジュールを付加して、フラッシュメモリチップが外部のコントローラーモジュールからのデータを受信した後直接データをエンコードし、エンコードした結果を該当アドレスの記憶セルに書き込む。コントローラーモジュールがフラッシュメモリチップにリード操作を行う時に、フラッシュメモリチップの中のエンコード・デコードモジュールが該当アドレスの記憶セルから読み取ったデータをデコードしてから、結果をコントローラーモジュールに送信する。エンコードモジュールとデコードモジュールは別々に異なる装置側に設定でき、設定できる装置側はホストシステム側、フラッシュメモリコントローラー側、又はフラッシュメモリチップ側でもよい。
図1に示すのは本発明がフラッシュメモリコントローラー側でエンコード・デコード操作を行う時の実施例の原理図である。11は装置内のデータバッファを示し、その主な機能は操作過程でデータをバッファすることである。12は、装置がライト操作をする時にデータはデータバッファモジュールからデータエンコードモジュールに書き込むことを示す。13はエンコード・デコードモジュール中のエンコーダを示し、その主な機能はバッファに書き込んだデータをエンコードし、当該エンコード情報をフラッシュメモリチップの冗長区或いは情報区に書き込むことである。14はデータをエンコード・デコードモジュールを通して処理してからフラッシュメモリコントローラーモジュールに書き込むことを示す。15はフラッシュメモリコントローラーモジュールを示し、その主な機能はフラッシュメモリの操作を制御すると同時に、エンコード結果をフラッシュメモリチップに送信することである。18はリード操作において、フラッシュメモリコントローラーがフラッシュメモリチップから読み取ったデータをデコードモジュールに送信することを示す。17はエンコード・デコードモジュール中のデコーダを示し、その主な機能はデータフラッシュメモリチップで記憶したエンコード情報によってデータ区のデータに対し該当するデコード操作を行うことである。その後、16のようにデコードした結果をデータバッファに送信する。
図2は本発明の実施例のアルゴリズムが、あるページにデータをライトする過程でのエンコード操作を示す。図に示すように、データの操作ページを8Byteに設定し、冗長区を1Byteに設定する。即ち、フラッシュメモリの一つのライト操作の単位は9Byteであって、いずれかのページを選択した場合、そのデータは図の左側のブロックに示すように“01100000 10000100 01000100 10101001 01001001 00101000 00000100 00100001” 冗長区は“xxxxxxx1”であって、冗長区の先の7bitが他のデータ情報を記録し、8bit目が指定のエンコード情報bitである。エンコードモジュールの統計によると、0の個数は46、1の個数は18である。この判断によって、データのエンコード操作を行う必要があり、本発明の実施例のアルゴリズムによって図の右側のブロックに示すように“11001111 01111011 10111011 01010110 10110110 11010111 11111011 11011110”というデータが得られて、エンコード情報を冗長区“xxxxxxx0”に書き込む(エンコード情報bitが0とは、ビット反転により計算するという意味であり、エンコード情報bitが1とは、ビット反転によらず直接計算するという意味であることを定義する)。エンコードモジュールのデータ区に対する統計により、出た結果は0の個数が18、1の個数は46である。この結果をフラッシュメモリチップに書き込むと同時に、冗長区の指定bitに該当マークを書き込むことによりデータがビット反転を行ったことを記憶する。
図3は本発明の実施例のアルゴリズムが、あるページのデータをリード操作でのデコード操作を示す。図のように、図2に示すライト操作過程で書き込んだ冗長区のマークビットの情報によって、デコードモジュールがエンコード結果をデコードしてから、装置に書き込んだ元のデータを読み取る。
図4は本発明の実施例が、あるページに書き込む操作と最後の消去操作を行う時にフラッシュメモリチップ内のデータ区の記憶セルの変化状況を示す。まず、データを書き込む前に操作するアドレスが対応するフラッシュメモリページに消去操作を実行すると、図の左側のブロックのように、記憶セルが全部1になる。その後、データを書き込む。もし書き込む過程で記憶セルのbitの数値が1であれば当該記憶セルを充電する必要はない。もし0であれば充電する必要があって、当該記憶セルを0にする。図の真ん中のブロックのように、最後に書き込んだデータに消去操作を実施し、つまり、全ての記憶セルを放電させる。bitの値が1だと、今回のライトと消去操作で損耗されず、bitの値が0だと、今回の書き込むと消去操作で一回損耗される。
本発明の実施例を調査して得た数値によると、本発明の実施例のエンコード・デコード操作を利用していない場合は、図5に示すようにデータ区のフラッシュメモリ記憶セルが46回損耗される。本発明の実施例のエンコード・デコード操作を利用した場合はフラッシュメモリ記憶セルが18回損耗され、大幅に該当ページの記憶セルの損耗回数を減らせ、同じように、全フラッシュメモリチップ及びフラッシュメモリ装置に対して使用寿命を引き伸ばすことができる。それに、フラッシュメモリの書き込みと消去操作の特徴によって、毎回の操作過程で書き込んだデータ或いは消去したデータ中0の個数が少なければ少ないほど、操作時間が短くて効率も高く、操作のエネルギー消費も低くなる。
前述の例は最も簡単な速いアルゴリズムであって、このようなビット反転によって本発明を説明する。更に、本発明に関わるアルゴリズムと実現方法には何種類かがあり、ソフトウェアによる方法でもいいしハードウエアによる方法でもいいが、フラッシュメモリ記憶セルを損耗する回数をできるだけ減らすこと、フラッシュメモリチップとフラッシュメモリ装置の使用寿命を引き伸ばすこと、操作時間をできるだけ縮めること、フラッシュメモリの操作スピードを高めることなどを目的として、それによって、記憶セルの損耗をできるだけ減らし、かつ記憶セルを損耗するフラッシュメモリチップへのライト操作をできるだけ減らす。
以下では、マッピングのエンコード・デコード処理を説明する。図6は4bitのデータを例とした本実施例の、全ての4bitのデータセットであり、その中で0個の0を含むデータが0個、1個の0を含むデータが4個、2個の0を含むデータが6個、3個の0を含むデータが4個、4個の0を含むデータが1個である。
図7は2ビット冗長区を加えた後の全てのデータセットである。その中で0個の0を含むデータが1個、1個の0を含むデータが6個、2個の0を含むデータが15個、3個の0を含むデータが20個、4個の0を含むデータが15、5個の0を含むデータが6個、6個の0を含むデータが1個である。
図8に示すように、4bitのデータセットと冗長区を含んだ6bitのデータセットに新しいマッピング関係を作って、この関係によってデータを書き込む過程でエンコードすると大幅にデータの中の0の個数を減らせる。図においてマッピングした6bitのデータでは、0個の0を含むデータが1個、1個の0を含むデータが6個、2個の0を含むデータが9個になる。
以上の結果に対して統計を取ると、データはランダムに作成されるので、セットの中の各データがフラッシュメモリチップに記録される確率は同じである。もしセットの中で各データが書き込まれる回数をnとすると、0が書き込まれる回数は4n+12n+12n+4n=32nになる。エンコードした後、実際に書き込まれる0の回数は6n+18n=24nになる。統計結果によると、全部でエンコード前より0が書き込まれる回数は8n減り、16n回の4bitのライト操作を行う。故に、本実施例を通してライト操作を行う時の各bitに対する損耗は12.5%減らすことができる。
データを読み取る時に、フラッシュメモリ記憶セルからエンコードしたデータを読み取って、マッピング関係によってデコードし対応する元のデータを得る。その中のデコードという計算はエンコードの逆演算(ビット反転)である。
前述のマッピング原理によって、各フラッシュメモリページには2048Bのデータ区と64Bの冗長区を含み、一つのエンコード計算を作ることができることで、ホストシステムデータがエンコードされて、フラッシュメモリ記憶セルに書き込まれる。冗長区の存在により、エンコードした後のデータの桁数はホストシステムの元のデータの桁数より大きく、フラッシュメモリチップの損耗を減らしフラッシュメモリ装置の使用寿命を引き伸ばすために、前述のようなエンコード計算がホストシステムのデータと桁数を拡大したデータに新しいマッピング関係を作って、ホストシステムの元のデータの0の個数よりエンコードしたデータ中の0の個数を減らせる。
以下、本発明の実施例の圧縮方式について、詳細に説明する。本発明は一つのエンコードの方式を例とする。その実施方法は非常に簡単で、一段のデータで16進法データが出現頻度を統計処理し、得た頻度によってエンコードした値の桁数を決めて、頻度が最も高いのエンコードした値を0とし、頻度によって順番に10、110、1110、・・・とする。このように1bitで増加する際に、最高位のbitの左に一つの1を添える。出現頻度が同じ場合は、データユニットの16進法の値によってエンコードした値を決める。データユニットの16進法の値が小さい場合はエンコードした値の桁数が少なく、値が大きい場合はエンコードした値の桁数が多い。
図9は圧縮計算していない128bitの元のデータであり、図10は統計により4bitを計算ユニットとして圧縮計算を行って、データの中で4bitのデータユニットでの各組み合わせの出現頻度を示す。統計結果によるデータの書き込み頻度によって圧縮エンコードを設計し、データとデータ圧縮エンコードの対応関係は図10のように示す。統計によると、圧縮計算をしてない元のデータの中で0を含むデータの個数は72、1を含むデータの個数は56である。
128bitの元のデータを圧縮してエンコードした後、図11のような結果が得られ、圧縮した後のデータの桁数は125bitになる。その中で0の個数は32、1の個数は93になり、圧縮前より0の個数は40個を減らせ、全てのデータの個数は3bitを減らせることになる。故に、この圧縮エンコード方式によってデータの中での0の個数を有効的に減らせ、同時に、書き込まれるデータの桁数も減らせる。
データを読み取る過程では、まずフラッシュメモリ記憶セルから書き込んだエンコードしたデータを読み取って、圧縮計算における圧縮コードとデータの対応関係によってデコードし、元のデータを得る。その中のデコードという計算はエンコードの逆演算である。
前述の圧縮エンコード・デコードアルゴリズムについて、その実施方法には何種類かがある。ここでは一種の例しか提供していないが、圧縮アルゴリズムによって書き込んだデータの桁数、特にデータ中の0の個数を減らし、フラッシュメモリの損耗を減らすことと装置の使用寿命を引き伸ばすこと及び書き込むスピードを高めること、電力消費を減らすことを主な目的とする。
上記ではいくつかの種類の実施形態を例に挙げて本発明を説明したが、本発明の実現アルゴリズムには多くの種類があり得、それらのすべては本発明の技術的精神に基づくものであり、且つ、当業者にとっても明白なものである。また、本発明のフラッシュメモリチップはNAND、NORだけではなく、ほかの類似した書き込むときに損耗がある半導体類のフラッシュメモリチップも含み、それらのすべては本発明の基本的思想及び範囲から逸脱せず、当業者にとっては明白な変化であり、本発明の範囲に属する。

Claims (10)

  1. フラッシュメモリのリード・ライト処理方法であって、
    フラッシュメモリのライト操作時には、エンコードしたデータの中で特定の数値の個数をエンコード前より減らすように、記憶されるデータをエンコードし、エンコードしたデータをフラッシュメモリ記憶セルに書き込むステップ1と、
    フラッシュメモリの読み取り操作時には、フラッシュメモリ記憶セルからエンコードしたデータを読み取り、読み取ったデータに対し、前記ステップ1においてのエンコード処理に対応するデコード処理をして、デコードした元のデータを出力するステップ2と、
    を含むことを特徴とするフラッシュメモリのリード・ライト処理方法。
  2. 前記データが2進数である場合、前記特定の数値が0又は1であることを特徴とする請求項1に記載のフラッシュメモリのリード・ライト処理方法。
  3. 前記ステップ1において、ホストシステム、フラッシュメモリコントローラー、及びフラッシュメモリチップのうちのいずれかで、記憶されるデータをエンコードすることを特徴とする請求項1に記載のフラッシュメモリのリード・ライト処理方法。
  4. 前記ステップ2において、ホストシステム、フラッシュメモリコントローラー、及びフラッシュメモリチップのうちのいずれかで、読み取ったデータをデコードすることを特徴とする請求項1に記載のフラッシュメモリのリード・ライト処理方法。
  5. エンコード・デコードした情報をフラッシュメモリチップに保存する処理をさらに含むことを特徴とする請求項1に記載のフラッシュメモリのリード・ライト処理方法。
  6. 前記ステップ1において、エンコードした各組の2進法データにおける特定数値の個数はエンコード前より多くないことと、前記ステップ2では前記エンコード処理に対応するデコード方法を採用することを特徴とする請求項1、請求項2、請求項3、及び請求項4のうちのいずれか1項に記載のフラッシュメモリのリード・ライト処理方法。
  7. エンコードしたデータ中の特定数値の個数を元のデータ中の特定数値の個数より減らせるように、データとエンコードのマッピング関係を作ることをさらに含み、前記ステップ1では、マッピング関係をサーチしてデータをエンコードすることと、前記ステップ2では、マッピング関係をサーチしてデータをデコードすることを特徴とする請求項6に記載のフラッシュメモリのリード・ライト処理方法。
  8. 前記ステップ1において、エンコード処理が、データの特定数値の個数が他の数値の個数より多い場合、このデータをビット反転することを含み、前記ステップ2において、デコード処理が、前記エンコード処理でビット反転されたデータをビット反転して元のデータを得ることを含むことを特徴とする請求項6に記載のフラッシュメモリのリード・ライト処理方法。
  9. 前記ステップ1では、設定サイクルにおいて、エンコードした各組の2進法データの中で特定数値の総数がエンコード前より小さいことと、ステップ2では前記エンコード処理に対応するデコード処理を採用することを特徴とする請求項1、請求項2、請求項3、及び、請求項4のうちのいずれか1項に記載のフラッシュメモリのリード・ライト処理方法。
  10. NAND型のフラッシュメモリの場合、前記ステップ1では、エンコードした2進法データの0の個数がエンコード前の0の個数より少なくなるように、記憶される2進法データをエンコードし、エンコードした2進法データをフラッシュメモリ記憶セルに書き込むことを特徴とする請求項1又は請求項2に記載のフラッシュメモリのリード・ライト処理方法。
JP2010509666A 2007-05-30 2008-05-30 フラッシュメモリのリード・ライト処理方法 Pending JP2010528380A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNB200710074652XA CN100468576C (zh) 2007-05-30 2007-05-30 闪存数据读写处理方法
PCT/CN2008/071142 WO2008145070A1 (en) 2007-05-30 2008-05-30 Flash memory data read/write processing method

Publications (2)

Publication Number Publication Date
JP2010528380A true JP2010528380A (ja) 2010-08-19
JP2010528380A5 JP2010528380A5 (ja) 2011-06-23

Family

ID=38912611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010509666A Pending JP2010528380A (ja) 2007-05-30 2008-05-30 フラッシュメモリのリード・ライト処理方法

Country Status (5)

Country Link
US (1) US20100138594A1 (ja)
JP (1) JP2010528380A (ja)
CN (1) CN100468576C (ja)
TW (1) TWI342490B (ja)
WO (1) WO2008145070A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514060A (zh) * 2012-06-29 2014-01-15 富士通株式会社 数据转换方法和数据转换设备
JP2015185193A (ja) * 2014-03-25 2015-10-22 京セラドキュメントソリューションズ株式会社 データ記憶装置及び画像処理装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100468576C (zh) * 2007-05-30 2009-03-11 忆正存储技术(深圳)有限公司 闪存数据读写处理方法
US7826277B2 (en) * 2008-03-10 2010-11-02 Hynix Semiconductor Inc. Non-volatile memory device and method of operating the same
US8341501B2 (en) * 2009-04-30 2012-12-25 International Business Machines Corporation Adaptive endurance coding of non-volatile memories
TWI415130B (zh) * 2009-06-02 2013-11-11 Silicon Motion Inc 快閃記憶體之控制器以及於快閃記憶體存取資料的方法
US9170933B2 (en) * 2010-06-28 2015-10-27 International Business Machines Corporation Wear-level of cells/pages/sub-pages/blocks of a memory
CN102063936A (zh) * 2010-10-27 2011-05-18 苏州亮智科技有限公司 一种提高闪存可靠性的方法
US9093154B2 (en) * 2012-01-16 2015-07-28 Silicon Motion, Inc. Method, memory controller and system for reading data stored in flash memory
KR20140076127A (ko) * 2012-12-12 2014-06-20 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템
CN103678148A (zh) * 2013-12-03 2014-03-26 华为技术有限公司 提高闪存芯片寿命方法和装置
US20160342352A1 (en) * 2014-01-31 2016-11-24 Hewlett Packard Enterprise Development Lp Encoding data in a memory array
WO2015154298A1 (zh) * 2014-04-11 2015-10-15 华为技术有限公司 一种数据处理方法、装置
CN104467871B (zh) * 2014-11-17 2018-03-27 哈尔滨工业大学 提高NAND Flash存储可靠性的数据存储方法
CN105976866B (zh) * 2016-04-21 2019-11-26 清华大学 二进制数据序列的编码方法、存储装置和电子设备
CN106547487A (zh) * 2016-10-21 2017-03-29 华中科技大学 一种提高闪存可靠性的数据塑型方法
CN107102820B (zh) * 2017-04-17 2018-07-06 北京得瑞领新科技有限公司 一种nand闪存设备的数据处理方法及装置
CN107957917A (zh) * 2017-10-25 2018-04-24 深圳市致存微电子企业(有限合伙) 数据处理方法、主机、存储设备及存储介质
CN115512757B (zh) * 2022-11-02 2023-03-21 深圳三地一芯电子有限责任公司 错误复现修复方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228513A (ja) * 2001-11-28 2003-08-15 Access:Kk メモリ制御方法および装置
JP2005038518A (ja) * 2003-07-15 2005-02-10 Oki Electric Ind Co Ltd メモリのデータ書き換え方法
JP2005157781A (ja) * 2003-11-26 2005-06-16 Sony Corp 情報処理装置および情報処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673224A (en) * 1996-02-23 1997-09-30 Micron Quantum Devices, Inc. Segmented non-volatile memory array with multiple sources with improved word line control circuitry
SE512613C2 (sv) * 1996-12-30 2000-04-10 Ericsson Telefon Ab L M Metod och organ för informationshantering
JP2000231793A (ja) * 1999-02-09 2000-08-22 Nec Corp フラッシュメモリの書込制御装置及びその書込制御方法
CN100364013C (zh) * 2002-09-07 2008-01-23 鸿富锦精密工业(深圳)有限公司 在闪存中存放校验码的方法及装置
CN100468576C (zh) * 2007-05-30 2009-03-11 忆正存储技术(深圳)有限公司 闪存数据读写处理方法
US8078795B2 (en) * 2008-01-31 2011-12-13 Dell Products L.P. Methods and media for writing data to flash memory
US7961520B2 (en) * 2009-08-18 2011-06-14 Seagate Technology Llc Encoding and decoding to reduce switching of flash memory transistors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228513A (ja) * 2001-11-28 2003-08-15 Access:Kk メモリ制御方法および装置
JP2005038518A (ja) * 2003-07-15 2005-02-10 Oki Electric Ind Co Ltd メモリのデータ書き換え方法
JP2005157781A (ja) * 2003-11-26 2005-06-16 Sony Corp 情報処理装置および情報処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514060A (zh) * 2012-06-29 2014-01-15 富士通株式会社 数据转换方法和数据转换设备
JP2014010670A (ja) * 2012-06-29 2014-01-20 Fujitsu Ltd データ変換方法、データ変換装置およびデータ変換プログラム
US9141455B2 (en) 2012-06-29 2015-09-22 Fujitsu Limited Bit pattern data converting method and apparatus therefor
JP2015185193A (ja) * 2014-03-25 2015-10-22 京セラドキュメントソリューションズ株式会社 データ記憶装置及び画像処理装置

Also Published As

Publication number Publication date
TWI342490B (en) 2011-05-21
CN101083138A (zh) 2007-12-05
CN100468576C (zh) 2009-03-11
TW200912640A (en) 2009-03-16
WO2008145070A1 (en) 2008-12-04
US20100138594A1 (en) 2010-06-03

Similar Documents

Publication Publication Date Title
JP2010528380A (ja) フラッシュメモリのリード・ライト処理方法
US10691588B2 (en) Memory systems for data collection and compression in a storage device
US7266026B2 (en) Symbol frequency leveling in a storage system
TWI455144B (zh) 使用於快閃記憶體的控制方法與控制器
TWI533304B (zh) 用於儲存資料於具有跨頁區段、多頁編碼及每頁編碼之多位準單元快閃記憶體器件中之方法及裝置
TWI534618B (zh) 映射表更新方法、記憶體控制電路單元及記憶體儲存裝置
US9547588B1 (en) System and method of data storage in flash memory
US8176234B2 (en) Multi-write coding of non-volatile memories
US9690490B2 (en) Method for writing data, memory storage device and memory control circuit unit
US9274706B2 (en) Data management method, memory control circuit unit and memory storage apparatus
US9304907B2 (en) Data management method, memory control circuit unit and memory storage apparatus
KR102628009B1 (ko) 부분 페이지 압축을 위한 메모리 시스템
CN112181710B (zh) 一种基于比特翻转的固态盘数据存储方法和装置
TW201705148A (zh) 映射表存取方法、記憶體控制電路單元及記憶體儲存裝置
KR101711056B1 (ko) 에러 정정 코드 생성방법 및 장치
CN106406746A (zh) 映射表存取方法、存储器控制电路单元及存储器存储装置
CN108418589B (zh) 一种单层非易失存储器的动态编解码方法
CN111863080A (zh) 一种基于层间差异的3d闪存读性能优化方法
KR20180074561A (ko) 빠른 판독 다중 레벨 3d nand가 수명 용량 향상시키는 것을 가능하게 하는 데이터 매핑
CN102323901A (zh) 一种提高固态存储系统纠错码使用效率的方法
CN117493233A (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
JP2016212828A (ja) 不揮発性半導体メモリのコントローラ

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20101228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110428

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110428

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130219

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130319

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130321

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130827