JP2010266962A - 記憶装置、その制御方法及びその記憶装置を備える電子装置 - Google Patents

記憶装置、その制御方法及びその記憶装置を備える電子装置 Download PDF

Info

Publication number
JP2010266962A
JP2010266962A JP2009115880A JP2009115880A JP2010266962A JP 2010266962 A JP2010266962 A JP 2010266962A JP 2009115880 A JP2009115880 A JP 2009115880A JP 2009115880 A JP2009115880 A JP 2009115880A JP 2010266962 A JP2010266962 A JP 2010266962A
Authority
JP
Japan
Prior art keywords
data
writing
slc
nonvolatile memory
written
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.)
Withdrawn
Application number
JP2009115880A
Other languages
English (en)
Inventor
Kimiyasu Aida
公康 会田
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 Storage Device Corp
Original Assignee
Toshiba Storage Device 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 Storage Device Corp filed Critical Toshiba Storage Device Corp
Priority to JP2009115880A priority Critical patent/JP2010266962A/ja
Publication of JP2010266962A publication Critical patent/JP2010266962A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】ホストからのアクセスが中断されることなく、不揮発性メモリの交換を可能とすることができる記憶装置、その制御方法及びその記憶装置を用いた電子装置を提供すること。
【解決手段】ホスト28から受信したデータをメインSLC12aに書き込むデータ書き込み部32と、メインSLC12aの消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する判定部40と、メインSLC12aに書き込まれたデータのうち、一定時間以上、ホストから書き込みアクセスのないLBAのデータを、メインSLC12aよりも書き込み速度の遅いMLC10に転送するデータ転送部34と、を有し、データ書き込み部32は、メインSLC12aの消去回数が前記所定回数に到達したと判定された後、ホストから受信するデータをMLCよりも書き込み速度の速いスペアSLC12bに書き込む記憶装置である。
【選択図】図1

Description

