図面 (/)

技術 メモリシステムおよび制御方法

出願人 東芝メモリ株式会社
発明者 長谷川揚平浅野滋博原徳正
出願日 2016年12月15日 (3年3ヶ月経過) 出願番号 2016-243742
公開日 2017年3月16日 (3年0ヶ月経過) 公開番号 2017-054548
状態 特許登録済
技術分野 記憶装置の信頼性向上技術 ハードウェアの冗長性 リードオンリーメモリ 半導体メモリの信頼性技術
主要キーワード 不揮発記憶媒体 実現コスト 情報マップ 読み出し制御ステップ 回避アルゴリズム 追記方式 不揮発記憶 配置方式
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年3月16日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (14)

課題

性能を劣化させることなく不良回避制御を実現可能なメモリシステムおよび制御方法を提供する。

解決手段

実施形態のメモリシステムは、互いに独立にデータの書き込み、または、読み出しが可能な複数の不揮発性記憶部と、コントローラとを備える。各不揮発性記憶部は、データを記憶するデータ記憶部と、当該不揮発性記憶部とは異なる他の不揮発性記憶部が有するデータ記憶部の不良に関する情報を示す不良情報を記憶する不良情報記憶部と、を有する。

概要

背景

例えばNANDフラッシュメモリなどの不揮発性記憶媒体では、誤り(エラー)が多いなどの理由により記憶単位となるブロックが記憶領域として利用できなくなることがある。このような利用不能となるブロックはバッドブロックまたは不良ブロックなどと呼ばれ、データの記憶対象となるブロック(フリーブロック)から除外するように制御される。

従来技術としては、製造時の検査工程でエラーが発見されたブロック(バッドブロック)の位置などを示す情報を不良情報テーブル (バッドブロック統計情報)として記録し、利用可能なフリーブロックとして扱わない方式が知られている。不良情報テーブルは不揮発記憶媒体に記録され、システム起動時に揮発性記憶媒体(例えばRAMなど)に展開されて使用される。

概要

性能を劣化させることなく不良回避制御を実現可能なメモリシステムおよび制御方法を提供する。実施形態のメモリシステムは、互いに独立にデータの書き込み、または、読み出しが可能な複数の不揮発性記憶部と、コントローラとを備える。各不揮発性記憶部は、データを記憶するデータ記憶部と、当該不揮発性記憶部とは異なる他の不揮発性記憶部が有するデータ記憶部の不良に関する情報を示す不良情報を記憶する不良情報記憶部と、を有する。

目的

本発明が解決しようとする課題は、性能を劣化させることなく不良回避制御を実現可能なメモリシステムおよび制御方法を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

互いに独立にデータの書き込み、または、読み出しが可能な複数の不揮発性記憶部と、前記不揮発性記憶部に対する前記データの書き込み、または、前記データの読み出しを制御するコントローラと、を備え、各前記不揮発性記憶部は、前記データを記憶するデータ記憶部と、当該不揮発性記憶部とは異なる他の前記不揮発性記憶部が有する前記データ記憶部の不良に関する情報を示す不良情報を記憶する不良情報記憶部と、を有する、メモリシステム

請求項2

前記コントローラは、前記データの読み出し要求受け付けた場合は、前記データの読み出しの対象となる前記データ記憶部に格納された前記データを読み出す制御を行う読み出し制御部と、前記データの読み出し対象となる前記データ記憶部に対応する前記不良情報記憶部から前記不良情報を読み出し、読み出した前記不良情報を解析して不良位置を特定する不良情報解析部と、を備え、前記読み出し制御部は、前記不良情報解析部により特定された不良位置に基づいて、読み出した前記データを修正する制御を行う、請求項1に記載のメモリシステム。

請求項3

前記コントローラは、前記データの書き込み要求を受け付けた場合は、前記データの書き込みの対象となる前記データ記憶部を決定する書き込み制御部をさらに備え、前記不良情報解析部は、前記データの書き込み対象となる前記データ記憶部に対応する前記不良情報記憶部から前記不良情報を読み出し、読み出した前記不良情報を解析して不良位置を特定し、前記書き込み制御部は、前記不良情報解析部で特定された不良位置に対する前記データの書き込みを回避して前記データ記憶部に対する前記データの書き込みを制御する、請求項2に記載のメモリシステム。

請求項4

前記不良情報解析部は、前記データの書き込みまたは読み出しの対象となる前記データ記憶部の位置を示す第1位置情報に関する線形式から、前記データの書き込みまたは読み出しの対象となる前記データ記憶部に対応する前記不良情報記憶部の位置を示す第2位置情報を特定する、請求項3に記載のメモリシステム。

請求項5

前記不良情報解析部は、前記データ記憶部の位置を示す第1位置情報と、前記不良情報記憶部の位置を示す第2位置情報とが対応付けられた対応関係情報を参照して、前記データの書き込みまたは読み出しの対象となる前記データ記憶部の位置を示す前記第1位置情報に対応付けられた前記第2位置情報を特定する、請求項3に記載のメモリシステム。

請求項6

前記不良情報を保持する不良情報キャッシュをさらに備え、前記不良情報解析部は、前記データの書き込みまたは読み出しの対象となる前記データ記憶部の前記不良情報が前記不良情報キャッシュに存在する場合は、前記不良情報キャッシュから当該不良情報を読み出す、請求項3に記載のメモリシステム。

請求項7

