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

半導体記憶装置 Download PDF

Info

Publication number
JP6348400B2
JP6348400B2 JP2014211265A JP2014211265A JP6348400B2 JP 6348400 B2 JP6348400 B2 JP 6348400B2 JP 2014211265 A JP2014211265 A JP 2014211265A JP 2014211265 A JP2014211265 A JP 2014211265A JP 6348400 B2 JP6348400 B2 JP 6348400B2
Authority
JP
Japan
Prior art keywords
block
list
semiconductor memory
memory device
blocks
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
JP2014211265A
Other languages
English (en)
Other versions
JP2016081258A (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.)
MegaChips Corp
Original Assignee
MegaChips 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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2014211265A priority Critical patent/JP6348400B2/ja
Publication of JP2016081258A publication Critical patent/JP2016081258A/ja
Application granted granted Critical
Publication of JP6348400B2 publication Critical patent/JP6348400B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、半導体記憶装置に関する。
フラッシュメモリ等の半導体記憶装置では、メモリセルトランジスタのデータ保持特性(リテンション特性)が悪化すると、浮遊ゲートに蓄積された電荷が時間の経過とともにゲート絶縁膜を介して半導体基板に漏出し、それによってメモリセルトランジスタの記憶データにデータ化けが生じることが知られている。
下記特許文献1には、同一のブロックに対してデータ消去からデータ書込までの時間間隔が短いほどデータ保持特性が上がるという物理特性を前提として、ブロックに対するデータ消去及びデータ書込の実行タイミングを制御する半導体記憶装置が開示されている。
特表2014−512616号公報
リテンション特性の悪化に起因して記憶データにデータ化けが生じているか否かは、実際に記憶データを読み出してみないと分からない。従って、上記特許文献1のようにブロックに対するデータ消去及びデータ書込の実行タイミングを制御したとしても、実際にデータ化けが生じていないことは保証されない。
本発明はかかる事情に鑑みて成されたものであり、リテンション特性の悪化等に起因するデータ化けの有無を、簡易な処理でかつ短時間で判定することが可能な半導体記憶装置を得ることを目的とするものである。
本発明の第1の態様に係る半導体記憶装置は、データが記憶された複数のブロックを有するメモリアレイと、論理アドレスを物理アドレスに変換するための、最新の第1変換テーブルと過去の第2変換テーブルとを格納する格納部と、前記格納部から読み出した第1変換テーブル及び第2変換テーブルに基づいて、データ化けの有無を判定するために記憶データを読み出す候補となる一以上の候補ブロックを列挙したブロックリストを作成するリスト作成部と、前記リスト作成部によって作成されたブロックリストに含まれている候補ブロックの中から、記憶データの読み出しを実行するブロックである一以上の対象ブロックを決定する対象ブロック決定部と、前記対象ブロック決定部によって決定された対象ブロックから記憶データを読み出すことにより、データ化けの有無を判定する判定部と、を備えることを特徴とするものである。
第1の態様に係る半導体記憶装置によれば、リスト作成部は、格納部から読み出した第1変換テーブル及び第2変換テーブルに基づいて、一以上の候補ブロックを列挙したブロックリストを作成する。最新の第1変換テーブルと過去の第2変換テーブルとで論理アドレスと物理アドレスとの対応関係が変更されていないブロックは、データ書込が行われてからの経過時間が長く、データ化けが生じている可能性がある。従って、リスト作成部が第1変換テーブルと第2変換テーブルとを比較してそのようなブロックをピックアップすることにより、データ化けが生じている可能性があるブロックを列挙したブロックリストを作成することができる。そして、対象ブロック決定部は、リスト作成部によって作成されたブロックリストに含まれている候補ブロックの中から一以上の対象ブロックを決定し、判定部は、対象ブロック決定部によって決定された対象ブロックから記憶データを読み出すことにより、データ化けの有無を判定する。従って、無条件に全てのブロックを対象としてデータ化けの有無を判定するのではなく、データ化けが生じている可能性があるブロックをブロックリストに列挙し、ブロックリストに含まれているブロックのみを対象としてデータ化けの有無を判定することができる。その結果、リテンション特性の悪化等に起因するデータ化けの有無を、簡易な処理でかつ短時間で判定することが可能となる。
本発明の第2の態様に係る半導体記憶装置は、第1の態様に係る半導体記憶装置において特に、前記リスト作成部は、第1変換テーブルと第2変換テーブルとで論理アドレスと物理アドレスとの対応関係が変更されていない論理アドレスを列挙することにより、ブロックリストを作成することを特徴とするものである。
第2の態様に係る半導体記憶装置によれば、リスト作成部は、第1変換テーブルと第2変換テーブルとで論理アドレスと物理アドレスとの対応関係が変更されていない論理アドレスを列挙することにより、ブロックリストを作成する。これにより、データ化けが生じている可能性があるブロックを列挙したブロックリストを簡易に作成することが可能となる。
本発明の第3の態様に係る半導体記憶装置は、第2の態様に係る半導体記憶装置において特に、前記格納部は、過去のブロックリストをさらに格納し、前記リスト作成部は、前記格納部から読み出した過去のブロックリストに列挙されている論理アドレスに対して高い優先順位を割り当てることを特徴とするものである。
第3の態様に係る半導体記憶装置によれば、リスト作成部は、新たなブロックリストを作成する際に、過去のブロックリストに列挙されている論理アドレスに対して高い優先順位を割り当てる。過去のブロックリストに論理アドレスが列挙されており、かつ、最新の第1変換テーブルと過去の第2変換テーブルとで論理アドレスと物理アドレスとの対応関係が変更されていないブロックは、データ書込が行われてからの経過時間が他のブロックよりも長く、データ化けが生じている可能性が他のブロックよりも高い。従って、データ化けが生じている可能性が高いブロックに対しては新たなブロックリストにおいて高い優先順位を割り当てることにより、そのようなブロックは優先的に対象ブロックとして決定されるため、データ化けの有無を優先的に判定することが可能となる。
本発明の第4の態様に係る半導体記憶装置は、第2又は第3の態様に係る半導体記憶装置において特に、前記リスト作成部は、ブロックリストに複数の論理アドレスを列挙する場合、消去回数が多いブロック順に高い優先順位を割り当てることを特徴とするものである。
第4の態様に係る半導体記憶装置によれば、リスト作成部は、ブロックリストに複数の論理アドレスを列挙する場合には、消去回数が多いブロック順に高い優先順位を割り当てる。消去回数が多いブロックは、消去回数が少ないブロックと比較して、リテンション特性の悪化やディスターブの影響に起因してデータ化けが生じている可能性が高い。従って、ブロックリストに複数の論理アドレスを列挙する場合には、消去回数が多いブロック順に高い優先順位を割り当てることにより、消去回数が多いブロックは優先的に対象ブロックとして決定されるため、データ化けの有無を優先的に判定することが可能となる。
本発明の第5の態様に係る半導体記憶装置は、第2〜第4のいずれか一つの態様に係る半導体記憶装置において特に、前記リスト作成部は、ブロックリストに複数の論理アドレスを列挙する場合、過去のエラービット数が多いブロック順に高い優先順位を割り当てることを特徴とするものである。
第5の態様に係る半導体記憶装置によれば、リスト作成部は、ブロックリストに複数の論理アドレスを列挙する場合には、過去のエラービット数が多いブロック順に高い優先順位を割り当てる。過去のエラービット数が多いブロックは、エラービット数が少ないブロックと比較して、メモリセルトランジスタが劣化している可能性が高い。従って、ブロックリストに複数の論理アドレスを列挙する場合には、過去のエラービット数が多いブロック順に高い優先順位を割り当てることにより、過去のエラービット数が多いブロックは優先的に対象ブロックとして決定されるため、データ化けの有無を優先的に判定することが可能となる。
本発明の第6の態様に係る半導体記憶装置は、第1〜第5のいずれか一つの態様に係る半導体記憶装置において特に、前記リスト作成部によって作成されたブロックリストを更新するリスト更新部をさらに備え、前記リスト更新部は、前記対象ブロック決定部によって決定された対象ブロックに対して前記判定部による判定が行われると、当該対象ブロックをブロックリストから削除することによりブロックリストを更新することを特徴とするものである。
第6の態様に係る半導体記憶装置によれば、リスト更新部は、対象ブロック決定部によって決定された対象ブロックに対して判定部による判定が行われると、当該対象ブロックをブロックリストから削除する。データ化けの有無の判定が行われたブロックに関してはブロックリストから削除することにより、次の候補ブロックが対象ブロックとして決定されるため、当該次の候補ブロックを対象としてデータ化けの有無を判定することが可能となる。
本発明の第7の態様に係る半導体記憶装置は、第6の態様に係る半導体記憶装置において特に、前記リスト更新部はさらに、ブロックリストに含まれている候補ブロックに対して記憶データの書き換えが行われると、当該候補ブロックをブロックリストから削除することによりブロックリストを更新することを特徴とするものである。
第7の態様に係る半導体記憶装置によれば、リスト更新部は、ブロックリストに含まれている候補ブロックに対して記憶データの書き換えが行われると、当該候補ブロックをブロックリストから削除する。記憶データの書き換えが行われたブロックは、データ書込が行われてからの経過時間が短いため、データ化けが生じている可能性が低い。従って、記憶データの書き換えが行われたブロックに関してはブロックリストから削除することにより、他の候補ブロックが対象ブロックとして決定されるため、当該他の候補ブロックを対象としてデータ化けの有無を判定することが可能となる。
本発明の第8の態様に係る半導体記憶装置は、第1〜第7のいずれか一つの態様に係る半導体記憶装置において特に、ブロックリストに複数の候補ブロックが含まれている場合、前記対象ブロック決定部は、複数の候補ブロックのうち優先順位が最も高い一つの候補ブロックを対象ブロックとして決定することを特徴とするものである。
第8の態様に係る半導体記憶装置によれば、ブロックリストに複数の候補ブロックが含まれている場合、対象ブロック決定部は、複数の候補ブロックのうち優先順位が最も高い一つの候補ブロックを対象ブロックとして決定する。このように、一回の処理では対象ブロックを一つの候補ブロックのみに制限することにより、データ化けの有無を判定する処理に要する所要時間が短縮されるため、他の処理に対する待機時間の発生を回避することが可能となる。
本発明の第9の態様に係る半導体記憶装置は、第1〜第7のいずれか一つの態様に係る半導体記憶装置において特に、ブロックリストに複数の候補ブロックが含まれている場合、前記対象ブロック決定部は、全ての候補ブロックを対象ブロックとして決定することを特徴とするものである。
第9の態様に係る半導体記憶装置によれば、ブロックリストに複数の候補ブロックが含まれている場合、対象ブロック決定部は、全ての候補ブロックを対象ブロックとして決定する。半導体記憶装置のアイドル期間等、時間的に余裕がある場合には、ブロックリストに含まれている全ての候補ブロックを対象ブロックとして順に決定することにより、他の処理に対する待機時間の発生を回避しつつ、全ての候補ブロックを対象としてデータ化けの有無を判定することが可能となる。
本発明の第10の態様に係る半導体記憶装置は、第1〜第7のいずれか一つの態様に係る半導体記憶装置において特に、ブロックリストに複数の候補ブロックが含まれている場合、前記対象ブロック決定部は、ホスト装置によって指定された所定数の候補ブロックを対象ブロックとして決定することを特徴とするものである。
第10の態様に係る半導体記憶装置によれば、ブロックリストに複数の候補ブロックが含まれている場合、対象ブロック決定部は、ホスト装置によって指定された所定数の候補ブロックを対象ブロックとして決定する。このように、対象ブロックの数をホスト装置が指定することにより、他の処理に対する待機時間が発生しない範囲内で最大数の候補ブロックを対象として、データ化けの有無を判定することが可能となる。
本発明の第11の態様に係る半導体記憶装置は、第1〜第10のいずれか一つの態様に係る半導体記憶装置において特に、前記判定部は、前記半導体記憶装置の起動時に、対象ブロックからの記憶データの読み出し及びデータ化けの有無の判定を実行することを特徴とするものである。
第11の態様に係る半導体記憶装置によれば、判定部は、半導体記憶装置の起動時に、対象ブロックからの記憶データの読み出し及びデータ化けの有無の判定を実行する。判定部の処理を半導体記憶装置の起動時に実行することにより、判定部の処理を実行する機会を、半導体記憶装置の起動毎に少なくとも一回は確保できる。
本発明の第12の態様に係る半導体記憶装置は、第1〜第11のいずれか一つの態様に係る半導体記憶装置において特に、前記判定部は、前記半導体記憶装置のアイドル期間中に、対象ブロックからの記憶データの読み出し及びデータ化けの有無の判定を実行することを特徴とするものである。
第12の態様に係る半導体記憶装置によれば、判定部は、半導体記憶装置のアイドル期間中に、対象ブロックからの記憶データの読み出し及びデータ化けの有無の判定を実行する。判定部の処理を半導体記憶装置のアイドル期間中に実行することにより、他の処理に対する待機時間の発生を回避しつつ、判定部の処理を実行することが可能となる。
本発明によれば、リテンション特性の悪化等に起因するデータ化けの有無を、簡易な処理でかつ短時間で判定することが可能となる。
半導体記憶装置の利用形態を示す図である。 半導体記憶装置の構成を示す図である。 メモリコントローラのうち本発明に関わる機能を抜き出して示す図である。 メモリコントローラがブロックリストを生成する処理の流れを示すフローチャートである。 最新変換テーブル及び過去変換テーブルがSRAMに格納された状況を示す図である。 最新変換テーブル、過去変換テーブル、及びブロックリストがSRAMに格納された状況を示す図である。 ブロックリストの一例を簡略化して示す図である。 更新されたブロックリストを示す図である。 更新されたブロックリストを示す図である。 メモリコントローラがブロックリストを生成する処理の流れを示すフローチャートである。 最新変換テーブル、過去変換テーブル、及び過去ブロックリストがSRAMに格納された状況を示す図である。 ブロックリストの一例を簡略化して示す図である。 メモリコントローラがブロックリストを生成する処理の流れを示すフローチャートである。 ブロックリストの一例を簡略化して示す図である。 メモリコントローラがブロックリストを生成する処理の流れを示すフローチャートである。 ブロックリストの一例を簡略化して示す図である。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
図1は、本発明に係る半導体記憶装置2の利用形態を示す図である。半導体記憶装置2は、例えばNAND型フラッシュメモリ又はNOR型フラッシュメモリを用いたメモリカードであり、ホスト装置1に着脱自在に接続される。
図2は、半導体記憶装置2の構成を示す図である。図2の接続関係で示すように、半導体記憶装置2は、ホストインタフェース11、メモリコントローラ12、メモリアレイ13、及びSRAM14を備えて構成されている。メモリアレイ13は、データの消去単位である複数のブロックを有している。各ブロックは、データの書込単位及び読出単位である複数のページを有している。
ホスト装置1がメモリアレイ13にアクセスする場合、ホスト装置1は、アクセス先のブロックの論理アドレスを含むコマンドを発行する。メモリコントローラ12は、論理アドレスを物理アドレスに変換するための論理−物理アドレス変換テーブル(以下「論物変換テーブル」と称す)を参照することにより、受領したコマンドに含まれている論理アドレスを物理アドレスに変換する。それにより、メモリコントローラ12は、メモリアレイ13内の所望のブロックにアクセスする。
本発明に係る半導体記憶装置2において、メモリアレイ13内の所定領域には、現在有効である最新の論物変換テーブル(以下「最新変換テーブル」と称す)と、最新変換テーブルの前に使用されていた過去の論物変換テーブル(以下「過去変換テーブル」と称す)とが記憶されている。
図3は、メモリコントローラ12のうち、本発明に関わる機能を抜き出して示す図である。図3に示すように、メモリコントローラ12は、リスト作成部31、リスト更新部32、対象ブロック決定部33、及び判定部34を備えて構成されている。
以下、本発明に係る半導体記憶装置2の様々な実施の形態について順に説明する。
<実施の形態1>
図4は、本発明の実施の形態1に係る半導体記憶装置2に関して、メモリコントローラ12がブロックリスト(詳細は後述する)を生成する処理の流れを示すフローチャートである。
ホスト装置1は、メモリコントローラ12にブロックリストを生成させるための所定のコマンドD1を発行する。過去変換テーブル22には、それが作成された時刻を示すタイムスタンプが付加されている。ホスト装置1は、過去変換テーブル22に付加されているタイムスタンプを半導体記憶装置2から取得し、当該タイムスタンプで示される時刻と現在時刻とを比較する。そして、両時刻の時間差が所定時間以上であれば、ホスト装置1は、現在時刻を示すタイムスタンプとともにコマンドD1を半導体記憶装置2に送信する。
メモリコントローラ12が当該コマンドD1を受領すると、まずステップSP101においてリスト作成部31は、過去変換テーブル22をメモリアレイ13から読み出して、SRAM14に格納する。なお、最新変換テーブル21はすでにメモリアレイ13から読み出されてSRAM14に格納されている。図5は、最新変換テーブル21及び過去変換テーブル22がSRAM14に格納された状況を示す図である。
次にステップSP102においてリスト作成部31は、メモリアレイ13の使用に際して想定されている全ての論理ブロックアドレスのうち、任意の一つ(例えば先頭(i=1))の論理アドレスを設定する。
次にステップSP103においてリスト作成部31は、ステップSP102で設定された論理アドレスに対応する物理アドレスが、最新変換テーブル21と過去変換テーブル22とで一致しているか否かを判定する。
両物理アドレスが一致している場合(つまりステップSP103における判定結果が「YES」である場合)には、次にステップSP104においてリスト作成部31は、ステップSP102で設定された論理アドレスをブロックリストに追加する。一方、両物理アドレスが一致していない場合(つまりステップSP103における判定結果が「NO」である場合)には、リスト作成部31は、ステップSP102で設定された論理アドレスをブロックリストに追加しない。リスト作成部31は、想定されているX個全ての論理アドレスに関して上記の処理が完了するまで、ステップSP102〜SP104を繰り返し実行する。
リスト作成部31は、このようにして生成したブロックリスト41を、SRAM14に格納する。図6は、最新変換テーブル21、過去変換テーブル22、及びブロックリスト41がSRAM14に格納された状況を示す図である。リスト作成部31は、ブロックリスト41の生成が完了すると、SRAM14に格納されているブロックリスト41をメモリアレイ13内の所定領域に書き込む。また、SRAM14に格納されている最新変換テーブル21を、過去変換テーブルとしてメモリアレイ13内の所定領域に書き込む。過去変換テーブルには、上記でホスト装置1から半導体記憶装置2に送信されたタイムスタンプが付加される。
図7は、ブロックリスト41の一例を簡略化して示す図である。図7に示した例では、ブロックリスト41には、論理ブロックアドレス「001」「002」「003」「004」「009」「010」「011」と、最新変換テーブル21において各論理ブロックアドレスに対応する物理ブロックアドレス「501」「502」「503」「504」「509」「510」「511」とが列挙されている。
メモリコントローラ12は、上記のようにして生成されたブロックリスト41を参照することにより、半導体記憶装置2の起動時に、リテンション特性の悪化に起因するデータ化けの有無の判定処理(以下「サーチリード」と称す)を実行する。
図3を参照して、対象ブロック決定部33は、ブロックリスト41をメモリアレイ13から読み出して、SRAM14に格納する。次に、ブロックリスト41に列挙されている複数の論理アドレスの中から、一つの論理アドレスを決定する。ブロックリスト41においては、先頭から順に高い優先順位が割り当てられており、対象ブロック決定部33は、優先順位が最も高い先頭の論理アドレス「001」を決定する。そして、決定した論理アドレス「001」を、データD2として判定部34に入力する。なお、ブロックリスト41に論理アドレスが一つも登録されていない場合には、サーチリードは実行されない。
次に、判定部34は、論理アドレス「001」に対応する物理アドレス「501」で示されるブロックの全ページから記憶データを読み出す。そして、読み出した記憶データに関してCRC(Cyclic Redundancy Check)等を用いてデータ誤りをチェックすることにより、データ化けの有無を判定する。
判定部34は、読み出した記憶データにデータ化けが生じている場合には、そのブロックの物理アドレスを、リフレッシュ対象のブロックを列挙したテーブル(図示しない)に書き込むとともに、論理アドレス「001」を対象とするサーチリードが完了した旨を、データD3としてリスト更新部32に入力する。一方、読み出した記憶データにデータ化けが生じていない場合には、論理アドレス「001」を対象とするサーチリードが完了した旨を、データD3としてリスト更新部32に入力する。
リスト更新部32は、データD3で示される論理アドレス「001」をブロックリスト41から削除することにより、ブロックリスト41を更新する。図8は、更新されたブロックリスト41を示す図である。論理アドレス「001」に対するサーチリードが完了したことにより、図7に示したブロックリスト41から論理アドレス「001」の項目が削除されている。
また、メモリアレイ13内のいずれかのブロックに対してデータの書き換えが行われると、データの書き換えが行われたブロックの論理アドレスが、データD4としてリスト更新部32に入力される。リスト更新部32は、データD4で示される論理アドレスが、ブロックリスト41に列挙されている論理アドレスのいずれかに一致すると、当該論理アドレスをブロックリスト41から削除することにより、ブロックリスト41を更新する。図9は、更新されたブロックリスト41を示す図である。例えば論理アドレス「009」「010」に関してデータの書き換えが行われたことにより、図8に示したブロックリスト41から論理アドレス「009」「010」の項目が削除されている。
リスト更新部32は、ブロックリスト41の更新が完了すると、SRAM14に格納されているブロックリスト41を、メモリアレイ13内の所定領域に書き込む。
このように本実施の形態1に係る半導体記憶装置2によれば、リスト作成部31は、SRAM14(格納部)から読み出した最新変換テーブル21(第1変換テーブル)及び過去変換テーブル22(第2変換テーブル)に基づいて、一以上の候補ブロックを列挙したブロックリスト41を作成する。最新変換テーブル21と過去変換テーブル22とで論理アドレスと物理アドレスとの対応関係が変更されていないブロックは、データ書込が行われてからの経過時間が長く、データ化けが生じている可能性がある。従って、リスト作成部31が最新変換テーブル21と過去変換テーブル22とを比較してそのようなブロックをピックアップすることにより、データ化けが生じている可能性があるブロックを列挙したブロックリスト41を作成することができる。そして、対象ブロック決定部33は、リスト作成部31によって作成されたブロックリスト41に含まれている候補ブロックの中から対象ブロックを決定し、判定部34は、対象ブロック決定部33によって決定された対象ブロックから記憶データを読み出すことにより、データ化けの有無を判定する。従って、無条件に全てのブロックを対象としてデータ化けの有無を判定するのではなく、データ化けが生じている可能性があるブロックをブロックリスト41に列挙し、ブロックリスト41に含まれているブロックのみを対象としてデータ化けの有無を判定することができる。その結果、リテンション特性の悪化に起因するデータ化けの有無を、簡易な処理でかつ短時間で判定することが可能となる。
また、サーチリードを実行することで、リードディスターブの影響によってメモリセルトランジスタのしきい値が上昇するため、リテンション特性の悪化によって降下したしきい値が回復する効果も期待できる。
また、本実施の形態1に係る半導体記憶装置2によれば、リスト作成部31は、最新変換テーブル21と過去変換テーブル22とで論理アドレスと物理アドレスとの対応関係が変更されていない論理アドレスを列挙することにより、ブロックリスト41を作成する。これにより、データ化けが生じている可能性があるブロックを列挙したブロックリスト41を簡易に作成することが可能となる。
また、本実施の形態1に係る半導体記憶装置2によれば、リスト更新部32は、対象ブロック決定部33によって決定された対象ブロックに対してサーチリードが行われると、当該対象ブロックをブロックリスト41から削除する。サーチリードが行われたブロックに関してはブロックリスト41から削除することにより、ブロックリスト41内の次の候補ブロックが対象ブロックとして決定されるため、当該次の候補ブロックを対象としてサーチリードを実行することが可能となる。
また、本実施の形態1に係る半導体記憶装置2によれば、リスト更新部32は、ブロックリスト41に含まれている候補ブロックに対して記憶データの書き換えが行われると、当該候補ブロックをブロックリスト41から削除する。記憶データの書き換えが行われたブロックは、データ書込が行われてからの経過時間が短いため、データ化けが生じている可能性が低い。従って、記憶データの書き換えが行われたブロックに関してはブロックリスト41から削除することにより、ブロックリスト41内の他の候補ブロックが対象ブロックとして決定されるため、当該他の候補ブロックを対象としてサーチリードを実行することが可能となる。
また、本実施の形態1に係る半導体記憶装置2によれば、ブロックリスト41に複数の候補ブロックが含まれている場合、対象ブロック決定部33は、複数の候補ブロックのうち優先順位が最も高い一つの候補ブロックを対象ブロックとして決定する。このように、一回のサーチリードでは対象ブロックを一つの候補ブロックのみに制限することにより、サーチリードに要する所要時間が短縮されるため、他の処理に対する待機時間の発生を回避することが可能となる。
また、本実施の形態1に係る半導体記憶装置2によれば、判定部34は、半導体記憶装置2の起動時に、サーチリードを実行する。サーチリードを半導体記憶装置2の起動時に実行することにより、サーチリードを実行する機会を、半導体記憶装置2の起動毎に少なくとも一回は確保できる。
なお、以上の説明では、NAND型フラッシュメモリ又はNOR型フラッシュメモリを用いた半導体記憶装置を例にとり説明したが、本発明の適用対象はこれらに限らず、リテンション特性の悪化に起因してデータ化けが発生し得る任意の半導体記憶装置に関して、本発明は適用可能である。また、データ化けは、リテンション特性の悪化に限らず、リードディスターブ又はプログラムディスターブ等の影響によっても発生する。本発明は、リテンション特性の悪化に起因するデータ化けのみならず、発生原因を問わない任意のデータ化けに関して適用可能であり、上記と同様の効果を得ることができる。後述する他の実施の形態についても同様である。
<実施の形態2>
図10は、本発明の実施の形態2に係る半導体記憶装置2に関して、メモリコントローラ12がブロックリストを生成する処理の流れを示すフローチャートである。
まずステップSP201においてリスト作成部31は、過去変換テーブル22をメモリアレイ13から読み出して、SRAM14に格納する。次にステップSP202においてリスト作成部31は、ブロックリスト41を過去ブロックリスト42としてメモリアレイ13から読み出して、SRAM14に格納する。図11は、最新変換テーブル21、過去変換テーブル22、及び過去ブロックリスト42がSRAM14に格納された状況を示す図である。
次にステップSP203においてリスト作成部31は、メモリアレイ13の使用に際して想定されている全ての論理ブロックアドレスのうち、任意の一つ(例えば先頭(i=1))の論理アドレスを設定する。
次にステップSP204においてリスト作成部31は、ステップSP203で設定された論理アドレスが、過去ブロックリスト42に列挙されている論理アドレスのいずれかと一致しているか否かを判定する。
両論理アドレスが一致している場合(つまりステップSP204における判定結果が「YES」である場合)には、リスト作成部31は、次の論理アドレスに更新する。
一方、両論理アドレスが一致していない場合(つまりステップSP204における判定結果が「NO」である場合)には、次にステップSP205においてリスト作成部31は、ステップSP203で設定された論理アドレスに対応する物理アドレスが、最新変換テーブル21と過去変換テーブル22とで一致しているか否かを判定する。
両物理アドレスが一致している場合(つまりステップSP205における判定結果が「YES」である場合)には、次にステップSP206においてリスト作成部31は、ステップSP203で設定された論理アドレスをブロックリストの末尾に追加し、その後、次の論理アドレスに更新する。一方、両物理アドレスが一致していない場合(つまりステップSP205における判定結果が「NO」である場合)には、リスト作成部31は、ステップSP203で設定された論理アドレスをブロックリストに追加することなく、次の論理アドレスに更新する。リスト作成部31は、想定されているX個全ての論理アドレスに関して上記の処理が完了するまで、ステップSP203〜SP206を繰り返し実行する。
リスト作成部31は、このようにして生成した新たなブロックリスト41を、SRAM14に格納する。また、リスト作成部31は、ブロックリスト41の生成が完了すると、SRAM14に格納されているブロックリスト41をメモリアレイ13内の所定領域に書き込む。また、SRAM14に格納されている最新変換テーブル21を、過去変換テーブルとしてメモリアレイ13内の所定領域に書き込む。
図12は、ブロックリスト41の一例を簡略化して示す図である。図12に示した例では、図9に示したブロックリストの末尾に、論理ブロックアドレス「006」「007」と、最新変換テーブル21において各論理ブロックアドレスに対応する物理ブロックアドレス「506」「507」とが追加されている。新たな論理アドレス「006」「007」をブロックリスト41の末尾に追加することにより、これらの論理アドレスには低い優先順位が割り当てられる。換言すれば、過去ブロックリスト42に列挙されている論理アドレスと一致する論理アドレス「002」「003」「004」「011」に対しては、高い優先順位が割り当てられる。
このように本実施の形態2に係る半導体記憶装置2によれば、リスト作成部31は、新たなブロックリスト41を作成する際に、過去ブロックリスト42に列挙されている論理アドレスに対して高い優先順位を割り当てる。過去ブロックリスト42に論理アドレスが列挙されており、かつ、最新変換テーブル21と過去変換テーブル22とで論理アドレスと物理アドレスとの対応関係が変更されていないブロックは、データ書込が行われてからの経過時間が他のブロックよりも長く、データ化けが生じている可能性が他のブロックよりも高い。従って、データ化けが生じている可能性が高いブロックに対しては新たなブロックリスト41において高い優先順位を割り当てることにより、そのようなブロックは優先的に対象ブロックとして決定されるため、データ化けの有無を優先的に判定することが可能となる。
<実施の形態3>
図13は、本発明の実施の形態3に係る半導体記憶装置2に関して、メモリコントローラ12がブロックリストを生成する処理の流れを示すフローチャートである。
まずステップSP101においてリスト作成部31は、過去変換テーブル22をメモリアレイ13から読み出して、SRAM14に格納する。
次にステップSP102においてリスト作成部31は、メモリアレイ13の使用に際して想定されている全ての論理ブロックアドレスのうち、任意の一つ(例えば先頭(i=1))の論理アドレスを設定する。
次にステップSP103においてリスト作成部31は、ステップSP102で設定された論理アドレスに対応する物理アドレスが、最新変換テーブル21と過去変換テーブル22とで一致しているか否かを判定する。
両物理アドレスが一致していない場合(つまりステップSP103における判定結果が「NO」である場合)には、リスト作成部31は、ステップSP102で設定された論理アドレスをブロックリストに追加することなく、次の論理アドレスに更新する。
一方、両物理アドレスが一致している場合(つまりステップSP103における判定結果が「YES」である場合)には、次にステップSP301においてリスト作成部31は、当該物理アドレスで示されるブロックに関する過去の消去回数に基づいて、ブロックリストへの論理アドレスの挿入箇所を設定する。各物理ブロックの消去回数に関する情報は、過去の消去回数を物理ブロック毎にカウントしたリスト情報として、メモリアレイ13内の所定領域に格納されている。リスト作成部31は、当該リスト情報を参照することにより、消去回数が多いブロック順に高い優先順位が割り当てられるように、論理アドレスの挿入箇所を設定する。次にステップSP104においてリスト作成部31は、ステップSP102で設定された論理アドレスを、ステップSP301で設定された挿入箇所に追加し、その後、次の論理アドレスに更新する。リスト作成部31は、想定されているX個全ての論理アドレスに関して上記の処理が完了するまで、ステップSP102〜SP104を繰り返し実行する。
リスト作成部31は、このようにして生成したブロックリスト41を、SRAM14に格納する。また、リスト作成部31は、ブロックリスト41の生成が完了すると、SRAM14に格納されているブロックリスト41をメモリアレイ13内の所定領域に書き込む。また、SRAM14に格納されている最新変換テーブル21を、過去変換テーブルとしてメモリアレイ13内の所定領域に書き込む。
図14は、ブロックリスト41の一例を簡略化して示す図である。図14に示した例では、ブロックリスト41には、消去回数が多い順に先頭から並ぶように、論理ブロックアドレス「009」「002」「003」「004」「001」「010」「011」と、最新変換テーブル21において各論理ブロックアドレスに対応する物理ブロックアドレス「509」「502」「503」「504」「501」「510」「511」とが列挙されている。
このように本実施の形態3に係る半導体記憶装置2によれば、リスト作成部31は、ブロックリスト41に複数の論理アドレスを列挙する場合には、消去回数が多いブロック順に高い優先順位を割り当てる。消去回数が多いブロックは、消去回数が少ないブロックと比較して、リテンション特性の悪化やディスターブの影響に起因してデータ化けが生じている可能性が高い。従って、ブロックリスト41に複数の論理アドレスを列挙する場合には、消去回数が多いブロック順に高い優先順位を割り当てることにより、消去回数が多いブロックは優先的に対象ブロックとして決定されるため、データ化けの有無を優先的に判定することが可能となる。
なお、消去回数が多いブロック順に高い優先順位を割り当てる代わりに、過去のエラービット数が多いブロック順に高い優先順位を割り当てても良い。この場合、各物理ブロックのエラービット数に関する情報は、過去のエラービット数を物理ブロック毎にカウントしたリスト情報として、メモリアレイ13内の所定領域に格納されている。リスト作成部31は、上記ステップSP301において、当該リスト情報を参照することにより、エラービット数が多いブロック順に高い優先順位が割り当てられるように、論理アドレスの挿入箇所を設定する。
過去のエラービット数が多いブロックは、エラービット数が少ないブロックと比較して、メモリセルトランジスタが劣化している可能性が高い。従って、ブロックリスト41に複数の論理アドレスを列挙する場合には、過去のエラービット数が多いブロック順に高い優先順位を割り当てることにより、過去のエラービット数が多いブロックは優先的に対象ブロックとして決定されるため、データ化けの有無を優先的に判定することが可能となる。
また、図13では上記実施の形態1を基礎として、挿入箇所を設定するステップSP301を追加する例について説明したが、本実施の形態3は上記実施の形態2にも適用できる。図15は、本変形例に関して、メモリコントローラ12がブロックリストを生成する処理の流れを示すフローチャートである。上記実施の形態2で説明したステップSP205とステップSP206との間に、挿入箇所を設定するステップSP301が追加されている。
図16は、本変形例で生成されたブロックリスト41の一例を簡略化して示す図である。図16に示した例では、図14に示したブロックリストに、論理ブロックアドレス「006」「007」と、最新変換テーブル21において各論理ブロックアドレスに対応する物理ブロックアドレス「506」「507」とが追加されている。物理アドレス「506」のブロックは消去回数が「2」であるため、消去回数が「2」のグループの末尾に論理アドレス「006」が挿入されている。また、物理アドレス「507」のブロックは消去回数が「4」であるため、消去回数が「4」のグループの末尾に論理アドレス「007」が挿入されている。
<変形例1>
上記実施の形態1〜3において、対象ブロック決定部33は、ブロックリスト41に複数の候補ブロックが列挙されている場合、複数の候補ブロックのうち優先順位が最も高い一つの候補ブロックを対象ブロックとして決定する。
これに代えて本変形例1に係る半導体記憶装置2では、対象ブロック決定部33は、ブロックリストに複数の候補ブロックが含まれている場合、全ての候補ブロックを対象ブロックとして決定する。
半導体記憶装置2のアイドル期間等、時間的に余裕がある場合には、ブロックリスト41に含まれている全ての候補ブロックを対象ブロックとして順に決定することにより、他の処理に対する待機時間の発生を回避しつつ、全ての候補ブロックを対象としてサーチリードを実行することが可能となる。
<変形例2>
上記実施の形態1〜3において、対象ブロック決定部33は、ブロックリスト41に複数の候補ブロックが列挙されている場合、複数の候補ブロックのうち優先順位が最も高い一つの候補ブロックを対象ブロックとして決定する。
これに代えて本変形例2に係る半導体記憶装置2では、対象ブロック決定部33は、ホスト装置1によって指定された所定数の候補ブロックを、対象ブロックとして決定する。
対象ブロックの許容数をホスト装置1が指定することにより、他の処理に対する待機時間が発生しない範囲内で最大数の候補ブロックを対象として、サーチリードを実行することが可能となる。
<変形例3>
上記実施の形態1〜3において、メモリコントローラ12は、半導体記憶装置2の起動時にサーチリードを実行する。
本変形例3に係る半導体記憶装置2では、メモリコントローラ12は、半導体装置2の起動時に代えて、あるいは起動時に追加して、半導体記憶装置2のアイドル期間中にサーチリードを実行する。
サーチリードを半導体記憶装置2のアイドル期間中に実行することにより、他の処理に対する待機時間の発生を回避しつつ、サーチリードを実行することが可能となる。
1 ホスト装置
2 半導体記憶装置
12 メモリコントローラ
13 メモリアレイ
14 SRAM
31 リスト作成部
32 リスト更新部
33 対象ブロック決定部
34 判定部

Claims (12)

  1. データが記憶された複数のブロックを有するメモリアレイと、
    論理アドレスを物理アドレスに変換するための、最新の第1変換テーブルと過去の第2変換テーブルとを格納する格納部と、
    前記格納部から読み出した第1変換テーブル及び第2変換テーブルに基づいて、データ化けの有無を判定するために記憶データを読み出す候補となる一以上の候補ブロックを列挙したブロックリストを作成するリスト作成部と、
    前記リスト作成部によって作成されたブロックリストに含まれている候補ブロックの中から、記憶データの読み出しを実行するブロックである一以上の対象ブロックを決定する対象ブロック決定部と、
    前記対象ブロック決定部によって決定された対象ブロックから記憶データを読み出すことにより、データ化けの有無を判定する判定部と、
    を備える、半導体記憶装置。
  2. 前記リスト作成部は、第1変換テーブルと第2変換テーブルとで論理アドレスと物理アドレスとの対応関係が変更されていない論理アドレスを列挙することにより、ブロックリストを作成する、請求項1に記載の半導体記憶装置。
  3. 前記格納部は、過去のブロックリストをさらに格納し、
    前記リスト作成部は、新たなブロックリストを作成する際に、前記格納部から読み出した過去のブロックリストに列挙されている論理アドレスに対して高い優先順位を割り当てる、請求項2に記載の半導体記憶装置。
  4. 前記リスト作成部は、ブロックリストに複数の論理アドレスを列挙する場合、消去回数が多いブロック順に高い優先順位を割り当てる、請求項2又は3に記載の半導体記憶装置。
  5. 前記リスト作成部は、ブロックリストに複数の論理アドレスを列挙する場合、過去のエラービット数が多いブロック順に高い優先順位を割り当てる、請求項2〜4のいずれか一つに記載の半導体記憶装置。
  6. 前記リスト作成部によって作成されたブロックリストを更新するリスト更新部をさらに備え、
    前記リスト更新部は、前記対象ブロック決定部によって決定された対象ブロックに対して前記判定部による判定が行われると、当該対象ブロックをブロックリストから削除することによりブロックリストを更新する、請求項1〜5のいずれか一つに記載の半導体記憶装置。
  7. 前記リスト更新部はさらに、ブロックリストに含まれている候補ブロックに対して記憶データの書き換えが行われると、当該候補ブロックをブロックリストから削除することによりブロックリストを更新する、請求項6に記載の半導体記憶装置。
  8. ブロックリストに複数の候補ブロックが含まれている場合、前記対象ブロック決定部は、複数の候補ブロックのうち優先順位が最も高い一つの候補ブロックを対象ブロックとして決定する、請求項1〜7のいずれか一つに記載の半導体記憶装置。
  9. ブロックリストに複数の候補ブロックが含まれている場合、前記対象ブロック決定部は、全ての候補ブロックを対象ブロックとして決定する、請求項1〜7のいずれか一つに記載の半導体記憶装置。
  10. ブロックリストに複数の候補ブロックが含まれている場合、前記対象ブロック決定部は、ホスト装置によって指定された所定数の候補ブロックを対象ブロックとして決定する、請求項1〜7のいずれか一つに記載の半導体記憶装置。
  11. 前記判定部は、前記半導体記憶装置の起動時に、対象ブロックからの記憶データの読み出し及びデータ化けの有無の判定を実行する、請求項1〜10のいずれか一つに記載の半導体記憶装置。
  12. 前記判定部は、前記半導体記憶装置のアイドル期間中に、対象ブロックからの記憶データの読み出し及びデータ化けの有無の判定を実行する、請求項1〜11のいずれか一つに記載の半導体記憶装置。
JP2014211265A 2014-10-15 2014-10-15 半導体記憶装置 Active JP6348400B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014211265A JP6348400B2 (ja) 2014-10-15 2014-10-15 半導体記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014211265A JP6348400B2 (ja) 2014-10-15 2014-10-15 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2016081258A JP2016081258A (ja) 2016-05-16
JP6348400B2 true JP6348400B2 (ja) 2018-06-27

Family

ID=55958727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014211265A Active JP6348400B2 (ja) 2014-10-15 2014-10-15 半導体記憶装置

Country Status (1)

Country Link
JP (1) JP6348400B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244958B2 (en) * 2005-05-09 2012-08-14 Sandisk Il Ltd. Method and system for facilitating fast wake-up of a flash memory system
JP2010160816A (ja) * 2010-03-29 2010-07-22 Toshiba Corp 半導体記憶装置の制御方法
WO2013030866A1 (en) * 2011-08-29 2013-03-07 Hitachi, Ltd. Semiconductor storage device comprising electrically rewritable nonvolatile semiconductor memory

Also Published As

Publication number Publication date
JP2016081258A (ja) 2016-05-16

Similar Documents

Publication Publication Date Title
US10061512B2 (en) Data storage device and data writing method thereof
US10606761B2 (en) Method for accessing flash memory module and associated flash memory controller and electronic device
US10475516B2 (en) Data storage device and data erasing method wherein after erasing process, predetermined value is written to indicate completion of said erasing method
US10168913B2 (en) Data storage device and data maintenance method thereof
US9996297B2 (en) Hot-cold data separation method in flash translation layer
CN109801669B (zh) 具有软读取挂起方案的存储器系统及其操作方法
US9996462B1 (en) Data storage device and data maintenance method thereof
US9786379B2 (en) Data storage device and data maintenance method
US10241678B2 (en) Data storage device and data writing method capable of avoiding repeated write operation of a TLC block when interrupted
US20150178001A1 (en) Data Storage Device and Data Maintenance Method Thereof
CN110096385B (zh) 存储器系统及其操作方法
US10013210B2 (en) Data storage device and data maintenance method thereof
TWI659304B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US20160124806A1 (en) Data Storage Device and Flash Memory Control Method
JP2016024678A (ja) メモリシステム
JP2019192316A (ja) 不揮発性記憶装置、メモリ制御装置、及びメモリ制御方法
US20170285953A1 (en) Data Storage Device and Data Maintenance Method thereof
JP2013171343A (ja) ストレージデバイス
JP2015222590A (ja) メモリシステム
JP4513786B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP6348400B2 (ja) 半導体記憶装置
KR20120070408A (ko) 블록을 관리하는 비휘발성 메모리 장치의 제어 방법
US9229798B2 (en) Error handling method, memory storage device and memory controlling circuit unit
CN110908825B (zh) 一种数据读取方法、装置、存储设备及存储介质
JP4818453B1 (ja) 電子機器およびデータ読み出し方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170929

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180531

R150 Certificate of patent or registration of utility model

Ref document number: 6348400

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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