本発明は、記憶装置、その制御方法及びその記憶装置を備える電子装置に関する。
パーソナルコンピュータ等に用いられる記憶装置として、近年、磁気ディスク装置(HDD:Hard Disk Drive)の代わりに、不揮発性メモリであるフラッシュメモリを用いた記憶装置(SSD:Solid State Drive)が開発されている。フラッシュメモリは、一般に、HDDと比較して、耐振動性及び低消費電力性において優れている。
フラッシュメモリは、データの書き込み可能回数が有限であるという特徴を有する。例えば、多値フラッシュメモリ(MLC:Multi Level Cell)では1万回、二値フラッシュメモリ(SLC:Single Level Cell)では10万回である。
また、多値フラッシュメモリは、二値フラッシュメモリと比較して、面積当りの記憶容量は優れているが、書き込み速度や消去速度が劣るという特徴がある。このため、ホストから受信したデータを、まず、書き込み速度の速い二値フラッシュメモリに書き込み、その後バックグランドで、多値フラッシュメモリにデータを移動させる技術が提案されている(例えば、特許文献1)。これによれば、多値フラッシュメモリの書き込み速度の遅さはホストには見えず、且つ、面積当りの記憶容量を稼ぐことができる。
また、データの書き込み可能回数が有限であるフラッシュメモリを用いた記憶装置では、フラッシュメモリや記憶装置の寿命を延ばす様々な技術が提案されている(例えば、特許文献2から5)。
例えば、特許文献2及び3には、書き込み回数が書き込み可能回数に近づいたフラッシュメモリを新たなフラッシュメモリと交換することで、記憶装置の寿命を延ばす構成が記載されている。特許文献4には、フラッシュメモリへの書き込み回数を抑制する方法を提案することで、フラッシュメモリの寿命を延ばす構成が記載されている。特許文献5には、記憶装置内の複数のフラッシュメモリを順次切換えて使用することで、記憶装置の寿命を延ばす構成が記載されている。
米国特許5671388号明細書 特開2002−49535号公報 特開平10−188584号公報 特開2008−186295号公報 特開平11−296439号公報
特許文献1の方法では、ホストからのデータは二値フラッシュメモリに一旦書き込まれるため、二値フラッシュメモリの書き込み可能回数が優れていても、書き込み回数が書き込み可能回数を超えてしまう場合があり得る。このため、記憶装置の寿命を延ばすには、書き込み可能回数に近づいた二値フラッシュメモリを新たな二値フラッシュメモリに交換することが考えられる。
また、ホストからは絶えず新たな書き込みアクセスや読み出しアクセスがされているため、二値フラッシュメモリの交換が必要になった場合でも、ホストからのアクセスが中断されないことが求められている。
そこで、本発明は、ホストからのアクセスが中断されることなく、不揮発性メモリの交換を可能とすることができる記憶装置、その制御方法及びその記憶装置を用いた電子装置を提供することを目的とする。
本明細書に記載の記憶装置は、外部から受信したデータを第1不揮発性メモリに書き込むデータ書き込み部と、前記第1不揮発性メモリの書き込み回数又は消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する判定部と、前記第1不揮発性メモリに書き込まれたデータのうち、一定時間以上、前記外部から書き込みアクセスのない論理ブロックアドレスのデータを、前記第1不揮発性メモリよりも書き込み速度の遅い第2不揮発性メモリに転送するデータ転送部と、を有し、前記データ書き込み部は、前記第1不揮発性メモリの書き込み回数又は消去回数が前記所定回数に到達したと判定された後、前記外部から受信するデータを前記第2不揮発性メモリよりも書き込み速度の速い第3不揮発性メモリに書き込むことを特徴とする記憶装置である。
これによれば、第1不揮発性メモリの書き込み回数又は消去回数が所定回数に到達したときに書き込まれていたデータの論理ブロックアドレスに対応するデータを、第2不揮発性メモリ及び第3不揮発性メモリに書き込むことができる。また、第1不揮発性メモリの書き込み回数又は消去回数が所定回数に到達した後に外部から受信するデータを第3不揮発性メモリに書き込むため、外部からのアクセスが中断されることはない。したがって、外部からのアクセスを中断することなく、第1不揮発性メモリの交換を可能とすることができる。
本明細書に記載の記憶装置の制御方法は、外部から受信したデータを第1不揮発性メモリに書き込むデータ書き込み工程と、前記第1不揮発性メモリへの書き込み回数又は消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する判定工程と、前記第1不揮発性メモリに書き込まれたデータのうち、一定時間以上、前記外部から書き込みアクセスのない論理ブロックアドレスのデータを、前記第1不揮発性メモリよりも書き込み速度の遅い第2不揮発性メモリに転送するデータ転送工程と、を有し、前記データ書き込み工程は、前記第1不揮発性メモリの書き込み回数又は消去回数が前記所定回数に到達したと判定された後、前記外部から受信するデータを前記第2不揮発性メモリよりも書き込み速度の速い第3不揮発性メモリに書き込むことを特徴とする記憶装置の制御方法である。
これによれば、第1不揮発性メモリの書き込み回数又は消去回数が所定回数に到達したときに書き込まれていたデータの論理ブロックアドレスに対応するデータを、第2不揮発性メモリ及び第3不揮発性メモリに書き込むことができる。また、第1不揮発性メモリの書き込み回数又は消去回数が所定回数に到達した後に外部から受信するデータを第3不揮発性メモリに書き込むため、外部からのアクセスが中断されることはない。したがって、外部からのアクセスを中断することなく、第1不揮発性メモリの交換を可能とすることができる。
本明細書に記載の電子装置は、本明細書に記載の記憶装置を備えている。
これによれば、記憶装置へのアクセスが中断されず、且つデータの書き込み可能回数が多い電子装置を得ることができる。
本明細書に記載の記憶装置及びその制御方法によれば、外部からのアクセスを中断することなく、第1不揮発性メモリの交換を可能とすることができるという効果を奏する。また、本明細書に記載の電子装置によれば、記憶装置へのアクセスが中断されず、且つデータ書き込み可能回数が多い電子装置が得られるという効果を奏する。
図1は実施例に係るフラッシュSSDの構成を説明するブロック図である。 図2(a)から図2(c)は不揮発性メモリ管理テーブルを説明する図である。 図3は実施例に係るフラッシュSSDのMPUの機能ブロック図である。 図4は実施例に係るフラッシュSSDのMPUが行う制御を説明するフローチャートである。 図5は実施例に係るフラッシュSSDのMPUが行うバックグランド処理を説明するフローチャートである。 図6はメインSLCに書き込まれたデータのLBAに対応するデータを、スペアSLC及びMLCに書き込むことを説明する図である。 図7(a)から図7(c)はSLCの交換方法を説明するためのSLCとメモリースロットの斜視図である。 図8は実施例に係るフラッシュSSDを備えた電子装置のブロック図である。
以下、図面を参照して、本発明の記憶装置の実施例としてフラッシュSSD(Solid State Drive)100について説明する。
図1は、実施例に係るフラッシュSSD100のブロック図である。図1のように、フラッシュSSD100は、多値フラッシュメモリ(MLC)10、二値フラッシュメモリ(SLC)12、ROM(Read Only Memory)16、メモリ18、MPU(Micro Processing Unit)20、SSD(Solid State Drive)コントローラ22、及びバッファ24、を有する。メモリ18とバッファ24は、例えばRAM(Random Access Memory)からなる。MLC10は、前述したように、SLC12に比べて書き込み速度や消去速度が劣るという特徴があり、例えば、SLC12の書き込み速度は200μs、消去速度は1.5msから2msであるのに対し、MLC10の書き込み速度は800μs、消去速度は2.5msから3msである。なお、読み出し速度については、MLC10とSLC12とは同程度で殆ど差異はない。また、MLC10の書き込み可能回数は、例えば1万回であり、SLC12の書き込み可能回数、例えば10万回に比べて劣るという特徴がある。
MLC10及びSLC12(以下、併せてフラッシュメモリと総称する場合がある)は、ホスト(外部)28から受信するライトデータを記憶する記憶用素子として用いられる。フラッシュメモリは、複数の物理ブロックに分割された記憶領域を有し、分割された物理ブロック単位でデータの書き込み及び読み出しを実行すると共に、当該物理ブロックを複数有するブロック単位でデータの消去を実行する。
SLC12は、メインSLC12aとスペアSLC12bとで構成される。通常、ホスト28から受信したライトデータは全てメインSLC12aに書き込まれ、スペアSLC12bはコールドスタンバイ状態にある。メインSLC12aに書き込まれたデータの中で、一定時間以上更新されないデータ(つまり、一定時間以上書き込みアクセスがない論理ブロックアドレスのデータ)については、MLC10に転送する。メインSLC12aの消去回数が書き込み可能回数に関連する所定回数に到達すると、スペアSLC12bは稼動を開始し、新たな書き込みアクセスはスペアSLC12bを使用する。これらのことの詳細については後述する。なお、MLC10の個数及びSLC12の個数は、図1に示す個数に限られる訳ではない。
ROM16は、MPU20によって実行されるファームウェアが予め格納されている。フラッシュSSD100の電源が投入されると、ROM16に格納されているファームウェアは、メモリ18にロードされる。MPU20は、メモリ18にロードされたファームウェアに従い、メインSLC12aへのライトデータの書き込み、及びSLC12やMLC10からのリードデータの読み出し等、フラッシュSSD100全体の制御を行う。
SSDコントローラ22は、ホスト28との間の各種コマンド及びデータの授受の制御を行う。バッファ24は、インターフェース(I/F)26を介してホスト28から送信されたコマンドやライトデータ、SLC12やMLC10から読み出されたリードデータ等を一時的に記憶する。また、バッファ24は、不揮発性メモリ管理テーブルを有する。
ここで、図2(a)から図2(c)を用い、不揮発性メモリ管理テーブルの説明をする。なお、本実施例では、1物理ブロックは、例えば、528Byteであるとして説明する。図2(a)のように、物理ブロックは、ユーザデータが書き込まれるデータ領域(512Byte)と、不揮発性メモリ管理情報が書き込まれる領域(12Byte)と、ユーザデータや不揮発性メモリ管理情報のエラー検出訂正に用いられるECC(Error Check and Correct)領域(4Byte)とで構成される。
図2(b)に、不揮発性メモリ管理情報(12Byte)に書き込まれるデータを示す。図2(b)のように、不揮発性メモリ管理情報は、状態(1Byte)、消去回数(3Byte)、書き込み時の累積電源投入時間(4Byte)、及び論理ブロックアドレス(4Byte)のデータを有する。
状態とは、当該物理ブロックが書き込み可能であるか、データ領域に書き込まれているデータは有効データであるか無効データであるか、及び当該物理ブロックは消去回数が書き込み可能回数に関連する所定回数に到達しており使用不可であるか等を示す。
消去回数は、当該物理ブロックに行われたデータ消去の累積回数を示す。
書き込み時の累積電源投入時間は、フラッシュSSD100に最初に電源投入してから、当該物理ブロックに現在書き込まれているデータの書き込みを行ったときまでの経過時間を示す。なお、フラッシュSSD100への最初の電源投入とは、フラッシュSSD100に始めて電源投入したときの意味であり、フラッシュSSD100の電源を落とした後、再度電源を投入したときをいうものではない。
論理ブロックアドレス(以下、LBAと称する)は、当該物理ブロックに対応するLBAを示す。
図2(c)に、不揮発性メモリ管理テーブルを示す。図2(c)のように、不揮発性メモリ管理テーブルは、フラッシュメモリの全ての物理ブロックが各々有する不揮発性メモリ管理情報が収集されて構築される。図2(c)においては、オフセットアドレスを44倍した値がフラッシュメモリの物理ブロックアドレスを示す。また、物理ブロックの状態が00は書き込み可能であることを示し、01は無効データを有することを示し、02は有効データを有することを示し、99は消去回数が書き込み可能回数に関連する所定回数に到達した為使用不可であることを示し、これら以外は不良ブロックであることを示す。また、LBAは、FFFFFFFFはアドレス未割り当てで、それ以外はアドレス割り当て済みであることを示す。
このような不揮発性メモリ管理テーブルは、フラッシュメモリからデータを読み出す際のLBAに対応する物理ブロックの検索や、データの書き込み後にLBAの古いデータを削除するための物理ブロックの検索に使用される。また、フラッシュメモリの各物理ブロックの消去回数を平準化する為にも使用される。
図3は、実施例に係るフラッシュSSD100が有するMPU20の機能ブロック図である。図3のように、MPU20は、管理テーブル構築部30、データ書き込み部32、データ転送部34、データ読み出し部36、データ消去部38、判定部40、及び報知部42を備える。これらはシステムバス44で互いに接続し、また、ROM16に予め格納されているファームウェアをMPU20が実行することにより行われる。
管理テーブル構築部30は、フラッシュSSD100の電源が投入(再投入を含む)された後、フラッシュメモリの全ての物理ブロックが各々有する不揮発性メモリ管理情報を収集し、バッファ24上に不揮発性メモリ管理テーブルを構築する。また、管理テーブル構築部30は、ライトデータの書き込み時及びデータの消去時における不揮発性メモリ管理情報の更新に併せて、不揮発性メモリ管理テーブルを更新する。
データ書き込み部32は、ホスト28からLBAと共に受信したライトデータをメインSLC12aに書き込むと共に、書き込み先の物理ブロックの不揮発性メモリ管理情報(状態、書き込み時の累積電源投入時間、LBA)を更新する。また、データ書き込み部32は、後述する判定部でメインSLC12aの消去回数が書き込み可能回数に関連する所定回数に到達したと判定された場合、その後にホスト28からLBAと共に受信するライトデータについてはスペアSLC12bに書き込む。
データ転送部34は、メインSLC12aに書き込まれたデータのうち、一定時間以上、ホスト28から書き込みアクセスのないLBAのデータをMLC10に転送する。
データ読み出し部36は、不揮発性管理テーブルを参照して、ホスト28から受信した読み出しコマンドのLBAに対応する物理ブロックを検索し、当該物理ブロックからデータを読み出す。
データ消去部38は、MLC10に移動されたデータが元々書き込まれていたメインSLC12aの物理ブロックを含むブロックや無効データを有する物理ブロックを含むブロックについてデータの消去を行う。データ消去部38は、これらのデータ消去に応じて、物理ブロックの不揮発性メモリ管理情報(状態、消去回数、LBA)を更新する。
判定部40は、不揮発性メモリ管理テーブルを参照して、メインSLC12aの物理ブロックにおいて、消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する。なお、書き込み可能回数とは、書き込みが行える最大の回数のことであり、書き込み可能回数を超えると書き込みが不能となる回数のことである。書き込み可能回数に関連する所定回数とは、書き込み可能回数より小さい回数のことである。つまり、例えば、書き込み可能回数が10万回のメインSLCの場合は、書き込み可能回数に関連する所定回数を、例えば9万5千回とすることができる。このように、書き込み可能回数に関連する所定回数は、書き込み可能回数より小さく且つ書き込み可能回数に近い回数の場合が好ましい。
報知部42は、判定部40によりメインSLC12aの消去回数が所定回数に到達したと判定されたときにメインSLC12aに書き込まれていた全てのデータのLBAに対応するデータが、スペアSLC12b及びMLC10に書き込まれた後、メインSLC12aを電気的に切り離して交換要求をホスト28に報知する。
次に、図4のフローチャートを用い、フラッシュSSD100のMPU20の制御について説明する。図4のように、フラッシュSSD100の電源が投入されると、MPU20は、不揮発性メモリ管理テーブルを構築する(ステップS10)。具体的には、MPU20は、フラッシュメモリの全面リードを行い、フラッシュメモリの物理ブロックが各々有する不揮発性メモリ管理情報を収集して、バッファ24上に不揮発性メモリ管理テーブルを構築する。
不揮発性メモリ管理テーブルの構築が完了した後、MPU20は、バックグランド処理を実行する(ステップS12)。バックグランド処理は、ホスト28からライトコマンドやリードコマンドを受信していない場合に随時実行される。ここで、図5のフローチャートを用い、バックグランド処理について詳細に説明する。
図5のように、MPU20は、不揮発性メモリ管理テーブルを参照して、一定時間以上、ホスト28からの書き込みアクセスのないLBAを検索する。具体的には、現在の累積電源投入時間と、不揮発性メモリ管理テーブル上のデータ書き込み時の累積電源投入時間と、を比較することで、一定時間以上書き込みアクセスのないLBAを検索する。そして、MPU20は、一定時間以上書き込みアクセスのないLBAのデータを、メインSLC12aからMLC10に転送する(ステップS30)。
次に、MPU20は、MLC10に転送したデータが元々書き込まれていたメインSLC12aの物理ブロックを含むブロックのデータ消去を行う(ステップS32)。併せて、MPU20は、無効データを保有する物理ブロックを含むブロックのデータ消去も行う(ステップS32)。そして、MPU20は、データ消去に応じて、不揮発性メモリ管理情報(状態、消去回数、LBA)を更新し、併せて、不揮発性メモリ管理テーブルを更新する。
次に、MPU20は、不揮発性メモリ管理テーブルを参照して、メインSLC12aの消去回数が書き込み可能回数に関連した所定回数に到達したかを判定する(ステップS34)。具体的には、MPU20は、不揮発性メモリ管理テーブル上の消去回数が、所定回数(例えば、9万5千回)に到達している物理ブロックが存在するかを判定する。
所定回数に到達したと判定された場合(Yesの場合)、MPU20は、メインSLC12aへの新しいライトデータの書き込みを中止し、新たな書き込みアクセスについてはスペアSLC12bを使用する(ステップS36)。つまり、メインSLC12aの消去回数が所定回数に到達した後、スペアSLC12bをメインとして用い、新たなライトデータはスペアSLC12bに書き込む。
次に、MPU20は、メインSLC12aの消去回数が所定回数に到達したときにメインSLC12aに書き込まれていた全てのデータのLBAに対応するデータが、スペアSLC12b及びMLC10に書き込まれたかを判定する(ステップS38)。
ここで、図6を用い、メインSLC12aに書き込まれていた全てのデータのLBAに対応するデータが、スペアSLC12b及びMLC10に書き込まれることを説明する。なお、図6においては、フラッシュメモリ各々の記憶領域は、例えば、4つの物理ブロックに分割されている場合を示している。図6(a)のように、メインSLC12aの消去回数が書き込み可能回数に関連した所定回数に到達したと判定された際、メインSLC12aの4つの物理ブロックにはLBA0からLBA3のデータが書き込まれているとする。
ここで、LBA2とLBA3について、一定時間以上、ホスト28から書き込みアクセスがなかった場合、図6(b)のように、メインSLC12aに書き込まれていたLBA2とLBA3のデータはMLC10に転送される。
次に、ホスト28からLBA0とLBA1について新たな書き込みコマンドを受信した場合、図6(c)のように、LBA0とLBA1の新たなライトデータは、メインSLC12aには書き込まれずに、スペアSLC12bに書き込まれる。
このようにして、メインSLC12aの消去回数が所定回数に到達したときに書き込まれていた全てのデータのLBAに対応するデータを、スペアSLC12b及びMLC10に書き込むことができる。
図5に戻り、ステップS38でスペアSLC12b及びMLC10に書き込まれたと判定した後(Yesの場合)、MPU20は、メインSLC12aをフラッシュSSD100から電気的に切り離してホスト28に交換要求を報知する(ステップS40)。
図4に戻り、MPU20は、ホスト28からコマンドを受信した場合、当該コマンドを実行する(ステップS14)。まず、MPU20は、受信したコマンドが書き込みコマンドであるか読み出しコマンドであるかを判別する(ステップS16)。書き込みコマンドである場合はステップS18に進み、読み出しコマンドである場合はステップS22に進む。
ステップS18において、MPU20は、受信したライトデータをメインSLC12aのフリーエリアの物理ブロックに書き込む。そして、MPU20は、当該物理ブロックの不揮発性メモリ管理情報(状態、書き込み時の累積電源投入時間、LBA)を更新する。
次に、MPU20は、不揮発性メモリ管理テーブルを確認し、ステップS18で割り当てたLBAの古いデータが書き込まれている物理ブロックの不揮発性メモリ管理情報を、無効データを有する状態に書き換える(ステップS20)。この不揮発性メモリ管理情報の更新に併せて、MPU20は、不揮発性メモリ管理テーブルも更新する。
ステップS22においては、MLC20は、不揮発性メモリ管理テーブルを確認し、ホスト28から受信した読み出しコマンドのLBAに対応する物理ブロックを検索し、当該物理ブロックからデータを読み出す。
以上のように、実施例によれば、メインSLC12aの消去回数が書き込み可能回数に関連する所定回数に到達する前は、ホスト28から受信した全てのライトデータをメインSLC12aに書き込む。そして、消去回数が書き込み可能回数に関連する所定回数に到達した後に受信したライトデータは、スペアSLC12bに書き込む。また、メインSLC12aに書き込まれたデータのうち、一定時間以上、書き込みアクセスのないLBAのデータはMLC10に転送する。これにより、メインSLC12aの消去回数が所定回数に到達したときに書き込まれていたデータのLBAに対応するデータを、スペアSLC12b及びMLCに書き込むことができる。つまり、メインSLC12aを交換可能な状態とすることができる。
ここで、メインSLC12aの消去回数が所定回数に到達した後にホスト28から受信するデータをスペアSLC12bに書き込むことで、ホスト28からのアクセスが中断されることはない。つまり、ホスト28の運用を止めることなく、データの書き込み先がメインSLC12aからスペアSLC12bに移行され、メインSLC12aを交換可能な状態にすることができる。したがって、実施例によれば、ホスト28からのアクセスを中断することなく(つまり、ホスト28の運用を止めることなく)、メインSLC12aの交換を可能とさせることができる。
また、ホスト28から受信するデータは、まずは書き込み速度の速いSLC12に書き込み、その後バックグランド処理で、一定時間以上書き込みアクセスのないLBAのデータをSLC12よりも書き込み速度は遅いが記憶容量の大きいMLC10に転送する。これにより、ホスト28にはMLC10の書き込み速度の遅さは見えず、且つ、単位面積当りの記憶容量を増やすことができる。なお、MLC10とSLC12との読み出し速度は殆ど差異がないため、MLC10とSLC12とのどちらにデータが書き込まれていても、データを読み出す際に問題となることはない。
また、メインSLC12aの消去回数が書き込み可能回数に関連する所定回数に到達したときに書き込まれていた全てのデータのLBAに対応するデータが、スペアSLC12b及びMLC10に書き込まれたかを確認する。そして、スペアSLC12b及びMLC10に書き込まれたことを確認した後、メインSLC12aを電気的に切り離して交換要求をホスト28に報知する。これにより、メインSLC12aの交換要求が報知された後、すぐにメインSLC12aを交換しなくても済むようになり、十分に時間的余裕を持ってメインSLC12aの交換作業に対応することが可能となる。また、メインSLC12aは電気的に切り離されているため、メインSLC12aを交換する際に、フラッシュSSD100の電源を落とす必要もなく、ホスト28からのアクセスを中断することもない。
これにより、メインSLC12aのみを交換することで、フラッシュSSD100の寿命を延ばすことができ、フラッシュSSD100を丸々交換する場合に比べて、経済的、環境的に優れた効果が得られる。
ここで、図7を用いて、メインSLC12aを新たなSLC12に交換する工程を説明する。図7(a)は、SLC12の斜視図である。図7(a)のように、SLC12の一方の側面には、PIN50が24ヶ所設けられている。SLC12の他方の側面にも同様に、PIN50が24ヶ所設けられている。24ヶ所設けられたPIN50のうち、SLC12の両側面共に、一方の端側のPIN52は電源(Power)に接続するPINであり、他方の端側のPIN54はグランドに接続するPINである。また、PIN52とPIN54との間のPIN50は、入出力(I/O)、NC(No Connection)、RY/BY(ready Busy)、CE(Chip Enable)、CLE(Cmd Latch Enable)、ALE(Address Latch Enable)、WE(Write Enable)、WP(Write Protect)に関するPINである。グランドに接続するPIN54の長さは、他のPINよりも長くなっており、後述するメモリースロット56にSLC12を差し込んだ際に、グランドのPIN54から接触する構造になっている。
図7(b)は、メモリースロット56の斜視図であり、メモリースロット56は、SLC12とSSDコントローラ22を結ぶインターフェースである。図7(b)の矢印方向に、図7(a)で説明したSLC12が差し込まれる。
図7(c)は、メモリースロット56の内部を透視した斜視図である。図7(c)のように、メモリースロット56の内部には、SLC12が差し込まれた際、SLC12に設けられたPIN50に対応する位置に、PIN Hall58が設けられている。SLC12がメモリースロット56に差し込まれ、SLC12に設けられたPIN50が、メモリースロット56に設けられたPIN Hall58に接触することで、SLC12はSSDコントローラ22と電気的に接続するようになる。このようにして取り付けた新たなSLC12は、スペアSLCとして用いられ、メインSLCの消去回数が書き込み可能回数に関連する所定回数に到達するまでは、コールドスタンバイ状態にある。
なお、実施例において、ホスト28から受信するデータの書き込み先を、メインSLC12aの消去回数が書き込み可能回数に関連する所定回数に到達したかにより、メインSLC12aからスペアSLC12bに切換えたが、これに限られる訳ではない。例えば、メインSLC12aへのデータの書き込み回数をカウントして、書き込み回数が書き込み可能回数に関連する所定回数に到達したかにより、ホスト28から受信するデータの書き込み先を切換えてもよい。
図8は、実施例に係るフラッシュSSD100を備えた電子装置200のブロック図である。図8のように、電子装置200は、フラッシュSSD100と、コントローラ(CPU)202と、インターフェース(I/F)204と、を有する。インターフェース204は外部との間でデータの授受を行う。コントローラ202は、フラッシュSSD100内のSSDコントローラ22との間の各種コマンドやデータの制御を行う。例えば、インターフェース204を介して外部から入力されたデータを、フラッシュSSD100内のフラッシュメモリに書き込むよう、SSDコントローラ22に指示を出す。また、コントローラ202は、フラッシュSSD100内のフラッシュメモリからデータを読み出すようSSDコントローラ22に指示を出す。電子装置200の例としては、電話機、オーディオ機、パソコン、レコーダー等のデータを記憶する装置が挙げられる。特に、背景技術で説明したように、フラッシュSSD100は耐振動性や低消費電力性に優れているため、電子装置200は、携帯型電話機、携帯型オーディオ機、ノートパソコン等の持ち運びを行う装置である場合が好ましい。このような電子装置200は、フラッシュSSD100へのアクセスが中断することなく、且つ、書き込み可能回数が多い(長寿命)という効果が得られる。
上述した実施例は、本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の趣旨を逸脱しない範囲内において種々の変形実施が可能である。
10 多値フラッシュメモリ(MLC)
12 二値フラッシュメモリ(SLC)
16 ROM
18 メモリ
20 MPU
22 SSDコントローラ
24 バッファ
26 I/F
28 ホスト
30 管理テーブル構築部
32 データ書き込み部
34 データ転送部
36 データ読み出し部
38 データ消去部
40 判定部
42 報知部
100 フラッシュSSD
200 電子装置