前記データ記憶部の不良位置を検出する不良検出部と、前記データ記憶部に対応する前記不良情報記憶部から読み出した前記不良情報と、前記不良検出部により検出された不良位置とから、前記不良情報記憶部に格納すべき前記不良情報を生成し直す不良情報生成部と、前記不良情報生成部により生成された前記不良情報を前記不良情報記憶部に書き戻す不良情報更新部と、をさらに備える、請求項1に記載のメモリシステム。

請求項8

前記コントローラは、前記データ記憶部の誤り訂正を行うデータ保護部と、前記不良情報記憶部の誤り訂正を行う不良情報保護部と、を備え、前記不良情報保護部の誤り訂正能力は、前記データ保護部の誤り訂正能力よりも高い、請求項1に記載のメモリシステム。

請求項9

前記データ記憶部は、前記データを記憶する通常データ記憶領域と、前記通常データ記憶領域の不良位置を回避して前記データを書き込むための冗長データ記憶領域とを含む、請求項1乃至8のいずれか1項に記載のメモリシステム。

請求項10

互いに独立にデータの書き込み、または、読み出しが可能な複数の不揮発性メモリと、前記不揮発性メモリに対する前記データの書き込み、または、前記データの読み出しを制御するコントローラと、を備え、各前記不揮発性メモリは、前記データを記憶するデータ記憶部と、当該不揮発性メモリとは異なる他の前記不揮発性メモリが有する前記データ記憶部の不良に関する情報を示す不良情報を記憶する不良情報記憶部と、を有する、メモリシステム。

請求項11

互いに独立にデータの書き込み、または、読み出しが可能な複数の不揮発性メモリプレーンを含む不揮発性メモリと、前記不揮発性メモリに対する前記データの書き込み、または、前記データの読み出しを制御するコントローラと、を備え、各前記不揮発性メモリプレーンは、前記データを記憶するデータ記憶部と、当該不揮発性メモリプレーンとは異なる他の前記不揮発性メモリプレーンが有する前記データ記憶部の不良に関する情報を示す不良情報を記憶する不良情報記憶部と、を有する、メモリシステム。

請求項12

データを記憶するデータ記憶部と、前記データ記憶部の不良に関する情報を示す不良情報を記憶する不良情報記憶部と、をそれぞれが有するとともに、互いに独立にデータの書き込み、または、読み出しが可能な複数の不揮発性記憶部と、前記不揮発性記憶部に対する前記データの書き込み、または、前記データの読み出しを制御するコントローラと、を備えるメモリシステムの制御方法であって、前記データの読み出し要求を受け付けた場合は、前記データの読み出しの対象となる前記データ記憶部に格納された前記データを読み出す制御を行う読み出し制御ステップと、前記データの読み出し対象となる前記不揮発性記憶部の前記データ記憶部に対応する、他の前記不揮発性記憶部が有する前記不良情報記憶部から、前記不良情報を読み出し、読み出した前記不良情報を解析して不良位置を特定する不良情報解析ステップと、前記不良情報解析ステップで特定した不良位置に基づいて、前記読み出し制御ステップで読み出した前記データを修正する制御を行う修正制御ステップと、を含む、制御方法。

技術分野

0001

本発明の実施形態は、メモリシステムおよび制御方法に関する。

背景技術

0002

例えばNANDフラッシュメモリなどの不揮発性記憶媒体では、誤り(エラー)が多いなどの理由により記憶単位となるブロックが記憶領域として利用できなくなることがある。このような利用不能となるブロックはバッドブロックまたは不良ブロックなどと呼ばれ、データの記憶対象となるブロック(フリーブロック)から除外するように制御される。

0003

従来技術としては、製造時の検査工程でエラーが発見されたブロック(バッドブロック)の位置などを示す情報を不良情報テーブル (バッドブロック統計情報)として記録し、利用可能なフリーブロックとして扱わない方式が知られている。不良情報テーブルは不揮発記憶媒体に記録され、システム起動時に揮発性記憶媒体(例えばRAMなど)に展開されて使用される。

先行技術

0004

特開2012−198869号公報

発明が解決しようとする課題

0005

不良情報テーブルの管理単位は不揮発性記憶媒体の記憶単位(例えばブロック単位)であり、起動時に揮発性記憶媒体にすべて展開して使用される想定である。しかし、より不良率の高い記憶媒体の場合は、ビット単位などのより細かい粒度で不良回避制御などが必要となるが、この場合は不良情報テーブルのサイズが大きくなるので、一度にDRAMなどの揮発性記憶媒体上に展開することができない。そのため、データの書き込み/読み出しのたびに、不揮発性記憶媒体に記録された不良情報テーブルを参照する必要があり、不揮発記憶媒体からの不良情報テーブルの読み出し時間がオーバヘッドとなる。

0006

本発明が解決しようとする課題は、性能を劣化させることなく不良回避制御を実現可能なメモリシステムおよび制御方法を提供することである。

課題を解決するための手段

0007

実施形態のメモリシステムは、互いに独立にデータの書き込み、または、読み出しが可能な複数の不揮発性記憶部と、コントローラとを備える。各不揮発性記憶部は、データを記憶するデータ記憶部と、当該不揮発性記憶部とは異なる他の不揮発性記憶部が有するデータ記憶部の不良に関する情報を示す不良情報を記憶する不良情報記憶部と、を有する。

図面の簡単な説明

0008

