(57)【要約】      （修正有）【課題】フラッシュメモリデバイスのための操作パラメータを提供する。【解決手段】フラッシュストレージシステムを管理するための機械実装方法は、フラッシュストレージシステムにおける複数のフラッシュメモリデバイスのそれぞれのための予定寿命値を決定することを含む。複数のフラッシュメモリデバイスのうちの少なくとも１つのための予定寿命値は、複数のフラッシュメモリデバイスのうちの少なくとも別の１つの予定寿命値よりも高い。方法はまた、複数のフラッシュメモリデバイスのそれぞれのための操作パラメータを、複数のフラッシュメモリデバイスのためのそれぞれの予定寿命値に基づいて決定する。さらに複数のフラッシュメモリデバイスを、決定された操作パラメータに基づいて構成する。【選択図】図２
2017084342.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュストレージシステムを管理するための機械実装方法であって、
前記フラッシュストレージシステムにおける複数のフラッシュメモリデバイスのそれぞれのための予定寿命値を決定することであって、前記複数のフラッシュメモリデバイスのうちの少なくとも１つのための前記予定寿命値は、前記複数のフラッシュメモリデバイスのうちの少なくとも別の１つの前記予定寿命値よりも高い、決定することと、
前記複数のフラッシュメモリデバイスのそれぞれのための操作パラメータを、前記複数のフラッシュメモリデバイスのための前記それぞれの予定寿命値に基づいて決定することと、
前記複数のフラッシュメモリデバイスを、前記決定された操作パラメータに基づいて構成することと
を含む、機械実装方法。
【請求項２】
前記複数のメモリデバイスのうちの前記少なくとも１つのための前記操作パラメータは、前記複数のフラッシュメモリデバイスのうちの前記少なくとも別の１つのための前記操作パラメータとは異なる、請求項１に記載のフラッシュストレージシステムを管理するための機械実装方法。
【請求項３】
前記操作パラメータにおける差異は、前記複数のメモリデバイスのうちの前記少なくとも１つのための前記予定寿命値と前記複数のフラッシュメモリデバイスのうちの前記少なくとも別の１つの前記予定寿命値との間の差異に対応する、請求項２に記載のフラッシュストレージシステムを管理するための機械実装方法。
【請求項４】
前記操作パラメータは、前記複数のフラッシュメモリデバイスにおけるデータ単位を消去するための消去操作パラメータを含み、
前記消去操作パラメータは、初期パルス値、増分パルス値、又はパルス幅のうちの少なくとも１つを含む、請求項１に記載のフラッシュストレージシステムを管理するための機械実装方法。
【請求項５】
前記操作パラメータは、データを前記複数のフラッシュメモリデバイスにおけるデータ単位に書込むための書込み操作パラメータを含み、
前記書込み操作パラメータは、初期パルス値、増分パルス値、又はパルス幅のうちの少なくとも１つを含む、請求項１に記載のフラッシュストレージシステムを管理するための機械実装方法。
【請求項６】
それぞれのフラッシュメモリデバイスのための前記予定寿命値は、前記それぞれのフラッシュメモリデバイス上の各フラッシュメモリブロックに関連付けられ、
前記予定寿命値は、前記対応するフラッシュメモリデバイス内の前記フラッシュメモリブロックの故障前に、前記対応するフラッシュメモリデバイス内のフラッシュメモリブロック上で実行されると予想されるプログラム−消去サイクル数である、請求項１に記載のフラッシュストレージシステムを管理するための機械実装方法。
【請求項７】
前記複数のフラッシュメモリデバイスのそれぞれのための前記予定寿命値は、前記複数のフラッシュメモリデバイスのそれぞれにおけるそれぞれの試験フラッシュメモリブロックから測定される試験値に基づく、請求項１に記載のフラッシュストレージシステムを管理するための機械実装方法。
【請求項８】
フラッシュストレージシステムであって、
複数のフラッシュメモリデバイスであって、前記複数のフラッシュメモリデバイスのそれぞれが予定寿命値を有し、前記複数のフラッシュメモリデバイスのうちの少なくとも２つは、異なる予定寿命値を有する、複数のフラッシュメモリデバイスと、
コントローラであって、
データ操作のためのコマンドを受信することと、
前記データ操作に関連付けられたフラッシュメモリブロックを有する前記複数のフラッシュメモリデバイスのうちの１つのために操作パラメータを決定することであって、前記操作パラメータは、前記複数のフラッシュメモリデバイスのうちの前記１つのための前記それぞれの予定寿命値に基づいて決定される、決定することと、
前記複数のフラッシュメモリデバイスのうちの前記１つを、前記決定された操作パラメータに基づいて構成することと、
前記データ操作を前記複数のフラッシュメモリデバイスのうちの前記１つで実行することと
を行うように構成される、コントローラと
を備える、フラッシュストレージシステム。
【請求項９】
前記複数のフラッシュメモリデバイスのそれぞれは、操作パラメータを有し、前記複数のフラッシュメモリデバイスのうちの前記少なくとも２つは、異なる操作パラメータを有し、前記複数のフラッシュメモリデバイスのうちの前記少なくとも２つは、前記複数のフラッシュメモリデバイスのうちの前記１つを含む、請求項８に記載のフラッシュストレージシステム。
【請求項１０】
前記操作パラメータの差異は、前記複数のメモリデバイスのうちの前記少なくとも２つのための前記それぞれの予定寿命値間の差異に対応する、請求項９に記載のフラッシュストレージシステム。
【請求項１１】
前記操作パラメータは、前記複数のフラッシュメモリデバイスにおけるデータ単位を消去するための消去操作パラメータを含み、
前記消去操作パラメータは、初期パルス値、増分パルス値、又はパルス幅のうちの少なくとも１つを含む、請求項８に記載のフラッシュストレージシステム。
【請求項１２】
前記操作パラメータは、データを前記複数のフラッシュメモリデバイスにおけるデータ単位に書込むための書込み操作パラメータを含み、
前記書込み操作パラメータは、初期パルス値、増分パルス値、又はパルス幅のうちの少なくとも１つを含む、請求項８に記載のフラッシュストレージシステム。
【請求項１３】
それぞれのフラッシュメモリデバイスのための前記予定寿命値は、前記それぞれのフラッシュメモリデバイス上の各フラッシュメモリブロックに関連付けられ、
前記予定寿命値は、前記対応するフラッシュメモリデバイス内の前記フラッシュメモリブロックの故障前に、前記対応するフラッシュメモリデバイス内のフラッシュメモリブロック上で実行されると予想されるプログラム−消去サイクル数である、請求項８に記載のフラッシュストレージシステム。
【請求項１４】
前記複数のフラッシュメモリデバイスのそれぞれのための前記予定寿命値は、前記複数のフラッシュメモリデバイスのそれぞれにおけるそれぞれの試験フラッシュメモリブロックから測定される試験値に基づく、請求項８に記載のフラッシュストレージシステム。
【請求項１５】
機械読取り可能媒体であって、プロセッサによって実行される場合、
データ操作のためのコマンドを受信することと、
前記データ操作に関連付けられたフラッシュメモリブロックを有する複数のフラッシュメモリデバイスのうちの１つのために操作パラメータを決定することであって、前記複数のフラッシュメモリデバイスのそれぞれが予定寿命値を有し、前記複数のフラッシュメモリデバイスのうちの少なくとも２つが異なる予定寿命値を有し、前記操作パラメータが前記複数のフラッシュメモリデバイスのうちの前記１つのための前記それぞれの予定寿命値に基づいて決定される、決定することと、
前記複数のフラッシュメモリデバイスのうちの前記１つを、前記決定された操作パラメータに基づいて構成することと、
前記データ操作を前記複数のフラッシュメモリデバイスのうちの前記１つで実行することと
を含む操作を前記プロセッサに実行させる実行可能命令と共に符号化される、機械読取り可能媒体。
【請求項１６】
前記複数のフラッシュメモリデバイスのそれぞれは、操作パラメータを有し、前記複数のフラッシュメモリデバイスのうちの前記少なくとも２つは、異なる操作パラメータを有し、前記複数のフラッシュメモリデバイスのうちの前記少なくとも２つは、前記複数のフラッシュメモリデバイスのうちの前記１つを含む、請求項１５に記載の機械読取り可能媒体。
【請求項１７】
前記操作パラメータの差異は、前記複数のメモリデバイスのうちの前記少なくとも２つのための前記それぞれの予定寿命値間の差異に対応する、請求項１６に記載の機械読取り可能媒体。
【請求項１８】
前記操作パラメータは、前記複数のフラッシュメモリデバイスにおけるデータ単位を消去するための消去操作パラメータを含み、
前記消去操作パラメータは、初期パルス値、増分パルス値、又はパルス幅のうちの少なくとも１つを含む、請求項１５に記載の機械読取り可能媒体。
【請求項１９】
前記操作パラメータは、データを前記複数のフラッシュメモリデバイスにおけるデータ単位に書込むための書込み操作パラメータを含み、
前記書込み操作パラメータは、初期パルス値、増分パルス値、又はパルス幅のうちの少なくとも１つを含む、請求項１５に記載の機械読取り可能媒体。
【請求項２０】
それぞれのフラッシュメモリデバイスのための前記予定寿命値は、前記それぞれのフラッシュメモリデバイス上の各フラッシュメモリブロックに関連付けられ、
前記予定寿命値は、前記対応するフラッシュメモリデバイス内の前記フラッシュメモリブロックの故障前に、前記対応するフラッシュメモリデバイス内のフラッシュメモリブロック上で実行されると予想されるプログラム−消去サイクル数であり、
前記複数のフラッシュメモリデバイスのそれぞれのための前記予定寿命値は、前記複数のフラッシュメモリデバイスのそれぞれにおけるそれぞれの試験フラッシュメモリブロックから測定される試験値に基づく、請求項１５に記載の機械読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、フラッシュストレージシステムに関し、より詳細には、フラッシュメモリデバイスのための最適化された操作パラメータに関する。
【背景技術】
【０００２】
ソリッドステートドライブ（ＳＳＤ）等のフラッシュストレージシステムは、不揮発性ストレージ媒体としてフラッシュメモリを用いている。フラッシュストレージシステムは、複数のフラッシュメモリデバイスを含んでもよい。フラッシュメモリデバイスは、データが格納される際にプログラムされ（例えば、書込まれ）、フラッシュメモリデバイス上の空間が解放される場合に消去される。フラッシュメモリデバイスは、フラッシュメモリデバイスが使用できなくなる前に耐えることができる限られた数のプログラム／消去（Ｐ／Ｅ）サイクルを有している。電圧及び他の操作パラメータをプログラムすることは、フラッシュメモリデバイスが故障する前に耐えることができるＰ／Ｅサイクル数に更に悪影響を及ぼす恐れがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
主題技術は、操作パラメータをフラッシュメモリデバイスのための予定寿命値に基づいて決定することによって、フラッシュストレージシステムにおける操作パラメータを最適化する。予定寿命値は、フラッシュメモリデバイスを試験することを通じて決定されてもよい。
【０００４】
主題技術の態様によれば、フラッシュストレージシステムを管理するための機械実装方法が提供される。方法は、フラッシュストレージシステムにおける複数のフラッシュメモリデバイスのそれぞれのための予定寿命値を決定することを含み、複数のフラッシュメモリデバイスのうちの少なくとも１つのための予定寿命値は、複数のフラッシュメモリデバイスのうちの少なくとも別の１つの予定寿命値よりも高い。方法は、また、複数のフラッシュメモリデバイスのそれぞれのための操作パラメータを、複数のフラッシュメモリデバイスのためのそれぞれの予定寿命値に基づいて決定することも含む。方法は、また、複数のフラッシュメモリデバイスを、決定された操作パラメータに基づいて構成することも含む。
【０００５】
主題技術の他の態様によれば、フラッシュストレージシステムが提供される。フラッシュストレージシステムは、複数のフラッシュメモリデバイスと、コントローラとを含む。複数のフラッシュメモリデバイスのそれぞれは、予定寿命値を有し、複数のフラッシュメモリデバイスのうちの少なくとも１つのための予定寿命値は、複数のフラッシュメモリデバイスのうちの少なくとも別の１つのための予定寿命値よりも高い。コントローラは、データ操作のためのコマンドを受信するように構成される。コントローラは、また、データ操作に関連付けられたフラッシュメモリブロックを有する複数のフラッシュメモリデバイスのうちの１つのために操作パラメータを決定するように構成され、操作パラメータは、複数のフラッシュメモリデバイスのうちの１つのためのそれぞれの予定寿命値に基づいて決定される。コントローラは、また、複数のフラッシュメモリデバイスのうちの１つを、決定された操作パラメータに基づいて構成するように構成される。コントローラは、また、データ操作を複数のフラッシュメモリデバイスのうちの１つで実行するように構成される。
【０００６】
主題技術の他の態様によれば、機械読取り可能媒体は、プロセッサによって実行される場合、操作をプロセッサに実行させる実行可能命令と共に符号化される。操作は、データ操作のためのコマンドを受信することを含む。操作は、また、データ操作に関連付けられたフラッシュメモリブロックを有する複数のフラッシュメモリデバイスのうちの１つのために操作パラメータを決定することを含み、複数のフラッシュメモリデバイスのそれぞれが予定寿命値を有し、複数のフラッシュメモリデバイスのうちの少なくとも２つが異なる予定寿命値を有し、操作パラメータが複数のフラッシュメモリデバイスのうちの１つのためのそれぞれの予定寿命値に基づいて決定される。操作は、また、複数のフラッシュメモリデバイスのうちの１つを、決定された操作パラメータに基づいて構成することも含む。操作は、また、データ操作を複数のフラッシュメモリデバイスのうちの１つで実行することも含む。
【０００７】
主題技術の他の構成は、以下の詳細な説明から当業者に容易に明らかとなることが理解され、ここで、主題技術の様々な構成が実例によって示され且つ説明される。認識されるように、主題技術は、他の及び異なる構成が可能であり、その幾つかの詳細は、すべて主題技術の適用範囲から逸脱することなく、様々な他の箇所において変形が可能である。従って、図面及び詳細な説明は、本質において例示的なものとして見なされるべきであり、限定するものとして見なされるべきではない。
【図面の簡単な説明】
【０００８】
【図１】主題技術の態様によるフラッシュストレージシステムの構成部品を示すブロック図である。
【図２】主題技術の態様によるフラッシュストレージシステムを管理するための方法を示すフローチャートである。
【図３】主題技術の態様によるフラッシュストレージシステムを管理するための別の方法を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下で述べる詳細な説明は、主題技術の様々な構成を説明するように意図されており、主題技術が実施され得る唯一の構成を表すことを意図していない。添付図面は、本明細書中に組込まれ、詳細な説明の一部を構成する。詳細な説明は、主題技術の完全な理解を提供する目的のために特定の詳細を含む。しかし、主題技術は、これらの特定の詳細なしに実施されてもよい。幾つかの例において、主題技術の概念を不明瞭にすることを避けるために、構造及び構成部品をブロック図の形で示す。
【００１０】
ソリッドステートドライブ（ＳＳＤ）等のフラッシュストレージシステムは、１つ以上のフラッシュメモリデバイスを含み、そのそれぞれが、１つ以上のダイを備えていてもよい。各フラッシュメモリデバイス又はダイは、フラッシュメモリセルのアレイを備えている。各メモリセルは、１ビット以上のデータを格納するために用いられるフローティングゲートトランジスタを含んでいる。フラッシュメモリセルは、物理ブロックに分けて構成されてもよく、各物理ブロックは、多数のページを備えている。データは、ページの書込み単位でフラッシュメモリに書込まれる。データは、物理ブロックの消去単位でフラッシュメモリから消去される。消耗によりストレージの完全性及び信頼性が悪化する前に、各フラッシュメモリデバイスが限りある数のＰ／Ｅサイクルを有するように、各Ｐ／Ｅサイクルは、フラッシュメモリデバイスを物理的に劣化又は消耗させる恐れがある。
【００１１】
フラッシュメモリデバイスは、電圧をフラッシュメモリデバイスのメモリセルの適切なフローティングゲートトランジスタに印加することによってプログラム又は消去される。フラッシュメモリデバイスの性能は、より高い初期電圧を印加すること（例えば、初期パルス値を増加させること）、印加電圧をより速い割合で増加させること（例えば、増分パルス値を増加させること）、又はより長い時間電圧を印加すること（例えば、パルス幅を増加させること）によって向上されてもよい（例えば、より速い書込み及び／又は消去速度）。しかし、より高い性能は、フラッシュメモリデバイスの寿命が低下するような、フラッシュメモリデバイスのより速い劣化の原因となる恐れがある。反対に、フラッシュメモリデバイスの性能を低下させることにより、フラッシュメモリデバイスの寿命を向上させることができる。フラッシュメモリデバイスのための予定寿命値を決定することによって、フラッシュメモリデバイスの性能は、所望の使用のために調整されてもよい。
【００１２】
図１は、主題技術の態様によるフラッシュストレージシステム１１０の構成部品を示すブロック図である。図１に示すように、フラッシュストレージシステム１１０は、インターフェース１１５と、コントローラ１２０と、フラッシュメモリデバイス１３０Ａ及びフラッシュメモリデバイス１３０Ｂ（総称してフラッシュメモリデバイス１３０）と、メモリ１２５とを含んでいる。インターフェース１１５は、フラッシュストレージシステム１１０とホスト１５０との間のデータ、コマンド、及び／又は制御信号の通信を容易にする。コントローラ１２０は、ホスト１５０から受信したコマンドに従って、フラッシュメモリデバイス１３０内にデータを格納し、取り出すように、フラッシュストレージシステム１１０の動作を制御する。コントローラ１２０は、プロセッサを含んでもよい。ランダムアクセスメモリ（ＲＡＭ）であってもよいメモリ１２５は、コマンドを処理し、ホスト１５０とフラッシュメモリデバイス１３０との間でデータを転送するように、コントローラ１２０のための一時的なストレージ空間を提供する。これらの構成部品のそれぞれの動作は、以下でより詳細に説明する。
【００１３】
インターフェース１１５は、ホスト１５０とフラッシュストレージシステム１１０との間の物理的及び電気的接続を提供する。インターフェース１１５は、物理的及び電気的接続を介したホスト１５０とフラッシュストレージシステム１１０との間のデータ、コマンド、及び／又は制御信号の通信を容易にするように構成されている。インターフェース１１５との接続及び通信は、ユニバーサルシリアルバス（ＵＳＢ）、スモールコンピュータシステムインターフェース（ＳＣＳＩ）、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）等の標準インターフェースに基づいてもよい。代替として、接続及び／又は通信は、プロプライエタリインターフェースに基づいてもよいが、主題技術は、何らかの特定の種類のインターフェースに限定されない。
【００１４】
コントローラ１２０は、ホスト１５０とフラッシュメモリデバイス１３０との間のデータの流れを管理する。コントローラ１２０は、インターフェース１１５を介してホスト１５０からコマンド及びデータを受信するように構成されている。例えば、コントローラ１２０は、ホスト１５０からデータ及び書込みコマンドを受信してデータをフラッシュメモリデバイス１３０に書込んでもよい。コントローラ１２０は、更に、インターフェース１１５を介してホスト１５０へデータを送信するように構成されている。例えば、コントローラ１２０は、データをフラッシュメモリデバイス１３０から読取り、読取りコマンドに応じてデータをホスト１５０へ送信してもよい。コントローラ１２０は、更に、内部制御アルゴリズム又はホスト１５０から受信されてもよい他の種類のコマンドに基づいて、フラッシュメモリデバイス１３０及びメモリ１２５に格納されたデータを管理するように構成されている。例えば、コントローラ１２０は、ガベージコレクション（ＧＣ）等のデータ操作及び他のメンテナンス操作を実行するように構成されている。当業者は、フラッシュストレージデバイス内のコントローラによって実行される他の従来の操作に精通しており、それらを本明細書中で詳細に説明はしない。
【００１５】
コントローラ１２０は、本明細書中で説明する操作及び機能を実行するように設計及び構成された汎用プロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ）、システムオンチップ（ＳｏＣ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は他のプログラマブル論理デバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネント、又はそれらの何らかの組合せにより実装されてもよい。コントローラ１２０は、機械／コンピュータ読取り可能媒体上に格納された１つ以上の命令のシーケンスを実行することによって、本明細書中で説明する操作及び機能を実行してもよい。機械／コンピュータ読取り可能媒体は、フラッシュメモリデバイス１３０、メモリ１２５、又はコントローラ１２０が命令又はコードを読取ることができる他の種類の媒体であってもよい。例えば、フラッシュストレージシステム１１０は、フラッシュストレージシステム１１０の動作中にコントローラ１２０によって読取られ、実行される１つ以上の命令のシーケンスを含むファームウェア／ソフトウェアにより符号化されるＥＰＲＯＭ又はＥＥＰＲＯＭ等の読出し専用メモリ（ＲＯＭ）を含んでもよい。
【００１６】
フラッシュメモリデバイス１３０は、それぞれ単一のフラッシュメモリチップ又はダイであってもよく、又は複数のフラッシュメモリチップのグループを表していてもよい。フラッシュメモリデバイス１３０は、データがコントローラ１２０によってフラッシュメモリデバイス１３０から読出され、それに書込まれる複数のチャンネル間で構築されるか、又は単一のチャンネルに結合されてもよい。フラッシュメモリデバイス１３０は、ＮＡＮＤフラッシュを用いて実装されてもよい。フラッシュメモリデバイス１３０は、それぞれレジスタ１３５を備えていてもよく、それは、各フラッシュメモリデバイス１３０の特性及び／又は操作パラメータ等の特定のデータを格納するための１つ以上のレジスタであってもよい。操作パラメータは、初期パルス値、増分パルス値、及びパルス幅等の書込み及び／又は消去操作パラメータを含んでもよい。
【００１７】
フラッシュメモリデバイス１３０は、フラッシュメモリブロック１４０等のストレージブロックに分割された複数のメモリセルを備えている。図１は、それぞれが２つのフラッシュメモリブロック１４０を有するフラッシュメモリデバイス１３０を示しているが、フラッシュメモリデバイス１３０は、より多く又はよりも少ないフラッシュメモリブロック１４０を有していてもよく、フラッシュメモリデバイス１３０は、それぞれ同じ又は異なる数のフラッシュメモリブロック１４０を有していてもよい。フラッシュメモリブロック１４０は、データブロック又はメモリブロックと呼ばれてもよく、物理ブロックアドレスを用いてコントローラ１２０によってアドレス指定が可能である。フラッシュメモリブロック１４０のそれぞれは、更に、物理ページアドレスを用いてコントローラ１２０によってアドレス指定が可能な複数のデータセグメント又はページに分割され、参照されたページを含むストレージブロックの物理ブロックアドレスからオフセットされる。ページは、セクタ又は他のホストデータ単位を格納してもよい。フラッシュメモリブロック１４０は、一回の消去操作においてフラッシュメモリデバイス１３０内部で消去されるデータの単位を表す。物理ページは、一回の読取り又は書込み操作においてフラッシュメモリデバイス１３０から読取られ、又はそれに書込まれるデータの単位を表す。フラッシュメモリデバイス１３０は、ブロック及びページによって説明されるが、フラッシュストレージデバイス内部のこれらのデータ単位に言及するために、他の用語が用いられてもよい。
【００１８】
主題技術は、何らかの特定容量のフラッシュメモリに限定されない。例えば、ストレージブロックは、それぞれ３２、６４、１２８、又は５１２ページを備えていてもよい。加えて、ページは、それぞれ５１２バイト、２ＫＢ、４ＫＢ、又は３２ＫＢを含んでもよい。セクタは、それぞれ４ＫＢ、又はセクタがページと同じサイズであってもよいような他のサイズを含んでもよく、又は１ページ当たりに複数のセクタが存在していてもよい。
【００１９】
図１において、メモリ１２５は、フラッシュストレージシステム１１０の動作中にコントローラ１２０に結合され、それによって用いられる揮発性メモリを表している。コントローラ１２０は、メモリ１２５内にコマンド及び／又はデータをバッファ格納してもよい。コントローラ１２０は、また、ホスト１５０によって用いられる論理データアドレスを、フラッシュメモリデバイス１３０の一部に対応する仮想及び／又は物理アドレスに変換するために用いられるアドレスマッピングテーブル又はルックアップテーブルを格納するために、メモリ１２５を用いてもよい。フラッシュストレージデバイスを管理するために用いられる他の種類のテーブル、データ、ステータスインジケータ等も、コントローラ１２０によってメモリ１２５に格納されてもよい。例えば、フラッシュメモリデバイス１３０の特性及び／又はパラメータが、メモリ１２５に格納されてもよい。メモリ１２５は、主題技術の適用範囲から逸脱することなく、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、又は他の種類の揮発性ランダムアクセスメモリを用いて実装されてもよい。
【００２０】
ホスト１５０は、コンピュータ／サーバ、スマートフォン、又はデータをフラッシュストレージシステム１１０から読取り、データをそれに書込むその他の電子デバイス等の演算デバイスであってもよい。ホスト１５０は、オペレーティングシステム、又は読取り及び書込みコマンドをフラッシュストレージシステム１１０に発行する他のソフトウェアを有していてもよい。フラッシュストレージシステム１１０は、ホスト１５０に組込まれてもよく、又はホスト１５０の外部にあってもよい。フラッシュストレージシステム１１０は、ホスト１５０にワイヤレスで接続されてもよく、又はホスト１５０に物理的に接続されてもよい。
【００２１】
コントローラ１２０は、フラッシュメモリデバイス１３０上でデータ操作を行うように構成されている。例えば、コントローラ１２０は、ＧＣがフラッシュメモリブロック１４０のうちの１つで必要であるかを決定してもよい。フラッシュメモリブロック１４０は、ウェアレベリングスキームに基づいてＧＣのために選択されてもよい。フラッシュメモリデバイスの限られたＰ／Ｅサイクルのために、他のフラッシュメモリデバイスよりも頻繁に特定のフラッシュメモリデバイスを用いることにより、他のフラッシュメモリデバイスの前に、特定のフラッシュメモリデバイスが故障する原因となる恐れがある。
【００２２】
コントローラ１２０は、ウェアレベリング目的のために、各フラッシュメモリブロック１４０のＰ／Ｅサイクルカウントの経過を追ってもよい。均一なウェアレベリングスキームにおいて、最も低いＰ／Ｅサイクルカウントを有するフラッシュメモリブロック１４０が、一般に、Ｐ／Ｅサイクルによる消耗を均一に分散させるように選択される。均一なウェアレベリングスキームは、概してフラッシュメモリデバイスの予定寿命値を考慮せず、フラッシュストレージシステム１１０が、概して類似した予定寿命値を有するフラッシュメモリデバイスを備えているという仮定の下に運用される。予定寿命値は、フラッシュメモリブロックの故障前にフラッシュメモリデバイスのフラッシュメモリブロック上で実行されると予想されるＰ／Ｅサイクル数に対応していてもよい。
【００２３】
フラッシュメモリデバイスのための予想Ｐ／Ｅサイクル等の予定寿命値は、往々にして、フラッシュメモリデバイスのメーカーによって決定される。例えば、メーカーは、試験用に製造したダイのバッチから少量のダイのサンプルを選択してもよい。試験は、電圧を印加してサンプルダイ上のフラッシュメモリセルを消去することを伴ってもよい。具体的には、試験は、フラッシュメモリセルが消去されたと考えられるまで、最も短いパルス幅に対する最も低い電圧を印加することを伴ってもよい。試験に基づいて、メーカーは、３０，０００Ｐ／Ｅサイクル等の平均予定寿命値により試験したバッチを格付けしてもよい。バッチ内の各ダイのための平均予定寿命値は、同様に格付けされてもよいが、各ダイのための実際の寿命値は、この試験を通して決定された平均予定寿命値よりも大きいか、又は小さくてもよい。
【００２４】
フラッシュストレージシステム１１０は、バッチ試験に基づいた同じ又は類似した平均予定寿命値を有するフラッシュメモリデバイス１３０を備えていてもよい。しかし、それぞれ個々のフラッシュメモリデバイス１３０は、平均予定寿命値を上回る又は下回る実際寿命値を有していてもよい。１つ以上のフラッシュメモリデバイス１３０が平均予定寿命値を下回る実際寿命値を有していた場合、１つ以上のフラッシュメモリデバイス１３０は、平均予定寿命値に達する前に故障する恐れがある。
【００２５】
加えて、フラッシュストレージシステムは、フラッシュストレージシステム内のフラッシュメモリデバイスのための予定寿命値に基づいて格付け又は等級分けされてもよい。高い予想Ｐ／Ｅサイクルを有するフラッシュメモリデバイスは、企業用ストレージシステムにおける使用に対して長い寿命を有すると予想されてもよく、又は高速なプログラム／消去速度のために長い寿命を犠牲にする高性能システムにおいて用いられてもよい。低い予想Ｐ／Ｅサイクルを有するフラッシュメモリデバイスは、低い予想寿命又は遅い速度を有する低性能システムにおいて用いられてもよい。より正確な格付けが、より正確な予定寿命値により決定されてもよい。
【００２６】
より正確な予定寿命値を決定するために、各フラッシュメモリデバイスを試験してもよい。フラッシュメモリデバイスは、組立て前に試験されてもよく、又はフラッシュストレージシステム内に取り付けた後に試験されてもよい。各フラッシュメモリデバイスにおける１つ以上のブロックが、試験されてもよいが、試験したブロックを不安定な状態にすることがあり得る。しかし、フラッシュメモリデバイスは、ブロック故障に備えるか、又はメンテナンス操作において用いるための余分なブロックと共に製造されてもよい。ブロック内部の位置のばらつきの影響を低減させるために、各フラッシュメモリデバイス上の同じ位置の同じブロックを試験してもよい。
【００２７】
各フラッシュメモリデバイス上で、上記で要約した低電圧試験を行うことは、時間がかかることがあり得、従って、常に実施可能なものではないことがあり得る。最低電圧を用いるのではなく、最大電圧試験のために、最大電圧を用いてもよい。最大電圧試験中、フラッシュメモリデバイスによって制御できる最大電圧であってもよい最大電圧が、ブロックのセルにおける電荷捕捉を早めて飽和点に到達するために、長時間及び／又は多重パルスで印加されてもよい。加えて、パルス間の冷却期間に待機するのではなく、パルスを連続的に印加してもよく、これにより、飽和点に到達するまでの時間を更に早めてもよい。飽和に到達するために必要な最大電圧におけるパルス数又は飽和に達するまでの電圧持続時間を含んでもよい、最大電圧試験で用いられる電圧パラメータは、平均予定寿命値よりも正確な予定寿命値を決定するために測定され、用いられてもよい。例えば、種々のフラッシュメモリデバイスに対する最大電圧試験を行うことにより実験データを集め、電圧パラメータと予想Ｐ／Ｅサイクルカウントとの相関を取ってもよい。
【００２８】
これらの予定寿命値を用いて、フラッシュメモリデバイスは、フラッシュストレージシステム内での使用に対してより良好に対応されてもよい。代替として、フラッシュストレージシステムは、各フラッシュメモリデバイスに対する予定寿命値が試験される前に組立てられてもよい。予定寿命値は、フラッシュストレージシステムの性能階層をより良好に決定してもよい。例えば、フラッシュストレージシステムのフラッシュメモリデバイスの予定寿命値が、（フラッシュストレージシステムの初期アセンブリに対して用いられた可能性がある）平均予定寿命値に基づく予想よりも概してすべて高いか、又はすべて低い場合、フラッシュストレージシステムは、それに応じてより高い階層又はより低い階層に格付けされてもよい。
【００２９】
フラッシュメモリデバイスの操作パラメータは、フラッシュストレージシステムに対する所望の性能及び／又は寿命を達成するために、デフォルト値から調整されてもよい。例えば、フラッシュストレージシステムが、平均予定寿命値よりも高い予定寿命値を有するフラッシュメモリデバイスを含む場合、フラッシュメモリデバイスの操作パラメータは、性能を向上させるように調整されてもよく、結果として、より高性能なフラッシュストレージシステムを生じる。しかし、向上した性能は、フラッシュストレージシステムにおける消耗を高める恐れがあり、これにより、フラッシュストレージシステムの寿命を低下させる恐れがある。各フラッシュメモリデバイスのための操作パラメータの調整は、低下した寿命が元の平均予定寿命値未満に降下しないように、対応する予定寿命値に基づいていてもよい。
【００３０】
反対に、すべてのフラッシュメモリデバイスが平均予定寿命値よりも低い予定寿命値を有している場合、各フラッシュメモリデバイスのための操作パラメータは、性能を犠牲にして平均予定寿命値に寿命を向上させる調整されてもよい。フラッシュストレージシステムのフラッシュメモリデバイスが、平均予定寿命値を上回る予定寿命値及び下回る予定寿命値を有している場合、平均予定寿命値未満の予定寿命値を有するフラッシュメモリデバイスの操作パラメータは、平均予定寿命値まで寿命を向上させるように調整されてもよく、平均予定寿命値を上回る予定寿命値を有するフラッシュメモリデバイスの操作パラメータは、他のフラッシュメモリデバイスの低下した性能を補うように向上した性能に調整されてもよい。
【００３１】
図２は、主題技術の態様による操作パラメータを最適化するための例示のプロセスのためのフローチャート２００を示している。図２のプロセスは、フラッシュストレージデバイスの製造又は試験段階中に行われてもよいか、又はフラッシュストレージデバイスの初期化シーケンス中に行われてもよい。２１０において、フラッシュストレージシステムにおける複数のフラッシュメモリデバイスのそれぞれのための予定寿命値が決定され、ここで、複数のフラッシュメモリデバイスのうちの少なくとも１つのための予定寿命値は、複数のフラッシュメモリデバイスのうちの少なくとも別の１つのための予定寿命値よりも高い。フラッシュストレージシステム１１０において、それぞれのフラッシュメモリデバイス１３０のための予定寿命値は、それぞれのフラッシュメモリデバイス１３０上の各フラッシュメモリブロック１４０に関連付けられてもよい。予定寿命値は、対応するフラッシュメモリデバイス１３０内のフラッシュメモリブロック１４０の故障前に、対応するフラッシュメモリデバイス１３０内のフラッシュメモリブロック１４０上で実行されると予想されるＰ／Ｅサイクル数に対応していてもよい。フラッシュメモリデバイスは、類似した平均予定寿命値に基づいて選択されてもよいが、個々の試験により、各フラッシュメモリデバイスのための予定寿命値のばらつきが明らかにされてもよい。図１において、フラッシュメモリデバイス１３０Ａは、フラッシュメモリデバイス１３０Ｂの予定寿命値よりも高い予定寿命値を有していてもよい。
【００３２】
予定寿命値は、予定寿命値が、各フラッシュメモリデバイス内の試験フラッシュメモリブロックから測定される試験値に基づくように、個々のダイの試験により決定されてもよい。実験室試験又はシミュレーションからの実験データは、操作パラメータと寿命値との相関を示すデータを提供してもよい。予定寿命値は、例えば、１つ以上のテーブル内等の各フラッシュメモリデバイス１３０上の指定されたフラッシュメモリブロック１４０内に格納されてもよい。代替として、予定寿命値は、各フラッシュメモリデバイス１３０上のレジスタ１３５内に格納されるか、又はメモリ１２５内に格納されてもよい。
【００３３】
２２０において、複数のフラッシュメモリデバイスのそれぞれのための操作パラメータは、複数のフラッシュメモリデバイスのための各予定寿命値に基づいて決定される。操作パラメータは、書込み操作パラメータ及び消去操作パラメータを含んでもよい。例えば、操作パラメータは、予定寿命値が当初予想されたものよりも高い場合、性能を向上させるように規定の操作パラメータ値から調整されてもよい。初期パルス値、増分パルス値、及びパルス幅のうちの１つ以上は、書込み又は消去操作を加速するように増加されてもよい。フラッシュメモリデバイスのそれぞれのための操作パラメータは、異なっていてもよい。差異は、フラッシュメモリデバイスのそれぞれのための予定寿命値間の差異に対応してもよい。図１において、フラッシュメモリデバイス１３０Ａのための操作パラメータは、フラッシュメモリデバイス１３０Ａの延長された寿命を低減する一方で、性能を向上させるように調整されてもよく、フラッシュメモリデバイス１３０Ｂのための操作パラメータは、フラッシュメモリデバイス１３０Ｂの性能を低下させてより短い寿命を延長させるように調整されてもよい。フラッシュストレージシステム１１０は、寿命及び性能の平均に達してもよい。
【００３４】
２３０において、複数のフラッシュメモリデバイスは、決定された操作パラメータに基づいて構成される。構成することは、操作パラメータをフラッシュメモリデバイスの各レジスタ又は指定されたフラッシュメモリブロックに格納することを含んでもよい。図１において、コントローラ１２０は、操作パラメータを各フラッシュメモリデバイス１３０の指定されたフラッシュメモリブロック１４０及び／又はレジスタ１３５に格納してもよい。
【００３５】
図３は、態様による操作パラメータを最適化するための別の例示のプロセスのフローチャート３００を示している。図３のプロセスは、例えば、フラッシュストレージシステムの動作中にフラッシュストレージシステムのコントローラによって実行されてもよい。フラッシュストレージシステムは、複数のフラッシュメモリデバイスを含み、各フラッシュメモリデバイスは、予定寿命値を有しており、ここで、複数のフラッシュメモリデバイスのうちの少なくとも１つのための予定寿命値は、複数のフラッシュメモリデバイスのうちの少なくとも別の１つのための予定寿命値よりも高い。
【００３６】
３１０において、データ操作のためのコマンドが受信される。コントローラ１２０は、ホストデータをホスト１５０からフラッシュメモリブロック１４０に書込むための書込み操作等の読取り、書込み、消去コマンドをホスト１５０から受信してもよい。代替として、コマンドは、フラッシュメモリブロック１４０内の無効なメモリ位置を解放するためのＧＣプロセス等のコントローラ１２０によって実行されるべきメンテナンス操作のためのものであってもよい。
【００３７】
３２０において、操作パラメータが、データ操作に関連付けられたフラッシュメモリブロックを有する複数のフラッシュメモリデバイスのうちの１つのために決定され、ここで、操作パラメータは、複数のフラッシュメモリデバイスのうちの１つのための各予定寿命値に基づいて決定される。図１において、コントローラ１２０は、データ操作のために選択されたフラッシュメモリブロック１４０に基づいてフラッシュメモリデバイス１３０を選択してもよい。コントローラ１２０は、操作パラメータを決定するように、選択されたフラッシュメモリデバイス１３０の指定されたフラッシュメモリブロック１４０又はレジスタ１３５に格納されてもよいテーブル等のデータ構造内に格納された値を読取ってもよい。
【００３８】
３３０において、複数のフラッシュメモリデバイスのうちの１つは、決定された操作パラメータに基づいて構成される。図１において、コントローラ１２０は、決定された操作パラメータに基づいて、データ操作のための電圧パラメータを調整することによって、選択されたフラッシュメモリデバイス１３０を構成してもよい。
【００３９】
３４０において、データ操作が、複数のフラッシュメモリデバイスのうちの１つで実行される。コントローラ１２０が、３２０においてフラッシュメモリブロック１４０を選択し、３３０においてフラッシュメモリブロック１４０を有するフラッシュメモリデバイス１３０を構成した後、コントローラ１２０は、決定された操作パラメータに基づいて、プログラム／消去パラメータを適用することによって、フラッシュメモリブロック１４０上でデータ操作を実行してもよい。データ操作は、書込み操作、ＧＣプロセス、又は他のメンテナンス操作であってもよい。各フラッシュメモリデバイス１３０に対して、コントローラは、対応する操作パラメータに基づくプログラム／消去パラメータを適用してもよい。
【００４０】
加えて、操作パラメータは、フラッシュメモリデバイスが経時変化するにつれて、変更されてもよい。フラッシュメモリデバイスは、フラッシュメモリデバイスの寿命の開始時により高速な性能のために構成されてもよく、残りのＰ／Ｅサイクルを保つために、フラッシュメモリデバイスが経時変化するにつれて、より低速な性能のために漸次構成されてもよい。例えば、フラッシュメモリデバイスの寿命が１つ以上のマイルストーンに到達する際に、操作パラメータが変化してもよい。新しい場合、フラッシュメモリデバイスは、操作パラメータの第１の設定で構成されてもよい。１０，０００回のＰ／Ｅサイクル又は３０％寿命使用等の第１のマイルストーンにおいて、フラッシュメモリデバイスは、操作パラメータの第１の設定よりも低下した性能に対応してもよい操作パラメータの第２の設定で構成されてもよい。代替として、フラッシュメモリデバイスの操作パラメータは、絶えず調整されてもよい。
【００４１】
加えて、操作パラメータは、フラッシュメモリデバイスがあまりにも早く故障した場合、他のフラッシュメモリデバイスは、故障したフラッシュメモリデバイスによる性能の損失を補うように、より高い性能に調整されてもよく、又は更なる時期尚早の故障を防ぐように、より長い寿命に調整されてもよい等、他の要因によって調整されてもよい。ある特定の実装において、操作パラメータは、手動で上書きされてもよい。
【００４２】
本明細書中で説明した様々な実例のブロック、モジュール、構成要素、構成部品、方法、及びアルゴリズムは、電子的なハードウェア、コンピュータソフトウェア、又はその両方の組合せとして実装されてもよい。このハードウェア及びソフトウェアの互換性を例証するため、様々な実例のブロック、モジュール、構成要素、構成部品、方法、及びアルゴリズムを、それらの機能性の観点から一般的に上で説明してきた。かかる機能性がハードウェア又はソフトウェアとして実装されるかどうかは、システム全体に課せられる特定の用途及び設計の制約によって決まる。説明した機能性は、それぞれ特定の用途に対して様々な方法で実装されてもよい。種々の構成部品及びブロックは、主題技術の適用範囲から逸脱することなく、すべて異なるように配置されてもよい（例えば、異なる順序で配置されるか、又は異なる方法で分割されてもよい）。
【００４３】
開示したプロセスにおけるステップの特定の順序又は階層が例示のアプローチの実例であることが理解される。設計の選択に基づいて、プロセスにおけるステップの特定の順序又は階層が再編成されてもよいことが理解される。ステップのうちの幾つかは、同時に実行されてもよい。付随する方法は、実例の順序における様々なステップの存在する構成要素を主張するものであり、提示した特定の順序又は階層を限定する意図はない。
【００４４】
先の説明は、当業者が本明細書中で説明された様々な態様を実施することができるように提供されている。これらの態様に対する様々な改良形態は、当業者にとって容易に明らかとなり、本明細書中で定義した一般的な原則は、他の態様に適用されてもよい。従って、特許請求の範囲は、本明細書中に示した態様に限定されることを意図していないが、特許請求の範囲の言語と整合性のある完全な適用範囲と一致することを意図しており、単数形での構成要素に対する引用は、特に指定のない限り、「１つ及び唯一」を意味するのではなく、「１つ以上」を意味することを意図している。特に指定がない限り、用語「幾つか」は、１つ以上のものを指す。男性形の代名詞（例えば、彼の）は、女性形及び中性形（例えば、彼女のまたはその）を含み、逆の場合も同様である。表題及び副題は、もしあれば、利便性のためにのみ用いられており、本発明を限定するものではない。
【００４５】
「態様」等の語句は、かかる態様が主題技術にとって必須であるか、又はかかる態様が主題技術のすべての構成に適用されることを含意するものではない。態様に関する開示は、すべての構成又は１つ以上の構成に適用されてもよい。態様等の語句は、１つ以上の態様を指してもよく、逆の場合も同様である。「構成」等の語句は、かかる構成が主題技術にとって必須であるか、又はかかる構成が主題技術のすべての構成に適用されることを含意するものではない。構成に関する開示は、すべての構成又は１つ以上の構成に適用されてもよい。構成等の語句は、１つ以上の構成を指してもよく、逆の場合も同様である。
【００４６】
用語「例示的」は、「実施例又は例示として機能すること」を意味するように本明細書中において用いられる。「例示的」として本明細書中で説明する何らかの態様又は設計は、必ずしも他の態様又は設計よりも好ましいか、又は利点があるものとして解釈するべきではない。
【００４７】
当業者にとって公知であるか、又は後に公知となる本開示の全体を通して説明した様々な態様の構成要素に対するすべての構造的及び機能的均等物は、引用によって本明細書中に明示的に組込まれ、特許請求の範囲によって包含されることを意図している。更に、本明細書中に開示したいずれのものも、かかる開示が特許請求の範囲において明示的に説明されているかどうかに関わらず、公用に供する意図はない。いずれの請求項の構成要素も、構成要素が「〜するための手段」といった語句を用いて明示的に説明されていない限り、又は方法クレームの場合、構成要素が「〜するためのステップ」といった語句を用いて説明されていない限り、米国特許法第１１２条第６項の規定の下で解釈すべきではない。更に、「含む」、「有する」等の用語が説明又は特許請求の範囲で用いられている範囲内において、かかる用語は、「備える」が請求項内の移行句として用いられる場合に解釈されるような用語「備える」と類似の方法で包括的であることを意図している。
【符号の説明】
【００４８】
１１０  フラッシュストレージシステム
１１５  インターフェース
１２０  コントローラ
１２５  メモリ
１３０  フラッシュメモリデバイス
１３５  レジスタ
１４０  フラッシュメモリブロック
１５０  ホスト
２００、３００  フローチャート
【図１】
2017084342.tif 000003
【図２】
2017084342.tif 000004
【図３】
2017084342.tif 000005
【外国語明細書】
2017084342000001.pdf