Claims (4)

  1. 外部から受信したデータを第1不揮発性メモリに書き込むデータ書き込み部と、
    前記第1不揮発性メモリの書き込み回数又は消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する判定部と、
    前記第1不揮発性メモリに書き込まれたデータのうち、一定時間以上、前記外部から書き込みアクセスのない論理ブロックアドレスのデータを、前記第1不揮発性メモリよりも書き込み速度の遅い第2不揮発性メモリに転送するデータ転送部と、を有し、
    前記データ書き込み部は、前記第1不揮発性メモリの書き込み回数又は消去回数が前記所定回数に到達したと判定された後、前記外部から受信するデータを前記第2不揮発性メモリよりも書き込み速度の速い第3不揮発性メモリに書き込むことを特徴とする記憶装置。
  2. 前記第1不揮発性メモリの書き込み回数又は消去回数が前記所定回数に到達したと判定されたときに前記第1不揮発性メモリに書き込まれていた全てのデータの論理ブロックアドレスに対応するデータが、前記第2不揮発性メモリ及び前記第3不揮発性メモリに書き込まれた後、前記第1不揮発性メモリを電気的に切り離して交換要求を報知する報知部を有することを特徴とする請求項1記載の記憶装置。
  3. 外部から受信したデータを第1不揮発性メモリに書き込むデータ書き込み工程と、
    前記第1不揮発性メモリの書き込み回数又は消去回数が書き込み可能回数に関連する所定回数に到達したかを判定する判定工程と、
    前記第1不揮発性メモリに書き込まれたデータのうち、一定時間以上、前記外部から書き込みアクセスのない論理ブロックアドレスのデータを、前記第1不揮発性メモリよりも書き込み速度の遅い第2不揮発性メモリに転送するデータ転送工程と、を有し、
    前記データ書き込み工程は、前記第1不揮発性メモリの書き込み回数又は消去回数が前記所定回数に到達したと判定された後、前記外部から受信するデータを第2不揮発性メモリよりも書き込み速度の速い第3不揮発性メモリに書き込むことを特徴とする記憶装置の制御方法。
  4. 請求項1又は2記載の記憶装置を備えることを特徴とする電子装置。