第1実施形態のメモリシステムの構成例を示す図。
第1実施形態の不良情報の一例を示す図。
第1実施形態のデータ記憶部の構成例を示す図。
第1実施形態の書き込み制御の一例を示すフロー図。
第1実施形態の書き込みデータの再構築の例を示す図。
第1実施形態の読み出し制御の一例を示す図。
第2実施形態のメモリシステムの構成例を示す図。
第3実施形態のメモリシステムの構成例を示す図。
第4実施形態のメモリシステムの構成例を示す図。
第4実施形態の変形例のメモリシステムの構成例を示す図。
第5実施形態のメモリシステムの構成例を示す図。
第6実施形態のメモリシステムの構成例を示す図。
第7実施形態のメモリシステムの構成例を示す図。

実施例

0009

以下、添付図面を参照しながら、本発明に係るメモリシステムおよび制御方法の実施形態を詳細に説明する。

0010

(第1実施形態)
図1は、第1実施形態のメモリシステム1の構成例を示す図である。図1に示すように、メモリシステム1は、第1の不揮発性メモリ10と、第2の不揮発性メモリ11と、コントローラ12とを備える。第1の不揮発性メモリ10とコントローラ12とは互いに接続され、第2の不揮発性メモリ11とコントローラ12とは互いに接続され、第1の不揮発性メモリ10と第2の不揮発性メモリ11は、互いに異なるメモリであり、互いに独立に(並列に)データの書き込みまたは読み出しが行われる。この例では、第1の不揮発性メモリ10および第2の不揮発性メモリ11の各々は、請求項の「不揮発性記憶部」に対応していると考えることができる。説明の便宜上、ここでは、メモリシステム1が有する不揮発性記憶部の数は2つである場合を例に挙げて説明するが、これに限らず、例えばメモリシステム1が有する不揮発性記憶部の数は3以上であってもよい。

0011

第1の不揮発性メモリ10は、1以上のデータ記憶部100と、1以上の不良情報記憶部101とを備える。データ記憶部100は、第1の不揮発性メモリ10の記憶単位(例えばブロックやページなど)ごとに定義され、第1の不揮発性メモリ10内に存在するデータ記憶部100の数は、第1の不揮発性メモリ10の記憶可能なデータ容量によって決まる。同様に、第2の不揮発性メモリ11は、1以上のデータ記憶部110と、1以上の不良情報記憶部111とを備える。説明の便宜上、ここでは、第1の不揮発性メモリ10は、1つのデータ記憶部100と、1つの不良情報記憶部101とを備え、第2の不揮発性メモリ11は、1つのデータ記憶部110と、1つの不良情報記憶部111とを備える場合を例に挙げて説明するが、これに限られるものではない。なお、第1の不揮発性メモリ10、および、第2の不揮発性メモリ11は、例えばNANDフラッシュメモリで構成され得るが、これに限られるものではない。

0012

なお、以下の説明では、第1の不揮発性メモリ10と第2の不揮発性メモリ11とを区別する必要が無い場合は、単に「不揮発性メモリ」と称し、データ記憶部100とデータ記憶部110とを区別する必要が無い場合は、単に「データ記憶部」と称し、不良情報記憶部101と不良情報記憶部111とを区別する必要が無い場合は、単に「不良情報記憶部」と称する。

0013

図1に示すように、第1の不揮発性メモリ10が有するデータ記憶部100は、データを記憶する通常データ記憶領域100Aと、通常データ記憶領域100Aの不良位置を回避してデータを書き込むための冗長データ記憶領域100Bとを有する。通常データ記憶領域100Aは、第1の不揮発性メモリ10への記憶対象のデータに加え、システム管理情報エラー訂正用の符号などを記憶することができる。冗長データ記憶領域100Bは、通常データ記憶領域100Aの不良位置に記憶されるべきデータの格納先として利用することもできる。また、第1の不揮発性メモリ10が有する不良情報記憶部101は、第2の不揮発性メモリ11が有するデータ記憶部110の不良に関する情報を示す不良情報を記憶する。

0014

同様に、第2の不揮発性メモリ11が有するデータ記憶部110は、データを記憶する通常データ記憶領域110Aと、通常データ記憶領域110Aの不良位置を回避してデータを書き込むための冗長データ記憶領域110Bとを有する。また、第2の不揮発性メモリ11が有する不良情報記憶部111は、第1の不揮発性メモリ10が有するデータ記憶部100の不良に関する情報を示す不良情報を記憶する。

0015

なお、以下の説明では、通常データ記憶領域100Aと通常データ記憶領域110Aとを区別する必要が無い場合は、単に「通常データ記憶領域」と称し、冗長データ記憶領域100Bと冗長データ記憶領域110Bとを区別する必要が無い場合は、単に「冗長データ記憶領域」と称する。

0016

本実施形態では、第1の不揮発性メモリ10が有するデータ記憶部100に対応する不良情報記憶部111は、第1の不揮発性メモリ10とは独立に(並列に)アクセス可能な第2の不揮発性メモリ11に設けられる一方、第2の不揮発性メモリ11が有するデータ記憶部110に対応する不良情報記憶部101は、第2の不揮発性メモリ11とは独立にアクセス可能な第1の不揮発性メモリ10に設けられる。このような配置方式を採用することで、データ記憶部と、当該データ記憶部に対応する不良情報記憶部とに対して並列にアクセスすることが可能になり、データの読み出し時間と不良情報の読み出し時間とをオーバラップさせることができる。

0017

