JP6751177B2 - メモリシステムの制御方法 - Google Patents
メモリシステムの制御方法 Download PDFInfo
- Publication number
- JP6751177B2 JP6751177B2 JP2019089053A JP2019089053A JP6751177B2 JP 6751177 B2 JP6751177 B2 JP 6751177B2 JP 2019089053 A JP2019089053 A JP 2019089053A JP 2019089053 A JP2019089053 A JP 2019089053A JP 6751177 B2 JP6751177 B2 JP 6751177B2
- Authority
- JP
- Japan
- Prior art keywords
- power consumption
- memory system
- memory
- host
- control method
- 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.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System (AREA)
Description
本実施形態は、メモリシステムの制御方法に関する。
例えば、ディスクアレイには複数のメモリシステムが実装される。各ディスクアレイは、制限された電力を用いて動作することが求められる。
一つの実施形態は、利便性の高いメモリシステムを提供することを目的とする。
一つの実施形態によれば、メモリシステムの制御方法は、第1ステップと、第2ステップと、を備える。第1ステップは、ホストからアクセスパターンおよびスループットの通知を受信するステップである。第2ステップは、前記アクセスパターンによるアクセスを前記スループットで処理するための消費電力である予測消費電力を、少なくとも前記アクセスパターンおよび前記スループットと、メモリシステムが備える不揮発性の第1メモリのうちのユーザデータの記憶に利用可能な全記憶容量と表記容量との関係を示す指標である容量情報と、に基づいて算出するステップである。
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1は、第1の実施形態に係るメモリシステムの構成例を示す図である。メモリシステム1は、ホスト2および電源装置3に接続されている。電源装置3は、メモリシステム1に電力を供給する。メモリシステム1は、電源装置3から供給される電力によって駆動される。ホスト2はコンピュータである。コンピュータは、例えば、パーソナルコンピュータ、ポータブルコンピュータ、携帯通信機器、またはサーバを含む。メモリシステム1は、ホスト2に接続されている。メモリシステム1とホスト2とを接続する通信路のインタフェース規格としては任意の規格が採用可能である。ホスト2は、メモリシステム1に、アクセスコマンドを送信することができる。また、ホスト2は、メモリシステム1に対してアクセス予告の通知(以降、予告通知と表記)を送信することができる。また、ホスト2は、メモリシステム1に対し、許容される最大の消費電力を設定することができる。許容される最大の消費電力を、許容消費電力と表記する。
図1は、第1の実施形態に係るメモリシステムの構成例を示す図である。メモリシステム1は、ホスト2および電源装置3に接続されている。電源装置3は、メモリシステム1に電力を供給する。メモリシステム1は、電源装置3から供給される電力によって駆動される。ホスト2はコンピュータである。コンピュータは、例えば、パーソナルコンピュータ、ポータブルコンピュータ、携帯通信機器、またはサーバを含む。メモリシステム1は、ホスト2に接続されている。メモリシステム1とホスト2とを接続する通信路のインタフェース規格としては任意の規格が採用可能である。ホスト2は、メモリシステム1に、アクセスコマンドを送信することができる。また、ホスト2は、メモリシステム1に対してアクセス予告の通知(以降、予告通知と表記)を送信することができる。また、ホスト2は、メモリシステム1に対し、許容される最大の消費電力を設定することができる。許容される最大の消費電力を、許容消費電力と表記する。
アクセスコマンドは、リードコマンドまたはライトコマンドを含む。アクセスコマンドは、アクセスの種別およびアクセス位置を少なくとも備える。アクセスの種別は、リードまたはライトである。アクセス位置は、論理的なアドレス情報によって指定される。論理的なアドレス情報とは、ホスト2がメモリシステム1にマッピングしたアドレス空間における位置を示す情報である。アクセス位置は、一例としては、LBA(Logical Block Addressing)の形式で指定される。以降、ホスト2がメモリシステム1にマッピングしたアドレス空間は、論理アドレス空間と表記される。論理アドレス空間における位置を示す情報は、論理アドレスと表記される。
予告通知は、スループットおよびアクセスパターンを含む。スループットとは、帯域、IOPS(Input Output Per Second)、またはMB/s(Mega byte per second)、を含む。即ち、スループットは、メモリシステム1の性能を意味する。IOPSは、NANDメモリ11(後述する)に対して1秒あたりに書き込みできる回数である。なお、単位時間あたりに可能な書き込みの回数であれば、単位時間は1秒でなくてもスループットとして採用可能である。また、MB/sは、ホスト2とNANDメモリ11との間の通信速度である。アクセスパターンは、アクセスの種別、論理アドレス空間におけるアクセス位置の連続性、またはアクセスの各種別の割合、を含む。論理アドレス空間におけるアクセス位置が連続するように複数のアクセスコマンドが発行される場合のパターンは、例えば、シーケンシャルアクセスと表記される。シーケンシャルアクセスのパターンでリードが行われる場合、そのパターンは、シーケンシャルリードと表記される。シーケンシャルアクセスのパターンでライトが行われる場合、そのパターンは、シーケンシャルライトと表記される。論理アドレス空間におけるアクセス位置が連続しないように複数のアクセスコマンドが発行される場合のパターンは、例えば、ランダムアクセスと表記される。ランダムアクセスのパターンでリードが行われる場合、そのパターンは、ランダムリードと表記される。ランダムアクセスのパターンでライトが行われる場合、そのパターンは、ランダムライトと表記される。論理アドレス空間におけるアクセス位置の連続性は、以降、アクセスの連続性、と表記される。
メモリシステム1は、予告通知によって通知された性能を実現するための消費電力を演算する。即ち、メモリシステム1は、消費電力を予測する。演算された消費電力を、予測消費電力と表記する。また、メモリシステム1は、予測消費電力を使って、ホスト2と消費電力の交渉を実行する。ここでは一例として、ホスト2は、予測消費電力とメモリシステム1に割り当てる消費電力とを比較し、予測消費電力とメモリシステム1に割り当てる消費電力とのうちの小さいほうを許容消費電力としてメモリシステム1に送信する。メモリシステム1は、許容消費電力によって実現可能な性能のうちのできるだけ大きい性能で動作する。
メモリシステム1は、コントローラ10とNANDメモリ11と電源回路12とを備えている。
電源回路12は、電源装置3から供給された電力を、変換し、またはそのまま、コントローラ10およびNANDメモリ11に供給する。ここでは一例として、電源装置3から直流の電力が供給される。電源回路12はDC−DCコンバータ121を備える。電源回路12は、電源装置3からの直流の電力の電圧を、DC−DCコンバータ121によって、コントローラ10およびNANDメモリ11を駆動できる電圧に変換する。
NANDメモリ11は、ストレージとして機能するメモリである。NANDメモリ11は、電源回路12から供給される電力を用いることによって動作する。ストレージとしては、不揮発性のメモリであればNANDメモリ以外の任意の種類のメモリを採用可能である。例えばNOR型のフラッシュメモリがストレージとして採用可能である。
NANDメモリ11は、NAND型のメモリセルアレイ、を夫々備えた1以上のメモリチップによって構成される。メモリセルアレイは、複数のブロックを備える。ブロックは、メモリセルアレイに対するイレース処理の最小単位である。また、各ブロックは、複数のページを備える。ページは、メモリセルアレイに対するリード処理およびライト処理の最小単位である。
コントローラ10は、ホスト2からのコマンドに従って、NANDメモリ11へのデータのライト、またはNANDメモリ11からのデータのリード、などを行う。コントローラ10は、性能制御IF101と、資源制御部102と、情報記憶部103と、算出部104と、温度センサ105とを備えている。また、コントローラ10は、CPU51と、メモリ52と、符号化部53と、復号化部54とを備えている。
図1では図示していないが、CPU51は、算出部104、性能制御IF101、資源制御部102、情報記憶部103およびメモリ52に接続されている。したがって、性能制御IF101は、CPU51を介して情報記憶部103に接続されている。また、性能制御IF101は、ホスト2および算出部104に接続されている。また、資源制御部102は、並列動作資源50および情報記憶部103に接続されている。
メモリ52は、例えば揮発性のメモリである。メモリ52は、ホスト2からのデータがNANDメモリ11にライトされる際に一時的にそのデータが格納されるライトバッファとして機能できる。また、メモリ52は、メモリシステム1に関する管理情報を記憶するための記憶領域として機能する。管理情報は、メモリ52上で更新される。また、メモリ52は、NANDメモリ11からリードされたデータが一時的に格納される記憶領域として機能できる。また、メモリ52は、CPU51が実行するプログラムが不揮発性のメモリ(例えばNANDメモリ11)からロードされる記憶領域として機能できる。例えば、CPU51は、メモリ52にロードされたプログラムに基づいて制御を実行する。
CPU51は、コントローラ10を統括的に制御する。CPU51は、例えば、論理アドレスを物理アドレスに変換する処理(翻訳処理)、ガベージコレクションの制御、バッドブロックの管理、または、余裕容量の管理、などを実行する。ガベージコレクション、バッドブロック、および余裕容量については後述する。
メモリセルに対する電子の注入と電子の引き抜きとが繰り返されるに応じて、メモリセルに対する電子の注入と電子の流出がより容易になる。メモリセルに対する電子の注入と電子の引き抜きとが繰り返されるに応じて生じるメモリセルの変化を、(メモリセル、メモリセルアレイ、ブロック、メモリチップ、またはNANDメモリ11の)疲弊、と表記する。メモリセルが疲弊するに応じて、当該メモリセルに格納されたデータが、ライト時とリード時とで異なる事象が発生する。この事象をエラーと表記する。符号化部53は、NANDメモリ11にライトされるユーザデータを、エラー訂正のために符号化する。即ち、ホスト2から送られてきたユーザデータは、符号化の後、NANDメモリ11にライトされる。符号化のアルゴリズムとしては、可変長符号化が採用される。可変長符号化によれば、コードレートが可変である。可変長符号化によれば、コードレートを小さくなるように変更することによって、訂正能力を強めることが可能である。コードレートとは、フレームのサイズ、に対する、フレーム内のユーザデータのサイズ、の割合である。フレームとは、エラー訂正が実行される単位のデータをいう。訂正能力とは、例えば訂正が可能なビット数である。訂正能力が固定されている場合には、メモリセルアレイが疲弊するにしたがって、エラービットレートが増加し、エラービットレートが訂正能力を超えると、ユーザデータは読み出し不可能な状態になる。CPU51は、メモリセルアレイが疲弊するに応じてコードレートを減少させることによって、エラービットレートが訂正能力を超えないように制御する。
復号化部54は、NANDメモリ11からリードされたユーザデータの復号化を実行する。復号化部54は、復号化によって、NANDメモリ11からリードされたユーザデータに含まれるエラーの検出および訂正を実行する。復号化部54は、エラービットレートをCPU51に報告する。CPU51は、エラービットレートの報告に基づいてコードレートを変更する。
なお、符号化部53または復号化部54の機能は、CPU51がファームウェアを実行することによって実現されてもよい。また、符号化部53は複数種のアルゴリズムの符号化が可能に構成され、復号化部54は複数種のアルゴリズムの復号化が可能に構成されてもよい。
コントローラ10は、メモリシステム1の性能を調整する。第1の実施形態においては、コントローラ10は、並列に動作せしめられることが可能な複数の資源(並列動作資源50)を備えている。資源制御部102が複数の並列動作資源50のうちの並列に動作せしめられる並列動作資源50の数(並列動作数)を変化させることによって、性能が調整される。
並列動作資源50は、メモリシステム1を構成する部品、または、ソフトウエアを構成するプログラム、などである。並列動作資源50は、例えば、下記の(1)〜(4)などである。
(1)メモリシステム1とホスト2との間で情報処理を行う部品またはプログラム
(2)コントローラ10とNANDメモリ11との間で情報処理を行う部品またはプログラム
(3)コントローラ10内で情報処理を行う部品またはプログラム
(4)NANDメモリ11内で情報処理を行う部品またはプログラム
(1)メモリシステム1とホスト2との間で情報処理を行う部品またはプログラム
(2)コントローラ10とNANDメモリ11との間で情報処理を行う部品またはプログラム
(3)コントローラ10内で情報処理を行う部品またはプログラム
(4)NANDメモリ11内で情報処理を行う部品またはプログラム
本実施形態では、並列動作資源50は、CPU51、メモリ52、符号化部53、復号化部54、または、NANDメモリ11、などであるとして説明する。並列動作資源50の各例について具体的に説明する。
図2は、並列動作資源50の一例を説明するための第1の実施形態のNANDメモリ11の構成例を示す図である。NANDメモリ11は、8つのチャネル(8ch:ch0〜ch7)を介してコントローラ10に並列に接続されている。メモリシステム1は、各チャネルを並列に制御することによって、8つのチャネル要素11a〜11hを並列に動作させることが可能である。なお、NANDメモリ11内のチャネルの数は8に限定されない。各チャネルは、並列動作資源50に該当する。コントローラ10は、並列に動作せしめられるチャネル要素の数を、並列動作数として制御することができる。なお、例えば、符号化部53は、ユーザデータの符号化をチャネル要素毎に独立に実行するように構成されてもよい。即ち、符号化部53は、ライト先のチャネル要素が異なる複数のユーザデータの符号化を同時に実行する。また、復号化部54は、ユーザデータの復号化をチャネル要素毎に独立に実行するように構成されてもよい。即ち、復号化部54は、リード元のチャネル要素が異なる複数のユーザデータの復号化を同時に実行する。
各チャネル要素11a〜11hは、複数のバンク(この場合、4バンク、Bank0〜Bank3)を備える。各バンクは、複数のメモリチップ(この場合、2メモリチップ、Chip0、Chip1)を備える。コントローラ10は、最大で4つのバンクをバンクインターリーブの方式で動作させることが可能である。バンクインターリーブとは、1つのバンクに属する1以上のメモリチップがメモリセルアレイにアクセスしている最中にコントローラ10が別のバンクへアクセスコマンドを発行する手法である。バンクインターリーブによって、NANDメモリ11とコントローラ10との間のトータルの処理時間を短縮することができる。各バンクは、並列動作資源50に該当する。コントローラ10は、バンクインターリーブの方式で動作せしめられるバンクの数を、並列動作数として制御することができる。
各メモリチップのメモリセルアレイは、例えば、プレーン0、プレーン1の合計で2つの領域(District)に分割されている。プレーン0およびプレーン1はそれぞれ複数のブロックを備える。プレーン0およびプレーン1は、互いに独立した周辺回路(例えば、ロウデコーダ、カラムデコーダ、ページバッファ、データキャッシュ等)を備える。コントローラ10は、各プレーンに対して同時にイレース処理/ライト処理/リード処理を実行することができる。即ち、コントローラ10は、プレーン0およびプレーン1を並列に動作させることが可能である。なお、各メモリチップのメモリセルアレイは、3以上のDistrictに分割されてもよいし、まったく分割されていなくてもよい。各プレーンは、並列動作資源50に該当する。コントローラ10は、同時に動作せしめられるプレーンの数を、並列動作数として制御することができる。
CPU51は、例えば複数のプロセッサによって構成されてもよい。その場合には、各プロセッサは夫々並列動作資源50に該当する。コントローラ10は、同時に動作せしめられるプロセッサの数を、並列動作数として制御することができる。
また、CPU51は、翻訳処理を、複数のプロセスの夫々において独立に実行することができる。プロセスとは、プログラムに基づいて実現する処理の単位である。プロセスは、タスクと表現されることもある。例えば、CPU51は、論理アドレス空間を複数に分割し、分割された夫々の論理アドレス空間の部分にかかる翻訳処理を、夫々異なるプロセスに実行させることができる。翻訳処理を実行する各プロセスは、並列動作資源50に該当する。コントローラ10は、同時に動作せしめられるプロセスの数を、並列動作数として制御することができる。なお、翻訳処理以外の処理が複数のプロセスの夫々において実行されてもよい。
また、メモリ52は、夫々電源が個別に供給/供給停止されることが可能に構成された複数の単位領域を備えていてもよい。各単位領域は、並列動作資源50に該当する。コントローラ10は、電源が供給されている単位領域の数を、並列動作数として制御することができる。
なお、並列動作数は、以上に述べた一部または全部の例の組み合わせであってもよい。例えば、並列に動作せしめられるチャネルの数、バンクインターリーブの方式で動作せしめられるバンクの数、および同時に動作せしめられるプレーンの数、の組み合わせが、並列動作数として制御されてもよい。組み合わせとは、例えば、任意の演算による解である。例えば、演算は、乗算である。また、並列動作数は、以上に述べた一部または全部の例の夫々を要素として備える数列で表記されてもよい。並列動作数が数列で表記される場合において、並列動作数を変更するとは、並列動作数の数列を構成する1以上の要素のうちの一部または全部の値を変更することである。具体的には、並列動作数が数列で表記される場合において、並列動作数を増加させるとは、並列動作数の数列を構成する1以上の要素のうちの一部または全部の値を性能が向上する方向に変更することである。並列動作数が数列で表記される場合において、並列動作数を減少させるとは、並列動作数の数列を構成する1以上の要素のうちの一部または全部の値を性能が低下する方向に変更することである。
性能制御IF101は、ホスト2から送られてくる予告通知を受付ける。性能制御IF101は、ホスト2から受信した予告通知を、算出部104に送る。即ち、算出部104はホスト2からアクセス予告が性能制御IF101を介して通知される。また、性能制御IF101は、ホスト2から送られてくる許容消費電力を受付ける。性能制御IF101は、ホスト2から受信した許容消費電力を、情報記憶部103に許容消費電力201として格納する。許容消費電力201は、算出部104によって読み出される。即ち、算出部104は、ホスト2から許容消費電力が性能制御IF101および情報記憶部103を介して通知される。
算出部104は、許容消費電力201と予告通知と対応情報202とに基づいて並列動作設定数を算出する。並列動作設定数は、並列動作数の設定値である。算出部104は、算出された並列動作設定数を情報記憶部103に並列動作設定数203として格納する。資源制御部102は、並列動作数が並列動作設定数203に等しくなるように、並列動作資源50を制御する。
対応情報202は、少なくとも性能と消費電力との間の対応関係を規定する情報である。対応情報202は、性能と消費電力との他に、1以上の変数を含む。対応情報202のデータ構造としては任意のデータ構造が採用可能である。対応情報202のデータ構造は、例えば、テーブル、関数、またはこれらの組み合わせである。以下に、対応情報202の変数の各例と特性の各例とを説明する。
例えば、アクセスの種別の割合が対応情報202の変数として用意される。図3は、対応情報202によって規定される、アクセスの種別の割合と、消費電力と、性能と、の関係の一例を示すグラフである。本図では、アクセスの種別の割合、消費電力、および性能、以外の変数には所定値が夫々設定されていることとする。この例によれば、性能が増大するに応じて、消費電力が増大する。ライトの割合が100%であった場合、リードの割合が100%である場合に比べて、性能の増大量に対する消費電力の増大量が大きい。アクセスの種別の割合は、例えば予告通知としてホスト2から送信される。また、コントローラ10は、過去のアクセスからアクセスの種別の割合を測定し、算出部104は、測定によって得られた割合を使用してもよい。アクセスの種別の割合が性能と消費電力との関係に与える影響は図3の例に限定されない。
例えば、アクセスの連続性が対応情報202の変数として用意される。図4は、対応情報202によって規定される、アクセスの連続性と、消費電力と、性能と、の関係の一例を示すグラフである。本図では、アクセスの連続性、消費電力、および性能、以外の変数には所定値が夫々設定されていることとする。ランダムライト(RW)、ランダムリード(RR)、シーケンシャルライト(SW)、およびシーケンシャルリード(SR)のうち、性能の増大量に対する消費電力の増大量の割合は、ランダムライトの場合に最も大きく、シーケンシャルリードの場合に最も小さい。また、シーケンシャルライトの場合、ランダムリードの場合に比べて、性能の増大量に対する消費電力の増大量の割合が大きい。アクセスの連続性は、例えば予告通知としてホスト2から送信される。また、コントローラ10は、過去のアクセスからアクセスの連続性を測定し、算出部104は、測定によって得られたアクセスの連続性を使用してもよい。なお、アクセスの連続性が性能と消費電力との関係に与える影響は図4の例に限定されない。
例えば、メモリセルアレイに対するライト処理にかかる時間(t_prog)が対応情報202の変数として用意される。コントローラ10は、ユーザデータをNANDメモリ11にライトする際、メモリセルアレイに単位サイズのデータを書き込ませるライトコマンドをメモリチップに送信する。メモリチップはコントローラ10からライトコマンドを受信すると、メモリチップの状態はレディー状態からビジー状態に遷移する。メモリチップがデータをメモリセルアレイにライトする(プログラムする、とも言われる)間、メモリチップの状態はビジー状態を維持する。メモリセルアレイへのデータのプログラムが完了すると、メモリチップの状態はビジー状態からレディー状態に遷移する。メモリチップの状態がビジー状態であるかレディー状態であるかは、チャネルに含まれるレディービジー信号線を介してコントローラ10に通知される。t_progは、1つのメモリチップがライトコマンドに応じてビジー状態を維持する間の時間を意味する。言い換えると、t_progは、1つのメモリチップがライトコマンドの実行に費やす時間である。図5は、対応情報202によって規定される、t_progと、消費電力と、性能と、の関係の一例を示すグラフである。本図では、t_prog、消費電力、および性能、以外の変数には所定値が夫々設定されていることとする。例えば、t_progの減少に応じて、1ページのデータをメモリセルアレイにプログラムするために要する時間が減少する。1ページのデータのプログラムに要する消費電力は、t_prog以外の条件が同一である場合には、t_progの値にかかわらず一定である。したがって、t_progが第1の値である場合、t_progが第1の値より小さい第2の値である場合に比べて、性能の増大量に対する消費電力の増大量が大きい。t_progが性能と消費電力との関係に与える影響は例えば、測定または計算により予め求められ、求められた影響に基づいて対応情報202が生成される。コントローラ10は、レディービジー信号を監視することによってt_progを測定することができる。例えば、コントローラ10は、t_progを測定し、算出部104は、測定によって得られたt_progを使用してもよい。
メモリセルが疲弊するにしたがって、t_progが減少する傾向がある。メモリセルへの電子の注入がより容易になるからである。この傾向を利用して、t_progの代わりにメモリセルの疲弊の進行状況を示す指標が変数として使用されてもよい。メモリセルの疲弊の進行状況を示す指標としては、例えば、イレースの実行回数、積算通電時間(power on hours count)、メモリシステム1へのデータの総書き込み量、または、NANDメモリ11へのデータの総書き込み量、などが使用可能である。イレースの実行回数、積算通電時間、メモリシステム1へのデータの総書き込み量、または、NANDメモリ11へのデータの総書き込み量は、例えば、コントローラ10によって統計情報として記録される。算出部104は、記録されたイレースの実行回数、積算通電時間、メモリシステム1へのデータの総書き込み量、または、NANDメモリ11へのデータの総書き込み量を取得して使用することができる。メモリセルの疲弊の程度を示す指標は、任意の単位毎に使用される。例えば、メモリセルの疲弊の程度を示す指標は、ページ、ブロック、メモリチップ、またはNANDメモリ11の単位で使用される。なお、t_progが性能と消費電力との関係に与える影響は図5の例に限定されない。
例えば、コードレートが対応情報202の変数として用意される。図6は、対応情報202によって規定される、コードレートと消費電力との関係の一例を示すグラフである。図6では、コードレートおよび消費電力、以外の変数には所定値が夫々設定されていることとする。コードレートRは、0より大きく、かつ、1以下の値を取り得る。コードレートRが1である場合に消費電力が最小である。コードレートRが0に近いほど、消費電力が増加する。図7は、対応情報202によって規定される、コードレートと、消費電力と、性能と、の関係の一例を示すグラフである。図7では、コードレート、消費電力、および性能、以外の変数には所定値が夫々設定されていることとする。コードレートが第3の値である場合、コードレートが第3の値より大きい第4の値である場合に比べて、性能の増大量に対する消費電力の増大量が大きい。コードレートが性能と消費電力との関係に与える影響は例えば、測定または計算により予め求められ、求められた影響に基づいて対応情報202が生成される。コントローラ10は、コードレートを制御し、算出部104は、コードレートを取得して使用する。なお、コードレートが性能と消費電力との関係に与える影響は図6および図7の例に限定されない。
例えば、余裕率が対応情報202の変数として用意される。余裕率は、NANDメモリ11のうちのユーザデータの記憶に利用可能な全記憶容量と表記容量との関係を示す指標の1つである。具体的には、余裕率は、余裕容量を表記容量で除算して得られる。余裕容量は、ユーザデータの記憶に利用可能な領域の合計の容量から表記容量を減算して得られる値である。ユーザデータの記憶に利用可能な領域は、ここではavailable領域と表記される。ユーザデータとは、ホスト2から送られてきたデータである。なお、available領域に記憶されているユーザデータの状態は、有効な状態と無効な状態とのうちの何れかである。NANDメモリ11に第1のユーザデータが格納されている状態でホスト2から第1のユーザデータと同一の論理アドレスを指定して第2のユーザデータが送られてきた場合、コントローラ10は、空のページを有するブロックに第2のユーザデータを書き込み、第1のユーザデータを無効なユーザデータとして管理する。「空の」状態とは、ここでは、無効なデータおよび有効なデータの何れも記憶されていない状態をいう。空のページは、データが書き込み可能な空き領域である。このような手法でNANDメモリ11に対するライトが行われるため、各ブロックには、無効なユーザデータと有効なユーザデータとが記憶される。データが有効とは、そのデータが最新の状態であることをいう。同一の論理アドレスが指定された複数のユーザデータがNANDメモリ11に格納される場合において、最新の状態とは、その複数のユーザデータのうちのホスト2が最後に書き込んだユーザデータの状態をいう。無効なデータとは、前記複数のユーザデータのうちの、ホスト2が最後に書き込んだユーザデータ以外のユーザデータをいう。
余裕率は動的に変動し得る。例えば、バッドブロックの増加によって、余裕率が減少する。バッドブロックとは、NANDメモリ11が備えるブロックのうち、使用不可と判定されたブロックをいう。使用不可の判断基準は任意である。例えばコントローラ10は、あるブロックに格納されたユーザデータのエラービットレートが所定値を超える場合、そのブロックは使用不可のブロック(即ちバッドブロック)として管理する。また、例えば、コードレートの減少によって、余裕率が減少する。コードレートが減少することによって、ユーザデータがライトできる領域の正味のサイズ(言い換えるとavailable領域のサイズ)が減少するからである。
余裕率は、ガベージコレクションの実行に影響する。ガベージコレクションとは、一つのブロックから有効なデータを他のブロックの空き領域に移動(コピー)し、その後、移動元のブロックに格納されている全データを無効なデータとして管理する、処理をいう。移動元のブロックは、ガベージコレクションの後、フリーブロックとして管理される。なお、フリーブロックの集合を、フリーブロックプールと表記する。各フリーブロックは、イレースが実行されることによって、何もデータを記憶していない状態になる。
ホスト2から送られてきたユーザデータのNANDメモリ11へのライトを続けるうちに、無効なユーザデータの量が増えるとともにフリーブロックが枯渇する。CPU51は、フリーブロックを生成するために、ガベージコレクションを実行する。即ち、ユーザデータのNANDメモリ11に対するライトには、概略的には、2種類のライトが存在する。2種類のライトのうちの一は、ホスト2から送られてきたユーザデータのライト(以降、ホストライトと表記する)である。2種類のライトのうちの他は、ガベージコレクションに基づくライト(以降、ガベージコレクションライトと表記する)である。ホストライトによってNANDメモリ11にライトされるデータ量と、ガベージコレクションライトによってNANDメモリ11によってライトされるデータ量と、の比は、余裕率に応じてCPU51によって制御される。一例として、ガベージコレクションライトによってNANDメモリ11によってライトされるデータ量をホストライトによってNANDメモリ11にライトされるデータ量で除算して得られる値は、ギア比と表記される。CPU51は、余裕率に応じてギア比を制御する。CPU51は、ギア比と、ホストライトによってNANDメモリ11にライトされるデータ量と、に応じてガベージコレクションの実行を制御する。具体的には、例えば、CPU51は、余裕率に応じたギア比を演算する。そして、CPU51は、ホストライトによってNANDメモリ11にライトされたデータ量とギア比とから、ガベージコレクションによってNANDメモリ11にライトすべき目標のデータ量を演算する。そして、CPU51は、演算によって得られた目標のデータ量に至るまでガベージコレクションを実行する。
図8は、ギア比と余裕率との関係の一例を示すグラフである。図示するように、CPU51は、余裕率が減少するに応じてギア比を増加させる。即ち、CPU51は、余裕率が減少するに応じて、ホストライトによってメモリシステム1に送られてくるデータ量に対する、実際にNANDメモリ11にライトされる合計のデータ量、の割合を、増加させる。したがって、消費電力および余裕率、以外の条件が同一である場合においては、余裕率が減少するに応じて消費電力が増加する。
図9は、対応情報202によって規定される、余裕率と、消費電力と、性能と、の関係の一例を示すグラフである。図9では、余裕率、消費電力、および性能、以外の変数には所定値が夫々設定されていることとする。余裕率が第5の値である場合、余裕率が第5の値よりも大きい第6の値である場合に比べて、性能の増大量に対する消費電力の増大量が大きい。余裕率が性能と消費電力との関係に与える影響は例えば、測定または計算により予め求められ、求められた影響に基づいて対応情報202が生成される。CPU51は、余裕率を制御し、算出部104は、余裕率を取得して使用する。なお、余裕率が性能と消費電力との関係に与える影響は図9の例に限定されない。
なお、余裕率が消費電力と性能との関係に与える影響の大きさは、アクセスの連続性に依存する。例えば、ランダムライトの場合、シーケンシャルライトの場合に比べて、余裕率が消費電力と性能との関係に与える影響が大きい。シーケンシャルライトの場合、ランダムライトの場合に比べて、より効率的にフリーブロックが生成できるからである。余裕率とアクセスの連続性とが対応情報202の変数として用意されていてもよい。
なお、ホストライトによってメモリシステム1に送られてくるデータ量に対する、実際にNANDメモリ11にライトされる合計のデータ量、の割合を、書き込み倍率(Write Amplification Factor : WAF)と表記する。対応情報202は余裕率の代わりにWAFを変数として備えていてもよい。WAFは、余裕率のほか、コードレートによっても影響される。コードレートが小さくなるに応じてWAFが増加する。算出部104は、計算または測定によりWAFを取得し、取得したWAFを使用してもよい。
例えば、温度情報が対応情報202の変数として用意される。消費電力は、リークパワーとダイナミックパワーとの合算によって得られる。リークパワーとは、メモリ52に発生するリーク電流によってロスする電力である。リーク電流は、電源を供給中において発生し、電源の供給が停止中において発生しない。リークパワーは、メモリ52を構成する回路のジャンクション温度に応じて変化する。ダイナミックパワーは、メモリシステム1内のデータの転送によって消費される電力である。ダイナミックパワーは、各メモリチップにおけるイレース、リード、およびライトによって消費される電力を含むものとする。即ち、ダイナミックパワーは、パフォーマンスが高い時ほど大きくなる傾向がある。
図10および図11は、対応情報202によって規定される、ジャンクション温度と、消費電力と、性能と、の関係の一例を示すグラフである。図10および図11に示すように、ジャンクション温度が同一である場合には、性能が高い場合の消費電力は、性能が低い場合の消費電力よりも大きい。性能が同一である場合には、ジャンクション温度が高い場合の消費電力はジャンクション温度が低い場合の消費電力よりも大きい。
例えば、温度センサ105はメモリ52の近傍に配設されている。算出部104は、温度センサ105の検出値を所定の演算によって補正することによってジャンクション温度を演算してもよい。算出部104は、温度センサ105がメモリ52から離れた位置(例えばメモリシステム1内においてコントローラ10から離れた位置)に配設される場合には、予め設定された関係式と温度センサ105の検出値とに基づいて、ジャンクション温度を推定してもよい。メモリシステム1は、外部(例えばメモリシステム1が実装されているコンピュータの筐体など)から温度が入力されてもよい。算出部104は、例えば、外部から入力された温度に基づいてジャンクション温度を推定してもよい。また、例えばジャンクション温度の代わりに温度センサ105の検出値が対応情報202の変数として用意されてもよい。上述のように温度センサ105の検出値からジャンクション温度を簡単に導出することが可能だからである。なお、ジャンクション温度が性能と消費電力との関係に与える影響は図10および図11の例に限定されない。
なお、以上の例では、消費電力と性能との間の関係は、消費電力および性能の他の条件が同一であれば、リニアであることとして説明した。例えば、DC−DCコンバータ121は、負荷の増加に応じて効率が向上する性質を有している。DC−DCコンバータ121のこの性質を考慮すると、消費電力と性能との間の関係は、例えば図12のグラフに示すように、性能が高くなるに応じて、性能の増大量に対する消費電力の増大量の割合が低下する。このように、消費電力と性能との間の関係はリニアでなくてもよい。
各種変数が性能と消費電力との関係に与える影響は例えば製造時に測定または演算により求められ、求められた影響に基づいて対応情報202が生成される。各種変数が性能と消費電力との関係に与える影響はメモリシステム1毎に個別に測定されてもよい。これにより、メモリシステム1の製造ばらつきに依存しない消費電力の制御が可能となる。各種変数が性能と消費電力との関係に与える影響は複数個のメモリシステム1毎(例えばメモリシステム1のロット毎)に測定されてもよい。
図13は、第1の実施形態の、メモリシステム1の動作を説明するシーケンス図である。まず、ホスト2はメモリシステム1に予告通知を送信する(S101)。メモリシステム1においては、予告通知の受信に応じて、算出部104は対応情報202の各種変数に設定される値を取得する(S102)。算出部104は、取得した各値と対応情報202とに基づいて、予告通知によって通知された性能を実現する場合の消費電力(即ち予測消費電力)を算出する(S103)。
なお、取得とは、演算、参照、および推定を含む。参照とは、予め設定された値の参照、および、状態値の参照を含む。対応情報202の1以上の変数のうち予測性能の演算のための固定値が予め設定されている変数がある場合には、算出部104は、当該固定値を参照する。また、算出部104は、予告通知を参照し、アクセスパターンを読み出す。また、例えば余裕率は、状態値として所定の記憶領域(例えばメモリ52)に記録され、動作状況に応じて更新される。算出部104は、所定の記憶領域に記録されている余裕率を参照する。例えば、算出部104は、温度センサ105の検出値に基づいてジャンクション温度を演算したり推定したりする。このように、算出部104は、変数の種類に応じて、対応情報202の変数に設定すべき値を、演算したり、参照したり、推定したりする。
S103の処理においては、算出部104は、例えば、対応情報202の複数の変数のうち消費電力を除く全ての変数に値を設定する。そして、算出部104は、対応情報202と、各変数に設定された値と、から決まる消費電力を、予測消費電力として扱う。
CPU51は、算出部104によって算出された予測消費電力をホスト2に送信する(S104)。ホスト2は、予測消費電力に基づいて許容消費電力を決定する(S105)。
S105の処理の方法は、任意に設計可能である。例えば、ホスト2は、全体の消費電力のバランスに基づいて、メモリシステム1に割り当てる消費電力を演算する。または、ホスト2は、メモリシステム1が放出する熱量を考慮しながら、メモリシステム1に割り当てる消費電力を決定する。ホスト2は、予測消費電力がメモリシステム1に割り当てる消費電力を超えない場合には、予測消費電力を許容消費電力に設定する。ホスト2は、予測消費電力がメモリシステム1に割り当てる消費電力を超える場合には、メモリシステム1に割り当てる消費電力を許容消費電力に設定する。
ホスト2は、許容消費電力をメモリシステム1に送信する(S106)。メモリシステム1が許容消費電力を受信すると、性能制御IF101は、受信した許容消費電力を許容消費電力201として情報記憶部103に格納する。算出部104は、許容消費電力201で実現可能な最大の性能を算出する(S107)。S107の処理においては、算出部104は、例えば、対応情報202の複数の変数のうち性能を除く全ての変数に値を設定する。
算出部104は、S107の処理によって得られた性能に基づいて、並列動作設定数を算出する(S108)。性能と並列動作数との関係は、予めメモリシステム1に設定されている。例えば、性能と並列動作数との関係を規定した情報(例えばテーブルまたは関数)は、予め所定の記憶領域(例えばNANDメモリ11)に格納されている。算出部104は、例えば、当該情報と演算された性能とを用いることによって並列動作設定数203を演算する。算出部104は、演算された並列動作設定数203を情報記憶部103に格納する。
資源制御部102は、並列動作数を更新する(S109)。具体的には、資源制御部102は、並列動作数が並列動作設定数203に等しくなるように、並列動作資源50を制御する。
なお、図13の説明においては、ホスト2は許容消費電力を決定し、メモリシステム1に通知する、として説明した。ホスト2は、メモリシステム1に割り当てる消費電力が予測消費電力よりも大きい場合には、S106の処理において、許可通知を送信してもよい。性能制御IF101は、許可通知を受信すると、送信済みの予測消費電力を許容消費電力201として情報記憶部103に格納する。
また、算出部104はS107の処理において、許容消費電力201で実現可能な最大の性能を算出する、として説明した。算出部104は、許容消費電力201で実現可能な性能であれば、必ずしも最大の性能を算出しなくてもよい。
なお、以上の説明においては、資源制御部102は、並列動作数を変化させることによって性能を調整した。性能の調整の方法は、並列動作数の制御による方法だけに限定されない。例えば、資源制御部102は、ホスト2に対する応答に待ち時間を挿入することによって性能を調整し得る。応答は、リードコマンドに応じてNANDメモリ11から読み出されたデータを含む。また、応答は、ホスト2からのコマンドに対応する、実行完了通知であってもよい。応答が複数のパケットに分割されて送信される場合、資源制御部102は、パケット間に待ち時間を挿入してもよい。資源制御部102は、待ち時間の大きさを、S108の演算によって得られた性能に応じて演算する。
また、メモリシステム1とホスト2との間の交渉の方法は任意である。例えば、ホスト2は予告通知と許容消費電力とをメモリシステム1に送信し、メモリシステム1は、予測消費電力を予告通知に基づいて算出し、予測消費電力と許容消費電力とのうちの大きい方の消費電力を用いて実現可能な最大の性能で動作してもよい。例えば、ホスト2は許容消費電力をメモリシステム1に送信し、メモリシステム1は、受信した許容消費電力を用いて実現可能な最大の性能で動作してもよい。
以上述べたように、第1の実施形態においては、メモリシステム1は、ホスト2からアクセスパターンおよび性能が通知され、予測消費電力をアクセスパターンおよび性能と余裕率とに基づいて算出する算出部104を備える。アクセスパターン、性能、および余裕率は、動的に変化しうる要素である。算出部104はこれらの動的に変化しうる要素に基づいて消費電力を予測するので、高い精度で消費電力を予測することが可能となる。メモリシステム1は、高い精度で消費電力を予測できるので、利便性が高い。
また、アクセスパターンによる性能と消費電力との関係への影響は、以上に述べた他の変数による影響に比べて大きい。算出部104は、アクセスパターンを用いて消費電力を予測するので、予測の精度が向上する。また、余裕率による影響は、アクセスの連続性に応じて変化する。例えばランダムライトの場合、シーケンシャルライトに比べて余裕率による影響が大きくなる。算出部104は、アクセスパターンと余裕率とを用いて消費電力を予測するので、予測の精度が向上する。なお、NANDメモリ11のうちのユーザデータの記憶に利用可能な全記憶容量と表記容量との関係を示す指標であれば、余裕率以外の指標が変数として使用可能である。
なお、算出部104は、余裕率と性能のみに基づいて予測消費電力を算出してもよい。算出部104が余裕率と性能のみに基づいて予測消費電力を算出するように構成される場合、対応情報202にはランダムライトの場合を想定して性能と消費電力との関係が規定されてもよい。
また、メモリシステム1は温度センサ105をさらに備える。算出部104は、温度センサ105の検出値をさらに用いることによって消費電力を予測する。上述したように、メモリ52のリークパワーはジャンクション温度に応じて変化する。ジャンクション温度も、動的に変化しうる要素である。ジャンクション温度の影響を考慮して消費電力を予測することが可能であるので、予測の精度が向上する。なお、算出部104は、温度センサ105の検出値からジャンクション温度を演算してもよい。対応情報202の変数として温度センサ105の検出値が用意されていてもよい。
また、算出部104は、コードレートをさらに用いることによって消費電力を予測する。コードレートも、動的に変化しうる要素である。算出部104はコードレートを用いて消費電力を予測するので、予測の精度が向上する。なお、コードレートは、符号化前のユーザデータのサイズと符号化後のユーザデータのサイズとの関係を示す指標のひとつである。符号化前のユーザデータのサイズと符号化後のユーザデータのサイズとの関係を示す指標であれば、コードレート以外の指標が変数として使用可能である。
また、算出部104は、t_progをさらに用いることによって消費電力を予測する。t_progは、メモリセルの疲弊に応じて小さくなる。即ちt_progも動的に変化しうる要素である。算出部104は、t_progを用いて消費電力を予測するので、予測の精度が向上する。なお、t_progの代わりにメモリセルの疲弊の進行状況を示す指標が使用可能である。
また、算出部104は、許容消費電力で実行可能なスループットを算出する。これにより、メモリシステム1は許容消費電力を超えない消費電力で動作することが可能となる。なお、許容消費電力は、ホスト2から通知される。許容消費電力は予め決められていてもよい。
(第2の実施形態)
図14は、メモリシステム1の実装例を示す図である。メモリシステム1は、例えばサーバシステム1000に実装される。サーバシステム1000は、ディスクアレイ2000とラックマウントサーバ3000とが通信インタフェース4000によって接続されて構成される。通信インタフェース4000の規格としては任意の規格が採用可能である。ラックマウントサーバ3000は、サーバラックを備え、サーバラックに1以上のホスト2がマウントされる。また、ディスクアレイ2000は、サーバラックを備え、サーバラックに1以上のメモリシステム1がマウントされる。なお、ディスクアレイ2000のサーバラックにHDDなど他のユニットがマウントされてもよい。ディスクアレイ2000は、電源装置3を備える。電源装置3からの電力は、ディスクアレイ2000にマウントされた各ユニットに、図示しないバックプレーンを介して供給される。なお、ディスクアレイ2000に複数のメモリシステム1が具備される場合、当該複数のメモリシステム1はRAIDを構成してもよい。
図14は、メモリシステム1の実装例を示す図である。メモリシステム1は、例えばサーバシステム1000に実装される。サーバシステム1000は、ディスクアレイ2000とラックマウントサーバ3000とが通信インタフェース4000によって接続されて構成される。通信インタフェース4000の規格としては任意の規格が採用可能である。ラックマウントサーバ3000は、サーバラックを備え、サーバラックに1以上のホスト2がマウントされる。また、ディスクアレイ2000は、サーバラックを備え、サーバラックに1以上のメモリシステム1がマウントされる。なお、ディスクアレイ2000のサーバラックにHDDなど他のユニットがマウントされてもよい。ディスクアレイ2000は、電源装置3を備える。電源装置3からの電力は、ディスクアレイ2000にマウントされた各ユニットに、図示しないバックプレーンを介して供給される。なお、ディスクアレイ2000に複数のメモリシステム1が具備される場合、当該複数のメモリシステム1はRAIDを構成してもよい。
ホスト2は、ディスクアレイ2000内の温度が所定値を超えないようにメモリシステム1毎の許容消費電力を演算してもよい。また、ホスト2は、電源装置3による電力の供給能力とディスクアレイ2000が備えるメモリシステム1の数とに基づいてメモリシステム1毎の許容消費電力を演算してもよい。各メモリシステム1は、第1の実施形態にて説明した構成を有しているので、夫々、許容消費電力で実現できる最大の性能を発揮することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 メモリシステム、2 ホスト、3 電源装置、10 コントローラ、11 NANDメモリ、12 電源回路、31 算出部、50 並列動作資源、52 メモリ、53 符号化部、54 復号化部、101 性能制御IF、102 資源制御部、103 情報記憶部、104 算出部、105 温度センサ、121 DC−DCコンバータ、201 許容消費電力、202 対応情報、203 並列動作設定数、1000 サーバシステム、2000 ディスクアレイ、3000 ラックマウントサーバ、4000 通信インタフェース。
Claims (16)
- ホストからアクセスパターンおよびスループットの通知を受信する第1ステップと、
前記アクセスパターンによるアクセスを前記スループットで処理するための消費電力である予測消費電力を、少なくとも前記アクセスパターンおよび前記スループットと、メモリシステムが備える不揮発性の第1メモリのうちのユーザデータの記憶に利用可能な全記憶容量と表記容量との関係を示す指標である容量情報と、に基づいて算出する第2ステップと、
を含むメモリシステムの制御方法。 - 前記第2ステップは、前記メモリシステムが備える温度センサの検出値にさらに基づいて前記予測消費電力を算出するステップである、
請求項1に記載のメモリシステムの制御方法。 - 前記第2ステップは、前記温度センサの検出値から前記メモリシステムが備えるデータを一時的に記憶する揮発性の第2メモリのジャンクション温度を算出し、前記第2メモリのジャンクション温度に基づいて前記予測消費電力を算出するステップである、
請求項2に記載のメモリシステムの制御方法。 - 前記第1メモリに書き込まれるユーザデータを符号化するステップをさらに備え、
前記第2ステップは、符号化前のユーザデータのサイズと符号化後のユーザデータのサイズとの関係を示す指標である符号化情報にさらに基づいて前記予測消費電力を算出するステップである、
請求項1に記載のメモリシステムの制御方法。 - 前記第1メモリに単位サイズのデータを書き込ませるライトコマンドを前記第1メモリに送信するステップをさらに備え、
前記第2ステップは、前記第1メモリが前記ライトコマンドの実行に費やす時間であるライトコマンド実行時間にさらに基づいて前記予測消費電力を算出するステップである、
請求項1に記載のメモリシステムの制御方法。 - 前記第2ステップは、前記第1メモリの疲弊の進行状況を示す指標である疲弊情報にさらに基づいて前記予測消費電力を算出するステップである、
請求項1に記載のメモリシステムの制御方法。 - 前記第2ステップは、前記メモリシステムが備える第3メモリに記憶された少なくともアクセスパターン、スループット、および消費電力の間の関係を記録した情報である対応情報を用いることによって前記予測消費電力を算出するステップである、
請求項1に記載のメモリシステムの制御方法。 - 前記対応情報は、前記メモリシステムの製造時に前記メモリシステムに対する測定に基づいて生成される、
請求項7に記載のメモリシステムの制御方法。 - 前記アクセスパターンは、リードとライトとの比率、または、前記ホストが前記メモリシステムにマッピングするアドレス空間内におけるアクセス位置の連続性、である、
請求項1に記載のメモリシステムの制御方法。 - 許容消費電力で実行可能なスループットを算出するステップをさらに備える、
請求項1に記載のメモリシステムの制御方法。 - 前記許容消費電力の通知を前記ホストから受信するステップをさらに備える、
請求項10に記載のメモリシステムの制御方法。 - 前記第2ステップは、前記通知されたアクセスパターンおよびスループットに基づいて前記予測消費電力を算出するステップであり、
前記算出した予測消費電力を前記ホストに通知する第3ステップをさらに備える、
請求項1に記載のメモリシステムの制御方法。 - 前記第3ステップの後、前記ホストから許容消費電力の通知を受信する第4ステップと、
前記許容消費電力で実行可能なスループットを算出する第5ステップと、
をさらに備える
請求項12に記載のメモリシステムの制御方法。 - 前記算出されたスループットで前記メモリシステムを動作させるステップをさらに備える、
請求項13に記載のメモリシステムの制御方法。 - ホストからスループットの通知を受信するステップと、
前記スループットを実現するための消費電力をメモリシステムが備える第1メモリのうちの余裕容量と表記容量との関係を示す指標である容量情報に基づいて算出するステップと、
を備えるメモリシステムの制御方法。 - ホストからアクセスパターンの通知を受信するステップと、
前記アクセスパターンによるアクセスを処理するための消費電力である予測消費電力を少なくとも前記アクセスパターンとメモリシステムが備える不揮発性の第1メモリのうちのユーザデータの記憶に利用可能な全記憶容量と表記容量との関係を示す指標である容量情報とに基づいて算出するステップと、
を備えるメモリシステムの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019089053A JP6751177B2 (ja) | 2019-05-09 | 2019-05-09 | メモリシステムの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019089053A JP6751177B2 (ja) | 2019-05-09 | 2019-05-09 | メモリシステムの制御方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016168443A Division JP6529941B2 (ja) | 2016-08-30 | 2016-08-30 | メモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019149197A JP2019149197A (ja) | 2019-09-05 |
JP6751177B2 true JP6751177B2 (ja) | 2020-09-02 |
Family
ID=67849377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019089053A Active JP6751177B2 (ja) | 2019-05-09 | 2019-05-09 | メモリシステムの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6751177B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7566676B2 (ja) | 2021-03-22 | 2024-10-15 | キオクシア株式会社 | メモリシステム、および情報処理システム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006195569A (ja) * | 2005-01-11 | 2006-07-27 | Sony Corp | 記憶装置 |
WO2012001917A1 (ja) * | 2010-06-29 | 2012-01-05 | パナソニック株式会社 | 不揮発性記憶システム、メモリシステム用の電源回路、フラッシュメモリ、フラッシュメモリコントローラ、および不揮発性半導体記憶装置 |
JP6008325B2 (ja) * | 2013-05-17 | 2016-10-19 | 学校法人 中央大学 | データ記憶システムおよびその制御方法 |
JP2016212580A (ja) * | 2015-05-07 | 2016-12-15 | 富士通株式会社 | 半導体記憶装置、半導体記憶装置の制御方法および制御プログラム |
-
2019
- 2019-05-09 JP JP2019089053A patent/JP6751177B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019149197A (ja) | 2019-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6529941B2 (ja) | メモリシステム | |
US11055215B2 (en) | Memory system and control method for garbage collection in a memory system | |
US12039184B2 (en) | Apparatus and method for performing garbage collection in a memory system | |
US9846541B2 (en) | Memory system for controlling perforamce by adjusting amount of parallel operations | |
US11487678B2 (en) | Apparatus and method for improving input/output throughput of a memory system | |
US9524113B2 (en) | Variable redundancy in a solid state drive | |
US9298534B2 (en) | Memory system and constructing method of logical block | |
US9489299B2 (en) | Data encoding for non-volatile memory | |
US20100251075A1 (en) | Memory controller and semiconductor memory apparatus | |
US9489294B2 (en) | Data encoding for non-volatile memory | |
KR20110095193A (ko) | 반도체 메모리 장치 | |
KR20110113420A (ko) | 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템 | |
US11327659B2 (en) | Apparatus and method for improving input/output throughput of memory system | |
JP2021149421A (ja) | メモリシステムおよび制御方法 | |
US20210278999A1 (en) | Memory system for accurately predicting power required for sequential command operations performed in memory device, and operation method thereof | |
KR20170086840A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
JP2019086974A (ja) | ストレージシステム及びその制御方法 | |
JP6751177B2 (ja) | メモリシステムの制御方法 | |
JP2012058770A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US11429282B2 (en) | Apparatus and method for improving Input/Output throughput of memory system | |
US11567667B2 (en) | Apparatus and method for improving input/output throughput of memory system | |
US11379378B2 (en) | Apparatus and method for improving input and output throughput of memory system | |
US11468926B2 (en) | Apparatus and method for improving input/output throughput of memory system | |
CN118708048A (zh) | 系统功耗的控制方法与存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190509 |
|
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: 20200714 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200813 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6751177 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |