[go: up one dir, main page]

JP2021176026A - メモリシステム - Google Patents

メモリシステム Download PDF

Info

Publication number
JP2021176026A
JP2021176026A JP2020080973A JP2020080973A JP2021176026A JP 2021176026 A JP2021176026 A JP 2021176026A JP 2020080973 A JP2020080973 A JP 2020080973A JP 2020080973 A JP2020080973 A JP 2020080973A JP 2021176026 A JP2021176026 A JP 2021176026A
Authority
JP
Japan
Prior art keywords
temperature
memory system
controller
operating temperature
volatile semiconductor
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.)
Pending
Application number
JP2020080973A
Other languages
English (en)
Inventor
克哉 大野
Katsuya Ono
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.)
Kioxia Corp
Original Assignee
Kioxia 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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2020080973A priority Critical patent/JP2021176026A/ja
Priority to US17/177,076 priority patent/US11921600B2/en
Publication of JP2021176026A publication Critical patent/JP2021176026A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3075Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved in order to maintain consistency among the monitored data, e.g. ensuring that the monitored data belong to the same timeframe, to the same system or component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40626Temperature related aspects of refresh operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】不揮発性半導体メモリを有するメモリシステムの故障発生率を低減する。
【解決手段】メモリシステムは、不揮発性半導体メモリと、不揮発性半導体メモリを制御するコントローラと、不揮発性半導体メモリおよびコントローラの少なくともいずれかの動作温度を取得する温度センサを備える。コントローラは、動作温度を累積した累積動作温度に少なくとも基づく温度パラメータを算出し、メモリシステムの消費電力が異なる複数の動作設定を、温度パラメータに基づいて切り替える。
【選択図】図1

Description