ここで、上記不良情報としては、データの記憶媒体上の物理的な不良位置が特定できる情報(例えば不揮発性メモリの領域を特定可能なアドレス)などが想定される。また、不良情報としては、必ずしも不良位置を特定する情報や、不良の物理的な要因を特定する情報である必要はなく、不良位置に対する書き込み/読み出しを回避するために定義された制御情報であればよい。不良情報のフォーマットは、不良回避アルゴリズムで定義されるものであり、ここでは特にフォーマットを限定しない。不良回避アルゴリズムとは、通常データ記憶領域の不良位置を回避してデータの読み出しおよび書き込みを行う制御を規定するものであり、後述のコントローラ12で実現される。

0018

以下、不良情報の例を説明する。不良情報の最も単純な例は、データ記憶部100および110の各々における領域の所定単位(例えばビット等)ごとに、その単位領域が不良であるか否かを示す不良情報マップ(ビットマップ)を作成することである。この例によれば、データを記憶する位置から容易に不良情報の位置を特定できるという利点がある。ただし、例えばビットごとに不良情報マップを用意した場合、記憶データと同量の不良情報マップが必要となるので、不良情報の情報量が大きくなるという問題がある。

0019

そこで、さらに情報量を削減した不良情報の例を図2に示す。図2では、所定の記憶単位ごとに、不良位置間の距離(n0〜n3)を不良情報として表現する方式を示している。図2(A)の例では、記憶単位の先頭から数えてn0ビット目に最初の不良が存在し、そのn0ビット目から数えてさらにn1ビット目に次の不良が存在することを示している(n2,n3も同様)。この例では、図2(B)に示すように、不良情報を記憶するテーブルの第1行目に「n0」が格納され、第2行目に「n1」が格納され、第3行目に「n2」が格納され、第4行目に「n3」が格納され、第5行目以降には「0」が格納される。これは、記憶単位の先頭から数えてn0ビット目に最初の不良が存在し、そのn0ビット目から数えてさらにn1ビット目に次の不良が存在し、そのn1ビット目から数えてさらにn2ビット目に次の不良が存在し、そのn2ビット目から数えてさらにn3ビット目に次の不良が存在し、それ以降は不良が存在しないことを表している。なお、不良情報n0〜n3を表現するためには、記憶単位内のアドレス表現ができる情報量を用意すれば良く、単純な不良情報マップに比べて情報量を削減することができる。また、情報が格納されるテーブルの深さは救済可能な不良数を示しており、不良率や目標とする信頼性に応じて構成を変えても良い。

0020

次に、データ記憶部(100、110)の構成について説明する。図3は、データ記憶部の構成例を示す図である。図3(A)の例では、あるまとまった単位のデータ(例えば4KB)に対して、エラー訂正用の符号(ECC)を付加し、それを4つまとめて通常データ記憶領域に記憶している。上述の不良情報から特定される不良位置に対する書き込み対象のデータについては、冗長データ記憶領域に記憶され、読み出し時に不良位置から読み出されたデータと置換される。一方、図3(b)の例では、通常データ記憶領域の不良位置をスキップし、全体をシフトしながらデータを記憶する。そして、通常データ記憶領域の範囲を越えたデータが冗長データ記憶領域に記憶されていく。

0021

図1戻り、コントローラ12の構成について説明する。図1に示すように、コントローラ12は、書き込み制御部121と、読み出し制御部122と、不良情報解析部123とを備える。

0022

書き込み制御部121は、不図示のホスト装置から、データの書き込み要求受け付けた場合は、データの書き込み対象となるデータ記憶部(この例では100または110)を決定する。例えば書き込み要求は、書き込みの実行を要求するコマンドと、書き込みを要求するデータと、プログラム上の仮想空間アドレスのうち、その書き込みを要求するデータが割り当てられる場所を示す論理アドレスとを含んで構成される。上記論理アドレスは、不図示のホスト装置によって指定される。例えばデータの書き込み方式として追記方式を採用することもできる。この追記方式では、ブロック単位でデータの消去を行い、消去済みのブロックに対してページ単位で書き込みを行うことになる。この追記方式では、書き込みが要求されたデータが書き込まれるブロックは、当該データに割り当てられた論理アドレスとは無関係に決定され、ページの昇順で書き込みが行われる。

0023

書き込み制御部121は、データの書き込み対象となるデータ記憶部の位置を示す物理アドレス(データ記憶部の位置を示す位置情報の一例)を、不良情報解析部123へ通知する。そして、書き込み制御部121は、不良情報解析部123で特定された不良位置に対するデータの書き込みを回避してデータ記憶部に対するデータの書き込みを制御する。不良情報解析部123による不良位置の特定方法については後述する。

0024

読み出し制御部122は、不図示のホスト装置から、データの読み出し要求を受け付けた場合は、データの読み出しが要求されたデータ記憶部(この例では100または110)に格納されたデータを読み出す制御を行う。例えば読み出し要求は、読み出しの実行を要求するコマンドと、プログラム上の仮想空間アドレスのうち、読み出しを要求するデータが割り当てられる場所を示す論理アドレスとを含んで構成される。上記論理アドレスは、ホスト装置によって指定される。読み出し制御部122は、ホスト装置から、データの読み出し要求を受け付けた場合、不図示の論物変換テーブルを参照して、読み出し要求に含まれる論理アドレスに対応付けられた物理アドレス(データ記憶部の位置を示す位置情報の一例)を特定する。読み出し制御部122は、特定した物理アドレスを、不良情報解析部123へ通知するとともに、特定した物理アドレスにより特定されるデータ記憶部に格納されたデータを読み出す制御を行う。そして、読み出し制御部122は、不良情報解析部123で特定された不良位置に基づいて、データ記憶部から読み出したデータを修正する制御を行う。具体的な内容については後述する。

