JP4997798B2 - 不揮発性半導体記憶装置およびメモリシステム - Google Patents

不揮発性半導体記憶装置およびメモリシステム Download PDF

Info

Publication number
JP4997798B2
JP4997798B2 JP2006070416A JP2006070416A JP4997798B2 JP 4997798 B2 JP4997798 B2 JP 4997798B2 JP 2006070416 A JP2006070416 A JP 2006070416A JP 2006070416 A JP2006070416 A JP 2006070416A JP 4997798 B2 JP4997798 B2 JP 4997798B2
Authority
JP
Japan
Prior art keywords
information
management information
access
data
write
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.)
Active
Application number
JP2006070416A
Other languages
English (en)
Other versions
JP2007249469A (ja
Inventor
剛 石本
一弘 鈴木
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2006070416A priority Critical patent/JP4997798B2/ja
Priority to US11/714,871 priority patent/US7836243B2/en
Publication of JP2007249469A publication Critical patent/JP2007249469A/ja
Application granted granted Critical
Publication of JP4997798B2 publication Critical patent/JP4997798B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Description

本発明は、フラッシュメモリ等の不揮発性半導体記憶装置およびメモリシステムに関するものである。
管理情報をユーザデータとは別に不揮発性メモリ上に格納するストレージシステムにおいて、管理情報の格納頻度は電源遮断等に対するシステムの信頼性に影響を与える。
一方で、管理情報の格納はライト(書き込みという場合もある)時の処理においてオーバーヘッドとなるため、ライト時の性能にも影響を与える。
つまり、システムの信頼性とライト時の性能はトレードオフの関係にあるといえる。
通常、一つの不揮発性メモリストレージシステムにおいては、そのシステムで採用する管理方法によって常に同じ方法で管理情報の格納が行われる。そのシステムでは常に、ある信頼性を満たすために制限された性能で書き込みを行うことになる。
しかし、信頼性と性能のトレードオフを固定とすることで問題が生じることがある。信頼性重視とした手法を採った場合には、電源が確保されている場合など安全な状況においても無駄に手厚く管理情報を格納することになり、本来発揮できるはずの性能を発揮することができない。
一方、性能重視の手法を採った場合には、ある特定の状況では電源遮断の可能性があるといったことに対応できず、要求される信頼性を満たせないということにもなり得る。
ところで、不揮発性メモリストレージシステムにおいて、不揮発性メモリの不良からのユーザデータのリカバリのためにエラー訂正(ECC)機能が用いられる。
あるデータのまとまりに対して1ビットあるいは複数ビットの誤りを訂正可能とするために、データのライト時に特別なコードが付加され、リード(読み出しという場合もある)時にそのコードをチェックすることによって読み出したデータが正しいかどうかのチェックおよび誤りがあった場合の訂正を行う。
しかし、ECCの処理、特に読み出したデータに誤りがあったときの訂正については多くの時間を要し、パフォーマンス低下の要因となることがある。
通常、一つの不揮発性メモリストレージシステムにおいては、ユーザデータに対するECC処理は常に同じ方法が使用され、使用する不揮発性メモリに応じて十分な訂正能力を持つECCを常に使用することになる。
しかし、ユーザデータの中にはビットレベルの信頼性より読み書きのスピードを重視するものもあり、そのようなデータを扱う際にはパフォーマンスの低下を避けるためにECC処理を行わない方が望ましいという場合もある。
本発明は、アクセス時ごとに要求される信頼性を満たしつつ、その範囲内で実現できる最高の性能を出すことを可能とする不揮発性半導体記憶装置およびメモリシステムを提供することにある。
本発明の第1の観点の不揮発性半導体記憶装置は、電気的に書き換え可能な不揮発性メモリと、上記不揮発性メモリのアクセスに関する管理情報を更新可能に保持する管理情報保持部を含み、当該管理情報保持部に保持された管理情報に基づいて上記不揮発性メモリのアクセスを制御するコントローラと、を有し、上記アクセスに関する管理情報は、データの書き込みまたは読み出しのコマンドに付加されたアクセス頻度、アクセス方法、アクセス範囲、またはデータ転送方法のうちの少なくとも二つのアクセス情報を含み、上記コントローラは、書き込みコマンドを受けたときは、少なくともアクセス頻度およびアクセス方法を含むアクセス情報に基づいてアクセス制御を行い、読み出しコマンドを受けたときは、少なくともアクセス方法およびデータ転送方法を含むアクセス情報に基づいてアクセス制御を行う
好適には、上記不揮発性メモリは、書き込みデータを最小書き込み単位であるページ単位または複数のページを含むブロック単位の書き込みが可能であり、かつ上記管理情報を書き込み可能であり、上記アクセスに関する管理情報は、書き込みコマンドに付加されたアクセス頻度およびアクセス方法を示すフラグ情報を含み、上記コントローラは、上記フラグ情報に基づいて、上記書き込みデータをページ単位またはブロック単位での書き込み、並びに上記管理情報を上記フラグ情報が指定するタイミングで書き込みを行うようにアクセス制御を行う
好適には、上記フラグ情報は、第1情報、第2情報、第3情報、第4情報のうち少なくとも第1情報、第2情報、第3情報が設定され、上記コントローラは、上記フラグ情報が第1情報の場合、上記管理情報と上記ページ単位の書き込みごとに上記管理情報を書き込み、上記フラグ情報が第2情報の場合、上記ブロック単位の書き込みごとに上記管理情報を書き込み、上記フラグ情報が第3情報の場合、書き込みコマンドの開始時と終了時に上記管理情報を書き込む
好適には、記コントローラは、上記フラグ情報が第4情報の場合、書き込みコマンド中は上記管理情報の書き込みを行わない
好適には、上記アクセスに関する管理情報は、読み出しコマンドに付加されたアクセス方法およびデータ転送方法を示すフラグ情報を含み、上記コントローラは、上記不揮発性メモリから読み出しデータのエラーの有無を検出し、エラー訂正を行うエラー訂正部を含み、上記フラグ情報に基づいて、エラー訂正処理を行っていない読み出しデータ、エラーの有無を示す情報を付加した読み出しデータ、またはエラー訂正後の読み出しデータをホスト側に転送する
好適には、上記フラグ情報は、書き込みまたは読み出しのコマンドより前に発行される別コマンドに付加されたフラグ情報を含む
好適には、上記コントローラは、データ形式を解析し、解析結果に応じた管理情報を生成し、生成した管理情報に基づいてアクセス制御を行う。
本発明の第2の観点のメモリシステムは、電気的に書き換え可能な不揮発性メモリと、上記不揮発性メモリのアクセスに関する管理情報を更新可能に保持する管理情報保持部を含み、当該管理情報保持部に保持された管理情報に基づいて上記不揮発性メモリのアクセスを制御するコントローラと、上記コントローラに所定のコマンドを発行して上記不揮発性メモリのアクセスを行うホスト装置と、を有し、上記アクセスに関する管理情報は、上記ホスト装置で発行されるデータの書き込みまたは読み出しのコマンドに付加されたアクセス頻度、アクセス方法、アクセス範囲、またはデータ転送方法のうちの少なくとも二つのアクセス情報を含み、上記コントローラは、上記ホスト装置から書き込みコマンドを受けたときは、少なくともアクセス頻度およびアクセス方法を含むアクセス情報に基づいてアクセス制御を行い、読み出しコマンドを受けたときは、少なくともアクセス方法およびデータ転送方法を含むアクセス情報に基づいてアクセス制御を行う
本発明によれば、アクセス時ごとに要求される信頼性を満たしつつ、その範囲内で実現できる最高の性能を出すことが可能となるという利点がある。
以下、本発明の実施形態を図面に関連付けて説明する。
図1は、本発明の第1の実施形態に係る不揮発性半導体記憶装置を採用したメモリシステムの構成例を示す図である。
本システム1は、一つ以上(本実施形態では一つ)の不揮発性メモリユニット2、コントローラ3、およびホスト装置としてのCPUを含むホスト装置4により形成されている。
不揮発性メモリユニット2は、一つ以上の不揮発性メモリバンク21を有する。図1の例では、不揮発性メモリユニット2は、4つのメモリバンク21−0〜21−3を有している。
不揮発性メモリユニット2は、たとえばNAND型フラッシュメモリにより構成されている。
コントローラ3は、一方の入出力部(フラッシュ制御部)31が不揮発性メモリユニット2に接続され、他方の入出力部32がホストインタフェースを介してホスト装置4に接続されている。
コントローラ3は、アクセスの信頼性と性能との複数通りのトレードオフ事項の中から所望のトレードオフ事項を選択し、選択したトレードオフ事項に応じたアクセス制御を行う。
図1の例において、コントローラ3は、選択できるトレードオフ事項として、データの書き込み時の管理情報格納頻度を採用し、選択した管理情報格納頻度に応じたアクセス制御を行う。
コントローラ3は、揮発性のRAM33を内蔵しており、管理情報MNGINFまたはその一部をRAM33上に持つ。
図2は、管理情報の不揮発性メモリ上の構成およびRAM上の管理情報との関係の例を示す図である。
管理情報MNGINFとは、たとえば論理アドレスから物理アドレスに変換するための論物変換テーブルや不揮発性メモリのブロック/ページの使用状況、コマンドの現在の実行状況などステータス情報等であり、不揮発性メモリバンク21(-0〜3)の1ページにまとめられるものとする。
RAM33上の管理情報を不揮発性メモリの管理情報ブロック211,212(BLK−A、BLK−B)に書き込むことによって、その時点でのデータの管理状況が電源を切っても保証されることになる。
運用形態の例としては、管理情報MNGINFは、たとえば不揮発性メモリバンク21−0上で2ブロックを占有し、運用される。
管理情報MNGINFは、それまで最新の管理情報があったブロックの、次のページに追記する形で書き込まれる。そのブロックの最終ページまで埋まった場合には、もう一方のブロックを消去して先頭から書き込んでいく。これにより、最新の管理情報は、途中のページまで書き込まれた管理情報ブロックの、書き込みがある最終ページを探すことによって得ることができる。
次に、本実施形態におけるユーザデータと管理情報の格納の様子を図3〜図6に関連付けて説明する。
図3は、本実施形態におけるユーザデータと管理情報の格納の様子の第1例を示す図である。
図3は、最も頻繁に管理情報の格納を行う場合のユーザデータと管理情報の格納の様子を示している。
ホストからライトコマンド受信した後、ユーザデータのライト処理を不揮発性メモリバンク2の最小書き込み単位であるページごとのライト処理に分割し、その前後で必ず管理情報の格納が入るように構成する。
具体的には、管理情報ライトとページライトが繰り返される。
これにより、ページごとに不揮発性メモリ上の管理情報が更新され、いつ電源が落とされてもほぼ正確な管理情報を得ることができる。
図4は、本実施形態におけるユーザデータと管理情報の格納の様子の第2例を示す図である。
この第2例においては、ユーザデータのあるまとまり、ここではブロックのライトごとに管理情報を格納する。
ホストからライトコマンド受信した後、管理情報を書き込み、以後、ブロックライトと管理情報ライトが繰り返される。
この場合、途中で電源を落とされると管理情報は書き込み途中のブロックについて不正確な情報を持つことになるが、ユーザデータのライトをブロックごとにまとめて行うことができるため、ページごとに管理情報を格納する場合に比べてライト性能は向上する。
図5は、本実施形態におけるユーザデータと管理情報の格納の様子の第3例を示す図である。
この第3例においては、ライトコマンドの開始時と終了時にのみ管理情報を格納する。
この場合、ライトコマンドの実行中に電源が落とされると、管理情報はそのライトコマンドで書き込まれたブロックについて不正確な情報を持つことになるが、コマンドの完了時には正確な情報を持つことになる。この方法では、ブロックごとに管理情報を格納する場合に比べてさらにライト性能を向上することができる。
図6は、本実施形態におけるユーザデータと管理情報の格納の様子の第4例を示す図である。
この第4例においては、ライトコマンドの実行中には管理情報を格納しない。
この方法では、システム終了時やいくつかのライトコマンドにつき一回など、別の要因をトリガとして管理情報を格納する必要がある。
ライトコマンドが完了した後でも不揮発性メモリ上の管理情報が不正確な場合があるので、電源を切断する前にしかるべき処理を施す必要があるが、管理情報の格納によってユーザデータの格納が邪魔されないために、ライト性能はこれまで挙げた中では最高になる。
図7、図8、図9、および図10は、図3、図4、図5、および図6においてRAM33上の管理情報の更新タイミングおよび、不揮発性メモリ上に書き込まれたデータとRAM上の管理情報の不整合状態、RAM上の管理情報と不揮発性メモリ上の管理情報の不整合状態を示したものである。
データを不揮発性メモリに書き込んでからRAM上の管理情報を更新するまでが、図中に白抜き矢印で示した不揮発性メモリ上に書き込まれたデータとRAM上の管理情報に不整合がある期間となる。
RAM上の管理情報を更新してからその管理情報を不揮発性メモリ上に書き込むまでが、図中に黒矢印で示したRAM上の管理情報と不揮発性メモリ上の管理情報に不整合がある期間となる。
不揮発性メモリに書き込まれたデータとRAM上の管理情報、RAM上の管理情報と不揮発性メモリ上の管理情報の双方が整合の取れた状態であれば、電源遮断が起こっても問題のない状態と言える。
また、不整合が発生している状態で電源遮断が起こった場合には、一番最近に不整合がなくなった時点以降に書き込まれたデータは保証されないことになる。
図11は、トレードオフ事項の選択をコマンド内のパラメータによって行う場合の、ライトコマンドの例を示す図である。
ホスト装置4から送られる情報100Wは、図11に示すように、コマンド部110Wとデータ部120Wに大きく分けられる。
コマンド部110Wにはライトであることを示すコマンドコード111W、管理情報書き込み頻度のレベルを表すフラグ(flag)フィールド112W、データを書き込む先の先頭位置を論理アドレスで指定する開始LBA113W、書き込むデータのサイズを指定するLBA数114Wといった要素を含む。
データ部120Wには、実際に不揮発性メモリ上にユーザデータとして書き込むデータが入る。
ライト時、コマンドコード111Wはライトであることを示す。
フラグフィールド112Wは、たとえば2ビットにより形成され、ライトコマンド時、フラグが「00」の場合、ページごとに管理情報を格納することを示す(図3の処理に対応)。
フラグが「01」の場合、ブロックごとに管理情報を格納することを示す(図4の処理に対応)。
フラグが「10」の場合、コマンドの先頭と最後に管理情報を格納することを示す(図5の処理に対応)。
フラグが「11」の場合、コマンド中は管理情報を格納しないことを示す。
また、開始LBA113Wは、書き込みを行う開始位置の論理アドレスを示す。LBA数114Wは、書き込みを行う範囲を示す。
データ部120Wの書き込みを行うデータDTは、コマンド部110WのLBA数114Wに応じた長さとなる
図12は、ホスト装置がライトコマンドを発行する際に、電源の安定状況および必要とされる信頼性に応じて異なる管理情報格納方法を選択する処理を説明するためのフローチャートである。
ここで用いるコマンド名は図11のコマンド名“WRITE”に加えてflagビットを後ろにつけた形とする。
コマンド終了後も含めて安定した電源の供給が確保されている場合には、コマンドごとに管理情報を格納する必要はないので管理情報格納なしのライトコマンド“WRITE(11)”を発行する(ST101,ST102,ST103)。
コマンド終了後は不明であるがコマンドが完了するまでは電源が確保されている場合には、コマンド前後での管理情報格納を行うライトコマンド“WRITE(10)”を発行する(ST101,ST104,ST105,ST106)。
コマンド実行中でも電源遮断の可能性がある場合で、性能低下に関わらずできるだけ高い信頼性が要求される場合はページごとに管理情報格納を行うライトコマンド“WRITE(00)”を発行する(ST101,ST104,ST107,ST108,ST109)。
コマンド実行中でも電源遮断の可能性があるが性能も要求される場合は、ブロックごとに管理情報格納を行うライトコマンド“WRITE(01)”を発行する(ST101,ST104,ST107、ST110,ST111)。
図13は、本発明の第2の実施形態に係る不揮発性半導体記憶装置を採用したメモリシステムの構成例を示す図である。
本第2の実施形態のシステム1Aが第1の実施形態のシステム1と異なる点は、コントローラ3AがRAMの代わりに、バッファ34とECC回路35とを有し、リード時はバッファ34に読み込んだデータに対してECC回路35によるエラー判定およびエラー訂正を行ってからデータをホスト装置4に出力するようにしたことにある。
図14は、リード時に必要な処理とその時間について、信頼性とのトレードオフについて説明するための図である。
エラーのないデータを得るためには、不揮発性メモリからのデータリードに加えてECCのリード、ECCによるエラー有無の判定を行い、エラーがあった場合にはECCによるエラー訂正を行う必要がある。
リードデータについてエラーの有無がわかればよいという場合には、データリードに加えてECCのリードとECCによるエラー有無の判定まで行えば、エラーがあるかもしれないデータとそのデータに対するエラーの有無を得ることができる。
リードデータについて、エラーが混入していても良く、エラーの有無がわからなくてもよいという場合には、データリードのみ行えばよい。この場合はECC回路35自体を動かす必要がないため、コントローラの消費電力を削減できるという利点もある。
図15は、トレードオフ事項の選択をコマンド内のパラメータで行う場合のリードコマンドの例を示す図である。
図16(A),(B),(C)は、各パラメータでリードコマンドが発行された場合にデバイスからホストへ送出するデータの例を示す。
図15のホストから送られる情報100Rはコマンド部110Rのみである。
コマンド部110Rは、リードであることを示すコマンドコード111R、エラー訂正/エラーチェックの処理レベルを示すフラグ(flag)フィールド112R、データを読み出す先頭位置を論理アドレスで指定する開始LBA113R、読み出すデータのサイズを指定するLBA数114Rといった要素を含む。
リード時、コマンドコード111Rはリードであることを示す。
フラグフィールド112Rは、たとえば2ビットにより形成され、リードコマンド時、フラグが「00」の場合、ECC処理を行わずデータのみを出力することを示す。
フラグが「01」の場合、データに加えてエラーの有無を出力することを示す。
フラグが「10」の場合、必要に応じてエラー訂正を行うことを示す。
本例では、フラグ「11」は未使用である。
また、開始LBA113Rは、読み出しを行う開始位置の論理アドレスを示す。LBA数114Rは、読み出しを行う範囲を示す。
ライトコマンドのデータ部に対応するリードコマンドのデータ部120Rは、図16(A)〜(C)に示されるように、デバイスからホスト装置4へ送出されるデータになる。
図16(A)はflag=00でECCに関する処理を行わない場合の読み出しデータであり、エラーを含むかもしれないデータだけがホスト装置4に送られる。
図16(B)はflag=01でエラー有無の判定まで行った場合の読み出しデータであり、エラーを含むかもしれないデータと、そのデータにエラーが含まれるかどうかの情報がホスト装置4に送られる。
図16(C)はflag=10でエラー訂正まで行った場合の読み出しデータであり、エラー訂正を行ってエラーがなくなったデータがホスト装置4に送られる。
図17は、デバイス(コントローラ)からホスト装置に出力されるデータを生成するためのデータパスの構成例を示す図である。
コントローラ3Aは、バッファ34、ECC(エラー訂正回路)35、エラー判定回路36、結合回路37、マルチプレクサ38,39を有している。
バッファ34には、不揮発性メモリユニット2から読み出されたデータが保持される。この読み出しデータにはECC情報が付加されている。
ECC回路35は、バッファ34に保持されたデータおよびECC情報に基づいてエラーがある場合にエラー訂正処理を行う。
エラー判定回路36は、バッファ34に保持された生データおよびECC情報に基づいて、読み出しデータにエラーがあるか否かを判定する。
結合回路37は、バッファ34に保持された生データにエラー判定回路36の判定結果であるエラー有無情報を付加する。
マルチプレクサ38は、エラー判定回路36の判定結果に応じて生データまたはECC回路35の処理データのいずれかを選択して、マルチプレクサ39に出力する。マルチプレクサ38は、エラーがない場合にはエラー無しの生データを選択し、エラーが有る場合にはエラー訂正後のエラー無しデータを選択する。
マルチプレクサ39はリード情報100Rに含まれるフラグ情報に応じて、バッファ34に保持された生データ、結合回路37によりエラー有無情報が付加された生データ、またはマルチプレクサ38によるエラー無しデータを選択してホスト側に出力する。
図16(A)に示すように、不揮発性メモリから読み出したそのままのデータをホストに出力すれば良い場合(flag=00)は、図17に示すように、不揮発性メモリからデータ部を読み出したらそれをそのままホスト装置4に出力すれば良い。
図16(B)に示すように、エラーの有無を表す情報が必要な場合(flag=01)は、図17に示すように、不揮発性メモリからデータとECCを両方読み出し、それらをエラー判定回路36に入力してエラー有無の情報を得て、元のデータと結合したものをホスト装置4に出力する。
図16(C)に示すように、エラー無しのデータが必要な場合(flag=10)は、図17に示すように、不揮発性メモリから読み出したデータとECCをECC回路35に入力してエラー訂正処理を行うが、エラー訂正処理より早く終了するエラー判定処理によってエラーのないことがわかりエラー訂正処理の必要がない場合には不揮発性メモリから読み出したデータをそのまま出力するようにする。エラー判定処理によってエラーのあることがわかりエラー訂正処理が必要になった場合にはECC回路35の出力をホスト装置4に出力する。
図18は、ホスト装置がリードコマンドを発行する際に、必要とされるデータの信頼性に応じて異なるリード方法を選択する処理を説明するためのフローチャートである。
ここで用いるコマンド名は図15のコマンド名“READ”に加えてflagビットを後ろにつけた形とする。
リードしたデータにエラーの無いことが要求される場合には、エラー訂正まで行うコマンド“READ(10)”を発行する(ST121,ST122,ST123)。
リードしたデータにエラーが含まれていても構わないが、エラーの有無はわかる必要があるという場合には、エラー判定まで行うコマンド“READ(01)”を発行する(ST121,ST124,ST125,ST126)。
リードしたデータにエラーが含まれていても良く、エラーの有無がわからなくても構わないという場合には、データリードのみのコマンド“READ(00)”を発行する(ST121,ST124,ST127,ST128)。
また、ライト時も同様にエラーチェックの必要ないデータであればECCを付加せずに書き込むこととすれば、ECC計算時間の短縮やECC回路を動かさずに済むことによる消費電力抑制が可能となる。
以下に、上述したトレードオフ事項の各選択方法に対応したコントローラ3,3Aのより具体的な構成について説明する。
図19は、本実施形態に係るフラグによってトレードオフ事項の選択を行うコントローラの構成例を示す図である。
図19のコントローラ3Bは、大きくフラッシュ制御部311とホストインタフェース(IF)部321の2つに分かれ、フラッシュ制御部311に入力するフラグ(flag)によって複数のトレードオフ事項の選択を行う。
ホストインタフェース部321とフラッシュ制御部311の間には他にホスト装置4から発行されたコマンドCMDを伝える信号線312と、ホスト装置4との間でデータDATAを転送するための信号線313がある。
ホスト装置4とホストIF部321との間はコマンドCMDとデータDATAを束ねたホストインタフェース322で接続される。コマンドCMDとデータDATAは多重化されていても別の信号線になっていても構わない。
重複した部分もあるが、図20、図21、図22に関連付けてコントローラ3Bに対するフラグの指定方法の例を示す。
図20は、ホストが発行するリードやライトのコマンドにフラグを埋め込むことでトレードオフ事項の選択を行う様子を示す図である。
この例は、図11や図15に関連付けて説明したように、ホスト装置4から送られたコマンドCMDの一部を用いることで、ホスト装置4がコマンドごとに最適なレベルを指定することが可能となる。
図21は、あらかじめホストが発行した別コマンドによってフラグを設定しておき、後続のリードやライトのコマンドではその設定されたフラグを用いてトレードオフ事項の選択を行う様子を示す図である。
図21の例では、別コマンドとしてモードセレクトコマンドを発行し、それに付加された選択フラグをホストインタフェース部321のたとえばレジスタに保持しておき、後続のリードやライトコマンドを受けたときに、保持していたフラグ情報に応じてトレードオフ事項の選択を行う。
この選択方法によれば、既存のシステムに適用する場合に、通常使用していたリードやライトのコマンドを変えずに拡張することが可能という利点がある。また、後続のコマンドでは何度も同じ設定をする必要がないという利点がある。
図22は、リードやライトの対象となるデータの中のフラグでトレードオフ事項の選択を行う様子を示す図である。
この例では、リード時には、読み出したデータの中のフラグを用いるため、データ自身に基づいてコントローラ3Bがトレードオフ事項の選択を行う形となる。ライト時でも、ホストがその都度トレードオフ事項の選択に関与する必要がなくなる。
なお、フラグについては、この不揮発性メモリシステムでのトレードオフ事項の選択のために埋め込まれたフラグだけでなく、ネットワークパケット内のQoSフラグ等、他の指標も使用可能である。
図23は、トレードオフ事項の選択にデータを用いる場合の別の例として、データの形式をコントローラが解析してその形式に応じたフラグを自動選択する様子を示す図である。
この例では、FAT情報やシステムファイル、MPEG形式の動画ファイルなど、データの形式によって要求される信頼性やスピードなどのパラメータが異なるので、コントローラ3Bがデータ形式を判別して自動的に最適な方法を選択できるように構成されている。
すなわち、ホスト装置4の取り扱うデータには、システムファイルやFAT情報など信頼性を特に重視するものから、動画データなど多少のビット誤りがあっても気づかなかったりデータ内部にあるエラー訂正機能によって訂正されてしまう一方で、転送速度を重視するものまでさまざまなものがあるが、それらの多くはデータの形式によって判別することが可能である。
したがって、本例においては、データの形式をコントローラ3B内部のフラッシュ制御部311やホストインタフェース部321で判別し、その形式に応じた方法を用いることで、そのデータに最適なリード/ライトの手段を取ることが可能となる。
図23の例においては、ファイル形式を解析し、形式に応じたフラグを発行している。
たとえばファイル形式がFATでリード時のフラグは「10」、ライト時のフラグは「00」に設定する。MPEGの場合、リード時のフラグは「00」、ライト時のフラグは「10」に設定する。DBの場合、リード時のフラグは「10」、ライト時のフラグは「01」に設定する。RAWの場合、リード時のフラグは「10」、ライト時のフラグは「11」に設定する。
本実施形態によれば、不揮発性メモリを用いたメモリシステムにおいて、性能/信頼性のトレードオフを使用者側が任意に、あるいはデータの種類に応じて適切に選択することが可能になる。
これにより、必要な信頼性を維持しつつ読み書きの性能を向上させることが可能になる。
また、不要な回路を止めることにより消費電力との間でもトレードオフを使用者側で選択可能となり、適切なトレードオフを選択することで消費電力も削減することが可能となる。
換言すれば、パラメータをライト時やリード時にホスト等から制御することで、その時ごとに要求される信頼性を満たしつつ、その範囲内で実現できる最高の性能を出すことが可能となる。
また、本実施形態によれば、信頼性と性能のトレードオフだけでなく、たとえばライト中にコマンドが強制終了するなどして同じ論理アドレスを持つブロックが複数できた場合に、古い方と新しい方のどちらをリードコマンドで読み出すかといった、新しいもの/完全に書き込まれたものの選択を行うことも可能となる利点がある。
本発明の第1の実施形態に係る不揮発性半導体記憶装置を採用したメモリシステムの構成例を示す図である。 管理情報の不揮発性メモリ上の構成およびRAM上の管理情報との関係の例を示す図である。 本実施形態におけるユーザデータと管理情報の格納の様子の第1例を示す図である。 本実施形態におけるユーザデータと管理情報の格納の様子の第2例を示す図である。 本実施形態におけるユーザデータと管理情報の格納の様子の第3例を示す図である。 本実施形態におけるユーザデータと管理情報の格納の様子の第4例を示す図である。 図3においてRAM上の管理情報の更新タイミングおよび、不揮発性メモリ上に書き込まれたデータとRAM上の管理情報の不整合状態、RAM上の管理情報と不揮発性メモリ上の管理情報の不整合状態を示す図である。 図4においてRAM上の管理情報の更新タイミングおよび、不揮発性メモリ上に書き込まれたデータとRAM上の管理情報の不整合状態、RAM上の管理情報と不揮発性メモリ上の管理情報の不整合状態を示す図である。 図5おいてRAM上の管理情報の更新タイミングおよび、不揮発性メモリ上に書き込まれたデータとRAM上の管理情報の不整合状態、RAM上の管理情報と不揮発性メモリ上の管理情報の不整合状態を示す図である。 図6おいてRAM上の管理情報の更新タイミングおよび、不揮発性メモリ上に書き込まれたデータとRAM上の管理情報の不整合状態、RAM上の管理情報と不揮発性メモリ上の管理情報の不整合状態を示す図である。 トレードオフ事項の選択をコマンド内のパラメータによって行う場合の、ライトコマンドの例を示す図である。 ホスト装置がライトコマンドを発行する際に、電源の安定状況および必要とされる信頼性に応じて異なる管理情報格納方法を選択する処理を説明するためのフローチャートである。 本発明の第2の実施形態に係る不揮発性半導体記憶装置を採用したメモリシステムの構成例を示す図である。 リード時に必要な処理とその時間について、信頼性とのトレードオフについて説明するための図である。 トレードオフ事項の選択をコマンド内のパラメータで行う場合のリードコマンドの例を示す図である。 各パラメータでリードコマンドが発行された場合にデバイスからホストへ送出するデータの例を示す図である。 デバイス(コントローラ)からホスト装置に出力されるデータを生成するためのデータパスの構成例を示す図である。 ホスト装置がリードコマンドを発行する際に、必要とされるデータの信頼性に応じて異なるリード方法を選択する処理を説明するためのフローチャートである。 本実施形態に係るフラグによってトレードオフ事項の選択を行うコントローラの構成例を示す図である。 ホストが発行するリードやライトのコマンドにフラグを埋め込むことでトレードオフ事項の選択を行う様子を示す図である。 あらかじめホストが発行した別コマンドによってフラグを設定しておき、後続のリードやライトのコマンドではその設定されたフラグを用いてトレードオフ事項の選択を行う様子を示す図である。 リードやライトの対象となるデータの中のフラグでトレードオフ事項の選択を行う様子を示す図である。 トレードオフ事項の選択にデータを用いる場合の別の例として、データの形式をコントローラが解析してその形式に応じたフラグを自動選択する様子を示す図である。
符号の説明
1,1A・・・メモリシステム、2・・・不揮発性メモリユニット、21−0〜21−3・・・バンク、3,3A,3B・・・コントローラ、311・・・フラッシュ制御部、321・・・ホストインタフェース部、4・・・ホスト装置。

Claims (14)

  1. 電気的に書き換え可能な不揮発性メモリと、
    上記不揮発性メモリのアクセスに関する管理情報を更新可能に保持する管理情報保持部を含み、当該管理情報保持部に保持された管理情報に基づいて上記不揮発性メモリのアクセスを制御するコントローラと、を有し、
    上記アクセスに関する管理情報は、
    データの書き込みまたは読み出しのコマンドに付加されたアクセス頻度、アクセス方法、アクセス範囲、またはデータ転送方法のうちの少なくとも二つのアクセス情報を含み、
    上記コントローラは、
    書き込みコマンドを受けたときは、少なくともアクセス頻度およびアクセス方法を含むアクセス情報に基づいてアクセス制御を行い、
    読み出しコマンドを受けたときは、少なくともアクセス方法およびデータ転送方法を含むアクセス情報に基づいてアクセス制御を行う
    不揮発性半導体記憶装置。
  2. 上記不揮発性メモリは、書き込みデータを最小書き込み単位であるページ単位または複数のページを含むブロック単位の書き込みが可能であり、かつ上記管理情報を書き込み可能であり、
    上記アクセスに関する管理情報は、
    書き込みコマンドに付加されたアクセス頻度およびアクセス方法を示すフラグ情報を含み、
    上記コントローラは、
    上記フラグ情報に基づいて、上記書き込みデータをページ単位またはブロック単位での書き込み、並びに上記管理情報を上記フラグ情報が指定するタイミングで書き込みを行うようにアクセス制御を行う
    請求項1記載の不揮発性半導体記憶装置。
  3. 上記フラグ情報は、
    第1情報、第2情報、第3情報、第4情報のうち少なくとも第1情報、第2情報、第3情報が設定され、
    上記コントローラは、
    上記フラグ情報が第1情報の場合、上記管理情報と上記ページ単位の書き込みごとに上記管理情報を書き込み、
    上記フラグ情報が第2情報の場合、上記ブロック単位の書き込みごとに上記管理情報を書き込み、
    上記フラグ情報が第3情報の場合、書き込みコマンドの開始時と終了時に上記管理情報を書き込む
    請求項記載の不揮発性半導体記憶装置。
  4. 記コントローラは、
    上記フラグ情報が第4情報の場合、書き込みコマンド中は上記管理情報の書き込みを行わない
    請求項記載の不揮発性半導体記憶装置。
  5. 上記アクセスに関する管理情報は、
    読み出しコマンドに付加されたアクセス方法およびデータ転送方法を示すフラグ情報を含み、
    上記コントローラは、
    上記不揮発性メモリから読み出しデータのエラーの有無を検出し、エラー訂正を行うエラー訂正部を含み、
    上記フラグ情報に基づいて、エラー訂正処理を行っていない読み出しデータ、エラーの有無を示す情報を付加した読み出しデータ、またはエラー訂正後の読み出しデータをホスト側に転送する
    請求項1から4のいずれか一に記載の不揮発性半導体記憶装置。
  6. 上記フラグ情報は、
    書き込みまたは読み出しのコマンドより前に発行される別コマンドに付加されたフラグ情報を含む
    請求項2から5のいずれか一に記載の不揮発性半導体記憶装置。
  7. 上記コントローラは、
    データ形式を解析し、解析結果に応じた管理情報を生成し、生成した管理情報に基づいてアクセス制御を行う
    請求項1記載の不揮発性半導体記憶装置。
  8. 電気的に書き換え可能な不揮発性メモリと、
    上記不揮発性メモリのアクセスに関する管理情報を更新可能に保持する管理情報保持部を含み、当該管理情報保持部に保持された管理情報に基づいて上記不揮発性メモリのアクセスを制御するコントローラと、
    上記コントローラに所定のコマンドを発行して上記不揮発性メモリのアクセスを行うホスト装置と、を有し、
    上記アクセスに関する管理情報は、
    上記ホスト装置で発行されるデータの書き込みまたは読み出しのコマンドに付加されたアクセス頻度、アクセス方法、アクセス範囲、またはデータ転送方法のうちの少なくとも二つのアクセス情報を含み、
    上記コントローラは、
    上記ホスト装置から書き込みコマンドを受けたときは、少なくともアクセス頻度およびアクセス方法を含むアクセス情報に基づいてアクセス制御を行い、
    読み出しコマンドを受けたときは、少なくともアクセス方法およびデータ転送方法を含むアクセス情報に基づいてアクセス制御を行う
    メモリシステム。
  9. 上記不揮発性メモリは、書き込みデータを最小書き込み単位であるページ単位または複数のページを含むブロック単位の書き込みが可能であり、かつ上記管理情報を書き込み可能であり、
    上記アクセスに関する管理情報は、
    書き込みコマンドに付加されたアクセス頻度およびアクセス方法を示すフラグ情報を含み、
    上記コントローラは、
    上記フラグ情報に基づいて、上記書き込みデータをページ単位またはブロック単位での書き込み、並びに上記管理情報を上記フラグ情報が指定するタイミングで書き込みを行うようにアクセス制御を行う
    請求項8記載のメモリシステム。
  10. 上記フラグ情報は、
    第1情報、第2情報、第3情報、第4情報のうち少なくとも第1情報、第2情報、第3情報が設定され、
    上記コントローラは、
    上記フラグ情報が第1情報の場合、上記管理情報と上記ページ単位の書き込みごとに上記管理情報を書き込み、
    上記フラグ情報が第2情報の場合、上記ブロック単位の書き込みごとに上記管理情報を書き込み、
    上記フラグ情報が第3情報の場合、書き込みコマンドの開始時と終了時に上記管理情報を書き込む
    請求項記載のメモリシステム。
  11. 記コントローラは、
    上記フラグ情報が第4情報の場合、書き込みコマンド中は上記管理情報の書き込みを行わない
    請求項10記載のメモリシステム。
  12. 上記アクセスに関する管理情報は、
    読み出しコマンドに付加されたアクセス方法およびデータ転送方法を示すフラグ情報を含み、
    上記コントローラは、
    上記不揮発性メモリから読み出しデータのエラーの有無を検出し、エラー訂正を行うエラー訂正部を含み、
    上記フラグ情報に基づいて、エラー訂正処理を行っていない読み出しデータ、エラーの有無を示す情報を付加した読み出しデータ、またはエラー訂正後の読み出しデータをホスト側に転送する
    請求項8から11のいずれか一に記載のメモリシステム。
  13. 上記フラグ情報は、
    書き込みまたは読み出しのコマンドより前に発行される別コマンドに付加されたフラグ情報を含む
    請求項9から12のいずれか一に記載のメモリシステム。
  14. 上記コントローラは、
    データ形式を解析し、解析結果に応じた管理情報を生成し、生成した管理情報に基づいてアクセス制御を行う
    請求項8記載のメモリシステム。
JP2006070416A 2006-03-01 2006-03-15 不揮発性半導体記憶装置およびメモリシステム Active JP4997798B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006070416A JP4997798B2 (ja) 2006-03-15 2006-03-15 不揮発性半導体記憶装置およびメモリシステム
US11/714,871 US7836243B2 (en) 2006-03-01 2007-03-07 Nonvolatile semiconductor memory apparatus and memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006070416A JP4997798B2 (ja) 2006-03-15 2006-03-15 不揮発性半導体記憶装置およびメモリシステム

Publications (2)

Publication Number Publication Date
JP2007249469A JP2007249469A (ja) 2007-09-27
JP4997798B2 true JP4997798B2 (ja) 2012-08-08

Family

ID=38472705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006070416A Active JP4997798B2 (ja) 2006-03-01 2006-03-15 不揮発性半導体記憶装置およびメモリシステム

Country Status (2)

Country Link
US (1) US7836243B2 (ja)
JP (1) JP4997798B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009097681A1 (en) 2008-02-04 2009-08-13 Mosaid Technologies Incorporated Flexible memory operations in nand flash devices
US8068365B2 (en) * 2008-02-04 2011-11-29 Mosaid Technologies Incorporated Non-volatile memory device having configurable page size
JP5330432B2 (ja) * 2011-03-11 2013-10-30 株式会社東芝 データ記憶装置及びテーブル管理方法
KR101818176B1 (ko) 2011-12-12 2018-01-15 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US9524236B1 (en) * 2014-01-09 2016-12-20 Marvell International Ltd. Systems and methods for performing memory management based on data access properties
JP6455266B2 (ja) * 2015-03-20 2019-01-23 株式会社リコー 記録装置及び記録方法
JPWO2023100212A1 (ja) * 2021-11-30 2023-06-08

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134495A (ja) * 1999-11-05 2001-05-18 Sony Corp マルチメディア情報の読み出し方法、マルチメディア情報の読み出し装置、記憶媒体ドライブ装置、伝送媒体、情報ストリーム、電子機器
US20020188801A1 (en) * 2001-03-30 2002-12-12 Intransa, Inc., A Delaware Corporation Method and apparatus for dynamically controlling a caching system
KR100498492B1 (ko) * 2003-03-19 2005-07-01 삼성전자주식회사 데이타 형태에 따른 데이타 처리 방법 및 장치
US20050041453A1 (en) * 2003-08-22 2005-02-24 Brazis Paul W. Method and apparatus for reading and writing to solid-state memory
US8645622B2 (en) * 2003-11-18 2014-02-04 International Business Machines Corporation Method to protect data on a disk drive from uncorrectable media errors
JP4151644B2 (ja) * 2004-11-29 2008-09-17 松下電器産業株式会社 メモリカードドライブ
US7502921B2 (en) * 2005-08-02 2009-03-10 Sandisk Corporation Situation sensitive memory performance
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface

Also Published As

Publication number Publication date
US7836243B2 (en) 2010-11-16
JP2007249469A (ja) 2007-09-27
US20070208906A1 (en) 2007-09-06

Similar Documents

Publication Publication Date Title
JP4997798B2 (ja) 不揮発性半導体記憶装置およびメモリシステム
US20070214309A1 (en) Nonvolatile storage device and data writing method thereof
US8996791B2 (en) Flash memory device, memory control device, memory control method, and storage system
KR20070076849A (ko) 메모리 카드의 카피백 동작을 수행하는 장치 및 방법
JP2007299389A (ja) フラッシュ・メモリへの書込み方法及び書込み装置
US20050278480A1 (en) Method of writing data into flash memory
TWI420313B (zh) 資料管理方法、記憶體控制器與嵌入式記憶體儲存裝置
JP4843222B2 (ja) 半導体記憶装置の制御方法、メモリカード、及びホスト機器
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
US8074012B2 (en) Flash memory apparatus and method for securing a flash memory from data damage
US8230276B2 (en) Writing to memory using adaptive write techniques
KR20030065355A (ko) 기억장치, 데이터 처리 방법 및 데이터 처리 프로그램
KR20170086840A (ko) 데이터 저장 장치 및 그것의 동작 방법
JP2015011421A (ja) 記憶制御装置、記憶装置、および、その記憶制御方法
JP2010086009A (ja) 記憶装置およびメモリ制御方法
CN101937719B (zh) 将信息数据写入闪速存储器件时处理写错误的方法和装置
US8386739B2 (en) Writing to memory using shared address buses
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method
JP5949122B2 (ja) 制御装置、記憶装置、記憶制御方法
WO2010013437A1 (ja) 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム
JP2005115562A (ja) フラッシュrom制御装置
JP3747213B1 (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
JP2006244017A (ja) データコピー方法
US20070174739A1 (en) Disk device, method of writing data in disk device, and computer product
JP2007310803A (ja) 不揮発性記憶装置の書き込み方法および読み出し方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120104

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4997798

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250