JP2019053522A - メモリシステムおよび方法 - Google Patents

メモリシステムおよび方法 Download PDF

Info

Publication number
JP2019053522A
JP2019053522A JP2017177347A JP2017177347A JP2019053522A JP 2019053522 A JP2019053522 A JP 2019053522A JP 2017177347 A JP2017177347 A JP 2017177347A JP 2017177347 A JP2017177347 A JP 2017177347A JP 2019053522 A JP2019053522 A JP 2019053522A
Authority
JP
Japan
Prior art keywords
memory
memory system
value
controller circuit
performance
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.)
Abandoned
Application number
JP2017177347A
Other languages
English (en)
Inventor
哲也 安田
Tetsuya Yasuda
哲也 安田
郁夫 原
Ikuo Hara
郁夫 原
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
Toshiba Memory 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 Toshiba Memory Corp filed Critical Toshiba Memory Corp
Priority to JP2017177347A priority Critical patent/JP2019053522A/ja
Priority to US15/896,154 priority patent/US20190087299A1/en
Publication of JP2019053522A publication Critical patent/JP2019053522A/ja
Abandoned 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/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • 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/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • 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/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】利便性の高いメモリシステムを得ること。【解決手段】メモリシステムは、ホストに接続可能である。メモリシステムは、不揮発性の第1メモリと、ホストと第1メモリとの間のデータ転送を実行するコントローラ回路とを備える。コントローラ回路は、ホストとメモリシステムとの間のデータの転送レートを測定し、ホストによる処理能力に対応した性能レベルを転送レートに基づいて演算する。コントローラ回路は、データ転送の性能を性能レベルに制御する。【選択図】図6

Description