0025

不良情報解析部123は、読み出し制御部122によるデータの読み出し対象となるデータ記憶部(100または110)に対応する不良情報記憶部(101または111)から不良情報を読み出し、読み出した不良情報を解析して不良位置を特定する。また、不良情報解析部123は、データの書き込み対象として決定されたデータ記憶部に対応する不良情報記憶部から不良情報を読み出し、読み出した不良情報を解析して不良位置を特定する。

0026

本実施形態では、不良情報解析部123は、データの書き込みまたは読み出しの対象となるデータ記憶部の位置を示す位置情報(以下の説明では、「第1位置情報」と称する場合がある)に関する線形式から、当該データ記憶部に対応する不良情報記憶部の位置を示す位置情報(以下の説明では、「第2位置情報」と称する場合がある)を特定する。例えば、第1の不揮発性メモリ10が有するデータ記憶部100の位置情報をMとしたとき、対応する不良情報記憶部111の位置情報Nは、計算式N=Offset−M×αなどで求めても良い(この例では、Offsetおよびαは定数とする)。

0027

次に、書き込み制御部121による制御(以下の説明では、「書き込み制御」と称する場合がある)を具体的に説明する。以下の説明では、書き込み対象のデータを「書き込みデータ」と称する場合がある。図4は、書き込み制御の一例を示すフロー図である。図4に示すように、データ記憶部100に対するデータの書き込みを行う場合、まず書き込み制御部121は、データの書き込み対象となるデータ記憶部100の位置を示す物理アドレスを、書き込み情報として不良情報解析部123に通知する(ステップS1)。書き込み情報が通知された不良情報解析部123は、データの書き込み対象となるデータ記憶部100に対応する不良情報記憶部111を特定する(ステップS2)。次に、不良情報解析部123は、不良情報記憶部111に対して不良情報の読み出し要求を行い、不良情報を読み出す(ステップS3,ステップS4)。

0028

次に、不良情報解析部123は、読み出した不良情報を解析する(ステップS5)。そして、不良情報解析部123は、データの書き込み対象となるデータ記憶部100の通常データ記憶領域100Aの不良位置を特定し、特定した不良位置を、書き込み制御部121に通知する。次に、書き込み制御部121は、不良情報解析部123から受け取った不良位置をもとに、通常データ記憶領域100Aの不良位置に対する書き込みを回避して、冗長データ記憶領域100Bを使って書き込みを行うように書き込みデータを再構築する(ステップS6)。そして、書き込み制御部121は、データ記憶部100に対して、再構築した書き込みデータの書き込みを指示する。この指示を受けたデータ記憶部100は、受け取った書き込みデータの書き込みを行う(ステップS7)。

0029

書き込みデータの再構築の例を図5に示す。図5では、通常データ記憶領域に2箇所(2bit)の不良がある場合における書き込みデータの再構築例を示している。図5(A)は、図3(A)に示したデータ記憶部の構成例に対応する書き込みデータの再構築例を示し、図5(B)は、図3(B)に示したデータ記憶部の構成例に対応する書き込みデータの再構築例を示す。

0030

図5(A)では、通常データ記憶領域の不良位置に対する書き込みデータは、同一のデータ記憶部の冗長データ記憶領域に順に書き込むように書き込みデータを再構築する。不良位置に対しては例えば「1」を書き込むなど、不揮発記憶メモリの仕様などで予め決められたデータを固定的に書き込むことができる。一方、図5(B)では、通常データ記憶領域の不良位置に対する書き込みにおいては、1bit右側にシフトして隣の位置に書き込みを行う。このように、不良位置を右シフトにより避けて書き込みを行い、通常データ記憶領域から溢れたデータを冗長データ記憶領域に書き込むものとする。図5の例では、(A)(B)ともに2ビットの冗長データ記憶領域を使用しているが、実現コストの少ない方法を採用すれば良い。

0031

次に、読み出し制御部122による制御(以下の説明では、「読み出し制御」と称する場合がある)を具体的に説明する。以下の説明では、読み出し対象のデータを「読み出しデータ」と称する場合がある。図6は、読み出し制御の一例を示すフロー図である。図6の例では、データ記憶部100に格納されたデータの読み出しを行う場合を想定している。まず、読み出し制御部122は、ホスト装置からデータの読み出し要求を受け付けた場合、不図示の論物変換テーブルを参照して、読み出し要求に含まれる論理アドレスに対応付けられた物理アドレスを特定し、特定した物理アドレスを、読み出し情報として不良情報解析部123に通知する(ステップS10)。また、読み出し制御部122は、ステップS10で特定した物理アドレスにより特定されるデータ記憶部100に対して、データの読み出しを要求する(ステップS11)。この要求を受けたデータ記憶部100は、通常データ記憶領域100Aに格納されたデータを読み出し(ステップS12)、読み出したデータを読み出し制御部122へ通知する。

0032