本発明の実施形態は、不揮発性半導体メモリを含むメモリシステムに関する。
不揮発性半導体メモリを含むメモリシステムとして、Solid State Drive(SSD)などが使用されている。メモリシステムでの故障の発生を低減するために、不揮発性半導体メモリの制御について種々の検討がされている。
米国特許出願公開第2019/0012098号明細書
本発明の実施形態が解決しようとする課題は、不揮発性半導体メモリを含むメモリシステムの故障発生率を低減することである。
実施形態に係るメモリシステムは、不揮発性半導体メモリと、不揮発性半導体メモリを制御するコントローラと、不揮発性半導体メモリおよびコントローラの少なくともいずれかの動作温度を取得する温度センサを備える。コントローラは、動作温度を累積した累積動作温度に少なくとも基づく温度パラメータを算出し、メモリシステムの消費電力が異なる複数の動作設定を、温度パラメータに基づいて切り替える。
第1の実施形態に係るメモリシステムの構成を示すブロック図である。 第1の実施形態に係るメモリシステムの動作を説明するためのフローチャートである。 第1の実施形態に係るメモリシステムの動作を説明するためのグラフである。 第1の実施形態の変形例に係るメモリシステムの構成を示すブロック図である。 第2の実施形態に係るメモリシステムの構成を示すブロック図である。 第2の実施形態に係るメモリシステムの動作を説明するためのフローチャートである。
以下に、図面を参照して実施形態を説明する。図面の記載において同一部分には同一符号を付して説明を省略する。
(第1の実施形態)
本発明の第1の実施形態に係るメモリシステム1は、例えばSSDである。メモリシステム1は、ホスト機器2と接続可能である。
図1に示すように、メモリシステム1は、不揮発性半導体メモリ20と、不揮発性半導体メモリ20を制御するコントローラ10と、温度センサ30を備える。不揮発性半導体メモリ20は、例えばNAND型フラッシュメモリである。温度センサ30は、不揮発性半導体メモリ20およびコントローラ10の少なくともいずれかの動作温度を取得する。
ホスト機器2は、パーソナルコンピュータやサーバーのような情報処理装置であってもよい。ホスト機器2は、デジタルカメラのような撮像装置であってもよい。ホスト機器2は、タブレットコンピュータ、携帯電話、スマートフォンのような携帯端末であってもよい。ホスト機器2は、ゲーム機器であってもよい。ホスト機器2は、カーナビゲーションシステムのような車載端末であってもよい。ホスト機器2は、情報処理装置、撮像装置、携帯端末、ゲーム機器、車載端末などに搭載されるプロセッサであってもよい。
コントローラ10は、system-on-a-chip(SoC)のような回路で構成され得る。コントローラ10は、中央処理装置(CPU)11、動作設定選択ユニット12、温度センサ30を含む。
CPU11は、メモリシステム1の動作を統括的に制御する。動作設定選択ユニット12の構成については後述する。コントローラ10の各機能は、CPU11がファームウェアを実行することにより実現されてもよい。コントローラ10の各機能は、コントローラ10内の専用ハードウェアにより実現されてもよい。
コントローラ10は、ホスト機器2とメモリシステム1との間の通信を制御する。具体的には、コントローラ10は、ホスト機器2からのコマンドを受信し、書き込み動作や読み出し動作を実行するように不揮発性半導体メモリ20を制御する。例えば、コントローラ10は、書き込みコマンドで指定されたデータ(以下、「ライトデータ」と称する。)を書き込むように不揮発性半導体メモリ20を制御する。また、コントローラ10は、読み出しコマンドで指定された不揮発性半導体メモリ20のアドレスから読み出したデータをホスト機器2に送信する。或いは、コントローラ10は、記憶したデータを消去する消去動作を実行するように不揮発性半導体メモリ20を制御する。以下において、不揮発性半導体メモリ20が実行する書き込み動作、読み出し動作および消去動作を「不揮発性半導体メモリ20の動作」とも総称する。
温度センサ30が取得する動作温度は、例えば、コントローラ10や不揮発性半導体メモリ20を構成する半導体デバイスのpn接合の温度である。温度センサ30は、例えば熱電対である。或いは、温度センサ30は半導体温度センサである。半導体温度センサは、半導体のバンドギャップで温度変化に比例して変化する電気特性を用いて温度を測定する。
コントローラ10内に配置した温度センサ30は、コントローラ10の動作温度を取得する。また、温度センサ30が取得するコントローラ10の動作温度と、不揮発性半導体メモリ20の実際の動作温度との間に差分がある場合は、例えば実測によってその差分を検出しておく。コントローラ10は、温度センサ30が取得する動作温度をこの差分に応じて補正して、不揮発性半導体メモリ20の動作温度を算出する。このように、メモリシステム1では、コントローラ10および不揮発性半導体メモリ20のいずれの動作温度も取得される。以下では、特に断りがない場合は、「動作温度」という用語は、コントローラ10の動作温度または不揮発性半導体メモリ20の動作温度のことを表す。
コントローラ10は、メモリシステム1の動作期間の情報および温度センサ30によって取得された動作温度の情報を用いて、特定の温度パラメータを算出する。メモリシステム1の動作期間は、例えばメモリシステム1が起動してから停止するまでの、メモリシステム1が動作している期間である。メモリシステム1の動作期間は、例えばメモリシステム1に電力を供給し始めてから、メモリシステム1に供給する電力を遮断するまでの、メモリシステム1が電力を消費している期間である。メモリシステム1の過去の全ての動作期間を累積した期間を、メモリシステム1の「累積動作期間」とも称する。
温度パラメータは、メモリシステム1の過去の動作期間において温度センサ30が取得した動作温度を累積した温度(以下において、「累積動作温度」とも称する。)を含む。温度パラメータは、メモリシステム1の過去の動作期間における平均の動作温度(以下において、「平均動作温度」とも称する。)であってもよい。平均動作温度は、累積動作温度を累積動作期間で除算して得られる。或いは、平均動作温度と累積動作期間の積として累積動作温度が得られる。累積動作温度は、特定の条件を満たした動作温度を累積したものではない。例えば累積動作温度は、特定の温度を超えた動作温度を累積したものではない。コントローラ10は、動作期間に温度センサ30が取得した動作温度を、動作温度の範囲に関わらず累積して累積動作温度を算出する。
コントローラ10は、メモリシステム1の消費電力が異なる複数の動作設定を温度パラメータに対応して動的に切り替えながら、動作設定に従って動作するように不揮発性半導体メモリ20を制御する。ここで、「動作設定」は、不揮発性半導体メモリ20の動作を規定する設定である。
以下では、動作設定が、第1動作設定と、第1動作設定よりもメモリシステム1の消費電力が少ない第2動作設定の2種類である場合を説明する。データ転送効率を消費電力よりも優先する動作設定を第1動作設定とし、消費電力の低減をデータ転送効率よりも優先する動作設定を第2動作設定としてもよい。以下において、メモリシステム1の消費電力を低減する動作を「電力スロットリング動作」とも称する。電力スロットリング動作の詳細については後述する。
コントローラ10は、温度パラメータが所定の動作温度条件を満たす期間は、第1動作設定に従って動作するように不揮発性半導体メモリ20を制御する。そして、コントローラ10は、温度パラメータが動作温度条件を満たさない期間は、第2動作設定に従って動作するように不揮発性半導体メモリ20を制御する。
温度パラメータに対する動作温度条件は、メモリシステム1の故障発生率に影響する動作温度などに応じて設定する。例えば、温度パラメータが動作温度条件を満たさない期間が続くと、動作温度に起因するメモリシステム1の故障発生率が上昇する。コントローラ10は、動作温度条件として閾値温度を設けてもよい。例えば、温度パラメータが閾値温度を超える期間が続くと、コントローラ10または不揮発性半導体メモリ20において、エレクトロマイグレーションが生じる恐れがある。
コントローラ10は、温度パラメータが閾値温度を超えない期間は、第1動作設定に従って動作するように不揮発性半導体メモリ20を制御してもよい。一方、温度パラメータが閾値温度以上である期間は、コントローラ10は、第2動作設定に従って動作するように不揮発性半導体メモリ20を制御してもよい。このようなコントローラ10による動作設定の切り替えにより、メモリシステム1では動作温度の上昇が抑制される。
動作設定選択ユニット12は、温度パラメータに対応して不揮発性半導体メモリ20の動作設定を切り替える。温度センサ30は、取得した動作温度を動作設定選択ユニット12に送信する。
動作設定選択ユニット12は、タイマー121、算出部122、選択部123を有する。タイマー121は、メモリシステム1の動作期間を計測する。算出部122は、例えばメモリシステム1の累積動作期間の情報と累積動作温度の情報とを用いて、温度パラメータを算出する。選択部123は、温度パラメータに基づいて不揮発性半導体メモリ20の動作設定を選択する。
動作設定選択ユニット12は、選択部123が選択した動作設定をCPU11に送信する。CPU11は、選択された動作設定に従って不揮発性半導体メモリ20の動作を制御する。
以下において、累積動作温度の情報や累積動作期間の情報を、「累積情報」とも称する。不揮発性半導体メモリ20は、累積情報を記憶する累積情報記憶領域21を有する。コントローラ10は、累積情報記憶領域21から読み出した累積情報を用いて温度パラメータを算出する。
図2に示すフローチャートを参照して、メモリシステム1の動作を説明する。以下では、温度パラメータが平均動作温度である場合について説明する。
ステップS11においてメモリシステム1が起動する。ステップS12において、コントローラ10は、累積情報を累積情報記憶領域21から読み出す。
ステップS13において、コントローラ10は、累積動作期間の情報を更新すると共に、温度パラメータを算出する。具体的には、コントローラ10は、タイマー121によって計測された、累積動作期間の情報が前回更新されてからのメモリシステム1の動作期間を、累積情報中の累積動作期間の情報に加算して、累積動作期間の情報を更新する。コントローラ10は、温度センサ30が取得する動作温度を用いて平均動作温度を算出する。例えば、算出部122は、累積動作温度の情報が前回更新されてからのメモリシステム1の累積動作温度を、累積情報中の累積動作温度の情報に加算して、累積動作温度の情報を更新する。そして、コントローラ10は、更新した累積動作温度を、更新した累積動作期間で除算して、平均動作温度を算出する。
ステップS14において、コントローラ10は、温度パラメータ(ここでは平均動作温度)が所定の動作温度条件を満たすか否かを判定する。温度パラメータが動作温度条件を満たす場合(ステップS14のYES)は、ステップS15において、選択部123が第1動作設定を選択する。一方、温度パラメータが動作温度条件を満たさない場合(ステップS14のNO)は、ステップS16において、選択部123が第2動作設定を選択する。例えば、選択部123は、平均動作温度が閾値温度を超えない場合は第1動作設定を選択し、平均動作温度が閾値温度以上である場合は第2動作設定を選択する。
ステップS17において、コントローラ10は、選択部123が選択した動作設定に応じて、第1動作設定又は第2動作設定に従って動作するように不揮発性半導体メモリ20を制御する。その後、ステップS18において、コントローラ10は、メモリシステム1が停止するか否かを検知する。例えば、ホスト機器2は、メモリシステム1に供給する電力を遮断する場合に、電力を遮断することをメモリシステム1に通知してもよい。メモリシステム1が停止することをコントローラ10が検知しない間は、メモリシステム1はステップS13からステップS17の動作を繰り返す。メモリシステム1が停止することをコントローラ10が検知した場合は、動作はステップS19に進む。
ステップS19において、コントローラ10は、更新した累積動作期間の情報や累積動作温度の情報を含む累積情報を累積情報記憶領域21に書き込む。その後、メモリシステム1は停止する。累積情報記憶領域21に書き込まれた累積情報は、次回のメモリシステム1の起動時にコントローラ10によって読み出される。
なお、メモリシステム1の最初の起動では、ステップS12は省略される。
コントローラ10が累積情報を累積情報記憶領域21に書き込むタイミングは、メモリシステム1が停止する直前に限られない。例えば、メモリシステム1の動作期間の一定の期間ごとに、コントローラ10が累積情報を累積情報記憶領域21に書き込んでもよい。或いは、例えばホスト機器2からのコマンドに応じて、コントローラ10が累積情報を累積情報記憶領域21に書き込んでもよい。
メモリシステム1の累積動作期間と動作温度および平均動作温度との関係の例を、図3のグラフに示す。グラフの横軸はメモリシステム1の累積動作期間である。グラフの縦軸は温度である。動作温度Tmは破線で示される。平均動作温度Taは実線で示される。また、温度パラメータは平均動作温度である。動作温度条件は閾値温度Tthである。累積動作期間の起点は、メモリシステム1が最初に起動した時刻である。
図3において、平均動作温度Taが閾値温度Tthを超えない第1期間T1、第3期間T3は、コントローラ10が、第1動作設定に従って動作するように不揮発性半導体メモリ20を制御する。そして、平均動作温度Taが閾値温度Tth以上である第2期間T2は、コントローラ10が、第2動作設定に従って動作するように不揮発性半導体メモリ20を制御する。例えば、平均動作温度Taが閾値温度Tthに達した第1時刻tsから、コントローラ10は、メモリシステム1の電力スロットリング動作を開始する。そして、平均動作温度Taが閾値温度Tthより低くなる第2時刻teに、コントローラ10は電力スロットリング動作を終了する。
以下に、第2動作設定におけるメモリシステム1の消費電力の低減、ひいては動作温度の低下を実現する電力スロットリング動作の例を説明する。
ライトデータを圧縮することで、不揮発性半導体メモリ20に書き込むデータ量が減り、書き込み動作の消費電力が低減する。このため、第1動作設定ではライトデータを圧縮せず、第2動作設定ではライトデータを圧縮するようにしてもよい。不揮発性半導体メモリ20がNAND型フラッシュメモリである場合、書き込み動作について、1メモリセルあたりに1ビットの情報を保存するSLC(single-level cell)方式と、1セルあたりに3ビットの情報を保存するTLC(triple-level cell)方式を採用可能である。SLC方式に比べて、TLC方式は1メモリセルあたりに保存するビット数が多い。第1動作設定ではTLC方式を採用し、第2動作設定でSLC方式を採用してもよい。書き込み動作をTLC方式からSLC方式に切り替えることで、メモリシステム1の消費電力が低減する。TLC方式のほかに、1セルあたりに2ビットの情報を保存するMLC(multi-level cell)方式を採用し、MLC方式とSLC方式を切り替えてもよい。TLC方式のほかに、1セルあたりに4ビットの情報を保存するQLC(quad-level cell)方式を採用し、QLC方式とSLC方式を切り替えてもよい。
電力スロットリング動作として、第2動作設定において、コンパクション動作およびリフレッシュ動作を抑止して、ホスト機器2からのコマンドに応じた不揮発性半導体メモリ20に対するアクセスを優先する制御を行ってもよい。コンパクション動作およびリフレッシュ動作を抑止する第2動作設定により、コンパクション動作およびリフレッシュ動作を抑止しない第1動作設定に対して、メモリシステム1の消費電力が低減する。なお、第2動作設定において、コンパクション動作およびリフレッシュ動作のいずれか一方を抑止してもよい。
電力スロットリング動作として、不揮発性半導体メモリ20に対するアクセスにウェイトを挿入する制御を行ってもよい。この制御により、書き込み動作、読み出し動作および消去動作の待機が行われる。第2動作設定において不揮発性半導体メモリ20に対するアクセスにウェイトを挿入することにより、不揮発性半導体メモリ20にアクセスする間隔が長くなり、メモリシステム1の単位時間あたりの消費電力が低減する。なお、不揮発性半導体メモリ20の動作に挿入するウェイトは、メモリシステム1の使用態様に応じて適切に設定される。書き込み動作、読み出し動作および消去動作に対して挿入するウェイトは、それぞれ異なってもよいし、同じでもよい。
不揮発性半導体メモリ20を複数のメモリチップで構成する場合に、電力スロットリング動作として、同時にアクセスされるメモリチップの数を減少させる制御を行ってもよい。この制御は、並列して駆動されるチャネル数の減少や、1つのチャネル内で並列動作(バンクインターリーブ)するメモリチップ数の減少を含む。同時にアクセスされるメモリチップの数を減少させることにより、メモリシステム1の消費電力が低減する。
メモリシステム1の消費電力を低減する方法は、上記の電力スロットリング動作の例に限られないことはもちろんである。
以上に説明したように、コントローラ10は、温度パラメータに応じてメモリシステム1の動作設定を切り替える。例えば、コントローラ10は、第1動作設定と、第1動作設定よりも消費電力が少ない第2動作設定とを動的に切り替えて、メモリシステム1の消費電力を低減する。
したがって、メモリシステム1によれば、平均動作温度や累積動作温度の上昇を低減できる。その結果、メモリシステム1の故障発生率が低減できる。メモリシステム1によれば、例えばエレクトロマイグレーションに起因する故障の発生を低減できる。
コントローラ10は、温度パラメータが動作温度条件を満たさなくなった場合に、即時にメモリシステム1の動作設定を切り替えても良い。コントローラ10は、定期的に(例えば1週間に1回)温度パラメータを確認し、温度パラメータが動作温度条件を満たさなくなった場合に、メモリシステム1の動作設定を切り替えても良い。
上記では不揮発性半導体メモリ20がNAND型フラッシュメモリの場合について例示的に説明したが、不揮発性半導体メモリ20が他の種類の不揮発性半導体メモリであってもよい。
メモリシステム1では、温度センサ30がコントローラ10と不揮発性半導体メモリ20のそれぞれの動作温度を取得する。コントローラ10の温度パラメータと不揮発性半導体メモリ20の温度パラメータの少なくともいずれかが動作温度条件を満たさない期間は、コントローラ10は、第2動作設定に従って動作するように不揮発性半導体メモリ20を制御してもよい。このとき、コントローラ10の温度パラメータに対する動作温度条件と、不揮発性半導体メモリ20の温度パラメータに対する動作温度条件が同じでもよいし、異なってもよい。或いは、不揮発性半導体メモリ20の温度パラメータとコントローラ10の温度パラメータのいずれか一方にのみ動作温度条件を設定してもよい。
<変形例>
図4に示す第1の実施形態の変形例に係るメモリシステム1は、温度センサ30を不揮発性半導体メモリ20内に配置している。不揮発性半導体メモリ20内に配置した温度センサ30は、不揮発性半導体メモリ20の動作温度を取得する。温度センサ30が取得する動作温度とコントローラ10の実際の動作温度との差分を考慮することにより、温度センサ30が取得する動作温度を補正してコントローラ10の動作温度を算出することが可能である。したがって、図4に示すメモリシステム1は、コントローラ10および不揮発性半導体メモリ20のいずれの動作温度も取得できる。
なお、温度センサ30を、コントローラ10と不揮発性半導体メモリ20の両方に配置してもよい。その場合、コントローラ10は、温度センサ30が取得する動作温度を補正することなく、コントローラ10と不揮発性半導体メモリ20のいずれの動作温度も取得できる。
或いは、コントローラ10と不揮発性半導体メモリ20を同一のプリント基板上に実装した構成のメモリシステム1において、プリント基板上に温度センサ30を配置してもよい。
(第2の実施形態)
図5に示す第2の実施形態に係るメモリシステム1aでは、コントローラ10が、メモリシステム1aが起動するごとに、起動してからの動作期間の情報と動作温度の情報を用いて、起動ごとの温度パラメータを算出する。つまり、過去の動作期間における累積情報を参照せずに、メモリシステム1aが新たに起動してからの動作期間において取得した動作温度の情報を用いて温度パラメータを算出することが、メモリシステム1aが第1の実施形態のメモリシステム1と異なる点である。このため、メモリシステム1aの不揮発性半導体メモリ20は、累積情報記憶領域21を有さない。その他の構成については、メモリシステム1aは、第1の実施形態のメモリシステム1と同様である。
例えば、メモリシステム1aは、メモリシステム1の動作期間ごとに温度パラメータを算出して、メモリシステム1aの電力スロットリング動作の開始と終了を制御する。これにより、メモリシステム1aでは、平均動作温度や累積動作温度の上昇を低減できる。第2の実施形態では、図3に示したグラフにおける累積動作期間の起点は、メモリシステム1aが新たに起動した時点である。
図6に示すフローチャートを参照して、メモリシステム1aの動作を説明する。以下では、温度パラメータが平均動作温度である場合について説明する。
図6のステップS21においてメモリシステム1aが起動する。ステップS22において、コントローラ10は、メモリシステム1aが起動してからの温度パラメータを算出する。つまり、タイマー121によって計測された、メモリシステム1aが起動してからの動作期間と、温度センサ30が取得する動作温度を用いて、算出部122が平均動作温度を算出する。
ステップS23において、コントローラ10は、温度パラメータが所定の動作温度条件を満たすか否かを判定する。温度パラメータが動作温度条件を満たす場合(ステップS23のYES)は、ステップS24において、選択部123が第1動作設定を選択する。一方、温度パラメータが動作温度条件を満たさない場合(ステップS23のNO)は、ステップS25において、選択部123が第2動作設定を選択する。例えば、選択部123は、平均動作温度が閾値温度を超えない場合は第1動作設定を選択し、平均動作温度が閾値温度以上である場合は第2動作設定を選択する。
ステップS26において、コントローラ10は、選択部123が選択した動作設定に応じて、第1動作設定又は第2動作設定に従って動作するように不揮発性半導体メモリ20を制御する。その後、ステップS27において、コントローラ10は、メモリシステム1aが停止するか否かを検知する。メモリシステム1aが停止することをコントローラ10が検知しない間は、メモリシステム1aはステップS22からステップS26の動作を繰り返す。メモリシステム1aが停止することをコントローラ10が検知した場合は、処理は終了してメモリシステム1aは停止する。
第2の実施形態のメモリシステム1aでは、累積情報を累積情報記憶領域21から読み出したり累積情報記憶領域21に書き込んだりする時間が不要である。このため、メモリシステム1aによれば、第1の実施形態のメモリシステム1よりも動作時間を短縮できる。他は、第2の実施形態は第1の実施形態と実質的に同様であり、重複した記載は省略される。
(その他の実施形態)
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、書き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
例えば、第1の実施形態のメモリシステム1では、累積情報を記憶する累積情報記憶領域21を不揮発性半導体メモリ20が有する場合を説明した。しかし、累積情報を記憶する記憶領域を不揮発性半導体メモリ20以外に設定してもよい。例えば、コントローラ10の内部に不揮発性メモリを配置し、この不揮発性メモリに累積情報を記憶してもよい。
また、上記で説明した平均動作温度に応じた電力スロットリング動作の制御と併せて、コントローラ10や不揮発性半導体メモリ20の動作可能上限温度に対応して電力スロットリング動作を制御してもよい。
1、1a…メモリシステム
2…ホスト機器
10…コントローラ
11…CPU
12…動作設定選択ユニット
20…不揮発性半導体メモリ
21…累積情報記憶領域
30…温度センサ
121…タイマー
122…算出部
123…選択部

