JP2010146150A - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP2010146150A
JP2010146150A JP2008320706A JP2008320706A JP2010146150A JP 2010146150 A JP2010146150 A JP 2010146150A JP 2008320706 A JP2008320706 A JP 2008320706A JP 2008320706 A JP2008320706 A JP 2008320706A JP 2010146150 A JP2010146150 A JP 2010146150A
Authority
JP
Japan
Prior art keywords
block
physical
physical block
data
writing
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
JP2008320706A
Other languages
English (en)
Other versions
JP5264459B2 (ja
Inventor
Hideaki Yamashita
英明 山下
Takeshi Otsuka
健 大塚
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2008320706A priority Critical patent/JP5264459B2/ja
Priority to US12/637,892 priority patent/US8725930B2/en
Publication of JP2010146150A publication Critical patent/JP2010146150A/ja
Application granted granted Critical
Publication of JP5264459B2 publication Critical patent/JP5264459B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1441Resetting or repowering

Abstract

【課題】半導体記憶装置において、突然の電源断、書き込みエラーで過去に書き込みを完了していたセル共有部分のデータが破壊されないようにすること。
【解決手段】コマンド解析手段160にタイマ161を備える。書き込みコマンドが与えられたときに、前回の書き込みの完了から計測を開始していたタイマ161の値が所定の時間を超えたときに、新ブロック確保判断手段170が新たに物理ブロックを確保して書き込みを行う。こうすれば、書き込み途中に突然の電源断が発生したとしても、所定時間以前に書き込みを完了していたデータが破壊されることはなくなる。
【選択図】図6

Description

本発明は、メモリカードなどの半導体記憶装置に関し、特に内部の不揮発性メモリで発生する書き込みのエラーを修復する技術に関する。
従来、フラッシュメモリが内蔵されたカード型の記録媒体であるSD(SecureDigital)カード等の半導体記憶装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。
この半導体記憶装置に内蔵されているフラッシュメモリは、一定サイズのブロック単位でデータを消去し書き換えできる不揮発性のメモリである。昨今の大容量化の要請に対応すべく、フラッシュメモリは1セルで2ビット以上のデータを蓄積可能なフラッシュメモリが商品化されている。
図1,図2を用いて、1セルあたり2ビットの情報を表現するMLC(マルチレベルセル)フラッシュメモリ(以下、多値フラッシュメモリ)のフローティングゲートに蓄積する電子の数と閾値電圧(Vth)の関係を説明する。
図1はフラッシュメモリの1セルの構成を示す。フラッシュメモリ10はPチャンネルサブストレート11上にNチャンネルのソース及びトレイン電極12,13が形成され、その間にトンネル酸化膜14、フローティングゲート15、絶縁酸化膜16及びコントロールゲート17が積層して構成される。このようにフラッシュメモリは揮発性ダイナミック・ランダム・アクセス・メモリ(DRAM)と異なり、フローティングゲート15という電荷を保持する領域がトランジスタ内部に追加されている。フローティングゲート15に蓄積されている電荷の状態によって、電流が流れる時の電圧の閾値が変わる。図1(a)は電荷が蓄積されていないデータ書き込み前の初期状態であり、図1(b)は電荷が蓄積されておりデータを書き込んだ状態を示す。
図2に、多値フラッシュメモリのフローティングゲートに蓄積する電子の数と閾値電圧(Vth)の関係の一例を示す。2値フラッシュメモリの場合、フローティングゲートに電子のあるなしで電流が流れる時の電圧が変わるが、1セルあたり2ビットの情報を表現する4値フラッシュメモリの場合は電荷の量によって電流が流れる時の閾値電圧が4状態存在する。図2に示すように、4値のフラッシュメモリでは、フローティングゲートの電子の蓄積状態をその閾値電圧(Vth)に従って4状態で管理する。消去状態は電位が一番低く、これを(1,1)とする。そして電子が蓄積していくにつれて閾値電圧が離散的に上昇し、その状態を夫々(1,0)(0,0)(0,1)とする。このように、蓄積する電子の数に比例して電位が上昇するので、所定の電位の閾値に収まるように制御することによって、1つのメモリセルに2ビットのデータを記録することができる。
図3に4値のフラッシュメモリの1つの物理ブロックの模式図を示す。図3に示す物理ブロックは、2K個(Kは自然数)のページによって構成されている。そして、書き込み処理は、ページ番号0から昇順に実施される。ここで、ページ番号m(0≦m<K)のページとページ番号(K+m)番のページは1つのメモリセルを共有している関係(以下、セル共有関係という)にあるとする。セル共有関係にあるページにおいて、最初に書き込むページを第1ページ、次に書き込むページを第2ページと呼ぶ。つまり、ページ番号mへの書き込み(第1ページへの書き込み)と、ページ番号(K+m)への書き込み(第2ページへの書き込み)は、同一のセルに電子をチャージしていることになる。図2を参照に説明すると、第1ページへの書き込みでは、電位は最大でも半分までしか上昇しないように制御し、次の第2ページへの書き込みでは、半分から最大まで電位が上昇するように制御する。
図4に、フラッシュメモリセルの状態遷移を示す。図4に示すように、フラッシュメモリの物理ブロックの1つのメモリセルの状態は、以下のように遷移する。
(a)データを消去した後は、メモリセルの状態は(1,1)
(b)第1ページへの書き込み後は、セルの状態は(1,1)又は(1,0)
(c)第2ページへの書き込み後は、セルの状態は(1,1),(1,0),(0,0)又は(0,1)
このように、多値のフラッシュメモリでは、閾値電圧Vthに複数の状態を設けてフラッシュメモリの電子の蓄積量を制御する多値記録を行い、大容量化を実現している。
上記の(b)(c)について更に詳細に説明する。(b)においては、対応する論理ページに1を書き込んだ後の状態が(1,1)である。また0を書き込んだ後の状態が(1,0)となる。更に(c)においては、(b)での状態によって遷移が限定される。即ち、(b)で(1,1)の状態からの遷移は、1を書き込んだ場合は(1,1)の状態が保持され、0を書き込んだ場合は(0,1)となる。一方、(b)で(1,0)の状態からの遷移は、1を書き込んだ場合は(1,0)の状態が保持され、0を書き込んだ場合は(0,0)となる。よって、同一物理ページにおいて、第1ページの値は、第2ビットに反映され、次に書き込む第2ページの値は第1ビットに反映される。
また、フラッシュメモリはフローティングゲート15に蓄積した電荷を保持するために、絶縁機能を持つトンネル酸化膜14を用いる。書き込み時や消去時には、この酸化膜を電子が通り抜けることになり、酸化膜が劣化していく。書き換えを繰り返すと酸化膜が損傷して、絶縁の役目を果たさなくなる。このため、書き換え回数が制限されるという特徴が存在する。
次に、書き込みエラーの発生について説明する。4値フラッシュメモリの場合は、メモリセルを第1ページと第2ページの2論理ページで共有している。図3に示すページ0〜ページ(K−1)の書き込みは第1ペ−ジの書き込みであり、この場合の書き込みエラーはVthが(1,1)の状態から(1,0)に上昇しないエラーである。また、図3に示すページK〜ページ(2K−1)の書き込みは第2ページの書き込みであり、Vthの状態は(1,1)(1,0)(0,0)(0,1)になる。この場合の書き込みエラーは、
(エラー1) Vth(1,0)が(0,0)に上昇しない。
(エラー2) Vth(1,1)が(0,1)に上昇しない。
場合がある。エラー1の場合は、Vth(1,0)とVth(0,0)が隣接しているが、エラー2の場合のVth(1,1)とVth(0,1)は間に2状態はさんでいる。特に、Vth(1,0)は第1ページの書き込み後の値であり、第2ページの書き込みによってVthが(1,0)にまでしか上昇しなかった場合は第2ページが書き込みエラーになるのみならず、第1ページのデータも破壊してしまうことになる。
次に、書き込み時のエラーが別ファイルを破壊する可能性についてより詳しく説明する。図5の左側が論理アドレス空間上の1つの論理ブロックであり、図5の右側のフラッシュメモリの物理アドレス空間の物理ブロックに対応している。この物理ブロックにファイル1が既に書き込まれていて、ファイル2をその後に追記するものとする。ファイル1が既に物理アドレス空間のページ0からページ(K−2)までに記録されており、ファイル2をページ(K−1)から(2K−1)までに追記するものとする。この例では、説明を簡易にするためにページを昇順に利用している。ファイル2の書き込み中に、例えば図5に示すように、ページKの書き込み中に発生した書き込みエラーや突然の電源断により、ページ0に書き込み済みであったデータを破壊する可能性がある。つまり、ページ0のデータが破壊されれば、ファイル2の書き込みにより、ファイル1も破壊してしまう結果になる。
この課題を解決するために、特許文献1では、フラッシュメモリを制御するメモリコントローラにバッファメモリを設け、第2ページの書き込みが完了するまで、第1ページのデータをバッファメモリに格納しておき、第2ページの書き込みで書き込みエラーが発生した場合は、バッファメモリのデータをロードし、第1ページのデータもフラッシュメモリに書き込むように制御している。
特開2006−318336号公報
しかしながら、従来の手法では第2ページの書き込みが終了するまで第1ページのデータをバッファメモリに保持しておく必要がある。1つの物理ブロックに複数のファイルを書き込む場合には、現在書き込み中のファイル以外のデータは過去に書き込んだデータであり、ホスト機器、あるいは半導体記憶装置にデータが残っていないためにリトライできないケースがあり、復旧できないといった課題が発生する。
また、データ書き込み中の突然の電源断が発生した場合には、復旧するためのデータを保持していてもリトライ自体ができないために、復旧できないといった問題点もあった。
本発明は、上記問題を解決するものであり、データ書き込みのエラーや突然の電源断が発生した場合に、既に書き込みを終えて一定時間を経過しているデータに書き込みエラーが伝搬しない信頼性の高い半導体記憶装置を提供することを目的とする。
この課題を解決するために、本発明の半導体記憶装置は、ホスト機器に接続される半導体記憶装置であって、複数の物理ブロックにより構成される不揮発性メモリと、前記ホスト機器より与えられる論理アドレスを前記不揮発性メモリの物理アドレスに変換するアドレス変換手段と、前記不揮発性メモリへデータの書き込みを行うデータ書き込み手段と、前記不揮発性メモリからデータの読み出しを行うデータ読み出し手段と、ホスト機器が発行するコマンドにかかる論理ブロックと前記不揮発性メモリの物理ブロックとの対応を記録してアドレス管理を行う論物変換テーブルを備えたブロック管理手段と、前記ホスト機器から受けたコマンドを解析すると共に、少なくとも1個前に発行された書き込みコマンドと当該コマンドとの相関を解析するコマンド解析手段と、前記ホスト機器からの書き込みコマンドが与えられたときに前記コマンド解析手段の解析結果と前記論物変換テーブルの情報をもとに新たな物理ブロックを確保するかを判断する新ブロック確保判断手段と、を具備し、少なくとも1個前に発行された書き込みコマンドによる書き込みから所定時間経過後に書き込みを行うときにはデータが書かれていない物理ブロックに書き込むものである。
ここで前記新ブロック確保判断手段は、前記コマンド解析手段が電源投入後の最初の書き込み処理であると判断し、ホスト機器が転送を要求する論理アドレスに対応する物理ブロックが書き込み済み状態である場合、新たな物理ブロックを確保するものと判断してもよい。
ここで前記コマンド解析手段は、1個前の書き込みコマンドによるデータの書き込みの完了時からの経過時間を計測するタイマを備え、前記新ブロック確保判断手段は、タイマ値が所定の経過時間を超えているときに、ホスト機器が転送を要求する論理アドレスに対応する物理ブロックが書き込み済みであっても、当該物理ブロックに追記せずに新たな物理ブロックを確保するものと判断してもよい。
ここで前記ブロック管理手段は、各物理ブロックの使用可否を示す空きブロック管理テーブルの登録、更新を行うと共に、データ書き込み時に前記空きブロック管理テーブルに基づいて新規物理ブロックを抽出するものとしてもよい。
ここで前記メモリは多値のフラッシュメモリであり、メモリセルを共有する単位をグループとすると前記物理ブロックは少なくとも1つのグループを含むものとしてもよい。
ここで前記物理ブロックは、前記メモリの最小の消去単位及びその整数倍の消去単位のいずれかとしてもよい。
本発明の半導体記憶装置によれば、データの書き込み時に新ブロック確保判断手段が所定の条件を満たすと判断したときに、新たなブロックを確保する。従って本発明の半導体記憶装置は所定の時間よりも過去に書き込んだデータがある物理ブロックに記録されている場合に、データを追記する際にはデータが書かれていない物理ブロックに書き込みを行う。こうすることにより、セル共有している第1ページのデータには過去に記録したデータが含まれない。そのために、第2ページ書き込み中に突然の電源断、書き込みエラーが発生しても、現在書き込み中のデータから所定の時間内に書き込みを行ったデータのみの破壊にとどめることができ、所定の時間よりも過去に記録したデータへのエラー伝搬の影響を防止できる。また新たなブロックの確保を電源ON時と所定の時間経過後のみにすれば、書き換え回数もわずかな増加に抑えることができる。
以下本発明を実施するための最良の形態について、図面を参照しながら説明する。図6は、本発明の実施の形態における半導体記憶システムの構成図である。半導体記憶システムは、半導体記憶装置100と、半導体記憶装置100を制御すると共にデータの書き込みと読み出しを行うホスト機器200とを含んで構成される。半導体記憶装置100はホスト機器200から書き込みコマンドに従ってデータを記憶すると共に、読み出しコマンドに従ってデータを読み出し、ホスト機器200に対して送出するものである。
次に本実施の形態による半導体記憶装置100の各ブロックについて説明する。外部インターフェイス手段110は、ホスト機器200からのコマンドやデータを受信し、データの転送を行うインターフェイスである。
アドレス変換手段120は後述する論物変換テーブルに基づいてホスト機器200がデータの読み書きを要求した論理アドレスを半導体記憶装置100内の物理メモリのアドレスに変換するものである。
データ書き込み手段130は、外部インターフェイス手段110より転送されてきたデータをフラッシュメモリ140の物理ブロックの各ページに記録するものである。
フラッシュメモリ140は4値のフラッシュメモリであり、多数の物理ブロックから構成される。物理ブロックは消去単位であって、夫々2K個(Kは自然数)のページを有する。フラッシュメモリの内部は前述した図3に示すように0〜(2K−1)までのページ番号で管理されている。このうちページ番号0〜(K−1)のKページはメモリセルの第1ページにより構成され、ページ番号K〜(2K−1)のKページはメモリセルの第2ページにより構成される。
データ読み出し手段150は、ホスト機器200より読み出しコマンドが与えられたときに、指定された論理ブロックに対応するフラッシュメモリ140の物理ブロックより、データを読み出すものである。
コマンド解析手段160はホスト機器より出されたコマンドを解析するものであり、又以前に発行された書き込みコマンドと、新たに発行された書き込みコマンドの相関を解析する機能を有する。コマンド解析手段160は内部にタイマ161を含んでいる。タイマ161は、新ブロック確保判断手段170が新規に物理ブロックを確保するかどうかを判断するための条件となる前回の書き込みコマンドからの経過時間を計測するものである。
新ブロック確保判断手段170は、フラッシュメモリ140にデータを書き込む場合に、コマンド解析手段160の解析結果と論物変換テーブルの情報をもとに新規に物理ブロックを確保してから書き込むか、既に論理ブロックと対応づけられている物理ブロックの未記録領域に追記して書き込むかを判断するものである。
ブロック管理手段180は、論物変換テーブル181と空きブロック管理テーブル182を有している。論物変換テーブル181はホスト機器より指示される論理ブロックと、論理ブロックに対応するフラッシュメモリの物理ブロックのアドレスとを関連づけるものである。本実施の形態では、論物変換テーブル181は、フラッシュメモリ140の一部の領域を用いて記憶するものとして説明する。空きブロック管理テーブル182は電源の投入後に生成されるもので、各物理ブロックの使用又は未使用を示すテーブルである。
ブロック管理手段180は、これらのテーブルを登録、更新すると共に、データ書き込みの際に、論理ブロックに対応する新規物理ブロックを空きブロック管理テーブル182を参照して抽出し、新規の論理ブロックが物理ブロックに割り当てられた場合に論物変換テーブル181を更新するものである。
物理ブロック状態検出手段190は、ブロック管理手段180の情報をもとにアクセスする物理ブロックの状態を検出して新ブロック確保判断手段170に対して物理ブロック状態を通知するものである。
次に図7にフラッシュメモリ140の領域マップを示す。フラッシュメモリ140はA個(Aは自然数)の物理ブロックより構成されており、本実施の形態では、A個の物理ブロックに対して0〜(A−1)の物理ブロック番号を付している。1つの物理ブロックには多値フラッシュメモリのメモリセルを共有する少なくとも1つのグループが含まれている。
そして、物理ブロック番号0〜(B−1)(Bは、B<Aを満たす自然数)のB個の物理ブロックをフラッシュメモリ140の第1領域141、物理ブロック番号B〜(A−1)の(A−B)個の物理ブロックをメモリの第2領域142とする。フラッシュメモリ140の第1領域141にはホストから転送されるユーザデータを記録し、第2領域142には論物変換テーブル181等のシステムデータを記録する。
また論理ブロック番号は0〜(B−m)(m>1)とすると、論理ブロックに対応するフラッシュメモリの第1領域の物理ブロック数を論理ブロック数より多く割り当てる。これにより、書き込み済みの論理ブロックを書き換える場合において、当該論理ブロックに対応して書き込まれている物理ブロックとは別の物理ブロックに書き込むことが可能となる。よって、ホスト機器から同一の論理ブロックに集中して書き込みコマンドが発行された場合においても、書き換えが同一の物理ブロックに集中することを防止している。
フラッシュメモリは、
(a)書き込み済みのページに上書きすることはできない。
(b)フラッシュメモリには書き換え回数寿命がある。
といった特徴がある。このため、論理ブロック番号と物理ブロック番号の対応表である論物変換テーブル181を作成し、ブロック管理手段180により管理している。
以下、ブロック管理手段180について詳細に説明する。論物変換テーブル181は図8に一例を示すように、論物変換主テーブル181aと論物変換補助テーブル181bを有している。論物変換主テーブル181aでは、論理ブロック番号LB0の論理ブロックが物理ブロック番号PB3の物理ブロックに、論理ブロック番号LB1の論理ブロックが物理ブロック番号PB6の物理ブロックにマッピングされていることを示している。また論理ブロック番号LBL及びLB(L+1)の論理ブロックには、対応する物理ブロックとして無効な番号Aが記録されている。これはこれらの論理ブロックLBL,LB(L+1)にデータが書かれていないことを示している。
また図8(b)に示す論物変換補助テーブル181bは、1つの論理ブロックに複数の物理ブロックが割り当てられたときに追加の物理ブロックの番号を保持するものである。この論物変換補助テーブル181bへの登録数は少なくとも1つとし、ここでは登録数が1の場合について説明する。
ブロック管理手段180では、空きブロック管理テーブル182を管理しながら半導体記憶装置全体のブロック管理を実施している。図9は空きブロック管理テーブル182の一例であり、各物理ブロックの使用状態を示す。使用状態が1の物理ブロックは使用中、0の物理ブロックは空きブロックで新たに使用できることを示す。
ブロック管理手段180は、電源が供給されると、空きブロック管理テーブル182の全ブロックを空き状態に初期化し、不良ブロックを使用済みに更新する。不良ブロックの管理は発明の本質から外れるので詳細な説明はしないが、フラッシュメモリの固定位置に書き込みしておく。次いで論物変換テーブル181を読み出し、これに基づいて使用されている物理ブロックを使用済みに更新する。また書き込み済みの論理ブロックを書き換えるときは、空きブロック管理テーブル182よりランダムにサーチして空き物理ブロックを新規物理ブロックとして選択する。選択された物理ブロックにデータが書き込まれると、そのブロックを使用済みブロックに、当該論理ブロックに対応していた直前の物理ブロックを空きブロックに更新する。
次に、データの更新について説明する。図10は、1つの物理ブロックのサイズに対応する論理ブロック、例えばLB1のデータを、1つの物理ブロック、例えばPB6に記録している図である。ここでこの論理ブロックLB1の一部の領域、例えばページ(K−1)を書き換える場合には、フラッシュメモリ140の新しい物理ブロックを抽出して消去し、書き換えが必要な領域に所望のデータを書き込み、書き込みが必要な領域以外の物理ブロックPB6のデータを新物理ブロックの対応するページにコピーする必要がある。図10においては、ページ(K−1)を書き換える場合、新規の物理ブロック、例えばPB11を抽出し、そのブロックにページ(K−1)のデータを書き込むと共に、ページ(K−1)以外のページをコピーする。しかし、書き換え毎にこの処理を行うと、書き込み速度や書き換え回数などの点において課題がある。書き込み速度の観点では、物理ブロック内の一部分の書き込みにおいて毎回物理ブロック分の書き込みが発生し、物理ブロック分の書き込み時間が必要になる。書き換え回数の点においても、同様に必要な書き込み回数以上の書き込みが必要になり、フラッシュメモリ140の寿命を短くする結果となる。
このために、本実施の形態では、一時的に2つの物理ブロックを利用して1つの論理アドレス空間を構成する。アドレス変換手段120が行う1つの論理アドレス空間を2つの物理ブロックから構成するアドレス変換方法について図11を用いて説明する。図11の左側は1つの論理ブロック、例えばLB6であり、この論理ブロックのデータを1つの物理ブロック、例えばPB8に記録しており、論理ブロックLB6の一部の領域を書き換える場合には、別の新規の物理ブロックを確保する。つまり、物理ブロックPB8を残したまま新たに物理ブロックPB5を確保して、物理ブロックPB5側にデータを追記していく。追記したデータについては、最新のデータで論理アドレス空間のデータを構成するが、追記が行われていないデータについては、物理ブロックPB8に記録されているデータで論理アドレス空間のデータを構成する。このように2つ目の物理ブロックへの書き込みを行った場合には、1つ目の物理ブロックに記録されているデータにエラーが伝搬されることはない。
次にこの半導体記憶装置の全体動作について、以下詳細に説明する。図12はこの実施の形態の動作を示すフローチャートであり、図13は使用例を示す。ここではホスト機器200をカメラレコーダ、半導体記憶装置100をその映像を記憶する媒体とし、通常1秒に30枚程度の画像を動画として記録する場合について説明する。映像を記録する場合は、継続的かつ連続アドレスへの記憶領域に記憶していく特徴がある。また、万が一、記録中に突然の電源断が発生した場合には、その瞬間の映像フレームを記録することは難しいために、電源断発生時には33ms程度の映像が記録されない場合が発生する。更に、セル共有による影響により記録中の位置を含む物理ブロック内のデータへの影響がおよぶ場合がある。そこで本実施の形態では、所定時間以上、過去に記録しておいたファイルが存在する場合には、そのファイルへの影響を及ぼさないようにしている。ここでは、一秒以上過去に記録しておいたデータの影響をさける動作の具体例である。
図13のパターン1は、電源ON直後の記録を説明する図である。電源ON後に記録する際には、それ以前のファイルの破壊は許されないために、書き込みコマンドがあれば、新物理ブロックにデータの書き込みを行う。まず、半導体記憶装置100の電源が投入されると、S11において半導体記憶装置100は内部の各モジュールの初期化を行う。初期化が終了すると、コマンド解析手段160は初期化が完了状態であることから、外部インターフェイス手段110に対してホスト機器200からのコマンドの受信を許可する(S12)。コマンド解析手段160は、電源ON後に書き込み処理が発生したかどうかを状態として管理しておく。電源ON後は、「書き込み処理が発生していない状態」を新ブロック確保判断手段170に対して通知する。
さて、ホスト機器200が半導体記憶装置100に書き込みコマンドを出すと、アドレス変換手段120は、ホスト機器200が書き込みを要求した論理アドレスを実際に書き込みを行う物理アドレスに変換する(S14)。アドレス変換手段120は、新ブロック確保判断手段170に対して書き込みを行うブロックを新規に確保すべきかどうかの判断を要求する。物理ブロック状態検出手段190は、書き込みコマンドに対応する物理ブロックの少なくとも一部にはデータが書かれている状態(以下、書き込み済み状態という)か、データが書かれていない状態(以下、未書き込み状態という)であるかを判断する(S16)。新ブロック確保判断手段170は、この情報を得て、物理ブロックの一部にデータが書かれていれば追記の状態になるので、コマンド解析手段160の電源ON後に未書き込み状態と合わせて新物理ブロックを確保するかを判断して、アドレス変換手段120に対して通知を行う。物理ブロック状態検出手段190が書き込み済み状態と判断すれば、新ブロック確保判断手段170は新物理ブロックを確保すると判断する。一方、物理ブロック状態検出手段190が未書き込み状態と判断すれば、新ブロック確保判断手段170は新物理ブロックを確保しないと判断する。新物理ブロックの確保が必要であれば、ブロック管理手段180は空きブロック管理テーブル182をサーチして新規物理ブロックを確保する(S17)。データ書き込み手段130は、新たに物理ブロックが確保された後に、フラッシュメモリ140に対して書き込みを行う(S18)。
この方法によれば、過去に書き込んだファイルを破壊しないで書き込むことができる。これについて、図14を用いて更に詳細に説明する。図14では左側の論理アドレス空間の論理ブロックLB6の一部に、図示のようにファイル1が既に書き込み済みであり、論理ブロックLB6に対応する物理ブロックPB8のページ0から(K−2)までにファイル1が書き込まれているものとする。この場合の論物変換テーブル181の状態の変化を説明する。図15は図14の物理ブロックPB8が登録されていることを示す論物変換テーブルである。即ち論物変換主テーブル181aの論理ブロック番号LB6は物理アドレス空間の物理ブロックPB8に割り当てられている。
さてこの状態で論理ブロックLB6にファイル2を追記する。通常の書き込みであれば、ファイル2は、物理ブロックPB8のページ(K−1)からページ(2K−1)に書き込むことになる。しかし、物理ブロックPB8に追記している途中のエラーや突然の電源断が発生した場合には、ファイル1が破壊される可能性がある。そこで、物理ブロックPB8へ追記はせずに新たに物理ブロックPB5を確保し、この物理ブロックPB5にファイル2を書き込む。図15(b)は、論理ブロックが2つの物理ブロックから構成される場合に利用する論物変換補助テーブル181bであり、このテーブルに示すように論理ブロックLB6が右下側の物理ブロックPB5にも割り当てられている。こうすれば、ファイル2の書き込み中に突然の電源断が発生しても、ファイル1とは物理ブロックが異なるために、ファイル1の破壊を回避することができる。
こうすれば図13のパターン1に示すように書き込みコマンドWC0に基づく書き込みにより、以前に記録済であった他のファイルが破壊されることはない。そして書き込みコマンドWC0の書き込み処理終了時にタイマ161の値がリセットされ、その後タイマは書き込み終了時からの時間の計測を開始する(S19)。
次に、図13に示すパターン2は、直前の書き込みコマンドWC1によるデータの書き込みの完了から所定時間Tが経過した後の書き込みの場合である。所定時間Tが経過後に、書き込みコマンド(WC2)があったときは、新物理ブロックを確保して、この物理ブロックへの書き込みを行う。即ちコマンド解析手段160は、ホスト機器200から新たに書き込みコマンド(WC2)を受信した場合、S15,S20からS16に進んで新ブロック確保判断手段170は、タイマ161の経過時間と、物理ブロック状態検出手段190から通知されている値から、パターン1と同様に新ブロックを確保するかどうかを判断する。所定時間Tが経過し、対応物理ブロックにデータが記録されている場合には、新たな物理ブロックへの書き込みを行う。このことにより、WC1で書き込まれたファイルを含む他のファイルへの影響を回避することができ、所定時間以上過去に記録を完了しているデータへの影響を避けることができる。
しかしながらすべての書き込みに対して、パターン1又はパターン2で書き込みを行うと、処理速度、書き換え回数の点で課題が発生する。
図13に示すパターン3は、直前のライトコマンド(WC1)による書き込み処理の完了から所定時間Tを経過する前に新たに書き込みコマンド(WC3)が与えられた場合である。この場合は、タイマ161が経過時間Tを計数していないので、S20からS21に進み、対応する物理ブロックの一部にのみ書き込みデータがあれば、新規ブロックを確保せずに、その物理ブロックに追記を行う(S22)。即ち図16に示すようにファイル1が書かれている論理ブロックLB6に対してファイル2を追加する場合に、物理ブロックPB8のページ(K−1)からページ(2K−1)までファイル2を追記する。パターン3での処理では、書き込みコマンド(WC2)の書き込み中に電源断が発生した場合には、セル共有部分のデータへの影響が発生する。しかし影響の範囲は時間的に直前に書き込みを行ったデータに限定され、所定時間以上過去に記録を完了しているデータへの影響はない。この処理は、新たに物理ブロックを確保する必要がないために書き換え回数、書き込み処理時間への影響を最小限に抑えることが可能になる。
パターン1,2による書き込みでは図14に示すように、1つの論理ブロックに対して2つの物理ブロックが必要になり、容量的に課題がある。このために、データの書き込みや読み出しを行っていないときに、新たな物理ブロックを確保して、2つの物理ブロックから有効なページのみを集めて1つの物理ブロックに集約する必要がある。集約処理について図17,図18を用いて説明する。集約処理では、図17の右側に示すように、新たに物理ブロック、ここではPB10を確保する。そして同一の論理ブロックLB6に対応する2つの物理ブロックPB8と物理ブロックPB5の有効なページのデータを集めて、物理ブロックPB10にコピーをする。コピーが完了すると、図18のように論物変換主テーブル181aでは論理ブロックLB6に対して物理ブロックPB10を登録すると共に、論物変換補助テーブル181bの論理ブロックLB6に無効番号であるAを登録する。
図19を用いて、実施の形態における書き込み処理を映像記録に適応する場合について、発生するパターンをより具体的に説明する。電源をオンとした後に映像を記録する場合には、記録開始直後の書き込みはパターン1になり、それ以降は記録停止までパターン3が継続することになる。つまり、記録中は、追記状態が継続することにより、転送速度を低下させることなく映像を記録することが可能になる。また記録停止後に、記録を再開する場合には、パターン2から始まり、それ以降は記録停止までパターン3が継続することになる。このように記録再開時には、パターン2の書き込みから始まるために、記録中に電源断が発生したとしても、記録再開よりも前に記録してある映像の破壊は発生しない。
かかる構成によれば、タイマにより前回の書き込みからの経過時間を計測して、所定時間以上経過している場合に、破壊が許されない過去のデータに影響を与えないように新物理ブロックを確保して書き込むことにより、書き込み中に突然の電源断が発生しても過去に書き込み済みであるファイルの破壊を回避することができる。又所定時間以内の書き込みに対しては新規に物理ブロックを確保せず追記書き込みを行うことにより、転送速度・書き換え回数への影響をなくすことが可能になる。
なお、ここではホスト機器から半導体記憶装置に映像を記録する場合の説明を行ったが、ホスト機器がパーソナルコンピュータ(PC)であってファイルを書き込む場合も、1つのファイルの書き込みを行うと図19に示すようにパターン1に続いて少なくとも1つのパターン3での記録をするので、同等の効果を得ることが可能になる。
また本実施の形態では、多値フラッシュメモリの1つのメモリセルに格納するビット数を2ビットとしたが、更に状態を増加させ1メモリセルに3ビット以上格納できるフラッシュメモリにも適応可能であることはいうまでもない。
更に、フラッシュメモリのみならず、他の不揮発性メモリに適応しても同様の効果が得られることはいうまでもない。また、ホスト機器から転送されるデータを記録する半導体記憶装置として説明したが、ホスト機器内に半導体記憶装置を備えた装置であっても同様の効果が得られることはいうまでもない。
尚ここでは物理ブロックを消去の最小の単位として説明しているが、物理ブロックは論理ブロックに対応するブロックとして規定されるものであるため、物理ブロックのサイズと消去の単位とが異なるものとしてもよい。この場合には1つの物理ブロックを消去の最小単位の整数倍のサイズとすることもできる。この場合には各消去の単位毎に現在の状態を空きブロック管理テーブル等で管理する必要がある。尚消去の単位は多値フラッシュメモリにおいてはメモリの共有関係を有するグループとして考えることができる。
本発明の半導体記憶装置は、セル共有部分のデータの破壊による影響を最小限にとどめることができるので、信頼性を必要とされる業務用分野等で有用である。
多値フラッシュメモリの構造を示す模式図 多値フラッシュメモリの電子の蓄積状態を示す模式図 多値フラッシュメモリの物理ブロックのセル共有を示す図 多値フラッシュメモリのセルの状態遷移図 多値フラッシュメモリを用いた場合のファイルの追加によるエラー伝搬発生の説明図 本発明の実施の形態における半導体記憶装置の構成図 フラッシュメモリにおけるメモリ領域の説明図 本実施の形態の論物変換テーブルの説明図 本実施の形態の空きブロック管理テーブルの説明図 物理ブロック内で部分的書き換えをする場合の説明図 本実施の形態の論理アドレス空間を2つの物理ブロックで構成をする場合説明図 本実施の形態の半導体記憶装置の動作を示すフローチャート 本実施の形態の新物理ブロックを確保するかどうかの判断を示す説明図 本実施の形態のファイルを別物理ブロックに書き込む手順を示す説明図 本実施の形態の1つの論理ブロックを2つの物理ブロックから構成する論物変換テーブルの説明図 本実施の形態のファイルを同一物理ブロックに追記して書き込む手順を示す説明図 本実施の形態の2つの物理ブロックを1ブロックに集約する手順を示す説明図 本実施の形態の1つの論理ブロックを1つの物理ブロックから構成する論物変換テーブルの説明図 映像記録に適用した書き込み処理を示す図
符号の説明
100 半導体記憶装置
110 外部インターフェイス手段
120 アドレス変換手段
130 データ書き込み手段
140 フラッシュメモリ
150 データ読み出し手段
160 コマンド解析手段
161 タイマ
170 新ブロック確保判断手段
180 ブロック管理手段
190 物理ブロック状態検出手段
181 論物変換テーブル
181a 論物変換主テーブル
181b 論物変換補助テーブル
182 空きブロック管理テーブル
200 ホスト機器

Claims (6)

  1. ホスト機器に接続される半導体記憶装置であって、
    複数の物理ブロックにより構成される不揮発性メモリと、
    前記ホスト機器より与えられる論理アドレスを前記不揮発性メモリの物理アドレスに変換するアドレス変換手段と、
    前記不揮発性メモリへデータの書き込みを行うデータ書き込み手段と、
    前記不揮発性メモリからデータの読み出しを行うデータ読み出し手段と、
    ホスト機器が発行するコマンドにかかる論理ブロックと前記不揮発性メモリの物理ブロックとの対応を記録してアドレス管理を行う論物変換テーブルを備えたブロック管理手段と、
    前記ホスト機器から受けたコマンドを解析すると共に、少なくとも1個前に発行された書き込みコマンドと当該コマンドとの相関を解析するコマンド解析手段と、
    前記ホスト機器からの書き込みコマンドが与えられたときに前記コマンド解析手段の解析結果と前記論物変換テーブルの情報をもとに新たな物理ブロックを確保するかを判断する新ブロック確保判断手段と、を具備し、
    少なくとも1個前に発行された書き込みコマンドによる書き込みから所定時間経過後に書き込みを行うときにはデータが書かれていない物理ブロックに書き込む半導体記憶装置。
  2. 前記新ブロック確保判断手段は、前記コマンド解析手段が電源投入後の最初の書き込み処理であると判断し、ホスト機器が転送を要求する論理アドレスに対応する物理ブロックが書き込み済み状態である場合、新たな物理ブロックを確保するものと判断する請求項1記載の半導体記憶装置。
  3. 前記コマンド解析手段は、1個前の書き込みコマンドによるデータの書き込みの完了時からの経過時間を計測するタイマを備え、
    前記新ブロック確保判断手段は、タイマ値が所定の経過時間を超えているときに、ホスト機器が転送を要求する論理アドレスに対応する物理ブロックが書き込み済みであっても、当該物理ブロックに追記せずに新たな物理ブロックを確保するものと判断する請求項1又は2記載の半導体記憶装置。
  4. 前記ブロック管理手段は、各物理ブロックの使用可否を示す空きブロック管理テーブルの登録、更新を行うと共に、データ書き込み時に前記空きブロック管理テーブルに基づいて新規物理ブロックを抽出するものである請求項1記載の半導体記録装置。
  5. 前記メモリは多値のフラッシュメモリであり、メモリセルを共有する単位をグループとすると前記物理ブロックは少なくとも1つのグループを含むものである請求項1記載の半導体記憶装置。
  6. 前記物理ブロックは、
    前記メモリの最小の消去単位及びその整数倍の消去単位のいずれかである請求項1乃至5のいずれか1項記載の半導体記憶装置。
JP2008320706A 2008-12-17 2008-12-17 半導体記憶装置 Active JP5264459B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008320706A JP5264459B2 (ja) 2008-12-17 2008-12-17 半導体記憶装置
US12/637,892 US8725930B2 (en) 2008-12-17 2009-12-15 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008320706A JP5264459B2 (ja) 2008-12-17 2008-12-17 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2010146150A true JP2010146150A (ja) 2010-07-01
JP5264459B2 JP5264459B2 (ja) 2013-08-14

Family

ID=42241937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008320706A Active JP5264459B2 (ja) 2008-12-17 2008-12-17 半導体記憶装置

Country Status (2)

Country Link
US (1) US8725930B2 (ja)
JP (1) JP5264459B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013130948A (ja) * 2011-12-20 2013-07-04 Aisin Seiki Co Ltd フラッシュメモリへのデータ書き込み方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199605A (ja) * 2002-12-20 2004-07-15 Matsushita Electric Ind Co Ltd 半導体メモリカードおよび管理情報更新方法
JP2005502972A (ja) * 2001-09-04 2005-01-27 パラゴン アクチエンゲゼルシャフト マイクロコントローラおよびeepromを含む回路装置の駆動方法
JP2006318366A (ja) * 2005-05-16 2006-11-24 Matsushita Electric Ind Co Ltd メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JP2008176487A (ja) * 2007-01-17 2008-07-31 Mitsubishi Electric Corp データ記憶装置、及びデータ記憶装置を備えた盗難防止装置
WO2008139689A1 (ja) * 2007-05-10 2008-11-20 Panasonic Corporation メモリコントローラ、半導体記録装置及び書き換え回数通知方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6170066B1 (en) * 1995-09-29 2001-01-02 Intel Corporation Power-off recovery management for sector based flash media managers
US6510083B1 (en) * 1995-11-29 2003-01-21 Intel Corporation Electrically erasable and programmable memory that allows data update without prior erasure of the memory
US7039788B1 (en) * 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
US7904635B2 (en) * 2003-03-04 2011-03-08 Netac Technology Co., Ltd. Power cut data recovery and data management method for flash media
US7535759B2 (en) * 2004-06-04 2009-05-19 Micron Technology, Inc. Memory system with user configurable density/performance option

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005502972A (ja) * 2001-09-04 2005-01-27 パラゴン アクチエンゲゼルシャフト マイクロコントローラおよびeepromを含む回路装置の駆動方法
JP2004199605A (ja) * 2002-12-20 2004-07-15 Matsushita Electric Ind Co Ltd 半導体メモリカードおよび管理情報更新方法
JP2006318366A (ja) * 2005-05-16 2006-11-24 Matsushita Electric Ind Co Ltd メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JP2008176487A (ja) * 2007-01-17 2008-07-31 Mitsubishi Electric Corp データ記憶装置、及びデータ記憶装置を備えた盗難防止装置
WO2008139689A1 (ja) * 2007-05-10 2008-11-20 Panasonic Corporation メモリコントローラ、半導体記録装置及び書き換え回数通知方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013130948A (ja) * 2011-12-20 2013-07-04 Aisin Seiki Co Ltd フラッシュメモリへのデータ書き込み方法

Also Published As

Publication number Publication date
US20100153629A1 (en) 2010-06-17
JP5264459B2 (ja) 2013-08-14
US8725930B2 (en) 2014-05-13

Similar Documents

Publication Publication Date Title
JP4256175B2 (ja) 不揮発性半導体メモリ
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
JP4688584B2 (ja) ストレージ装置
CN105718530B (zh) 文件存储系统及其文件存储控制方法
JP2008181380A (ja) メモリシステムおよびその制御方法
JP2011107851A (ja) メモリシステム
KR20100022026A (ko) 온-칩 비휘발성 메모리 기록 캐쉬를 사용하기 위한 시스템 및 방법
KR20120060236A (ko) 파워 인터럽트 관리
JP5073402B2 (ja) メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム
JP4866117B2 (ja) 不揮発性記憶装置、そのデータ書き込み方法、不揮発性記憶システム及びメモリコントローラ
JP5300496B2 (ja) 半導体記憶装置、ホスト機器及び半導体記憶システム
JP5166118B2 (ja) 半導体メモリの制御方法
US9378130B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
JP5338859B2 (ja) 記憶装置および情報処理システム
JP5494086B2 (ja) 不揮発性記憶装置および不揮発性メモリコントローラ
JP2012521032A (ja) Ssdコントローラおよびssdコントローラの動作方法
JP2008003684A (ja) 不揮発性記憶装置及び不揮発性記憶システム
JP2006338083A (ja) メモリコントローラ
JP5264459B2 (ja) 半導体記憶装置
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4551938B2 (ja) メモリシステム
JP4068594B2 (ja) フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリの制御方法
KR102462829B1 (ko) Nand 플래시 메모리의 보안 카피-백 프로그램 방법
US20240028507A1 (en) Storage system and method of operating the storage system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120207

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130430

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5264459

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150