一方、読み出し制御部122からの読み出し情報の通知を受けた不良情報解析部123は、データの読み出し対象となるデータ記憶部100に対応する不良情報記憶部111を特定する(ステップS13)。次に、不良情報解析部123は、不良情報記憶部111に対して不良情報の読み出し要求を行い、不良情報を読み出す(ステップS14,ステップS15)。次に、不良情報解析部123は、読み出した不良情報を解析する(ステップS16)。そして、不良情報解析部123は、データの読み出し対象となるデータ記憶部100の通常データ記憶領域100Aの不良位置を特定し、特定した不良位置を、読み出し制御部122に通知する。読み出し制御部122は、不良情報解析部123から受け取った不良位置に基づいて、データ記憶部100から受け取ったデータ(読み出したデータ)を修正する制御を行う(ステップS17)。

0033

図5に示した書き込みデータの再構築の例では、読み出したデータの修正処理は、書き込みデータの再構築の逆を辿ることで実現可能である。例えば図5(A)の例では、不良位置に対する書き込みデータは、冗長データ記憶領域に記憶されているので、不良位置から読み出したデータは、冗長データ記憶領域から読み出したデータで置換(修正の一例)することができる。通常データ記憶領域における不良位置に記憶されたデータと、冗長データ記憶領域に記憶されたデータとの対応関係を示す情報は、例えば不図示のメモリ(例えば第1の不揮発性メモリ10や第2の不揮発性メモリ11であってもよいし、それ以外のメモリであってもよい)に格納しておくことができる。一方、図5(B)の例では、不良位置に対する読み出しデータは、1bit左シフトして右隣りのデータで置換することができる。

0034

以上に説明したように、本実施形態では、第1の不揮発性メモリ10が有するデータ記憶部100に対応する不良情報記憶部111は、第1の不揮発性メモリ10とは独立に(並列に)アクセス可能な第2の不揮発性メモリ11に設けられる一方、第2の不揮発性メモリ11が有するデータ記憶部110に対応する不良情報記憶部101は、第2の不揮発性メモリ11とは独立にアクセス可能な第1の不揮発性メモリ10に設けられる。このような配置方式を採用することで、データ記憶部と、当該データ記憶部に対応する不良情報記憶部とに対して並列にアクセスすることが可能になり、データの読み出し時間と不良情報の読み出し時間とをオーバラップさせることができる。これにより、性能を劣化させることなく不良回避制御を実現することが可能になるという有利な効果を達成することができる。

0035

以上においては、メモリシステム1が有する不揮発性記憶部の数は2つである場合を例に挙げて説明したが、これに限らず、例えばメモリシステム1が有する不揮発性記憶部の数は3以上であってもよい。例えばメモリシステム1が、第1の不揮発性メモリ10および第2の不揮発性メモリ11に加えて、第3の不揮発性メモリ(請求項の「不揮発性記憶部」に対応)を有する場合、第1の不揮発性メモリ10が有するデータ記憶部100に対応する不良情報記憶部111は、上述の第1実施形態のように第2の不揮発性メモリ11に配置されてもよいし、上述の第1実施形態とは異なり、第3の不揮発性メモリに配置されてもよい。要するに、メモリシステム1が有する各不揮発性記憶部は、データ記憶部と、当該不揮発性記憶部とは異なる他の不揮発性記憶部が有するデータ記憶部の不良情報を記憶する不良情報記憶部とを備える形態であればよい。

0036

(第2実施形態)
次に、第2実施形態について説明する。上述の第1実施形態と共通する部分については適宜に説明を省略する。図7は、第2実施形態のメモリシステム150の構成例を示す図である。第2実施形態のメモリシステム150は、第1の不揮発性メモリ10および第2の不揮発性メモリ11の代わりに、不揮発性メモリ160を有する。不揮発性メモリ160は、互いに独立にアクセス可能な第1の不揮発性メモリプレーン161および第2の不揮発性メモリプレーン162を有する。

0037

第1の不揮発性メモリプレーン161は、第1実施形態における第1の不揮発性メモリ10に対応し、データ記憶部100と不良情報記憶部101とを有する。第2の不揮発性メモリプレーン162は、第1実施形態における第2の不揮発性メモリ11に対応し、データ記憶部110と不良情報記憶部111とを有する。

0038

上述の第1実施形態と同様に、第1の不揮発性メモリプレーン161が有するデータ記憶部100に対応する不良情報記憶部111は、第2の不揮発性メモリプレーン162に配置され、第2の不揮発性メモリプレーン162が有するデータ記憶部110に対応する不良情報記憶部101は、第1の不揮発性メモリプレーン161に配置される。このような配置方式を採用することで、データ記憶部と、当該データ記憶部に対応する不良情報記憶部とに対して並列にアクセスすることが可能になり、データの読み出し時間と不良情報の読み出し時間とをオーバラップさせることができる。

0039

(第3実施形態)
次に、第3実施形態について説明する。第3実施形態では、不良情報解析部は、データ記憶部の位置を示す位置情報(第1位置情報)と、当該データ記憶部の不良情報を記憶する不良情報記憶部の位置を示す位置情報(第2位置情報)とが対応付けられた対応関係情報を参照して、データの書き込みまたは読み出しの対象となるデータ記憶部の位置を示す第1位置情報に対応する第2位置情報を特定する。以下、具体的に説明する。なお、上述の第1実施形態と共通する部分については適宜に説明を省略する。

0040

図8は、第3実施形態のメモリシステム170の構成例を示す図である。図8に示すように、メモリシステム170は、第1の不揮発性メモリ10と、第2の不揮発性メモリ11と、コントローラ12と、揮発性メモリ13とを有する。

0041