本実施形態は、メモリシステムおよび方法に関する。
従来、不揮発性メモリを有するメモリシステムが知られている。メモリシステムに関し、必要な性能を確保しつつ消費電力を低減することが要望されている。
一つの実施形態は、利便性の高いメモリシステムおよび方法を提供することを目的とする。
一つの実施形態によれば、メモリシステムは、ホストに接続可能である。メモリシステムは、不揮発性の第1メモリと、ホストと第1メモリとの間のデータ転送を実行するコントローラ回路とを備える。コントローラ回路は、ホストとメモリシステムとの間のデータの転送レートを測定し、ホストによる処理能力に対応した性能レベルを転送レートに基づいて演算する。コントローラ回路は、データ転送の性能を性能レベルに制御する。
図1は、実施形態のメモリシステムの構成を示す図である。 図2は、実施形態のリングバッファに測定値が記録される様子を示す模式図である。 図3は、実施形態のメモリシステムの4つの状態を示す図である。 図4は、実施形態のメモリシステムの起動時の動作の一例を示すフローチャートである。 図5は、実施形態のメモリシステムの未制御状態での動作の一例を示すフローチャートである。 図6は、実施形態のメモリシステムのアクティブ制御状態での動作の一例を示すフローチャートである。 図7は、実施形態のメモリシステムのアイドル遷移状態での動作の一例を示すフローチャートである。 図8は、実施形態のメモリシステムのアイドル制御状態での動作の一例を示すフローチャートである。 図9は、実施形態の性能レベルと測定値との推移の一例を示す図である。
以下に添付図面を参照して、実施形態にかかるメモリシステムおよび方法を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
(実施形態)
図1は、実施形態のメモリシステム1の構成を示す図である。メモリシステム1は、ホスト2と接続可能である。メモリシステム1とホスト2との間の通信路の規格は、特定の規格に限定されない。一例では、SAS(Serial Attached SCSI)が採用され得る。
ホスト2は、例えばパーソナルコンピュータ、携帯情報端末、またはサーバなどが該当する。メモリシステム1は、ホスト2からアクセスコマンド(リードコマンドおよびライトコマンド)を受け付けることができる。各アクセスコマンドは、アクセス先を示す論理アドレスを含んでいる。論理アドレスは、メモリシステム1がホスト2に提供する論理アドレス空間内の位置を示す。
メモリシステム1は、メモリコントローラ10と、NAND型のフラッシュメモリ(NANDメモリ)20と、電源回路30と、を備えている。
NANDメモリ20は、1以上のメモリチップ21によって構成される。ここでは、NANDメモリ20は、1以上のメモリチップ21として、16個のメモリチップ21a〜21pを備える。
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つに限定されない。
各メモリチップ21は、NANDメモリ20の記憶領域を構成するメモリセルアレイを備えている。メモリセルアレイには、ホスト2から受信したデータおよびメモリシステム1の動作に必要となるデータ(ファームウェアプログラムおよび管理情報など)が格納される。
なお、NANDメモリ20は、不揮発性の第1メモリの一例である。第1メモリとして、任意の種類の不揮発性メモリが採用可能である。例えば、第1メモリとして、NOR型のフラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)、ReRAM(Resistive Random Access Memory)、またはPCM(Phase Change Random Access Memory)が採用可能である。
電源回路30は、メモリコントローラ10およびNANDメモリ20を駆動するための内部電源を生成し、生成した内部電源をメモリコントローラ10およびNANDメモリ20のそれぞれに供給する。
メモリコントローラ10は、メモリシステム1全体の制御を実行する回路である。例えば、メモリコントローラ10は、後述のRAM(Random Access Memory)13を介して、ホスト2とNANDメモリ20との間のデータ転送を実行する。
メモリコントローラ10は、CPU(Central Processing Unit)11、ホストインタフェースコントローラ(ホストI/Fコントローラ)12、RAM13、NANDコントローラ14、クロックコントローラ15、および電力制御部16を備える。メモリコントローラ10は、例えばSoC(System-On-Chip)として構成され得る。メモリコントローラ10は、複数のチップによって構成されてもよい。
NANDコントローラ14は、NANDメモリ20に対するアクセスを実行する回路である。
クロックコントローラ15は、メモリコントローラ10の各構成要素およびNANDメモリ20を動作させるクロックを生成する。そして、クロックコントローラ15は、生成したクロックを各構成要素およびNANDメモリ20に供給する。
RAM13は、キャッシュ、バッファ、およびワーキングエリアとして機能するメモリである。例えば、RAM13は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせによって構成される。RAM13は、メモリコントローラ10の外部に配置されてもよい。
RAM13には、リングバッファ131が設けられている。また、RAM13には、カウント値132が記録される。リングバッファ131およびカウント値132は、次に説明するホストインタフェースコントローラ12によって操作される。
ホストインタフェースコントローラ12は、ホスト2とメモリコントローラ10との間の情報(コマンド、データ)の送受信を制御する。特に、実施形態では、ホストインタフェースコントローラ12は、ホスト2とメモリシステム1との間のデータの転送量の測定と、転送量の測定値の記録と、を実行することができる。
ホストインタフェースコントローラ12は、単位時間当たりのデータの転送量(即ち転送レート)を所定の時間間隔で測定する。そして、測定値が閾値Ta(ただしTa>0)を上回った場合、ホストインタフェースコントローラ12は、その測定値をリングバッファ131に記録する。ホストインタフェースコントローラ12は、新しい測定値を、リングバッファ131の最も古くに測定値が書き込まれた位置に記録する。
図2は、リングバッファ131に測定値が記録される様子を示す模式図である。本図では、リングバッファ131は、アドレスが連続したN個の領域133を備えている。各領域133には、1つの測定値が格納される。各測定値は、本図の例では、KiBの単位を有している。N個の領域133のそれぞれには、矢印134で示されるように、アドレスの順番で測定値が上書き形式で格納される。最後尾の領域133に測定値が格納された後は、先頭の領域133に測定値が格納される。このように構成されることにより、リングバッファ131は、リングバッファ131に入力された複数の測定値のうちの最新のN個の測定値を保持することができる。
ホストインタフェースコントローラ12は、さらに、測定値が閾値Tb(ただしTa>Tb>0)を下回った場合、カウント値132を1だけインクリメントし、測定値が閾値Tbを下回っていない場合、カウント値132をゼロにリセットすることができる。このように操作されることにより、カウント値132は、単位時間当たりのデータの転送量が連続して閾値Tbを下回った期間に相当する。
なお、転送量は、異なるタイミングで複数回測定されればよく、転送量の測定のタイミングは任意に設定され得る。また、ホストインタフェースコントローラ12は、メモリシステム1からホスト2に転送されるデータの転送量のみを測定してもよいし、ホスト2からメモリシステム1に転送されるデータの転送量のみを測定してもよい。ここでは、ホストインタフェースコントローラ12は、一例として、メモリシステム1からホスト2に転送されるデータとホスト2からメモリシステム1に転送されるデータとの合計の転送量を測定することとする。また、単位時間は、任意に設定可能である。また、ホストインタフェースコントローラ12は、単位時間当たりに受信したコマンド数を、単位時間当たりのデータの転送量と見なして測定してもよい。
CPU11は、予めメモリシステム1に内蔵されるプログラム(ファームウェアプログラム)に基づいて動作するプロセッサである。ファームウェアプログラムは、例えばNANDメモリ20の所定位置に格納されている。CPU11は、メモリシステム1の起動時に、NANDメモリ20からRAM13にファームウェアプログラムをロードする。そして、CPU11は、RAM13にロードされたファームウェアプログラムを実行する。CPU11は、ファームウェアプログラムに従って、メモリコントローラ10の種々の機能を実現する。
特に、CPU11は、ホスト2とNANDメモリ20との間のデータ転送の性能を制御する。データ転送の性能は、メモリシステム1の消費電力と相関関係を有する。例えば、データ転送の性能が低減せしめられると、メモリシステム1の消費電力が低減され、データ転送の性能が高められると、メモリシステム1の消費電力が増加する。実施形態では、消費電力を効率的に低減するために、データ転送の性能制御に関する4つの状態が定義される。状態は、モードと換言され得る。即ち、メモリコントローラ10は、4つのモードで動作し得る。CPU11は、リングバッファ131に記録された測定値と、カウント値132と、に基づいて、状態間の遷移を実行する。そして、CPU11は、状態に応じて性能レベルを決定する。
性能レベルは、メモリシステム1のデータ転送の性能の設定値を表す。メモリシステム1のデータ転送の性能とは、即ち、メモリコントローラ10のホスト2とNANDメモリ20との間のデータ転送の性能である。性能レベルは、性能が最大限に抑制された状態において転送可能な最大の量を最小値とし、性能が全く抑制されていない状態において転送可能な最大の量を最大値とする範囲内で設定可能である。なお、性能レベルは、必ずしもデータの転送量で表現されていなくてもよい。性能レベルは、正規化された量で表現されてもよい。
図3は、4つの状態を示す図である。本図に示されるように、未制御状態、アイドル制御状態、アクティブ制御状態、およびアイドル遷移状態が定義されている。
未制御状態は、データ転送の性能の抑制が全く行われない状態(モード)である。未制御状態では、メモリコントローラ10は、ホスト2とNANDメモリ20との間のデータ転送を、メモリシステム1の最大の性能で実行することができる。メモリシステム1の起動直後においては、CPU11は、未制御状態を設定する。未制御状態では、CPU11は、設定可能な範囲内の最大値を性能レベルとして設定する。
アクティブ制御状態は、ホスト2の処理能力に対応した性能でホスト2とNANDメモリ20との間のデータ転送が実行される状態(モード)である。ホスト2の処理能力とは、ホスト2のデータの転送能力である。
ここでは一例として、CPU11は、アクティブ制御状態では、リングバッファ131に記録されたN個の測定値のうちの最大の測定値(Tmaxとする)を、ホスト2の処理能力を表す量として見なす。そして、CPU11は、Tmaxに所定の定数Constを乗算し、乗算によって得られた値を、メモリシステム1の性能の性能レベルとする。定数Constは、1より若干大きい値(例えば1.2など)である。これにより、性能レベルは、ホスト2の処理能力に若干のマージンを加えた値に設定される。
なお、アクティブ制御状態での性能レベルの決定方法はこれに限定されない。例えば、CPU11は、Tmaxに所定の正の定数を加算して得られる値を性能レベルとして設定してもよい。または、CPU11は、リングバッファ131に記録された所定個の測定値に対し、微分、積分、2階微分、平均化、平滑化、などの任意の演算を行って、ホスト2の処理の能力に応じた性能レベルを演算してもよい。
アイドル制御状態は、性能が最大限に抑制された状態(モード)である。アイドル制御状態では、CPU11は、設定可能な範囲内の最小値を性能レベルのレベル値として設定する。即ち、メモリコントローラ10は、アイドル制御状態では、メモリシステム1のデータ転送の性能を最低のレベルに制御する。
アイドル遷移状態は、アクティブ制御状態からアイドル制御状態に至る際の準備段階として用意された状態(モード)である。
なお、メモリコントローラ10は、図3に示されるように、未制御状態からアクティブ制御状態またはアイドル制御状態に遷移することができる。また、メモリコントローラ10は、アクティブ制御状態からアイドル遷移状態に遷移することができる。また、メモリコントローラ10は、アイドル遷移状態からアクティブ制御状態またはアイドル制御状態に遷移することができる。また、メモリコントローラ10は、アイドル制御状態からアクティブ制御状態に遷移することができる。また、メモリコントローラ10は、アイドル制御状態から未制御状態に遷移することができる。各遷移の条件については後述する。
CPU11は、性能レベルを電力制御部16に送信する。電力制御部16は、データ転送の性能を、CPU11から受信した性能レベルに制御する。データ転送の性能を抑制するための方法としては、任意の方法が採用され得る。
例えば、電力制御部16は、クロックコントローラ15に、各電子部品に供給されるクロックの周波数の変更を指示する。電力制御部16は、メモリコントローラ10を動作させるクロックの周波数を変更してもよいし、NANDメモリ20を動作させるクロックの周波数を変更してもよい。クロックの供給先の電子部品は、供給されるクロックの周波数が低下せしめられることで、動作速度が低下し、データ転送の性能が抑制される。他の条件が同一である場合においては、電子部品に供給されるクロックの周波数が小さいほど、データ転送の性能が抑制される。
別の例では、電力制御部16は、NANDメモリ20の並列動作数を変更する。図1の例に従えば、メモリコントローラ10は、4つのチャネルを同時に制御することで、それぞれ異なるチャネルに接続された4つのメモリチップ21を並列に動作させることができる。電力制御部16は、同時に制御するチャネルの数を例えば4つから1〜3つに減らすことによって、並列にアクセスされるメモリチップ21の数を減らすことができる。他の条件が同一である場合においては、並列にアクセスされるメモリチップ21の数が減少すると、データ転送の性能が抑制される。
なお、並列動作数は、同時に制御されるチャネルの数に限定されない。電力制御部16は、バンクインターリーブの実行/非実行を切り替えてもよい。バンクインターリーブによれば、それぞれ異なるチャネルに含まれる複数のメモリチップ21によって1つのバンクが構成される。例えば、4つのメモリチップ21a、21e、21i、21mは、1つのバンクを構成し、4つのメモリチップ21b、21f、21j、21nは、他のバンクを構成する。メモリコントローラ10は、1つのバンクにアクセスしている最中に、他のバンクに対してデータまたはコマンドの送受信を行うことができる。このように、メモリコントローラ10は、バンクインターリーブによって、同一のチャネルに属する複数のメモリチップ21に並列にアクセスすることが可能である。電力制御部16がバンクインターリーブを停止することによって、並列にアクセスされるメモリチップ21の数が減少する。その結果、データ転送の性能が抑制される。
電力制御部16は、例えば、性能レベルのとりうる値ごとにクロックの周波数と並列動作数とを規定したテーブルを記憶している。そのテーブルによれば、性能レベルが大きいほどデータ転送の性能が高くなるように、クロックの周波数と並列動作数とが規定されている。電力制御部16は、性能レベルを受信すると、受信した性能レベルに対応したクロックの周波数と並列動作数とをテーブルから取得する。そして、電力制御部16は、取得したクロックの周波数および並列動作数を設定する。
次に、図4〜図8を参照して、実施形態のメモリシステム1の動作を説明する。
図4は、起動時のメモリシステム1の動作の一例を示すフローチャートである。本図に示されるように、メモリシステム1が起動されると(S101)、CPU11は、未制御状態で性能制御を実行する(S102)。そして、起動直後における状態の設定動作が完了する。
図5は、未制御状態でのメモリシステム1の動作の一例を示すフローチャートである。本図に示されるように、未制御状態では、CPU11は、性能レベルとして最大値を設定する(S201)。性能レベルは、電力制御部16に送信され、電力制御部16は、データ転送の性能を性能レベルに制御する。即ち、電力制御部16は、データ転送の性能を最大にする。例えば、電力制御部16は、各電子部品に供給されるクロックの周波数を設定可能な範囲内の最大値に設定し、NANDメモリ20の並列動作数を設定可能な範囲内の最大値に設定する。
続いて、ホストインタフェースコントローラ12は、単位時間当たりのデータの転送量を測定する(S202)。なお、メモリシステム1が他の状態に遷移しない限り、S202の処理は、所定の時間間隔で繰り返される。
S202の処理の後、ホストインタフェースコントローラ12は、転送量の測定値が閾値Taを上回ったか否かを判定する(S203)。転送量の測定値が閾値Taを上回った場合(S203、Yes)、ホストインタフェースコントローラ12は、その測定値をリングバッファ131に記録する(S204)。
CPU11は、リングバッファ131に保持されている測定値の数(記録数)を監視している。CPU11は、測定値の記録数が閾値Nthを上回ったか否かを判定する(S205)。ただし、閾値Nthは、リングバッファ131が備える領域133の数(即ちN)より小さい値である。測定値の記録数が閾値Nthを上回った場合(S205、Yes)、CPU11は、性能制御の状態を未制御状態からアクティブ制御状態に遷移させ(S206)、未制御状態での動作が終了する。
転送量の測定値が閾値Taを上回っていない場合(S203、No)、ホストインタフェースコントローラ12は、転送量の測定値が閾値Tbを下回ったか否かを判定する(S207)。転送量の測定値が閾値Tbを下回った場合(S207、Yes)、ホストインタフェースコントローラ12は、カウント値132を1だけインクリメントする(S208)。
CPU11は、カウント値132を監視しており、カウント値132が閾値Cthを上回ったか否かを判定する(S209)。カウント値132が閾値Cthを上回った場合(S209、Yes)、CPU11は、カウント値132をゼロでリセットし(S210)、性能制御の状態を未制御状態からアイドル制御状態に遷移させ(S211)、未制御状態での動作が終了する。
転送量の測定値が閾値Tbを下回っていない場合(S207、No)、ホストインタフェースコントローラ12は、カウント値132をゼロでリセットする(S212)。
測定値の記録数が閾値Nthを上回っていない場合(S205、No)、またはカウント値132が閾値Cthを上回っていない場合(S209、No)、またはS212の処理の後、S202の処理が再び実行される。
なお、比較の処理(S203、S205、S207、S209)において、閾値と比較対象の量(転送量の測定値、測定値の記録数、またはカウント値)とが等しい場合の処理は、上記の説明に限定されない。例えば、S203の判定処理において、転送量の測定値が閾値Taと等しい場合、メモリコントローラ10は、S207の処理ではなくS204の処理を実行してもよい。また、S205の判定処理において、測定値の記録数が閾値Nthと等しい場合、メモリコントローラ10は、S202の処理ではなくS206の処理を実行してもよい。また、S207の判定処理において、転送量の測定値が閾値Tbと等しい場合、メモリコントローラ10は、S212の処理ではなくS208の処理を実行してもよい。また、S209の判定処理において、カウント値132が閾値Cthと等しい場合、メモリコントローラ10は、S202の処理ではなくS210の処理を実行してもよい。
このように、未制御状態では、メモリコントローラ10は、転送量の測定値と閾値Taとの比較に基づいてアクティブ制御状態に移行する。具体的には、メモリコントローラ10は、測定値が閾値Taを上回った場合、その測定値をリングバッファ131に記録し、リングバッファ131に記録された測定値の数が閾値Nthを上回った場合、アクティブ制御状態に移行する。
また、未制御状態では、メモリコントローラ10は、転送量の測定値と閾値Tbとの比較に基づいてアイドル制御状態に移行する。具体的には、メモリコントローラ10は、所定の回数(即ち所定の期間)、連続して得られたすべての測定値が閾値Tbを下回った場合、アイドル制御状態に移行する。
図6は、アクティブ制御状態でのメモリシステム1の動作の一例を示すフローチャートである。本図に示されるように、アクティブ制御状態では、CPU11は、リングバッファ131に格納されている複数の測定値のうちの最大値(Tmax)を取得する(S301)。そして、CPU11は、Const*Tmaxを性能レベルとして設定する(S302)。ただし、Constは、1より大きい定数である。性能レベルは、電力制御部16に送信され、電力制御部16は、データ転送の性能を性能レベルに制御する。
続いて、ホストインタフェースコントローラ12は、単位時間当たりのデータの転送量を測定する(S303)。なお、メモリシステム1が他の状態に遷移しない限り、S303の処理は、所定の時間間隔で繰り返される。
S303の処理の後、ホストインタフェースコントローラ12は、転送量の測定値が閾値Taを上回ったか否かを判定する(S304)。転送量の測定値が閾値Taを上回った場合(S304、Yes)、ホストインタフェースコントローラ12は、その測定値をリングバッファ131に記録する(S305)。そして、S301の処理が再び実行される。
転送量の測定値が閾値Taを上回っていない場合(S304、No)、ホストインタフェースコントローラ12は、CPU11に通知する。通知を受けたCPU11は、性能制御の状態をアクティブ制御状態からアイドル遷移状態に遷移させ(S306)、アクティブ制御状態での動作が終了する。
なお、S304の判定処理において、転送量の測定値が閾値Taと等しい場合、メモリコントローラ10は、S306の処理ではなくS305の処理を実行してもよい。
このように、アクティブ制御状態では、メモリコントローラ10は、転送量の測定値と閾値Taとの比較に基づいてアイドル遷移状態に移行する。具体的には、メモリコントローラ10は、転送量の測定値が閾値Taを下回った場合、アイドル遷移状態に移行する。
図7は、アイドル遷移状態でのメモリシステム1の動作の一例を示すフローチャートである。本図に示されるように、アイドル遷移状態では、ホストインタフェースコントローラ12は、単位時間当たりのデータの転送量を測定する(S401)。そして、ホストインタフェースコントローラ12は、転送量の測定値が閾値Taを上回ったか否かを判定する(S402)。転送量の測定値が閾値Taを上回った場合(S402、Yes)、ホストインタフェースコントローラ12は、CPU11に通知する。通知を受けたCPU11は、性能制御の状態をアイドル遷移状態からアクティブ制御状態に遷移させ(S403)、アイドル遷移状態での動作が終了する。
転送量の測定値が閾値Taを上回っていない場合(S402、No)、ホストインタフェースコントローラ12は、転送量の測定値が閾値Tbを下回ったか否かを判定する(S404)。転送量の測定値が閾値Tbを下回った場合(S404、Yes)、ホストインタフェースコントローラ12は、カウント値132を1だけインクリメントする(S405)。
CPU11は、カウント値132が閾値Cthを上回ったか否かを判定する(S406)。カウント値132が閾値Cthを上回った場合(S406、Yes)、CPU11は、カウント値132をゼロでリセットし(S407)、性能制御の状態をアイドル遷移制御状態からアイドル制御状態に遷移させ(S408)、アイドル遷移状態での動作が終了する。
転送量の測定値が閾値Tbを下回っていない場合(S404、No)、ホストインタフェースコントローラ12は、カウント値132をゼロでリセットする(S409)。S409の処理の後、またはカウント値132が閾値Cthを上回っていない場合(S406、No)、S401の処理が再び実行される。
なお、S402の判定処理において、転送量の測定値が閾値Taと等しい場合、メモリコントローラ10は、S404の処理ではなくS403の処理を実行してもよい。また、S404の判定処理において、転送量の測定値が閾値Tbと等しい場合、メモリコントローラ10は、S409の処理ではなくS405の処理を実行してもよい。また、S406の判定処理において、カウント値132が閾値Cthと等しい場合、メモリコントローラ10は、S401の処理ではなくS407の処理を実行してもよい。
このように、アイドル遷移状態では、メモリコントローラ10は、転送量の測定値と閾値Taとの比較に基づいてアクティブ制御状態に移行する。具体的には、メモリコントローラ10は、転送量の測定値が閾値Taを上回った場合、アクティブ制御状態に移行する。
また、メモリコントローラ10は、転送量の測定値と閾値Tbとの比較に基づいてアイドル制御状態に移行する。具体的には、メモリコントローラ10は、転送量の測定値が閾値Tbを下回った場合、アイドル制御状態に移行する。
図8は、アイドル制御状態でのメモリシステム1の動作の一例を示すフローチャートである。本図に示されるように、アイドル制御状態では、CPU11は、性能レベルとして、設定可能な範囲内の最小値を設定する(S501)。性能レベルは、電力制御部16に送信され、電力制御部16は、データ転送の性能を性能レベルに制御する。
続いて、ホストインタフェースコントローラ12は、単位時間当たりのデータの転送量を測定する(S502)。そして、ホストインタフェースコントローラ12は、転送量の測定値が閾値Taを上回ったか否かを判定する(S503)。転送量の測定値が閾値Taを上回った場合(S503、Yes)、ホストインタフェースコントローラ12は、その測定値をリングバッファ131に記録する(S504)。
CPU11は、測定値の記録数が閾値Nthを上回ったか否かを判定する(S505)。測定値の記録数が閾値Nthを上回った場合(S505、Yes)、CPU11は、性能制御の状態をアイドル制御状態からアクティブ制御状態に遷移させ(S506)、アイドル制御状態での動作が終了する。
転送量の測定値が閾値Taを上回っていない場合(S503、No)、ホストインタフェースコントローラ12は、転送量の測定値が閾値Tbを上回ったか否かを判定する(S507)。転送量の測定値が閾値Tbを上回った場合(S507、Yes)、ホストインタフェースコントローラ12は、CPU11に通知する。通知を受けたCPU11は、性能制御の状態をアイドル制御状態から未制御状態に遷移させ(S508)、アイドル制御状態での動作が終了する。
測定値の記録数が閾値Nthを上回っていない場合(S505、No)、または転送量の測定値が閾値Tbを上回っていない場合(S507、No)、S502の処理が再び実行される。
なお、S503の判定処理において、転送量の測定値が閾値Taと等しい場合、メモリコントローラ10は、S507の処理ではなくS504の処理を実行してもよい。また、S505の判定処理において、測定値の記録数が閾値Nthと等しい場合、メモリコントローラ10は、S502の処理ではなくS506の処理を実行してもよい。また、S507の判定処理において、転送量の測定値が閾値Tbと等しい場合、メモリコントローラ10は、S502の処理ではなくS508の処理を実行してもよい。
このように、アイドル制御状態では、メモリコントローラ10は、少なくとも転送量の測定値と閾値Taとの比較に基づいてアクティブ制御状態に移行する。具体的には、転送量の測定値が閾値Taを上回り、かつ、リングバッファ131における測定値の記録数が閾値Nthを上回っている場合に、メモリコントローラ10は、アクティブ制御状態に移行する。
また、アイドル制御状態では、メモリコントローラ10は、少なくとも転送量の測定値と閾値Tbとの比較に基づいて未制御状態に移行する。具体的には、転送量の測定値が閾値Tbを上回り、かつ、リングバッファ131における測定値の記録数が閾値Nthを下回っている場合に、メモリコントローラ10は、未制御状態に移行する。
図9は、性能レベルと測定値(即ち実際の転送量)との推移の一例を示す図である。本図の横軸は、起動からの経過時間を示している。起動直後からt1まではメモリシステム1は未制御状態にあり、メモリコントローラ10は、最大の性能で動作することができる。ここでは、メモリコントローラ10が最大の性能を発揮した場合においては、メモリコントローラ10は、「100」の転送量でデータ転送を実行することが可能であることとしている。即ち、起動直後からt1までは、性能レベルは「100」で固定されている。
t1においては、測定値の記録数が閾値Nthに到達することで、メモリコントローラ10がアクティブ制御状態に遷移する。そして、アクティブ制御状態に遷移後、t2において、メモリコントローラ10は、実際の転送量(ここでは「40」)に対応した性能レベル(ここでは「60」)に性能を抑制する。即ち、メモリコントローラ10は、アクティブ制御状態において、ホスト2の処理能力よりも大きく、かつ自身の最大の性能よりも小さい性能で、データ転送を実行する。
t2〜t3においては、実際の転送量の増加に応じて、性能レベルが「90」付近まで引き上げられている。
t3の後、実際の転送量が減少している。しかしながら、アクティブ性能状態においては、リングバッファ131に格納されたN個の測定値のうちの最大値に依存して変動する。よって、時刻t3において実際の転送量が減少してからN個の測定値の全てが書き換わるt4までの間、性能レベルは「90」付近で一定となる。その後、性能レベルは「75」付近まで減少する(t5)。
t6において実際の転送量がゼロになると、メモリシステム1がアイドル遷移状態に移行する。アイドル遷移状態においては、性能レベルはアイドル遷移状態に移行した際の値である「75」付近から変更されない。よって、アイドル遷移状態において実際の転送量が急増した場合であっても、メモリコントローラ10は、「75」までの性能でデータ転送を実行することができる。
t6において実際の転送量がゼロになった後、時刻t7においてカウント値132がCthに至ると、メモリコントローラ10は、アイドル制御状態に遷移する。t7において、メモリコントローラ10は、最小の性能レベル(ここでは20)まで性能を抑制する。
以上述べたように、メモリコントローラ10は、アクティブ制御状態において、ホスト2の転送能力に応じて性能レベルを演算し、自身のデータ転送の性能を性能レベルに制御する。
例えば、ホスト2の処理能力がメモリシステム1のデータ転送の能力より低い場合を考える。メモリコントローラ10は上述の構成を備えているので、ホスト2は、メモリシステム1に対して最大の処理能力を発揮することができる。一方、メモリシステム1は、上述の構成により、ホスト2の処理能力に応じて自身の性能を抑制している。よって、メモリシステム1の消費電力は、メモリシステム1が最大の性能を発揮する場合に比べて低減される。つまり、メモリシステム1は、必要な性能を確保しつつ消費電力を低減することが可能であるので、利便性が高い。
また、メモリコントローラ10は、上述の構成を備えていることから、アクティブ制御状態において、自身の最大の性能よりも小さく、かつ、ホスト2の処理能力よりも大きな性能で、データ転送を実行することができる。
よって、メモリシステム1は、必要な性能を確保しつつ消費電力を低減することが可能となる。
また、メモリコントローラ10は、少なくとも転送量の測定値と閾値Tbとの比較に基づいて、アクティブ制御状態からアイドル遷移状態を経由してアイドル制御状態に遷移する。メモリコントローラ10は、アイドル制御状態では、自身の性能を最低のレベルに制御する。
よって、メモリシステム1は、実際の転送量が著しく減少した場合には、消費電力を最大限に抑制することができる。
また、メモリコントローラ10は、少なくとも転送量の測定値と閾値Taとの比較に基づいて、アイドル制御状態からアクティブ制御状態に遷移する。
よって、メモリシステム1は、実際の転送量が増加した場合には、アクティブ制御状態に復帰することが可能である。
なお、メモリコントローラ10は、アクティブ制御状態からアイドル遷移状態を経由してアイドル制御状態に遷移する。アクティブ制御状態において転送量の測定値が閾値Taを下回った場合に、メモリコントローラ10は、アイドル遷移状態に遷移する。アイドル遷移状態において転送量の測定値が閾値Taを上回った場合に、メモリコントローラ10は、アクティブ制御状態に遷移する。アイドル遷移状態において転送量の測定値が継続して閾値Tbを下回った場合に、メモリコントローラ10は、アイドル制御状態に遷移する。
アイドル遷移状態が設けられていることによって、アクティブ制御状態とアイドル遷移状態との間で頻繁に状態が遷移することが防止される。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 メモリシステム、2 ホスト、10 メモリコントローラ、11 CPU、12 ホストインタフェースコントローラ、13 RAM、14 NANDコントローラ、15 クロックコントローラ、16 電力制御部、20 NANDメモリ、21 メモリチップ、30 電源回路、131 リングバッファ、132 カウント値。

