JP5453661B2 - メモリシステムコントローラ - Google Patents

メモリシステムコントローラ Download PDF

Info

Publication number
JP5453661B2
JP5453661B2 JP2011545332A JP2011545332A JP5453661B2 JP 5453661 B2 JP5453661 B2 JP 5453661B2 JP 2011545332 A JP2011545332 A JP 2011545332A JP 2011545332 A JP2011545332 A JP 2011545332A JP 5453661 B2 JP5453661 B2 JP 5453661B2
Authority
JP
Japan
Prior art keywords
memory
insn
system controller
communicatively coupled
memory system
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
JP2011545332A
Other languages
English (en)
Other versions
JP2012514808A (ja
Inventor
エヌ. レイボヴィッツ,ロバート
エス. フィーリー,ピーター
Original Assignee
マイクロン テクノロジー, インク.
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 マイクロン テクノロジー, インク. filed Critical マイクロン テクノロジー, インク.
Publication of JP2012514808A publication Critical patent/JP2012514808A/ja
Application granted granted Critical
Publication of JP5453661B2 publication Critical patent/JP5453661B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification
    • 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
    • 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/7211Wear leveling

Description

本開示は、概して、半導体メモリデバイス、方法、およびシステムに関し、より具体的には、メモリシステムコントローラに関する。
メモリデバイスは、一般的に、コンピュータまたは他の電子デバイス内の、内部的回路、半導体回路、集積回路として提供される。揮発性および不揮発性メモリを含む多くの異なる種類のメモリが存在する。揮発性メモリは、そのデータを保守するために電力を必要とする可能性があり、とりわけ、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、および同期ダイナミックランダムアクセスメモリ(SDRAM)が挙げられる。不揮発性メモリは、電源供給されていない場合に、記憶された情報を保持することによって、持続的なデータを提供でき、また、とりわけ、NANDフラッシュメモリ、NORフラッシュメモリ、読み出し専用メモリ(ROM)、電気的消去可能プログラマブルROM(EEPROM)、消去可能プログラマブルROM(EPROM)、および相変化ランダムアクセスメモリ(PCRAM)を挙げることができる。
メモリデバイスは、固体ドライブ(SSD)を形成するように、共に組み合わせることができる。固体ドライブは、不揮発性メモリ、例えばNANDフラッシュメモリおよびNORフラッシュメモリを含むことができ、かつ/または、揮発性メモリ、例えば、種々の他の種類の不揮発性および揮発性メモリの中でも、DRAMおよびSRAMを含むことができる。
固体ドライブは、性能、大きさ、重量、耐久性、動作温度範囲、および燃費に関して、ハードドライブを超える利点を有することができるため、コンピュータの主記憶デバイスとしてハードディスクドライブに取って代わるためにSSDを使用できる。例えば、SSDは、磁気ディスクドライブに関連付けられたシークタイム、待ち時間、および他の電気機械的遅延を改善する場合がある、可動パーツの欠如により、磁気ディスクドライブと比較した場合に優れた性能を示す可能性がある。SSDの製造業者は、内部電池供給を利用しない場合があるフラッシュSSDを作成するために不揮発性フラッシュメモリを使用できるため、ドライブを、より多機能かつコンパクトにすることができる。
SSDは、多数のメモリデバイス、例えば多数のメモリチップを含むことができる(本明細書で用いられる場合、「多数の」何かとは、1つ以上のこうしたものを指す可能性があり、例えば、多数のメモリデバイスは、1つ以上のメモリデバイスを指す可能性がある)。当業者は理解するように、メモリチップは、多数のダイを含むことができる。各ダイは、多数のメモリアレイおよびその上の周辺回路を含むことができる。メモリアレイは、多数の平面を含むことができ、各平面は、メモリセルの多数の物理ブロックを含む。各物理ブロックは、データの多数のセクタを記憶可能なメモリセルの多数のページを含むことができる。
大きな記憶装置容量において低待ち時間および高帯域幅の動作を実現するには、SSDは、並行して動作する複数のチャネルを含む場合があり、各チャネルは、メモリのいくつかの部分を動作させる。このため、メモリチャネルコントローラの複数のコピー、例えばNANDフラッシュコントローラ論理は、SSDのマルチチャネルシステムコントローラ上に統合される場合がある。かかる構成において、各チャネルは、物理から論理へのマッピングおよび例えばウェアレベリングのブロック管理の実行を含む、チャネルによってサービスされる関連付けられたメモリの動作についてのタスクが割り当てられる。従って、複数のメモリチャネルコントローラの各コピーは、複数のチャネルのそれぞれに対応して、マッピングおよびブロック管理機能を実行するために使用される高速バッファメモリを有する場合がある。さらに、複数のメモリチャネルコントローラの各コピーは、各チャネルに方向付けられる「インフライト」データのためのバッファメモリを含む場合がある。
複数のメモリチャネルコントローラの各コピーと対応するメモリ部分との間のパラレル通信において、およそ20のピンが、それらの間のデータ、制御、電力、および接地接続を確立することが必要となる場合がある。このため、既存のディスクドライブプロトコルとの互換性を確実にするために、大きなピンカウントを有する高価なメモリシステムASICが必要になる可能性がある。
本開示の1つ以上の実施形態に従う、コンピューティングシステムの機能ブロック図である。 メモリシステムを含む先行技術のコンピューティングシステムの機能ブロック図である。 本開示の1つ以上の実施形態に従う、メモリシステムコントローラを含むコンピューティングシステムの機能ブロック図である。 本開示の1つ以上の実施形態に従う、直列で通信可能に結合される多数のインテリジェント記憶ノードを含むメモリシステムの機能ブロック図である。 本開示の1つ以上の実施形態に従う、並列で通信可能に結合される多数のインテリジェント記憶ノードを含むメモリシステムの機能ブロック図である。 本開示の1つ以上の実施形態に従う、並列でこれに通信可能に結合される多数のインテリジェント記憶ノードを有する、直列で通信可能に結合される少なくとも1つのインテリジェント記憶ノードを含むメモリシステムの機能ブロック図である。 本開示の1つ以上の実施形態に従う、インテリジェント記憶ノードの機能ブロック図である。
本開示は、メモリシステムのコントローラデバイスおよび方法を含む。1つ以上の実施形態において、メモリシステムコントローラは、システムコントローラに通信可能に結合されたホストインターフェースを含む。システムコントローラは、多数のメモリインターフェースを有し、多数のメモリインターフェースに通信可能に結合された複数のインテリジェント記憶ノードを制御するように構成される。システムコントローラは、物理メモリアドレスと論理メモリアドレスとの間をマップするように構成される論理、および複数のインテリジェント記憶ノードにわたりウェアレベルを管理するように構成される論理を含む。
本開示の1つ以上の実施形態は、NAND制御、物理から論理へのアドレス変換、不具合管理およびブロック管理、例えばウェアレベリング、中央メモリシステムコントローラへの「アップストリーム」等の、従来は分散されていた固体ドライブ機能を集中管理するメモリシステムについて説明する。上記の機能を中央に配置することにより、簡略化されたノードコントローラが、記憶ノード上で利用される場合があり、これにより、低待ち時間、高メモリ密度、設定可能性、およびより安価なメモリシステムコストを提供する。
本明細書中の図は、最初の桁(単数又は複数)が図番号に対応し、残りの桁が、図中の要素またはコンポーネントを識別する、番号付け規則に従う。異なる図の間の同様の要素またはコンポーネントは、同様の桁を用いることにより、識別される場合がある。例えば、104は、図1内の要素「04」を示す場合があり、また、同様の要素が、図2中では204として示される場合がある、等々。
図1は、本開示の1つ以上の実施形態に従うコンピューティングシステムの機能ブロック図である。コンピューティングシステム100は、ホストシステム102に通信可能に結合された、メモリシステム104、例えば、1つ以上の固体ドライブ(SSD)を含む。メモリシステム104は、通信インターフェース106、例えばシリアルアドバンストテクノロジーアタッチメント(SATA)インターフェースを介して、ホストシステム102に通信可能に結合できる。
ホストシステム102は、多数の個別の集積回路を含むことができる、または2つ以上のコンポーネントまたは機能を、同一の集積回路上におくことができる。1つ以上の実施形態に従うと、ホストシステム102は、少なくとも一部分を「マザーボード」として、コンピューティングシステム100内に物理的に実装でき、メモリシステム104は、個別に、物理的に実装され、マザーボードおよびメモリシステム104は、バックプレーンまたはバス等により、通信インターフェース106を介して通信可能に結合される。
ホストシステム102は、メモリおよびバス制御107に通信可能に結合された、1つ以上のプロセッサ105、例えばパラレルプロセッサ、コプロセッサ等を含むことができる。プロセッサ、例えばプロセッサ105は、1つ以上のマイクロプロセッサ、または、例えば1つ以上の特定用途向け集積回路(ASIC)等の他の何らかの種類の制御回路にすることができる。コンピューティングシステムの他のコンポーネントもまた、プロセッサを有してもよい。メモリおよびバス制御107は、メモリおよび、それに直接通信可能に結合される他のコンポーネント、例えば、ダイナミックランダムアクセスメモリ(DRAM)111、グラフィックユーザインターフェース113、または他のユーザインターフェース、例えばディスプレイモニタ、キーボード、マウス等を有することができる。
メモリおよびバス制御107は、これに通信可能に結合される周辺機器およびバス制御109も有することができ、これは今度は、ユニバーサルシリアルバス(USB)インターフェース、不揮発性メモリホスト制御インターフェース(NVMHCI)フラッシュメモリ117、またはメモリシステム104を用いて、フラッシュドライブ115等の多数のデバイスに接続可能である。読者は理解されるように、メモリシステム104を、多数の異なるコンピューティングシステム内において、ハードディスクドライブ(HDD)に加えて、または、これに代わって使用することができる。図1に図示されるコンピューティングシステム100は、かかるシステムの一例であるが、本開示の実施形態は、図1に示される構成に制限されない。
エンタープライズ固体記憶アプライアンスは、1テラバイト以上の記憶および高速性能機能、例えば100MB/秒、毎秒100K入力/出力(IOPS)等によって特徴付けることが可能なメモリシステムクラスである。本開示の1つ以上の実施形態に従い、エンタープライズ固体記憶アプライアンスを、固体ドライブ(SSD)ビルディングブロックを用いて構成できる。例えば図1について、メモリシステム104は、1つ以上のコンポーネントSSDを用いて実装されるエンタープライズ固体記憶アプライアンスであってもよく、1つ以上のSSDは、メモリシステムコントローラによってメモリシステムとして動作される。
図2は、メモリシステムを含む先行技術のコンピューティングシステムの機能ブロック図である。コンピューティングシステム200は、インターフェース206を介してホストシステム202に接続される、例えばSSDのメモリシステム204を含む。先行技術のメモリシステム204は、システムコントローラ210の各チャネルに対応して、システムコントローラ210、物理インターフェース208、例えばコネクタ、および多数のメモリデバイス212−1、...、212−Nを含む。インターフェース206は、メモリシステム204とホストシステム202との間で情報を伝達するように使用される。
システムコントローラ210は、多数のチャネルにわたりアクセスを制御するための制御回路を含む場合があり、各チャネルは、多数のメモリデバイス212−1、...、212−Nに対応して、メモリコントローラ、例えば218−1、...、218−Nを有する。各メモリチャネルコントローラ、例えば218−1、...、218−Nは、特定のチャネルに関連付けられた物理アドレスと論理アドレスとの間のマッピングの提供を含む、対応するメモリデバイス212−1、...、212−Nへのアクセスを管理する。さらに、各メモリチャネルコントローラ、例えば218−1、...、218−Nは、特定のチャネルに関連付けられたメモリデバイスについてウェアレベルを管理する。
メモリシステム204は、ディスクドライブをエミュレートするように、ホストシステムとのインターフェースを取り、多数のメモリデバイス212−1、...、212−Nを制御するために、全ての論理を統合する。このため、システムコントローラ210は、今度は、多数のメモリコントローラ218−1、...、218−Nと通信する、ディスクドライブエミュレーション論理216と通信するホストインターフェース214を含む。
図3は、本開示の1つ以上の実施形態に従うメモリシステムコントローラを含むコンピューティングシステムの機能ブロック図である。コンピューティングシステム300は、インターフェース306を介してホストシステム302に通信可能に結合されたメモリシステム304を含むことができる。メモリシステム304は、コンピューティングシステム300、例えば1つ以上のSSDを有するエンタープライズ固体記憶アプライアンスにおいて、大容量データ記憶メモリシステムとして使用できる。メモリシステム304は、例えば、プラグイン接続によって、コンピューティングシステム300のための外部またはポータブルメモリシステムとして使用できる。インターフェース306は、とりわけ、USB、PCI、SATA/150、SATA/300、またはSATA/600インターフェース等の、ケーブルまたはバスにすることができる。メモリシステム304は、図1においてメモリシステム104と類似である可能性がある。
メモリシステム304は、物理インターフェース308、例えばコネクタと、多数の記憶ノード330−1、...、330−Nとの間で通信するシステムコントローラおよびホストインターフェース320(SCHI)を含むことができる。メモリシステムコントローラ315は、メモリデバイスのメモリセルの動作、例えば読み込み、書き出し、移動、プログラム、感知、消去を行うために、それぞれ、多数のメモリデバイス312−1、...、312−Nを有する多数の記憶ノード330−1、...、330−Nと通信可能である。このため、メモリシステムコントローラ315は、メモリデバイス312−1、...、312−Nとの通信、およびこれらメモリデバイスに記憶されたデータを管理できる。メモリシステムコントローラ315は、他の個別コンポーネントと同様に、1つ以上の集積回路を利用する回路を有することができる。1つ以上の実施形態において、メモリシステムコントローラ315内の回路は、多数のチャネルにわたりアクセスを制御するための制御回路を含むことができ、各チャネルはシリアルインターフェース、例えば324−1、...、324−Nを有し、各シリアルインターフェースは1つ以上の記憶ノード330−1、...、330−Nと通信し、各記憶ノードは、多数のメモリデバイス312−1、...、312−Nを有する。このため、メモリシステムコントローラ315は、1つ以上の特定のチャネルを通して、メモリデバイス312−1、...、312−Nと選択的に通信できる。
各メモリデバイス312−1、...、312−Nは、多数のメモリセルを含むことができる。メモリデバイス312−1、...、312−Nは、とりわけ、DRAMの種々の種類の揮発性または不揮発性メモリアレイ、例えばNANDフラッシュを用いて形成できる。本開示の1つ以上の実施形態に従い、メモリデバイス312−1、...、312−Nは、その1つ以上を組み合わせて使用してもよい、NANDアーキテクチャ、NORアーキテクチャ、ANDアーキテクチャ、または他の何らかのメモリアレイアーキテクチャで構成される多数のフローティングゲートフラッシュメモリセルを含むことができる。
メモリデバイス312−1、...、312−Nは、ページ、ブロック、平面、アレイ、または他の群等の特定の物理または論理構成を提供するように配列できる多数のメモリセルを含むことができる。本明細書で用いられる場合、メモリセルのページは、一回でプログラム可能な多数のメモリセルを意味する。例えば、いくつかのメモリアレイは、メモリセルのブロックを作成するメモリセルの多数のページを含むことができ、ブロックは、一度に消去可能な多数のメモリセルを指す。メモリセルの平面に多数のブロックを含むことができる。ダイ上にメモリセルの多数の平面を含むことができる。アレイは、1つ以上のダイを含むことができる。例として、かつ制限的なものではなく、128GBのメモリデバイスは、1ページ当たり4314バイトのデータ、1ブロック当たり128ページ、1平面当たり2048ブロック、および1デバイス当たり16の平面を含むことができる。
SCHI320は、システムコントローラ315と通信するホストインターフェース314を含むことができる。システムコントローラ315は、物理から論理へのマッピングを実行するように構成される論理326(高速メモリを含む)、「インフライト」データバッファリングを行うように構成される論理327、ブロック管理、例えばウェアレベリングを行うように構成される論理328、および多数のシリアルインターフェース324−1、...、324−Nを含むことができる。多数のシリアルインターフェース324−1、...、324−Nのそれぞれは、図4について以下にさらに記載されるように、シリアルバス334−1、...、334−Nによって多数の記憶ノード330−1、...、330−Nのうちの対応する1つ以上に通信可能に結合される。
ホストシステム302とメモリシステム304との間の通信プロトコルは、特定の記憶ノード330−1、...、330−N、またはその上のメモリデバイス、例えば312−1、...、312−Nにアクセスするために使用されるものとは異なっていてもよい。メモリシステムコントローラ315は、ホストシステム302から受信したコマンドを、意図されたメモリ動作を実行するために適切なコマンドへ変換し、それによって、ホストシステム302とメモリシステム304との間の変換レイヤを提供することができる。メモリシステムコントローラ315は、さらに、例えば、データを記憶および取得するために、適切なチャネルコマンドシーケンスへ、ホストコマンドシーケンスおよび関連付けられたデータ、ならびに他の情報を処理できる。
1つ以上の実施形態において、図3に示されるように、記憶ノード330−1、...、330−Nは、1つ以上のメモリデバイス312−1、...、312−Nおよびノードコントローラ332−1、...、332−Nを含むことができる。1つ以上の実施形態において、メモリデバイス312−1、...、312−Nは、それぞれ、多数のメモリセルを有するチップにすることができる。しかしながら、実施形態はそのように制限されない。例えば、本明細書で用いられる場合、メモリデバイスは、ダイ、アレイ、または制御入力を共有する他の群のメモリセルにすることができ、1つ以上のメモリセルタイプ、例えばNANDフラッシュを使用して製造されてもよい。制御入力は、概して、ピン、パッド等のアドレスラッチイネーブル(ALE)、チップイネーブル(CE)、読み出しイネーブル(RE)、レディ/ビジー(R/B)、書き込み保護(WP)、および入力/出力(I/O)接続を含むことができる。
本開示の1つ以上の実施形態に従い、記憶ノード330−1、...、330−Nは、インテリジェントNAND記憶ノード(INSN)にすることができる。シングルINSNが特定のチャネルに関連付けられて示されているが、本開示の実施形態はそのように制限されず、例えば、多数のINSNが、特定のシステムコントローラチャネルに関連付けられる場合がある。例えば、図4に関して以下にさらに記載されているように、1つ以上の実施形態において、少なくとも2つのINSNが、多数の特定のチャネルのそれぞれに関連付けられる。
各INSNは、多数のメモリデバイス312−1、...、312−Nに通信可能に結合されたノードコントローラ332−1、...、332−Nを含むことができる。メモリデバイス312−1、...、312−Nは、前述のように、ページ、ブロック、平面、アレイ、または他の群等の特定の物理構成または論理構成を提供するように構成可能な多数のメモリセルを含むことができる。
本開示の1つ以上の実施形態に従い、ノードコントローラ332−1、...、332−Nは、オープンNANDフラッシュインターフェース(ONFi)336−1、...、336−Nによって、多数のメモリデバイス312−1、...、312−Nに通信可能に結合できる。ONFiは、NANDフラッシュメモリの、消費家電機器、コンピューティングプラットフォーム、および産業システムへの統合を簡略化するように意図されたNANDフラッシュのための特定のインターフェースである。ONFiは、NANDデバイス間の相互運用性を促進し、それにより、NANDベースの製品を市場に出すまでの時間を加速させる。ONFiのいくつかの特徴は、自己識別、コマンドセット標準化、およびピンアウト標準化である。NAND自己識別により、NANDデバイスが、メモリレイアウト、タイミングサポート、およびインターリーブアドレス指定のような強化された特徴を含む、ホストに対するその機能を自己記述することが可能になる。NANDのためのコマンドセットの標準化により、ベンダーに特化した最適化のために柔軟性を提供しながら、NAND機能の将来的な進化のインフラストラクチャが確立される。標準的なピンアウトの定義により、新しいNANDデバイスとの基板レベルの互換性が促進される。
本開示の1つ以上の実施形態に従い、システムコントローラ315は、例えばウェアレベリングを含むがこれに制限されない、ブロック選択等のブロック管理のために構成される論理328を含むことができる。メモリシステム304内のメモリブロック選択は、例えば、データを書き込む物理ブロックおよび消去する物理ブロック、ならびに物理ブロックを書き込みおよび消去する順序の決定を含むことができる。メモリシステム304で使用されるメモリセルは、メモリシステム304の寿命を決定する可能性がある、有限の数の書き込み・消去サイクルに制限される可能性がある。このため、メモリシステム304は、多数のプログラムおよび/または消去サイクル後に不具合が発生する可能性があるため、効率的なメモリブロック管理により、メモリシステム304の寿命を長くすることができる。
システムコントローラ210が、多数のメモリデバイス212−1、...、212−Nのそれぞれのために、分離されたメモリコントローラ回路218−1、...、218−Nを含む、図2に示されるメモリシステム200等の以前のメモリシステムとは対照的に、本開示の1つ以上の実施形態は、特定のチャネルに関連付けられたこれらのメモリデバイスのみではなく、メモリデバイス312−1、...、312−Nにわたりウェアレベリングを管理するように構成される集中管理されたウェアレベリング論理328を有する、メモリシステムコントローラ315を含む。ウェアレベリングを集中管理することにより、そのいくつかの部分、例えば特定のチャネルのみにわたるのではなく、例えばメモリシステム全体にわたり、ウェアレベリングを行うことができる。
1つ以上の実施形態に従い、ウェアレベリングの管理は、INSN間、特定のINSNに関連付けられたINSNメモリデバイス間、および複数のINSNに関連付けられたINSNメモリデバイス間のウェアの差の検知を含むことができる。ウェアの差の検知に加えて、ウェアレベリングの管理は、個別のINSNまたはINSNメモリデバイスにおける制限を越えるウェアの検知を含むことができる。制限は、事前設定された固定の制限、動的な制限、またはその組み合わせにすることができる。
ウェアレベリング論理328は、ウェアレベリングの管理のための技術を実装可能である。本明細書で用いられる場合、ウェアレベリングの管理は、不良ブロック管理を含む。これらの技術は、データが書き込まれるメモリデバイスの間におけるセルの回転を含むことができる。ウェアレベリングは、多数の無効ページ(つまり、異なるページに再書き込みされ、かつ/または該無効ページで必要とされなくなったデータを有するページ)を有するブロックが、ブロックの消去によって再利用される、ガベージ収集と呼ばれる技術をさらに含むことができる。ガベージ収集は、データの動的または静的性質を考慮するために、メモリデバイス間のデータの再配列を必要とする。ウェアレベリング技術に含まれるガベージ収集は、特定のメモリデバイスの個別のセルのウェアレートの管理に役立つことができる。これらのウェアレベリング技術は、メモリシステム304に書き込まれるデータ量を制限せず、ドライブ性能に影響を及ぼす可能性のあるファクターとして、データ書き込み速度およびデバイスにデータが書き込まれる期間を考慮しない。
種々の実施形態において、ウェアレベリングは、ブロックを再利用するために移動される有効ブロックの量を最小限にするための動的なウェアレベリングを含むことができる。動的なウェアレベリングにおいて、最も量の多い無効ページを有するデータブロックを再利用できる。メモリアレイ内のページまたはセルのブロックは、ページまたはブロックからの有効データを、第1の位置から第2のページまたはブロック位置へ移動させ、第1のページまたはブロック位置を消去することにより再利用できる。有効データは、所望のデータである可能性があり、また、メモリセルに保存すべきであるが、一方で、無効データは、望ましくなくなったデータである可能性があり、消去することができる。ブロック内の無効ページの全数の閾値は、ブロックが再利用されるかどうかを決定するために設定できる。閾値を超える多数の無効ページを有するブロックについてブロックテーブルをスキャンすることにより、特定のブロックを再利用できる。ブロックテーブルは、メモリセル内のデータについて、とりわけ、タイプ、位置、およびステータスについての詳細な情報を有することができる。
静的ウェアレベリングは、ブロックの寿命を長くするために高い消去カウントを有するブロックへの静的データの書き込みを含む。静的ウェアレベリングにおいて、静的データを記憶するブロックは、静的データ、および対応するより低い消去カウントを有するブロックが再利用されるように、高い消去カウントを有するブロックと交換できる。高い消去カウントを有するブロックは、今度は静的データを有しており、従って、そのブロックの消去レートを低下させる。
いくつかの実施形態において、メモリデバイス間のデータ書き込みに関連付けられた書き込み増幅量を低減させるために、スペアブロックとして、多数のブロックを指定できる。スペアブロックは、データを書き込みできないブロックとして指定できるメモリデバイス内のブロックにすることができる。書き込み増幅は、データを固体メモリデバイスに書き込む際に生じるプロセスである。メモリシステム内にデータをランダムに書き込む際に、システム内の空きスペースのスキャンが行われる。メモリシステム内の空きスペースは、1つ以上のメモリデバイス内の、プログラムされていないメモリセルの個別のセル、ページ、および/またはブロックにすることができる。データの書き込みのための十分な空きスペースがある場合には、メモリシステム内の空きスペースにデータが書き込まれる。1つの位置に十分な空きスペースがない場合、メモリシステム内のデータは、メモリシステム内に書き込まれる新しいデータのために空きスペースを残して、新しい位置に、メモリシステム内に既に存在しているデータを消去、移動、および再書き込みすることにより、再配列される。メモリシステムの書き込み量は、メモリシステム内の空きスペース量およびメモリシステムに書き込まれる新しいデータの大きさに基づいて、新しいデータを書き込むために増幅される必要があるため、メモリシステム内の旧データの再配列は、書き込み増幅と呼ばれる。書き込み増幅は、空きスペース(つまり静的データが書き込まれない場合)として指定されるメモリシステムにおけるスペース量を増加させることによって低減でき、こうして、再配列する必要があるデータがより少なくなるため、書き込む必要があるデータ量の増幅を小さくできる。
種々の実施形態において、メモリシステム304によって実行されるホストおよび/もしくはユーザトラフィックならびに/またはプログラム/消去サイクルは、メモリシステム304の性能を向上させるために、システムコントローラ315内の中央管理されたウェアレベリング論理328によって監視できる。ホストおよび/またはユーザトラフィックリクエストは、メモリシステム304内のデータの読み込み、および/またはデータの消去/書き込みするために、システムコントローラ315を通して、ホストシステムプロセッサにより、実行できる。プログラムおよび/または消去サイクルを、ブロック、ページ、またはメモリシステム304内の他の群のメモリセルのウェアレートおよび予想寿命を決定するために、全てのチャネル、例えばシリアルインターフェース324−1、...、324−Nにわたり、全てのINSN330−1、...、330−Nにわたり、および/またはメモリシステム304を含むINSNのメモリデバイス312−1、...、312−Nにわたり、中央で監視できる。読者は、特定のブロックのメモリセルは、有限の回数までしか、消去および書き込みできないことを理解されよう。
ホストおよび/またはユーザトラフィックトレンドは、メモリシステム304を、所望の動作寿命(例えば時間、日、週、年等の期間)の間実行できるようにするために、中央管理されたウェアレベリング論理328によって、中央で監視および変更できる。中央管理されたウェアレベリング論理328は、所望の動作寿命を確実にするために、メモリシステム304の一部分によって実行されるプログラムおよび/または消去サイクルの数を監視および制限できる。中央管理されたウェアレベリング論理328は、さらに、スペースブロックの数、およびメモリシステム304の所望の動作寿命の回数を考慮して、ドライブに対して可能なプログラムおよび/または消去サイクルレートを計算する方法を決定するために、特定の期間、実行されるプログラムおよび/または消去サイクルの数を監視できる。
さらに、いくつかの実施形態において、メモリシステム304のメモリデバイス内のスペアブロック数を、所望の書き込みIOPS数に対する所望の動作寿命にわたる動作可能性を確実にするように、制御できる。スペアブロックのパーセンテージは、メモリシステム304上にプログラムされたデータ種類について最適化できる。静的データ(つまり、消去および/または再書き込みせずに、長期間、ドライブ上に記憶されるデータ)を有するメモリシステム304は、より少ないプログラムおよび/または消去サイクルを有するデータの静的性質のために、ドライブ内のブロックを再利用する必要性が低いため、より低いスペアブロックのパーセンテージを有することができる。動的なデータ(つまり、より頻繁にプログラムおよび/または消去されるデータ)を有するメモリシステム304において、より高いパーセンテージのスペアブロックを、メモリデバイス内のプログラムおよび/または消去サイクルを実行するために、ブロックを再利用する必要性に関連付けられた書き込み増幅を低減するように使用可能である。
本開示の1つ以上の実施形態に従い、システムコントローラ315は、物理アドレスから論理アドレスへのマッピング326、例えばその間の変換を実行するために構成される論理を含むことができる。例えば、物理から論理へのアドレスマッピング論理326は、高速メモリ、例えば、論理から物理へのアドレスマップでプログラムされたDRAMを含むことができる。論理から物理へのアドレスマップは、固体メモリシステムの論理ブロックアドレス(LBA)と物理ブロックアドレス(PBA)との間、または特定のINSNメモリデバイス、例えば330−1、...、330−Nの間の相関関係を維持できる。
図4は、本開示の1つ以上の実施形態に従い、直列で通信可能に結合される多数のインテリジェントNAND記憶ノードを含むメモリシステムの機能ブロック図である。1つ以上の実施形態において、および図4に示されるように、メモリシステムコントローラ415は、インテリジェントNAND記憶ノード(INSN)、例えば430−1A、430−1B、...、430−NA、430−NB等の多数の記憶ノードに通信可能に結合できる。INSNは、例えばデイジーチェーン構成で直列に結合できる。システムコントローラ415は、多数のシリアルインターフェース、例えば424−1、...、424−Nを含むことができる。システムコントローラ415に関する他の詳細は、明確化のために、図4からは省略されているが、システムコントローラ415は、図3のシステムコントローラ315と類似であってもよい。多数のシリアルインターフェースのそれぞれ、例えば424−1、...、424−Nは、シリアルバス、例えば図3に示されるような、334−1、...、334−Nにより、多数の記憶ノードの対応する1つ以上、例えば430−1A、430−1B、...、430−NA、430−NBに通信可能に結合する。
本開示の1つ以上の実施形態に従い、および図4に示されるように、各シリアルバスは、クロック信号ライン、例えば444−1、...、444−N、第1のデータライン(D+/−)、例えば448−1、...、448−N、および第2のデータライン(Q+/−)、例えば446−1、...、446−Nを含むことができる。例えば、第1のデータライン(D+/−)448−1、...、448−Nは、第1の方向、例えばシステムコントローラ415からINSNへデータを伝送するように構成することができ、第2のデータライン(Q+/−)446−1、...、446−Nは、図4に示される方向の矢印が示すように、第2の方向、例えばINSNからシステムコントローラ415へ、データを伝送するように構成できる。クロックおよびラッチデータ伝送を有するシリアルバスのある特定の実装が図4に示されているが、本開示の実施形態は、図4に示される特定の実装に制限されず、シリアル通信は、他の構成で実装し得る。
1つ以上の実施形態において、各INSNは、特定のチャネルに対応するバス管理モジュールを含むことができ、各特定のチャネルのシリアルバスに通信可能に結合される。例えば、図4に図示される実施形態において、バス管理モジュール442−1Aおよび442−1Bはチャネル1に対応し、チャネル1のシリアルバス、例えば、チャネル1に関連付けられた各信号ライン444−1、446−1、および448−1に通信可能に結合される。同様に、バス管理モジュール442−NAおよび442−NBは、チャネルNに対応し、チャネルNのシリアルバス、例えばチャネルNに関連付けられた各信号ライン444−N、446−N、および448−Nに通信可能に結合される。バス管理モジュールは、特定のチャネルに関連付けられた複数のINSNと相互接続するクロックシリアルバスを制御するように構成される。チャネルNに対応する、チャネル1、...、432−NA、432−NB等に対応するノードコントローラ、例えば432−1A、432−1B等は、チャネルNに対応する、チャネル1、...、442−NA、442−NB等に対応するバス管理モジュール、例えば442−1A、442−1B等と、チャネルNに対応する、チャネル1、...、412−NA1、412−NA2、412−NB1、412−NB2等に対応する、多数のメモリデバイス、例えば412−1A1、412−1A2、412−1B1、412−1B2等との間に通信可能に結合できる。
チャネルNに対応する、チャネル1、...、412−NA1、412−NA2、412−NB1、412−NB2等に対応する、メモリデバイス、例えば412−1A1、412−1A2、412−1B1、412−1B2等は、ページ、ブロック、平面、アレイ、または他の群等の特定の物理または論理構成を提供するように構成できる多数のメモリセルを含むことができる。1つ以上の実施形態に従い、INSNは、それぞれ、マルチチップパッケージ、例えば440−1A、440−1B、...、440−NA、440−NBとして構成できる。いくつかの実施形態において、マルチチップパッケージは、データ、制御、電力、および接地信号のために20未満のピンを有することができる。例えば、1つ以上の実施形態のマルチチップパッケージは、図4に示すように、データおよび制御信号のために3つ(またはより少ない)ピンを有することができる。
図4に示されるように、および本開示の1つ以上の実施形態に従い、複数のINSN、例えば430−1A、430−1B、...、430−NA、430−NBを、特定のシリアルバスに通信可能に結合でき、このため、多数のシリアルインターフェース、例えば424−1、...、424−Nの特定の1つ、例えばチャネルに関連付けることができる。いくつかの実施形態において、複数のINSNを、各チャネルに関連付ける、例えば、各チャネルに対応するシリアルバスに通信可能に結合できる。
1つ以上の実施形態に従い、複数のINSN、例えば430−1A、430−1B、...、430−NA、430−NBを、多数のシリアルメモリインターフェースのうちの特定の1つについて、デイジーチェーン構成で特定のシリアルバスに通信可能に結合できる。2つのINSNが、各チャネルのシリアルバスに通信可能に結合されて図4に示されているが、本開示の実施形態は、この数量のINSNに制限されず、より多い、またはより少ない(ゼロを含む)INSNを、特定のシリアルバスに通信可能に結合できる。さらに、本発明の実施形態は、各チャネルのシリアルバスに通信可能に結合された同一の数量のINSNを有することに制限されず、特定のシリアルバス上のINSNの数量は、別の特定のシリアルバス上のINSNの数量よりも多い、または少なくできる。
図5は、本開示の1つ以上の実施形態に従い、並列で通信可能に結合される多数のインテリジェントNAND記憶ノードを含むメモリシステムの機能ブロック図である。1つ以上の実施形態において、および図5に示されるように、メモリシステムコントローラ515は、インテリジェントNAND記憶ノード(INSN)、例えば530−1A、530−1B、530−1C等の多数の記憶ノードに通信可能に結合できる。システムコントローラ515は、同期通信のために、多数のインターフェース、例えば524−1を含むことができる。システムコントローラ515に関する他の詳細は、明確化のため、図5から省略されている。図5には1つのみのチャネルしか示されていないが、本発明の実施形態はそのように制限されず、メモリシステムコントローラ515は、追加の多数のINSNとの同期通信のために構成される追加のチャネル、および/または多数の追加のINSNと通信するために構成される追加のチャネルを含むことができる。
多数のインターフェースのそれぞれ、例えば524−1は、同期バス、例えばパラレルローカルバスによって、多数の記憶ノード、例えば530−1A、530−1B、530−1Cの対応する1つ以上に通信可能に結合できる。記憶ノードは、並列で通信可能に結合できる。例えば、第1の多数のINSN、例えば530−1A、530−1B、530−1Cは、第1の同期インターフェース524−1へ並列で通信可能に結合でき、別の多数のINSN(明確化のため、図5では示されない)を、1つ以上の追加のチャネル同期インターフェースに並列で通信可能に結合できる。本開示の実施形態は、いかなる特定のチャネルの数量に制限されず、それぞれ、これに通信可能に結合されるゼロ以上のINSN、例えば、並列で配列される特定のチャネルに対応するINSNを有する、1つ以上の、例えばN個のチャネルを含んでもよい。
本開示の1つ以上の実施形態に従い、および図5に示されるように、1つ以上のINSNを、パラレルローカルバスを介して、各同期インターフェースに通信可能に結合できる。パラレルローカルバスは同期バスとすることができ、クロック信号ライン(CLK)、例えば544−1、第1のデータライン(Q[Y:0])、例えば546−1、および第2のデータライン(D[X:0])、例えば548−1を含むことができる。例えば、第1のデータライン(Q[Y:0])546−1は、図5に示される方位矢印に示されるように、データを、第1の方向、例えばINSNからシステムコントローラ515へ伝送するために構成可能であり、第2のデータライン(D[X:0])548−1を、データを、第2の方向、例えばシステムコントローラ515からINSNへ伝送するために構成することができる。第1のデータライン(Q[Y:0])は、情報のY+1データビットの幅を有するように構成してもよく、第2のデータライン(D[X:0])は、情報のX+1データビットの幅を有するように構成してもよい。クロックおよびラッチデータ伝送を有する同期バスのある1つの特定の実装が図5に示されているが、本開示の実施形態は図5に示される特定の実装に制限されず、INSNへのパラレル通信は、他の構成で、または他の通信プロトコルを用いて実装されてもよい。
1つ以上の実施形態において、各INSNは、特定のチャネルに対応するバス管理モジュールを含むことができ、各特定のチャネルの同期バスと通信可能に結合される。例えば、図5に示される実施形態において、チャネル1に対応するバス管理モジュール542−1A、542−1Bおよび542−1Cは、チャネル1のパラレルローカルバス、例えば信号ライン544−1、546−1、および548−1に通信可能に結合される。バス管理モジュールは、特定のチャネル、例えばパラレルローカルバスに関連付けられた複数のINSNと相互接続するクロック同期バスを制御するように構成される。特定のチャネル1に対応するノードコントローラ、例えば532−1A、532−1B、および532−1Cは、各バス管理モジュール、例えば542−1A、542−1B、および542−1Cの間で通信可能に結合できる。
チャネル1に対応するメモリデバイス、例えばINSN530−1Aに対応する512−1A1および512−1A2、INSN530−1Bに対応する512−1B1および512−1B2、およびINSN530−1Cに対応する512−1C1および512−1C2は、ページ、ブロック、平面、アレイ、または他の群等の特定の物理または論理構成を提供するように配列できる多数のメモリセルを含むことができる。1つ以上の実施形態に従い、INSNは、それぞれ、マルチチップパッケージ、例えば540−1A、540−1B、540−1Cとして構成できる。いくつかの実施形態において、マルチチップパッケージは、データ、制御、電力、および接地信号について、20未満のピンを有することができる。
図5に示されるように、および本開示の1つ以上の実施形態に従い、複数のINSN、例えば530−1A、530−1B、530−1Cを、特定の同期バスに通信可能に結合してもよく、このため、例えば、多数のインターフェースの特定のチャネル、例えば524−1に対応する特定の1つに関連付けてもよい。いくつかの実施形態において、複数のINSNを、例えば、各チャネルに対応するパラレルローカルバスに通信可能に結合される、特定のチャネルに関連付けることができる。いくつかの実施形態において、1つのINSNを、例えば、各チャネルに対応するパラレルローカルバスに通信可能に結合された特定のチャネルに関連付けることができる。いくつかの実施形態において、いかなるINSNも、例えば、各チャネルに対応するパラレルローカルバスに通信可能に結合された特定のチャネルに関連付けられない。さらに、本発明の実施形態は、特定のチャネルに通信可能に結合された同一の数量のINSNを有することに制限されず、特定のチャネル上のINSNの数量は、別の特定のチャネル上のINSNの数量よりも大きい、または小さくすることができる。
図6は、本開示の1つ以上の実施形態に従い、並列でこれに通信可能に結合される多数のインテリジェントNAND記憶ノードに直列で通信可能に結合される少なくとも1つのインテリジェントNAND記憶ノードを含む、メモリシステムの機能ブロック図である。1つ以上の実施形態において、および図6に示されるように、メモリシステムコントローラ615は、インテリジェントNAND記憶ノード(INSN)、例えば630−1A、630−1B、630−NB等の多数の記憶ノードに通信可能に結合できる。本開示の実施形態は、任意の特定の数量のチャネルに制限されず、それぞれ、これに通信可能に結合されるゼロ以上のINSN、例えば、これへのシリアルおよびパラレル通信のパスの両方を含むように配列される特定のチャネルに対応するINSNを有する、1つ以上の、例えばN個のチャネルを含んでもよい。
システムコントローラ615は、例えば、シリアル通信のために構成される624−1の多数のインターフェースを含むことができる。システムコントローラ615に関する他の詳細は、明確化のため、図6から省略されている。図6には1つのみのチャネルが示されているが、本発明の実施形態は、そのように制限されず、メモリシステムコントローラ615は、例えば図4に示されるように、追加の多数のINSNとのシリアル通信のために構成される追加のチャネルを含むことができる。システムコントローラ615は、さらに、例えば図5に示されるように、多数の追加のINSNとの同期パラレル通信のための追加のチャネルを含むことができ、および/または、例えば図6に示されるように、追加の多数のINSNとのシリアル・パラレル通信のために構成される追加のチャネルを含むことができる。
図6は、シリアルバスによって、多数の記憶ノードのうちの対応する1つ以上、例えばINSN630−1Aに通信可能に結合できる、多数のインターフェース、例えば624−1を示す。図6は、インターフェース624−1に直列で通信可能に結合される、例えば630−1Aの1つのINSNを示すが、本開示の実施形態はそのように制限されず、より多い、またはより少ない、直列結合されるINSNを含んでもよい。ゼロから多くの追加のINSN、例えば630−1B、...、630−MBは、1つ以上の直列結合INSN、例えば630−1Aのいくつかまたは全てに並列で通信可能に結合できる。例えば図6に示されるように、第1の多数のINSN、例えば630−1B、...、630−MBは、INSN、例えば630−1Aに並列で通信可能に結合できる。
本開示の1つ以上の実施形態に従い、および図6に示されるように、1つ以上のINSN、例えば630−1Aは、ホストバスを通して、各シリアルインターフェース、例えば624−1に通信可能に結合できる。ホストバスは、シリアルバスにすることができ、また、クロック信号ライン(CLK)、例えば644−1、第1のデータライン(Q+/−)、例えば646−1、および第2のデータライン(D+/−)、例えば648−1を含むことができる。例えば、図6に示す方位矢印で示されるように、第1のデータライン(Q+/−)、例えば646−1は、第1の方向、例えば直列結合されたINSN630−1Aからシステムコントローラ615へ、データを伝送するように構成でき、また、第2のデータライン(D+/−)、648−1は、第2の方向、例えばシステムコントローラ615から直接結合されたINSN、例えば630−1Aへ、データを伝送するように構成できる。クロックおよびラッチデータ伝送を有する、シリアルバスのある特定の実装が図6に示されているが、本開示の実施形態は図6に示される特定の実装に制限されず、直列結合されたINSN、例えば630−1Aへのシリアル通信を、他の構成で、または他の通信プロトコルを使用して実装できる。
本開示の1つ以上の実施形態に従い、および図6に示されるように、特定のシリアルインターフェースに対応する1つ以上の直列結合されたINSN、例えば630−1Aは、さらに、パラレルローカルバスをも通して、追加の数量のINSN、例えば630−1B、...、630−MBにも通信可能に結合できる。追加の数量のINSN、例えば630−1B、...、630−MBを、パラレルローカルバスと並列で通信可能に結合できる。
パラレルローカルバスは同期バスにすることができ、また、クロック信号ライン(CLK)、例えば645−1、第1のデータライン(Q[Y:0])、例えば647−1、および第2のデータライン(D[X:0])、例えば649−1を含むことができる。例えば、第1のデータライン(Q[Y:0])647−1は、直列結合INSN、例えば630−1Aへの方向にデータを伝送するように構成でき、第2のデータライン(D[X:0])649−1は、図6に示される方位矢印で示されるように、直列結合INSN、例えば630−1Aからデータを伝達するように構成できる。同期クロックおよびラッチデータ伝送を有するパラレルローカルバスのある特定の実装が図6に示されているが、本開示の実施形態は、図6に示される特定の実装に制限されず、直列結合されるINSNおよびこれに並列で通信可能に結合される1つ以上のINSNの間のパラレルローカルバス通信は、他の構成で、または他の通信プロトコルを用いて実装されてもよい。
1つ以上の実施形態において、INSNは、バス管理モジュール、例えば643−1A、643−1B、...、643−MBを含むことができる。例えば、図6に図示される実施形態において、バス管理モジュール643−1Aは、チャネル1のシリアルホストバス、例えば信号ライン644−1、646−1、および648−1、およびチャネル1に関連付けられた同期パラレルローカルバス、例えば信号ライン645−1、647−1、および649−1に通信可能に結合される。バス管理モジュール643−1B、...、643−MBは、チャネル1、例えば信号ライン645−1、647−1、および649−1に関連付けられたパラレルローカルバスに通信可能に結合される。バス管理モジュールは、これに接続されるクロックシリアルホストバスおよび/またはクロック同期パラレルローカルバスを制御するように構成できる。
媒体コントローラ、例えば632−1A、632−1B、...、632−MBは、各バス管理モジュール、例えば643−1A、643−1B、...、643−MB、および、チャネル1に対応する、各多数のメモリデバイス、例えば612−1A1、612−1A2、612−1B1、612−1B2、...、612−MB1、612−MB2の間に通信可能に結合できる。
チャネル1に対応するメモリデバイス、例えば612−1A1、612−1A2、612−1B1、612−1B2、...、612−MB1、612−MB2は、ページ、ブロック、平面、アレイ、または他の群等の特定の物理または論理構成を提供するために配列可能な多数のメモリセルを含むことができる。1つ以上の実施形態に従い、INSNは、それぞれ、マルチチップパッケージ、例えば640−1A、640−1B、...、640−MBとして構成される。いくつかの実施形態において、マルチチップパッケージは、データ、制御、電力、および接地信号のために20未満のピンを有することができる。例えば、1つ以上の実施形態のマルチチップパッケージは、図6に示されるように、ホストバスのためのデータおよび制御信号のための3つの(またはより少ない)ピン、ならびにパラレルローカルバスのための追加のピンを有することができる。
多数のINSN、例えば630−1B、...、630−MBが、直列結合されるINSN、例えば630−1Aに並列で通信可能に結合される図6に示されているが、本開示の実施形態は、それぞれ、直列結合および並列結合されたINSNのこれらの数量に制限されない。より多い、または少ないINSNを、特定の直列結合INSN、例えば630−1Aに対応して、並列で通信可能に結合することができる。さらに、本発明の実施形態は、各チャネルに通信可能に結合された同一の数量の直列結合されたINSNおよび/または並列結合されたINSNを有することに制限されず、特定のチャネル上の直列結合されたINSNおよび/または並列結合されたINSNの数量は、別の特定のチャネル上の直列結合されたINSNおよび/または並列結合されたINSNのそれぞれの数量よりも大きくまたは小さくできる。
図7は、本開示の1つ以上の実施形態に従う、インテリジェントNAND記憶ノード(INSN)の機能ブロック図である。INSN730は、図6に示されるINSN、例えば630−1A、630−1B、630−1Cに類似してもよい。INSN730は、バスマネジャー743および媒体コントローラ732を含むことができる制御回路731、例えばコントローラを含むことができる。媒体コントローラ732は、図6のINSN、例えば632−1A、632−1B、632−1C内に示されるコントローラと類似する場合がある。
バスマネジャー743は、ホストバスとインターフェースを取るためのPCle部分741、例えばクロック信号ライン(CLK)744(図6に示されるクロック信号ライン644−1と類似する場合がある)、第1のデータライン(Q+/−)746(図6に示される第1のデータライン646−1と類似する場合がある)、および第2のデータライン(D+/−)748(図6に示される第2のデータライン648−1と類似する場合がある)を含むことができる。バスマネジャー743は、さらに、ローカルバスとインターフェースを取るためのローカルバス部分743、例えばクロック信号ライン(CLK)745、第1のデータライン(Q[X:0])747、および第2のデータライン(D[X:0])749を含むことができる。図7から読者は理解するであろうように、第1のデータライン(Q)は、Y+1データビットの情報の幅を有するように構成されてもよく、第2のデータライン(D)は、X+1データビットの情報の幅を有するように構成されてもよい。
1つ以上の実施形態に従い、メモリの1つ以上のチャネルを、媒体コントローラ732に通信可能に結合してもよく、各チャネルは、1チャネル当たり最大16のNAND、例えば712−1、712−2を含む。メモリデバイスの他のタイプ、数量、または配列は、本開示の実施形態によって考慮され、チャネル数を、図7に示される2つのチャネルよりも多くまたは少なくする場合がある。
まとめ
本開示は、メモリシステムコントローラのための方法およびデバイスを含む。1つ以上の実施形態において、メモリシステムコントローラは、システムコントローラに通信可能に結合されたホストインターフェースを含む。システムコントローラは多数のメモリインターフェースを有し、多数のメモリインターフェースに通信可能に結合された複数のインテリジェント記憶ノードを制御するように構成される。システムコントローラは、物理メモリアドレスと論理メモリアドレスとの間をマップするように構成される論理、および複数のインテリジェント記憶ノードにわたりウェアレベルを管理するように構成される論理を含む。
本開示の詳細な記載において、その一部を形成し、本開示の1つ以上の実施形態をどのように実施し得るかを図示によって示す添付の図面が参照される。これらの実施形態は、当業者が本開示の実施形態を実施することができるように十分詳細に記載されており、他の実施形態を利用してもよく、かつ本開示の範囲から逸脱せずに、プロセス上の、電気的な、または構造上の変更をおこなってもよいことを理解されたい。
本明細書で用いられている場合、特に図の参照番号に関する、「N」「M」「X」および「Y」の指示子は、本開示の1つ以上の実施形態について、そのように指定された多数の特定の特徴を含むことができることを示す。理解されるように、本明細書の種々の実施形態において示される要素は、本開示の多数の追加の実施形態を提供するように、追加、交換または排除できる。さらに、理解されるように、図において提供される要素の割合および相対的な大きさは、本開示の実施形態を例示することを意図するものであり、制限的な意味で解釈されるべきではない。
第1の要素が、別の要素に「接続する」または「結合する」と称される場合、第1の要素は、2つの要素のもう一方に物理的に取り付けられることが意図されていることが理解されよう。対照的に、要素が「通信可能に結合される」と称される場合、要素は、相互に通信する。
要素が、別の要素「の上にある」「に接続する」または「と結合する」と称される場合、要素は、他の要素またはレイヤの上に直接ある、これに接続される、またはこれと結合することができる、あるいは介在要素またはレイヤが存在するかもしれないことが理解されよう。対照的に、要素が、別の要素またはレイヤ「の上に直接ある」、「に直接接続される」または「と直接結合される」と称される場合、介在要素またはレイヤは何ら存在しない。本明細書で用いられる場合、「および/または」という用語は、関連付けられた列挙された項目の1つ以上のいずれかおよび全ての組み合わせを含む。
第一、第二等の用語が、種々の要素、コンポーネント、領域、レイヤ、およびセクションを説明するために、本明細書で用いられ得るが、これらの要素、コンポーネント、領域、配線ライン、レイヤ、およびセクションは、これらの用語に制限すべきではないことを理解されよう。これらの用語は、ある要素、コンポーネント、領域、配線ライン、レイヤ、またはセクションを、別の領域、レイヤ、またはセクションと区別するために使用されるにすぎない。このため、以下に記載される第1の要素、コンポーネント、領域、配線ライン、レイヤまたはセクションは、本開示の教示から逸脱せずに、第2の要素、コンポーネント、領域、配線ライン、レイヤ、またはセクションという用語にすることができる可能性がある。
「下に」「下方に」「より低い」「上方に」「より上の」等の空間に関する用語は、空間内の絶対的な方向ではなく、図に示されるように、ある要素または特徴の別の要素または特徴への関係を説明するために、本明細書において説明を容易にするために使用される場合がある。空間に関する用語は、図に示される配向だけでなく、使用および動作しているデバイスの異なる配向を含むように意図されることが理解されよう。例えば、図内のデバイスをひっくり返す場合、他の要素または特徴の「下方に」または「下に」として記載される要素は、他の要素または特徴の「上方に」に方向付けられることになる。このため、例示的な用語「下方に」は、上方および下方の両方の向きを含むことができる。デバイスは、これとは異なって(90度回転して、または他の配向に)配向されてもよく、本明細書で使用される空間に関する指示子は、これに従って解釈されてもよい。
本明細書で使用される用語は、特定の実施形態を記載することを目的とするに過ぎず、開示を制限することを意図するものではない。本明細書で用いられる場合、「1つの(a)」「1つの(an)」および「その(the)」という単数形は、内容がそうでないことを明らかに示すのでない限り、複数形も含むことを意図している。本明細書で使用される場合、「を含む(comprises)」および「を含む(comprising)」という用語は、記載された特徴、整数、ステップ、動作、要素、またはコンポーネントの存在を特定するが、その1つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント、または群の存在および追加を排除するものではないことが、さらに理解されよう。
別途定義されていない限り、本明細書で用いられる全ての用語(技術および科学的用語を含む)は、本開示が属する技術分野の当業者によって一般的に理解されるものと同一の意味を有する。さらに、通常使用される辞書で定義されるもの等の用語は、関連技術および本開示の文脈においてその意味と一致する意味を有するものとして解釈すべきであり、本明細書で特に明示的に定義しない限り、理想的なまたは非常に形式的な意味において解釈すべきでないことが、さらに理解されよう。
本開示の実施形態は、本開示の理想的な実施形態の概略図である機能ブロック図を参照して、本明細書に記載されている。このため、例えば、製造技術および公差の結果としての図の形状の変形を考えるべきである。このため、本開示の実施形態は、本明細書に図示される領域の特定の形状に制限されるものとして解釈すべきではなく、例えば、製造によって生じる形状の偏差を含むものとして解釈するべきである。例えば、平坦なものとして図示または記載される領域は、一般的には、粗いまたは非線形の特徴を有する場合がある。さらに、図示される鋭角は丸みをもたせてもよい。このため、図中に図示される領域は、本質的に概略的なものであり、その形状および相対的な大きさ、厚さ等は領域の正確な形状/大きさ/厚さを図示するように意図されておらず、本開示の範囲を制限することが意図されていない。
本明細書において特定の実施形態を図示および記載したが、当業者は、同一の結果を得るように計算される一構成を、示される特定の実施形態で代用できることを理解されよう。この開示は、本開示の1つ以上の実施形態の適合または変形を範囲に含むように意図される。上記の記載は、例示的に行われたものであり、制限的に行われたものではないことを理解すべきである。上記の実施形態の組み合わせ、および本明細書に特に記載されていない他の実施形態が、上記の記載を考慮する際に、当業者には明らかであろう。本開示の1つ以上の実施形態の範囲は、上記の構成および方法が使用される他の応用を含む。従って、本開示の1つ以上の実施形態の範囲は、かかる請求項が相当する均等物の全範囲と共に、添付の特許請求の範囲を参照して決定すべきである。
上記の発明を実施するための形態において、いくつかの特徴は、開示の合理化のために、単一の実施形態にグループ化される。この開示方法は、本開示の開示された実施形態が各請求項に明示的に記載されているものよりも多くの特徴を用いる必要があるという意図を反映するものとして解釈すべきではない。それよりも、以下の請求項が示すように、本発明の主題は、単一の開示された実施形態の全ての特徴よりも少数のものとして存在する。このため、以下の請求項は、本明細書により、発明を実施するための形態に組み込まれており、各請求項は、個別の実施形態として個々に独立している。

Claims (22)

  1. ステムコントローラであって、
    ホストインターフェースと、
    前記ホストインターフェースに通信可能に結合され、多数のメモリインターフェースを有する、メモリシステムコントローラと、を備え、
    前記メモリシステムコントローラは、前記多数のメモリインターフェースに通信可能に結合され、それぞれが多数のメモリデバイスに通信可能に結合された複数のインテリジェントNAND記憶ノード(INSN)を制御するように構成され、前記メモリシステムコントローラは、ウェアレベリングを行う一のメモリシステムとして、前記複数のINSNの全体にわたりウェアレベルを集中管理するように構成される論理を含む、システムコントローラ。
  2. 前記メモリインターフェースは、同期メモリインターフェースである、請求項1に記載のシステムコントローラ。
  3. 前記INSNの第1の部分は、前記多数の同期メモリインターフェースのうちの1つと並列に通信可能に結合される、請求項2に記載のシステムコントローラ。
  4. 前記INSNの第2の部分は、前記多数の同期メモリインターフェースのうちの異なる1つと並列に通信可能に結合される、請求項3に記載のシステムコントローラ。
  5. 前記メモリインターフェースは、シリアルメモリインターフェースである、請求項1に記載のシステムコントローラ。
  6. 前記メモリシステムコントローラは、論理ブロック情報なしで、物理ページメモリアクセスリクエストを生成するように構成される、請求項5に記載のシステムコントローラ。
  7. 前記多数のシリアルメモリインターフェースのそれぞれは、それらに通信可能に結合される少なくとも2つのINSNと通信するように構成される、請求項5に記載のシステムコントローラ。
  8. 前記メモリシステムコントローラは、前記INSNの全てにわたりウェアレベルを管理するように構成される論理を含む、請求項5に記載のシステムコントローラ。
  9. 前記INSNはそれぞれ、多数のメモリデバイスを有する、請求項1〜8のいずれか1つに記載されるシステムコントローラ。
  10. 前記多数のINSNにわたりウェアレベルを管理するように構成される前記論理は、特定のINSNの前記多数のメモリデバイスにわたりウェアレベリングを管理するための論理を含む、請求項9に記載のシステムコントローラ。
  11. 前記多数のINSNにわたりウェアレベルを管理するように構成される前記論理は、複数のINSNの前記多数のメモリデバイスにわたりウェアレベリングを管理するように構成される論理を含む、請求項9に記載のシステムコントローラ。
  12. 前記多数のINSNにわたりウェアレベルを管理するように構成される前記論理は、全てのINSNの全てのメモリデバイスにわたりウェアレベリングを管理するように構成される論理を含む、請求項11に記載のシステムコントローラ。
  13. メモリシステムであって、
    システムコントローラおよびホストインターフェース(SCHI)であって、
    ホストインターフェースと、
    前記ホストインターフェースに通信可能に結合され、少なくとも2つのシリアルメモリインターフェースを有する、メモリシステムコントローラと、
    前記少なくとも2つのシリアルメモリインターフェースに通信可能に結合される複数の記憶ノードと、を含む、システムコントローラおよびホストインターフェース(SCHI)を備え、
    前記メモリシステムコントローラは、ウェアレベリングを行う一のメモリシステムとして、前記複数の記憶ノードの全体にわたりウェアレベリングを集中管理するように構成される、メモリシステム。
  14. 前記複数の記憶ノードは、インテリジェントNAND記憶ノード(INSN)である、請求項13に記載のメモリシステム。
  15. 前記複数の記憶ノードは、多数のメモリデバイスを含む、請求項13に記載のメモリシステム。
  16. 前記複数の記憶ノードは、それぞれ、前記多数のメモリデバイスに通信可能に結合されたノードメモリコントローラを含む、請求項15に記載のメモリシステム。
  17. 前記多数のメモリデバイスは、NANDフラッシュメモリデバイスである、請求項16に記載のメモリシステム。
  18. 各ノードメモリコントローラは、オープンNANDフラッシュインターフェース(ONFi)によって前記多数のNANDフラッシュメモリデバイスに通信可能に結合される、請求項17に記載のメモリシステム。
  19. 前記複数の記憶ノードは、それぞれ、マルチチップパッケージで構成される、請求項13〜18のいずれか1つに記載される前記メモリシステム。
  20. 前記マルチチップパッケージは、20未満のピンを有する、請求項19に記載のメモリシステム。
  21. 前記マルチチップパッケージは、データおよび制御信号のための3つ以下のピンを有する、請求項20に記載のメモリシステム。
  22. 前記複数の記憶ノードは固体ドライブである、請求項13〜15のいずれかに記載のメモリシステム。
JP2011545332A 2009-01-08 2009-12-30 メモリシステムコントローラ Active JP5453661B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/350,686 US8412880B2 (en) 2009-01-08 2009-01-08 Memory system controller to manage wear leveling across a plurality of storage nodes
US12/350,686 2009-01-08
PCT/US2009/006740 WO2010080141A2 (en) 2009-01-08 2009-12-30 Memory system controller

Publications (2)

Publication Number Publication Date
JP2012514808A JP2012514808A (ja) 2012-06-28
JP5453661B2 true JP5453661B2 (ja) 2014-03-26

Family

ID=42312440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011545332A Active JP5453661B2 (ja) 2009-01-08 2009-12-30 メモリシステムコントローラ

Country Status (7)

Country Link
US (2) US8412880B2 (ja)
EP (1) EP2377027B1 (ja)
JP (1) JP5453661B2 (ja)
KR (1) KR101274306B1 (ja)
CN (1) CN102272745B (ja)
TW (2) TW201418989A (ja)
WO (1) WO2010080141A2 (ja)

Families Citing this family (212)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924661B1 (en) * 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US9037986B2 (en) * 2009-03-20 2015-05-19 Lara M. Sosnosky Online virtual safe deposit box user experience
US8341338B2 (en) * 2009-05-06 2012-12-25 Samsung Electronics Co., Ltd. Data storage device and related method of operation
US8370712B2 (en) * 2009-07-23 2013-02-05 International Business Machines Corporation Memory management in a non-volatile solid state memory device
US8407449B1 (en) 2010-02-26 2013-03-26 Western Digital Technologies, Inc. Non-volatile semiconductor memory storing an inverse map for rebuilding a translation table
US9104546B2 (en) * 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
WO2012060824A1 (en) 2010-11-02 2012-05-10 Hewlett-Packard Development Company, L.P. Solid-state disk (ssd) management
US10108684B2 (en) 2010-11-02 2018-10-23 Micron Technology, Inc. Data signal mirroring
US8626989B2 (en) 2011-02-02 2014-01-07 Micron Technology, Inc. Control arrangements and methods for accessing block oriented nonvolatile memory
US8595415B2 (en) 2011-02-02 2013-11-26 Micron Technology, Inc. At least semi-autonomous modules in a memory system and methods
US8732431B2 (en) 2011-03-06 2014-05-20 Micron Technology, Inc. Logical address translation
US8856482B2 (en) 2011-03-11 2014-10-07 Micron Technology, Inc. Systems, devices, memory controllers, and methods for memory initialization
US9239806B2 (en) 2011-03-11 2016-01-19 Micron Technology, Inc. Systems, devices, memory controllers, and methods for controlling memory
US9135160B1 (en) 2011-03-28 2015-09-15 Rambus Inc. Devices, systems, and methods for wear leveling memory
US9514838B2 (en) 2011-05-31 2016-12-06 Micron Technology, Inc. Apparatus including memory system controllers and related methods for memory management using block tables
US8806090B2 (en) * 2011-05-31 2014-08-12 Micron Technology, Inc. Apparatus including buffer allocation management and related methods
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US9195530B1 (en) 2011-09-06 2015-11-24 Western Digital Technologies, Inc. Systems and methods for improved data management in data storage systems
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting in data storage systems
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
US8880819B2 (en) 2011-12-13 2014-11-04 Micron Technology, Inc. Memory apparatuses, computer systems and methods for ordering memory responses
US9740439B2 (en) * 2011-12-23 2017-08-22 International Business Machines Corporation Solid-state storage management
KR101404260B1 (ko) * 2011-12-23 2014-06-05 한양대학교 산학협력단 플래시 메모리의 수명 인디케이터를 제공하는 장치 및 장치
US20130185487A1 (en) * 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd Memory system and mobile device including host and flash memory-based storage device
CN103226528A (zh) * 2012-01-31 2013-07-31 上海华虹集成电路有限责任公司 多通道与非型闪存控制器
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US9003224B2 (en) 2012-04-25 2015-04-07 Western Digital Technologies, Inc. Managing unreliable memory in data storage systems
US9846641B2 (en) 2012-06-18 2017-12-19 International Business Machines Corporation Variability aware wear leveling
US8898548B1 (en) 2012-08-24 2014-11-25 Western Digital Technologies, Inc. Methods, data storage devices and systems having variable size ECC page size
TWI492051B (zh) * 2012-09-05 2015-07-11 Silicon Motion Inc 資料儲存裝置與快閃記憶體控制方法
US9268682B2 (en) 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US9507523B1 (en) 2012-10-12 2016-11-29 Western Digital Technologies, Inc. Methods, devices and systems for variable size logical page management in a solid state drive
US9489296B1 (en) * 2012-10-17 2016-11-08 Western Digital Technologies, Inc. Methods, devices and systems for hardware-based garbage collection in solid state drives
US8954694B2 (en) 2012-11-15 2015-02-10 Western Digital Technologies, Inc. Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive
KR101420754B1 (ko) * 2012-11-22 2014-07-17 주식회사 이에프텍 비휘발성 메모리 시스템 및 이를 위한 맵핑 테이블 관리 방법
US9367262B2 (en) * 2013-02-26 2016-06-14 Seagate Technology Llc Assigning a weighting to host quality of service indicators
US10042750B2 (en) 2013-03-15 2018-08-07 Micron Technology, Inc. Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US9117504B2 (en) 2013-07-03 2015-08-25 Micron Technology, Inc. Volume select for affecting a state of a non-selected memory volume
US9898404B2 (en) * 2013-07-14 2018-02-20 Cnex Labs Method and apparatus for providing improved garbage collection process in solid state drive
US9645896B2 (en) 2013-12-26 2017-05-09 Silicon Motion, Inc. Data storage device and flash memory control method
US9354955B1 (en) 2014-03-19 2016-05-31 Western Digital Technologies, Inc. Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US9213485B1 (en) * 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US9612952B2 (en) 2014-06-04 2017-04-04 Pure Storage, Inc. Automatically reconfiguring a storage memory topology
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US9959203B2 (en) 2014-06-23 2018-05-01 Google Llc Managing storage devices
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
CN104123249B (zh) * 2014-07-22 2018-03-09 山西达鑫核科技有限公司 一种串行访问的新型动态存储器sddr架构阵列
JP5971423B2 (ja) * 2014-07-23 2016-08-17 富士通株式会社 情報処理装置、メモリコントローラ、記憶装置の制御プログラム及び記憶装置の制御方法
US10528461B2 (en) * 2014-08-04 2020-01-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Controlling wear among flash memory devices based on remaining warranty
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
US9710176B1 (en) * 2014-08-22 2017-07-18 Sk Hynix Memory Solutions Inc. Maintaining wear spread by dynamically adjusting wear-leveling frequency
US20160062698A1 (en) * 2014-08-26 2016-03-03 Marvell World Trade Ltd. Storage device controller architecture
US9582201B2 (en) 2014-09-26 2017-02-28 Western Digital Technologies, Inc. Multi-tier scheme for logical storage management
US9678677B2 (en) * 2014-12-09 2017-06-13 Intel Corporation Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device
US10338817B2 (en) * 2014-12-30 2019-07-02 Sandisk Technologies Llc Systems and methods for storage recovery
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
US9502082B1 (en) 2015-06-24 2016-11-22 Intel Corporation Power management in dual memory platforms
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US10445232B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Determining control states for address mapping in non-volatile memories
US10445251B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US10452560B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US9921969B2 (en) 2015-07-14 2018-03-20 Western Digital Technologies, Inc. Generation of random address mapping in non-volatile memories using local and global interleaving
US10452533B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Access network for address mapping in non-volatile memories
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US20170091127A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Techniques to Couple with a Storage Device via Multiple Communication Ports
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
TWI582684B (zh) * 2015-11-10 2017-05-11 慧榮科技股份有限公司 儲存裝置及其任務執行方法、對應於儲存裝置的主機及其任務執行方法、以及應用於儲存裝置的控制單元
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
KR102395195B1 (ko) * 2016-01-07 2022-05-10 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11231858B2 (en) 2016-05-19 2022-01-25 Pure Storage, Inc. Dynamically configuring a storage system to facilitate independent scaling of resources
US10691567B2 (en) 2016-06-03 2020-06-23 Pure Storage, Inc. Dynamically forming a failure domain in a storage system that includes a plurality of blades
US10353588B1 (en) * 2016-06-30 2019-07-16 EMC IP Holding Company LLC Managing dynamic resource reservation for host I/O requests
US11706895B2 (en) 2016-07-19 2023-07-18 Pure Storage, Inc. Independent scaling of compute resources and storage resources in a storage system
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
KR102409760B1 (ko) * 2017-03-17 2022-06-17 에스케이하이닉스 주식회사 메모리 시스템
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10140222B1 (en) 2017-07-06 2018-11-27 Micron Technology, Inc. Interface components
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
JP7010667B2 (ja) * 2017-11-06 2022-01-26 キオクシア株式会社 メモリシステムおよび制御方法
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11416395B2 (en) 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US20190243787A1 (en) * 2018-02-05 2019-08-08 Micron Technology, Inc. Memory Systems having Controllers Embedded in Packages of Integrated Circuit Memory
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
CN108334459B (zh) * 2018-02-27 2020-11-13 联芸科技(杭州)有限公司 一种多端口固态硬盘的实现方案
TWI689816B (zh) * 2018-03-06 2020-04-01 群聯電子股份有限公司 區塊管理方法、記憶體控制電路單元與記憶體儲存裝置
CN110275668B (zh) * 2018-03-14 2022-09-13 群联电子股份有限公司 区块管理方法、存储器控制电路单元与存储器存储装置
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US10635610B1 (en) * 2019-03-14 2020-04-28 Toshiba Memory Corporation System and method for serial interface memory using switched architecture
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US11211136B2 (en) * 2019-06-26 2021-12-28 Micron Technology, Inc. Memory system tester using test pad real time monitoring
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
WO2021113420A1 (en) * 2019-12-03 2021-06-10 Burlywood, Inc. Adaptive wear leveling using multiple partitions
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
KR20210158579A (ko) * 2020-06-24 2021-12-31 삼성전자주식회사 용량 확장성을 가지는 스토리지 시스템 및 그 구동 방법
US11210168B1 (en) * 2020-06-25 2021-12-28 Micron Technology, Inc. Error handling optimization in memory sub-system mapping
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
JP2022188572A (ja) * 2021-06-09 2022-12-21 キオクシア株式会社 半導体装置、メモリシステム、及びチップ
US11556467B1 (en) * 2021-07-13 2023-01-17 Micron Technology, Inc. Optimizing garbage collection that uses a logical-to-physical table search
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235685A (en) 1989-05-11 1993-08-10 Data General Corp. Interface bus with independent data, command and direct control sections for parallel transfer of information between host and intelligent storage
US5278961A (en) 1990-02-22 1994-01-11 Hewlett-Packard Company Physical address to logical address translator for memory management units
US5787445A (en) 1996-03-07 1998-07-28 Norris Communications Corporation Operating system including improved file management for use in devices utilizing flash memory as main memory
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US7690031B2 (en) 2000-01-06 2010-03-30 Super Talent Electronics, Inc. Managing bad blocks in flash memory for electronic data flash card
US7953931B2 (en) 1999-08-04 2011-05-31 Super Talent Electronics, Inc. High endurance non-volatile memory devices
US7827348B2 (en) 2000-01-06 2010-11-02 Super Talent Electronics, Inc. High performance flash memory devices (FMD)
US8266367B2 (en) * 2003-12-02 2012-09-11 Super Talent Electronics, Inc. Multi-level striping and truncation channel-equalization for flash-memory system
US8341332B2 (en) * 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
KR100437609B1 (ko) 2001-09-20 2004-06-30 주식회사 하이닉스반도체 반도체 메모리 장치의 어드레스 변환 방법 및 그 장치
US7529752B2 (en) 2002-09-18 2009-05-05 Netezza Corporation Asymmetric streaming record data processor method and apparatus
TWI227409B (en) * 2003-06-05 2005-02-01 Carry Computer Eng Co Ltd Storage device capable of enhancing transmission speed
US7139863B1 (en) * 2003-09-26 2006-11-21 Storage Technology Corporation Method and system for improving usable life of memory devices using vector processing
JP3912355B2 (ja) * 2003-10-14 2007-05-09 ソニー株式会社 データ管理装置、データ管理方法、不揮発性メモリ、不揮発性メモリを有する記憶装置及びデータ処理システム
US20090204872A1 (en) * 2003-12-02 2009-08-13 Super Talent Electronics Inc. Command Queuing Smart Storage Transfer Manager for Striping Data to Raw-NAND Flash Modules
US7366864B2 (en) * 2004-03-08 2008-04-29 Micron Technology, Inc. Memory hub architecture having programmable lane widths
JP4828816B2 (ja) 2004-10-25 2011-11-30 株式会社東芝 メモリカード、半導体装置、及びメモリカードの制御方法
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US7934049B2 (en) * 2005-09-14 2011-04-26 Sandisk Corporation Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
KR101128172B1 (ko) * 2006-03-21 2012-03-23 엘지전자 주식회사 컴퓨터 시스템의 스토리지 제어장치 및 방법
US8024508B2 (en) 2006-03-21 2011-09-20 Lg Electronics Inc. Computer storage control
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
JP5214587B2 (ja) * 2006-03-31 2013-06-19 モスエイド テクノロジーズ インコーポレイテッド フラッシュメモリシステムコントロールスキーム
US7586784B2 (en) 2006-06-09 2009-09-08 Micron Technology, Inc. Apparatus and methods for programming multilevel-cell NAND memory devices
JP4945183B2 (ja) 2006-07-14 2012-06-06 株式会社東芝 メモリコントローラ
CN101118783A (zh) * 2006-09-07 2008-02-06 晶天电子(深圳)有限公司 带有闪存坏块控制系统的电子数据闪存卡
JP4942446B2 (ja) 2006-10-11 2012-05-30 株式会社日立製作所 ストレージ装置及びその制御方法
US8010768B2 (en) 2007-05-09 2011-08-30 Kingston Technology Corporation Secure and scalable solid state disk system
US20100017650A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporation, U.S.A Non-volatile memory data storage system with reliability management
US20100017556A1 (en) * 2008-07-19 2010-01-21 Nanostar Corporationm U.S.A. Non-volatile memory storage system with two-stage controller architecture
KR100974215B1 (ko) * 2008-10-02 2010-08-06 주식회사 하이닉스반도체 반도체 스토리지 시스템 및 그 제어 방법

Also Published As

Publication number Publication date
KR101274306B1 (ko) 2013-06-13
KR20110095935A (ko) 2011-08-25
WO2010080141A2 (en) 2010-07-15
US8412880B2 (en) 2013-04-02
CN102272745B (zh) 2014-11-26
CN102272745A (zh) 2011-12-07
US20130219113A1 (en) 2013-08-22
US20100174851A1 (en) 2010-07-08
EP2377027A2 (en) 2011-10-19
EP2377027B1 (en) 2014-05-14
TWI484341B (zh) 2015-05-11
JP2012514808A (ja) 2012-06-28
EP2377027A4 (en) 2012-12-12
US9104555B2 (en) 2015-08-11
TW201102827A (en) 2011-01-16
WO2010080141A3 (en) 2010-09-23
TW201418989A (zh) 2014-05-16

Similar Documents

Publication Publication Date Title
JP5453661B2 (ja) メモリシステムコントローラ
JP6163532B2 (ja) メモリシステムコントローラを含む装置
CN107301134B (zh) 存储装置中的磨损均衡
EP2715730B1 (en) Apparatus including memory system controllers and related methods for memory management using blok tables
EP2715729B1 (en) Apparatus including memory system controllers and related methods
CN108874303B (zh) 非易失性存储器命令冲突避免的储存系统和方法
TWI432965B (zh) 具有複數個結構之記憶體系統及其操作方法
US8099543B2 (en) Methods of operarting memory devices within a communication protocol standard timeout requirement
EP3926451B1 (en) Communication of data relocation information by storage device to host to improve system performance
WO2015085414A1 (en) System and method of operation for high capacity solid-state drive
US20230384966A1 (en) Storage System and Method for Data Placement in Zoned Storage
US20220075560A1 (en) NVMe Simple Copy Command Support Using Dummy Virtual Function
US11409468B2 (en) Storage system and method for using proactive device timeout information
US11550487B2 (en) Data storage device and method for enabling endurance re-evaluation
US20220269425A1 (en) Data Storage Device and Method for Enabling Higher Lane Utilization in Run Time Via Device Hints on Workload Patterns
CN114730287A (zh) 具有由主机选择的控制水平的基于分区的设备
KR20200044308A (ko) 스토리지 장치 및 서버 장치

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130501

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130501

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131217

R150 Certificate of patent or registration of utility model

Ref document number: 5453661

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250