揮発性メモリ13は、データ記憶部の位置を示す第1位置情報と、不良情報記憶部の位置を示す第2位置情報とが対応付けられた位置情報テーブル180を記憶する。この例では、位置情報テーブル180は、請求項の「対応関係情報」に対応していると考えることができる。図8の例では、位置情報テーブル180において、データ記憶部100の位置を示す第1位置情報D1に対して、データ記憶部100に対応する不良情報記憶部111の位置を示す第2位置情報F1が対応付けられている。また、データ記憶部110の位置を示す第1位置情報D2に対して、データ記憶部110に対応する不良情報記憶部101の位置を示す第2位置情報F2が対応付けられているという具合である。

0042

不良情報解析部123は、データの書き込み/読み出しの対象となるデータ記憶部の位置を示す位置情報(第1位置情報)をインデックスとして位置情報テーブル180を参照し、対応する不良情報記憶部の位置を示す第2位置情報を特定する。以上の構成を採用することにより、例えば不良情報記憶部の位置を動的に変更するなどの制御が可能となる。
なお、揮発性メモリ13の配置位置については、不良情報解析部123が参照可能な位置であればよく、図8のようにコントローラ12の外部に配置してもよいし、コントローラ12の内部に配置してもよい。また、揮発性メモリ13の実現手段についても特に制限せず、DRAMやSRAMなどで構成して構わない。

0043

(第4実施形態)
次に、第4実施形態について説明する。第4実施形態では、不良情報を保持する(キャッシュする)不良情報キャッシュをさらに備え、不良情報解析部は、データの書き込みまたは読み出しの対象となるデータ記憶部の不良情報が不良情報キャッシュに記憶されている場合は、不良情報キャッシュから当該不良情報を読み出す。以下、具体的に説明する。なお、上述の第1実施形態と共通する部分については適宜に説明を省略する。

0044

図9は、第4実施形態のメモリシステム190の構成例を示す図である。図9に示すように、メモリシステム190は、第1の不揮発性メモリ10と、第2の不揮発性メモリ11と、コントローラ12と、揮発性メモリ14とを有する。

0045

揮発性メモリ14は、不良情報をキャッシュするための不良情報キャッシュ131を有し、必要に応じて不良情報記憶部101、111に記憶されている不良情報をキャッシュする。ここで、不良情報キャッシュ131のキャッシュアルゴリズム実現方法については特に限定しない。例えば、一度にキャッシュする不良情報の数や、キャッシュした不良情報を追い出す制御の方法などについては限定しない。

0046

図9の例では、不良情報キャッシュ131は、不良情報記憶部の位置を示す位置情報(例えばアドレス)ごとに、当該位置情報により特定される不良情報記憶部に格納された不良情報を対応付けて保持している。不良情報解析部123は、データの書き込みまたは読み出しの対象となるデータ記憶部の不良情報を記憶する不良情報記憶部の位置を示す位置情報に対応付けられた不良情報が不良情報キャッシュ131に存在する場合は、不良情報キャッシュ131から当該不良情報を読み出すことができるので、不揮発性メモリにアクセスすることなく不良情報を読み出すことができる。

0047

ここで、不良情報を読み出して不良情報キャッシュ131に記憶するための制御手段については特に限定しない。不良情報キャッシュ131がキャッシュミス時に自律的に不良情報記憶部から不良情報を読み出しても構わないし、不良情報解析部123がキャッシュミス時に不良情報記憶部から不良情報を読み出して不良情報キャッシュ131に記憶してもよい(不良情報解析部123がキャッシュヒットミスを制御するかどうかは規定しない)。

0048

このような構成とすることで、頻繁に利用される不良情報(すなわち時間的局所性の高い不良情報)や、次に参照される可能性の高い不良情報(すなわち空間的局所性の高い不良情報)を揮発性メモリ14にキャッシュすることができ、不揮発性メモリ(10や11)から不良情報を読み出すよりも高速に不良情報の読み出しを行うことができる。

0049

図10は、第4実施形態のメモリシステム190の変形例を示した図である。図10の例では、コントローラ12は、揮発性メモリ124を有する。本変形例では、不良情報をキャッシュする不良情報キャッシュを階層化し、揮発性メモリ124が不良情報一次キャッシュ125を備え、揮発性メモリ14が不良情報二次キャッシュ132を備えている。

0050

不良情報解析部123は、まず、不良情報一次キャッシュ125でキャッシュヒットした場合は不良情報一次キャッシュ125から不良情報を読み出す。不良情報一次キャッシュ125でキャッシュミスした場合は、不良情報二次キャッシュ132を参照し、不良情報二次キャッシュ132でキャッシュヒットした場合は、不良情報二次キャッシュ132から不良情報を読み出す。不良情報二次キャッシュ132でキャッシュミスした場合は、不揮発性メモリから不良情報を読み出す。なお、ここでも、不良情報を読み出して不良情報キャッシュに記憶するための制御手段については特に限定しない。

0051

(第5実施形態)
次に、第5実施形態について説明する。第5実施形態では、外部装置が、不揮発性メモリ(10、11)に対する不良情報の書き込みを行う。以下、具体的に説明する。なお、上述の第1実施形態と共通する部分については適宜に説明を省略する。

0052

図11に示すように、メモリシステム1は、外部装置2と接続される。そして、外部装置2は、第1の不揮発性メモリ10および第2の不揮発性メモリ11の各々に対して不良情報を書き込むことができる。例えば、製造時の検査工程において、不揮発性メモリの不良を検査し、検査結果から作成した初期不良情報を、外部装置2から不良情報記憶部に書き込むこともできる。