Claims (11)

  1. ホストに接続可能なメモリシステムであって、
    不揮発性の第1メモリと、
    前記ホストと前記第1メモリとの間のデータ転送を実行するコントローラ回路と、
    を備え、
    前記コントローラ回路は、前記ホストと前記メモリシステムとの間のデータの転送レートを測定し、前記ホストによる処理能力に対応した性能レベルを前記転送レートに基づいて演算し、前記データ転送の性能を前記性能レベルに制御する、第1のモードで動作する、
    メモリシステム。
  2. 前記コントローラ回路は、前記メモリシステムのデータ転送の最大性能よりも小さく、かつ、前記転送レートよりも大きい値を前記性能レベルとして設定する、
    請求項1に記載のメモリシステム。
  3. 前記第1のモードにおいて、前記コントローラ回路は、前記転送レートと第1の閾値との比較に基づいて第2のモードに遷移し、
    前記第2のモードにおいて、前記コントローラ回路は、前記データ転送の性能を最低のレベルに制御する、
    請求項1に記載のメモリシステム。
  4. 前記第2のモードにおいて、前記コントローラ回路は、前記転送レートと前記第1の閾値よりも大きい第2の閾値との比較に基づいて前記第1のモードに遷移する、
    請求項3に記載のメモリシステム。
  5. 前記第1のモードにおいて、前記コントローラ回路は、前記転送レートが前記第1の閾値よりも大きい第2の閾値を下回った場合に第3のモードに遷移し、
    前記第3のモードにおいて、前記コントローラ回路は、前記転送レートが前記第2の閾値を上回った場合に前記第1のモードに遷移し、
    前記第3のモードにおいて、前記コントローラ回路は、前記転送レートが継続して前記第1の閾値を下回った場合、前記第2のモードに遷移する、
    請求項3に記載のメモリシステム。
  6. 前記コントローラ回路は、前記転送レートの測定を異なるタイミングで複数回実行し、測定毎に前記転送レートの測定値を取得し、前記複数回の測定によって得られた複数の測定値のうちの最大値よりも大きい値を前記性能レベルとして設定する、
    請求項2に記載のメモリシステム。
  7. 第2メモリをさらに備え、
    前記コントローラ回路は、各測定において前記転送レートの測定値が第1の閾値を上回った場合、前記測定値を前記第2メモリに記録し、前記転送レートの測定値が前記第1の閾値を下回った場合、前記測定値を前記第2メモリに記録せず、前記第2メモリに記録された1以上の測定値のうちの最大値よりも大きい値を前記性能レベルとして設定する、
    請求項6に記載のメモリシステム。
  8. 前記コントローラ回路は、前記最大値に1より大きい定数を乗算し、乗算によって得られた値を前記性能レベルとして設定する、
    請求項7に記載のメモリシステム。
  9. 前記第1メモリは、複数のメモリチップを備え、
    前記コントローラ回路は、前記複数のメモリチップのうちの並列にアクセスするメモリチップの数を制御することによって、前記データ転送の能力を前記性能レベルに制御する、
    請求項1に記載のメモリシステム。
  10. 前記コントローラ回路は、前記第1メモリまたは前記コントローラ回路を駆動するクロックの周波数を制御することによって、前記データ転送の能力を前記性能レベルに制御する、
    請求項1に記載のメモリシステム。
  11. 不揮発性のメモリとホストとの間のデータ転送を制御する方法であって、
    前記ホストとの間のデータの転送レートを測定するステップと、
    前記ホストによる処理能力に対応した性能レベルを前記転送レートに基づいて演算するステップと、
    前記データ転送の性能を前記性能レベルに制御するステップと、
    を含む方法。
JP2017177347A 2017-09-15 2017-09-15 メモリシステムおよび方法 Abandoned JP2019053522A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017177347A JP2019053522A (ja) 2017-09-15 2017-09-15 メモリシステムおよび方法
US15/896,154 US20190087299A1 (en) 2017-09-15 2018-02-14 Memory system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017177347A JP2019053522A (ja) 2017-09-15 2017-09-15 メモリシステムおよび方法

Publications (1)

Publication Number Publication Date
JP2019053522A true JP2019053522A (ja) 2019-04-04

Family

ID=65721097

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017177347A Abandoned JP2019053522A (ja) 2017-09-15 2017-09-15 メモリシステムおよび方法

Country Status (2)

Country Link
US (1) US20190087299A1 (ja)
JP (1) JP2019053522A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11709617B2 (en) * 2020-08-19 2023-07-25 Micron Technology, Inc. Multi-stage memory device performance notification

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8593470B2 (en) * 2005-02-24 2013-11-26 Ati Technologies Ulc Dynamic memory clock switching circuit and method for adjusting power consumption
JP5119882B2 (ja) * 2007-11-21 2013-01-16 富士通株式会社 メモリクロック設定機能を有する情報処理装置およびメモリクロック設定方法
JP2011233114A (ja) * 2010-04-30 2011-11-17 Toshiba Corp メモリシステム
JP2019046045A (ja) * 2017-08-31 2019-03-22 東芝メモリ株式会社 記憶装置及び通信制御方法