JP2009115880A 2009-05-12 2009-05-12 記憶装置、その制御方法及びその記憶装置を備える電子装置 Withdrawn JP2010266962A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009115880A JP2010266962A (ja) 2009-05-12 2009-05-12 記憶装置、その制御方法及びその記憶装置を備える電子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009115880A JP2010266962A (ja) 2009-05-12 2009-05-12 記憶装置、その制御方法及びその記憶装置を備える電子装置

Publications (1)

Publication Number Publication Date
JP2010266962A true JP2010266962A (ja) 2010-11-25

Family

ID=43363908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009115880A Withdrawn JP2010266962A (ja) 2009-05-12 2009-05-12 記憶装置、その制御方法及びその記憶装置を備える電子装置

Country Status (1)

Country Link
JP (1) JP2010266962A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019168822A (ja) * 2018-03-22 2019-10-03 東芝メモリ株式会社 ストレージデバイスおよびコンピュータシステム
US10929061B2 (en) 2018-03-12 2021-02-23 Toshiba Information Systems (Japan) Corporation Memory system and memory control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929061B2 (en) 2018-03-12 2021-02-23 Toshiba Information Systems (Japan) Corporation Memory system and memory control method
JP2019168822A (ja) * 2018-03-22 2019-10-03 東芝メモリ株式会社 ストレージデバイスおよびコンピュータシステム