0053

外部装置2は、不良情報を不良情報記憶部に書き込む機能を有するものであればよく、ディスクストレージ不揮発性メモリデバイスなどの記憶装置と書き込み行うドライバなどの組み合わせであってもよいし、不良情報を集中的に管理するデータベースサーバからネットワーク経由でダウンロードする形態でも構わない。

0054

(第6実施形態)
次に、第6実施形態について説明する。第6実施形態では、データ記憶部の不良位置が新たに検出された場合、不良情報記憶部に記憶される不良情報が更新される。以下、具体的に説明する。なお、上述の第1実施形態と共通する部分については適宜に説明を省略する。

0055

図12は、第6実施形態のメモリシステム200の構成例を示す図である。図12に示すように、コントローラ12は、不良情報管理部126を有する。不良情報管理部126は、不良検出部126Aと、不良情報生成部126Bと、不良情報更新部126Cとを有する。不良情報管理部126は、装置の製造後に発生した不良を検出し、不良情報記憶部(101、111)に記憶される不良情報を更新する役割を担っている。説明の便宜上、ここでは、書き込み制御部121や読み出し制御部122の図示を省略している。

0056

不良検出部126Aは、データ記憶部の不良位置を検出する。より具体的には、不良検出部126Aは、データ記憶部の製造後に新たに発生した不良を検出するが、不良の検出手段は特に限定しない。例えば、不良の要因となり得るエラーを不揮発性メモリで発見することが可能であれば、発見したエラーの情報を読み出しデータに付加して不良検出部126Aに渡し、そのエラーを元に不良を検出してもよい。また、読み出しデータに対してエラー訂正不能などのエラーを不良検出部126Aで検出し、不良として検出しても良い。

0057

不良情報生成部126Bは、データ記憶部に対応する不良情報記憶部から読み出した不良情報(つまり、現時点で不良情報記憶部に記憶されている不良情報)と、不良検出部126Aで検出された不良位置を示す検出不良情報とから、不良情報記憶部に格納すべき不良情報を生成し直す。不良情報更新部126Cは、不良情報生成部126Bで生成された不良情報を、対応する不良情報記憶部に書き戻す。

0058

(第7実施形態)
次に、第7実施形態について説明する。第7実施形態では、コントローラは、データ記憶部の誤り訂正を行うデータ保護部と、不良情報記憶部の誤り訂正を行う不良情報保護部と、を備え、不良情報保護部の誤り訂正能力は、前記データ保護部の誤り訂正能力よりも高い。以下、具体的に説明する。なお、上述の第1実施形態と共通する部分については適宜に説明を省略する。

0059

図13は、第7実施形態のメモリシステム210の構成例を示す図である。図13に示すように、コントローラ12は、上述の書き込み制御部121、読み出し制御部122、および、不良情報解析部123に加えて、不良情報管理部126と、データ保護部127と、不良情報保護部128とを有する。不良情報管理部126の機能は、上述の第6実施形態で説明した内容と同じであるが、例えば不良情報管理部126が設けられない形態であってもよい。

0060

データ保護部127は、データ記憶部の誤り訂正を行う役割を担っており、ECCエンコーダ127Aと、ECCデコーダ127Bとを備える。不良情報保護部128は、不良情報記憶部の誤り訂正を行う役割を担っており、ECCエンコーダ128Aと、ECCデコーダ128Bとを備える。

0061

ECCエンコーダ127Aと、ECCデコーダ127Bとが提供するエラー訂正方式については、メモリシステム1の必要なエラー訂正機能を備えていればよく、具体的なエラー訂正方式の形態については特に制限を設けない。ECCエンコーダ128Aは、データ記憶部に記憶するデータに対してエラー訂正符号を生成し、不揮発性メモリに記憶する。エラー訂正符号は対応するデータと同じデータ記憶部に記憶することが自然であるが、エラー訂正符号を記憶する場所については特に制限を設けない。よって、データを記憶するデータ記憶部とは別のデータ記憶部に記憶しても良いし、エラー訂正符号を専用に格納する記憶部を設けてもよい。また、対応するデータを記憶するデータ記憶部を有する不揮発性メモリとは別の不揮発性メモリに、エラー訂正符号を記憶してもよい。

0062

ECCエンコーダ128AとECCデコーダ128Bとが提供するエラー訂正方式については、ECCエンコーダ127Aと、ECCデコーダ127Bとが提供するエラー訂正方式の訂正能力よりも強力な方式を採用することが望ましい。このような構成とすることで、不良情報記憶部のエラーによる誤動作を確実に防止できる。

0063

なお、例えば上述の第5実施形態のように、外部装置が、不良情報記憶部に記憶する不良情報に対してエラー訂正符号を生成して書き込みを行う形態においては、上述のECCエンコーダ128Aは不要となる。なお、データの読み出し時間と不良情報の読み出し時間とをオーバラップさせるためには、ECCデコーダ128Bと、ECCデコーダ127Bとを個別に(独立に)設けておく必要がある。

0064

以上、本発明の実施形態を説明したが、上述の各実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。なお、上述の各実施形態および変形例は任意に組み合わせることもできる。

0065

1メモリシステム
10 第1の不揮発性メモリ
11 第2の不揮発性メモリ
12コントローラ
13揮発性メモリ
14 揮発性メモリ
100データ記憶部
101 不良情報記憶部
110 データ記憶部
111 不良情報記憶部
121書き込み制御部
122読み出し制御部
123 不良情報解析部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