Also Published As

Publication number Publication date
US20190087299A1 (en) 2019-03-21

Similar Documents

Publication Publication Date Title
US11422722B2 (en) Intelligent wide port PHY usage
KR102649322B1 (ko) 메모리 장치, 메모리 시스템, 및 메모리 장치의 동작 방법
KR102283511B1 (ko) 솔리드 스테이트 드라이브들의 전력 소비를 컨트롤하기 위해 동적으로 불휘발성 메모리 오퍼레이션을 스케쥴링하는 메모리 장치 및 그것의 동작 방법
US9183137B2 (en) Storage control system with data management mechanism and method of operation thereof
US10079048B2 (en) Adjusting access of non-volatile semiconductor memory based on access time
US9229525B2 (en) Adaptive latency tolerance for power management of memory bus interfaces
JP5989574B2 (ja) 計算機、メモリ管理方法およびプログラム
US10539988B2 (en) Memory system
US11074011B2 (en) Solid state drive latency estimation interface for host performance tuning
KR20180031289A (ko) 스토리지 장치 및 상기 스토리지 장치의 동작 방법
JP5159817B2 (ja) メモリシステム
KR101924022B1 (ko) 메모리 시스템 및 그것의 페이지 교체 방법
KR20120112965A (ko) 비휘발성 메모리 장치, 이를 스왑 메모리로 이용하는 데이터 처리 장치, 및 이를 이용한 스왑 방법
KR102553539B1 (ko) 고체 상태 드라이브에서 가비지 수집 리소스 할당을 적응시키는 메커니즘
JP2011227664A (ja) メモリシステム
US20200293221A1 (en) Storage device and computing device including storage device
JP7332406B2 (ja) メモリシステム
US20170285944A1 (en) Perform read or write on a non-volatile memory having a pending read or write based on temperature thereof
US20150193159A1 (en) Storage device including nonvolatile semiconductor memory and managing method thereof
KR100837268B1 (ko) 메모리 카드에서의 파워다운모드 제어장치 및 방법
TW201926055A (zh) 指令處理方法及使用所述方法的儲存控制器
US10572183B2 (en) Power efficient retraining of memory accesses
US10847205B2 (en) Memory system
JP6640776B2 (ja) メモリシステム
JP2019053522A (ja) メモリシステムおよび方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180905

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191122

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20200507