Similar Documents

Publication Publication Date Title
US9489303B2 (en) Techniques for controlling recycling of blocks of memory
US8103820B2 (en) Wear leveling method and controller using the same
JP4461170B2 (ja) メモリシステム
US8046526B2 (en) Wear leveling method and controller using the same
JP4439569B2 (ja) メモリシステム
JP5413572B2 (ja) メモリストレージ装置及びその制御方法
US9098395B2 (en) Logical block management method for a flash memory and control circuit storage system using the same
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
US8504760B2 (en) Method and apparatus for managing erase count of memory device
KR101454817B1 (ko) 반도체 메모리 장치 및 그것의 마모도 관리 방법
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US9280460B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US9665481B2 (en) Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit
KR102351660B1 (ko) 전력 관리 메커니즘을 갖는 솔리드 스테이트 메모리 시스템 및 그것의 동작 방법
US20110113184A1 (en) Data backup method for a flash memory and controller and storage system using the same
JP2010108522A (ja) メモリシステムの制御方法
US10283196B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
TW200915072A (en) Managing housekeeping operations in flash memory
WO2011036902A1 (en) Memory system
US10249371B2 (en) Control circuit, semiconductor storage device, and method of controlling semiconductor storage device
US9760456B2 (en) Memory management method, memory storage device and memory control circuit unit
JP2010266962A (ja) 記憶装置、その制御方法及びその記憶装置を備える電子装置
JP2011159138A (ja) 記憶装置及び記憶装置の制御方法
KR20110096829A (ko) 반도체 메모리장치 및 그 제어방법
CN116719477A (zh) 损耗平衡方法、存储器存储装置及存储器控制器

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120807