JP5923844B2 - ソリッドステートドライブのメモリ装置への論理的アドレスの適応マッピング - Google Patents

ソリッドステートドライブのメモリ装置への論理的アドレスの適応マッピング Download PDF

Info

Publication number
JP5923844B2
JP5923844B2 JP2014530971A JP2014530971A JP5923844B2 JP 5923844 B2 JP5923844 B2 JP 5923844B2 JP 2014530971 A JP2014530971 A JP 2014530971A JP 2014530971 A JP2014530971 A JP 2014530971A JP 5923844 B2 JP5923844 B2 JP 5923844B2
Authority
JP
Japan
Prior art keywords
memory
memory unit
mapping
performance characteristics
data
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
Application number
JP2014530971A
Other languages
English (en)
Other versions
JP2014530420A (ja
Inventor
エラン サンデル
エラン サンデル
オレン ゴロヴ
オレン ゴロヴ
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2014530420A publication Critical patent/JP2014530420A/ja
Application granted granted Critical
Publication of JP5923844B2 publication Critical patent/JP5923844B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • 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
    • G06F11/3433Recording 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 for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

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

Description

本発明は、一般的に、メモリ装置に関するもので、より詳細には、論理的/物理的アドレスマッピングの方法及びシステムに関する。
関連出願の相互参照:本出願は、2011年9月20日に出願された米国プロビジョナル特許出願第61/536,597の利益を主張するもので、その開示は、参考としてここに援用される。
フラッシュ装置のような不揮発性メモリ装置へのデータ記憶は、論理的アドレスをメモリの物理的記憶位置へ変換することをしばしば含む。論理的アドレスを物理的アドレスへマッピングするための種々の技術が知られている。例えば、参考としてここに援用する米国特許第7,631,138号は、ホスト使用特性に基づいてフラッシュメモリアドレスマッピングの適応モードスイッチングを行う技術を説明している。幾つかの実施形態において、コントローラは、ホストプログラミング及びコントローラデータ合併パターンに応答してデータセクタをメモリのブロック及びメタブロックへマップする仕方をスイッチングし、性能を改善すると共に消耗を減少させる。
ここに述べる本発明の一実施形態は、データ記憶方法を提供する。この方法は、複数のメモリユニットを含むメモリに記憶するため各論理的アドレスに関連したデータアイテムを受信することを含む。複数のメモリユニットに対し性能特性の各推定値が得られる。その推定値に基づき、論理的アドレスを複数のメモリユニットの各物理的記憶位置へマップするマッピングは、メモリユニットにわたり性能特性のバランスをとるように適応される。データアイテムは、その適応されたマッピングに従って物理的記憶位置に記憶される。
ある実施形態では、マッピングを適応させることは、所与のメモリユニットへマップされる論理的アドレスの合計数を変更することを含む。一実施形態において、データアイテムを記憶することは、メモリユニットに各重みを指定する重み付けラウンドロビンスケジューリングスキームに従ってメモリユニット間にデータアイテムを分配することを含み、そしてマッピングを適応させることは、1つ以上の重みを変更することを含む。この重みを変更することは、各々の異なる第1及び第2の形式のメモリアクセスコマンドに対して異なる第1及び第2の重みを所与のメモリユニットに指定することを含む。
別の実施形態では、推定値を得ることは、メモリ又はメモリユニットの製造中に複数のメモリユニットに対して性能特性を評価することを含む。それに加えて又はそれとは別に、推定値を得ることは、メモリがホストシステム内で動作している間に複数のメモリユニットに対して性能特性を評価することを含む。
ここに開示する実施形態では、マッピングを適応させることは、マッピングの初期設定に従ってメモリにデータアイテムを最初に記憶し、その後、マッピングを適応させ、その適応されたマッピングに従ってメモリにデータアイテムを記憶するように1つ以上のデータアイテムをコピーすることを含む。
種々の例示的な実施形態において、各メモリユニットの性能特性は、プログラミングに利用できるメモリユニット内のメモリブロックの各カウント、メモリユニット内の欠陥メモリブロックの各カウント、メモリユニットに適用されるメモリアクセスコマンドの各期間、メモリユニットの各読み取りエラー性能、メモリユニットの各耐久性、メモリユニットに記憶されたデータへのアクセスの各頻度、及び/又はメモリユニットにおける実行が保留となっているメモリアクセスコマンドの各カウントを表わす。
更に、本発明の一実施形態によれば、インターフェイス及びプロセッサを備えたデータ記憶装置が提供される。インターフェイスは、複数のメモリユニットを含むメモリと通信するように構成される。プロセッサは、メモリに記憶するため各論理的アドレスに関連したデータアイテムを受信し、複数のメモリユニットに対する性能特性の各推定値を得、その推定値に基づいて、論理的アドレスを複数のメモリユニット内の各物理的記憶位置へマップするマッピングを、それらメモリユニットにわたり性能特性のバランスをとるように適応させ、そしてその適応されたマッピングに従って物理的記憶位置にデータアイテムを記憶するように構成される。
又、本発明の一実施形態によれば、メモリ及びプロセッサを備えたデータ記憶装置が提供される。メモリは、複数のメモリユニットを含む。プロセッサは、メモリに記憶するため各論理的アドレスに関連したデータアイテムを受信し、複数のメモリユニットに対する性能特性の各推定値を得、その推定値に基づいて、論理的アドレスを複数のメモリユニット内の各物理的記憶位置へマップするマッピングを、それらメモリユニットにわたり性能特性のバランスをとるように適応させ、そしてその適応されたマッピングに従って物理的記憶位置にデータアイテムを記憶するように構成される。
本発明は、添付図面を参照した実施形態の以下の詳細な説明から完全に理解されるであろう。
本発明の一実施形態によるデータ記憶システムを概略的に示すブロック図である。 本発明の一実施形態による論理的/物理的アドレスマッピング方法を概略的に示すフローチャートである。
概略
複数のメモリユニットから幾つかの形式のメモリ装置が構成される。例えば、ソリッドステートドライブ(SSD)は、典型的に、フラッシュダイのような複数の不揮発性メモリダイを備えている。多数の実際的なシナリオにおいて、所与のメモリ装置内のメモリユニットは、空きメモリブロックの数、不良ブロックの数、メモリアクセスレイテンシー、エラー性能、予想耐久性、頻繁に使用されるデータ・対・稀に使用されるデータの存在、及び/又は実行が現在保留中であるコマンドの数、等の特性が互いに相違する。ある相違は、メモリユニットが製造されたときに既に存在し、そしてある相違は、ホストシステムにおけるメモリ装置の寿命の間に発生する。
ここに述べる本発明の実施形態は、データ記憶のための改良された方法及びシステムを提供する。ここに開示される技術は、複数のメモリユニットに記憶するためのデータを、個々のメモリユニットの推定特性に基づいて分散させる。
典型的なフローにおいて、メモリコントローラ又は他のプロセッサは、上述した例示的な特性のような各メモリユニットの1つ以上の特性を推定する。プロセッサは、種々のメモリユニットに記憶するための到来データを、メモリ装置にわたって特性のバランスをとるように分散させる。
例えば、プロセッサは、データに関連した仮想アドレスをメモリユニットの物理的位置へ変換する仮想的・対・物理的(V−P)アドレスマッピングを、メモリユニットの推定測定に基づいて適応させる。換言すれば、プロセッサは、メモリユニットへの論理的ブロックアドレス(LBA)の指定を推定特性に基づいて適応させる。このようにV−Pマッピングを適応させることで、プロセッサは、メモリ装置の寿命、記憶レイテンシー、又はエラー性能のような特性のバランスをとることができる。
原理的には、メモリユニットの特性を考慮せずに、V−Pマッピングを静的に又は適応式に定義することが可能である。しかしながら、そのような解決策では、おそらく、最も性能の低いメモリユニットがメモリ装置の全体的性能を支配することになる。対照的に、ここに開示する技術は、V−Pマッピングを各メモリユニットの実際の個々の特性に適応させ、その結果、メモリ装置の性能が全体的に良好なものとなる。
システムの説明
図1は、本発明の一実施形態によるデータ記憶システム20を概略的に示すブロック図である。システム20は、メモリ装置22及びホスト24を備えている。メモリ装置22は、ホスト24から記憶のためのデータを受け容れ、それをメモリに記憶し、メモリからデータを検索し、それをホストへ供給する。
種々の実施形態において、メモリ装置22は、例えば、個人用又は移動コンピューティング装置或いは企業用システムのためのデータを記憶するソリッドステートドライブ(SSD)、或いはセルラーホン、メディアプレーヤ、デジタルカメラ又は他のホストのためのデータを記憶するマイクロセキュアデジタル(μSD)カードを含む。別の実施形態では、メモリ装置22は、データが記憶及び検索される他の適当なアプリケーションに使用されると共に、他の適当なホストと共に使用される。
メモリ装置22は、複数のメモリユニット28を含む。ここに示す例では、各メモリユニット28は、複数の不揮発性アナログメモリセルより成る各フラッシュダイを含む。従って、ここでは、「メモリユニット」及び「ダイ」という語が交換可能に使用される。メモリセルは、例えば、NANDフラッシュセル、NOR又は電荷トラップフラッシュ(CTF)フラッシュセル、相変化RAM(PRAM、これは相変化メモリPCMとも称される)セル、ニトライドリードオンリメモリ(NROM)セル、強誘電性RAM(FRAM(登録商標))及び/又は磁気RAM(MRAM)セル、又は他の適当なメモリ技術を含む。
本特許出願及び特許請求の範囲の文脈において、「アナログメモリセル」という語は、電圧又は電荷のような物理的パラメータの連続的アナログ値を保持するメモリセルを記述するのに使用される。上述した形式のような、適当な形式のアナログメモリセルを使用することができる。ここに示す例では、各メモリユニット28は、NANDフラッシュセルの不揮発性メモリを含む。セルに記憶される電荷レベル及び/又はセルに書き込まれ及び読み出されるアナログ電圧又は電流は、ここでは、総体的に、アナログ値又は記憶値と称される。
メモリ装置22は、プログラミングレベルとも称される各メモリ状態をとるようにセルをプログラミングすることにより、アナログメモリセルにデータを記憶する。プログラミングレベルは、考えられるレベルの限定セットから選択され、各レベルは、ある公称記憶値に対応している。例えば、2ビット/セルMLCは、4つの考えられる公称記憶値の1つをセルに書き込むことにより4つの考えられるプログラミングレベルの1つをとるようにプログラムされる。メモリセルは、典型的に、行及び列に配列される。典型的に、所与のメモリユニットは、複数の消去ブロック(メモリブロックとも称される)、即ち一緒に消去されるメモリセルのグループを含む。
種々の実施形態において、各メモリユニット28は、パッケージされた装置又は非パッケージ型の半導体チップ又はダイを含む。一般的に、メモリ装置22は、望ましい形式及びサイズの適当な数のメモリ装置を含む。
メモリ装置22は、メモリコントローラ32を備え、このコントローラは、ホスト24からのデータを受け容れて、それをメモリユニット28に記憶すると共に、メモリユニットからデータを検索して、それをホストに与える。メモリコントローラ32は、ホスト24と通信するためのホストインターフェイス36と、メモリユニット28と通信するためのメモリインターフェイス40と、記憶され及び検索されたデータを処理するプロセッサ44とを備えている。例えば、プロセッサ44は、記憶のためのデータをエラー修正コード(ECC)でエンコードし、そしてメモリから読み取られたデータのECCをデコードする。プロセッサ44の機能は、例えば、適当な中央処理ユニット(CPU)で実行されるソフトウェアを使用し、又はハードウェア(例えば、状態マシン又は他のロジック)を使用し、又はソフトウェア及びハードウェア要素の組み合わせを使用して、実施される。
メモリコントローラ32、特に、プロセッサ44は、ハードウェアで実施される。或いは又、メモリコントローラは、適当なソフトウェアを実行するマイクロプロセッサ、又はハードウェア及びソフトウェア要素の組み合わせを含んでもよい。ある実施形態では、プロセッサ44は、ここに述べる機能を実行するようソフトウェアでプログラムされた汎用プロセッサを含む。ソフトウェアは、例えば、ネットワークを経て電子的形態でプロセッサへダウンロードされるか、或いはそれとは別に又はそれに加えて、磁気、光学又は電子メモリのような有形のメモリに設けられ及び/又は記憶されてもよい。
図1のシステム構成は、概念の明瞭化のために単純に示された例示的構成である。他の適当なメモリシステム構成を使用することもできる。例えば、ある実施形態では、2つ以上のメモリコントローラ32が同じホストに接続されてもよい。本発明の原理を理解する上で必要のない要素、例えば、種々のインターフェイス、アドレス回路、タイミング及びシーケンス回路、並びにデバッグ回路は、明瞭化のために図面から省略されている。
図1に示す例示的なシステム構成では、メモリユニット28及びメモリコントローラ32は、個別の集積回路(IC)として実施される。しかしながら、別の実施形態では、メモリユニット及びメモリコントローラは、単一のマルチチップパッケージ(MCP)又はシステムオンチップ(SoC)において個別の半導体ダイ上に一体化され、そして内部バスにより相互接続される。更に、それとは別に、1つ以上のメモリユニットが配置される同じダイ上にメモリコントローラ回路の幾つか又は全部が常駐してもよい。更に、それとは別に、メモリコントローラ32の機能の幾つか又は全部がソフトウェアで具現化されて、ホスト24又は他の形式のメモリコントローラにより実行されてもよい。ある実施形態では、ホスト24及びメモリコントローラ32は、同じ装置パッケージにおいて同じダイ又は個別のダイ上に製造されてもよい。
推定ダイ特性に基づくNANDダイへの論理的アドレスの指定
メモリ装置22において、メモリコントローラ32は、メモリユニット28にデータをページ単位で書き込むが、消去は、メモリブロック全体に適用される。データは、消去されたページのみに書き込まれ、それ故、データをその場で更新することはできない。フラッシュメモリのこの特性により、メモリコントローラ32のプロセッサ44は、典型的に、仮想的・対・物理的(V−P)アドレスマッピングスキームを適用する。V−Pマッピングを使用するときには、記憶のためのデータアイテムが、論理的ブロックアドレス(LBA)とも称される各仮想アドレスと共に、ホスト24から受け取られる。プロセッサ44は、仮想アドレスを、データを記憶すべきメモリユニット28内の各物理的記憶位置へと変換する。
従って、データアイテムを更新することは、更新されたデータアイテムを別の物理的な記憶位置へ書き込み、データの以前のバージョンを無効とマークし、そしてデータアイテムの新たな物理的記憶位置を指示するようにV−Pアドレスマッピングを動的に更新することを含む。
ある実施形態では、プロセッサ44は、個々のフラッシュダイ28の幾つかの特性を推定し、そしてその推定された特性に基づいてV−Pアドレスマッピングを適応させる。典型的に、プロセッサ44は、複数のダイにわたり特性のバランスをとるようにV−Pマッピングを適用させる。
以下のリストは、プロセッサ44が各ダイ28に対して推定する特性の幾つかの例を示している。又、このリストは、V−Pマッピングを適応させることにより各特性のバランスをとるための理論的根拠も示す。
・消去されて新たなプログラミングに利用可能なダイにおけるメモリブロックの数。典型的に、各ダイには同様の数の空きブロックがあることが望ましい。この種のバランスをとることで、メモリコントローラは、ダイ28におけるデータの記憶及び検索の並列性を最大にすることができる。
・欠陥メモリブロック(不良ブロック)の数。欠陥ブロックは、製造中又はホストシステムでの使用中に識別されて不良とマークされる。不良ブロックは、メモリ装置のオーバープロビジョニングを減少し、最終的に、データロスを引き起こすことがある。並列性を最大にするためにダイ当たりの不良ブロック数のバランスをとることが望ましい。更に、多数の不良ブロックをもつダイは、低い頻度で使用されるか、又は全く無視される。
・ダイにおいて所与の形式のメモリアクセスコマンド(例えば、プログラム、読み取り又は消去コマンド)を遂行するのに必要な期間。種々のダイにおける実行時間の差に基づいてメモリアクセスオペレーションを分配することは、全記憶レイテンシーを減少する上で役立つ。例えば、頻繁にアクセスされるデータは、高速のダイに書き込まれ、そして滅多にアクセスされないデータは、低速のダイに書き込まれる。
・ダイのエラー性能、例えば、ダイからのデータの読み出しにおいて修正されるエラーの数。種々のダイのエラー性能の差に基づいてメモリアクセスオペレーションを分散することは、全エラー確立を減少する上で助けとなる。この種のバランスをとることで、管理オーバーヘッドも減少できる。というのは、エラー傾向のあるダイは、典型的に、メモリコントローラに高い管理オーバーヘッドを招く。
・ダイの推定耐久性、例えば、ダイがその寿命の終わりに達するまでに残っているプログラミング及び消去(P/E)の予想数。耐久性は、最大値又は平均耐久性として定量化され、そして製造中に、及び/又はホストシステムにおけるメモリ装置の使用の寿命に沿って、推定される。種々のダイの予想耐久性のバランスをとることで、メモリ装置の全体的な耐久性が改善される。
・ダイにおける頻繁に使用される(ホット)データ及び/又は滅多に使用されない(コールド)データの存在。この特性のバランスをとることで、レイテンシーが減少されると共に、ユーザの経験が改善される。
・ダイにおける実行が現在保留となっているメモリアクセスコマンドの数。例えば、あまりビジーでないダイに優先権を与えることで、この特性のバランスをとると、並列性が高くなると共に、メモリ装置の全体的なレイテンシーが減少される。
上述した特性及びバランス基準は、一例として単純に選択されたものである。別の実施形態では、プロセッサ44は、他の適当なダイ特性に基づいてV−Pマッピングを適応させる。ある実施形態では、プロセッサ44は、ダイごとに複数の異なる特性を推定し、そしてそれら推定値の組み合わせに基づいてV−Pマッピングを適応させる。
各々の特性は、ダイ28又はメモリ装置22のいずれかの製造中に推定され、このケースでは、プロセッサ44は、外部ソースから推定値に関する情報を受け容れる。それに加えて又はそれとは別に、プロセッサ44は、ホストシステムにおけるメモリ装置22の動作中に所与の特性を推定又は再推定する。例えば、プロセッサ44は、製造テストから各ダイの予想耐久性の初期推定値を受け容れ、そしてホストシステムにおけるメモリ装置の動作中に耐久性を再推定する。多数の不良ブロックに対して同様のプロセスを遂行することができる。
種々の実施形態において、プロセッサ44は、V−Pマッピングを異なる仕方で適応させる。例示的な実施形態では、プロセッサ44は、重み付けラウンドロビンスケジューリングスキームを使用して、LBAを物理的記憶位置へマップする。そのようなプロセスでは、プロセッサ44は、メモリユニット28の間を繰り返し交番させる。所与の時点で、繰り返し交番順序に従い、メモリユニットの1つが、次に到来するデータアイテムを記憶する次のメモリユニットとして選択される。データアイテムを記憶のために受け取ると、プロセッサ44は、データアイテムの論理的アドレスを、現在選択されているメモリユニット内の物理的記憶位置へマップさせる。
重み付けラウンドロビンスキームを使用するとき、プロセッサ44は、各重みを各メモリユニット28に指定する。重みは、繰り返し交番順序でそのメモリユニットにデータが記憶される相対的な頻度を定義する。例えば、あるメモリユニットの重みが別のメモリユニットの重みの2倍である場合には、プロセッサ44は、典型的に、前者のメモリユニットに、後者のメモリユニットのデータ量の2倍を記憶する。
ある実施形態では、プロセッサ44は、重み付けラウンドロビンスキームに使用される重みを適応させることで(推定ダイ特性に基づいて)V−Pマッピングを適応させる。典型的に、(例えば、予想耐久性が高いか又は不良ブロックの数が少ないために)データアイテムを高い頻度で記憶するメモリユニットには大きな重みが指定され、そしてその逆のことも言える。プロセッサ44は、メモリユニットの特性のばらつきを追跡するために、時間と共に重みを変更する。ある実施形態では、プロセッサ44は、異なるメモリアクセスオペレーションに対して異なる重みを使用する。例示的な実施形態において、プロセッサ44は、異なる使用パターンに対して異なる重みを指定し、例えば、ランダム記憶に対して1組の重みを、そして順次記憶に対して別の組の重みを指定する。
図2は、本発明の一実施形態による論理的・対・物理的アドレスマッピングの方法を概略的に示すフローチャートである。この方法は、メモリコントローラ32のプロセッサ44が、特性推定ステップ50において、メモリダイ28の各特性を推定することで開始される。
推定ダイ特性に基づいて、プロセッサ44は、重み指定ステップ54において、ラウンドロビンスケジューリングスキームに使用されるべきダイ28の各重みを定義する。プロセッサ44は、マッピングステップ58において、到来データアイテムの論理的アドレスを、重みに基づいて各物理的位置へマップする。換言すれば、プロセッサ44は、重み付けラウンドロビンスケジューリングスキームにおいてLBAをダイ28へマップし、ここで、重みは、推定ダイ特性に基づいて決定される。プロセッサ44は、記憶ステップ62において、そのマッピングに基づいてデータアイテムをダイ28に記憶する。
別の実施形態では、プロセッサ44は、必ずしもラウンドロビンスケジューリングを含まない他の適当な仕方でV−Pマッピングを適応させそして適用する。
ある実施形態では、プロセッサ44は、V−Pマッピングを、記憶のために受け取ったデータアイテムにリアルタイムで適応させる。それらの実施形態では、プロセッサ44は、適応されたマッピングに基づきホスト24から受け容れられた各データアイテムを記憶する。
別の実施形態では、プロセッサ44は、オフラインバックグランドプロセスにおいてV−Pマッピングを適応させる。これらの実施形態では、プロセッサ44は、V−Pマッピングの初期設定に従って到来データアイテムを最初に記憶し、その後、V−Pマッピングを適応させ、そしてデータアイテムの少なくとも幾つかを、その適応されたV−Pマッピングに従って別の物理的記憶位置へコピーする。
例示的実施形態において、プロセッサ44は、書き込みレイテンシーを最適化するV−Pマッピング、例えば、各メモリダイ28の平均プログラミング時間に基づくマッピングに従って到来データアイテムを最初に記憶する。その後に、プロセッサ44は、読み出しレイテンシーを最適化するためのV−Pマッピングを、例えば、各メモリダイ28の平均読み出し時間に基づくマッピングへと変更する。このバックグランド技術は、プログラミング及び読み出しレイテンシーの両方を最適化する。
ここに述べた実施形態は、主として、フラッシュダイに向けられたが、ここに述べた方法及びシステムは、望ましいサイズの他の適当なメモリユニット、例えば、パッケージされた装置、又はダイ内のブロックのグループ(例えば、メモリプレーン)の特性に基づいてV−Pマッピングを適応させるのにも使用できる。
従って、以上に述べた実施形態は、一例に過ぎず、本発明は、特に図示して上述したものに限定されないことが明らかであろう。むしろ、本発明の範囲は、上述した種々の特徴の組み合わせ及びサブ組み合わせと、従来技術に開示されておらずに以上の説明を読んだときに当業者に明らかとなるその変更及び修正との両方を包含する。本特許出願に参考として援用された文書は、本出願の一体的部分とみなすべきであるが、それらの援用された文書に定義された用語が、本出願に明示的又は暗示的になされた定義と矛盾する場合には、本出願における定義だけを考慮するものとする。
20:データ記憶システム
22:メモリ装置
24:ホスト
28:メモリユニット
32:メモリコントローラ
36:ホストインターフェイス
40:メモリインターフェイス
44:プロセッサ

Claims (14)

  1. データを記憶する方法において、
    複数のメモリユニットを含むメモリに記憶するため各論理的アドレスに関連したデータアイテムを受信する段階と、
    前記複数のメモリユニットの性能特性の各推定値を得る段階であって、各メモリユニットの前記性能特性は、プログラミングに利用できる前記メモリユニット内のメモリブロックの各カウントの表示と、各メモリユニットに適用されるメモリアクセスコマンドの各期間とを含む、段階と、
    前記推定値に基づき、前記論理的アドレスを複数のメモリユニットの各物理的記憶位置へマップするマッピングを、前記メモリユニットにわたり性能特性のバランスをとるように適応させる段階であって、前記性能特性のバランスをとることは、各メモリユニットに適用されるメモリアクセスコマンドの前記各期間による決定に従って、頻繁にアクセスされるデータを高速メモリユニットに書き込み、稀にアクセスされるデータを低速メモリユニットに書き込むことを含む、段階と、
    前記データアイテムを、前記適応されたマッピングに従って物理的記憶位置に記憶する段階と、を含み、
    前記データアイテムを記憶する段階は、前記メモリユニットに各重みを指定する重み付けラウンドロビンスケジューリングスキームに従って前記メモリユニット間に前記データアイテムを分配することを含み、
    前記マッピングを適応させる段階は、1つ以上の重みを変更することを含み、
    前記重みを変更することは、各々の異なる第1及び第2の形式のメモリアクセスコマンドに対して異なる第1及び第2の重みを所与のメモリユニットに指定することを含み、
    前記メモリアクセスコマンドの形式は、読み取り、書き込み及び消去コマンドを含む、方法。
  2. マッピングを適応させる前記段階は、所与のメモリユニットへマップされる論理的アドレスの合計数を変更することを含む、請求項1に記載の方法。
  3. 推定値を得る前記段階は、メモリ又はメモリユニットの製造中に前記複数のメモリユニットに対する性能特性を評価することを含む、請求項1に記載の方法。
  4. 推定値を得る前記段階は、メモリがホストシステム内で動作している間に前記複数のメモリユニットに対する性能特性を評価することを含む、請求項1に記載の方法。
  5. マッピングを適応させる前記段階は、マッピングの初期設定に従ってメモリにデータアイテムを最初に記憶し、その後に、マッピングを適応させ、その適応されたマッピングに従ってメモリにデータアイテムを記憶するように1つ以上のデータアイテムをコピーすることを含む、請求項1に記載の方法。
  6. 各メモリユニットの性能特性は、メモリユニット内の欠陥メモリブロックの各カウントの表示を含む、請求項1に記載の方法。
  7. 複数のメモリユニットを含むメモリと通信するように構成されたメモリインターフェイスと、
    前記メモリインターフェイスに接続されたプロセッサであって、
    メモリに記憶するため各論理的アドレスに関連したデータアイテムを受信し、
    複数のメモリユニットの性能特性の各推定値を得、各メモリユニットの前記性能特性は、プログラミングに利用できる前記メモリユニット内のメモリブロックの各カウントを表し、各メモリユニットの前記性能特性は、各メモリユニットに適用されるメモリアクセスコマンドの各期間を含み、
    その推定値に基づいて、論理的アドレスを複数のメモリユニット内の各物理的記憶位置へマップするマッピングを適応させ、それにより、前記メモリユニットにわたり性能特性のバランスをとり、前記性能特性のバランスをとることは、各メモリユニットに適用されるメモリアクセスコマンドの前記各期間による決定に従って、頻繁にアクセスされるデータを高速メモリユニットに書き込み、稀にアクセスされるデータを低速メモリユニットに書き込むことを含み、
    その適応されたマッピングに従って物理的記憶位置にデータアイテムを記憶し、前記データアイテムを記憶することは、前記メモリユニットに各重みを指定する重み付けラウンドロビンスケジューリングスキームに従って前記メモリユニット間に前記データアイテムを分配することを含み、前記マッピングを適応させることは、1つ以上の重みを変更することを含み、前記重みを変更することは、各々の異なる第1及び第2の形式のメモリアクセスコマンドに対して異なる第1及び第2の重みを所与のメモリユニットに指定することを含み、前記メモリアクセスコマンドの形式は、読み取り、書き込み及び消去コマンドを含む、ように構成されたプロセッサと、
    を備えたデータ記憶装置。
  8. 前記プロセッサは、メモリがホストシステム内で動作している間に複数のメモリユニットに対する性能特性を評価するように構成された、請求項に記載の装置。
  9. 前記プロセッサは、マッピングの初期設定に従ってメモリにデータアイテムを最初に記憶し、その後に、マッピングを適応させ、その適応されたマッピングに従ってメモリにデータアイテムを記憶するように1つ以上のデータアイテムをコピーするよう構成された、請求項に記載の装置。
  10. 各メモリユニットの性能特性は、メモリユニット内の欠陥メモリブロックの各カウントの表示を含む、請求項に記載の装置。
  11. 各メモリユニットの性能特性は、メモリユニットの各読み取りエラー性能の表示を含む、請求項に記載の装置。
  12. 各メモリユニットの性能特性は、メモリユニットの各耐久性を表わす、請求項に記載の装置。
  13. 各メモリユニットの性能特性は、メモリユニットに記憶されたデータへのアクセスの各頻度の表示を含む、請求項に記載の装置。
  14. 各メモリユニットの性能特性は、メモリユニットにおける実行が保留となっているメモリアクセスコマンドの各カウントの表示を含む、請求項に記載の装置。
JP2014530971A 2011-09-20 2012-09-20 ソリッドステートドライブのメモリ装置への論理的アドレスの適応マッピング Active JP5923844B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161536597P 2011-09-20 2011-09-20
US61/536,597 2011-09-20
US13/535,889 US9417803B2 (en) 2011-09-20 2012-06-28 Adaptive mapping of logical addresses to memory devices in solid state drives
US13/535,889 2012-06-28
PCT/US2012/056309 WO2013043856A1 (en) 2011-09-20 2012-09-20 Adaptive mapping of logical addresses to memory devices in solid state drives

Publications (2)

Publication Number Publication Date
JP2014530420A JP2014530420A (ja) 2014-11-17
JP5923844B2 true JP5923844B2 (ja) 2016-05-25

Family

ID=47881766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014530971A Active JP5923844B2 (ja) 2011-09-20 2012-09-20 ソリッドステートドライブのメモリ装置への論理的アドレスの適応マッピング

Country Status (5)

Country Link
US (1) US9417803B2 (ja)
EP (1) EP2758882B1 (ja)
JP (1) JP5923844B2 (ja)
KR (1) KR101556870B1 (ja)
WO (1) WO2013043856A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489294B2 (en) * 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9489300B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9489299B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9218283B2 (en) 2013-12-02 2015-12-22 Sandisk Technologies Inc. Multi-die write management
US9390008B2 (en) 2013-12-11 2016-07-12 Sandisk Technologies Llc Data encoding for non-volatile memory
US9632712B2 (en) * 2014-07-02 2017-04-25 Sandisk Technologies Llc System and method of updating metablocks associated with multiple memory dies
US11755255B2 (en) 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching
KR102358177B1 (ko) 2015-12-24 2022-02-07 에스케이하이닉스 주식회사 제어회로 및 제어회로를 포함하는 메모리 장치
US10067903B2 (en) 2015-07-30 2018-09-04 SK Hynix Inc. Semiconductor device
KR102239356B1 (ko) 2015-02-17 2021-04-13 삼성전자주식회사 클록 제어 유닛 또는 전원 제어 유닛을 포함하는 저장 장치와 메모리 시스템, 그리고 그것의 동작 방법
KR102506135B1 (ko) 2015-03-16 2023-03-07 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US9857986B2 (en) 2015-06-30 2018-01-02 International Business Machines Corporation Wear leveling of a memory array
KR102445662B1 (ko) 2015-07-01 2022-09-22 삼성전자주식회사 스토리지 장치
CN105224478B (zh) * 2015-09-25 2019-01-22 北京联想核芯科技有限公司 一种映射表的形成、更新和恢复方法及电子设备
US9928154B2 (en) * 2016-01-12 2018-03-27 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Leveling stress factors among like components in a server
US11042330B2 (en) 2017-03-01 2021-06-22 Samsung Electronics Co., Ltd. Methods and systems for distributed data storage
US10545664B2 (en) 2017-04-11 2020-01-28 Samsung Electronics Co., Ltd. System and method for identifying SSDs with lowest tail latencies
US11049009B2 (en) 2017-06-12 2021-06-29 Western Digital Technologies, Inc. Identifying memory block write endurance using machine learning
WO2023099603A1 (en) * 2021-11-30 2023-06-08 Grai Matter Labs S.A.S. Neural network device, method and system comprising the device

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5696925A (en) * 1992-02-25 1997-12-09 Hyundai Electronics Industries, Co., Ltd. Memory management unit with address translation function
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
US6332178B1 (en) 1997-11-26 2001-12-18 Compaq Computer Corporation Method for estimating statistics of properties of memory system transactions
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
DE60126533T2 (de) * 2000-06-19 2007-11-22 Broadcom Corp., Irvine Vermittlungsstelle mit einer Speicherverwaltungeinheit zur Verbesserung der Flusssteurung
US7260758B1 (en) 2001-09-07 2007-08-21 Lsi Corporation Method and system for performing built-in self-test routines using an accumulator to store fault information
US6901498B2 (en) 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
TWI240863B (en) * 2003-09-05 2005-10-01 Megawin Technology Co Ltd Method for efficiently controlling flash memory read/write
US7111118B2 (en) 2003-10-08 2006-09-19 Lsi Logic Corporation High performance raid mapping
KR100526188B1 (ko) 2003-12-30 2005-11-04 삼성전자주식회사 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
EP1704479B1 (en) 2003-12-30 2014-03-26 SanDisk Technologies Inc. Non-volatile memory and method with phased program failure handling
US7441096B2 (en) * 2004-07-07 2008-10-21 Hitachi, Ltd. Hierarchical storage management system
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US8301938B2 (en) 2005-03-21 2012-10-30 Hewlett-Packard Development Company, L.P. Managing memory health
US7509474B2 (en) * 2005-06-08 2009-03-24 Micron Technology, Inc. Robust index storage for non-volatile memory
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US20070143561A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
KR100703807B1 (ko) * 2006-02-17 2007-04-09 삼성전자주식회사 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치
DE102006008017A1 (de) * 2006-02-21 2007-08-30 Infineon Technologies Ag Verfahren zum Herstellen und Verfahren zum Betreiben eines integrierten Halbleiterspeichers
US7653778B2 (en) * 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
US8135936B2 (en) 2009-12-23 2012-03-13 Intel Corporation Adaptive address mapping with dynamic runtime memory mapping selection
WO2008026203A2 (en) * 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
KR100855467B1 (ko) 2006-09-27 2008-09-01 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법
US8516218B2 (en) 2006-10-30 2013-08-20 Hewlett-Packard Development Company, L.P. Pattern-based mapping for storage space management
US7818489B2 (en) * 2006-11-04 2010-10-19 Virident Systems Inc. Integrating data from symmetric and asymmetric memory
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
TWI368224B (en) 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
US8271757B1 (en) * 2007-04-17 2012-09-18 American Megatrends, Inc. Container space management in a data storage system
KR100857761B1 (ko) * 2007-06-14 2008-09-10 삼성전자주식회사 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
TW200917277A (en) * 2007-10-15 2009-04-16 A Data Technology Co Ltd Adaptive hybrid density memory storage device and control method thereof
US7849275B2 (en) * 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US8195912B2 (en) 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
JP2009199199A (ja) 2008-02-20 2009-09-03 Hitachi Ltd ストレージシステム及びそのデータライト方法
JP2009230414A (ja) 2008-03-21 2009-10-08 Toshiba Corp 複数の不揮発性メモリデバイスを有する記憶装置
JP4632180B2 (ja) 2008-10-15 2011-02-16 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8006038B2 (en) * 2008-10-02 2011-08-23 Microsoft Corporation Optimizing information lifecycle management for fixed storage
US8275933B2 (en) * 2008-11-10 2012-09-25 Fusion-10, Inc Apparatus, system, and method for managing physical regions in a solid-state storage device
US9104618B2 (en) * 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
US7948798B1 (en) 2009-07-22 2011-05-24 Marvell International Ltd. Mixed multi-level cell and single level cell storage device
US9021158B2 (en) * 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US8326799B2 (en) * 2009-10-09 2012-12-04 Seagate Technology Llc Data distribution in systems with multiple storage entities
JP5579431B2 (ja) 2009-12-28 2014-08-27 株式会社日立製作所 ソリッド・ステート・ドライブ装置および平準化管理情報の退避・回復方法
US8555018B1 (en) * 2010-03-11 2013-10-08 Amazon Technologies, Inc. Techniques for storing data
US8812816B2 (en) * 2010-03-23 2014-08-19 Apple Inc. Garbage collection schemes for index block
JP5521716B2 (ja) * 2010-04-06 2014-06-18 富士通株式会社 ストレージ制御プログラム、ストレージ制御方法およびストレージ制御装置
US9183134B2 (en) * 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
US8826051B2 (en) * 2010-07-26 2014-09-02 Apple Inc. Dynamic allocation of power budget to a system having non-volatile memory and a processor
US9146683B2 (en) * 2011-04-20 2015-09-29 Seagate Technology Llc Logical block address mapping
US8954689B2 (en) * 2011-06-30 2015-02-10 Seagate Technology Llc Limiting activity rates that impact life of a data storage media
WO2013076763A1 (en) * 2011-11-22 2013-05-30 Hitachi, Ltd. Storage system and control method of storage system
US9146846B2 (en) 2012-09-14 2015-09-29 Advanced Micro Devices, Inc. Programmable physical address mapping for memory
US10282286B2 (en) 2012-09-14 2019-05-07 Micron Technology, Inc. Address mapping using a data unit type that is variable
US9400744B2 (en) * 2012-10-30 2016-07-26 Mangstor, Inc. Magnetic random access memory journal for multi-level cell flash memory
US9569120B2 (en) * 2014-08-04 2017-02-14 Nvmdurance Limited Adaptive flash tuning

Also Published As

Publication number Publication date
EP2758882B1 (en) 2017-08-30
JP2014530420A (ja) 2014-11-17
KR101556870B1 (ko) 2015-10-01
WO2013043856A1 (en) 2013-03-28
EP2758882A4 (en) 2015-04-22
US20130073822A1 (en) 2013-03-21
US9417803B2 (en) 2016-08-16
KR20140064980A (ko) 2014-05-28
EP2758882A1 (en) 2014-07-30

Similar Documents

Publication Publication Date Title
JP5923844B2 (ja) ソリッドステートドライブのメモリ装置への論理的アドレスの適応マッピング
KR102365716B1 (ko) Nand 디바이스에서의 부분 수퍼블록 관리
US20190179698A1 (en) Managing Data Arrangement in a Super Block
US8949507B2 (en) Method for performing block management, and associated memory device and controller thereof
JP5458419B2 (ja) メモリブロックの選択
JP5728672B2 (ja) ハイブリッドメモリ管理
JP5976939B2 (ja) ホスト支援型メモリブロックコンパクション
US20150067415A1 (en) Memory system and constructing method of logical block
Grupp et al. The Harey Tortoise: Managing Heterogeneous Write Performance in {SSDs}
TWI432965B (zh) 具有複數個結構之記憶體系統及其操作方法
KR20150118778A (ko) 스토리지 컨트롤러, 스토리지 장치, 스토리지 시스템 및 상기 스토리지 컨트롤러의 동작 방법
US10126970B2 (en) Paired metablocks in non-volatile storage device
KR20140025574A (ko) 하이브리드 slc/mlc 메모리 내의 블록 관리 방식들
JP2012522292A5 (ja)
US10776268B2 (en) Priority addresses for storage cache management
KR20210047361A (ko) 온도 정보에 근거한 메모리 리프레시
JP7448646B2 (ja) 不揮発性ランダム・アクセス・メモリにおける補正読取り電圧オフセットの計算
CN113924546A (zh) 非易失性存储器中的磨损感知块模式转换
CN111651371A (zh) 非对称型平面管理方法以及数据存储装置及其控制器
CN114746834A (zh) 基于分区状态的分区附加命令调度
JP2022111152A (ja) 可変幅スーパーブロックのアドレス指定のための装置及びシステム
JP2018160189A (ja) メモリシステム
TWI712882B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
TW202038106A (zh) 儲存裝置、儲存裝置的控制方法及記錄媒體
CN112181274B (zh) 提升存储设备性能稳定性的大块的组织方法及其存储设备

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151127

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: 20160322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160401

R150 Certificate of patent or registration of utility model

Ref document number: 5923844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250