JP6430740B2 - ソリッドステートメモリシステムにおけるレイテンシーベースのデータ再利用のシステム及び方法 - Google Patents

ソリッドステートメモリシステムにおけるレイテンシーベースのデータ再利用のシステム及び方法 Download PDF

Info

Publication number
JP6430740B2
JP6430740B2 JP2014148529A JP2014148529A JP6430740B2 JP 6430740 B2 JP6430740 B2 JP 6430740B2 JP 2014148529 A JP2014148529 A JP 2014148529A JP 2014148529 A JP2014148529 A JP 2014148529A JP 6430740 B2 JP6430740 B2 JP 6430740B2
Authority
JP
Japan
Prior art keywords
data
access
threshold
iteration
memory device
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.)
Expired - Fee Related
Application number
JP2014148529A
Other languages
English (en)
Other versions
JP2015111388A5 (ja
JP2015111388A (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.)
LSI Corp
Original Assignee
LSI Logic 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
Priority claimed from US14/072,530 external-priority patent/US9424179B2/en
Application filed by LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2015111388A publication Critical patent/JP2015111388A/ja
Publication of JP2015111388A5 publication Critical patent/JP2015111388A5/ja
Application granted granted Critical
Publication of JP6430740B2 publication Critical patent/JP6430740B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

システム及び方法は、包括的には、ソリッドステートメモリに関し、より詳細には、ソリッドステートメモリにおいてデータを再利用するためのシステム及び方法に関する。
[関連出願の相互参照]
本願は、「Systems and Methods for Latency Based Data Recycling in a SolidState Memory System」と題する、2013年10月17日にCai他によって出願された米国特許仮出願第61/892249号(の正規の特許出願)の優先権を主張する。前述の仮特許出願の全内容は、全ての目的において、引用することにより本願の一部をなす。
ソリッドステート記憶デバイスにおけるデータは、時間とともに減衰(decay)し、時間とともにより多くのエラー訂正能力を必要とする。付加的なエラーを訂正するために、強化されたエラー訂正回路部が用いられる場合がある。しかしながら、そのような強化されたエラー訂正回路部は、アクセスレイテンシーを増加させる。
したがって、少なくとも前述の理由から、当該技術分野において、ソリッドステート記憶デバイスにデータを保持するための進歩したシステム及び方法が必要とされている。
システム及び方法は、包括的には、ソリッドステートメモリに関し、より詳細には、ソリッドステートメモリにおいてデータを再利用するためのシステム及び方法に関する。
本発明の様々な実施の形態は、メモリデバイスと、データ復号化器回路と、再利用制御回路とを備えるデータ処理システムを提供する。メモリデバイスはデータセットを保持するように動作可能であり、データ復号化器回路は、データ復号化アルゴリズムの1回又は複数回の反復を前記メモリデバイスからアクセスされた前記データセットに適用して復号化出力を得るとともに、前記データ復号化アルゴリズムが前記データセットに適用された反復の回数を示す反復カウントを提供するように動作可能である。利用制御回路は、前記データセットに対応する読み出しデータを再利用するように動作可能である。該再利用は、前記反復カウントに少なくとも部分的に基づいてトリガーされる。
本概要は、本発明の幾つかの実施形態の概要のみを提供する。「一実施形態では」、「一実施形態によれば」、「様々な実施形態では」、「1つ又は複数の実施形態では」、「特定の実施形態では」等の言い回しは、概して、その言い回しの後に続く特定の特徴、構造又は特性が本発明の少なくとも1つの実施形態に含まれ、本発明の2つ以上の実施形態に含まれる場合もあることを意味する。重要なことには、このような言い回しは必ずしも同じ実施形態を指すとは限らない。本発明の多くの他の実施形態は以下の詳細な説明、添付の特許請求の範囲、及び添付の図面からより完全に明白になる。
図面を参照することにより、本発明の様々な実施形態の更なる理解を実現することができ、これらの実施形態については本明細書の残りの部分で説明する。図面において、同様の参照符号が幾つかの図面の全てにわたって類似の構成要素を指すのに用いられている。幾つかの場合には、小文字からなるサブラベルが、複数の類似の構成要素のうちの1つを表すように参照符号に関連付けられている。存在するサブラベルを指定することなく参照符号が参照されるとき、そのような複数の類似の構成要素全てを指すことが意図される。
本発明の様々な実施形態による反復カウントベースのデータ再利用制御回路を備えるソリッドステート記憶デバイスを示す図である。 本発明の実施形態に関して用いることができる反復データ処理回路の1つの実施態様を示す図である。 本発明の幾つかの実施形態による反復カウントベースのデータ再利用の方法を示す流れ図である。 本発明の幾つかの実施形態による反復カウントベースのデータ再利用の方法を示す流れ図である。 本発明の幾つかの実施形態による反復カウントベースのデータ再利用の方法を示す流れ図である。
システム及び方法は、包括的には、ソリッドステートメモリに関し、より詳細には、ソリッドステートメモリにおいてデータを再利用するためのシステム及び方法に関する。
本発明の様々な実施形態は、反復データ処理回路を備えるソリッドステートメモリシステムを提供する。ソリッドステートメモリからアクセスされたデータが、1つ又は複数のエラーを含む場合、反復データ処理回路は、任意のエラーの訂正を試みてデータ復号化アルゴリズムの1回又は複数回の反復を適用する。エラーを訂正するのに必要とされる反復回数は、反復カウントベースのデータ再利用回路に提供される。この反復カウントベースのデータ再利用回路は、アクセスされたデータの信頼性を高め及び/又はデータの更なるアクセスにおけるレイテンシーを減少させるために、アクセスされたデータを再利用するか否かを判断する。本発明の幾つかの実施形態では、この再利用に関する判断は、反復カウントに加えて、データがアクセスされた頻度に基づいて行われる。
本発明の様々な実施の形態は、メモリデバイスと、データ復号化器回路と、再利用制御回路とを備えるデータ処理システムを提供する。メモリデバイスはデータセットを保持するように動作可能であり、データ復号化器回路は、データ復号化アルゴリズムの1回又は複数回の反復を前記メモリデバイスからアクセスされた前記データセットに適用して復号化出力を得るとともに、前記データ復号化アルゴリズムが前記データセットに適用された反復の回数を示す反復カウントを提供するように動作可能である。利用制御回路は、前記データセットに対応する読み出しデータを再利用するように動作可能である。該再利用は、前記反復カウントに少なくとも部分的に基づいてトリガーされる。
前述の実施形態の幾つかの場合には、データ復号化アルゴリズムは、低密度パリティ検査復号化アルゴリズムである。前述の実施形態の様々な場合には、少なくともデータ復号化器回路及び再利用制御回路は、集積回路に組み込まれている。幾つかのそのような実施形態では、メモリデバイスが、上記集積回路に更に組み込まれている。幾つかの場合には、メモリデバイスはフラッシュメモリデバイスである。特定の場合には、フラッシュメモリデバイスは、そのフラッシュメモリデバイスの各メモリセルに複数のデータビットを保持することができる。
前述の実施形態の様々な場合には、再利用制御回路は、反復カウントを閾値レベルと比較するように動作可能な比較器回路を備える。幾つかのそのような場合には、閾値レベルはプログラム可能である。他のそのような場合には、閾値レベルは固定されている。
前述の実施形態の1つ又は複数の場合には、システムは、メモリアクセス回路を更に備える。このメモリアクセス回路は、メモリデバイスからデータセットにアクセスし、このデータセットに対応するアクセスの頻度を計算するように動作可能である。幾つかのそのような場合には、再利用は、反復カウント及びアクセスの頻度に少なくとも部分的に基づいてトリガーされる。様々な場合には、再利用制御回路は、反復カウントを第1の閾値レベル又は第2の閾値レベルのうちの一方と比較するように動作可能な比較器回路を備える。第1の閾値レベルは、アクセスの頻度が第3の閾値レベルを超えているときに選択され、第2の閾値レベルは、アクセスの頻度が第3の閾値レベル未満であるときに選択される。特定の場合には、第1の閾値レベル、第2の閾値レベル、及び/又は第3の閾値レベルのうちの1つ又は複数は、ユーザーがプログラム可能である。他の場合には、第1の閾値レベル、第2の閾値レベル、及び第3の閾値レベルの全てが固定されている。
本発明の他の実施形態は、メモリデバイスにおけるデータ再利用制御の方法を提供する。これらの方法は、メモリデバイスに保持されたデータセットを受信することと、データ復号化器回路によってデータ復号化アルゴリズムの少なくとも1回の反復をデータセットに適用して、復号化出力を得ることと、データセットに適用されたデータ復号化アルゴリズムの反復の回数をカウントして反復カウントを得ることと、再利用が反復カウントに少なくとも部分的に基づいてトリガーされるように、メモリデバイスに対してデータセットを再利用することとを含む。前述の実施形態の幾つかの場合には、データ復号化アルゴリズムは、低密度パリティ検査復号化アルゴリズムである。
前述の実施形態の様々な場合には、データセットを再利用することは、反復カウントを閾値レベルと比較するように動作可能な比較器回路を備える再利用制御回路によって制御される。前述の実施形態の幾つかの場合には、上記方法は、データセットに対応するアクセスの頻度を求めることを更に含む。幾つかのそのような場合には、再利用は、反復カウント及びアクセスの頻度に少なくとも部分的に基づいてトリガーされる。
前述の実施形態の1つ又は複数の場合には、データセットを再利用することは、反復カウントを反復カウント閾値と比較するように動作可能な比較器回路を備える再利用制御回路によって制御される。幾つかのそのような場合には、上記方法は、アクセスの頻度に少なくとも部分的に基づいて反復カウント閾値を求めることを更に含む。幾つかの場合には、反復カウント閾値は、第1の閾値レベル又は第2の閾値レベルのいずれかから選択され、これらのいずれかはプログラム可能である。
図1を参照すると、ソリッドステート記憶デバイス100は、本発明の様々な実施形態による反復カウントベースのデータ再利用制御回路180を備える。記憶デバイス100は、フラッシュメモリセル140への読み出しアクセス及び書き込みアクセスを指示するホストコントローラー回路160を備える。フラッシュメモリセル140は、NANDフラッシュメモリセル又は当該技術分野において知られているような別のタイプのソリッドステートメモリセルとすることができる。
データ書き込みは、ホストコントローラー回路160が、書き込まれる書き込みデータ105を、書き込まれるロケーションを示すアドレス110とともに提供したときに実施される。メモリアクセスコントローラー120は、書き込みデータ105をフォーマットし、アドレス123及び符号化された書き込みデータ125を書き込み回路130に提供する。書き込み回路130は、アドレス123によってアドレス指定されたそれぞれのフラッシュメモリセルを充電するのに用いられる、符号化された書き込みデータ125をそれぞれグループ分けしたものに対応する書き込み電圧135を提供する。例えば、フラッシュメモリセルが2つのビットセルである(すなわち、読み出し電圧に応じて、「11」、「10」、「00」、又は「01」の値が返される)場合、データを記憶するのに、以下の電圧を印加することができる。
Figure 0006430740
表中、V3はV2よりも大きく、V2はV1よりも大きく、V1はV0よりも大きい。
データ読み出しは、ホストコントローラー回路160が、フラッシュメモリセル140内の対応するロケーションからデータを読み出す要求とともにアドレス110を提供するときに実施される。メモリアクセスコントローラー120は、アドレス123によって示されるロケーションからの読み出し電圧145にアクセスし、この電圧を複数の閾値と比較して、この電圧をマルチビット読み出しデータ155に変形する。同じ2つのビットの例を用いると、以下のマルチビット読み出しデータ155が得られる。
Figure 0006430740
このマルチビット読み出しデータ155は、メモリアクセスコントローラー120から反復データ処理回路170に読み出しデータ107として提供される。反復データ処理回路170は、読み出しデータ107に何らかのエラーがあるか否かを判断する。読み出しデータ107にエラーがない場合、反復データ処理回路170は、読み出しデータ107を読み出しデータ175として提供し、0の値を反復カウント179として提供する。前述の表は単なる一例にすぎないこと、及び異なるデバイスが異なるビット値を異なる電圧閾値に割り当てることができることに留意すべきである。例えば、他の場合には、以下の表の値を用いることができる。
Figure 0006430740
もちろん、他のビットパターンを異なる閾値に割り当てることができる。
エラーが残っている場合、反復データ処理回路170は、読み出しデータ107に対応する軟データを生成するか又はこの軟データにアクセスする。そのような軟データは、読み出しデータ107の所与の要素が正しい確率を示す。幾つかの場合には、この軟データは、読み出し回路150によって軟データ154として提供され、読み出し電圧145と読み出しデータ155の要素の閾値との間の差を示す。この軟情報は、反復データ処理回路170に軟データ174として提供される。本発明の他の実施形態では、この軟データは、読み出し回路150から入手可能ではない。そのような実施形態では、軟データを生成することができる。軟データのそのような生成は、軟データを生成するための当該技術分野において知られている任意の手法を用いて行うことができる。1つの例として、軟データの生成は、Xia他によって2013年10月7日に出願された「Systems and Methodsfor Enhanced Data Recovery in a Solid State Memory System」という発明の名称の米国特許出願第14/047423号に開示されたものと同様に行うことができる。前述の出願の全内容は、全ての目的において、引用することによって本明細書の一部をなす。
反復データ処理回路170は、データ復号化アルゴリズムを読み出しデータ107及び軟データ174に繰り返し適用して復号化出力を得る。データ復号化アルゴリズムの各反復が適用される際に、反復カウントがインクリメントされる。復号化出力が収束する(すなわち、読み出しデータ107に残っている全てのエラーが訂正されることになる)場合、復号化出力は、読み出しデータ175として提供され、反復カウントは、反復カウント179として提供される。復号化出力が収束しない(すなわち、エラーが復号化出力に残っている)場合、データ復号化アルゴリズムの反復が、以前の復号化出力によって誘導された読み出しデータ107に更に1回適用されて、更新された復号化出力が得られる。このプロセスは、全てのエラーが訂正されるまで又はタイムアウト条件(例えば、100回の反復)が発生するまで継続される。本発明の幾つかの実施形態では、データ復号化アルゴリズムは、当該技術分野において知られているような低密度パリティ検査アルゴリズムである。本明細書において提供される開示に基づくと、当業者であれば、本発明の様々な実施形態に関して用いることができる様々なデータ復号化アルゴリズムを認識するであろう。
反復カウントベースのデータ再利用制御回路180は、読み出しデータ175を再利用するか否かを判断する。そのような再利用は、読み出しデータ175をフラッシュメモリセル140内の新しいロケーションに再書き込みすること又はデータをフラッシュメモリセル内の同じロケーションに再書き込みすることを含む。これは、時間減衰又はセル減衰(合わせて「データ減衰」と呼ばれる)に起因したエラーを削減するようにフラッシュメモリセル140内のデータをリフレッシュするよう動作する。読み出しデータ175を再利用するか否かの判断は、反復カウント179に基づいている。一般的なルールとして、データ減衰が増大するにつれて、反復カウント179の値は増加する。したがって、反復カウント179が閾値を超えている場合、反復カウントベースのデータ再利用制御回路180は、メモリアクセスコントローラー回路120への再利用イネーブル187をアサートすることによって読み出しデータ175を再利用させる。再利用制御のそのような手法によって、データアクセスレイテンシー及び/又はデータ損失に対するデータ減衰の影響が削減される。
本発明の幾つかの実施形態では、再利用制御は、高頻度でアクセスされるデータセットに対するアクセスレイテンシーを減少させるように更に適用される。そのような場合、メモリアクセスコントローラー回路120は、データセットがフラッシュメモリセル140からアクセスされる頻度を示す表を保持する。表からの情報は、頻度インジケーター177として反復カウントベースのデータ再利用制御回路180に提供される。この情報は、反復カウント179が比較される閾値を変更するのに用いることができる。特に、頻度インジケーターが閾値レベルを超えている(すなわち、読み出しデータ175が高頻度でアクセスされるデータセットであることを示す)場合、反復カウント179が比較される閾値は下げられる。したがって、高頻度でアクセスされたデータセットの場合、反復データ処理回路170を通じて許可される反復回数は下げられる。これは、低頻度でアクセスされるデータセットのアクセスレイテンシーがより大きくなることを許容しつつ、高頻度でアクセスされるデータセットのアクセスレイテンシーを減少させる。再利用制御のそのような手法は、平均アクセスレイテンシーを削減する。
図2を参照すると、本発明の実施形態に関して用いることができる反復データ処理回路200の1つの実施態様が示されている。反復データ処理回路200が、図1の反復データ処理回路170の代わりに用いられる場合、読み出しデータ107は、入力されるメモリデータ205に接続され、反復カウント179は、反復カウント296に接続され、読み出しデータ175は、硬判定出力292に接続される。
反復データ処理回路200は、メモリデータ205を受信する。軟情報アクセス又は生成回路214は、メモリデータ205に対応する軟情報にアクセスするか又はメモリデータ205に対応する軟情報を生成するように動作可能である。そのような軟情報は、メモリデータ205の所与の要素が正しい確率を示す。幾つかの場合には、この軟情報は、ソリッドステートメモリデバイスによって軟情報アクセス生成回路214に入力(図示せず)として提供される。他の場合には、軟情報は生成される。軟情報のそのような生成は、軟データを生成するための当該技術分野において知られている任意の手法を用いて行うことができる。1つの例として、軟情報の生成は、Xia他によって2013年10月7日に出願された「Systems and Methodsfor Enhanced Data Recovery in a Solid State Memory System」という発明の名称の米国特許出願第14/047423号に開示されたものと同様に行うことができる。前述の出願の全内容は、上記で既に、全ての目的において引用することによって本明細書の一部をなす。
軟情報アクセス又は生成回路214は、軟情報及びメモリデータ205の組み合わせを中央メモリ回路250にデータセット225として提供する。復号化器回路270が利用可能になると、事前に記憶されたデータセット225が、中央メモリ回路250から復号化器入力252としてアクセスされる。本発明の幾つかの実施形態では、復号化器回路270は、当該技術分野において知られているような低密度パリティ検査復号化器回路である。本明細書において提供される開示に基づくと、当業者であれば、本発明の様々な実施形態に関して用いることができる様々な復号化器回路を認識するであろう。
復号化器回路270は、データ復号化アルゴリズムを復号化器入力252に適用して復号化出力271を得る。データ復号化アルゴリズムが適用されるごとに、復号化器回路270は、反復カウンター回路295への反復完了インジケーター273をアサートする。反復カウンター回路295は、反復完了インジケーター273がアサートされるごとにカウントし、復号化器回路270を通った反復の回数を示す反復カウント296を提供する。復号化出力271が収束しない(すなわち、復号化出力271がエラーを含む)場合、データ復号化アルゴリズムの反復が、復号化出力271によって誘導された復号化器入力252に更に1回適用される。このプロセスは、復号化出力271が収束する(すなわち、エラーがない)まで又はタイムアウト条件が満たされるまで繰り返される。
一方、復号化出力271が収束した場合、この出力は、復号化出力272として硬判定バッファー回路290に提供される。硬判定バッファー回路290は、復号化出力272の硬判定を硬判定出力292として提供する。この時点で、反復カウント296は、メモリデータ205内のエラーを訂正するのに用いられた復号化器回路270を通った反復の全回数を示す。
図3a及び図3bを参照すると、流れ図300、301が、本発明の幾つかの実施形態による反復カウントベースのデータ再利用の方法を示している。図3aの流れ図300によると、読み出し要求が受信されたか否かが判断される(ブロック305)。読み出し要求が受信されていない場合(ブロック305)、書き込み要求が受信されているか否かが判断される(ブロック395)。書き込み要求が受信されている場合(ブロック395)、受信されたデータがフォーマットされ、書き込み要求の一部として受信されたアドレスによって示されるフラッシュメモリ内のロケーションに書き込まれ(ブロック397)、プロセスはブロック305に戻る。
一方、読み出しアクセスが受信されたとき、この読み出しアクセスは、データがアクセスされるロケーションを示すアドレスを含む。データは、その後、読み出し要求によって示されたロケーションにおいてフラッシュメモリからアクセスされる(ブロック310)。取り出されたデータにエラーがないか否かが判断される(ブロック320)。データにエラーがないと判断された場合(ブロック320)、取り出されたデータは、読み出しデータとして提供され(ブロック325)、反復カウントは0に等しい(ブロック330)。プロセスは、その後、ブロック305に戻る。図3b及び図3cに関して以下で論述するように、流れ図301、302は、読み出しデータが提供される任意の時にトリガーされる代替の同様のプロセスを開示している。
そうではなく、データにエラーがないと判断されない場合(ブロック320)、アクセスされたデータに対応する軟情報は、アクセスされるか又は生成される(ブロック335)。そのような軟情報は、アクセスされたデータの所与の要素が正しい確率を示す。幾つかの場合には、この軟情報は、データがアクセスされたソリッドステートメモリデバイスによって提供される。他の場合には、この軟情報は生成される。軟情報のそのような生成は、軟データを生成するための当該技術分野において知られている任意の手法を用いて行うことができる。1つの例として、軟情報の生成は、Xia他によって2013年10月7日に出願された「Systems and Methodsfor Enhanced Data Recovery in a Solid State Memory System」という発明の名称の米国特許出願第14/047423号に開示されたものと同様に行うことができる。前述の出願の全内容は、上記で既に、全ての目的において引用することによって本明細書の一部をなす。
アクセスされたデータ及び対応する軟情報は、データセットとして中央メモリに記憶され(ブロック340)、反復カウントは、1の値にインクリメントされる(ブロック345)。次に、データ復号化器回路が処理に利用可能であるか否かが判断される(ブロック350)。データ復号化器回路が処理に利用可能である場合(ブロック350)、事前に記憶されたデータセットが、中央メモリ回路から復号化器入力としてアクセスされる(ブロック355)。データ復号化アルゴリズムが、アクセスされたデータセットに適用されて、復号化出力が得られる(ブロック360)。利用可能である(すなわち、2回目の反復及びその後の反復に利用可能である)場合、以前の復号化出力が、データ復号化アルゴリズムの適用を誘導するのに用いられる。本発明の幾つかの実施形態では、データ復号化アルゴリズムは、当該技術分野において知られているような低密度パリティ検査復号化アルゴリズムである。本明細書において提供される開示に基づくと、当業者であれば、本発明の種々の実施形態に関して用いることができる様々なデータ復号化アルゴリズムを認識するであろう。
復号化出力が収束したか否かが判断される(ブロック365)。復号化出力が収束したと判断された場合(ブロック365)、この復号化出力は、読み出しデータとして提供され(ブロック370)、現在の反復カウントが反復カウントとして報告される(ブロック385)。プロセスは、その後、ブロック305に戻る。図3b及び図3cに関して以下で論述するように、流れ図301、302は、読み出しデータが提供される任意の時にトリガーされる代替の同様のプロセスを開示していることを繰り返し述べておく。
一方、復号化出力が収束しないと判断された場合(ブロック365)、データ復号化アルゴリズムの反復が更に1回認められるか否かが判断される(ブロック375)。幾つかの場合には、データ復号化アルゴリズムの最大反復回数は、固定されているか又はプログラム可能である。これは、事実上、タイムアウト条件である。幾つかの場合には、データ復号化アルゴリズムの許容可能な最大反復回数は100回である。本明細書において提供される開示に基づくと、当業者であれば、本発明の種々の実施形態に関して認めることができる他の反復回数を認識するであろう。ローカルな反復が更に1回認められない場合(ブロック375)、エラーが示され(ブロック380)、現在の反復カウントが反復カウントとして報告される(ブロック385)。プロセスは、その後、ブロック305に戻る。そうではなく、復号化アルゴリズムの反復が更に1回認められる場合(ブロック375)、反復カウントはインクリメントされ(ブロック390)、ブロック360〜ブロック375のプロセスが繰り返される。
図3bを参照すると、流れ図301が、データ再利用を判断するための本発明の幾つかの実施形態による方法を示している。流れ図301によると、読み出しデータが提供されているか否かが判断される(ブロック303)。上記で論述したように、読み出しデータは、流れ図300のブロック325、370の一部として提供される。読み出しデータが提供されている場合(ブロック303)、読み出しデータのアクセス頻度が閾値Aを超えているか否かが判断される(ブロック307)。アクセス頻度は、読み出しデータとして提供された特定のデータがフラッシュメモリから何回アクセスされたのかを示すものである。アクセス頻度は、例えば、1日の期間等の規定された期間にわたって求めることができる。本明細書において提供される開示に基づくと、当業者であれば、アクセス頻度を計算することができる様々な期間及び/又はアクセス頻度を計算するための様々な方法を認識するであろう。本発明の幾つかの実施形態では、閾値Aは固定値である。本発明の他の実施形態では、閾値Aは、ユーザーがプログラム可能な値である。
アクセス頻度が閾値Aを超えている場合(ブロック307)、提供された読み出しデータに対応する反復カウントが閾値Bを超えているか否かが判断される(ブロック309)。閾値Bを超えていない場合(ブロック309)、データ再利用は開始されず、プロセスはブロック303に戻る。一方、閾値Bを超えている場合(ブロック309)、提供された読み出しデータは再利用される(ブロック311)。プロセスは、その後、ブロック303に戻る。そのような再利用は、提供された読み出しデータをフラッシュメモリ内の新しいロケーション又はフラッシュメモリ内の同じロケーションに再書き込みすることを含む。これは、データ減衰によって、データ内のエラーを訂正するのに必要とされるデータ復号化アルゴリズムの反復の回数が増加することが可能とならないように、フラッシュメモリ内のデータをリフレッシュするよう動作する。再利用制御のそのような手法によって、データアクセスレイテンシー及び/又はデータ損失に対するデータ減衰の影響が削減される。本発明の幾つかの実施形態では、閾値Bは固定値である。本発明の他の実施形態では、閾値Bは、ユーザーがプログラム可能な値である。
一方、アクセス頻度が閾値Aよりも大きくない場合(ブロック307)、反復カウントが閾値Cよりも大きいか否かが判断される(ブロック313)。反復カウントが閾値Cよりも大きい場合(ブロック313)、提供された読み出しデータは再利用される(ブロック311)。プロセスは、その後、ブロック303に戻る。そうではなく、反復カウントが閾値Cよりも大きくない場合(ブロック313)、データ再利用は開始されず、プロセスはブロック303に戻る。本発明の幾つかの実施形態では、閾値Cは固定値である。本発明の他の実施形態では、閾値Cは、ユーザーがプログラム可能な値である。
図3cを参照すると、流れ図302が、データ再利用を判断するための本発明の幾つかの実施形態による別の方法を示している。流れ図302によると、読み出しデータが提供されているか否かが判断される(ブロック304)。上記で論述したように、読み出しデータは、流れ図300のブロック325、370の一部として提供される。読み出しデータが提供されている場合(ブロック304)、反復カウントが閾値Aよりも大きいか否かが判断される(ブロック306)。反復カウントが閾値Aよりも大きい場合(ブロック306)、提供された読み出しデータは再利用される(ブロック308)。プロセスは、その後、ブロック304に戻る。そのような再利用は、提供された読み出しデータをフラッシュメモリ内の新しいロケーション又はフラッシュメモリ内の同じロケーションに再書き込みすることを含む。これは、データ減衰によって、データ内のエラーを訂正するのに必要とされるデータ復号化アルゴリズムの反復の回数を増加させることがないように、フラッシュメモリ内のデータをリフレッシュするよう動作する。再利用制御のそのような手法によって、データアクセスレイテンシー及び/又はデータ損失に対するデータ減衰の影響が削減される。本発明の幾つかの実施形態では、閾値Aは固定値である。本発明の他の実施形態では、閾値Aは、ユーザーがプログラム可能な値である。一方、反復カウントが閾値Aよりも大きくない場合(ブロック306)、データ再利用は開始されず、プロセスはブロック304に戻る。
上記のアプリケーションにおいて論述した様々なブロックは、他の機能とともに集積回路に実装することができることに留意すべきである。そのような集積回路は、所与のブロック、システム若しくは回路の機能の全て、又はブロック、システム若しくは回路のサブセットの機能の全てを含むことができる。また、ブロック、システム又は回路の要素を複数の集積回路にわたって実装することができる。そのような集積回路は、当該技術分野において知られている任意のタイプの集積回路とすることができる。この任意のタイプの集積回路には、モノリシック集積回路、フリップチップ集積回路、マルチチップモジュール集積回路及び/又は混合信号集積回路が含まれるが、これらに限定されるものではない。本明細書において論述されたブロック、システム又は回路の様々な機能を、ソフトウェア又はファームウェアのいずれかで実装することができることにも留意すべきである。そのような幾つかの場合には、システム全体、ブロック全体又は回路全体を、そのソフトウェア等価物又はファームウェア等価物を用いて実装することができる。他の場合には、所与のシステム、ブロック又は回路の一部分をソフトウェア又はファームウェアで実装することができる一方、他の部分はハードウェアで実装される。
結論として、本発明は、データ記憶装置のための新規なシステム、デバイス、方法及び構成を提供する。本発明の1つ又は複数の実施形態の詳細な説明が上記で与えられたが、本発明の趣旨から逸脱することなく、様々な代替形態、変更形態及び均等物が当業者には明らかであろう。したがって、上記の説明は本発明の範囲を限定するものとして解釈されるべきではなく、本発明の範囲は添付の特許請求の範囲によって規定される。
図1
105 Write Data 書き込みデータ
107 Read Data 読み出しデータ
110 Address アドレス
120 Memory Access Controller Including Data Frequency DeterminationCircuit データ頻度決定回路を備えるメモリアクセスコントローラー
130 Write Circuit 書き込み回路
140 Flash Memory Cells フラッシュメモリセル
150 Read Circuit 読み出し回路
160 Host Controller Circuit ホストコントローラー回路
170 Iterative Data Processing Circuit 反復データ処理回路
180 Iterative Count Based Data Recycle Control Circuit 反復カウントベースのデータ再利用制御回路

図2
205 Memory Data メモリデータ
214 Soft Information Access or Generation Circuit 軟情報アクセス又は生成回路
250 Central Memory Circuit 中央メモリ回路
270 Decoder Circuit 復号化器回路
290 Hard Decision Buffer Circuit 硬判定バッファー回路
292 Hard Decision Output 硬判定出力
295 Iteration Counter Circuit 反復カウンター回路
296 Iteration Count 反復カウント

図3a
305 Receive Read Request? 読み出し要求を受信したか?
310 Access Flash Memory to Retrieve Selected Data フラッシュメモリにアクセスして、選択されたデータを取り出す
320 Error Free? エラーはないか?
325 Provide the Output as Read Data 出力を読み出しデータとして提供する
330 Report Iteration Count Equal to Zero 0に等しい反復カウントを報告する
335 Access or Generate Soft Information Corresponding to the AccessedData アクセスされたデータに対応する軟情報をアクセス又は生成する
340 Store the Accessed Data and the Soft Information as a Data Set to aCentral Memory アクセスされたデータ及び軟情報をデータセットとして中央メモリに記憶する
345 Set Iteration Count Equal to One 反復カウントを1に等しく設定する
350 Data Decoder Circuit Free? データ復号化器回路は使用されていないか?
355 Access a Data Set From the Central Memory as a Decoder Input 中央メモリからデータセットに復号化器入力としてアクセスする
360 Apply Data Decoding Algorithm to the Decoder Input Guided by aPrevious Decoded Output Where Available to Yield a Decoded Output データ復号化アルゴリズムを、利用可能である場合に以前の復号化出力によって誘導された復号化器入力に適用して復号化出力を得る
365 Converged? 収束したか?
370 Provide the Output as a Read Data 出力を読み出しデータとして提供する
375 Another Iteration? 更なる1回の反復
380 Report Error エラーを報告する
385 Report Iteration Count 反復カウントを報告する
390 Increment Iteration Count 反復カウントをインクリメントする
395 Receive Write Request? 書き込み要求を受信したか?
397 Write Data to Flash Memory データをフラッシュメモリに書き込む

図3b
303 Read Data Provided? 読み出しデータが提供されているか?
307 Data Access Frequency>Threshold A? データアクセス頻度>閾値A?
309 Iteration Count>Threshold B? 反復カウント>閾値B?
311 Recycle the Read Data 読み出しデータを再利用する
313 Iteration Count>Threshold C? 反復カウント>閾値C?

図3c
304 Read Data Provided? 読み出しデータが提供されているか?
306 Iteration Count>Threshold A? 反復カウント>閾値A?
308 Recycle the Read Data 読み出しデータを再利用する

Claims (16)

  1. データ処理システムであって、
    データセットを保持するように動作可能なメモリデバイスと、
    データ復号化アルゴリズムの1回又は複数回の反復を前記メモリデバイスからアクセスされた前記データセットに適用して復号化出力を得、及び、前記データ復号化アルゴリズムが前記データセットに適用された反復の回数を示す反復カウントを提供するように動作可能なデータ復号化器回路と、
    前記データセットに対するアクセスの頻度を計算するように動作可能なメモリアクセス回路と、
    前記アクセスの頻度をアクセス頻度閾値と比較するように動作可能な比較器回路を備える再利用制御回路と、
    を備え
    前記再利用制御回路は、前記アクセスの頻度が前記アクセス頻度閾値を超えていると判定した場合に反復閾値を変更し、
    前記比較器回路は、前記反復カウントを前記変更された反復閾値と比較するように動作可能であり、
    前記再利用制御回路は、前記反復カウントが前記変更された反復閾値を超えていると判定した場合には、前記データセットに対応する読み出しデータを再利用し、該再利用することは、前記データセットがアクセスされた前記メモリデバイスのロケーションとは異なる前記メモリデバイス内のロケーション、又は前記データセットがアクセスされた前記メモリデバイスのロケーションと同じロケーションに、前記読み出しデータを再書き込みすることである、データ処理システム。
  2. 記メモリアクセス回路は、前記メモリデバイスから前記データセットにアクセスするように動作可能であり、
    前記再利用は、前記反復カウント及び前記アクセスの頻度に少なくとも部分的に基づいてトリガーされる、請求項1のデータ処理システム。
  3. 請求項1または2に記載のデータ処理システムであって、前記反復閾値、前記変更された反復閾値、及び前記アクセス頻度閾値のうちの少なくとも1つは、ユーザーがプログラム可能である、データ処理システム。
  4. 請求項1〜のいずれかに記載のデータ処理システムであって、前記データ復号化アルゴリズムは、低密度パリティ検査復号化アルゴリズムである、データ処理システム。
  5. 請求項1〜のいずれかに記載のデータ処理システムであって、少なくとも前記データ復号化器回路及び前記再利用制御回路は、集積回路に組み込まれている、データ処理システム。
  6. 請求項1〜のいずれかに記載のデータ処理システムであって、該データ処理システムは、集積回路に実装されている、データ処理システム。
  7. 請求項1〜のいずれかに記載のデータ処理システムであって、前記メモリデバイスはフラッシュメモリデバイスである、データ処理システム。
  8. 請求項に記載のデータ処理システムであって、前記フラッシュメモリデバイスは、該フラッシュメモリデバイスの各メモリセルに複数のデータビットを保持することができる、データ処理システム。
  9. 前記再利用制御回路は、前記アクセスの頻度が前記アクセス頻度閾値を超えていると判定した場合に、前記変更された反復閾値を生成するために反復閾値を小さくすることからなる、請求項1〜8のいずれかのデータ処理システム。
  10. メモリデバイスにおけるデータ再利用制御の方法であって、
    前記メモリデバイスに保持されたデータセットを受け取ることと、
    データ復号化器回路によってデータ復号化アルゴリズムの少なくとも1回の反復を前記データセットに適用して、復号化出力を得ることと、
    前記データセットに適用された前記データ復号化アルゴリズムの反復の回数をカウントして、反復カウントを得ることと、
    前記データセットに対するアクセスの頻度を計算することと、
    前記アクセスの頻度がアクセス頻度閾値を超えていると判定した場合に反復閾値を変更することと、
    前記反復カウントを前記変更された反復閾値と比較することと、
    前記反復カウントが前記変更された反復閾値を超えていると判定した場合に前記データセットに対応する読み出しデータを再利用すること
    を含み、
    前記再利用することは、前記データセットがアクセスされた前記メモリデバイスのロケーションとは異なる前記メモリデバイス内のロケーション、又は前記データセットがアクセスされた前記メモリデバイスのロケーションと同じロケーションに、前記読み出しデータを再書き込みすることである、方法。
  11. 請求項10に記載の方法であって、
    記再利用は、前記反復カウント及び前記アクセスの頻度に少なくとも部分的に基づいてトリガーされる、方法。
  12. 請求項10または11に記載の方法であって、
    前記反復閾値、前記変更された反復閾値、及び前記アクセス頻度閾値のうちの少なくとも一をプログラムすることを更に含む、方法。
  13. 請求項1012のいずれかに記載の方法であって、前記データ復号化アルゴリズムは、低密度パリティ検査復号化アルゴリズムである、方法。
  14. 前記アクセスの頻度がアクセス頻度閾値を超えていると判定した場合に反復閾値を変更することが、前記アクセスの頻度が前記アクセス頻度閾値を超えていると判定した場合に反復閾値を小さくすることを含むことからなる、請求項10〜13のいずれかの方法。
  15. データセットを保持するように動作可能なフラッシュメモリデバイスと、
    メモリアクセス回路と、
    データ復号化器回路と、
    再利用制御回路
    を備えるデータ記憶デバイスであって、
    前記メモリアクセス回路は、前記フラッシュメモリデバイスの前記データセットにアクセスし、及び、前記データセットに対するアクセスの頻度を計算するように動作可能であり、
    前記データ復号化器回路は、データ復号化アルゴリズムの1回又は複数回の反復を前記フラッシュメモリデバイスからアクセスした前記データセットに適用して復号化出力を得、及び、前記データ復号化アルゴリズムが前記データセットに適用された反復の回数を示す反復カウントを提供するように動作可能であり、
    前記再利用制御回路は、前記アクセスの頻度をアクセス頻度閾値と比較するように動作可能な比較器回路を備え、
    前記再利用制御回路は、前記アクセスの頻度が前記アクセス頻度閾値を超えていると判定した場合に反復閾値を変更し、
    前記比較器回路は、前記反復カウントを前記変更された反復閾値と比較するように動作可能であり、
    前記再利用制御回路は、前記反復カウントが前記変更された反復閾値を超えていると判定した場合には、前記データセットに対応する読み出しデータを再利用し、該再利用することは、前記データセットがアクセスされた前記フラッシュメモリデバイスのロケーションとは異なる前記フラッシュメモリデバイス内のロケーション、又は前記データセットがアクセスされた前記フラッシュメモリデバイスのロケーションと同じロケーションに、前記読み出しデータを再書き込みすることである、データ記憶デバイス。
  16. 前記再利用制御回路は、前記アクセスの頻度が前記アクセス頻度閾値を超えていると判定した場合に、前記変更された反復閾値を生成するために反復閾値を小さくすることからなる、請求項15のデータ記憶デバイス。
JP2014148529A 2013-11-05 2014-07-22 ソリッドステートメモリシステムにおけるレイテンシーベースのデータ再利用のシステム及び方法 Expired - Fee Related JP6430740B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/072530 2013-11-05
US14/072,530 US9424179B2 (en) 2013-10-17 2013-11-05 Systems and methods for latency based data recycling in a solid state memory system

Publications (3)

Publication Number Publication Date
JP2015111388A JP2015111388A (ja) 2015-06-18
JP2015111388A5 JP2015111388A5 (ja) 2017-03-02
JP6430740B2 true JP6430740B2 (ja) 2018-11-28

Family

ID=53539962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014148529A Expired - Fee Related JP6430740B2 (ja) 2013-11-05 2014-07-22 ソリッドステートメモリシステムにおけるレイテンシーベースのデータ再利用のシステム及び方法

Country Status (2)

Country Link
JP (1) JP6430740B2 (ja)
CN (1) CN105279129B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102618699B1 (ko) * 2016-09-28 2024-01-02 삼성전자주식회사 호스트에 의해 제어되는 스토리지 장치를 포함하는 컴퓨팅 시스템

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4791912B2 (ja) * 2006-08-31 2011-10-12 株式会社東芝 不揮発性半導体記憶装置及び不揮発性記憶システム
US8914804B2 (en) * 2007-09-12 2014-12-16 Red Hat, Inc. Handling queues associated with web services of business processes
US8959280B2 (en) * 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US7808831B2 (en) * 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
US7859932B2 (en) * 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
GB2498298B (en) * 2010-09-29 2017-03-22 Ibm Decoding in solid state memory devices
JP2012133642A (ja) * 2010-12-22 2012-07-12 Sony Corp メモリ装置、メモリ制御方法、およびプログラム
CN103176752A (zh) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器

Also Published As

Publication number Publication date
JP2015111388A (ja) 2015-06-18
CN105279129A (zh) 2016-01-27
CN105279129B (zh) 2018-02-06

Similar Documents

Publication Publication Date Title
US11386952B2 (en) Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
KR102239237B1 (ko) 고체 상태 메모리 시스템에서의 레이턴시 기반 데이터 재활용을 위한 시스템 및 방법
KR101610729B1 (ko) 저장 시스템
US9583217B2 (en) Decoding method, memory storage device and memory control circuit unit
KR102393427B1 (ko) 반도체장치 및 반도체시스템
US9384144B1 (en) Error detection using a logical address key
US10298264B2 (en) Systems and methods for soft decision generation in a solid state memory system
US10049007B2 (en) Non-volatile memory device and read method thereof
US9390002B1 (en) Efficient bin labeling schemes for tracking cells in solid state storage devices
US20180275917A1 (en) Memory controller, memory system, and control method
JP6430740B2 (ja) ソリッドステートメモリシステムにおけるレイテンシーベースのデータ再利用のシステム及び方法
US9985647B2 (en) Encoder and decoder design for near-balanced codes
US11869584B2 (en) Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
US11145372B2 (en) Decoding method, memory controlling circuit unit, and memory storage device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170127

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181101

R150 Certificate of patent or registration of utility model

Ref document number: 6430740

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees