JP2002169729A - 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法 - Google Patents

不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法

Info

Publication number
JP2002169729A
JP2002169729A JP2000368849A JP2000368849A JP2002169729A JP 2002169729 A JP2002169729 A JP 2002169729A JP 2000368849 A JP2000368849 A JP 2000368849A JP 2000368849 A JP2000368849 A JP 2000368849A JP 2002169729 A JP2002169729 A JP 2002169729A
Authority
JP
Japan
Prior art keywords
management information
memory unit
writing
old
flag
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.)
Granted
Application number
JP2000368849A
Other languages
English (en)
Other versions
JP4037605B2 (ja
Inventor
Kenichi Michiba
賢一 道庭
Teruhisa Fujimoto
曜久 藤本
Katsuyuki Nomura
勝幸 野村
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000368849A priority Critical patent/JP4037605B2/ja
Priority to US09/954,015 priority patent/US6687784B2/en
Publication of JP2002169729A publication Critical patent/JP2002169729A/ja
Application granted granted Critical
Publication of JP4037605B2 publication Critical patent/JP4037605B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

(57)【要約】 【課題】不揮発性メモリユニットへのライト中に何らか
の要因でライト異常が発生した場合でも、不揮発性メモ
リユニットの状態を正常に保つ。 【解決手段】コントローラ11は、不揮発性メモリユニ
ット13へのデータライトの終了後に、そのデータライ
トが反映された新たな管理情報(変換テーブル131及
びアサインテーブル132)を、その時点までは最新で
あった管理情報が保存されているメモリユニット13の
領域とは別領域にライトし、その後、それまで最新であ
った管理情報に対応付けて旧管理情報フラグをライトす
る。またコントローラ11は、メモリシステム10の初
期化時にメモリユニット13から最新の正常な管理情報
を検索し、最新の正常な管理情報が見つけられなかった
場合、旧管理情報フラグに対応付けられている正常な旧
管理情報をもとに最新の管理情報を復元する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、不揮発性メモリユ
ニットへのライト中に異常が発生した場合に好適な不揮
発性メモリユニットのコントローラ、同コントローラを
有するメモリシステム及び不揮発性メモリユニットの制
御方法に関する。
【0002】
【従来の技術】近年、画像データや音楽データに代表さ
れる種々のデジタル情報を保存する記憶装置として、電
源がオフされても保存情報が消失する虞のない書き換え
可能な少なくとも1つの不揮発性メモリからなる不揮発
性メモリユニットを有するメモリシステム、例えばメモ
リカードが広まってきている。
【0003】しかし、不揮発性メモリユニットであって
も、当該ユニットへのデータライト中に電源供給が遮断
されたり、電源電圧が低下するといった異常(ライト異
常)時には問題が発生する。つまり、不揮発性メモリ内
に書きかけのデータが残ったり、消去(erase)が完全
に実行されなかったりして不揮発性メモリのデータ管理
用の情報(管理情報)が破壊されてしまうために、その
後正しい電源電圧の電源を供給しても正常にライトでき
なくなったり、不揮発性メモリの管理情報がないために
データが全て失われてしまうといった問題が発生する。
【0004】そこで、特開平7−200418号公報で
は、半導体メモリ装置(不揮発性メモリユニット)への
データライト中に電源供給が遮断されても、電源供給後
にデータの書き込みを再開できるようにした技術が提案
されている。ここでは、データ記憶部(を構成する不揮
発性半導体メモリなど)に電源が供給されなくてもデー
タを一時的に記憶できる第1のメモリと、その第1のメ
モリから上記データ記憶部へのデータ転送に必要な制御
情報を、データ記憶部に電源が供給されなくても一時的
に記憶できる第2のメモリと、上記データ転送時に電源
の供給が遮断されたときに、その転送中の所定単位のデ
ータを電源供給再開後にデータ記憶部に再書き込みする
ための制御手段とを備えている。
【0005】
【発明が解決しようとする課題】上記公報に記載された
技術では、データ記憶部(不揮発性メモリユニット)へ
のデータライト中に電源供給が遮断されても、電源供給
後にデータの書き込みを再開できるようするためには、
データ記憶部用のメモリとは別に、電源が供給されてい
なくてもデータを保持できるメモリを備える必要があっ
た。
【0006】本発明は上記事情を考慮してなされたもの
でその目的は、不揮発性メモリユニットへのライト中に
何らかの要因でライト異常が発生した場合でも、不揮発
性メモリユニット用のメモリとは別にデータを保持でき
るメモリを必要とすることなく、不揮発性メモリユニッ
トの状態を正常に保ち、ライト異常の要因が解消された
後も正常に不揮発性メモリユニットが使用できるように
することにある。
【0007】
【課題を解決するための手段】本発明は、少なくとも1
つの不揮発性メモリから構成される不揮発性メモリユニ
ットであって、当該メモリユニットの管理情報が保存さ
れる不揮発性メモリユニットを制御するコントローラに
おいて、不揮発性メモリユニットへのデータライトの終
了後に、そのデータライトが反映された新たな管理情報
を、その時点までは最新であった管理情報が保存されて
いる不揮発性メモリユニットの領域とは別領域にライト
する手段と、この管理情報ライト手段による管理情報ラ
イトの終了後に、それまで最新であった管理情報に対応
付けて当該管理情報が旧管理情報であることを示す旧管
理情報フラグをライトする手段と、初期化時に不揮発性
メモリユニットから最新の正常な管理情報を検索する手
段と、この検索手段により最新の正常な管理情報が見つ
けられなかった場合、上記旧管理情報フラグに対応付け
られている正常な旧管理情報をもとに最新の管理情報を
復元する手段とを備えたことを特徴とする。
【0008】このような構成のコントローラによって不
揮発性メモリユニットを制御することにより、データラ
イトの終了後に、新たな管理情報が、その時点まで最新
であった管理情報を消去せずに残した状態で、不揮発性
メモリユニットの別領域にライトされる。そして、それ
まで最新であった管理情報には旧管理情報であることを
示す旧管理情報フラグがつけられる。これにより、たと
え不揮発性メモリユニットへのライト中にライト異常が
発生して、不揮発性メモリユニット上の最新の管理情報
が失われてしまい、そのままでは不揮発性メモリユニッ
トが全く使用できないような異常な状態になる恐れがあ
る場合でも、旧管理情報フラグがつけられている旧管理
情報を、例えばそのまま使用して最新の管理情報として
復元することで、不揮発性メモリユニット(を備えたメ
モリシステム)が異常になるのを防止できる。
【0009】ここで、データライトに際しては、不揮発
性メモリユニット(の物理アドレス空間)を構成する複
数の物理ブロックのうちの空きブロックを探して当該ブ
ロックをイレースし、そのイレースしたブロックにデー
タライトを行えはよい。同様に、管理情報ライトに際し
ても、空きブロックを探して当該ブロックをイレース
し、そのイレースしたブロックに管理情報ライトを行え
ばよい。この他に、上記管理情報ライトと並行して、当
該管理情報のページ毎に、当該管理情報がライトされて
いることを示す管理情報フラグをライトする手段を更に
備えるならば、上記検索手段では、不揮発性メモリユニ
ットから管理情報フラグを探すことで、検索する管理情
報を絞ることができ、管理情報検索を効率的に行うこと
が可能となる。
【0010】また本発明は、管理情報ライトの終了後、
旧管理情報フラグライトの前に、当該管理情報ライトが
最後まで実行されたことを示すエンドフラグを、当該管
理情報に対応付けてライトする手段とを更に備え、エン
ドフラグに対応付けられていて旧管理情報フラグには対
応付けられていない管理情報を最新の管理情報とするこ
とを特徴とする。
【0011】このような構成においては、たとえ不揮発
性メモリユニットへのライト中にライト異常が発生し
て、不揮発性メモリユニット上の最新の管理情報が失わ
れてしまい、そのままでは不揮発性メモリユニットが全
く使用できないような異常な状態になる恐れがある場合
でも、管理情報ライトが最後まで実行されたことを示す
エンドフラグをチェックすることで書きかけの管理情報
は使用しないように制御されるため、不揮発性メモリユ
ニットが異常な状態になるのを防止できる。
【0012】また本発明は、エンドフラグライトの終了
後、旧管理情報フラグライトの前に、上記管理情報ライ
ト手段によりライトされた管理情報をリードして、当該
管理情報が正しくライトされているか否かを確認するベ
リファイを行い、ベリファイエラーの場合に管理情報ラ
イトを再実行させるベリファイ手段を更に備えたことを
特徴とする。
【0013】このような構成においては、ライトされた
管理情報のベリファイを行うことで、ライト時に発生す
る不揮発性メモリユニットのエラーを検出し、再度管理
情報ライトをやり直すことでライトエラーをなくすこと
ができる。ここでライトされた管理情報をリードしてE
CCチェックのみでベリファイを行うならば、高速にベ
リファイを実行することができる。また、ライトされた
管理情報をリードし、そのリードした管理情報と元の管
理情報とのデータコンペアによりベリファイを行うなら
ば、正確にベリファイを実行することができる。また、
ECCチェックとデータコンペアとを併用するならば、
より一層正確にベリファイできる。
【0014】以上の不揮発性メモリのコントローラに係
る発明は、不揮発性メモリユニットとコントローラとを
備えたメモリシステムに係る発明としても成立する。こ
こで不揮発性メモリユニットの管理情報は、当該メモリ
ユニットを対象とするリード、ライト、イレースなどの
処理を行うのに必要な情報であり、頻繁にアクセスされ
る。そこで、上記コントローラが使用する情報の格納に
用いられる、不揮発性メモリより高速アクセスが可能な
揮発性メモリを更に備えると共に、上記コントローラ
に、初期化時に不揮発性メモリユニットから管理情報を
リードしてそのコピーを上記揮発性メモリに格納する管
理情報リード手段を設けるとよい。このように、不揮発
性メモリより高速で、且つデータの書き換え時にイレー
ス動作が不要な揮発性メモリに管理情報のコピーを用意
して、通常の不揮発性メモリユニットアクセス時には当
該揮発性メモリ内の管理情報が利用可能な構成とするこ
とで、高速処理を実現することが可能となる。
【0015】また、以上の不揮発性メモリのコントロー
ラに係る本発明は、当該コントローラで適用される処理
手順からなる方法(不揮発性メモリユニットの制御方
法)に係る発明としても成立する。ここで、ライトすべ
きデータが論理的に複数のブロックにまたがる場合、当
該データが全てライトし終えた後に、そのデータライト
が全て反映された新たな管理情報のライトが実行される
構成とするとよい。もし、ブロック単位でデータライト
を行い、そのブロック単位のデータライト(ブロックラ
イト)の都度、そのブロックライトが反映された新たな
管理情報をライトするならば、その途中でライト異常が
発生すると、不揮発性メモリユニット上にライト異常発
生前のデータはライトされていて、ライト異常発生後の
データはライトされていない状態になる。このように論
理的に複数のブロックにまたがるデータ同士で不整合が
発生しないように、全てのデータのライトが終了した後
に、管理情報をライトすることで、論理的に複数のブロ
ックにまたがるデータの一貫性を保つことができる。
【0016】
【発明の実施の形態】以下、本発明の実施の形態につき
図面を参照して説明する。
【0017】[構成]図1は本発明の一実施形態に係る
メモリシステム10の全体構成を示すブロック図であ
る。
【0018】図1のメモリシステム10は、パーソナル
コンピュータ、電子カメラ、ゲーム機を始めとする各種
電子機器(ホストシステム)のカードスロットに装着し
て使用されるメモリカードであるものとする。このメモ
リシステム(メモリカード)10は、コントローラ11
と、RAM12と、不揮発性メモリユニット13と、バ
ス14とを備えている。
【0019】コントローラ11は、不揮発性メモリユニ
ット13を制御するもので、マイクロプロセッサ(MP
U)111及び制御プログラム(ファームウェア)が予
め格納されているROM112を内蔵する。コントロー
ラ11(内のマイクロプロセッサ111)は、図1のメ
モリシステム(メモリカード)10が装着されるカード
スロットを備えたホストシステム(例えばパーソナルコ
ンピュータ)から送られるコマンドをROM112に格
納されている制御プログラムに従って解釈して実行す
る。
【0020】RAM12は揮発性メモリである。RAM
12は、コントローラ11(内のマイクロプロセッサ1
11)の作業用領域の他に、後述する論理ブロック/物
理ブロック変換テーブル131及びアサインテーブル1
32のコピー(である論理ブロック/物理ブロック変換
テーブル121、アサインテーブル122)を格納する
テーブル領域120を提供する。
【0021】不揮発性メモリユニット13は、少なくと
も1つの不揮発性メモリ(不揮発性メモリ素子)から構
成される。ここでは、不揮発性メモリユニット13は、
書き換えが可能なk個の不揮発性メモリ130-1〜13
0-kから構成されるものとする。
【0022】不揮発性メモリユニット13(内の不揮発
性メモリ)をリード/ライトするためのアクセスの単位
をページと呼ぶ。また、不揮発性メモリユニット13
(内の不揮発性メモリ)に記憶されているデータを消去
(erace)するためのアクセスの単位をブロックと呼
ぶ。このブロックは、1以上の所定数のページ、例えば
ページ1〜ページmのmページから構成される。このブ
ロックとページとの関係を図2に示す。
【0023】不揮発性メモリユニット13は、複数のブ
ロック(物理ブロック)、例えばn個のブロック0〜ブ
ロック(n−1)から構成される。この不揮発性メモリ
ユニット13のブロック構成を図3に示す。
【0024】不揮発性メモリユニット13内の物理ブロ
ックは、ホストシステムから見ることはできない。ホス
トシステムから見えるのは不揮発性メモリユニット13
(内の全物理ブロックの一部)が割り当てられている論
理アドレス空間を構成する論理ブロックである。このた
め、ホストシステムから論理ブロック(を示す論理ブロ
ック番号)を指定してメモリシステム10内の不揮発性
メモリユニット13をアクセスするには、メモリシステ
ム10内で、論理ブロック(を示す論理ブロック番号)
から物理ブロック(を示す物理ブロック番号)への変換
が必要となる。
【0025】そこで、この変換を可能とするために、不
揮発性メモリユニット13には、論理ブロック(を示す
論理ブロック番号)と当該論理ブロック(を示す論理ブ
ロック番号)に割り当てられている物理ブロック(を示
す物理ブロック番号)との対応を示す管理情報(割り当
て情報)が用意される。ここでは、この管理情報とし
て、図4に示すデータ構造の論理ブロック/物理ブロッ
ク変換テーブル131が用いられる。本実施形態におい
て、変換テーブル131の各エントリの並び順で決まる
エントリ番号は、そのまま論理ブロック番号を表すよう
になっている。このテーブル131の各エントリには、
そのエントリに固有の論理ブロック番号に対応付けられ
ている物理ブロック番号が設定されている。なお、変換
テーブル131の各エントリに、論理ブロック番号及び
当該論理ブロック番号に対応付けられている物理ブロッ
ク番号の対が設定されるようにしても構わない。変換テ
ーブル131には、1ブロックのページ数mに満たない
複数ページが割り当てられる。
【0026】また、不揮発性メモリユニット13には、
当該ユニット13を構成する物理ブロックの中で新たに
使用可能な物理ブロックを示す管理情報、例えば各物理
ブロック毎に、そのブロックが使用中か否(空き状態に
ある)かを示す管理情報が用意される。ここでは、この
管理情報として、図5に示すデータ構造のアサインテー
ブル132が用いられる。本実施形態において、アサイ
ンテーブル132の各エントリの並び順で決まるエント
リ番号がそのまま物理ブロック番号を表すようになって
いる。このテーブル131の各エントリには、そのエン
トリに固有の物理ブロック番号の物理ブロックが使用中
であるか否(空きである)かを示すフラグ(フラグデー
タ)が設定されている。アサインテーブル132には、
1ページが割り当てられる。このアサインテーブル13
2及び上記変換テーブル131は、任意の同一ブロック
内の所定の領域に格納される。またアサインテーブル1
32及び上記変換テーブル131のコピーがアサインテ
ーブル122及び変換テーブル121としてRAM12
内のテーブル領域120に格納される。
【0027】不揮発性メモリユニット13を構成する各
ページは、図6に示すように、例えばバイト0からバイ
ト511の512バイトのデータ部601と、バイト5
12からバイト527の16バイトの冗長部602とか
らなる。この冗長部602は、管理情報フラグF1、エ
ンドフラグEF及び旧管理情報フラグF2が設定される
(書き込まれる)それぞれ1バイトのフラグフィールド
602a,602b及び602cと、エラー訂正符号
(ECC)が設定されるECCフィールド(図示せず)
とを含む。ここでは、バイト512がフラグF1の、バ
イト513がフラグEFの、そしてバイト514がフラ
グF2の、それぞれフラグフィールドをなす。フラグF
1はオン(有効)状態で、該当ページ(のデータ部60
1)に管理情報、つまり変換テーブル131の一部また
はアサインテーブル132が格納されていることを示
す。フラグEFはオン(有効)状態で、管理情報の書き
込み、つまりアサインテーブル132及び変換テーブル
131の書き込みが最後まで終了していることを示す。
フラグF2はオン(有効)状態で、格納されている管理
情報が古くなったこと、つまり旧管理情報(無効管理情
報)が格納されていることを示す。
【0028】本実施形態では、フラグフィールド(60
2a,602b,602c)の全ビットに“1”のデー
タが書かれている状態により、対応するフラグ(F1,
EF,F2)のオフ(無効)状態が示される。この状態
で、フラグフィールドの全ビットに“0”のデータを書
くことにより、対応するフラグをオン(有効)状態に設
定できる。つまり、フラグフィールド602a,602
b,602cにそれぞれ“0”のデータを書くことは、
有効なフラグF1,EF,F2を書くことを意味する。
なお不揮発性メモリユニット13では、“0”が書かれ
ている任意のビットを“1”に書き換えることはできな
い。したがって、フラグ(F1,EF,F2)をオフ
(無効)状態に設定するには、該当するブロック内の全
ビットに“1”のデータを書き込むイレースが必要とな
る。
【0029】今、不揮発性メモリユニット13内のブロ
ック(物理ブロック)iに変換テーブル131及びアサ
インテーブル132が格納されているものとすると、こ
のブロックi内の変換テーブル131及びアサインテー
ブル132の格納形態は、図7のようになる。即ち、ブ
ロックiの先頭ページ1のデータ部601にはアサイン
テーブル132が格納され、ブロックiのページ1〜ペ
ージ6のデータ部601には、アサインテーブル132
が分割して格納される。このように、ブロックiのペー
ジ1〜ページ6にアサインテーブル132及び変換テー
ブル131、即ち管理情報が書き込まれ、しかも当該管
理情報の書き込みが最後まで終了しており、更に当該管
理情報が最新の管理情報であり、旧管理情報でない場合
には、ページ1〜ページ5の冗長部602内のフラグF
1,EF,F2は、それぞれオン(0),オフ(1),
オフ(1)である。またページ6の冗長部602内のフ
ラグF1,EF,F2は、それぞれオン(0),オン
(0),オフ(1)である。
【0030】[動作]次に、図1の構成のメモリシステ
ム(メモリカード)10における動作について、(1)
初期化時と、(2)ライト時を例に順に説明する。
【0031】(1)初期化時 メモリシステム10の初期化(立ち上げ)時には、コン
トローラ11は、論理ブロックから物理ブロックへの変
換などのために必要な管理情報、即ち論理ブロック/物
理ブロック変換テーブル131及びアサインテーブル1
32を不揮発性メモリユニット13から検索してリード
し、RAM104へ格納する動作を実行する。この初期
化時の管理情報の検索処理の詳細について、図8のフロ
ーチャートを参照して説明する。
【0032】コントローラ11はまず、検索する物理ブ
ロックを表すインデックス(index)を、管理情報
が格納され得る不揮発性メモリユニット13内の領域
(管理情報の保存領域)のスタートブロックに設定する
(ステップS1)。ここでは、管理情報の保存領域は、
不揮発性メモリユニット13を構成する全ての物理ブロ
ックの範囲とする。この場合、不揮発性メモリユニット
13の物理ブロック範囲のスタートブロック及びエンド
ブロックは、それぞれ管理情報保存領域のスタートブロ
ック及びエンドブロックに一致する。
【0033】次にコントローラ11は、indexの示
すブロックの先頭ページ1から、当該ブロックに管理情
報が格納(ライト)されているか否かを示す管理情報フ
ラグF1をリードする(ステップS2)。もし、リード
したフラグF1がオン(有効)であったならば、即ち有
効なフラグF1がライトされていたならば(ステップS
3)、コントローラ11はindexの示すブロックに
は管理情報が格納されているものとしてステップS4へ
進む。これに対し、リードしたフラグF1がオフ(無
効)であったならば、即ち有効なフラグF1がライトさ
れていなかったならば(ステップS3)、コントローラ
11はindexの示すブロックには管理情報が格納さ
れていないものとしてステップS10へ進む。
【0034】ステップS4においてコントローラ11
は、indexの示すブロックから管理情報、即ち変換
テーブル131及びアサインテーブル132をリード
し、そのコピーである変換テーブル121及びアサイン
テーブル122をRAM104のテーブル領域120へ
格納する。そしてコントローラ11は、リードしたデー
タ(管理情報)が正常ならば(ステップS5)、ステッ
プS6へ進む。これに対し、リードした管理情報にエラ
ーがあれば、コントローラ11はステップS10へ進
む。
【0035】ステップS6においてコントローラ11
は、管理情報の書き込みが最後まで終了したか否かを示
すエンドフラグEF及び旧管理情報であるか否かを示す
旧管理情報フラグF2を、管理情報が書かれている最終
ページ(ここではページ6)からリードする。そしてコ
ントローラ11は、リードしたフラグEFがオン状態に
あり、且つフラグF2がオフ状態にあるならば(ステッ
プS7)、indexの示すブロックに格納されている
管理情報(変換テーブル131及びアサインテーブル1
32)が最後まで正常に書かれた最新の管理情報である
として、つまり最新の管理情報が検索できたとして検索
処理を終了する。
【0036】これに対し、フラグEFがオン状態にない
場合には(ステップS8)、コントローラ11はこの管
理情報は書きかけの情報であり、したがって使用できな
いものと判断する。この場合、コントローラ11はステ
ップS10へ進む。またフラグEF及びF2が共にオン
状態にあるならば(ステップS8)、コントローラ11
はindexの示すブロックに格納されている管理情報
(変換テーブル131及びアサインテーブル132)は
無効化された古い管理情報(旧管理情報)であり、使用
しないものと判断し、その際のindexをRAM12
内の所定領域に一時的に格納して(ステップS9)、ス
テップS10へ進む。
【0037】ステップS10においてコントローラ11
は、次のブロックを検索するためにindexをインク
リメントする。そしてコントローラ11は、インクリメ
ント後のindexが管理情報の保存領域内を指してい
るか否かを判定する(ステップS11)。もし、保存領
域内であれば、コントローラ11はインクリメント後の
indexを用いてステップS2以降の処理を再度実行
する。これに対し保存領域外であれば、ステップS12
へ進む。
【0038】ステップS12においてコントローラ11
は、最新の正常な管理情報が見つからなかったことか
ら、ステップS9でRAM12内の所定領域に一時的に
格納しておいたindexの示すブロックに格納されて
いる管理情報、即ち旧管理情報を示すフラグF2が有効
なために使用されなかった管理情報(つまり旧管理情
報)から最新の管理情報を作成し直す(復元する)エラ
ー処理を実行する。ここでは、旧管理情報がそのまま最
新の管理情報として用いられ、テーブル領域120内の
管理情報もその新管理情報に書き換えられる。これによ
り、以後ステップS12のエラー処理で作成された管理
情報が用いられる。
【0039】なお、以上の説明では、管理情報を管理情
報保存領域のスタートブロックからインクリメントする
方向へ検索したが、エンドブロックからスタートブロッ
ク方向へと検索してもよい。管理情報保存領域内のブロ
ックが全て検索対象になる方法ならば、どのような順番
で検索してもよい。また冗長部602内のフラグF1,
EF,F2をステップS2とステップS6とに分けてリ
ードしているが、ステップS2でまとめてリードしても
よい。
【0040】コントローラ11は、以上のようにして検
索した管理情報、即ち変換テーブル131及びアサイン
テーブル132(のコピーであるRAM12内の変換テ
ーブル121及びアサインテーブル122)を用いて、
不揮発性メモリユニット13を有するメモリシステム1
0の初期化を行う。
【0041】(2)ライト時 次にメモリシステム(メモリカード)10におけるライ
ト時の動作(ライト要求処理)について、図9のフロー
チャートを参照して説明する。
【0042】コントローラ11は、ホストシステムから
ライト要求が与えられた場合、RAM12のテーブル領
域120に格納されている管理情報の1つであるアサイ
ンテーブル122を検索して、不揮発性メモリユニット
13内のいずれの物理ブロックがデータライトに使用で
きる空きブロックであるかをサーチする(ステップS2
1)。
【0043】次にコントローラ11は、ステップS21
で見つけられた空きブロックをイレース(erase)する
(ステップS22)。ブロックのイレースは、当該ブロ
ック内の全ビットに“1”のデータを書き込む動作によ
り行われる。
【0044】そしてコントローラ11は、ステップS2
2でイレースしたブロックに、ホストから指定されたデ
ータをライトして(ステップS23)、ステップS24
へ進む。ここで、指定されたデータが1ブロックに満た
ない場合で、且つRAM12のテーブル領域120に格
納されている変換テーブル121により、指定された論
理ブロックに割り当てられている物理ブロックが存在す
ることが示されている場合、その物理ブロックのデータ
と指定されたデータとから1ブロック分の新たなライト
データを生成し、当該新たなライトデータを上記イレー
スしたブロックにライトする。この新たなライトデータ
は、物理ブロックのデータのうち、指定されたデータに
対応するページが当該指定されたデータに置き換えられ
たものである。また、複数の論理ブロックにまたがるア
クセス要求の場合、つまり論理的に複数のブロックにま
たがるアクセス要求の場合には、同数の空き物理ブロッ
クを探してイレースし(ステップS21,S22)、そ
の同数のブロックにブロック単位でデータを全てライト
してから(ステップS23)、ステップS24へ進む。
【0045】ステップS24においてコントローラ11
は、RAM12のテーブル領域120に格納されている
管理情報の1つであるアサインテーブル122を検索
し、今度は不揮発性メモリユニット13内のいずれの物
理ブロックが管理情報ライトに使用できる空きブロック
であるかをサーチする。このステップS24の処理自体
は、上記ステップS21と同様である。
【0046】次にコントローラ11は、ステップS24
で見つけられた空きブロックをイレースする(ステップ
S25)。そしてコントローラ11は、ステップS25
でイレースしたブロックの先頭ページ1から順に、その
ページのデータ部601に、管理情報、即ちアサインテ
ーブル132及び変換テーブル131をページ単位でラ
イトとすると共に、そのページの冗長部602内のフラ
グフィールドに有効な管理情報フラグF1をライトする
(ステップS26)。これにより、有効な管理情報フラ
グF1がライトされたページ、即ちフラグF1がオンさ
れたページには管理情報がライトされていることが示さ
れる。
【0047】ここで、ステップS25でイレースしたブ
ロックに書き込まれる管理情報(アサインテーブル13
2及び変換テーブル131)は、現在RAM12のテー
ブル領域120に格納されている管理情報(アサインテ
ーブル122及び変換テーブル121)、即ちステップ
S23でのデータライトのために利用された管理情報を
もとに生成することができる。具体的には、アサインテ
ーブル122の各エントリのうち、ステップS22及び
S25でイレースされた全てのブロックに対応するエン
トリが、空きを示す状態から使用中を示す状態に変更さ
れた新たなアサインテーブル132が生成される。ま
た、変換テーブル121の各エントリのうち、ホストシ
ステムから指定された論理ブロックに対応するエントリ
の内容が、ステップS25でイレースされた物理ブロッ
クを指す物理ブロック番号に変更された新たな変換テー
ブル131が生成される。
【0048】コントローラ11は、上記イレースしたブ
ロックに管理情報を全てライトし終えると、即ち当該ブ
ロックのページ6のデータ部601に変換テーブル13
1の最終ページ部分を書き終えると共に当該ページ6の
冗長部602内のフラグフィールド602aに有効な管
理情報フラグF1を書き込むと(ステップS26)、こ
の冗長部602内のフラグフィールド602bに有効な
エンドフラグEFをライトする(ステップS27)。こ
の有効なフラグEFのライト操作、即ちフラグEFのオ
ン操作により、管理情報ライトが最後まで終了したこと
が示される。
【0049】次にコントローラ11は、管理情報ライト
が正常に行えたか否かをチェックするために、ライトし
た管理情報のベリファイを行う(ステップS28)。こ
のベリファイの方法としては、ライトした管理情報をリ
ードして冗長部602のECCフィールドに設定されて
いるECCに基づくエラー検出処理(ECCチェック)
を行う第1の方法、ライトした管理情報をRAM12の
所定領域に一時的に格納しておき、ライトした管理情報
をリードして、RAM12に一時的に格納しておいた元
の管理情報と比較して一致の有無をチェックするデータ
コンペアを行う第2の方法、またはECCチェックとデ
ータコンペアの両方を用いてベリファイを行う第3の方
法が適用可能である。
【0050】コントローラ11は、ステップS28での
ベリファイの結果が正常でなかった場合には(ステップ
S29)、ステップS24以降の処理を再度実行する。
これに対し、ステップS28でのベリファイの結果が正
常であったならば(ステップS29)、コントローラ1
1は不揮発性メモリユニット13内の古い管理情報がラ
イトされているブロックに旧管理情報であることを示す
有効な旧管理情報フラグF2をライトして、古い管理情
報が使用されないようにする(ステップS30)。具体
的には、古い管理情報がライトされているブロック内の
ページ1〜ページ6の冗長部602のフラグフィールド
602cに有効な旧管理情報フラグF2をライトする。
この段階で、RAM12のテーブル領域120に格納さ
れている管理情報(変換テーブル121及びアサインテ
ーブル122)を、上記ステップS26でライトされた
最新の管理情報のコピーに変更する。
【0051】[電源遮断時のタイミングの違いによるメ
モリシステム10の状態]次に、以上のような処理を行
うことで、メモリシステム(メモリカード)10がホス
トシステムのカードスロットから引き抜かれたなどの要
因で、当該メモリシステム10への電源供給が遮断され
た際のタイミングの違いにより、当該メモリシステム1
0がどのような状態になるかについて以下に説明する。
【0052】(1)ステップS21の実行前 ステップS21の実行前にメモリシステム10への電源
供給が遮断された場合、まだライト処理が何も実行され
ていないことになる。このため、不揮発性メモリユニッ
ト13はライト前の状態のままであり、問題はない。
【0053】(2)ステップS21の実行中 ステップS21はデータライトするブロックをサーチす
る処理である。したがってステップS21の実行中に電
源が遮断されても、不揮発性メモリユニット13に対し
ては何も実行されていない。つまり不揮発性メモリユニ
ット13はライト前の状態のままであり、問題はない。
【0054】(3)ステップS21とステップS22と
の間 上記(2)で述べたように、ステップS21はデータラ
イトするブロックをサーチする処理であり、不揮発性メ
モリユニット13に対しては何も実行されていない。し
たがって、このステップS21とステップS22との間
で電源が遮断されても、不揮発性メモリユニット13は
ライト前の状態のままであり、問題はない。
【0055】(4)ステップS22の実行中 ステップS22の処理は、データライトするブロックを
イレースする処理である。したがってステップS22の
実行中に電源が遮断されると、ステップS21で見つけ
られたブロックのイレースが途中で終了してしまう。し
かし再び電源が供給された後にこのブロックへのライト
が発生したとしても、ライト前には必ずイレースを行う
ため、問題はない。
【0056】(5)ステップS22とステップS23と
の間 データライトするブロックをステップS22でイレース
した後、ステップS23でのデータライト前に電源が遮
断されても、空きブロックをイレースしただけなので、
問題はない。
【0057】(6)ステップS23の実行中 ステップS23でのデータライト実行中に電源が遮断さ
れると、そのブロックには書きかけのデータが残ってし
まう。しかしライトが実行されたブロックは空きブロッ
クであり、管理情報は更新前であるためライト実行前の
状態を保持している。このため問題はない。
【0058】(7)ステップS23とステップS24と
の間 ステップS23でのデータライトの実行後に電源が遮断
されると、データライトは終了したが管理情報が更新さ
れていない状態になる。しかし、上記(6)で述べたよ
うに、ライトを実行したブロックは空きブロックであ
り、管理情報は更新されていないためライト実行前の状
態を保持している。このため問題はない。
【0059】(8)ステップS24の実行中 ステップS24での管理情報ライト用ブロックのサーチ
中に電源が遮断されても、上記(7)の状態と同じなの
で、問題はない。
【0060】(9)ステップS24とステップS25と
の間 ステップS24での管理情報ライト用ブロックのサーチ
を実行後、ステップS25での管理情報ライト用ブロッ
クのイレース実行前に電源が遮断されても、上記(7)
の状態と同じなので、問題はない。
【0061】(10)ステップS25の実行中 ステップS25での管理情報ライト用ブロックのイレー
ス実行中に電源が遮断されると、そのブロックのイレー
スが途中で終了してしまう。しかし再び電源が供給され
た後にこのブロツクへのライトが発生したとしても、ラ
イト前には必ずイレースを行うため、問題はない。ま
た、データライトは終了したが管理情報が更新されてい
ない状態になってしまうが、上記(7)の場合と同じ理
由により問題はない。
【0062】(10)ステップS25とステップS26
との間 ステップS25で管理情報ライト用ブロックをイレース
した後、そのイレースしたブロックへのステップS26
での管理情報ライト前に電源が遮断されても、空きブロ
ックをイレースしただけなので、問題はない。またデー
タライトは終了したが管理情報が更新されていない状態
になってしまうが、上記(7)の場合と同じ理由により
問題はない。
【0063】(11)ステップS26の実行中 ステップS26での管理情報ライトの実行中に電源が遮
断されると、書きかけの管理情報ができてしまう。しか
し、次のステップS27は実行されておらず、管理情報
ライトが最後まで終了していことを示す有効なエンドフ
ラグEFはライトされていないため、再び電源が供給さ
れたときにはこの管理情報は書きかけと判断されて使用
されない。また古い管理情報は不揮発性メモリユニット
13にそのまま残っているため、ライト実行前の状態を
保持している。したがって、前記ステップS12での処
理で、この古い管理情報に基づいて新たな管理情報が生
成できる。また、データライトは終了したが管理情報が
更新されていない状態になってしまうが、上記(7)の
場合と同じ理由により問題はない。
【0064】(12)ステップS26とステップS27
との間 ステップS26での管理情報ライトを実行した後、ステ
ップS26での有効なエンドフラグEFのライト前に電
源が遮断されると、管理情報はライトされたが、エンド
フラグEFが無効(オフ)状態のままになってしまう。
しかし、エンドフラグEFが無効(オフ)状態のため、
即ち有効でないため、再び電源が供給されたときにはこ
の管理情報は書きかけと判断されて使用されない。また
古い管理情報は不揮発性メモリユニット13にそのまま
残っているため、ライト実行前の状態を保持している。
したがって、この古い管理情報から新たな管理情報が生
成できる。また、データライトは終了したが管理情報が
更新されていない状態になってしまうが、上記(7)の
場合と同じ理由により問題はない。
【0065】(13)ステップS27の実行中 ステップS27での有効なエンドフラグEFのライト中
に電源が遮断されると、管理情報はライトされたが、エ
ンドフラグEFが無効(オフ)状態のままになってしま
う。しかし、エンドフラグEFが有効でないため、再び
電源が供給されたときにはこの管理情報は書きかけと判
断されて使用されない。また古い管理情報は不揮発性メ
モリユニット13にそのまま残っているため、ライト実
行前の状態を保持している。また、データライトは終了
したが管理情報が更新されていない状態になってしまう
が、上記(7)の場合と同じ理由により問題はない。
【0066】(14)ステップS27とステップS30
との間 ステップS27での有効なエンドフラグEFのライト
後、ステップS30で古い管理情報に旧管理情報(無効
管理情報)であることを示す旧管理情報フラグF2をつ
ける前に電源が遮断されると、正常と判断される管理情
報が、新たにライトされたものと、古いものとの2つ存
在してしまう。このため、再び電源が供給されたとき
は、新たにライトされた管理情報を使用する場合と,古
い管理情報を使用する場合の2通りが考えられる。
【0067】新しい管理情報を使用した場合には、ホス
トシステムから要求されたライトが正常に終了した状態
になる。しかし古い管理情報を使用した場合にはホスト
システムから要求されたライトはまだ実行されていない
状態になる。しかしホストシステムからのライト実行中
に電源が遮断されたので、どちらの状態であってもメモ
リシステム(メモリカード)10は異常にはならないの
で問題ない。
【0068】(15)ステップS30の実行中 ステップS30で有効な旧管理情報フラグF2のライト
中に電源が遮断されると、つまり古い管理情報のブロッ
クライト中に電源が遮断されると、古い管理情報が異常
になってしまう場合が考えられる。しかし本実施形態で
は、図8のフローチャートに示したように、再び電源が
供給されたときに管理情報が正しいかをチェックしてを
行って、正しい管理情報が使用される。したがって古い
管理情報が異常であったなら、古い管理情報は使用され
ずに、新しい管理情報が使用される。これによりホスト
システムから要求されたライトが正常に終了した状態に
なるため問題はない。
【0069】(16)ステップS30の終了後 ステップS30での有効な旧管理情報フラグF2のライ
ト後に電源が遮断されても、正常にライトが終了してい
るため問題はない。
【0070】以上の説明から明らかなように、本実施形
態においては、メモリシステム(メモリカード)10が
ホストシステムのカードスロットから引き抜かれたなど
の要因で、当該メモリシステム10への電源供給がどの
ようなタイミングで遮断されたとしても、不揮発性メモ
リユニット13へのライトが正常に実行できない状況に
なったり、書きかけの管理情報を使用してしまうことに
よりデータがリードできなくなってしまうような状況の
発生を防止できる。このような効果は、電源供給が遮断
された場合に限らず、電源電圧が低下した場合にも同様
に得られる。
【0071】以上に述べた実施形態では、不揮発性メモ
リユニット13の管理情報として当該ユニット13の全
ブロックに対して1つの変換テーブル131と1つのア
サインテーブル132とを用意する場合について説明し
たが、これに限るものではない。例えば、不揮発性メモ
リユニット13の物理アドレス空間と、不揮発性メモリ
ユニット13が割り当てられている論理アドレス空間と
を、それぞれ一定のブロック数p,qからなるr個のゾ
ーン0〜ゾーンr−1に分割し、対応するゾーンi(i
=0〜r−1)毎に、そのゾーン内の各論理ブロックに
割り当てられている物理ブロックを示す変換テーブル1
31とそのゾーン内の使用可能な物理ブロックを示すア
サインテーブル132との組を用意するようにしても構
わない。ここでは、RAM12内のテーブル領域120
には、全ての変換テーブル131とアサインテーブル1
32との組のコピーを格納するのではなく、一部の組の
みのコピーを格納するとよい。
【0072】このようにすると、テーブル領域120の
必要サイズを減らして、RAM12の必要容量を低減で
きる。但し、ホストシステムから不揮発性メモリユニッ
ト13へのアクセスが要求された場合に、論理ブロック
から物理ブロックへの変換に必要な変換テーブル131
のコピーがテーブル領域120に存在するかを判定し、
存在しない場合には、変換テーブル131とアサインテ
ーブル132との組のコピーを入れ替える必要がある。
【0073】また、以上に述べた実施形態では、不揮発
性メモリユニット13を制御するコントローラ11が当
該ユニット13を内蔵するメモリシステム10に設けら
れている場合について説明したが、メモリシステム10
を利用するホストシステム側に設けられていても構わな
い。また、RAM12がコントローラ11に内蔵されて
いても構わない。
【0074】なお、本発明は、上記実施形態に限定され
るものではなく、実施段階ではその要旨を逸脱しない範
囲で種々に変形することが可能である。更に、上記実施
形態には種々の段階の発明が含まれており、開示される
複数の構成要件における適宜な組み合わせにより種々の
発明が抽出され得る。例えば、実施形態に示される全構
成要件から幾つかの構成要件が削除されても、発明が解
決しようとする課題の欄で述べた課題が解決でき、発明
の効果の欄で述べられている効果が得られる場合には、
この構成要件が削除された構成が発明として抽出され得
る。
【0075】
【発明の効果】以上詳述したように本発明によれば、不
揮発性メモリユニットへのライト中に何らかの要因でラ
イト異常が発生して、不揮発性メモリユニット上の最新
の管理情報が失われてしまい、そのままでは不揮発性メ
モリユニットが全く使用できないような異常な状態にな
る恐れがある場合でも、不揮発性メモリユニット用のメ
モリとは別にデータを保持できるメモリを必要とするこ
となく、それ以前の管理情報を利用して最新の管理情報
として復元できる。これにより、不揮発性メモリユニッ
トの状態を正常に保ち、ライト異常の要因が解消された
後も正常に不揮発性メモリユニットが使用できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るメモリシステム10
の全体構成を示すブロック図。
【図2】不揮発性メモリユニット13をリード/ライト
するためのアクセスの単位であるページと、不揮発性メ
モリユニット13の消去のアクセスの単位であるブロッ
クとの関係を示す図。
【図3】不揮発性メモリユニット13のブロック構成を
示す図。
【図4】論理ブロック/物理ブロック変換テーブル13
1のデータ構造例を示す図。
【図5】アサインテーブル132のデータ構造例を示す
図。
【図6】ページのデータ構造例を示す図。
【図7】アサインテーブル132及び変換テーブル13
1が格納されている不揮発性メモリユニット13内のブ
ロックにおける、当該テーブル132,131のページ
毎の格納形態とフラグF1,EF,F2との関係を示す
図。
【図8】同実施形態における初期化時の動作(管理情報
検索処理)を説明するためのフローチャート。
【図9】同実施形態におけるライト時の動作(ライト要
求処理)を説明するためのフローチャート。
【符号の説明】
10…メモリシステム 11…コントローラ 12…RAM 13…不揮発性メモリユニット 111…マイクロプロセッサ(MPU) 120…テーブル領域 121,131…論理ブロック/物理ブロック変換テー
ブル(管理情報) 122,132…アサインテーブル(管理情報) 130-1〜130-k…不揮発性メモリ 601…データ部 602…冗長部 602a,602b,602c…フラグフィールド
───────────────────────────────────────────────────── フロントページの続き (72)発明者 野村 勝幸 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 Fターム(参考) 5B018 GA04 KA11 LA06 NA06 QA15

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つの不揮発性メモリから構
    成される不揮発性メモリユニットであって、当該メモリ
    ユニットの管理情報が保存される不揮発性メモリユニッ
    トを制御するコントローラにおいて、 前記不揮発性メモリユニットへのデータライトの終了後
    に、そのデータライトが反映された新たな管理情報を、
    その時点までは最新であった管理情報が保存されている
    前記不揮発性メモリユニットの領域とは別領域にライト
    する手段と、 前記管理情報ライト手段による管理情報ライトの終了後
    に、それまで最新であった管理情報に対応付けて当該管
    理情報が旧管理情報であることを示す旧管理情報フラグ
    をライトする手段と、 初期化時に前記不揮発性メモリユニットから最新の正常
    な管理情報を検索する手段と、 前記検索手段により最新の正常な管理情報が見つけられ
    なかった場合、前記旧管理情報フラグに対応付けられて
    いる正常な旧管理情報をもとに最新の管理情報を復元す
    る手段とを具備することを特徴とする不揮発性メモリユ
    ニットのコントローラ。
  2. 【請求項2】 前記管理情報ライト手段による管理情報
    ライトの終了後、前記旧管理情報フラグライト手段によ
    る旧管理情報フラグライトの前に、当該管理情報ライト
    が最後まで実行されたことを示すエンドフラグを、当該
    管理情報に対応付けてライトする手段を更に具備し、 前記検索手段は前記エンドフラグに対応付けられていて
    前記旧管理情報フラグには対応付けられていない管理情
    報を最新の管理情報とすることを特徴とする請求項1記
    載の不揮発性メモリユニットのコントローラ。
  3. 【請求項3】 前記管理情報ライト手段による管理情報
    ライトと並行して、当該管理情報のページ毎に、当該管
    理情報がライトされていることを示す管理情報フラグを
    ライトする手段を更に具備し、 前記検索手段は、前記不揮発性メモリユニットから前記
    管理情報フラグを探すことで、検索する管理情報を絞る
    ことを特徴とする請求項1記載の不揮発性メモリユニッ
    トのコントローラ。
  4. 【請求項4】 前記エンドフラグライト手段によるエン
    ドフラグライトの終了後、前記旧管理情報フラグライト
    手段による旧管理情報フラグライトの前に、前記管理情
    報ライト手段によりライトされた前記管理情報をリード
    して、当該管理情報が正しくライトされているか否かを
    確認するベリファイを行い、ベリファイエラーの場合に
    前記管理情報ライト手段による管理情報ライトを再実行
    させるベリファイ手段を更に具備することを特徴とする
    請求項2記載の不揮発性メモリユニットのコントロー
    ラ。
  5. 【請求項5】 少なくとも1つの不揮発性メモリから構
    成される不揮発性メモリユニットであって、当該メモリ
    ユニットの管理情報が保存される不揮発性メモリユニッ
    トと、 前記不揮発性メモリユニットを制御するコントローラ
    と、 前記コントローラが使用する情報の格納に用いられる、
    前記不揮発性メモリより高速アクセスが可能な揮発性メ
    モリとを具備し、 前記コントローラは、 前記不揮発性メモリユニットへのデータライトの終了後
    に、そのデータライトが反映された新たな管理情報を、
    その時点までは最新であった管理情報が保存されている
    前記不揮発性メモリユニットの領域とは別領域にライト
    する手段と、 前記管理情報ライト手段による管理情報ライトの終了後
    に、それまで最新であった管理情報に対応付けて当該管
    理情報が旧管理情報であることを示す旧管理情報フラグ
    をライトする手段と、 初期化時に前記不揮発性メモリユニットから管理情報を
    リードしてそのコピーを前記揮発性メモリに格納する管
    理情報リード手段と、 前記管理情報リード手段によってリードされた管理情報
    が最新でない場合、或いは最新であっても異常である場
    合には、前記旧管理情報フラグに対応付けられている正
    常な旧管理情報をもとに最新の管理情報を復元する手段
    とを備えていることを特徴とするメモリシステム。
  6. 【請求項6】 複数の物理ブロックから構成される不揮
    発性メモリユニットであって、当該メモリユニットの管
    理情報が保存される不揮発性メモリユニットを制御する
    不揮発性メモリユニットの制御方法において、 前記不揮発性メモリユニットへのデータライト要求を受
    けて当該要求を処理するライト要求処理ステップと、 初期化時に前記管理情報の検索処理を実行する管理情報
    検索処理ステップとを具備し、 前記ライト要求処理ステップは、 前記データライト要求で指定されたデータを前記不揮発
    性メモリにライトするステップと、 前記データライトステップによる前記不揮発性メモリユ
    ニットへのデータライトの終了後に、そのデータライト
    が反映された新たな管理情報を、その時点までは最新で
    あった管理情報が保存されている前記不揮発性メモリユ
    ニットの領域とは別領域にライトするステップと、 前記管理情報ライトステップによる管理情報ライトの終
    了後に、それまで最新であった管理情報に対応付けて当
    該管理情報が旧管理情報であることを示す旧管理情報フ
    ラグをライトするステップとを備え、 前記管理情報検索処理ステップは、 初期化時に前記不揮発性メモリユニットから最新の正常
    な管理情報を検索するステップと、 前記検索ステップで最新の正常な管理情報が見つけられ
    なかった場合、前記旧管理情報フラグに対応付けられて
    いる正常な旧管理情報をもとに最新の管理情報を復元す
    るステップとを備えていることを特徴とする不揮発性メ
    モリユニットの制御方法。
  7. 【請求項7】 前記管理情報ライトステップでは、前記
    データライト要求で指定されたデータが論理的に複数の
    ブロックにまたがる場合、当該指定されたデータが前記
    データライトステップで全てライトし終えた後に、その
    データライトが全て反映された前記新たな管理情報のラ
    イトを実行することを特徴とする請求項6記載の不揮発
    性メモリユニットの制御方法。
JP2000368849A 2000-12-04 2000-12-04 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法 Expired - Fee Related JP4037605B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000368849A JP4037605B2 (ja) 2000-12-04 2000-12-04 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
US09/954,015 US6687784B2 (en) 2000-12-04 2001-09-18 Controller for controlling nonvolatile memory unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000368849A JP4037605B2 (ja) 2000-12-04 2000-12-04 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法

Publications (2)

Publication Number Publication Date
JP2002169729A true JP2002169729A (ja) 2002-06-14
JP4037605B2 JP4037605B2 (ja) 2008-01-23

Family

ID=18838989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000368849A Expired - Fee Related JP4037605B2 (ja) 2000-12-04 2000-12-04 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法

Country Status (2)

Country Link
US (1) US6687784B2 (ja)
JP (1) JP4037605B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006085342A (ja) * 2004-09-15 2006-03-30 Sony Corp メモリ制御装置、メモリ制御方法、プログラム
JP2007520801A (ja) * 2003-12-31 2007-07-26 サンディスク コーポレイション 書き込み/消去失敗検出機構を有するフラッシュ記憶システム
JP2007257283A (ja) * 2006-03-23 2007-10-04 Tdk Corp メモリコントローラ及びフラッシュメモリシステム
JP2008181204A (ja) * 2007-01-23 2008-08-07 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法
WO2009004674A1 (ja) * 2007-06-29 2009-01-08 Fujitsu Limited 記憶装置、ディスク装置、書込み判定方法、制御装置
JP2014029616A (ja) * 2012-07-31 2014-02-13 Mega Chips Corp 半導体記憶装置
JP2014035747A (ja) * 2012-08-10 2014-02-24 Mega Chips Corp 半導体記憶装置
JP2014089762A (ja) * 2014-01-21 2014-05-15 Sony Corp 通信装置、通信方法、及び、無線タグ
JP2016032123A (ja) * 2014-07-25 2016-03-07 株式会社東芝 映像収録再生装置、コンテンツ制御方法及びコンピュータプログラム
WO2016056290A1 (ja) * 2014-10-09 2016-04-14 ソニー株式会社 メモリコントローラ、メモリシステム、記憶装置、情報処理システムおよび記憶制御方法
JP2020123023A (ja) * 2019-01-29 2020-08-13 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
TW539950B (en) * 2000-12-28 2003-07-01 Sony Corp Data recording device and data write method for flash memory
JP2002229621A (ja) * 2001-01-31 2002-08-16 Toshiba Corp ハードウェア管理装置
JP2004086991A (ja) * 2002-08-27 2004-03-18 Renesas Technology Corp 不揮発性記憶装置
JP4499982B2 (ja) * 2002-09-11 2010-07-14 株式会社日立製作所 メモリシステム
CN101231618B (zh) * 2002-10-02 2012-06-13 松下电器产业株式会社 非易失性存储器装置的控制方法
US6901498B2 (en) * 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
JP4175881B2 (ja) * 2002-12-25 2008-11-05 スパンション エルエルシー 不揮発性メモリの記憶方法及び記憶装置
JP2004258946A (ja) * 2003-02-26 2004-09-16 Renesas Technology Corp メモリカード
JP2004280752A (ja) * 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
DE10322723B3 (de) * 2003-05-20 2004-10-14 Infineon Technologies Ag Vorrichtung und Verfahren zum Behandeln eines Zustands eines Speichers
JP2005107608A (ja) * 2003-09-29 2005-04-21 Nec Electronics Corp 電子機器、不揮発性メモリ及び不揮発性メモリのデータ書き換え方法
JP4701618B2 (ja) * 2004-02-23 2011-06-15 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP2006285600A (ja) * 2005-03-31 2006-10-19 Tokyo Electron Device Ltd 記憶装置、メモリ管理装置、メモリ管理方法及びプログラム
JP4574475B2 (ja) * 2005-07-15 2010-11-04 キヤノン株式会社 記録再生装置、記録再生装置の制御方法
JP2007140733A (ja) * 2005-11-16 2007-06-07 Renesas Technology Corp 半導体処理装置及び半導体集積回路
US20080120461A1 (en) * 2006-11-21 2008-05-22 Accusys. Inc. Method for maintaining disk array management information
TWI454906B (zh) * 2009-09-24 2014-10-01 Phison Electronics Corp 資料讀取方法、快閃記憶體控制器與儲存系統
US20150370655A1 (en) * 2013-03-15 2015-12-24 Hewlett-Packard Development Company, L.P. Memory module controller supporting extended writes
JP6274857B2 (ja) 2013-12-26 2018-02-07 キヤノン株式会社 メモリ制御装置、メモリ制御方法、およびプログラム
JP6241373B2 (ja) 2014-06-19 2017-12-06 株式会社デンソー 記憶装置、フラッシュメモリ制御装置、及びプログラム
DE102018208096A1 (de) * 2018-05-23 2019-11-28 Robert Bosch Gmbh Verfahren zum Austauschen eines ersten ausführbaren Programm-Codes und eines zweiten ausführbaren Programm-Codes und Steuergerät
CN110851401B (zh) * 2018-08-03 2023-09-08 伊姆西Ip控股有限责任公司 用于管理数据存储的方法、装置和计算机可读介质
JP2020086483A (ja) * 2018-11-15 2020-06-04 株式会社日立製作所 計算機システム及び記憶デバイスの制御方法
JP7010257B2 (ja) * 2019-03-14 2022-01-26 オムロン株式会社 制御システムおよび制御装置
CN113434086B (zh) * 2021-06-25 2024-02-02 南京英锐创电子科技有限公司 数据存储方法、装置、非易失性存储器件和存储器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033262T2 (de) * 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
TW261687B (ja) * 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JP3215237B2 (ja) * 1993-10-01 2001-10-02 富士通株式会社 記憶装置および記憶装置の書き込み/消去方法
JPH07200418A (ja) 1993-12-28 1995-08-04 Hitachi Maxell Ltd データ記憶装置ならびにその制御方法
US6643731B2 (en) * 1999-12-31 2003-11-04 Texas Instruments Incorporated Low cost memory management that resists power interruption

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007520801A (ja) * 2003-12-31 2007-07-26 サンディスク コーポレイション 書き込み/消去失敗検出機構を有するフラッシュ記憶システム
JP2006085342A (ja) * 2004-09-15 2006-03-30 Sony Corp メモリ制御装置、メモリ制御方法、プログラム
JP4586469B2 (ja) * 2004-09-15 2010-11-24 ソニー株式会社 メモリ制御装置、メモリ制御方法、プログラム
JP4501881B2 (ja) * 2006-03-23 2010-07-14 Tdk株式会社 メモリコントローラ及びフラッシュメモリシステム
JP2007257283A (ja) * 2006-03-23 2007-10-04 Tdk Corp メモリコントローラ及びフラッシュメモリシステム
JP2008181204A (ja) * 2007-01-23 2008-08-07 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法
WO2009004674A1 (ja) * 2007-06-29 2009-01-08 Fujitsu Limited 記憶装置、ディスク装置、書込み判定方法、制御装置
JP2014029616A (ja) * 2012-07-31 2014-02-13 Mega Chips Corp 半導体記憶装置
JP2014035747A (ja) * 2012-08-10 2014-02-24 Mega Chips Corp 半導体記憶装置
JP2014089762A (ja) * 2014-01-21 2014-05-15 Sony Corp 通信装置、通信方法、及び、無線タグ
JP2016032123A (ja) * 2014-07-25 2016-03-07 株式会社東芝 映像収録再生装置、コンテンツ制御方法及びコンピュータプログラム
WO2016056290A1 (ja) * 2014-10-09 2016-04-14 ソニー株式会社 メモリコントローラ、メモリシステム、記憶装置、情報処理システムおよび記憶制御方法
JP2020123023A (ja) * 2019-01-29 2020-08-13 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Also Published As

Publication number Publication date
US6687784B2 (en) 2004-02-03
JP4037605B2 (ja) 2008-01-23
US20020069313A1 (en) 2002-06-06

Similar Documents

Publication Publication Date Title
JP2002169729A (ja) 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
US6865658B2 (en) Nonvolatile data management system using data segments and link information
JP4371771B2 (ja) 不揮発性メモリシステムにおいて用いられる電力管理ブロック
US6970890B1 (en) Method and apparatus for data recovery
JP3078946B2 (ja) 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
JP3682256B2 (ja) ディスクアレイ装置及び同装置におけるパリティ処理方法
JP4046877B2 (ja) 一括消去型不揮発性メモリおよび携帯電話
US20110238629A1 (en) Uncorrectable error handling schemes for non-volatile memories
JP2003257132A (ja) 1回プログラム可能な不揮発性メモリデバイスのファイル管理
US20080104361A1 (en) Storage Device, Memory Managing Apparatus, Memory Managing Method, and Program
US20030105921A1 (en) Disk array apparatus and data restoring method used therein
JP2012128643A (ja) メモリシステム
JP2007128562A (ja) 同期メモリを備えた電子部品
JP4745465B1 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
US20070136510A1 (en) Storage device, memory managing device, memory managing method, and program
JPH10124384A (ja) 不揮発性半導体メモリの制御方法
JPWO2009004674A1 (ja) 記憶装置、ディスク装置、書込み判定方法、制御装置
JPH09198884A (ja) フラッシュメモリ管理方法
US8527733B2 (en) Memory system
JP5057887B2 (ja) データ更新装置及びデータ更新方法及びデータ更新プログラム
JP4794530B2 (ja) 半導体装置および携帯電話
JP2004326523A (ja) 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP4580724B2 (ja) 不揮発性メモリの制御方法
JP4596602B2 (ja) 不揮発性メモリのデータ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070803

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071101

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

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101109

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131109

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees