(57)【要約】      （修正有）【課題】温度センサに異常が発生した場合、或いは、温度センサを備えていない場合であっても、データ転送に起因する発熱量を制御可能なメモリコントローラを提供する。【解決手段】フラッシュメモリシステムにおいて、メモリコントローラは、ホストシステムとフラッシュメモリの間におけるデータ転送を制御する。メモリコントローラは、第１の期間Ｔ１〜Ｔ４におけるデータ転送レートが所定の条件を満たした場合、第２の期間Ｔ５、Ｔ６におけるデータ転送レートを最大レートよりも低い所定のレートに制限する。すなわち、データ転送レートの履歴に基づいて現在の温度を推定することにより、データ転送レートを所定のレートに制限する。【選択図】図２
2020086720.tif 000002
【特許請求の範囲】
【請求項１】
ホストシステムとフラッシュメモリの間におけるデータ転送を制御するメモリコントローラであって、
第１の期間におけるデータ転送レートが所定の条件を満たした場合、前記第１の期間に続く第２の期間におけるデータ転送レートを最大レートよりも低い所定のレートに制限することを特徴とするメモリコントローラ。
【請求項２】
前記第２の期間においては、前記所定のレートを漸次低下させることを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
前記第２の期間に続く第３の期間においては、データ転送レートの制限を解除することを特徴とする請求項１又は２に記載のメモリコントローラ。
【請求項４】
前記第１の期間における単位時間当たりのデータの転送レートに基づいて温度スコアを増減させ、前記温度スコアがしきい値を超えた場合に、前記所定の条件が満たされることを特徴とする請求項１乃至３のいずれか一項に記載のメモリコントローラ。
【請求項５】
さらに、前記第１の期間における単位時間当たりのデータの転送レートの変化に基づいて前記温度スコアを増減させることを特徴とする請求項４に記載のメモリコントローラ。
【請求項６】
所定の期間、データの転送レートを一定に保つことによって、または、データの転送が行われていない期間が一定以上継続したことを認識することによって、前記温度スコアを校正することを特徴とする請求項４又は５に記載のメモリコントローラ。
【請求項７】
請求項１乃至６のいずれか一項に記載のメモリコントローラと、前記フラッシュメモリとを備えるフラッシュメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリコントローラ及びこれを備えるフラッシュメモリシステムに関し、特に、データ転送に起因する発熱量を制御可能なメモリコントローラ及びこれを備えるフラッシュメモリシステムに関する。
【背景技術】
【０００２】
フラッシュメモリシステムは、ホストシステムとフラッシュメモリの間に設けられたメモリコントローラを備えている。メモリコントローラは、フラッシュメモリシステム全体の動作を制御するとともに、ホストシステムとフラッシュメモリの間におけるデータ転送を制御する役割を果たす。
【０００３】
ここで、メモリコントローラとホストシステム間、或いは、メモリコントローラとフラッシュメモリ間において大容量のデータ転送を行うと、メモリコントローラ内において消費電流が増大し熱源の要因となる。特に多数の出力バッファを有するインターフェース部における発熱は顕著であり、場合によっては熱暴走する恐れがある。これを防止すべく、例えば特許文献１には、温度センサを用いてフラッシュメモリシステムの現在の温度を測定し、これに基づいてアクセス時間を制御する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１７−５２８８１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の方法では、万が一温度センサに異常が発生した場合、熱暴走を止めることができないという問題があった。
【０００６】
したがって、本発明には、温度センサに異常が発生した場合、或いは、温度センサを備えていない場合であっても、データ転送に起因する発熱量を制御可能なメモリコントローラ及びこれを備えるフラッシュメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によるメモリコントローラは、ホストシステムとフラッシュメモリの間におけるデータ転送を制御するメモリコントローラであって、第１の期間におけるデータ転送レートが所定の条件を満たした場合、第１の期間に続く第２の期間におけるデータ転送レートを最大レートよりも低い所定のレートに制限することを特徴とする。また、本発明によるフラッシュメモリシステムは、上記のメモリコントローラとフラッシュメモリとを備える。
【０００８】
本発明によれば、データ転送レートの履歴に基づいて現在の温度を推定し、所定の条件を満たした場合、データ転送レートを最大レートよりも低い所定のレートに制限していることから、温度センサに異常が発生した場合、或いは、温度センサを備えていない場合であっても、データ転送に起因する発熱量を制御することが可能となる。
【０００９】
本発明においては、第２の期間に所定のレートを漸次低下させても構わない。これによれば、データ転送レートの急激な低下を防止することが可能となる。
【００１０】
本発明においては、第２の期間に続く第３の期間においてデータ転送レートの制限を解除しても構わない。これによれば、推定される温度が十分に低下したタイミングで再び高いデータ転送レートで動作させることが可能となる。
【００１１】
本発明においては、第１の期間における単位時間当たりのデータの転送レートに基づいて温度スコアを増減させ、温度スコアがしきい値を超えた場合に、所定の条件が満たされるものであっても構わない。これによれば、現在の温度をより正確に推定することが可能となる。さらにこの場合、第１の期間における単位時間当たりのデータの転送レートの変化に基づいて温度スコアを増減させても構わない。これによれば、現在の温度をよりいっそう正確に推定することが可能となる。
【００１２】
本発明においては、所定の期間、データの転送レートを一定に保つことによって、または、データの転送が行われていない期間が一定以上継続したことを認識することによって、温度スコアを校正しても構わない。これによれば、実際の温度と温度スコアの乖離を防止することが可能となる。
【発明の効果】
【００１３】
このように、本発明によれば、温度センサに異常が発生した場合、或いは、温度センサを備えていない場合であっても、データ転送に起因する発熱量を制御することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の好ましい実施形態によるフラッシュメモリシステム２の構成を説明するためのブロック図である。
【図２】図２は、転送レート制御部１７によるデータ転送レートの制御の一例を示すグラフである。
【図３】図３は、温度スコアＳの増減基準の最も単純な一例を示す図である。
【図４】図４は、実測結果に基づいたデータ転送レートごとの温度スコアＳの値を示す図である。
【図５】図５は、データ転送レートが１００％である場合の温度スコアＳの値を特定する方法を説明するためのグラフである。
【図６】図６は、データ転送レートを１００％から９０％に変化させた場合における温度スコアＳの傾きを特定する方法を説明するためのグラフである。
【図７】図７は、データ転送レートを１００％から０％〜９０％に変化させた場合における温度スコアＳの傾きを示す図である。
【図８】図８は、転送レート制御部１７によるデータ転送レートの制御の一例を示すグラフである。
【図９】図９は、転送レート制御部１７によるデータ転送レートの制御の一例を示すグラフである。
【図１０】図１０は、転送レート制御部１７によるデータ転送レートの制御の一例を示すグラフである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら、本発明の好ましい実施形態について詳細に説明する。
【００１６】
図１は、本発明の好ましい実施形態によるフラッシュメモリシステム２の構成を説明するためのブロック図である。
【００１７】
本実施形態によるフラッシュメモリシステム２は、メモリコントローラ１０と複数のフラッシュメモリ２０〜２ｋを有している。特に限定されるものではないが、フラッシュメモリ２０〜２ｋはＮＡＮＤ型のフラッシュメモリである。図１に示す例では、ｋ＋１個のフラッシュメモリ２０〜２ｋが搭載されているが、搭載されるフラッシュメモリの数については特に限定されない。
【００１８】
メモリコントローラ１０は、外部のホストシステム４とフラッシュメモリ２０〜２ｋとの間に設けられ、これらの間におけるデータ転送を制御する。ホストシステム４とメモリコントローラ１０との間におけるデータ及びコマンドの送受信はホストインターフェース１１を介して行われ、フラッシュメモリ２０〜２ｋとメモリコントローラ１０との間におけるデータ及びコマンドの送受信はフラッシュインターフェース１２を介して行われる。
【００１９】
メモリコントローラ１０は、ＣＰＵ１３、ＲＡＭ１４、ＲＯＭ１５、バッファメモリ１６及び転送レート制御部１７を有している。ＣＰＵ１３は、ＲＯＭ１５に保持されているプログラムに従って、メモリコントローラ１０の全体の動作を制御する。ＲＯＭ１５に保持されたプログラムは、パワーオン時にＲＡＭ１４に展開されても構わない。ＲＡＭ１４は、フラッシュメモリ２０〜２ｋの制御に必要なデータを一時的に格納する作業領域であり、例えば複数のＳＲＡＭセルによって構成されている。バッファメモリ１６は、フラッシュメモリ２０〜２ｋから読み出されたリードデータ及びフラッシュメモリ２０〜２ｋに書き込むべきライトデータを一時的に保持する回路であり、ＲＡＭ１４の一部をバッファメモリ１６として用いても構わない。これにより、ホストシステム４から供給されるライトデータは、バッファメモリ１６に一時的に保持され、フラッシュメモリ２０〜２ｋが書き込み可能な状態となった後、フラッシュインターフェース１２を介してフラッシュメモリ２０〜２ｋに転送される。また、フラッシュメモリ２０〜２ｋから読み出されたリードデータは、バッファメモリ１６に一時的に保持され、ホストシステム４が受け付け可能な状態となった後、ホストインターフェース１１を介してホストシステム４に転送される。
【００２０】
さらに、メモリコントローラ１０は、転送レート制御部１７を有している。転送レート制御部１７は、ホストインターフェース１１及びフラッシュインターフェース１２を用いたデータの転送レートを制御する回路である。データ転送を行うと、メモリコントローラ内において多くの電流が消費される。特にホストインターフェース１１及びフラッシュインターフェース１２には多数の出力バッファが含まれるためスイッチングにより発熱が大きい。このため、最大レートでデータ転送を続けると、フラッシュメモリシステム２の温度が使用温度範囲の限界値に達してしまう。一般的なフラッシュメモリシステムでは、温度センサを用いて現在の温度を測定しているが、本実施形態によるフラッシュメモリシステムは、ホストインターフェース１１及びフラッシュインターフェース１２を用いたデータ転送を監視することによって現在の温度を推定し、これに基づいてデータ転送レートを制限することによって温度を所定値以下に抑えている。転送レート制御部１７は、ＣＰＵ１３、ＲＡＭ１４及びＲＯＭ１５とは別個に設けられた専用の回路であっても構わないし、一部又は全部の機能がＣＰＵ１３、ＲＡＭ１４又はＲＯＭ１５によって実現されるものであっても構わない。
【００２１】
図２は、転送レート制御部１７によるデータ転送レートの制御の一例を示すグラフである。図２に示すデータ転送レートは、ホストインターフェース１１を用いたリードデータ（メモリコントローラからホストシステムへのデータ出力時）の転送レートと、フラッシュインターフェース１２を用いたライトデータ（メモリコントローラからフラッシュメモリへのデータ出力時）の転送レートの合計値を示している（ただし、合計値に限られたものではなく、それぞれのデータ転送レートを個別に管理してもよい）。また、Ｔ１〜Ｔ２０は、それぞれ所定の単位時間からなる期間である。
【００２２】
図２に示す例では、データ転送レートが１００％、つまりシステム上（規格上）の最大レートでデータ転送が行われている期間と、データ転送レートが最大レートの１０％に抑えられている期間が交互に繰り返されている。このような制御は、上述した転送レート制御部１７が温度スコアＳを増減させることによって実現している。つまり、図２に示すように、データ転送レートが１００％で動作している第１の期間（例えば期間Ｔ１〜Ｔ４）においては温度スコアＳが増加し、時刻ｔ１においてその値がしきい値Ａに達している。これに応答して、転送レート制御部１７は、時刻ｔ１以降のデータ転送レートを例えば最大レートの１０％に制限する。図２に示す例では、第２の期間（例えば期間Ｔ５〜Ｔ６）においてデータ転送レートが最大レートの１０％に制限されている。
【００２３】
データ転送レートが制限されると、発熱量が大幅に減少することから、温度スコアＳが減少し、時刻ｔ２においてその値がしきい値Ｂに達している。これに応答して、転送レート制御部１７は、時刻ｔ２以降のデータ転送レートの制限を解除し、その結果、データ転送レートは再び１００％となる。図２に示す例では、第３の期間（例えば期間Ｔ７〜Ｔ１０）においてデータ転送レートが再び１００％となっている。
【００２４】
このような動作を繰り返すことにより、図２に示す例では、期間Ｔ１〜Ｔ４、期間Ｔ７〜Ｔ１０、期間Ｔ１３〜Ｔ１６、期間Ｔ１９〜Ｔ２０においてはデータ転送レートの制限が解除され、期間Ｔ５〜Ｔ６、期間Ｔ１１〜Ｔ１２、期間Ｔ１７〜Ｔ１８においてはデータ転送レートが最大レートの１０％に制限されている。
【００２５】
温度スコアＳがしきい値Ａに達した場合に制限されるデータ転送レートは、最大レートの１０％である必要はなく、最大レートよりも低い所定のレートであれば足りる。温度スコアＳがしきい値Ａに達した場合、データ転送レートを０％、つまりデータ転送を停止しても構わない。温度スコアＳがしきい値Ａに達した後のデータ転送レートは、低いほどフラッシュメモリシステム２を高速に冷却することができる。また、しきい値Ａを複数設定し、温度スコアＳが超えたしきい値の種類に応じて、データ転送レートの制限量を変えても構わない。
【００２６】
温度スコアＳの増減基準については特に限定されず、温度スコアＳができるだけ正確に実際の温度をトレースするよう、システム構成やシステム環境などを考慮して定めれば良い。図３には、温度スコアＳの増減基準の最も単純な一例が示されている。図３に示す例では、単位時間ごとに転送レートと温度スコアＳの増減量を定め、これに基づいて現在の温度スコアＳを決定する。例えば、図２に示すように、期間Ｔ１〜Ｔ４におけるデータ転送レートが１００％であれば、期間Ｔ１〜Ｔ４ごとに温度スコアＳを１０ずつ増加させ、期間Ｔ５〜Ｔ６におけるデータ転送レートが１０％であれば、期間Ｔ５〜Ｔ６ごとに温度スコアＳを２０ずつ減少させる。このような方法によれば、温度スコアＳの算出が非常に容易となる。
【００２７】
また、設計時における温度の実測結果に基づき、転送レートと温度スコアＳの関係をより厳密に規定すれば、より正確に、温度スコアＳを実際の温度にトレースさせることが可能である。具体的には、以下に説明する方法が挙げられる。
【００２８】
まず、転送レートを一定に保った場合の実測温度に基づき、温度スコアＳの値を設定する。例えば、図４に示すように、転送レートを１００％に保った場合における温度スコアＳの値をＴｍａｘ１００とし、転送レートを９０％に保った場合における温度スコアＳの値をＴｍａｘ９０とする。これら温度スコアＳの値は、設計時に実測した温度に対応している。例えば、図５に示すように、データ転送レートを１００％に固定した場合、期間Ｔ１の開始時における温度が室温であれば、期間Ｔ４において最大温度であるＴｍａｘ１００に達し、その後の温度はＴｍａｘ１００に保たれている。この場合、当該温度をＴｍａｘ１００と定義する。他のデータ転送レートにおける値も同様にして実測する。
【００２９】
次に、データ転送レートを変化させた場合における温度変化を実測し、これに基づいて温度スコアＳの変化量を定義する。例えば、図６に示すように、データ転送レートを１００％に固定することによって温度がＴｍａｘ１００に達した状態で、データ転送レートを９０％に変化させた場合、温度がＴｍａｘ９０に達するのに要する時間を測定し、これに基づいて温度スコアＳの変化量を定義する。ここで、温度がＴｍａｘ１００からＴｍａｘ９０に達するのに必要な時間をｔ１００．９０とすると、データ転送レートを１００％から９０％に変化させた場合における温度スコアＳの傾き（単位時間当たりの変化量）は、−（Ｔｍａｘ１００−Ｔｍａｘ９０）／ｔ１００．９０と定義することができる。図７には、データ転送レートを１００％から０％〜９０％に変化させた場合における温度スコアＳの傾きが示されている。そして、データ転送レートの全ての組み合わせについて実測を行うことにより、データ転送レートの全ての組み合わせに対する温度スコアＳの傾きを決定する。
【００３０】
上述した温度スコアＳの値（Ｔｍａｘ１００など）や、温度スコアＳの傾きは、システム構成やシステム環境などによって相違する。例えば、ヒートシンクの有無やサイズ、冷却ファンの能力などによって変化する。このため、仕様ごとに実測を行うことが好ましい。或いは、代表的なシステム構成及び代表的なシステム環境下で実測を行い、仕様ごとに温度スコアＳの値や傾きを補正しても構わない。
【００３１】
そして、フラッシュメモリシステム２の実動作時においては、データ転送レートを所定値（例えば１００％）に固定することによって図４に示す温度スコアＳ（例えばＴｍａｘ１００）を取得した後、データ転送レートが変化するたびに、対応する傾きに応じて温度スコアＳを増減させる。図２に示す例では、期間Ｔ１〜Ｔ４までデータ転送レートが１００％の状態で連続動作したことに応答して、温度スコアＳをＴｍａｘ１００に設定し、期間Ｔ５においてデータ転送レートが１００％から１０％に変化したことに応答して、温度スコアＳを−（Ｔｍａｘ１００−Ｔｍａｘ１０）／ｔ１００．１０だけ変化させる。このような方法によれば、温度スコアＳを実際の温度により正確にトレースさせることが可能となる。
【００３２】
別の例として、図８には、データ転送が間欠的に行われている例が示されている。つまり、期間Ｔ３、Ｔ４、Ｔ８、Ｔ９、Ｔ１１、Ｔ１２においては、ホストシステム４からのデータ転送要求がなく、データ転送が行われていない。このような場合、データ転送が行われていない期間においてフラッシュメモリシステム２が十分に冷却されるため、温度スコアＳはしきい値Ａ以下の値を維持している。特に、フラッシュメモリシステム２が室温まで低下したと判断される場合には、温度スコアＳを最低値Ｃに固定しても構わない。図８に示す例では、期間Ｔ１６において温度スコアＳがしきい値Ａに達しており、これに応答して期間Ｔ１７，Ｔ１８におけるデータ転送レートが１０％に制限されている。
【００３３】
尚、データ転送レートが短期間で変化し続ける場合、温度スコアＳと実温度の乖離が進んでいる可能性があるため、一定期間、データ転送レートを所定のレート（例えば５０％）に固定することによって、温度スコアＳを校正することが好ましい。例えば、一定期間、データ転送レートを所定の５０％に固定した場合、校正後の温度スコアＳはＴｍａｘ５０となり、この値が転送レート制御部１７内で上書きされる。
【００３４】
以上説明したように、本実施形態によるフラッシュメモリシステム２は、過去のデータ転送レートの履歴に基づいて現在の温度を推定し、これに応じてデータ転送レートを制限していることから、温度センサに異常が発生した場合、或いは、温度センサを備えていない場合であっても、フラッシュメモリシステム２の温度を所定値以下に維持することが可能となる。これにより、温度センサの異常などに起因する熱暴走を防止することが可能となる。但し、本発明において温度センサを排除する必要はなく、温度スコアＳと温度センサによる実測値を併用してデータ転送レートを制御しても構わない。
【００３５】
尚、温度スコアＳがしきい値Ａに達した場合におけるデータ転送レートの制限方法についても特に限定されず、図９に示すように、データ転送レートの制限値を漸次低下させても構わない。図９に示す例では、時刻ｔ３において温度スコアＳがしきい値Ａに達しており、これに応答して、期間Ｔ４〜Ｔ８におけるデータ転送レートがそれぞれ９０％、８０％、７０％、６０％、６０％に制限されている。その後、時刻ｔ４において温度スコアＳがしきい値Ｂに達したことに応答して、データ転送レートの制限が解除されている。このように、データ転送レートの制限値を漸次低下させれば、温度スコアＳがしきい値Ａに達した後におけるデータ転送レートの急激な低下を防止することが可能となる。
【００３６】
また、温度スコアＳを用いるのではなく、設計時における実測により、フラッシュメモリシステム２の温度が限界値に達しないデータ転送レートの上限を特定し、実際のデータ転送レートを常にこのレートに制限しても構わない。一例として、図１０には、データ転送レートを最大レートの７０％に制限した例が示されている。この場合、データ転送レートが最大レートの７０％である状態で連続動作を行っても、フラッシュメモリシステム２の温度が限界値に達することはない。
【００３７】
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
【符号の説明】
【００３８】
２    フラッシュメモリシステム
４    ホストシステム
１０    メモリコントローラ
１１    ホストインターフェース
１２    フラッシュインターフェース
１３    ＣＰＵ
１４    ＲＡＭ
１５    ＲＯＭ
１６    バッファメモリ
１７    転送レート制御部
２０〜２ｋ    フラッシュメモリ
Ａ，Ｂ    しきい値
Ｃ    最低値
Ｓ    温度スコア
【図１】
2020086720.tif 000003
【図２】
2020086720.tif 000004
【図３】
2020086720.tif 000005
【図４】
2020086720.tif 000006
【図５】
2020086720.tif 000007
【図６】
2020086720.tif 000008
【図７】
2020086720.tif 000009
【図８】
2020086720.tif 000010
【図９】
2020086720.tif 000011
【図１０】
2020086720.tif 000012