Claims (6)

  1. 不揮発性半導体メモリと、
    前記不揮発性半導体メモリを制御するコントローラと、
    前記不揮発性半導体メモリおよび前記コントローラの少なくともいずれかの動作温度を取得する温度センサと
    を備えるメモリシステムであって、
    前記コントローラは、
    前記動作温度を累積した累積動作温度に少なくとも基づく温度パラメータを算出し、
    前記メモリシステムの消費電力が異なる複数の動作設定を、前記温度パラメータに基づいて切り替える、
    メモリシステム。
  2. 前記コントローラは、
    前記温度パラメータが所定の動作温度条件を満たす期間は、第1動作設定に従って動作するように前記不揮発性半導体メモリを制御し、
    前記温度パラメータが前記動作温度条件を満たさない期間は、前記第1動作設定よりも前記メモリシステムの消費電力が少ない第2動作設定に従って動作するように前記不揮発性半導体メモリを制御する、
    請求項1に記載のメモリシステム。
  3. 前記温度パラメータは、前記累積動作温度と、前記メモリシステムの累積動作期間とに基づいて算出される平均動作温度であり、
    前記コントローラは、
    前記平均動作温度が前記動作温度条件としての閾値温度を超えない期間は、前記第1動作設定に従って動作するように前記不揮発性半導体メモリを制御し、
    前記平均動作温度が前記閾値温度以上である期間は、前記第2動作設定に従って動作するように前記不揮発性半導体メモリを制御する、
    請求項2に記載のメモリシステム。
  4. 前記不揮発性半導体メモリは、前記累積動作温度の情報を記憶する累積情報記憶領域を有し、
    前記コントローラは、前記累積情報記憶領域から読み出した前記累積動作温度を用いて前記温度パラメータを算出する、
    請求項1乃至3のいずれか1項に記載のメモリシステム。
  5. 前記コントローラは、前記累積動作温度に少なくとも基づく前記温度パラメータに代えて、前記メモリシステムが新たに起動するごとに、起動してからの動作期間において取得された前記動作温度の情報を用いて起動ごとの温度パラメータを算出し、前記起動ごとの温度パラメータに基づいて、前記動作設定を切り替える、請求項1又は2に記載のメモリシステム。
  6. 前記不揮発性半導体メモリがNAND型フラッシュメモリである、請求項1乃至5のいずれか1項に記載のメモリシステム。
JP2020080973A 2020-05-01 2020-05-01 メモリシステム Pending JP2021176026A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020080973A JP2021176026A (ja) 2020-05-01 2020-05-01 メモリシステム
US17/177,076 US11921600B2 (en) 2020-05-01 2021-02-16 Memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020080973A JP2021176026A (ja) 2020-05-01 2020-05-01 メモリシステム

Publications (1)

Publication Number Publication Date
JP2021176026A true JP2021176026A (ja) 2021-11-04

Family

ID=78292883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020080973A Pending JP2021176026A (ja) 2020-05-01 2020-05-01 メモリシステム

Country Status (2)

Country Link
US (1) US11921600B2 (ja)
JP (1) JP2021176026A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4024396B1 (en) * 2020-09-04 2023-12-20 Changxin Memory Technologies, Inc. Read/write method for storage device, and storage device
US12327774B1 (en) * 2021-05-24 2025-06-10 Marvell Asia Pte Ltd Meeting performance and temperature requirements in electronic circuits
TWI757216B (zh) * 2021-07-23 2022-03-01 群聯電子股份有限公司 溫度控制方法、記憶體儲存裝置及記憶體控制電路單元
US11797190B2 (en) * 2021-12-03 2023-10-24 Western Digital Technologies, Inc. Data storage device and method for providing a temperature-driven variable storage capacity point
US20250190134A1 (en) * 2023-12-08 2025-06-12 Dell Products, L.P. Sustainable Storage System

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2745203B1 (en) 2011-08-19 2016-09-21 Kabushiki Kaisha Toshiba Information processing apparatus
US10133483B2 (en) * 2015-04-28 2018-11-20 Sandisk Technologies Llc Memory system and method for differential thermal throttling
US9658791B2 (en) 2015-08-14 2017-05-23 International Business Machines Corporation Managing temperature of solid state disk devices
JP2017211808A (ja) 2016-05-25 2017-11-30 キヤノン株式会社 電子機器及びその制御方法、並びにプログラム
US10210912B2 (en) * 2017-06-09 2019-02-19 Advanced Micro Devices, Inc. Integrated thermoelectric cooler for three-dimensional stacked DRAM and temperature-inverted cores
US20190179547A1 (en) * 2017-12-13 2019-06-13 Micron Technology, Inc. Performance Level Adjustments in Memory Devices
US11169583B2 (en) * 2018-08-07 2021-11-09 Western Digital Technologies, Inc. Methods and apparatus for mitigating temperature increases in a solid state device (SSD)

Also Published As

Publication number Publication date
US20210342242A1 (en) 2021-11-04
US11921600B2 (en) 2024-03-05

Similar Documents

Publication Publication Date Title
JP2021176026A (ja) メモリシステム
US9063844B2 (en) Non-volatile memory management system with time measure mechanism and method of operation thereof
CN108733537B (zh) 用于智能备用电容器管理的方法和装置
US7596656B2 (en) Memory cards with end of life recovery and resizing
AU2011203893B2 (en) Controlling and staggering operations to limit current spikes
US7516344B2 (en) Memory system
TWI428739B (zh) 記憶卡之壽命終點恢復及尺寸重整
US8645770B2 (en) Systems and methods for proactively refreshing nonvolatile memory
KR102351660B1 (ko) 전력 관리 메커니즘을 갖는 솔리드 스테이트 메모리 시스템 및 그것의 동작 방법
US9720820B2 (en) Data storage device and flash memory control method
JP5159817B2 (ja) メモリシステム
US9361222B2 (en) Electronic system with storage drive life estimation mechanism and method of operation thereof
US20180074751A1 (en) Data transmission method, memory storage device and memory control circuit unit
US8402204B2 (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
JP2018036795A (ja) メモリシステム
JP6677627B2 (ja) 情報処理装置およびメモリアクセス方法
US20150220394A1 (en) Memory system and method of controlling memory system
US10489227B2 (en) Memory system
CN105138472B (zh) 闪存磨损优化方法及设备
US20130073796A1 (en) Memory controller
KR20190076132A (ko) 비휘발성 메모리의 웨어 레벨링 동작을 관리하는 반도체 장치
CN110874333B (zh) 存储设备及存储方法
JP2014059831A (ja) メモリリフレッシュ装置、情報処理システム、メモリリフレッシュ方法、および、コンピュータ・プログラム
CN109119106B (zh) 数据存储方法、设备及计算机可读存储介质
US20180081796A1 (en) Data Storage Device and Data Writing Method Thereof