JP4334331B2 - フラッシュメモリのアクセス制御方法 - Google Patents

フラッシュメモリのアクセス制御方法 Download PDF

Info

Publication number
JP4334331B2
JP4334331B2 JP2003413420A JP2003413420A JP4334331B2 JP 4334331 B2 JP4334331 B2 JP 4334331B2 JP 2003413420 A JP2003413420 A JP 2003413420A JP 2003413420 A JP2003413420 A JP 2003413420A JP 4334331 B2 JP4334331 B2 JP 4334331B2
Authority
JP
Japan
Prior art keywords
data
block
page
pages
flash memory
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
Application number
JP2003413420A
Other languages
English (en)
Other versions
JP2005174468A (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 群聯電子股▲ふん▼有限公司
Priority to JP2003413420A priority Critical patent/JP4334331B2/ja
Publication of JP2005174468A publication Critical patent/JP2005174468A/ja
Application granted granted Critical
Publication of JP4334331B2 publication Critical patent/JP4334331B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

本発明はフラッシュメモリのアクセス制御方法に係り、特に、ページ(Page)或いはブロック(Block)を単位とした、フラッシュメモリの行なうデータアクセスに対する管理方法に関する。
一般にフラッシュメモリのアクセス方式は、フラッシュメモリ自身の構造設計の関係に制限されるため、読み取り時には一つのページを単位とし、各ページ内の任意のアドレスよりデータ読み取りを開始する。書き込み時には、ブロックを単位とし、先ず全体のブロックを消去してからでなければ1ページずつの書き込みが行なえない。このため処理容量が一つのブロックのデータより小さい時、アクセス方式の設定はフラッシュメモリの構造に制限される。
フラッシュメモリの物理特性は、フラッシュメモリ中にデータが皆無のときにはじめて一つのセクタのデータを完全にフラッシュメモリの一つのページに書き込むことができる。ゆえに、このページ中にデータを書き込む時は、先ずこのページが「空」であることを確認する。いわゆる「空」であるとは、このページのもともとのデータがいずれも「1」であることを指す。これまでフラッシュメモリの管理はブロックを単位とし、もしデータをブロック内の一つのページ中に書き込みたいときは、便利さと安全面から、フラッシュメモリ中よりデータのない新しいブロック(いわゆる予備のブロック)を探し出し、このデータを該新しいブロックに対応するページ中に書き込み、もとの古いブロックのデータは完全に新しいブロック中に移し、更に古いブロックを消去して、別の新しいブロックとなす。
もし処理するデータ容量が連続する数ブロックに及ぶ時は、フラッシュメモリ中より新しいブロックを探し出し、データを対応するページに書き込み、全てのデータの書き込み完成後に、古いブロックにあったデータを新しいブロックの対応するページ中に書き込み、さらに古いブロックを消去する。ホスト(コンピュータ、カードリーダー、携帯電話等)は不断にフラッシュメモリのファイル配置表(FAT)を更新し、且つもし複製のデータが一つの小ファイルである場合、フラッシュメモリに関して言えば、一度に多くのページのデータを処理する訳ではないのに、フラッシュメモリは不断に新しいブロックを探し出し、並びに不断に古いブロックのデータを新しいブロックに移し、及び不断に古いブロックを消去しなければならない。
フラッシュメモリの物理特性に基づき、フラッシュメモリの行なう消去の動作が100万界を越えると、フラッシュメモリ内部の損壊が形成されやすく、ゆえにフラッシュメモリの寿命を延長させるためには、フラッシュメモリに対する消去の動作を減らす必要がある。このため、これまでのブロックを単位としてフラッシュメモリを管理する方法はフラッシュメモリの破壊率がページを単位とする管理よりも高くなる。
本発明は一種のフラッシュメモリのアクセス制御方法を提供することを目的とし、それは、フラッシュメモリに最良の性能を発揮させる制御方法であり、書き込みの速度を高め、並びにフラッシュメモリの行なう消去の動作を減らし、従来の技術の多くの欠点を排除できる方法である。
本発明の主要な目的は、ページ或いはブロックを単位とした、フラッシュメモリのデータデータアクセスに対する管理方法を提供し、ホスト(コンピュータ、カードリーダー、携帯電話等)がフラッシュメモリにデータ書き込みを行なう時、このデータの容量により、ブロックを単位とする消去、データ転送の時間及び回数を計算し、及びページを単位とする消去、データ転送の時間及び回数を計算し、さらに上述の計算で得たデータに基づき、一種類の最良の書き込み方式を選択し、書き込みの速度を加速し、並びに該フラッシュメモリの行なう消去の動作を減らし、これによりフラッシュメモリの使用寿命を延長することにある。
請求項1の発明は、ページ或いはブロックを単位としてフラッシュメモリのデータデータアクセスに対する管理を行なうフラッシュメモリのアクセス制御方法において、
ホストがフラッシュメモリにデータを書き込む時、このデータの容量により、ブロックを単位とするデータ消去、ページ読み出し、ページ書き込みの時間及び回数、及びこのデータの容量により、ページを単位とするページ消去、ページ書き込みの時間及び回数を計算し、さらにこれらの計算により得られたデータにより、最良の書き込み方式を選択し、ブロックを単位とする消去回数が少なく且つデータ転送速度が速ければ、ブロックを単位とするデータ書き込みを選択し、もしページを単位とする消去回数が少なく且つデータ転送速度が速ければ、ページを単位とするデータ書き込みを選択することを特徴とする、フラッシュメモリのアクセス制御方法としている。
請求項2の発明は、請求項1記載のフラッシュメモリのアクセス制御方法において、ページ読み出しの時間をpr、ページ書き込みの時間をpp、ページ消去の時間をpe、ブロック消去の時間をbeとすると、ページ消去の方式でN個のページにアクセスする時間はpe×N+pp×Nで、ブロック消去方式のアクセスにかかる時間は、be×1+pr×(32−N)+pp×32であることを特徴とする、フラッシュメモリのアクセス制御方法としている。
請求項3の発明は、請求項1記載のフラッシュメモリのアクセス制御方法において、ホストがコンピュータ、カードリーダー、携帯電話のいずれかとされたことを特徴とする、フラッシュメモリのアクセス制御方法としている。
本発明のフラッシュメモリのアクセス制御方法は、ページ或いはブロックを単位とした、フラッシュメモリのデータデータアクセスに対する管理方法であり、ホスト(コンピュータ、カードリーダー、携帯電話等)がフラッシュメモリにデータ書き込みを行なう時、このデータの容量により、ブロックを単位とする消去、データ転送の時間及び回数を計算し、及びページを単位とする消去、データ転送の時間及び回数を計算し、さらに上述の計算で得たデータに基づき、一種類の最良の書き込み方式を選択し、書き込みの速度を加速し、並びに該フラッシュメモリの行なう消去の動作を減らし、これによりフラッシュメモリの使用寿命を延長する。
図1は本発明の全体システム構造図である。このシステムはシングルチップフラッシュメモリコントローラ11、フラッシュメモリ12、ホストインタフェース13及びホスト14(コンピュータ、カードリーダー、携帯電話等)を具えている。そのうち、シングルチップフラッシュメモリコントローラ11はフラッシュメモリ12は接続され、並びにホストインタフェース13を介してホスト14(コンピュータ、カードリーダー、携帯電話等)と接続され、ホスト14によりシングルチップフラッシュメモリコントローラ11が制御されてフラッシュメモリ12中のデータとアクセスし、シングルチップフラッシュメモリコントローラ11にプログラムメモリ15が内蔵されるか外接され、このシングルチップフラッシュメモリコントローラ11が該プログラムメモリ15に事前に設定されたプログラムにより、フラッシュメモリ12に対してアクセス動作を行なう。
図2の本発明のページを基本アクセス単位とするフラッシュメモリ構造図を参照されたい。毎回書き込みの前にはページ/ブロックに対する消去の動作を行ない、そのうち消去のタイミングは図3に示されるとおりであり、書き込みはページを単位として行なわれ、書き込みのタイミングは図4に示されるとおりである。
本発明中、図1、5、6に示されるように、本発明の方法は書き込むデータの容量のページ数により、新しいブロック(予備のブロック)を決定して新しいデータを保存するかを決定するか、或いは更新したいページ51を直接消去し、そのページ51を「空」の状態とした後(図5)、更に新しいデータをこの新しいページ51中(図6)に書き込み、消去の動作を減らし、フラッシュメモリ12の毀損を防止し、フラッシュメモリ12の使用寿命を延長する。
さらに、仕様書に基づく特性によると、ブロック消去(Block Erase)の時間は4ms、ページ消去の時間は4msである。ページ書き込みの時間は200μs、一つのブロックが全部で32個のページを有するため、ブロック書き込み(Block Program)の時間はページ書き込み時間(Page Program)の時間×32で、6.4msとなり、ページ読み出し(Page read)の時間は5μs(First byte latency)に、50nsに528を乗じたものを加えたもので、31.4μsである。ゆえに、従来のブロックを単位とする管理方式は、ブロック内のある一つのページを変更するだけででも、新しいページのデータを外部コントローラーより入力するだけでなく、その他の31個のページのデータも古いブロックから新しいブロックに転送しなければならず(図7〜図11)、全部で少なくともブロック消去(Block Erase)×1に、ページ読み出し(Page read)×31とページ書き込み(Page read)×31を加えた、11.37msが必要である。ただし、ページを単位とする管理の時は、図5、6に示されるように、ただ一つのページ消去に一つのページ書き込みを加えた4.2msかかるだけで、その他の31個のページの古いブロックから新しいブロックへの移送の時間を省略できる。
ただし、ページ消去とブロック消去の時間が等しく、いずれも4msであるため、もし32個のページのデータがすべてもとのデータと異なっていて、全部消去しなければならない時は、ページ消去の方式のみで処理すると、ページ消去×32にページ書き込み×32を加えた134.4msかかり、ブロック方式が、一つのブロック消去に、ページ書き込み×32を加えた10.4より非常に多くなってしまう。このためいつページ消去により処理し、いつブロック消去により処理するかは、フラッシュメモリ12中の規格のページ書き込みの時間、ページ消去の時間、及びブロック消去の時間により決定しなければならない。アクセスするページが少ない時、ページ消去は比較的有利であり、アクセスするページが多い時は、ブロック消去による処理のほうが時間がかからない。
この個数の多い少ないをどのように決定するかについて、我々は各時間のパラメータを仮定していくつのページにどの方法でアクセスすれば最も有利な結果が得られるかを計算する。
まず、ページ読み出しの時間をprとし、ページ書き込みの時間をppとし、ページ消去の時間をpeとし、ブロック消去の時間をbeとすると、ページ消去の方式でN個のページにアクセスするのに費やす時間は、pe×N+pp×Nであり、このほか、ブロック消去の方式でアクセスするのにかかる時間は、be×1+pr×(32−N)+pp×32である。両者を比較すると、ページ消去の時間はブロック消去の時間より少なくしたいなら、pe×N+pp×N<be×1+pr×(32−N)+pp×32にこのフラッシュメモリ12のパラメータ、即ち、pe=4ms、pp=200μs、pr=31.4μs、be=4msを代入し、計算した結果、N<2.6の時にページ消去の方式を使用すれば、良好な性能が得られることが分かる。その原因は、このフラッシュメモリ12のページ消去の時間とブロック消去の時間が同じことにある。もし将来、ページ消去の時間がブロック消去の時間よりも少ない新たな規格のフラッシュメモリが出現すれば、N値を高めて、フラッシュメモリの弾性を更に大きくすることができる。
以上は本発明の好ましい実施例であるが、本発明の実施範囲を限定するものではなく、本発明に基づきなしうる細部の修飾或いは改変は、いずれも本発明の請求範囲に属するものとする。
本発明の全体システム構造図である。 本発明のページを基本アクセス単位とするフラッシュメモリ構造図である。 本発明の消去実行のタイミング図である。 本発明のページを単位とした書き込みのタイミング図である。 本発明のページ消去の表示図である。 本発明のページを単位とする書き込みの表示図である。 本発明のブロックを単位とする書き込みの表示図の一である。 本発明のブロックを単位とする書き込みの表示図の二である。 本発明のブロックを単位とする書き込みの表示図の三である。 本発明のブロックを単位とする書き込みの表示図の四である。 本発明のブロックを単位とする書き込みの表示図の五である。
符号の説明
11 シングルチップフラッシュメモリコントローラ
12 フラッシュメモリ
13 ホストインタフェース
14 ホスト
15 プログラムメモリ

Claims (3)

  1. それぞれのブロックに複数のページを備えた複数のブロックを有するフラッシュメモリのデータ管理方法において、
    データを提供し、該データをブロックに書き込む必要のあるページの数量を確認し、
    ブロック消去処理時間とページ消去処理時間によって限界値を決定し、該ブロック消去処理時間がbe+pr×(M−N)+pp×Mで、該ページ消去処理時間はpe×N+pp×Nの時、式be+pr×(M−N)+pp×M=pe×N+pp×Nから該限界値を求めると、該限界値は[be+M(pr+pp)]/(pe+pp+pr)であり、ここで、Nは該データをブロックに書き込む必要のあるページの数量であり、Mはそれぞれのブロックが備えているページ数量であり、prはひとつのページデータを読み出す時間で、ppはひとつのページデータを書き込む時間で、peはひとつのページデータを消去する時間で、beはひとつのブロックデータを消去する時間であって、及び、
    書き込みたい該ブロックのページの数量が限界値を超えた時、ブロック単位で消去を行ってからデータを書き込むが、反対に該データを書き込む必要のあるページに対してのみ、ページ単位で消去を行ってからデータの書き込みを行うことを特徴とする、フラッシュメモリのデータ管理方法。
  2. プログラムを保存したプログラムメモリ、フラッシュメモリとホストに電気接続されたコントローラにおいて、該コントローラは該ホストの操作に基づき、該プログラムメモリの中のプログラムを読み取り、該フラッシュメモリに対しデータ管理方法を実施し、該フラッシュメモリは複数のブロックを備え、それぞれのブロックは複数のページを有する該データ管理方法において、
    読み取りたいデータをブロックに書き込む必要があるページ数量を確認し、
    ブロック消去処理時間とページ消去処理時間によって該限界値を決定し、該ブロック消去処理時間がbe+pr×(M−N)+pp×Mで、該ページ消去処理時間はpe×N+pp×Nの時、式be+pr×(M−N)+pp×M= pe×N+pp×Nから該限界値を求めると、該限界値は[be+M(pr+pp)]/(pe+pp+pr)であり、ここで、Nは該データをブロックに書き込む必要のあるページの数量であり、Mはそれぞれのブロックが備えているページ数量であり、prはひとつのページデータを読み出す時間で、ppはひとつのページデータを書き込む時間で、peはひとつのページデータを消去する時間で、beはひとつのブロックデータを消去する時間であって、及び、
    書き込みたい該ブロックのページの数量が限界値を超えた時、ブロック単位で消去を行ってからデータを書き込むが、反対に該データの書き込みが必要なページに対してのみ、ページ単位で消去を行ってからデータの書き込みを行う手順を含むことを特徴とする、フラッシュメモリのデータ管理方法。
  3. それぞれのブロックに複数のページを有する複数のブロックを具備するフラッシュメモリと、
    ホストを繋ぐのに使うホストインターフェイスと、及び
    該フラッシュメモリ、該ホストインターフェイスとプログラムメモリに電気接続させ、該ホストの操作に基づいて該プログラムの中のプログラムを読み取り、該フラッシュメモリに対しデータ管理方法を実施するコントローラを有するフラッシュメモリシステムにおいて、
    そのデータ管理方法には、読み取りたいデータをブロックに書き込む必要があるページ数量を確認し、
    ブロック消去処理時間とページ消去処理時間によって該限界値を決定し、該ブロック消去処理時間がbe+pr×(M−N)+pp×Mで、該ページ消去処理時間はpe×N+pp×Nの時、式be+pr×(M−N)+pp×M= pe×N+pp×Nから該限界値を求めると、該限界値は[be+M(pr+pp)]/(pe+pp+pr)であり、ここで、Nは該データをブロックに書き込む必要のあるページの数量であり、Mはそれぞれのブロックが備えているページ数量であり、prはひとつのページデータを読み出す時間で、ppはひとつのページデータを書き込む時間で、peはひとつのページデータを消去する時間で、beはひとつのブロックデータを消去する時間であって、及び、
    書き込みたい該ブロックのページの数量が該限界値を超えた時、ブロック単位で消去を行ってからデータを書き込むが、反対に該データが書き込みを必要とするページに対してのみ、ページ単位で消去を行ってからデータの書き込みを行う手順を含むフラッシュメモリシステム。
JP2003413420A 2003-12-11 2003-12-11 フラッシュメモリのアクセス制御方法 Expired - Fee Related JP4334331B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003413420A JP4334331B2 (ja) 2003-12-11 2003-12-11 フラッシュメモリのアクセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003413420A JP4334331B2 (ja) 2003-12-11 2003-12-11 フラッシュメモリのアクセス制御方法

Publications (2)

Publication Number Publication Date
JP2005174468A JP2005174468A (ja) 2005-06-30
JP4334331B2 true JP4334331B2 (ja) 2009-09-30

Family

ID=34733563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003413420A Expired - Fee Related JP4334331B2 (ja) 2003-12-11 2003-12-11 フラッシュメモリのアクセス制御方法

Country Status (1)

Country Link
JP (1) JP4334331B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4356686B2 (ja) 2005-12-01 2009-11-04 ソニー株式会社 メモリ装置及びメモリ制御方法
KR100789406B1 (ko) 2006-11-03 2007-12-28 삼성전자주식회사 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법
JP6005615B2 (ja) * 2013-09-20 2016-10-12 富士通フロンテック株式会社 通信制御装置、通信制御方法および通信制御プログラム
CN111078136B (zh) * 2019-10-22 2023-05-05 力高(山东)新能源技术股份有限公司 一种防止BMS动态数据存储导致flash寿命降低的方法

Also Published As

Publication number Publication date
JP2005174468A (ja) 2005-06-30

Similar Documents

Publication Publication Date Title
JP5002201B2 (ja) メモリシステム
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
CN110908925B (zh) 高效能垃圾收集方法以及数据存储装置及其控制器
EP3588259B1 (en) Garbage collection method for storage media, storage medium, and program product
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
JP4713867B2 (ja) メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
EP1898312A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
US20080028132A1 (en) Non-volatile storage device, data storage system, and data storage method
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US7649794B2 (en) Wear leveling method and controller using the same
US11488671B2 (en) Method, associated memory device and controller thereof for performing programming management
JP4267682B1 (ja) Nandフラッシュメモリのリフレッシュ方法
US8527733B2 (en) Memory system
CN114416147B (zh) 固件载入方法、存储器及计算机可读存储介质
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
CN113885808A (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
JP4334331B2 (ja) フラッシュメモリのアクセス制御方法
TWI417889B (zh) 快閃記憶體之寫入逾時控制方法及其記憶裝置
CN111583976B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
JP2005092677A (ja) メモリ装置
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
TWI453747B (zh) 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
TW202013183A (zh) 高效能垃圾收集方法以及資料儲存裝置及其控制器
US11809314B2 (en) Method and apparatus for performing access control of memory device with aid of multi-stage garbage collection management
KR20030095820A (ko) 메모리 억세스 제어장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060712

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090520

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: 20090609

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090623

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

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