JP2020144589A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2020144589A JP2020144589A JP2019040499A JP2019040499A JP2020144589A JP 2020144589 A JP2020144589 A JP 2020144589A JP 2019040499 A JP2019040499 A JP 2019040499A JP 2019040499 A JP2019040499 A JP 2019040499A JP 2020144589 A JP2020144589 A JP 2020144589A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- temperature
- temperature sensor
- chip
- memory controller
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40626—Temperature related aspects of refresh operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5002—Characteristic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】効率的に性能を制御するメモリシステムを提供する。【解決手段】メモリシステム1は、第1メモリチップ21a〜21pとメモリコントローラ10とを備える。第1メモリチップは、第1の温度センサ201を備える。メモリコントローラは、第2の温度センサ15を備える。メモリコントローラは、第1の温度センサまたは第2の温度センサによる第1の検出温度を取得して、取得された第1の検出温度に基づいて性能の制御を実行する。メモリコントローラは、第1のタイミングで取得される第1の検出温度である第2の検出温度に基づいて第1のタイミングよりも後に取得される第1の検出温度である第3の検出温度を第1の温度センサおよび第2の温度センサの何れから取得するかを決定する。【選択図】図1
Description
本実施形態は、メモリシステムに関する。
従来、不揮発性メモリのメモリチップを備えるメモリシステムが知られている。メモリチップは、正常に動作する温度範囲が仕様で定められている。メモリシステムは、メモリチップの温度が上記の温度範囲の上限値を超えないように、性能の制御を実行する。例えば、メモリチップの温度が上記の温度範囲の上限値を超えそうな場合には、メモリシステムは、自身の性能を抑制することによってメモリチップの発熱量を低減させる。
一つの実施形態は、効率的に性能を制御することができるメモリシステムを提供することを目的とする。
一つの実施形態によれば、メモリシステムは、第1メモリチップとメモリコントローラとを備える。第1メモリチップは、第1の温度センサを備える。メモリコントローラは、第2の温度センサを備える。メモリコントローラは、第1の温度センサまたは第2の温度センサによる第1の検出温度を取得して、取得された第1の検出温度に基づいて性能の制御を実行する。メモリコントローラは、第1のタイミングで取得される第1の検出温度である第2の検出温度に基づいて第1のタイミングよりも後に取得される第1の検出温度である第3の検出温度を第1の温度センサおよび第2の温度センサの何れから取得するかを決定する。
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1は、第1の実施形態にかかるメモリシステムの構成を示す図である。メモリシステム1は、ホスト2と接続可能である。メモリシステム1とホスト2との間の通信路の規格は、特定の規格に限定されない。一例では、SAS(Serial Attached SCSI)が採用され得る。
図1は、第1の実施形態にかかるメモリシステムの構成を示す図である。メモリシステム1は、ホスト2と接続可能である。メモリシステム1とホスト2との間の通信路の規格は、特定の規格に限定されない。一例では、SAS(Serial Attached SCSI)が採用され得る。
ホスト2は、例えばパーソナルコンピュータ、携帯情報端末、またはサーバなどが該当する。メモリシステム1は、ホスト2からアクセスコマンド(リードコマンドおよびライトコマンド)を受け付けることができる。
メモリシステム1は、メモリコントローラ10と、NAND型のフラッシュメモリ(NANDメモリ)20と、電源回路30と、を備えている。
NANDメモリ20は、1以上のメモリチップ21によって構成される。ここでは、NANDメモリ20は、1以上のメモリチップ21として、16個のメモリチップ21a〜21pを備える。以降、16個のメモリチップ21a〜21pのそれぞれを、メモリチップ21と表記する。
NANDメモリ20を構成する16個のメモリチップ21は、それぞれ、4つのチャネル(ch.0〜ch.3)の何れかを介してメモリコントローラ10に接続されている。図1の例に従えば、メモリチップ21a〜21dは、チャネル0(ch.0)に接続されている。メモリチップ21e〜21hは、チャネル1(ch.1)に接続されている。メモリチップ21i〜21lは、チャネル2(ch.2)に接続されている。メモリチップ21m〜21pは、チャネル3(ch.3)に接続されている。
各チャネルは、I/O信号線および制御信号線を含む、配線群によって構成される。I/O信号線は、例えば、データ、アドレス、およびコマンドを送受信するための信号線である。制御信号線は、例えば、WE(ライトイネーブル)信号、RE(リードイネーブル)信号、CLE(コマンドラッチイネーブル)信号、ALE(アドレスラッチイネーブル)信号、WP(ライトプロテクト)信号等を送受信するための信号線である。
メモリコントローラ10は、各チャネルを個別に制御することができる。メモリコントローラ10は、4つのチャネルを同時に制御することによって、それぞれ接続されたチャネルが異なる合計4つのメモリチップ21を同時に動作させることができる。
なお、メモリシステム1に具備されるチャネルの数は、4つに限定されない。また、各チャネルに接続されているメモリチップ21の数は、4つに限定されない。また、NANDメモリ20を構成するメモリチップ21の数は、16個に限定されない。
電源回路30は、メモリコントローラ10およびNANDメモリ20を駆動するための電力を生成し、生成した電力をメモリコントローラ10およびNANDメモリ20のそれぞれに供給する。
メモリコントローラ10は、内部に備える各構成要素の協働によって、メモリシステム1全体の制御を実行する。
例えば、メモリコントローラ10は、ホスト2とNANDメモリ20との間のデータ転送を実行する。メモリコントローラ10は、ホスト2からリードコマンドを受信した場合、当該リードコマンドによって要求されたデータを保持するメモリチップ21から当該データを読み出す。そして、メモリコントローラ10は、当該読み出されたデータをホスト2に送信する。また、メモリコントローラ10は、ホスト2からライトコマンドを受信した場合、ライトコマンドによって要求されたデータの書き込み先のメモリチップ21を決定して、決定されたメモリチップ21に当該データを書き込む。
ここで、各メモリチップ21は、正常に動作する温度範囲が仕様で定められている。この温度範囲を、動作保証温度範囲(guaranteed range of operating temperature)と表記する。メモリコントローラ10は、何れのメモリチップ21も動作保証温度範囲の上限を超えないように、メモリシステム1の性能を制御する。
メモリチップ21へのアクセスの頻度が高いほど、メモリチップ21での消費電力量が大きいため、メモリチップ21での発熱量が増加する。つまり、メモリチップ21での発熱量は、メモリチップ21へのアクセス頻度と正の相関がある。また、メモリチップ21へのアクセスの頻度は、ホスト2とメモリシステム1との間のデータの転送速度(rate of transferring data)と正の相関がある。
ここでは一例として、メモリシステム1は、ホスト2とメモリシステム1との間のデータの転送速度を制御する。つまり、制御される性能は、ホスト2とメモリシステム1との間のデータの転送速度である。以降、特に断りが無い限り、データの転送速度は、ホスト2とメモリシステム1との間のデータの転送速度を意味する。
データの転送速度の制御方法は、特定の方法に限定されない。例えば、メモリコントローラ10は、ホスト2からのアクセスコマンドに対する応答の送信のタイミングを調整することで、データの転送速度の制御を実現してもよい。別の例では、メモリコントローラ10は、各メモリチップ21に対するリードおよびライトの実行の間隔を調整することで、データの転送速度の制御を実現してもよい。さらに別の例では、メモリコントローラ10は、NANDメモリ20またはメモリコントローラ10自身を駆動するクロック周波数を調整することで、データの転送速度の制御を実現してもよい。
メモリコントローラ10は、性能に上限値を設定する。つまり、メモリコントローラ10は、データの転送速度が上限値を越えないように、ホスト2とメモリシステム1とのデータ転送を実行する。そして、メモリコントローラ10は、メモリシステム1内に設けられた温度センサを用いて温度を検出し、検出温度に応じて上限値を設定する。
図2は、第1の実施形態にかかるデータの転送速度の上限値の設定方法の一例を説明するための図である。本図では、横軸は検出温度を示し、縦軸はデータの転送速度の上限値を示す。
図2の例によれば、温度に応じた4つのステートが定義されている。4つのステートは、しきい値T0より低い温度範囲に対応する第1ステートと、しきい値T0からしきい値T1までの温度範囲に対応する第2ステートと、しきい値T1からしきい値T2までの温度範囲に対応する第3ステートと、しきい値T2より高い温度範囲に対応する第4ステートと、を含む。
各ステートには、データの転送速度に関する上限値が対応付けられている。具体的には、第1ステートにはP1が上限値として対応付けられており、第2ステートにはP2が上限値として対応付けられており、第3ステートにはP3が上限値として対応付けられており、第4ステートにはP4が上限値として対応付けられている。ただし、P1〜P4は、P1>P2>P3>P4の関係を満たす。つまり、この例によれば、メモリシステム1は、温度の上昇に応じてデータの転送速度の上限値が段階的に引き下げられる。
なお、P1としては、メモリシステム1が実現し得るデータの転送速度の最大値よりも大きい値が設定されてもよい。その場合には、メモリシステム1は、第1ステートでは、自身が有する最大の性能を発揮することができる。
また、温度T2は、動作保証温度範囲の上限値に対応する。よって、P4としては、発熱量をおよそゼロとするような非常に小さい値が設定される。つまり、第4ステートでは、ホスト2は、メモリシステム1との間でデータの送受信をほとんど実行できなくなる。
メモリシステム1は、温度の検出のために2種類の温度センサを備える。2種類の温度センサのうちの1種類は、メモリコントローラ10が有する温度センサ(図1の温度センサ15)である。2種類の温度センサのうちの他の種類は、メモリチップ21内に設けられた温度センサ(図1,図3の温度センサ201)である。
メモリチップ21内に設けられた温度センサ201は、メモリチップ21の正確な温度を検出することができる。しかしながら、メモリコントローラ10が当該温度センサ201による検出温度を取得するためには、当該メモリチップ21に対するライトやリードなどのアクセスを中断して、検出温度を取得するためのコマンドを当該メモリチップ21に送信する必要がある。したがって、温度センサ201を使用する場合、メモリチップ21の正確な温度を取得することができるが、メモリチップ21へのアクセスがしばしば中断されることから、ホスト2とメモリシステム1との間のデータの転送速度が若干低下する。検出温度を取得するためのコマンドを、温度取得コマンドと表記する。
これに対し、メモリコントローラ10内に設けられた温度センサ15を利用する場合、メモリチップ21へのアクセスを必要としない。よって、データの転送速度を犠牲にすることなく検出温度を取得することができる。しかしながら、温度センサ15は、メモリチップ21から離間した位置に設けられているため、メモリチップ21の正確な温度を検出することができない。温度センサ15の検出温度とメモリチップ21の温度との対応関係は、例えば、メモリチップ21とメモリコントローラ10との位置関係や、メモリシステム1が設置された環境の温度や、メモリシステム1の外部に設けられた電源ユニットなどの発熱体とメモリシステム1との位置関係、など、種々の要因によって、変動し得る。
温度センサ15の検出温度とメモリチップ21の温度との対応関係は、変動するから、温度センサ15を用いて性能の制御を実行する場合、ワーストケースに備えるために、動作保証温度範囲の上限値とステート境界のしきい値T2との間にマージンを設けることが必要となる。よって、ワーストケースに該当しない場合、性能の不必要な抑制がおこる。
例えば、メモリチップ21の動作保証温度範囲の上限値が摂氏85度である場合を考える。製造者は、実験または計算により、温度センサ15の検出温度と、メモリチップ21の温度と、の関係を種々の使用条件下で決定する。そして、メモリチップ21の温度が摂氏85度であるときの温度センサ15の検出温度が使用条件に応じて摂氏81度から摂氏84度までの範囲でばらつくことが判明した場合、製造者は、温度センサ15の検出温度のばらつきの範囲の最低値である摂氏81度をしきい値T2として設定する。これによって、ワーストケースでもメモリチップ21の温度が摂氏85度を越えないように性能を制御することが可能となる。
しかしながら、ワーストケース以外のケース、例えば温度センサ15の検出温度が摂氏84度に至るまで上限値をP3に維持したとしてもメモリチップ21の温度を動作保証温度範囲以内とすることができるケースがある。そのようなケースでは、温度センサ15の検出温度が摂氏84度よりも低いうちから性能にブレーキがかけられることになる。つまり、性能が必要以上に抑制される。
第1の実施形態では、性能の制御の効率化を図るために、メモリコントローラ10は、メモリコントローラ10が有する温度センサ15と、メモリチップ21内に設けられた温度センサ201と、のうちの何れの温度センサを使用するかを、検出温度に基づいて決定する。
メモリチップ21の温度が動作保証温度範囲の上限値よりも十分に低い温度領域にある場合、検出温度は正確である必要はない。よって、例えば、取得された検出温度がしきい値T1よりも低い場合、即ち温度制御のステートが第1ステートかまたは第2ステートに該当する場合、メモリコントローラ10は、次の検出温度の取得の際にはメモリコントローラ10が有する温度センサ15を使用する、と決定する。温度センサ15を使用する場合、検出温度の取得のためのメモリチップ21への温度取得コマンドの送信が不要であるので、高速なデータ転送が可能となる。
メモリチップ21の温度が動作保証温度範囲の上限値の近傍の温度領域にある場合、性能の制御によって、データの転送速度がすでに大きく抑制されている。性能の制御によるデータの転送速度の低下量に比べれば、メモリチップ21から検出温度を取得することによるデータの転送速度の低下量は無視し得る。よって、例えば、取得された検出温度がしきい値T1よりも高い場合、即ち温度制御のステートが第3ステートかまたは第4ステートに該当する場合、メモリコントローラ10は、次の検出温度の取得の際にはメモリチップ21内に設けられた温度センサ201を使用する、と決定する。これによって、動作保証温度範囲の上限付近での不必要な性能の抑制が防止される。
上記のように温度センサを検出温度に応じて選択することで、データの転送速度の平均の向上が期待できる。つまり、効率的な性能の制御が実現される。
図3は、第1の実施形態にかかる各メモリチップ21の構成を説明する例示的かつ模式的なブロック図である。
メモリチップ21は、温度センサ201、I/O信号処理回路202、制御信号処理回路203、チップ制御回路204、コマンドレジスタ205、アドレスレジスタ206、メモリセルアレイ207、カラムデコーダ208、データレジスタ209、センスアンプ210、ロウデコーダ211、およびRY/BY生成回路212を備える。
制御信号処理回路203は、各種制御信号を受信して、受け付けた制御信号に基づいて、前記I/O信号処理回路202が受け付けたI/O信号の格納先のレジスタの振り分けを実行する。また、制御信号処理回路203は、受け付けた制御信号をチップ制御回路204に転送する。
チップ制御回路204は、制御信号処理回路203を介して受信する各種制御信号に基づいて状態(ステート)遷移する状態遷移回路(ステートマシン)である。チップ制御回路204は、各種制御信号に基づいてメモリチップ21全体の動作を制御する。
I/O信号処理回路202は、I/O信号線を介してメモリコントローラ10との間でI/O信号を送受信するためのバッファ回路である。I/O信号処理回路202がI/O信号として取り込んだコマンド、アドレス(物理アドレス)、データ(ライトデータ)は、夫々、アドレスレジスタ206、コマンドレジスタ205、データレジスタ209に振り分けられて格納される。
温度センサ201は、温度を検出するセンサである。コマンドレジスタ205に温度取得コマンドが格納された場合には、チップ制御回路204は、温度センサ201の出力を検出温度として取得する。検出温度は、I/O信号処理回路202に送られて、I/O信号処理回路202からメモリコントローラ10へ出力される。
アドレスレジスタ206に格納されたアドレスは、ロウアドレスおよびカラムアドレスを含む。ロウアドレスはロウデコーダ211、カラムアドレスはカラムデコーダ208に夫々読み出される。
メモリセルアレイ207は、複数のメモリセルが配列された構成を有している。メモリセルアレイ207には、ホスト2から受信したライトデータが格納される。
メモリセルアレイ207は、複数のブロックを備える。1つのブロックに格納された全てのデータは、一括して消去(イレース)される。各ブロックは、複数のページを備える。メモリセルアレイ207に対するデータのライトおよびデータのリードは、ページ単位で実行される。つまり、メモリチップ21へのアクセスは、ページ単位で実施される。
ロウデコーダ211、カラムデコーダ208、センスアンプ210は、チップ制御回路204による制御に基づいて、メモリセルアレイ207に対するアクセスを実行する。
具体的には、データのライトの際には、ロウデコーダ211は、ロウアドレスに対応したワード線を選択して、選択したワード線を活性化する。カラムデコーダ208は、カラムアドレスに対応したビット線を選択して活性化する。センスアンプ210は、カラムデコーダ208により選択されたビット線に電圧を印加して、ロウデコーダ211が選択したワード線とカラムデコーダ208が選択したビット線との交点に位置する、対象のメモリセルに、データレジスタ209に格納されているデータを書き込む。
また、データのリードの際には、ロウデコーダ211は、ロウアドレスに対応したワード線に1以上のリードレベルを印加する。センスアンプ210は、対象のメモリセルが導通状態であるか非導通状態であるかを、ロウデコーダ211がワード線に印加したリードレベル毎にセンスし、リードレベル毎のセンス結果に基づいて対象のメモリセルに格納されたデータを判定し、判定によって得られたデータをデータレジスタ209に格納する。データレジスタ209に格納されたデータは、データ線を通してI/O信号処理回路202に送られ、I/O信号処理回路202からメモリコントローラ10へ転送される。
RY/BY生成回路212は、チップ制御回路204による制御の下でRY/BY信号線の状態をレディー状態(RY)とビジー状態(BY)との間で遷移させる。
図1に説明を戻す。
メモリコントローラ10は、CPU(Central Processing Unit)11と、ホストインタフェースコントローラ(ホストI/Fコントローラ)12と、RAM(Random Access Memory)13と、NANDコントローラ14と、温度センサ15と、備える。
RAM13は、キャッシュ、バッファ、およびワーキングエリアとして機能するメモリである。例えば、RAM13は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせによって構成される。RAM13は、メモリコントローラ10の外部に配置されてもよい。
ホストインタフェースコントローラ12は、ホスト2とメモリコントローラ10との間の情報(コマンド、データ)の送受信を制御する。例えば、ホストインタフェースコントローラ12は、ホスト2から受信したデータをRAM13に書き込んだり、NANDコントローラ14によってNANDメモリ20からRAM13に読み出されたデータをホスト2に送信したりする。
NANDコントローラ14は、CPU11による制御下で、NANDメモリ20に対するアクセスを実行する。例えば、NANDコントローラ14は、RAM13に格納されているデータをNANDメモリ20に書き込んだり、NANDメモリ20に格納されているデータを読み出して、読み出したデータをRAM13に書き込んだりする。
CPU11は、予めメモリシステム1に内蔵されるプログラム(ファームウェアプログラム)に基づいて動作するプロセッサである。ファームウェアプログラムは、例えばNANDメモリ20の所定位置に格納されている。CPU11は、メモリシステム1のスタートアップ時に、NANDメモリ20からRAM13にファームウェアプログラムをロードする。そして、CPU11は、RAM13にロードされたファームウェアプログラムを実行する。
温度センサ15は、温度を検出するセンサである。温度センサ15の出力は、CPU11によって、検出温度として取得される。
CPU11は、ファームウェアプログラムに従って、メモリコントローラ10の種々の機能を実現する。特に、CPU11は、前述した性能の制御を実施する。
なお、ホストI/Fコントローラ12、およびNANDコントローラ14の機能のうちの一部または全部は、CPU11によって実現されてもよい。また、CPU11の機能のうちの一部または全部は、例えばFPGA(field-programmable gate array)やASIC(application specific integrated circuit)などの、コンピュータプログラムを要しないハードウェア回路によって構成されてもよい。つまり、メモリコントローラ10は、ハードウェア、ソフトウェア、またはこれらの組み合わせによって構成され得る。なお、メモリコントローラ10は、SoC(System-On-a-Chip)として構成され得る。メモリコントローラ10は、複数のチップによって構成されてもよい。
図4は、第1の実施形態にかかるメモリシステム1の動作の一例を示すフローチャートである。
まず、CPU11は、温度を測定するタイミングが到来したか否かを判定する(S101)。温度を測定するタイミングは、任意に設定される。例えば、1秒毎など、所定の周期で温度を測定するタイミングが設定される。CPU11は、温度を測定するタイミングをハードウェアカウンタ(不図示)からのカウント信号に基づいて判断してもよい。
温度を測定するタイミングが到来していない場合(S101:No)、S101の判断処理が再び実行される。温度を測定するタイミングが到来した場合(S101:Yes)、CPU11は、現在の温度制御のステートが第3ステートまたは第4ステートに該当するか否かを判定する(S102)。
現在のステートが第3ステートまたは第4ステートに該当する場合(S102:Yes)、CPU11は、1以上のメモリチップ21から温度センサ201による検出温度を取得する(S103)。S103では、CPU11は、1以上のメモリチップ21にNANDコントローラ14を介して温度取得コマンドを送信することによって、当該1以上のメモリチップ21のそれぞれに温度センサ201による検出温度を出力させる。
なお、検出温度を出力させる1以上のメモリチップ21は、任意に選択される。検出温度を出力させる1以上のメモリチップ21を選択する具体的な方法の例は、第2の実施形態にて説明される。
現在のステートが第1ステートまたは第2ステートに該当する場合(S102:No)、CPU11は、メモリコントローラ10が有する温度センサ15によって検出された検出温度を取得する(S104)。
S103またはS104の後、CPU11は、検出温度としきい値(T0、T1、およびT2)との比較に基づいて、温度制御のステートを更新する(S105)。
具体的には、検出温度がしきい値T0よりも低い場合、CPU11は、温度制御のステートを現在のステートから第1ステートに遷移させる。検出温度がしきい値T0よりも高くかつしきい値T1より低い場合、CPU11は、温度制御のステートを現在のステートから第2ステートに遷移させる。検出温度がしきい値T1よりも高くかつしきい値T2より低い場合、CPU11は、温度制御のステートを現在のステートから第3ステートに遷移させる。検出温度がしきい値T2よりも高い場合、CPU11は、温度制御のステートを現在のステートから第4ステートに遷移させる。
なお、S103において複数のメモリチップ21から検出温度が取得された場合、CPU11は、複数のメモリチップ21から取得された複数の検出温度のうちからしきい値との比較に用いる値を取得することができる。比較に用いる値の取得方法は、特定の方法に限定されない。例えば、CPU11は、複数の検出温度のうちの最大値を、S105での比較に用いることができる。別の例では、CPU11は、複数の検出温度の平均値を、S105での比較に用いることができる。CPU11は、複数の検出温度のうちから比較に用いる値の取得方法を、温度制御のステートに応じて切り替えてもよい。
また、検出温度がしきい値と等しい場合、CPU11は、温度制御のステートを現在のステートから当該しきい値によって区分される隣接する2つのステートのうちの低温側のステートに遷移させてもよいし、現在のステートから当該2つのステートのうちの高温側のステートに遷移させてもよい。
また、検出温度としきい値(T0、T1、およびT2)との比較に基づいて判断されるステートが現在のステートと同じ場合、CPU11は、温度制御のステートの更新を実行しなくてもよい。
S105の後、CPU11は、現在のステートに対応した上限値でデータの転送速度をクランプする(S106)。そして、S101の処理が再び実行される。
このように、第1の実施形態によれば、メモリコントローラ10は、S103またはS104において、温度センサ15または温度センサ201から検出温度を取得する。そして、メモリコントローラ10は、取得された検出温度としきい値(T0、T1、T2)との比較に基づいてステートを更新する(S105)。その後、メモリコントローラ10は、現在のステートが第3ステートまたは第4ステートに該当するか否かに基づいて(S102)、次に温度センサ15および温度センサ201の何れから検出温度を取得するかを決定する。
つまり、メモリコントローラ10は、S103またはS104のタイミング(第1のタイミング)において温度センサ15または温度センサ201から検出温度を取得し、取得された当該検出温度に基づいて、そのタイミングよりも後に取得される検出温度を温度センサ15および温度センサ201の何れから取得するかを決定する。
この構成により、メモリチップ21の温度が動作保証温度範囲の上限値よりも十分に低い温度領域にある場合、温度センサ15を使用することで高速にデータの転送をし、メモリチップ21の温度が動作保証温度範囲の上限値の近傍の温度領域にある場合、温度センサ201を使用することで不必要な性能の抑制を防止する、といった制御が可能となる。つまり、効率的な性能の制御が実現される。
また、第1の実施形態によれば、メモリコントローラ10は、S105とその後に実行されるS102によって、検出温度としきい値T1との比較に基づいて温度センサの選択を実行する。具体的には、検出温度がしきい値T1よりも高い場合には、メモリコントローラ10は、温度センサ201を使用すると決定する。検出温度がしきい値T1よりも低い場合には、メモリコントローラ10は、温度センサ15を使用すると決定する。
これによって、効率的な性能の制御が実現される。
また、第1の実施形態によれば、メモリコントローラ10は、S105とS106とによって、検出温度がしきい値T2よりも高い場合、検出温度がしきい値T2よりも低い場合よりも性能を低くする。しきい値T2は、動作保証温度範囲の上限値の近傍に対応し、しきい値T1よりも大きい。
これによって、動作保証温度範囲の上限値の近傍での性能の制御が、メモリチップ21の正確な温度を示す検出温度に基づいて実行される。その結果、動作保証温度範囲の上限値の近傍での不必要な性能の抑制が防止される。
仮に、動作保証温度範囲の上限値の近傍での性能の制御を温度センサ15の検出温度に基づいて実行しようとした場合、前述したように、温度センサ15の検出温度と各メモリチップ21の温度との対応関係を予め求めておく作業が必要となる。第1の実施形態では、動作保証温度範囲の上限値の近傍では、メモリチップ21の正確な温度を示す検出温度を使用することができるので、上記の作業を不要とすることができる。
メモリコントローラ10は、メモリチップ21に温度取得コマンドを送信することによって、温度センサ201による検出温度を取得することができる。つまり、メモリチップ21は、温度取得コマンドに応じて検出温度をメモリコントローラ10に送信する。
なお、上述した説明では、メモリコントローラ10は、検出温度が動作保証温度範囲の上限値に近づくに応じて性能を段階的に低下させた。性能の制御方法はこれに限定されない。例えば、メモリコントローラ10は、動作保証温度範囲の上限値に対応した値と検出温度との偏差に基づいてデータの転送速度の上限値を制御してもよい。当該偏差に基づく制御の方法としては、P制御、PI制御、PID制御などの、任意の制御方法が採用され得る。
また、上述した説明では、メモリコントローラ10は、データの転送速度を制御した。制御対象の性能は、データの転送速度に限定されない。メモリコントローラ10は、メモリチップ21の発熱量に対応する任意の量を、性能として制御し得る。
また、上述した説明では、メモリコントローラ10が有する温度センサ15はメモリコントローラ10内に設けられているとした。メモリコントローラ10が有する温度センサ15は、メモリコントローラ10の外部の、メモリチップ21から離間した位置に設けられ、メモリコントローラ10に専用の信号線で接続されてもよい。
(第2の実施形態)
S103では、CPU11は、全てのメモリチップ21から検出温度を取得してもよい。しかしながら、全てのメモリチップ21から検出温度を取得する場合、S103の処理に長い時間を要する。
S103では、CPU11は、全てのメモリチップ21から検出温度を取得してもよい。しかしながら、全てのメモリチップ21から検出温度を取得する場合、S103の処理に長い時間を要する。
第2の実施形態では、CPU11は、16個のメモリチップ21の全てを検出温度の取得の対象とするのではなく、検出温度の取得の対象の数を16個よりも少ない数に絞る。これによって、検出温度の取得に要する時間の短縮を図る。以降では、検出温度の取得の対象の数を絞るいくつかの方法を説明する。
図5は、第2の実施形態にかかる検出温度の取得の対象の数を絞る方法の一例を示すフローチャートである。
本図に示される例では、N(0<N<16)個のメモリチップ21が検出温度の取得の対象として予め製造者により決定され、当該N個のメモリチップ21の識別情報が設定情報に記録されている。設定情報は、所定の不揮発性の記憶領域に格納されている。当該記憶領域は、例えばNANDメモリ20である。
製造者によって検出温度の取得の対象を決定する方法は、特定の方法に限定されない。一例では、実験または計算を行うことにより、16個のメモリチップ21のうちの温度が高くなりやすいメモリチップ21から順番にN個のメモリチップ21を特定し、特定されたN個のメモリチップ21を検出温度の取得の対象として決定してもよい。
CPU11は、温度制御を開始する前などに、設定情報に基づいて、検出温度の取得の対象を特定する(S201)。そして、検出温度の取得の対象の数を絞る動作が終了する。
このように、16個のメモリチップ21のうちの一部のメモリチップ21が、予め検出温度の取得の対象として設定されている。つまり、検出温度の取得の対象は、固定されている。このような方法で検出温度の取得の対象の数を絞ることが可能である。
図6は、第2の実施形態にかかる検出温度の取得の対象の数を絞る方法の別の一例を示すフローチャートである。なお、本図において、図4で説明された処理と同様の処理には、図4と同じ符号を付している。
CPU11は、まず、温度を測定するタイミングが到来したか否かを判定する(S101)。温度を測定するタイミングが到来していない場合(S101:No)、S101の判断処理が再び実行される。温度を測定するタイミングが到来した場合(S101:Yes)、CPU11は、現在の温度制御のステートが第3ステートまたは第4ステートに該当するか否かを判定する(S102)。
現在のステートが第1ステートまたは第2ステートに該当する場合(S102:No)、CPU11は、メモリコントローラ10が有する温度センサ15によって検出された検出温度を取得する(S104)。そして、CPU11は、検出温度の取得の対象の数を絞る制御に供される所定のフラグを1に設定する(S301)。
S301に続いて、CPU11は、検出温度としきい値(T0、T1、およびT2)との比較に基づいて、温度制御のステートを更新する(S105)。そして、CPU11は、現在のステートに対応した上限値でデータの転送速度をクランプする(S106)。そして、S101の処理が再び実行される。
現在のステートが第3ステートまたは第4ステートに該当する場合(S102:Yes)、CPU11は、フラグが1であるか否かを判定する(S302)。フラグが1である場合(S302:Yes)、CPU11は、全てのメモリチップ21、つまり16個のメモリチップ21から温度センサ201による検出温度を取得する(S303)。S303では、CPU11は、16個のメモリチップ21にNANDコントローラ14を介して温度取得コマンドを送信することによって、当該16個のメモリチップ21のそれぞれに温度センサ201による検出温度を出力させる。
S303に続いて、CPU11は、16個のメモリチップ21のうちの出力した検出温度が高い方からN個(0<N<16)のメモリチップ21のみを次回の検出温度の取得の対象として設定する(S304)。そして、CPU11は、フラグを0にクリアする(S305)。S305の処理の後、S105の処理が実行される。
なお、複数個のメモリチップ21から得られた検出温度のS105の処理における扱い方は任意である。例えば複数個のメモリチップ21から得られた検出温度の最大値が、しきい値(T0、T1、およびT2)との比較の対象とされる。
フラグが0である場合(S302:No)、CPU11は、S304の処理によって検出温度の取得の対象として設定されたN個のメモリチップ21から温度センサ201による検出温度を取得する(S306)。その後、S105の処理が実行される。
このように、CPU11は、16個のメモリチップ21の全てから検出温度を取得して、取得された検出温度に基づいて16個のメモリチップ21の一部を次回の検出温度の取得の対象として設定してもよい。これによって、検出温度の取得の対象の数を絞ることが可能となる。
なお、検出温度の取得の対象を絞るタイミングは、上記されたタイミングに限定されない。CPU11は、16個のメモリチップ21の全てから検出温度を取得して、取得された検出温度に基づいて16個のメモリチップ21の一部を次回の検出温度の取得の対象に設定する処理を、任意のタイミングで実行することができる。例えば、CPU11は、当該処理を、温度制御のステートに依存しないタイミングで実行することができる。CPU11は、当該処理を、所定の時間間隔で実行してもよい。
また、図6の例では、検出温度の取得の対象の数を絞った後にステートが第1ステートまたは第2ステートに戻った場合、CPU11は、検出温度の取得の対象の設定を、16個のメモリチップ21に戻した。検出温度の取得の対象の設定を16個のメモリチップ21に戻すタイミングはこれに限定されない。また、CPU11は、いったん検出温度の取得の対象の数を絞った後は、検出温度の取得の対象を変更しないように構成されてもよい。
図7は、第2の実施形態にかかる検出温度の取得の対象の数を絞る方法のさらに別の一例を示すフローチャートである。
メモリチップ21の発熱量は、アクセス頻度と正の相関を有する。つまり、メモリチップ21へのアクセス頻度が高いほど、当該メモリチップ21の温度が高くなる。図7の例では、CPU11は、アクセス頻度に応じて検出温度の取得の対象を選択する。
アクセス頻度の取得方法は、特定の方法に限定されない。例えば、CPU11は、データのライト、データのリード、またはデータのイレースを実行した回数をメモリチップ21毎に集計する。CPU11は、データのライトを実行した回数のみを集計してもよいし、データのリードを実行した回数のみを集計してもよい。CPU11は、データのイレースを実行した回数のみを集計してもよい。CPU11は、集計によって得られた回数を、各メモリチップ21のアクセス頻度として使用することができる。
図7に示される一連の処理は、S304の替わりにS401を含む点で図6に示される一連の処理と異なっている。ここでは、S401のみについて説明する。
S401では、CPU11は、16個のメモリチップ21のうちのアクセス頻度が高い方からN個のメモリチップ21のみを次回の検出温度の取得の対象として設定する。
このように、CPU11は、アクセス頻度に基づいて16個のメモリチップ21の一部を検出温度の取得の対象として設定してもよい。アクセス頻度が高いメモリチップ21を優先的に検出温度の取得の対象として設定することで、検出温度の取得の対象を、温度が高くなると推定されるメモリチップ21のみに限定することができる。
なお、図6のケースと同様に、検出温度の取得の対象を絞るタイミングは、上記されたタイミングに限定されない。また、検出温度の取得の対象の設定を16個のメモリチップ21に戻すタイミングは温度制御のステートが第3ステートまたは第4ステートから第1ステートまたは第2ステートに遷移したタイミングに限定されない。また、CPU11は、いったん検出温度の取得の対象の数を絞った後は、検出温度の取得の対象を変更しないように構成されてもよい。
図8は、第2の実施形態にかかる検出温度の取得の対象の数を絞る方法のさらに別の一例を示すフローチャートである。本図に示される一連の処理は、S304の替わりにS501を含む点で図6に示される一連の処理と異なっている。ここでは、S501のみについて説明する。
S501では、CPU11は、検出温度とアクセス頻度とに基づいてN個のメモリチップのみを検出温度の取得の対象として設定する。
例えば、識別番号がiであるメモリチップ21の検出温度およびアクセス頻度をそれぞれTdet_i、F_iとすると、CPU11は、識別番号がiであるメモリチップ21の評価値E_iを下記の式(1)を用いて算出する。
E_i=w1*Tdet_i+w2*F_i (1)
E_i=w1*Tdet_i+w2*F_i (1)
ここで、w1およびw2は、重み付け係数である。w1およびw2は、例えば正の整数である。
CPU11は、16個のメモリチップ21のそれぞれについて評価値Eを算出する。そして、評価値Eが大きい方からN個のメモリチップ21のみを次回の検出温度の取得の対象として選択する。
なお、評価値Eの算出方法は上記に限定されない。評価値Eは、検出温度およびアクセス頻度を変数として含む任意の関数を用いて算出され得る。
また、評価値Eを用いた検出温度の取得の対象の選択方法は、上記に限定されない。例えば、検出温度が高いほど評価値Eが小さくなり、かつ、アクセス頻度が高いほど評価値Eが小さくなるような関数が、評価値Eを算出するための関数として使用される場合、CPU11は、評価値Eが小さい方からN個のメモリチップ21のみを検出温度の取得の対象として選択してもよい。
このように、CPU11は、検出温度とアクセス頻度とに基づいて16個のメモリチップ21の一部を検出温度の取得の対象として設定してもよい。
なお、図6のケースと同様に、検出温度の取得の対象を絞るタイミングは、上記されたタイミングに限定されない。また、CPU11は、いったん検出温度の取得の対象の数を絞った後は、検出温度の取得の対象を変更しないように構成されてもよい。
以上述べたように、第2の実施形態によれば、メモリコントローラ10は、16個のメモリチップ21のうちの一部を検出温度の取得の対象として選択する。これによって、16個のメモリチップ21の全てを検出温度の取得の対象とする場合に比べて検出温度の取得に要する時間を短縮することが可能となる。
なお、第2の実施形態の技術は、単独でメモリシステムに適用することが可能である。例えば、メモリコントローラ10は、メモリチップ21内に設けられた温度センサ201のみを用いて性能の制御を実施する。メモリコントローラ10は、設定情報、検出温度、アクセス頻度、または検出温度とアクセス頻度との組み合わせ、などに基づいて16個のメモリチップ21のうちの一部を検出温度の取得の対象として選択する。これによって、検出温度の取得に要する時間を短縮することが可能である。また、メモリコントローラ10から温度センサ15を廃することが可能となる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 メモリシステム、2 ホスト、10 メモリコントローラ、11 CPU、12 ホストインタフェースコントローラ、13 RAM、14 NANDコントローラ、15 温度センサ、20 NANDメモリ、21 メモリチップ、30 電源回路、201 温度センサ、202 I/O信号処理回路、203 制御信号処理回路、204 チップ制御回路、205 コマンドレジスタ、206 アドレスレジスタ、207 メモリセルアレイ、208 カラムデコーダ、209 データレジスタ、210 センスアンプ、211 ロウデコーダ、212 RY/BY生成回路。
Claims (16)
- 第1の温度センサを備える第1メモリチップと、
第2の温度センサを備え、前記第1の温度センサまたは前記第2の温度センサによる第1の検出温度を取得して、取得された前記第1の検出温度に基づいて性能の制御を実行し、第1のタイミングで取得される第1の検出温度である第2の検出温度に基づいて前記第1のタイミングよりも後に取得される第1の検出温度である第3の検出温度を前記第1の温度センサおよび前記第2の温度センサの何れから取得するかを決定するメモリコントローラと、
を備えるメモリシステム。 - 前記メモリコントローラは、前記第2の検出温度と第1のしきい値とを比較し、前記第2の検出温度が前記第1のしきい値よりも高い場合、前記第1の温度センサから前記第3の検出温度を取得し、前記第2の検出温度が前記第1のしきい値よりも低い場合、前記第2の温度センサから前記第3の検出温度を取得する、
請求項1に記載のメモリシステム。 - 前記メモリコントローラは、前記第3の検出温度が第2のしきい値よりも高い場合、前記第3の検出温度が前記第2のしきい値よりも低い場合より前記性能を低くする、
請求項2に記載のメモリシステム。 - 前記第2のしきい値は、前記第1のしきい値よりも大きい、請求項3に記載のメモリシステム。
- 前記第2のしきい値は、前記第1メモリチップの動作保証温度範囲(guaranteed range of operating temperature)の上限値に対応する、
請求項4に記載のメモリシステム。 - 前記メモリコントローラは、前記第1メモリチップに前記第3の検出温度を要求するコマンドを送信し、
前記第1メモリチップは、前記コマンドに応答して前記第3の検出温度を前記メモリコントローラに送信する、
請求項1に記載のメモリシステム。 - それぞれは前記第1メモリチップに該当する複数の第2メモリチップを備え、
前記メモリコントローラは、前記複数の第2メモリチップから第3メモリチップを選択し、前記第3メモリチップのみに前記コマンドを送信する、
請求項6に記載のメモリシステム。 - 前記第3メモリチップは、固定されている、
請求項7に記載のメモリシステム。 - 前記メモリコントローラは、前記複数の第2メモリチップのそれぞれの前記第1の温度センサから第4の検出温度を取得して、前記第4の検出温度に基づいて前記第3メモリチップを選択する、
請求項7に記載のメモリシステム。 - 前記メモリコントローラは、前記複数の第2メモリチップのそれぞれに対するアクセス頻度に基づいて前記第3メモリチップを選択する、
請求項7に記載のメモリシステム。 - 前記メモリコントローラは、前記複数の第2メモリチップのそれぞれに対するアクセス頻度と、前記第4の検出温度と、に基づいて前記第3メモリチップを選択する、
請求項9に記載のメモリシステム。 - それぞれは第1の温度センサを備える複数の第1メモリチップと、
前記第1の温度センサによる検出温度を要求するコマンドを前記複数の第1メモリチップのうちの一部である第2メモリチップのみに送信して、前記コマンドに応答して前記第2メモリチップから出力された検出温度に基づいて性能の制御を実行する、メモリコントローラと、
を備えるメモリシステム。 - 前記第2メモリチップは、固定されている、
請求項12に記載のメモリシステム。 - 前記メモリコントローラは、前記複数の第1メモリチップのそれぞれに前記コマンドを送信して、前記コマンドに応じて前記複数の第1メモリチップのそれぞれから出力された検出温度に基づいて前記第2メモリチップを選択する、
請求項12に記載のメモリシステム。 - 前記メモリコントローラは、前記複数の第1メモリチップのそれぞれに対するアクセス頻度を取得し、前記アクセス頻度に基づいて前記第2メモリチップを選択する、
請求項12に記載のメモリシステム。 - 前記メモリコントローラは、前記複数の第1メモリチップのそれぞれに対するアクセス頻度を取得し、前記コマンドに応じて前記複数の第1メモリチップのそれぞれから出力された前記検出温度と前記アクセス頻度とに基づいて前記第2メモリチップを選択する、
請求項14に記載のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019040499A JP2020144589A (ja) | 2019-03-06 | 2019-03-06 | メモリシステム |
US16/553,768 US10847205B2 (en) | 2019-03-06 | 2019-08-28 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019040499A JP2020144589A (ja) | 2019-03-06 | 2019-03-06 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020144589A true JP2020144589A (ja) | 2020-09-10 |
Family
ID=72335437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019040499A Pending JP2020144589A (ja) | 2019-03-06 | 2019-03-06 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US10847205B2 (ja) |
JP (1) | JP2020144589A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7506125B2 (ja) | 2022-10-05 | 2024-06-25 | 株式会社バッファロー | ストレージデバイス、及び情報処理システム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210046348A (ko) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | 복수의 프로세서들에 유연하게 메모리를 할당하기 위한 메모리 시스템 및 그것의 동작 방법 |
KR20220050697A (ko) * | 2020-10-16 | 2022-04-25 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
TWI757216B (zh) * | 2021-07-23 | 2022-03-01 | 群聯電子股份有限公司 | 溫度控制方法、記憶體儲存裝置及記憶體控制電路單元 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706950B2 (en) | 2008-03-01 | 2014-04-22 | Kabushiki Kaisha Toshiba | Memory system |
JP2011170943A (ja) * | 2010-02-22 | 2011-09-01 | Sony Corp | 記憶制御装置、記憶装置、記憶装置システム |
US8873323B2 (en) | 2012-08-16 | 2014-10-28 | Transcend Information, Inc. | Method of executing wear leveling in a flash memory device according to ambient temperature information and related flash memory device |
KR102211126B1 (ko) * | 2014-04-17 | 2021-02-02 | 삼성전자주식회사 | 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20150121562A (ko) | 2014-04-21 | 2015-10-29 | 삼성전자주식회사 | 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템의 동작방법 |
US9678490B2 (en) * | 2014-06-23 | 2017-06-13 | Dell Products L.P. | Systems and methods for temperature-based performance optimization of memory devices |
US10564900B2 (en) * | 2016-03-04 | 2020-02-18 | Western Digital Technologies, Inc. | Temperature variation compensation |
US10803921B2 (en) * | 2018-08-29 | 2020-10-13 | Intel Corporation | Temperature management in open-channel memory devices |
-
2019
- 2019-03-06 JP JP2019040499A patent/JP2020144589A/ja active Pending
- 2019-08-28 US US16/553,768 patent/US10847205B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7506125B2 (ja) | 2022-10-05 | 2024-06-25 | 株式会社バッファロー | ストレージデバイス、及び情報処理システム |
Also Published As
Publication number | Publication date |
---|---|
US10847205B2 (en) | 2020-11-24 |
US20200286547A1 (en) | 2020-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2020144589A (ja) | メモリシステム | |
US9875027B2 (en) | Data transmitting method, memory control circuit unit and memory storage device | |
US10539988B2 (en) | Memory system | |
US10430090B2 (en) | Method of controlling memory system and method of controlling information-processing device | |
KR101371516B1 (ko) | 플래시 메모리 장치의 동작 방법 및 그것을 포함하는 메모리 시스템 | |
US9355929B2 (en) | Data storage based upon temperature considerations | |
US7596048B2 (en) | Memory system and method of controlling the same | |
TWI498732B (zh) | 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置 | |
KR20110058028A (ko) | 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법 | |
CN107179877B (zh) | 数据传输方法、存储器控制电路单元与存储器存储装置 | |
JP2020077443A (ja) | メモリシステム | |
US20200042238A1 (en) | Data storage device, method of operating the same, and storage system having the same | |
US11023138B2 (en) | Management operations in predictable latency mode | |
US10990498B2 (en) | Data storage device and operating method thereof | |
CN113302583B (zh) | 存储器子系统的温度的估计 | |
KR20110128436A (ko) | 비휘발성 메모리 장치의 리드 레벨 추정 방법 및 이를 수행하는 메모리 컨트롤러, 및 기록매체 | |
KR20160127494A (ko) | 저장 장치 및 이를 포함하는 메모리 시스템 | |
JP2012018648A (ja) | メモリシステム | |
CN111462793B (zh) | 数据存储系统及其预充电策略设置方法 | |
KR20190099879A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
US11733911B2 (en) | Storage device and storage device management method | |
CN110874333A (zh) | 存储设备及存储方法 | |
US11429536B2 (en) | Storage device which selects write scheme based on measured temperature and control method | |
US20190087299A1 (en) | Memory system and method | |
JP2017130043A (ja) | メモリ装置、コンピュータシステム、メモリコントローラ、及び昇温防止方法 |