JP2020524849A - 不揮発性のメモリシステム又はサブシステム - Google Patents

不揮発性のメモリシステム又はサブシステム Download PDF

Info

Publication number
JP2020524849A
JP2020524849A JP2019570140A JP2019570140A JP2020524849A JP 2020524849 A JP2020524849 A JP 2020524849A JP 2019570140 A JP2019570140 A JP 2019570140A JP 2019570140 A JP2019570140 A JP 2019570140A JP 2020524849 A JP2020524849 A JP 2020524849A
Authority
JP
Japan
Prior art keywords
memory
memory array
data
processor
soc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019570140A
Other languages
English (en)
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 JP2020524849A publication Critical patent/JP2020524849A/ja
Priority to JP2021205633A priority Critical patent/JP2022031959A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

不揮発性メモリセルに関するシステム、デバイス、及び方法が説明される。不揮発性メモリアレイは、システムオンチップ(SoC)又はプロセッサのためのメインメモリアレイとして用いられ得る。コントローラは、異なるページサイズ又はアクセス時間条件等を含む不揮発性メモリの動作の特徴に依存しないプロトコルを使用して、不揮発性メモリアレイとSoC又はプロセッサとの間をインタフェースで連結し得る。SoC又はプロセッサと不揮発性メモリアレイとの間の動作を容易にするために、コントローラにおける仮想メモリバンクが用いられ得る。コントローラは、高速なデータ動作を容易にするためにバッファと結合され得、コントローラは、仮想メモリバンク又はバッファ内に蓄積されたデータに対処するために、不揮発性アレイにおけるデータに選択的にアクセスするように構成され得る。コントローラ、仮想メモリバンク、及びバッファは、SoC又はプロセッサとは別個の1つのチップ上に構成され得る。【選択図】図5

Description

[クロスリファレンス]
特許のための本出願は、本願の譲受人に与えられた2017年6月22日に出願の“Non−Volatile Memory System or Sub−System”という名称のHasbunによる米国特許出願番号15/630,330の優先権を主張し、参照によりその全体が本明細書に明白に組み込まれる。
以下は、一般的に、メモリシステムに関し、より具体的には、不揮発性のメモリシステム又はサブシステムに関する。
メモリシステムは、コンピュータ、無線通信デバイス、モノのインターネット、カメラ、及びデジタル表示装置等の多数の電子デバイス内の情報を管理するために1つ以上のバスを介して結合された各種のメモリデバイス及びコントローラを含み得る。メモリデバイスは、こうした電子デバイス内に情報を蓄積するために幅広く使用される。情報は、メモリセルの異なる状態をプログラムすることによって蓄積される。例えば、バイナリデバイスは、論理“1”又は論理“0”によりしばしば示される2つの状態を有する。3つ以上の状態がメモリセル内に蓄積されてもよい。
磁気ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ダイナミックRAM(DRAM)、同期型ダイナミックRAM(SDRAM)、強誘電体RAM(FeRAM)、磁気RAM(MRAM)、抵抗変化RAM(RRAM)、フラッシュメモリ、相変化メモリ(PCM)、及び3次元クロスポイントメモリ(3D
XPoint(登録商標)メモリ)等を含む様々な種類のメモリデバイスが存在する。メモリデバイスは揮発性又は不揮発性であり得る。不揮発性メモリセル、例えば、FeRAMセルは、外部電源が存在しなくても長時間、それらの蓄積された論理状態を維持し得る。揮発性メモリセル、例えば、DRAMセルは、外部電源により定期的にリフレッシュされない限り、それらの蓄積状態を時間と共に喪失し得る。FeRAMは、揮発性メモリと同様のメモリデバイスアーキテクチャを使用し得るが、他の不揮発性及び揮発性のメモリデバイスと比較して改善した性能を有し得る。
メモリシステムの改善は、一般的に、メトリックの中でもとりわけ、システム電力消費の削減、メモリシステム容量の増加、読み出し/書き込み速度の改善、パーシステントメインメモリの使用による不揮発性の提供、又はある一定の性能ポイントにおける製造コストの削減等のメモリシステム性能の増加を含み得る。しかしながら、改善されるメモリシステムは、他の技術によって未だサポートされていない新たな技術又はプロトコルをしばしば活用し、又は改善されるメモリシステムは、より早期の技術との後方互換性がある場合には広範囲のアプリケーションでの解決策を提供し得る。
本明細書の開示は、以下の図面に言及し、以下の図面を含む。
本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムを含むシステムの図を示す。 本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする非線形電気特性の一例を説明する。 本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする回路の一例を説明する。 本開示の実施形態に従った例示的な不揮発性のメモリシステム又はサブシステムを説明する。 本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする例示的なメモリシステムを説明する。 本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートするプロトコルの例示的な概略図を説明する。 本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムを動作するための方法を説明するフローチャートを示す。
不揮発性メモリアレイは、システムオンチップ(SoC)又はプロセッサのためのメインメモリアレイとして用いられ得る。この種のシステムは、揮発性メモリアレイを用いるシステムに対し、高いシステム性能、高い面密度、及び低いシステム電力消費を含む利益を提供し得る。様々なアプリケーションにおいてこれらの利益を実現するために、本明細書で説明する技術は、レガシーメモリシステムアーキテクチャを用いた動作のために設計されたSoC又はプロセッサとの後方互換性を提供するために用いられ得る。例えば、本開示は、不揮発性メモリ動作の特徴に実質的に依存しなくてもよい(agnostic)プロトコルを使用してSoC又はプロセッサを用いた動作を容易にし得る、メモリサブシステム内のインタフェースコントローラを含む。本明細書で開示される不揮発性のメモリシステム又はサブシステムはまた、電力消費が重要な設計要因であり得るモバイル環境でのデスクトップアプリケーションを可能にし得る。
本明細書で説明されるようなシステムは、SoC又はプロセッサ、メモリサブシステム、及びストレージを含み得る。該システムは、様々なコンポーネントを相互に結合するように構成された複数のバスをも含み得る。メモリサブシステムは、不揮発性メモリ、仮想メモリバンク、及びインタフェースコントローラを含み得る。インタフェースコントローラは、バスの内の1つを介してSoC/プロセッサと共に動作するように構成され得る。例えば、バスの内の1つを介してDRAMインタフェースを使用してSoC/プロセッサとの動作を容易にするために、インタフェースコントローラは、仮想メモリバンクを利用して不揮発性メモリと共に動作するように構成され得る。仮想メモリバンクは、DRAMセルを用いて構築され得、例えば、ページサイズ、タイミング条件等を決定し得る低電力ダブルデータレート(LPDDR)の仕様に準拠して動作するように構成され得る。ページサイズは、一般的に、以下で別段の定めが特にない限り、様々なインタフェースで扱われるデータのサイズを指す。また、メモリサブシステムは、DRAMバッファとして構築され得るバッファを更に含み得る。該バッファは、インタフェースコントローラと共に動作するように構成され得、SoC/プロセッサにより直接アクセス可能であるように構成され得る。
以下で詳細に説明するように、インタフェースコントローラは、DRAMページサイズをエミュレートするために仮想メモリバンクを利用し得、それは、SoC/プロセッサとの動作を容易にし得る。実例として、仮想メモリバンクは、DRAMページサイズ(例えば、LPDDRの仕様で指定されたページサイズ)を有するように構成され得る。また、本明細書で説明されるとき、仮想メモリバンクは、不揮発性メモリのページサイズに対応する部分又は要素を有するように構成され得る。例えば、LPDDRの仕様に準拠したDRAMページサイズは、不揮発性メモリのページサイズの上位セットであり得、DRAMページサイズでの使用のために構成されたSoC/プロセッサと共に動作しつつ、不揮発性メモリアレイ内の異なるページサイズを使用することの利益をシステムが活用することを可能にし得る。不揮発性メモリは、様々なページサイズをサポートするように構成され得る。
インタフェースコントローラはまた、仮想メモリバンク又はバッファを活用することによって、低レイテンシ又は電力動作の削減を可能にし得る。例えば、SoC/プロセッサから読み出しコマンドを受信すると、インタフェースコントローラは、仮想メモリバンク又はバッファからSoC/プロセッサへデータを送信することを試行し得る。仮想メモリバンク又はバッファ内にデータが存在しない場合、インタフェースコントローラは、不揮発性メモリからデータを検索し得、データをSoC/プロセッサへ送信しつつ、仮想メモリバンク内にデータを蓄積し得る。インタフェースコントローラは、本明細書で説明するプロトコルに従って仮想メモリバンクの動作を管理し得る。例えば、不揮発性メモリからの有効データを仮想メモリバンクの如何なる部分が蓄積するかを指し示すためにフラグのセットは使用され得る。SoC/プロセッサから書き込みコマンドを受信すると、インタフェースコントローラは、仮想メモリバンクにおいてデータを蓄積し得る。不揮発性メモリ内のコンテンツから修正されたデータのみをインタフェースコントローラが保存することを可能にするように、フラグの別のセットは、不揮発性メモリのコンテンツとは異なる有効データを仮想メモリバンクの部分が何時蓄積するかを示し得る。
更に、以下で詳細に説明するように、インタフェースコントローラは、仮想メモリバンクからのデータをSoC/プロセッサがもはや必要としない場合に何処に蓄積するかを判定し得る。インタフェースコントローラは、仮想メモリバンクのコンテンツを監視及び識別し得る。また、インタフェースコントローラは、ある一定の時間間隔の間のSoC/プロセッサによる仮想メモリバンクのコンテンツへのアクセスの試行数を記録するカウンタを有し得る。例として、SoC/プロセッサによるアクセスの試行数が所定の閾値未満であることをカウンタが示す場合、インタフェースコントローラは、SoC/プロセッサが短期間内にデータにアクセスする必要がないことがあると予測する修正データを不揮発性メモリ内に蓄積し得る。インタフェースコントローラは、該データが修正されていないと判定した後にデータを破棄し得る。又は、SoC/プロセッサによるアクセスの試行数が所定の閾値以上であることをカウンタが指し示す場合、インタフェースコントローラは、SoC/プロセッサがデータに直ぐにアクセスする必要があり得ることを予測するデータをバッファ内に蓄積し得る。こうした判定にシステム環境全体を考慮させるために、インタフェースコントローラに対する様々な基準(例えば、カウンタの値、クロック、時限等を含む基準)を当業者は工夫可能であるべきである。また、仮想メモリバンクのコンテンツをバッファにバイパス保存するために、SoC/プロセッサによるアクセスの試行数が所定の閾値未満である場合、カウンタはバイパスインジケータをセットアップし得る。バイパスインジケータは、仮想メモリバンクの修正されたコンテンツを不揮発性メモリに直接保存するためにその後使用され得る。
前述の論考は開示の概要を提供する。上で紹介した機構及び技術は、メモリシステム又はサブシステムのアーキテクチャ並びに関連するプロトコルの観点で以下で更に説明される。不揮発性のメモリシステム又はサブシステムをサポートするコントローラ及びシステムバスと組み合わせて、メモリシステム又はサブシステムに対する具体例がその後説明される。開示のこれら又はその他の機構は、更に、不揮発性のメモリシステム又はサブシステムに関する装置図、システム図、及びフローチャートによって説明され、それらを参照しながら説明される。
図1は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムを含むシステム100の図を示す。システム100はデバイス105を含み得る。デバイス105は、SoC又はプロセッサ130、インタフェースコントローラ120、並びに様々なメモリデバイス170、175、及び180を含み得る。デバイス105は、入力/出力コントローラ135、ベーシックインプット/アウトプットシステム(BIOS)コンポーネント125、ボードサポートパッケージ(BSP)126、周辺コンポーネント14
0、ダイレクトメモリアクセスコントローラ(DMAC)160をも含み得る。デバイス105のコンポーネントは、バス110を通じて相互に電子通信し得る。
デバイス105は、コンピューティングデバイス、電子デバイス、モバイルコンピューティングデバイス、又は無線デバイスであり得る。デバイス105は、携帯電子デバイスであり得る。デバイス105は、コンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、セルラーフォン、ウエアラブルデバイス、又はインターネット接続デバイス等であり得る。幾つかの例では、デバイス105は、基地局又はアクセスポイントを介した双方向の無線通信のために構成される。幾つかの例では、デバイス105は、機械タイプ通信(MTC)、機械間(M2M)通信、又はデバイス間(D2D)通信が可能である。デバイス105は、ユーザ装置(UE)、局(STA)、又はモバイル端末等と称され得る。
SoC/プロセッサ130は、様々なメモリデバイス170、175、180又はそれらの任意の組み合わせと共に、直接又はインタフェースコントローラ120を介して動作するように構成され得る。幾つかの場合、SoC/プロセッサ130は、インタフェースコントローラ120の機能を実施し得る。SoC/プロセッサ130は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)若しくはその他のプログラム可能論理デバイス、分離したゲート若しくはトランジスタロジック、分離したハードウェアコンポーネントであり得、又はこれらの種類のコンポーネントの組み合わせであり得る。
インタフェースコントローラ120は、SoC/プロセッサ130と共に動作するように構成され得る。インタフェースコントローラ120はまた、様々なメモリデバイス170、175、180、又はそれらの任意の組み合わせと共に動作するように構成され得る。
メモリデバイス170は、デジタル情報を蓄積するためのメモリセルの1つ以上のアレイを各々含み得る。メモリデバイス170は、SoC/プロセッサ130又はインタフェースコントローラ120と共に動作するように構成され得る。幾つかの例では、メモリデバイス170は、SoC/プロセッサ130又はインタフェースコントローラ120に対するメモリバンクのためのバッファメモリとしての役割を果たすように構成され得る。幾つかの例では、1つ以上のメモリデバイス170がデバイス105内に存在し得る。
メモリデバイス175は、2つ以上のティア内に構築されたメモリセルのアレイと共に動作するように構成されたローカルメモリコントローラを含み得る。メモリデバイス175のローカルメモリコントローラはまた、SoC/プロセッサ130と共に動作するように構成され得る。メモリデバイス175のローカルメモリコントローラは、SoC/プロセッサ130と共に効果的に動作するために、メモリセルの異なる特徴を扱うように構成され得る。幾つかの例では、第1のティアのメモリセルは、様々な作業負荷を扱うために短い応答時間で数の大きな入出力動作毎秒(IOPS)を提供し得る3次元クロスポイント(3D XPoint(登録商標))メモリであり得る。幾つかの例では、第2のティアのメモリセルは、第1のティアのメモリセルよりも相対的に低コストでデータストレージに対する高い容量をし得る3次元否定論理積(NAND)メモリであり得る。メモリデバイス175は、幾つかの場合、メモリアレイのその他の種類又は組み合わせを含み得る。
メモリデバイス180は、メモリセルの1つ以上のアレイと共に動作するように構成されたローカルメモリコントローラを含み得る。メモリデバイス180のローカルメモリコントローラは、SoC/プロセッサ130又はインタフェースコントローラ120と共に
動作するようにも構成され得る。幾つかの例では、メモリセルは、不揮発性若しくは揮発性のメモリセル、又は不揮発性及び揮発性のメモリセルの両者の組み合わせを含み得る。幾つかの例では、メモリデバイス180のローカルメモリコントローラは、メモリアレイが不揮発性メモリセル、例えば、強誘電体メモリセルを含むメモリアレイに対して、様々なページサイズを扱うように構成され得る。幾つかの例では、ページサイズは、メモリアレイが揮発性メモリセル、例えば、DRAMセルを含むメモリアレイに対して、ある一定サイズで固定され得る。幾つかの例では、1つ以上のメモリデバイス180がデバイス105内に存在し得る。
DMAC160は、SoC/プロセッサ130がメモリデバイス170、175、又は180と共にダイレクトメモリアクセスを実施することを可能にし得る。例えば、DMAC160は、インタフェースコントローラ120の関与又は動作なしにメモリデバイス170、175、又は180に直接アクセスするようにSoC/プロセッサ130をサポートし得る。
周辺コンポーネント140は、デバイス105に統合され得る、入力若しくは出力デバイス、又はそうしたデバイスのためのインタフェースであり得る。例示として、ディスクコントローラ、音声コントローラ、画像コントローラ、イーサネットコントローラ、モデム、ユニバーサルシリアルバス(USB)コントローラ、シリアル若しくはパラレルポート、又はペリフェラルコンポーネントインタコネクト(PCI)若しくはアクセラレーテッドグラフィックスポート(AGP)スロット等の周辺カードスロットが挙げられ得る。周辺コンポーネント140は、周辺装置として当業者により理解されるその他のコンポーネントであってもよい。
BIOSコンポーネント125又はボードサポートパッケージ(BSP)126は、ファームウェアとして動作するベーシックインプット/アウトプットシステム(BIOS)を含むソフトウェアコンポーネントであり得、それは、システム100の様々なハードウェアコンポーネントを初期化し得、稼働し得る。BIOSコンポーネント125又はBSP126は、SoC/プロセッサ130と様々なコンポーネント、例えば、周辺コンポーネント140、入力/出力コントローラ135等との間のデータの流れをも管理し得る。BIOSコンポーネント125又はBSP126は、リードオンリーメモリ(ROM)、フラッシュメモリ、又は任意のその他の不揮発性メモリ内に蓄積されたプログラム又はソフトウェアを含み得る。
入力/出力コントローラ135は、SoC/プロセッサ130と周辺コンポーネント140、入力デバイス145、又は出力デバイス150との間のデータ通信を管理し得る。入力/出力コントローラ135は、デバイス105に統合されない周辺装置をも管理し得る。幾つかの場合、入力/出力コントローラ135は、外部の周辺装置への物理的接続又はポートを表し得る。
入力145は、デバイス105又はそのコンポーネントへの入力を提供する、デバイス105の外にあるデバイス又は信号を表し得る。これは、ユーザインタフェース、又はその他のデバイスとのインタフェース若しくはその他のデバイス間のインタフェースを含み得る。幾つかの場合、入力145は、周辺コンポーネント140を介してデバイス105とインタフェースで連結する周辺装置であり得、又は入力/出力コントローラ135によって管理され得る。
出力150は、デバイス105又はそのコンポーネントの何れかからの出力を受信するように構成された、デバイス105の外にあるデバイス又は信号を表し得る。出力150の例は、表示装置、音声スピーカ、プリントデバイス、又はプリント回路基板上の別のプ
ロセッサ等を含み得る。幾つかの場合、出力150は、周辺コンポーネント140を介してデバイス105とインタフェースで連結する周辺装置であり得、又は入力/出力コントローラ135によって管理され得る。
デバイス105のコンポーネントは、それらの機能を実行するように設計された回路で構成され得る。これは、本明細書で説明する機能を実行するように構成された様々な回路素子、例えば、導電線、トランジスタ、コンデンサ、インダクタ、抵抗器、アンプ、又はその他の能動若しくは受動素子を含み得る。
幾つかの場合、装置は、第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと関連付けられるインタフェースコントローラと、該インタフェースコントローラと結合されたシステムオンチップ(SoC)又はプロセッサと、インタフェースコントローラを介して第1のメモリアレイと結合され、SoC又はプロセッサと関連付けられる第2のページサイズに基づいてデータを蓄積するように構成され、第2のページサイズは第1のページサイズの上位セットであり得る第2のメモリアレイと、インタフェースコントローラ、SoC又はプロセッサ、若しくは第2のメモリアレイ、又はそれらの任意の組み合わせの内の少なくとも1つと結合された1つ以上のバスとを含み得る。
幾つかの場合、装置は、1つ以上のバスに結合された1つ以上のコンポーネントであって、入力及び出力(I/O)コントローラ、ベーシックインプットアウトプットシステム(BIOS)コンポーネント若しくはボードサポートパッケージ(BSP)、又はそれらの任意の組み合わせの内の少なくとも1つを含む該1つ以上のコンポーネントを更に含み得る。幾つかの場合、装置は、1つ以上のバスに結合されたダイレクトメモリアクセスコントローラ(DMAC)と、1つ以上のバスを介してインタフェースコントローラに結合され、揮発性メモリセルを含む第3のメモリアレイとを更に含み得る。幾つかの場合、第2のメモリアレイ、第3のメモリアレイ、及びインタフェースコントローラは同じチップ上に配備される。幾つかの場合、第1のページサイズは構成可能であり得る。幾つかの場合、装置は、1つ以上のバスを介してSoC又はプロセッサに結合され、不揮発性メモリセルを含む第4のメモリアレイを更に含み得る。
図2は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする非線形電気特性の一例を説明する。プロット200は、本明細書で説明する機構及び技術をサポートする例示的な特徴を説明するために提供される。その他の特徴及び材料特性は、これらの機構又は同様の機構をサポートし得る。プロット200−aは、強誘電体材料を使用するコンデンサに対する例示的なヒステリシス曲線を説明する。プロット200−bは、線形材料250又は常誘電体材料240を使用するコンデンサの例示的な分極を説明する。プロット200は、強誘電体の、線形の、又はパラリニアの(para-linear)材料を利用するメモリセルのコンデンサ上に蓄積された電荷Qをコンデンサに渡る
電圧差Vの関数として描写する。
強誘電体材料は、自発的電気分極により特徴付けられ、すなわち、それは、電界がない場合に非ゼロの電気分極を維持する。一方、線形又は常誘電体の材料は、外部の電界が存在する場合のみ分極を示す。強誘電体材料内の電気分極は、比較的長時間、無期限にさえ、外部に印加された電界がない場合にも維持され得るので、電荷漏洩は、例えば、DRAMアレイに用いられる常誘電体コンデンサと比較して顕著に減少し得る。それ故、強誘電体メモリセルは、DRAMセルと比較した場合にリフレッシュ動作を実施する必要性を削減又は省略し得る。
プロット200−aに描写するように、強誘電体材料は、ゼロの電圧差で正又は負の電荷を維持し得、2つの可能な充電状態:電荷状態205及び電荷状態210をもたらす。
図2の例に従うと、電荷状態205は論理0を表し、電荷状態210は論理1を表す。幾つかの例では、個別の電荷状態の論理値は逆にされてもよい。電荷状態205及び210は、残留分極(Pr)値、すなわち、外部のバイアス(例えば、電圧)を除去すると残留する分極(それ故、電荷)とも称され得る。本明細書で論じる強誘電体は、ハフニウム、ジルコニウム、酸素、又はそれらの任意の組み合わせを含む化合物であり得る。例えば、それは酸化ハフニウム又はジルコニアを含み得る。強誘電体材料を利用するメモリセルは、外部のバイアス/電圧の不存在の場合に、蓄積された電荷を維持するので、強誘電体メモリセルは“不揮発性メモリ”と呼ばれ得る。
プロット200−bは、線形材料250及び常誘電体材料240に対する例示的な分極曲線を説明する。図示するように、線形材料250の電荷Qは、印加される電圧Vに対して線形である。常誘電体材料240は、電圧に対して非線形な電荷を示す。分極プロット200−aに示した強誘電体材料と比較すると、しかしながら、線形材料250及び常誘電体材料240の両者は、ゼロの電圧でゼロの電荷を有する。線形材料250又は常誘電体材料240を利用するコンデンサに非ゼロの電圧を印加することによって、異なる論理状態が蓄積され得る。例えば、正の電圧270に対応する電荷状態205−b及び205−cは、常誘電体材料240及び線形材料250に対する論理0を夫々表し得る。負の電圧も同様に使用され得る。ゼロの電荷(電荷状態260)は、線形材料250及び常誘電体材料240に対する論理1を表し得る。線形又はパラリニアのコンデンサは、充電される場合にコンデンサに渡って非ゼロの電圧を有するので、コンデンサから漏洩する電子に対してはエネルギー的に好都合であり得る。したがって、線形又はパラリニアのコンデンサ内に蓄積された電荷が論理0ともはや看做されないレベルに到達し、蓄積された論理状態が破損又は喪失されるまで、蓄積された電荷は漏洩し得る。したがって、線形材料250又は常誘電体材料240の何れかを利用するメモリセルは“揮発性メモリ”と呼ばれ得る。
不揮発性及び揮発性のメモリの両者は、有益な特徴を有し得、又は本明細書で説明する技術をサポート又は実装するために用いられ得る。
図3は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする回路の例を説明する。回路300は、本明細書で説明する機構又は技術をサポートする例示的な特徴を説明するために提供される。その他の回路構成は、これらの機構又は同様の機構をサポートし得る。回路300−aは、不揮発性のメモリシステム又はサブシステムをサポートする強誘電体メモリセルを有する強誘電体メモリアレイの行を表し得る。回路300−bは、レガシーのDRAMアレイの線形/パラリニア電気メモリセルを有する揮発性メモリアレイの行を表し得る。回路300は、図1を参照しながら説明したアレイの側面又は部分を説明し得る。
回路300−aは、強誘電体メモリ(FeRAM)セル310−a、ワード線340−a、ビット線350−a、及びプレート線360−aの行を含み得る。各強誘電体メモリセル310−aは、選択コンポーネント330−a及び強誘電体コンデンサ320−aを含み得る。幾つかの例では、選択コンポーネント330−aは電界効果トランジスタ(FET)であり得る。強誘電体コンデンサを有する強誘電体メモリセル310−aはFeRAMセルと称され得る。メモリセルの複数の行に共通の延伸したビット線350−aを用いて回路300−aの複数の行を繰り返すことによって、強誘電体メモリセルの2次元のアレイが配置され得ることは、当業者により評価されるべきである。
回路300−bは、線形/パラリニアメモリセル310−b、ワード線340−b、及びビット線350−bの行を含み得る。各線形/パラリニアメモリセルは、選択コンポーネント330−b及び線形/パラリニアコンデンサ320−bを含み得る。幾つかの例で
は、選択コンポーネント330−bは電界効果トランジスタ(FET)であり得る。線形/パラリニアコンデンサを有する線形/パラリニアメモリセル310−bはDRAMセルと称され得る。線形/パラリニアコンデンサの端子はグランド又は仮想接地に接続される。メモリセルの複数の行に共通の延伸したビット線350−bを用いて回路300−bの複数の行を繰り返すことによって、線形/パラリニアメモリセルの2次元のアレイが配置され得ることは、当業者により評価されるべきである。
メモリアクセス動作の間、メモリセルの行は、該行と関連付けられるワード線を活性化することによって活性化され得る。回路300−b内のDRAMセルの行が活性化された場合、DRAMコンデンサ320−bの他の端子がグランド又は仮想接地にされる一方で、DRAMコンデンサ320−bの端子がデジット線350−bに接続されて、各選択コンポーネント330−bは活性化される。同時に、DRAMコンデンサ320−b内に蓄積された電荷は“流動”するであろうし、こうした流動又はその欠如(すなわち、DRAMコンデンサ320−b内に蓄積された電荷が何らない場合)は、各デジット線350−bによって検出されなければならない。それ故、ワード線に接続されたDRAMセルの各々は、ワード線が活性化された場合にセンシングされる必要がある。DRAMのページサイズは、DRAM動作のこの性質に基づいて判定され得る。比較的小さなデータの塊のセンシング、ラッチ、及び制御をデジタル論理回路が実施することを繰り返すことと関連付けられる不合理なオーバヘッドを回避するために、DRAMの典型的なページサイズは、きわめて大きくなりがちである。例えば、DRAMの典型的なページサイズは2048バイトであり得る。
対照的に、回路300−a内のFeRAMセルの行が活性化された場合、強誘電体コンデンサ320−aの他の端子がプレート線360−aに接続される一方で、強誘電体コンデンサ320−aの端子がデジット線350−aに接続されて、各選択コンポーネント330−aは活性化される。強誘電体コンデンサ320−aのプレート間の強誘電体材料の性質を伴ったプレート線360−aは、デジット線350−aへの接続時に強誘電体コンデンサ320−aが放電することを防止し得る。プレート線360−aへの電圧を変更することによるFeRAMセル310−aの動作は、“セルプレートの移動”と称され得る。それ故、ワード線340−aに接続されたFeRAMセルのサブセットは、ワード線340−aに接続された全てのFeRAMセルをセンシングする必要なく一度にセンシングされ得る。FeRAMセル動作のこうした性質は、DRAMの典型的なページサイズよりも小さな、FeRAMに対するページサイズを提供するために利用され得る。例えば、FeRAMの典型的なページサイズは64バイトであり得る。より小さなページサイズは、DRAMセルの動作よりも高電力を通常必要とするFeRAMセルの効率的な動作を可能にし得る。情報中の関連する変更が小さい場合にはFeRAMアレイの小さな部分のみが活性化される必要があり得るので、より小さなページサイズは、FeRAMデバイスの動作の間の効率的なエネルギー使用を容易にし得る。更に、FeRAMセルのアレイに対するページサイズは、FeRAM動作を利用するデータ及びコマンドの性質に依存して変更され得る。
DRAMを含む幾つかのメモリデバイスアーキテクチャでは、メモリセルは、外部の電源によって定期的にリフレッシュされない限り、それらの蓄積状態を時間と共に喪失し得る。例えば、線形/パラリニア材料を有する充電されたコンデンサは、リーク電流を通じて時間と共に放電され得、蓄積された情報の喪失をもたらす。これらの揮発性メモリデバイスのリフレッシュレートは比較的高いことがあり、例えば、DRAMアレイに対しては毎秒数十回のリフレッシュ動作であり得、それは、著しいシステム電力消費をもたらし得る。より大きなメモリアレイの増加と共に、電力消費の増加は、特に、電池等の有限の電源に依存するモバイルデバイスのためのメモリシステム又はサブシステム内のメモリアレイの配備又は動作(例えば、電力供給、発熱、材料限界等)を阻害し得る。
上で論じたように、強誘電体メモリデバイスは、それらのエネルギー効率がよい可変のページサイズ動作に起因する利益と、リフレッシュ動作の欠如に起因する、ほぼゼロのスタンバイ電力等の強誘電体コンデンサの不揮発性の性質とを提供し得、そのことは、電池の寿命を増加させ得、スタンバイ又は非電力(例えば、“オフ”)状態に続く瞬時のオン動作、又は低いシステム電力消費を伴うメモリのより高い面密度等の機構を可能にし得る。不揮発性のメモリシステム又はサブシステムのこうした機構は、例えば、モバイル環境でデスクトップアプリケーションを稼働することを可能にし得る。
図4は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする例示的なシステム400を説明する。システム400は、図1を参照しながら説明したようなシステム100の一例であり得、デバイス410を含み得る。デバイス410は、図1を参照しながら説明したようなデバイス105の一例であり得る。デバイス410は、SoC/プロセッサ450、メモリサブシステム420、及びストレージ460を含み得る。SoC/プロセッサ450は、図1を参照しながら説明したようなSoC/プロセッサ130の一例であり得る。
メモリサブシステム420は、図1を参照しながら説明したようなメモリデバイス180の一例であり得る。ストレージ460は、図1を参照しながら説明したようなメモリデバイス175の一例であり得る。SoC/プロセッサ450は、バス480を介してストレージ460と共に、バス470及び475を介してメモリサブシステム420と共に動作するように構成され得る。幾つかの例では、バス480は、ペリフェラルコンポーネントインタコネクトエクスプレス(PCIe)、バス470の低電力ダブルデータレート(LPDDR)コマンド及びアドレス(CA)、並びにバス475のLPDDR入力/出力(I/O)をサポートするように構成され得る。幾つかの例では、メモリサブシステム420は、DRAMアレイの内の1つ以上であり得る。上で論じたように、DRAMセルは、外部の電源により定期的にリフレッシュされない限り、それらの蓄積状態を時間と共に喪失し得る。DRAMデバイスのリフレッシュレートは比較的高いことがあり、それは、他のメモリ技術と比較して高い電力消費をもたらし得る。より大きなDRAMメモリアレイの増加と共に、電力消費の増加は、特に、電池等の有限の電源に依存するモバイルデバイスのためのメモリサブシステム420内のDRAMメモリアレイの配備又は動作(例えば、電力供給、発熱、材料限界等)を阻害し得る。
幾つかの例では、メモリサブシステム420は、FeRAMアレイの内の1つ以上であり得る。他の例では、メモリサブシステム420は、FeRAMとは異なる不揮発性メモリ技術を用いる他の種類の不揮発性メモリデバイスであり得る。上で論じたように、FeRAMアレイは、特に、電池の電力消費が考慮する主要因の内の1つであり得るモバイルシステムにおいて、強誘電体コンデンサの不揮発性の性質に起因する、DRAMアレイを上回る利益を提供し得る。更に、FeRAMの不揮発性の性質は、揮発性のDRAMアレイ内に存在するデータを喪失しないように、電力断の時に対処する付加的な利益を提供し得る。但し、FeRAMは、データアクセス、ページサイズ等に関わるレイテンシ等、DRAMアレイと比較した場合に異なる特徴を提供し得るので、FeRAMアレイを含むメモリサブシステムは、システムの動作、又はバス470及び475の設計及び統合の他の側面に影響を与え得る。また、レガシーのコンポーネントと通信可能である、又はバス470及び475を介する等、レガシーのプロトコルを使用可能である代替的な解決方法を提供できることは、FeRAM技術から利益を受け得るアプリケーションの数を増加させ得る。
幾つかの場合、装置(例えば、メモリサブシステム420)は、第1のページサイズを有する不揮発性メモリセルを含み得る第1のメモリアレイと、システムオンチップ(So
C)又はプロセッサと関連付けられる第2のページサイズに基づいてデータを蓄積するように構成され得、第2のページサイズは第1のページサイズの上位セットであり得る第2のメモリアレイと、第2のページサイズを少なくとも部分的に用いて構成された揮発性メモリセルを含む第3のメモリアレイとを含み得る。装置は、SoC又はプロセッサ、第1のメモリアレイ、第2のメモリアレイ、及び第3のメモリアレイとインタフェースで連結するように構成されたコントローラをも含み得る。幾つかの場合、コントローラは、第1のメモリアレイにアクセスするためのメモリ動作コマンドをSoC又はプロセッサから受信することと、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かを判定し、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づき得ることと、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かの判定に基づいて、第1のメモリアレイ又は第2のメモリアレイにおいてメモリ動作コマンドを実行することとを動作可能であり得る。
図5は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする例示的なシステムを説明する。システム500は、図4を参照しながら説明したようなシステム400の一例であり得、デバイス510を含み得る。デバイス510は、図4を参照しながら説明したようなデバイス410の一例であり得る。デバイス510は、SoC/プロセッサ550、メモリサブシステム520、及びストレージ560を含み得る。SoC/プロセッサ550は、図4を参照しながら説明したようなSoC/プロセッサ450の一例であり得る。メモリサブシステム520は。図4を参照しながら説明したようなメモリサブシステム420の一例であり得る。ストレージ560は、図4を参照しながら説明したようなストレージ460の一例であり得る。バス580は、図4を参照しながら説明したようなバス480の一例であり得、SoC/プロセッサ550は、バス580を介してストレージ560と共に動作するように構成され得る。バス570は、図4を参照しながら説明したようなバス470の一例であり得る。バス575は、図4を参照しながら説明したようなバス475の一例であり得る。SoC/プロセッサ550は、バス570及び575を介してメモリサブシステム520と共に動作するように構成され得る。幾つかの例では、SoC/プロセッサ550は、キャッシュメモリ555としての機能を果たすために同じ基板上に配備されたローカルメモリアレイを有するように構成され得る。
メモリサブシステム520は、不揮発性メモリ525、仮想メモリバンク535、及びインタフェースコントローラ530を含み得る。不揮発性メモリ525は、図1を参照しながら説明したようなメモリデバイス180の一例であり得る。仮想メモリバンク535は、図1を参照しながら説明したようなメモリデバイス170の一例であり得る。インタフェースコントローラ530は、図1を参照しながら説明したようなインタフェースコントローラ120の一例であり得る。インタフェースコントローラ530は、バス570及び575を介してSoC/プロセッサ550と共に動作するように構成され得る。バス570及び575は、図4を参照しながら説明したようなバス470及び475の夫々例示であり得る。幾つかの例では、仮想メモリバンク535は、DRAMセルと共に構築され得、LPDDRの仕様、例えば、ページサイズ、タイミング条件等に準拠して動作するように構成され得、バス570及び575を介する等、レガシーのコンポーネントと共に又はレガシーのプロトコルを使用して仮想メモリバンク535が動作を容易にし得るようにLPDDRの仕様に基づき得る。また、インタフェースコントローラ530は、バス571及び576を介して不揮発性メモリ525と共に動作するように構成され得る。幾つかの例では、インタフェースコントローラ530は仮想メモリバンク535を含み得る。仮想メモリバンク535と協働するインタフェースコントローラ530は、LPDDRの仕様、例えば、ページサイズ、タイミング条件等に準拠してSoP/プロセッサ550と共に動作するように構成され得る。
幾つかの例では、メモリサブシステム520はバッファ540を更に含み得る。幾つかの例では、バッファ540は、DRAMバッファとして構築され得る。バッファ540は、図1を参照しながら説明したようなメモリデバイス170又は180の一例であり得る。また、インタフェースコントローラ530は、バス572及び577を介してバッファ540と共に動作するように構成され得る。幾つかの例では、バス572はバッファCAバスであり得る。幾つかの例では、バス577はインタフェース(IF)バッファI/Oバスであり得る。インタフェースコントローラ530並びにバス572及び577は、LPDDRのページサイズ及びタイミング等のDRAMに関わるプロトコルと互換性があるように構成され得る。幾つかの例では、SoC/プロセッサ550は、バス575を介してバッファ540と共に直接動作するように構成され得る。幾つかの例では、バッファ540は、バス575と互換性があって、従ってSoC/プロセッサ550によって直接アクセス可能なページサイズを有するように構成され得る。
メモリシステムのドメイン内に存在するバッファ540は、SoC/プロセッサ550内のキャッシュメモリ555の増強として動作するように構成され得る。幾つかの例では、バッファ540の容量は、256メガバイトのオーダーであり得る。幾つかの例では、バッファ540の容量は、SoC/プロセッサ550内のキャッシュメモリ555のサイズに基づいて判定され得る。バッファ540の比較的小さな容量は、潜在的により小さな寄生要素、例えば、金属線と関連付けられるインダクタンスが原因で、より大きな容量の典型的なDRAMよりもより良く実施する機会をメモリサブシステム520に提供し得る。バッファ540のより小さな容量は、周期的なリフレッシュ動作と関連付けられるシステム電力消費を削減する観点で付加的な利益を提供し得る。
メモリサブシステム520は、1チップ型及び複数チップ型を含む様々な構成で実装され得る。1チップ型は、インタフェースコントローラ530、仮想メモリバンク535、及び不揮発性メモリ525を単一のチップ上に含み得る。幾つかの例では、バッファ540は単一のチップ内に含まれ得る。一方、複数チップ型は、メモリサブシステム520内の構成要素の各1つ、すなわち、インタフェースコントローラ530、仮想メモリバンク535、不揮発性メモリ525、及びバッファ540を単一のチップ内に別々に有し得る。複数チップ型のバリエーションは、仮想メモリバンク535及びインタフェースコントローラ530の両方を有するチップを含み得る。また、複数チップ型は、別個のチップ上に実装されたバッファ540を更に含み得る。バリエーションは、仮想メモリバンク535を含むためのバッファ540を有し得る。更に別の例では、複数チップ型は、不揮発性メモリ及びバッファを同じチップ上に含み得る。幾つかの例では、不揮発性メモリアレイはDRAMセルのアレイを含み得る。幾つかの場合、インタフェースコントローラ530、仮想メモリバンク535、及びバッファ540は同じチップ上に配備され得る。
幾つかの例では、不揮発性メモリ525は、ローカルメモリコントローラ526を有するFeRAMのアレイであり得る。幾つかの例では、不揮発性メモリ525は、ストレージ560と比較して、SoC/プロセッサ550の不揮発性ニアメモリを指し得る。ニアメモリとしての不揮発性メモリ525は、例えば、ストレージ560からデータを検索することと関連付けられ得るオーバヘッドを制限又は回避し得る。
幾つかの例では、不揮発性メモリ525の容量は、32ギガバイトのオーダーであり得る。不揮発性メモリ525は、ストレージ560にアクセスする代わりに、予想外の電力断時に重要な情報を保存し得、ストレージ560にアクセスすることは、望まない遅延と関連付けられ得る。不揮発性メモリ525のローカルメモリコントローラ526は、不揮発性メモリ525に対する可変のページサイズを判定するように構成され得る。幾つかの例では、FeRAMのページサイズは、LPDDR DRAMのページサイズよりも小さくてもよく、LPDDR DRAMのページサイズは、FeRAMのページサイズの上位
セットであり得る。LPDDR DRAMのページサイズの一例は2048バイトであり得、FeRAMのページサイズの一例は64バイトであり得る。インタフェースコントローラ530は、バス571及び576を介して不揮発性メモリ525と共に動作するように構成され得る。幾つかの例では、バス571はFeRAM CAバスであり得る。幾つかの例では、バス576はFeRAMインタフェース(IF)バスであり得る。インタフェースコントローラ530並びにバス572及び576は、不揮発性メモリ525のページサイズと互換性があるように構成され得る。
幾つかの場合、装置は、第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと、第1のメモリアレイと結合され、システムオンチップ(SoC)又はプロセッサとインタフェースで連結するように構成された第1のコントローラと、第1のコントローラを介して第1のメモリアレイと結合され、SoC又はプロセッサと関連付けられる第2のページサイズに基づいてデータを蓄積するように構成され、第2のページサイズは第1のページサイズの上位セットである第2のメモリアレイとを含み得る。幾つかの場合、装置は、第1のコントローラと結合され、第2のページサイズを少なくとも部分的に用いて構成された第3のメモリアレイを更に含み得る。幾つかの場合、第2のメモリアレイ、第3のメモリアレイ、及び第1のコントローラは、同じチップ上に配備される。幾つかの場合、第1のページサイズを構成可能である。
幾つかの場合、第3のメモリアレイはSoC又はプロセッサに結合される。幾つかの場合、第3のメモリアレイは、Soc又はプロセッサの上にある。幾つかの場合、第3のメモリアレイは揮発性メモリセルを含む。幾つかの場合、第1のメモリアレイ及び第3のメモリアレイは第1のチップ上に配備される。幾つかの場合、第1のメモリアレイは第3のメモリアレイを含む。幾つかの場合、第1のメモリアレイ、第1のコントローラ、及び第2のメモリアレイは、第1のチップ上に配備される。幾つかの場合、装置は、SoC又はプロセッサを更に含み得、SoC又はプロセッサは、第1のコントローラを介して第1のメモリアレイと結合され、SoC又はプロセッサは、第1のチップとは別個の第2のチップ上に配備される。幾つかの場合、装置は、SoC又はプロセッサと結合された不揮発性メモリセルを含む付加的なメモリアレイを更に含み得る。幾つかの場合、付加的なメモリアレイは、SoC又はプロセッサと結合された不揮発性メモリセルの第1のグループと、不揮発性メモリセルの第1のグループを介してSoC又はプロセッサと結合された不揮発性メモリセルの第2のグループとを含む。
幾つかの場合、SoC又はプロセッサは、SoC又はプロセッサにおけるキャッシュメモリとして構成されたローカルメモリアレイを含む。幾つかの場合、装置は、第1のメモリアレイと結合され第1のメモリアレイと同じチップ上に配備され、第1のメモリアレイに対する第1のページサイズを判定するように構成された第2のコントローラを更に含み得る。幾つかの場合、第2のメモリアレイは、第1のメモリアレイの第1のページサイズに従ってデータを蓄積するように構成される。幾つかの場合、第2のメモリアレイは、第1のメモリアレイからの有効データを蓄積する第2のメモリアレイの1つ以上の部分を指し示す第1のフラグを蓄積するように構成される。幾つかの場合、第2のメモリアレイは、第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの1つ以上の部分を指し示す第2のフラグを蓄積するように構成される。幾つかの場合、第1のコントローラは、第2のメモリアレイを含み、第1のコントローラ及び第2のメモリアレイは同じチップ上に配備される。
幾つかの場合、装置は、第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと、第1のメモリアレイと結合され、システムオンチップ(SoC)又はプロセッサとインタフェースで連結するように構成されたローカルコントローラと、ローカルコントローラと結合され、第1のページサイズの上位セットである第2のページサイズ
に基づいてデータを蓄積するように構成された第2のメモリアレイと、ローカルコントローラと結合され、第2のページサイズに少なくとも部分的に従ってデータを蓄積するように構成された第3のメモリアレイとを含み得る。幾つかの場合、第2のメモリアレイ、第3のメモリアレイ、及びローカルコントローラは、同じチップ上に配備される。幾つかの場合、第1のページサイズは構成可能である。幾つかの場合、第2のページサイズはSoC又はプロセッサと関連付けられる。幾つかの場合、第3のメモリアレイはSoC又はプロセッサに結合される。
幾つかの場合、装置は、第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと、システムオンチップ(SoC)又はプロセッサと関連付けられる第2のページサイズに基づいてデータを蓄積するように構成され、第2のページサイズは第1のページサイズの上位セットである第2のメモリアレイと、第2のページサイズを少なくとも部分的に用いて構成された揮発性メモリセルを含む第3のメモリアレイと、SoC又はプロセッサ、第1のメモリアレイ、第2のメモリアレイ、及び第3のメモリアレイとインタフェースで連結するように構成され、第1のメモリアレイにアクセスするためのメモリ動作コマンドをSoC又はプロセッサから受信することと、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定し、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づくことと、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かの判定に基づいて、第1のメモリアレイ又は第2のメモリアレイにおいてメモリ動作コマンドを実行することとを動作可能であるコントローラとを含み得る。
幾つかの場合、第2のメモリアレイ、第3のメモリアレイ、及びインタフェースコントローラは同じチップ上に配備される。幾つかの場合、第1のページサイズは構成可能である。幾つかの場合、コントローラは、第1のメモリアレイからの有効データを蓄積する第2のメモリアレイの部分を各々指し示す1つ上の第1のフラグを検出すること、又は第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの部分を各々指し示す1つ以上の第2のフラグを検出すること、又は第1のフラグの内の1つ以上及び第2のフラグの内の1つ以上を検出することを動作可能である。幾つかの場合、メモリ動作コマンドは読み出しコマンドを含む。幾つかの場合、コントローラは、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定するように動作可能であり、第3のメモリアレイは、第2のページサイズを少なくとも部分的に用いて構成され、コントローラは、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定することに基づいて第3のメモリアレイからデータをフェッチすることと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを更に動作可能である。
幾つかの場合、コントローラは、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイに蓄積されていると判定し、第3のメモリアレイは、第2のページサイズを少なくとも部分的に用いて構成されることと、SoC又はプロセッサに第3のメモリアレイに直接アクセスさせることとを動作可能である。幾つかの場合、第1のコントローラは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されていると判定することに基づいて、第2のメモリアレイからデータをフェッチすることと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを動作可能である。幾つかの場合、第1のコントローラは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定することに基づいて、第1のメモリアレイからデータをフェッチすることと、第2のメモリアレイの1つ以上の部分内にデータを蓄積することと、第2のメモリアレイの1つ以上の部分内に蓄積された有効データを指し示す1つ以上の第1のフラグを更新することと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを動作可能である
幾つかの場合、メモリ動作コマンドは書き込みコマンドを含む。幾つかの場合、第1のコントローラは、第2のメモリアレイの1つ以上の部分内にデータを蓄積することと、第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの部分を指し示す1つ以上の第2のフラグを更新することとを動作可能である。幾つかの場合、SoC又はプロセッサからのメモリ動作コマンドは、時間間隔の間のSoC又はプロセッサによるアクセスの試行数に基づいて、第2のメモリアレイからのデータを第1のメモリアレイ又は第3のメモリアレイの何れかに書き込むためのコマンドを含む。幾つかの場合、第1のコントローラは、アクセスの試行数が閾値未満であることに基づいて、第1のメモリアレイにおいてデータを蓄積するように動作可能である。幾つかの場合、閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含む。幾つかの場合、第1のコントローラは、アクセスの試行数が閾値以上であることに基づいて、第3のメモリアレイにおいてデータを蓄積するように動作可能である。幾つかの場合、閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含む。
幾つかの場合、装置(例えば、メモリサブシステム520)は、第1のメモリアレイにアクセスするためのメモリ動作コマンドをSoC又はプロセッサから受信するための手段を含み得る。幾つかの場合、装置は、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かを判定するための手段を含み得、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づき得る。幾つかの場合、装置は、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かの判定に基づいて、第1のメモリアレイ又は第2のメモリアレイにおいてメモリ動作コマンドを実行するための手段を含み得る。
図6は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートするプロトコルの例示的な概略図を説明する。図6は、図5に示した様々なコンポーネントと併せて、仮想メモリバンク635とその詳細な側面とを示す。仮想メモリバンク635は、図5を参照しながら説明したような仮想メモリバンク535の一例であり得る。上で説明したように、仮想メモリバンク635は、インタフェースコントローラ530と同じチップ上に配備され得る。仮想メモリバンク635は、各部分655−a、655−b、及び655−c等が不揮発性メモリ525のページサイズに対応し得る複数の部分655を有するように構成され得る。図6の例は、図5に描写したコンポーネントの動作を参照しながら説明される。
連結した一連の部分655は、バス570及び575を介してSoC/プロセッサ550と共に動作するように互換性があるページサイズ645を表すように構成され得る。幾つかの例では、各部分655は64バイトを表し得、ページサイズ645は2048バイトを表し得る。こうした場合、655の32個の部分の連結は、インタフェースコントローラ530がバス570及び575を介してSoC/プロセッサ550と共に動作し得るように、ページサイズ645に対応する2048バイトのページサイズを有するデータのセットを構築するであろう。したがって、インタフェースコントローラ530と一緒に動作する仮想メモリバンク635は、バス570及び575と互換性がある方法で、SoC/プロセッサ550と不揮発性メモリ525との間に連なり得る。
図6の例は、説明を簡単にする目的のために、SoC/プロセッサ550と共に動作するように互換性があるデータのユニットを表すメモリの1ページを示す。仮想メモリバンク635は、不揮発性メモリ525の容量及びバッファ540の容量等をサポートするためのメモリサブシステムの様々なアプリケーションに依存してメモリサブシステム520
の性能を最適化するために、データの複数のこうしたユニットを有するように構成され得ると当業者により評価されるべきである。幾つかの例では、仮想メモリバンク635は、データの8つのユニットを用いて構成され得る。
幾つかの例では、インタフェースコントローラ530は、バス570を介してSoC/プロセッサ550からメモリ動作コマンドを受信し得る。メモリ動作コマンドは読み出しコマンドであり得る。続いて、インタフェースコントローラ530は、読み出しコマンドと関連付けられるデータが仮想メモリバンク635の部分655の内の1つ以上の内に存在するか否かを判定し得る。データが仮想メモリバンク635の部分655の内の1つ以上の内に存在するか否かを判定中、インタフェースコントローラ530は、仮想メモリバンク635の1つ以上の部分655内に蓄積された有効データを示す有効/無効フラグ665を検出し得る。データが仮想メモリバンク635の部分655の内の1つ以上の内に存在する場合、インタフェースコントローラ530は、仮想メモリバンク635からデータを検索し得、データをバス575を介してSoC/プロセッサ550へ送信し得る。この動作は、LPDDRの仕様との互換性が果たされ得、データが仮想メモリバンク635内に既に存在し、ページサイズ645がLPDDRの仕様と互換性があるので、それに応じてSoC/プロセッサ550は動作し得る。そのため、インタフェースコントローラ530は、不揮発性メモリ525にアクセスする必要がなくてもよい。
一方、データが仮想メモリバンク635の1つ以上の部分655内に存在しない場合、インタフェースコントローラ530は、不揮発性メモリ525にアクセスし得、データをSoC/プロセッサ550へ送信すると共に、仮想メモリバンク635の1つ以上の部分655内にデータを蓄積し得る。インタフェースコントローラ530は、有効/無効フラグ665を検出することによって有効データの将来の使用を可能にするように、仮想メモリバンク635の1つ以上の部分655内に蓄積された有効データを指し示す有効/無効フラグ665を更新し得る。この動作は、インタフェースコントローラ530が不揮発性メモリ525からデータを検索する事実に起因してLPDDRの仕様と互換性がないかもしれない付加的な遅延時間を招き得る。したがって、SoC/プロセッサ550は、バス575を介したSoC/プロセッサ550に利用可能なデータを有するために、LPDDRの仕様よりも長い遅延を予期するために通知を受け得る。
幾つかの例では、インタフェースコントローラ530は、読み出しコマンドと関連付けられるデータがバッファ540において蓄積されていると判定し得る。続いて、インタフェースコントローラ530は、バッファ540からデータを検索し得、データをバス575を介してSoC/プロセッサ550へ送信し得る。幾つかの場合、SoC/プロセッサ550はバッファ540に直接アクセスし得る。バッファ540はバス570及び575と共に動作するように構成され得るので、この動作は、LPDDRの仕様と互換性があり得、SoC/プロセッサ550はそれに応じて動作し得る。
他の例では、インタフェースコントローラ530は、メモリ動作コマンドをバス570を介してSoC/プロセッサ550から受信し得る。メモリ動作コマンドは書き込みコマンドであり得る。続いて、インタフェースコントローラ530は、データをバス575を介してSoC/プロセッサ550から受信すると、仮想メモリバンクの1つ以上の部分内にデータを蓄積する。その後、インタフェースコントローラ530は、仮想メモリバンク635の1つ以上の部分655内に蓄積されたデータが不揮発性メモリ525からのデータとは異なり得ると判定し得る。その結果として、インタフェースコントローラ530は、不揮発性メモリ525内に蓄積されたデータとは異なるデータを有する仮想メモリバンク635の部分655を各々指し示す変更フラグ675を更新し得る。変更フラグ675は、仮想メモリバンク635内のデータの如何なる部分655内に不揮発性メモリ525に戻して蓄積するかをインタフェースコントローラ530に指し示すのに役立ち得る。こ
れは、不揮発性メモリ525内に既に存在する同じデータを蓄積するためにリソースを費やすことなく、SoC/プロセッサ550によって変更されたデータのコンテンツをインタフェースコントローラ530が蓄積することを可能にし得る。SoC/プロセッサ550からの書き込みコマンドは、関与する不揮発性メモリ525なしに仮想メモリバンク635に書き込み、それ故、LPDDRの仕様に従って遂行され得、SoC/プロセッサ550はそれに応じて動作し得ると評価すべきである。
幾つかの例では、インタフェースコントローラ530は、メモリ動作コマンドをSoC/プロセッサ550から受信し得る。メモリ動作コマンドは、仮想メモリバンク635内のデータのページを閉鎖ことと関連付けられ得、それ故、インタフェースコントローラ530は、該閉鎖の前にデータのページを何処に蓄積するかを判定し得る。インタフェースコントローラ530は、仮想メモリバンク635のコンテンツを監視及び識別するように構成され得る。インタフェースコントローラ530は、ある一定時間間隔の間のSoC/プロセッサ550によるアクセスの試行数を仮想メモリバンク635のコンテンツに記録するカウンタを有するように構成され得る。SoC/プロセッサ550によるアクセスの試行数が所定の閾値未満であることをカウンタが示す場合、インタフェースコントローラ530は、不揮発性メモリ525内で修正されている仮想メモリバンク635のコンテンツを蓄積し得る。インタフェースコントローラ530は、コンテンツが修正されていないと判定した後に、仮想メモリバンク635のコンテンツを破棄し得る。一方、SoC/プロセッサ550によるアクセスの試行数が所定の閾値以上であることをカウンタが示す場合、インタフェースコントローラ530は、データをバッファ540内に蓄積し得る。また、仮想メモリバンク635のコンテンツをバッファ540にバイパス保存するために、SoC/プロセッサ550によるアクセスの試行数が所定の閾値未満である場合、カウンタはバイパスインジケータをセットアップするように構成され得る。バイパスインジケータは、仮想メモリバンク635の修正されたコンテンツを不揮発性メモリ525に直接保存するためにその後使用され得る。全体的な条件を満たすために、不揮発性のメモリシステム又はサブシステムの動作の他の側面(例えば、SoC/プロセッサのキャッシュメモリの動作、バッファ容量等)に照らしてインタフェースコントローラに対する様々な基準(例えば、カウンタの値、クロック、時限等を含む基準)を当業者は工夫可能であるべきである。
データを管理するインタフェースコントローラ530の動作は、FeRAMアレイに対する実際の読み出し又は書き込みのサイクルを制限することによって、不揮発性メモリ525、例えば、FeRAMアレイへの害を防止し得る。実例として、インタフェースコントローラ530は、データが仮想メモリバンク635又はバッファ540の何れかにおいて入手可能である場合には、不揮発性メモリ525に実際にアクセスすることなくSoC/プロセッサ550へのデータを生み出し得る。また、データをバッファ540内に蓄積すること、又はデータを破棄することが適切である場合、インタフェースコントローラ530は、データを不揮発性メモリ525に蓄積することを回避し得る。DRAMセルは耐久性が限定されない又は事実上限定されない一方で、FeRAMセルはDRAMセルと比較して耐久性が限定され得る、すなわち、FeRAMセルは、その寿命に渡ってサポートされ得る読み出し又は書き込みのサイクル数が限定され得るので、インタフェースコントローラ530によるデータのこうした管理は、FeRAMの信頼性にとって有益であり得る。幾つかの場合、FeRAMアレイの耐久性は、FeRAMセルのごく一部がそれらの耐久限度に晒される幾つかの配備又は使用にとって不十分であり得る。例えば、FeRAMセルは、多くの典型的な電子アプリケーションにとって適切な耐久限度を有し得るが、(例えば、コンピュータウィルス又は無権限のアクセスに起因する)悪意のある攻撃は、FeRAMセルのごく一部に対してそれらの耐久限度に達するまで継続的に読み出す又は書き込むことによって、FeRAMの破壊を試み得る。従って、データを管理するインタフェースコントローラ530は、こうした悪意のある攻撃を回避すること、又は不揮発性
メモリ525と関連付けられるウェアレベルを効果的に管理することの何れかによってFeRAMセルの動作に関わるリスクを軽減可能にし得る。
図7は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムを動作するための方法700を説明するフローチャートを示す。方法700の動作は、本明細書で説明したように、図1を参照しながら説明したようなインタフェースコントローラ120、又は図5を参照しながら説明したようなインタフェースコントローラ530によって実装され得る。
ブロック705において、インタフェースコントローラ530は、不揮発性メモリセルを含み得る第1のメモリアレイであって、第1のページサイズを有する第1のメモリアレイにアクセスするためのメモリ動作コマンドをシステムオンチップ(SoC)又はプロセッサから受信し得る。ブロック705の動作は、図1〜図6を参照しながら説明した方法に従って実施され得る。
ブロック710において、インタフェースコントローラ530は、メモリ動作コマンドと関連付けられるデータが、SoC又はプロセッサに基づき得る第2のページサイズを有する第2のメモリアレイにおいて蓄積され得るか否かを判定し得、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づき得る。ブロック710の動作は、図1〜図6を参照しながら説明した方法に従って実施され得る。
ブロック715において、インタフェースコントローラ530は、第1のメモリアレイ、第2のメモリアレイ、又はインタフェースコントローラと結合され得、揮発性メモリセルを含み得る第3のメモリアレイにおいて、メモリ動作コマンドを実行し得、メモリ動作コマンドは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かの判定に基づいて実行され得る。ブロック715の動作は、図1〜図6を参照しながら説明した方法に従って実施され得る。
方法700等の1つ以上の方法を実施するための装置が説明される。該装置は、不揮発性メモリセルを含み得る第1のメモリアレイであって、第1のページサイズを有する第1のメモリアレイにアクセスするためのメモリ動作コマンドをインタフェースコントローラにおいてシステムオンチップ(SoC)又はプロセッサから受信するための手段と、メモリ動作コマンドと関連付けられるデータが、SoC又はプロセッサに基づき得る第2のページサイズを有する第2のメモリアレイにおいて蓄積され得るか否かを判定するための手段であって、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づき得る該手段と、第1のメモリアレイ、第2のメモリアレイ、又はインタフェースコントローラと結合され得、揮発性メモリセルを含み得る第3のメモリアレイにおいて、メモリ動作コマンドを実行するための手段であって、該メモリ動作コマンドは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かの判定に基づいて実行され得る該手段とを含み得る。
方法700等の1つ以上の方法を実施するための別の装置が説明される。該装置は、第1のメモリアレイと、第2のメモリアレイと、第3のメモリアレイと、システムオンチップ(SoC)又はプロセッサと電子通信するインタフェースコントローラであって、不揮発性メモリセルを含み得る第1のメモリアレイであって、第1のページサイズを有する第1のメモリアレイにアクセスするためのメモリ動作コマンドをインタフェースコントローラにおいてSoC又はプロセッサから受信することと、メモリ動作コマンドと関連付けられるデータが、SoC又はプロセッサに基づき得る第2のページサイズを有する第2のメモリアレイにおいて蓄積され得るか否かを判定し、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づき得ることと、第1のメモリアレイ、第2のメモリ
アレイ、又はインタフェースコントローラと結合され得、揮発性メモリセルを含み得る第3のメモリアレイにおいて、メモリ動作コマンドを実行し、該メモリ動作コマンドは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かの判定に基づいて実行され得ることとを動作可能であり得るインタフェースコントローラとを含み得る。
本明細書で説明される方法700及び装置の幾つかの例は、第1のメモリアレイからの有効データを蓄積する第2のメモリアレイの部分を各々指し示し得る1つ以上の第1のフラグを検出すること、又は第1のメモリアレイとは異なり得るデータを蓄積する第2のメモリアレイの部分を各々指し示し得る1つ以上の第2のフラグを検出すること、又は第1のフラグの内の1つ以上及び第2のフラグの内の1つ以上を検出することのためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例では、メモリ動作コマンドは読み出しコマンドを含み得る。本明細書で説明される方法700及び装置の幾つかの例は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積され得ると判定し、第3のメモリアレイは第2のページサイズを少なくとも部分的に用いて構成され得るためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積され得ると判定することに基づいて、第3のメモリアレイからデータをフェッチするためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信するためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積され得ると判定し、第3のメモリアレイは、第2のページサイズを少なくとも部分的に用いて構成され得るためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、SoC又はプロセッサから第3のメモリアレイに直接アクセスするためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例は、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得ると判定することに基づいて、第2のメモリアレイからデータをフェッチするためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信するためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例は、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かを判定することに基づいて、第1のメモリアレイからデータをフェッチするためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、第2のメモリアレイの1つ以上の部分内にデータを蓄積するためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、第2のメモリアレイの1つ以上の部分内に蓄積された有効データを指し示す1つ以上の第1のフラグを更新するためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信するためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例では、メモリ動作コマンドは書き込みコマンドを含み得る。本明細書で説明される方法700及び装置の幾つかの例は、第2のメモリアレイの1つ以上の部分内にデータを蓄積するためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、第1のメモリアレイとは異なり得るデータを蓄積する第2のメモリアレイの部分を指し示す1つ以上の第2のフラグを更新するためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例では、SoC又はプロセッサからのメモリ動作コマンドは、時間間隔の間のSoC又はプロセッサによるアクセスの試行数に基づいて、第2のメモリアレイからのデータを第1のメモリアレイ又は第3のメモリアレイの何れかに書き込むためのコマンドを含み得る。
本明細書で説明される方法700及び装置の幾つかの例は、アクセスの試行数が閾値未満であることに基づいて第1のメモリアレイにおいてデータを蓄積するためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例では、閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含み得る。本明細書で説明される方法700及び装置の幾つかの例は、アクセスの試行数が閾値以上であることに基づいて第3のメモリアレイにおいてデータを蓄積するためのプロセス、機構、手段、又は命令を更に含み得る。
幾つかの実施形態では、不揮発性のメモリシステム又はサブシステムのための方法が開示される。該方法は、不揮発性メモリセルを含む第1のメモリアレイであって、第1のページサイズを有する第1のメモリアレイにアクセスするためのメモリ動作コマンドをインタフェースコントローラにおいてシステムオンチップ(SoC)又はプロセッサから受信することと、メモリ動作コマンドと関連付けられるデータが、SoC又はプロセッサに基づく第2のページサイズを有する第2のメモリアレイにおいて蓄積されているか否かを判定し、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づくことと、第1のメモリアレイ、第2のメモリアレイ、又はインタフェースコントローラと結合され揮発性メモリセルを含む第3のメモリアレイにおいてメモリ動作コマンドを実行し、メモリ動作コマンドは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かの判定に基づいて実行されることとを含み得る。
幾つかの場合、第2のメモリアレイ、第3のメモリアレイ、及びインタフェースコントローラは同じチップ上に配備される。幾つかの場合、第2のページサイズは、構成可能である第1のページサイズの上位セットである。幾つかの場合、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定することは、第1のメモリアレイからの有効データを蓄積する第2のメモリアレイの部分を各々指し示す1つ以上の第1のフラグを検出すること、又は第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの部分を各々指し示す1つ以上の第2のフラグを検出すること、又は第1のフラグの内の1つ以上及び第2のフラグの内の1つ以上を検出することを含む。
幾つかの場合、メモリ動作コマンドは読み出しコマンドを含む。幾つかの場合、方法は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定し、第3のメモリアレイは第2のページサイズを少なくとも部分的に用いて構成され、メモリ動作コマンドを実行することは、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定することに基づいて第3のメモリアレイからデータをフェッチすることを含むと、データをフェッチすることに基づいて
データをSoC又はプロセッサへ送信することとを更に含み得る。幾つかの場合、方法は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定し、第3メモリアレイは、第2のページサイズを少なくとも部分的に用いて構成されることと、SoC又はプロセッサから第3のメモリアレイに直接アクセスすることとを更に含み得る。
幾つかの場合、メモリ動作コマンドを実行することは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されていると判定することに基づいて第2のメモリアレイからデータをフェッチすることと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを含む。幾つかの場合、メモリ動作コマンドを実行することは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定することに基づいて第1のメモリアレイからデータをフェッチすることと、第2のメモリアレイの1つ以上の部分内にデータを蓄積することと、第2のメモリアレイの1つ以上の部分内に蓄積された有効データを指し示す1つ以上の第1のフラグを更新することと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを含む。
幾つかの場合、メモリ動作コマンドは書き込み動作を含む。幾つかの場合、メモリ動作コマンドを実行することは、第2のメモリアレイの1つ以上の部分内にデータを蓄積することと、第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの部分を指し示す1つ以上の第2のフラグを更新することとを含む。幾つかの場合、SoC又はプロセッサからのメモリ動作コマンドは、時間間隔の間のSoC又はプロセッサによるアクセスの試行数に基づいて第2のメモリアレイからのデータを第1のメモリアレイ又は第3のメモリアレイの何れかに書き込むためのコマンドを含む。幾つかの場合、メモリ動作コマンドを実行することは、アクセスの試行数が閾値未満であることに基づいて、第1のメモリアレイにおいてデータを蓄積することを含む。幾つかの場合、閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含む。幾つかの場合、メモリ動作コマンドを実行することは、アクセスの試行数が閾値以上であることに基づいて、第3のメモリアレイにおいてデータを蓄積することを含む。幾つかの場合、閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含む。
上で説明した方法は可能な実装を説明すること、動作及びステップは再配置され得、さもなければ修正され得ること、並びにその他の実装が可能であることに留意すべきである。更に、方法の内の2つ以上からの実施形態は組み合わせられ得る。
本明細書で説明される情報及び信号は、様々な異なる科学技術及び技術の内の何れかを使用して表され得る。例えば、上述の説明全体を通じて言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光粒子、又はそれらの任意の組み合わせにより表され得る。幾つかの図面は、複数の信号を単一の信号として説明し得るが、バスが様々なビット幅を有し得る場合に、信号は複数の信号のバスを表し得ることを当業者は理解するであろう。
本明細書で使用されるとき、用語“仮想接地(virtual ground)”は、約ゼロボルト
(0V)の電圧に保持されるがグランドと直接接続されない電気回路のノードを指す。したがって、仮想接地の電圧は、一時的に変動し得、定常状態で約0Vに戻り得る。仮想接地は、オペアンプ及び抵抗を含む電圧分圧器等の様々な電子回路素子を使用して実装され得る。その他の実装も可能である。“仮想接地する(virtual grounding)”又は“仮想接地される(virtually grounded)”は約0Vに接続されることを意味する。
用語“電子通信”及び“結合された(coupled)”は、コンポーネント間の電子流動を
支持するコンポーネント間の関係を指す。これは、コンポーネント間の直接接続を含み得、又は介在コンポーネントを含み得る。相互に電子通信する又は結合されたコンポーネントは、(例えば、通電された回路内の)電子若しくは信号を能動的に交換し得、又は(例えば、非通電の回路内の)電子若しくは信号を能動的に交換しないことがあるが、回路が通電されると電子若しくは信号を交換するように構成され得、動作可能であり得る。例として、スイッチ(例えば、トランジスタ)を介して物理的に接続された2つのコンポーネントは、スイッチの状態(すなわち、開放又は閉鎖)に関わらず電子通信し、又は結合され得る。
本明細書で論じられる1つ以上のトランジスタは、電界効果トランジスタ(FET)を表し得、ソース、ドレイン、及びゲートを含む3端子デバイスを含み得る。端子は、導電性材料、例えば金属を通じて他の電子素子に接続され得る。ソース及びドレインは、導電性であり得、高濃度にドープされた、例えば縮退した、半導体領域を含み得る。ソース及びドレインは、低濃度にドープされた半導体領域又はチャネルによって分離され得る。チャネルがn型(すなわち、主たるキャリアが電子)である場合、該FETはn型FETと称され得る。チャネルがp型(すなわち、主たるキャリアがホール)である場合、該FETはp型FETと称され得る。チャネルは、絶縁ゲート酸化物によって覆われ得る。チャネルの導電性は、ゲートに電圧を印加することによって制御され得る。例えば、正の電圧又は負の電圧をn型FET又はp型FETに夫々印加することは、チャネルが導電性になる結果をもたらし得る。トランジスタの閾値電圧以上の電圧がトランジスタのゲートに印加された場合、トランジスタは“オン”に又は“活性化”され得る。トランジスタの閾値電圧未満の電圧がトランジスタのゲートに印加された場合、トランジスタは“オフ”に又は“不活性化”され得る。
添付の図面に関連して本明細書に記載される説明は、例示的構成を説明し、実装され得る又は請求項の範囲内にある全ての例を表さない。本明細書で使用される用語“例示的(exemplary)”は、“好適”又は“その他の例よりも有利”ではなく“一例、実例、又は
説明として役立つこと”を意味する。詳細な説明は、説明される技術の理解を提供する目的のための具体的詳細を含む。これらの技術は、しかしながら、これらの具体的詳細なしに実践され得る。幾つかの実例では、説明される例の内容を不明確にすることを避けるために、周知の構造及びデバイスはブロック図の形式で示される。
添付の図において、同様のコンポーネント又は機構は、同じ参照ラベルを有し得る。更に、同じ種類の様々なコンポーネントは、ダッシュと、同様のコンポーネント間で区別する第2のラベルとを参照ラベルに続けることによって区別され得る。明細書中にただ第1の参照ラベルが使用される場合、説明は、第2の参照ラベルに関係なく、同じ第1の参照ラベルを有する同様のコンポーネントの内の何れか1つに適用できる。
本明細書に説明される情報及び信号は、様々な異なる科学技術及び技術の何れかを使用して表され得る。例えば、上述の説明全体を通じて言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光粒子、又はそれらの任意の組み合わせにより表され得る。
本明細書の開示と関連して記述される様々な説明ブロック及びモジュールは、本明細書で説明される機能を実施するように設計された汎用プロセッサ、DSP、ASIC、FPGA若しくはその他のプログラム可能論理デバイス、分離したゲート若しくはトランジスタ論理、分離したハードウェアコンポーネント、又はそれらの任意の組み合わせで実装又は実施され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代わりに、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又はステー
トマシーンであり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ(例えば、デジタルシグナルプロセッサ(DSP)とマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携した1つ以上のマイクロプロセッサ、又は任意のその他のこうした構成)として実装され得る。
本明細書で説明される機能は、ハードウェア、プロセッサにより実行されるソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実装され得る。プロセッサにより実行されるソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の1つ以上の命令又はコードとして蓄積され得、又は送信され得る。その他の例及び実装は、本開示及び添付の請求項の範囲内である。例えば、ソフトウェアの性質に起因して、上で説明した機能は、プロセッサにより実行されるソフトウェア、ハードウェア、ファームウェア、配線、又はこれらの任意の組み合わせを使用して実装できる。機能を実装する機構はまた、機能の(複数の)部分が異なる物理的位置で実装されるように分散されることを含む、様々な位置に物理的に配置され得る。また、請求項を含む本明細書で使用されるとき、項目のリスト(例えば、“少なくとも1つの”又は“の内の1つ以上”等の句により前置きされる項目のリスト)に使用されるような“又は”は、例えば、A、B、又はCの内の少なくとも1つのリストがA又はB又はC又はAB又はAC又はBC又はABC(すなわち、A及びB及びC)を意味するように包含的リストを指し示す。また、本明細書で使用されるとき、句“基づいて”は、条件の閉集合への言及として解釈されないであろう。例えば、“条件Aに基づいて”と説明される例示的ステップは、本開示の範囲から逸脱することなく、条件A及び条件Bの両方に基づき得る。言い換えれば、本明細書で使用されるとき、句“基づいて”は、句“少なくとも部分的に基づいて”と同様の方法で解釈されるであろう。
コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む非一時的コンピュータ記憶媒体及び通信媒体の両方を含む。非一時的記憶媒体は、汎用又は専用のコンピュータによりアクセスできる任意の利用可能な媒体であり得る。例として、非限定的に、非一時的コンピュータ可読媒体は、RAM、ROM、電気的消去可能プログラム可能リードオンリーメモリ(EEPROM)、コンパクトディスク(CD)ROM若しくはその他の光ディスクストレージ、磁気ディスクストレージ若しくはその他の磁気ストレージデバイス、又は所望のプログラムコード手段を命令若しくはデータ構造の形式で搬送若しくは蓄積するのに使用でき、且つ汎用若しくは専用コンピュータ又は汎用若しくは専用プロセッサによりアクセスできる任意のその他の非一時的媒体を含み得る。また、任意の接続は、コンピュータ可読媒体として適切に称される。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、又は赤外線、無線、及びマイクロ波等の無線技術を使用してウェブサイト、サーバ、又はその他の遠隔ソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、又は赤外線、無線、及びマイクロ波等の無線技術は媒体の定義に含まれる。本明細書で使用されるとき、磁気ディスク(disk)及び光学ディスク(disc)は、CD、レーザディスク、光ディスク、デジタル多目的ディスク(DVD)、フロッピーディスク、及びブルーレイディスクを含み、光学ディスクがレーザでデータを光学的に再生する一方で、磁気ディスクはデータを磁気的に通常再生する。上の組み合わせもコンピュータ可読媒体の範囲内に含まれる。
本明細書の説明は、当業者が開示を製作又は使用できるように提供される。開示への様々な修正が当業者に容易に分かるであろうし、本明細書で定義される包括的な原理は開示の範囲を逸脱することなくその他の変形に適用され得る。したがって、開示は、本明細書で説明された例示及び設計に限定されず、本明細書に開示された原理及び新規の機構と一致する最も広い範囲に一致すべきである。
[クロスリファレンス]
特許のための本出願は、2017年6月22日に出願の“Non−Volatile Memory System or Sub−System”という名称のHasbunによる米国特許出願番号15/630,330の優先権を主張する2018年6月14日に出願の“Non−Volatile Memory System or Sub−System”という名称のHasbunによるPCT出願番号PCT/US2018/037480の優先権を主張し、その各々は、本願の譲受人に与えられ、その各々は、参照によりその全体が本明細書に明白に組み込まれる。
以下は、一般的に、メモリシステムに関し、より具体的には、不揮発性のメモリシステム又はサブシステムに関する。
メモリシステムは、コンピュータ、無線通信デバイス、モノのインターネット、カメラ、及びデジタル表示装置等の多数の電子デバイス内の情報を管理するために1つ以上のバスを介して結合された各種のメモリデバイス及びコントローラを含み得る。メモリデバイスは、こうした電子デバイス内に情報を蓄積するために幅広く使用される。情報は、メモリセルの異なる状態をプログラムすることによって蓄積される。例えば、バイナリデバイスは、論理“1”又は論理“0”によりしばしば示される2つの状態を有する。3つ以上の状態がメモリセル内に蓄積されてもよい。
磁気ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ダイナミックRAM(DRAM)、同期型ダイナミックRAM(SDRAM)、強誘電体RAM(FeRAM)、磁気RAM(MRAM)、抵抗変化RAM(RRAM)、フラッシュメモリ、相変化メモリ(PCM)、及び3次元クロスポイントメモリ(3D
XPoint(登録商標)メモリ)等を含む様々な種類のメモリデバイスが存在する。メモリデバイスは揮発性又は不揮発性であり得る。不揮発性メモリセル、例えば、FeR
AMセルは、外部電源が存在しなくても長時間、それらの蓄積された論理状態を維持し得る。揮発性メモリセル、例えば、DRAMセルは、外部電源により定期的にリフレッシュされない限り、それらの蓄積状態を時間と共に喪失し得る。FeRAMは、揮発性メモリと同様のメモリデバイスアーキテクチャを使用し得るが、他の不揮発性及び揮発性のメモリデバイスと比較して改善した性能を有し得る。
メモリシステムの改善は、一般的に、メトリックの中でもとりわけ、システム電力消費の削減、メモリシステム容量の増加、読み出し/書き込み速度の改善、パーシステントメインメモリの使用による不揮発性の提供、又はある一定の性能ポイントにおける製造コストの削減等のメモリシステム性能の増加を含み得る。しかしながら、改善されるメモリシステムは、他の技術によって未だサポートされていない新たな技術又はプロトコルをしばしば活用し、又は改善されるメモリシステムは、より早期の技術との後方互換性がある場合には広範囲のアプリケーションでの解決策を提供し得る。
本明細書の開示は、以下の図面に言及し、以下の図面を含む。
本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムを含むシステムの図を示す。 本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする非線形電気特性の一例を説明する。 本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする回路の一例を説明する。 本開示の実施形態に従った例示的な不揮発性のメモリシステム又はサブシステムを説明する。 本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする例示的なメモリシステムを説明する。 本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートするプロトコルの例示的な概略図を説明する。 本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムを動作するための方法を説明するフローチャートを示す。
不揮発性メモリアレイは、システムオンチップ(SoC)又はプロセッサのためのメインメモリアレイとして用いられ得る。この種のシステムは、揮発性メモリアレイを用いるシステムに対し、高いシステム性能、高い面密度、及び低いシステム電力消費を含む利益を提供し得る。様々なアプリケーションにおいてこれらの利益を実現するために、本明細書で説明する技術は、レガシーメモリシステムアーキテクチャを用いた動作のために設計されたSoC又はプロセッサとの後方互換性を提供するために用いられ得る。例えば、本開示は、不揮発性メモリ動作の特徴に実質的に依存しなくてもよい(agnostic)プロトコルを使用してSoC又はプロセッサを用いた動作を容易にし得る、メモリサブシステム内のインタフェースコントローラを含む。本明細書で開示される不揮発性のメモリシステム又はサブシステムはまた、電力消費が重要な設計要因であり得るモバイル環境でのデスクトップアプリケーションを可能にし得る。
本明細書で説明されるようなシステムは、SoC又はプロセッサ、メモリサブシステム、及びストレージを含み得る。該システムは、様々なコンポーネントを相互に結合するように構成された複数のバスをも含み得る。メモリサブシステムは、不揮発性メモリ、仮想メモリバンク、及びインタフェースコントローラを含み得る。インタフェースコントローラは、バスの内の1つを介してSoC/プロセッサと共に動作するように構成され得る。
例えば、バスの内の1つを介してDRAMインタフェースを使用してSoC/プロセッサとの動作を容易にするために、インタフェースコントローラは、仮想メモリバンクを利用して不揮発性メモリと共に動作するように構成され得る。仮想メモリバンクは、DRAMセルを用いて構築され得、例えば、ページサイズ、タイミング条件等を決定し得る低電力ダブルデータレート(LPDDR)の仕様に準拠して動作するように構成され得る。ページサイズは、一般的に、以下で別段の定めが特にない限り、様々なインタフェースで扱われるデータのサイズを指す。また、メモリサブシステムは、DRAMバッファとして構築され得るバッファを更に含み得る。該バッファは、インタフェースコントローラと共に動作するように構成され得、SoC/プロセッサにより直接アクセス可能であるように構成され得る。
以下で詳細に説明するように、インタフェースコントローラは、DRAMページサイズをエミュレートするために仮想メモリバンクを利用し得、それは、SoC/プロセッサとの動作を容易にし得る。実例として、仮想メモリバンクは、DRAMページサイズ(例えば、LPDDRの仕様で指定されたページサイズ)を有するように構成され得る。また、本明細書で説明されるとき、仮想メモリバンクは、不揮発性メモリのページサイズに対応する部分又は要素を有するように構成され得る。例えば、LPDDRの仕様に準拠したDRAMページサイズは、不揮発性メモリのページサイズの上位セットであり得、DRAMページサイズでの使用のために構成されたSoC/プロセッサと共に動作しつつ、不揮発性メモリアレイ内の異なるページサイズを使用することの利益をシステムが活用することを可能にし得る。不揮発性メモリは、様々なページサイズをサポートするように構成され得る。
インタフェースコントローラはまた、仮想メモリバンク又はバッファを活用することによって、低レイテンシ又は電力動作の削減を可能にし得る。例えば、SoC/プロセッサから読み出しコマンドを受信すると、インタフェースコントローラは、仮想メモリバンク又はバッファからSoC/プロセッサへデータを送信することを試行し得る。仮想メモリバンク又はバッファ内にデータが存在しない場合、インタフェースコントローラは、不揮発性メモリからデータを検索し得、データをSoC/プロセッサへ送信しつつ、仮想メモリバンク内にデータを蓄積し得る。インタフェースコントローラは、本明細書で説明するプロトコルに従って仮想メモリバンクの動作を管理し得る。例えば、不揮発性メモリからの有効データを仮想メモリバンクの如何なる部分が蓄積するかを指し示すためにフラグのセットは使用され得る。SoC/プロセッサから書き込みコマンドを受信すると、インタフェースコントローラは、仮想メモリバンクにおいてデータを蓄積し得る。不揮発性メモリ内のコンテンツから修正されたデータのみをインタフェースコントローラが保存することを可能にするように、フラグの別のセットは、不揮発性メモリのコンテンツとは異なる有効データを仮想メモリバンクの部分が何時蓄積するかを示し得る。
更に、以下で詳細に説明するように、インタフェースコントローラは、仮想メモリバンクからのデータをSoC/プロセッサがもはや必要としない場合に何処に蓄積するかを判定し得る。インタフェースコントローラは、仮想メモリバンクのコンテンツを監視及び識別し得る。また、インタフェースコントローラは、ある一定の時間間隔の間のSoC/プロセッサによる仮想メモリバンクのコンテンツへのアクセスの試行数を記録するカウンタを有し得る。例として、SoC/プロセッサによるアクセスの試行数が所定の閾値未満であることをカウンタが示す場合、インタフェースコントローラは、SoC/プロセッサが短期間内にデータにアクセスする必要がないことがあると予測する修正データを不揮発性メモリ内に蓄積し得る。インタフェースコントローラは、該データが修正されていないと判定した後にデータを破棄し得る。又は、SoC/プロセッサによるアクセスの試行数が所定の閾値以上であることをカウンタが指し示す場合、インタフェースコントローラは、SoC/プロセッサがデータに直ぐにアクセスする必要があり得ることを予測するデータ
をバッファ内に蓄積し得る。こうした判定にシステム環境全体を考慮させるために、インタフェースコントローラに対する様々な基準(例えば、カウンタの値、クロック、時限等を含む基準)を当業者は工夫可能であるべきである。また、仮想メモリバンクのコンテンツをバッファにバイパス保存するために、SoC/プロセッサによるアクセスの試行数が所定の閾値未満である場合、カウンタはバイパスインジケータをセットアップし得る。バイパスインジケータは、仮想メモリバンクの修正されたコンテンツを不揮発性メモリに直接保存するためにその後使用され得る。
前述の論考は開示の概要を提供する。上で紹介した機構及び技術は、メモリシステム又はサブシステムのアーキテクチャ並びに関連するプロトコルの観点で以下で更に説明される。不揮発性のメモリシステム又はサブシステムをサポートするコントローラ及びシステムバスと組み合わせて、メモリシステム又はサブシステムに対する具体例がその後説明される。開示のこれら又はその他の機構は、更に、不揮発性のメモリシステム又はサブシステムに関する装置図、システム図、及びフローチャートによって説明され、それらを参照しながら説明される。
図1は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムを含むシステム100の図を示す。システム100はデバイス105を含み得る。デバイス105は、SoC又はプロセッサ130、インタフェースコントローラ120、並びに様々なメモリデバイス170、175、及び180を含み得る。デバイス105は、入力/出力コントローラ135、ベーシックインプット/アウトプットシステム(BIOS)コンポーネント125、ボードサポートパッケージ(BSP)126、周辺コンポーネント140、ダイレクトメモリアクセスコントローラ(DMAC)160をも含み得る。デバイス105のコンポーネントは、バス110を通じて相互に電子通信し得る。
デバイス105は、コンピューティングデバイス、電子デバイス、モバイルコンピューティングデバイス、又は無線デバイスであり得る。デバイス105は、携帯電子デバイスであり得る。デバイス105は、コンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、セルラーフォン、ウエアラブルデバイス、又はインターネット接続デバイス等であり得る。幾つかの例では、デバイス105は、基地局又はアクセスポイントを介した双方向の無線通信のために構成される。幾つかの例では、デバイス105は、機械タイプ通信(MTC)、機械間(M2M)通信、又はデバイス間(D2D)通信が可能である。デバイス105は、ユーザ装置(UE)、局(STA)、又はモバイル端末等と称され得る。
SoC/プロセッサ130は、様々なメモリデバイス170、175、180又はそれらの任意の組み合わせと共に、直接又はインタフェースコントローラ120を介して動作するように構成され得る。幾つかの場合、SoC/プロセッサ130は、インタフェースコントローラ120の機能を実施し得る。SoC/プロセッサ130は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)若しくはその他のプログラム可能論理デバイス、分離したゲート若しくはトランジスタロジック、分離したハードウェアコンポーネントであり得、又はこれらの種類のコンポーネントの組み合わせであり得る。
インタフェースコントローラ120は、SoC/プロセッサ130と共に動作するように構成され得る。インタフェースコントローラ120はまた、様々なメモリデバイス170、175、180、又はそれらの任意の組み合わせと共に動作するように構成され得る。
メモリデバイス170は、デジタル情報を蓄積するためのメモリセルの1つ以上のアレ
イを各々含み得る。メモリデバイス170は、SoC/プロセッサ130又はインタフェースコントローラ120と共に動作するように構成され得る。幾つかの例では、メモリデバイス170は、SoC/プロセッサ130又はインタフェースコントローラ120に対するメモリバンクのためのバッファメモリとしての役割を果たすように構成され得る。幾つかの例では、1つ以上のメモリデバイス170がデバイス105内に存在し得る。
メモリデバイス175は、2つ以上のティア内に構築されたメモリセルのアレイと共に動作するように構成されたローカルメモリコントローラを含み得る。メモリデバイス175のローカルメモリコントローラはまた、SoC/プロセッサ130と共に動作するように構成され得る。メモリデバイス175のローカルメモリコントローラは、SoC/プロセッサ130と共に効果的に動作するために、メモリセルの異なる特徴を扱うように構成され得る。幾つかの例では、第1のティアのメモリセルは、様々な作業負荷を扱うために短い応答時間で数の大きな入出力動作毎秒(IOPS)を提供し得る3次元クロスポイント(3D XPoint(登録商標))メモリであり得る。幾つかの例では、第2のティアのメモリセルは、第1のティアのメモリセルよりも相対的に低コストでデータストレージに対する高い容量をし得る3次元否定論理積(NAND)メモリであり得る。メモリデバイス175は、幾つかの場合、メモリアレイのその他の種類又は組み合わせを含み得る。
メモリデバイス180は、メモリセルの1つ以上のアレイと共に動作するように構成されたローカルメモリコントローラを含み得る。メモリデバイス180のローカルメモリコントローラは、SoC/プロセッサ130又はインタフェースコントローラ120と共に動作するようにも構成され得る。幾つかの例では、メモリセルは、不揮発性若しくは揮発性のメモリセル、又は不揮発性及び揮発性のメモリセルの両者の組み合わせを含み得る。幾つかの例では、メモリデバイス180のローカルメモリコントローラは、メモリアレイが不揮発性メモリセル、例えば、強誘電体メモリセルを含むメモリアレイに対して、様々なページサイズを扱うように構成され得る。幾つかの例では、ページサイズは、メモリアレイが揮発性メモリセル、例えば、DRAMセルを含むメモリアレイに対して、ある一定サイズで固定され得る。幾つかの例では、1つ以上のメモリデバイス180がデバイス105内に存在し得る。
DMAC160は、SoC/プロセッサ130がメモリデバイス170、175、又は180と共にダイレクトメモリアクセスを実施することを可能にし得る。例えば、DMAC160は、インタフェースコントローラ120の関与又は動作なしにメモリデバイス170、175、又は180に直接アクセスするようにSoC/プロセッサ130をサポートし得る。
周辺コンポーネント140は、デバイス105に統合され得る、入力若しくは出力デバイス、又はそうしたデバイスのためのインタフェースであり得る。例示として、ディスクコントローラ、音声コントローラ、画像コントローラ、イーサネットコントローラ、モデム、ユニバーサルシリアルバス(USB)コントローラ、シリアル若しくはパラレルポート、又はペリフェラルコンポーネントインタコネクト(PCI)若しくはアクセラレーテッドグラフィックスポート(AGP)スロット等の周辺カードスロットが挙げられ得る。周辺コンポーネント140は、周辺装置として当業者により理解されるその他のコンポーネントであってもよい。
BIOSコンポーネント125又はBP126は、ファームウェアとして動作するBIOSを含むソフトウェアコンポーネントであり得、それは、システム100の様々なハードウェアコンポーネントを初期化し得、稼働し得る。BIOSコンポーネント125又はBSP126は、SoC/プロセッサ130と様々なコンポーネント、例えば、周辺コ
ンポーネント140、入力/出力コントローラ135等との間のデータの流れをも管理し得る。BIOSコンポーネント125又はBSP126は、リードオンリーメモリ(ROM)、フラッシュメモリ、又は任意のその他の不揮発性メモリ内に蓄積されたプログラム又はソフトウェアを含み得る。
入力/出力コントローラ135は、SoC/プロセッサ130と周辺コンポーネント140、入力デバイス145、又は出力デバイス150との間のデータ通信を管理し得る。入力/出力コントローラ135は、デバイス105に統合されない周辺装置をも管理し得る。幾つかの場合、入力/出力コントローラ135は、外部の周辺装置への物理的接続又はポートを表し得る。
入力145は、デバイス105又はそのコンポーネントへの入力を提供する、デバイス105の外にあるデバイス又は信号を表し得る。これは、ユーザインタフェース、又はその他のデバイスとのインタフェース若しくはその他のデバイス間のインタフェースを含み得る。幾つかの場合、入力145は、周辺コンポーネント140を介してデバイス105とインタフェースで連結する周辺装置であり得、又は入力/出力コントローラ135によって管理され得る。
出力150は、デバイス105又はそのコンポーネントの何れかからの出力を受信するように構成された、デバイス105の外にあるデバイス又は信号を表し得る。出力150の例は、表示装置、音声スピーカ、プリントデバイス、又はプリント回路基板上の別のプロセッサ等を含み得る。幾つかの場合、出力150は、周辺コンポーネント140を介してデバイス105とインタフェースで連結する周辺装置であり得、又は入力/出力コントローラ135によって管理され得る。
デバイス105のコンポーネントは、それらの機能を実行するように設計された回路で構成され得る。これは、本明細書で説明する機能を実行するように構成された様々な回路素子、例えば、導電線、トランジスタ、コンデンサ、インダクタ、抵抗器、アンプ、又はその他の能動若しくは受動素子を含み得る。
幾つかの場合、装置は、第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと関連付けられるインタフェースコントローラと、該インタフェースコントローラと結合されたSC又はプロセッサと、インタフェースコントローラを介して第1のメモリアレイと結合され、SoC又はプロセッサと関連付けられる第2のページサイズに基づいてデータを蓄積するように構成され、第2のページサイズは第1のページサイズの上位セットであり得る第2のメモリアレイと、インタフェースコントローラ、SoC又はプロセッサ、若しくは第2のメモリアレイ、又はそれらの任意の組み合わせの内の少なくとも1つと結合された1つ以上のバスとを含み得る。
幾つかの場合、装置は、1つ以上のバスに結合された1つ以上のコンポーネントであって、入力及び出力(I/O)コントローラ、BIOSコンポーネント若しくはBP、又はそれらの任意の組み合わせの内の少なくとも1つを含む該1つ以上のコンポーネントを更に含み得る。幾つかの場合、装置は、1つ以上のバスに結合されたダイレクトメモリアクセスコントローラ(DMAC)と、1つ以上のバスを介してインタフェースコントローラに結合され、揮発性メモリセルを含む第3のメモリアレイとを更に含み得る。幾つかの場合、第2のメモリアレイ、第3のメモリアレイ、及びインタフェースコントローラは同じチップ上に配備される。幾つかの場合、第1のページサイズは構成可能であり得る。幾つかの場合、装置は、1つ以上のバスを介してSoC又はプロセッサに結合され、不揮発性メモリセルを含む第4のメモリアレイを更に含み得る。
図2は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする非線形電気特性の一例を説明する。プロット200は、本明細書で説明する機構及び技術をサポートする例示的な特徴を説明するために提供される。その他の特徴及び材料特性は、これらの機構又は同様の機構をサポートし得る。プロット200−aは、強誘電体材料を使用するコンデンサに対する例示的なヒステリシス曲線を説明する。プロット200−bは、線形材料250又は常誘電体材料240を使用するコンデンサの例示的な分極を説明する。プロット200は、強誘電体の、線形の、又はパラリニアの(para-linear)材料を利用するメモリセルのコンデンサ上に蓄積された電荷Qをコンデンサに渡る
電圧差Vの関数として描写する。
強誘電体材料は、自発的電気分極により特徴付けられ、すなわち、それは、電界がない場合に非ゼロの電気分極を維持する。一方、線形又は常誘電体の材料は、外部の電界が存在する場合のみ分極を示す。強誘電体材料内の電気分極は、比較的長時間、無期限にさえ、外部に印加された電界がない場合にも維持され得るので、電荷漏洩は、例えば、DRAMアレイに用いられる常誘電体コンデンサと比較して顕著に減少し得る。それ故、強誘電体メモリセルは、DRAMセルと比較した場合にリフレッシュ動作を実施する必要性を削減又は省略し得る。
プロット200−aに描写するように、強誘電体材料は、ゼロの電圧差で正又は負の電荷を維持し得、2つの可能な充電状態:電荷状態205及び電荷状態210をもたらす。図2の例に従うと、電荷状態205は論理0を表し、電荷状態210は論理1を表す。幾つかの例では、個別の電荷状態の論理値は逆にされてもよい。電荷状態205及び210は、残留分極(Pr)値、すなわち、外部のバイアス(例えば、電圧)を除去すると残留する分極(それ故、電荷)とも称され得る。本明細書で論じる強誘電体は、ハフニウム、ジルコニウム、酸素、又はそれらの任意の組み合わせを含む化合物であり得る。例えば、それは酸化ハフニウム又はジルコニアを含み得る。強誘電体材料を利用するメモリセルは、外部のバイアス/電圧の不存在の場合に、蓄積された電荷を維持するので、強誘電体メモリセルは“不揮発性メモリ”と呼ばれ得る。
プロット200−bは、線形材料250及び常誘電体材料240に対する例示的な分極曲線を説明する。図示するように、線形材料250の電荷Qは、印加される電圧Vに対して線形である。常誘電体材料240は、電圧に対して非線形な電荷を示す。分極プロット200−aに示した強誘電体材料と比較すると、しかしながら、線形材料250及び常誘電体材料240の両者は、ゼロの電圧でゼロの電荷を有する。線形材料250又は常誘電体材料240を利用するコンデンサに非ゼロの電圧を印加することによって、異なる論理状態が蓄積され得る。例えば、正の電圧270に対応する電荷状態205−b及び205−cは、常誘電体材料240及び線形材料250に対する論理0を夫々表し得る。負の電圧も同様に使用され得る。ゼロの電荷(電荷状態260)は、線形材料250及び常誘電体材料240に対する論理1を表し得る。線形又はパラリニアのコンデンサは、充電される場合にコンデンサに渡って非ゼロの電圧を有するので、コンデンサから漏洩する電子に対してはエネルギー的に好都合であり得る。したがって、線形又はパラリニアのコンデンサ内に蓄積された電荷が論理0ともはや看做されないレベルに到達し、蓄積された論理状態が破損又は喪失されるまで、蓄積された電荷は漏洩し得る。したがって、線形材料250又は常誘電体材料240の何れかを利用するメモリセルは“揮発性メモリ”と呼ばれ得る。
不揮発性及び揮発性のメモリの両者は、有益な特徴を有し得、又は本明細書で説明する技術をサポート又は実装するために用いられ得る。
図3は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポ
ートする回路の例を説明する。回路300は、本明細書で説明する機構又は技術をサポートする例示的な特徴を説明するために提供される。その他の回路構成は、これらの機構又は同様の機構をサポートし得る。回路300−aは、不揮発性のメモリシステム又はサブシステムをサポートする強誘電体メモリセルを有する強誘電体メモリアレイの行を表し得る。回路300−bは、レガシーのDRAMアレイの線形/パラリニア電気メモリセルを有する揮発性メモリアレイの行を表し得る。回路300は、図1を参照しながら説明したアレイの側面又は部分を説明し得る。
回路300−aは、強誘電体メモリ(FeRAM)セル310−a、ワード線340−a、ビット線350−a、及びプレート線360−aの行を含み得る。各強誘電体メモリセル310−aは、選択コンポーネント330−a及び強誘電体コンデンサ320−aを含み得る。幾つかの例では、選択コンポーネント330−aは電界効果トランジスタ(FET)であり得る。強誘電体コンデンサを有する強誘電体メモリセル310−aはFeRAMセルと称され得る。メモリセルの複数の行に共通の延伸したビット線350−aを用いて回路300−aの複数の行を繰り返すことによって、強誘電体メモリセルの2次元のアレイが配置され得ることは、当業者により評価されるべきである。
回路300−bは、線形/パラリニアメモリセル310−b、ワード線340−b、及びビット線350−bの行を含み得る。各線形/パラリニアメモリセルは、選択コンポーネント330−b及び線形/パラリニアコンデンサ320−bを含み得る。幾つかの例では、選択コンポーネント330−bは電界効果トランジスタであり得る。線形/パラリニアコンデンサを有する線形/パラリニアメモリセル310−bはDRAMセルと称され得る。線形/パラリニアコンデンサの端子はグランド又は仮想接地に接続される。メモリセルの複数の行に共通の延伸したビット線350−bを用いて回路300−bの複数の行を繰り返すことによって、線形/パラリニアメモリセルの2次元のアレイが配置され得ることは、当業者により評価されるべきである。
メモリアクセス動作の間、メモリセルの行は、該行と関連付けられるワード線を活性化することによって活性化され得る。回路300−b内のDRAMセルの行が活性化された場合、DRAMコンデンサ320−bの他の端子がグランド又は仮想接地にされる一方で、DRAMコンデンサ320−bの端子がビット線350−bに接続されて、各選択コンポーネント330−bは活性化される。同時に、DRAMコンデンサ320−b内に蓄積された電荷は“流動”するであろうし、こうした流動又はその欠如(すなわち、DRAMコンデンサ320−b内に蓄積された電荷が何らない場合)は、各ビット線350−bによって検出されなければならない。それ故、ワード線に接続されたDRAMセルの各々は、ワード線が活性化された場合にセンシングされる必要がある。DRAMのページサイズは、DRAM動作のこの性質に基づいて判定され得る。比較的小さなデータの塊のセンシング、ラッチ、及び制御をデジタル論理回路が実施することを繰り返すことと関連付けられる不合理なオーバヘッドを回避するために、DRAMの典型的なページサイズは、きわめて大きくなりがちである。例えば、DRAMの典型的なページサイズは2048バイトであり得る。
対照的に、回路300−a内のFeRAMセルの行が活性化された場合、強誘電体コンデンサ320−aの他の端子がプレート線360−aに接続される一方で、強誘電体コンデンサ320−aの端子がビット線350−aに接続されて、各選択コンポーネント330−aは活性化される。強誘電体コンデンサ320−aのプレート間の強誘電体材料の性質を伴ったプレート線360−aは、ビット線350−aへの接続時に強誘電体コンデンサ320−aが放電することを防止し得る。プレート線360−aへの電圧を変更することによるFeRAMセル310−aの動作は、“セルプレートの移動”と称され得る。それ故、ワード線340−aに接続されたFeRAMセルのサブセットは、ワード線340
−aに接続された全てのFeRAMセルをセンシングする必要なく一度にセンシングされ得る。FeRAMセル動作のこうした性質は、DRAMの典型的なページサイズよりも小さな、FeRAMに対するページサイズを提供するために利用され得る。例えば、FeRAMの典型的なページサイズは64バイトであり得る。より小さなページサイズは、DRAMセルの動作よりも高電力を通常必要とするFeRAMセルの効率的な動作を可能にし得る。情報中の関連する変更が小さい場合にはFeRAMアレイの小さな部分のみが活性化される必要があり得るので、より小さなページサイズは、FeRAMデバイスの動作の間の効率的なエネルギー使用を容易にし得る。更に、FeRAMセルのアレイに対するページサイズは、FeRAM動作を利用するデータ及びコマンドの性質に依存して変更され得る。
DRAMを含む幾つかのメモリデバイスアーキテクチャでは、メモリセルは、外部の電源によって定期的にリフレッシュされない限り、それらの蓄積状態を時間と共に喪失し得る。例えば、線形/パラリニア材料を有する充電されたコンデンサは、リーク電流を通じて時間と共に放電され得、蓄積された情報の喪失をもたらす。これらの揮発性メモリデバイスのリフレッシュレートは比較的高いことがあり、例えば、DRAMアレイに対しては毎秒数十回のリフレッシュ動作であり得、それは、著しいシステム電力消費をもたらし得る。より大きなメモリアレイの増加と共に、電力消費の増加は、特に、電池等の有限の電源に依存するモバイルデバイスのためのメモリシステム又はサブシステム内のメモリアレイの配備又は動作(例えば、電力供給、発熱、材料限界等)を阻害し得る。
上で論じたように、強誘電体メモリデバイスは、それらのエネルギー効率がよい可変のページサイズ動作に起因する利益と、リフレッシュ動作の欠如に起因する、ほぼゼロのスタンバイ電力等の強誘電体コンデンサの不揮発性の性質とを提供し得、そのことは、電池の寿命を増加させ得、スタンバイ又は非電力(例えば、“オフ”)状態に続く瞬時のオン動作、又は低いシステム電力消費を伴うメモリのより高い面密度等の機構を可能にし得る。不揮発性のメモリシステム又はサブシステムのこうした機構は、例えば、モバイル環境でデスクトップアプリケーションを稼働することを可能にし得る。
図4は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする例示的なシステム400を説明する。システム400は、図1を参照しながら説明したようなシステム100の一例であり得、デバイス410を含み得る。デバイス410は、図1を参照しながら説明したようなデバイス105の一例であり得る。デバイス410は、SoC/プロセッサ450、メモリサブシステム420、及びストレージ460を含み得る。SoC/プロセッサ450は、図1を参照しながら説明したようなSoC/プロセッサ130の一例であり得る。
メモリサブシステム420は、図1を参照しながら説明したようなメモリデバイス180の一例であり得る。ストレージ460は、図1を参照しながら説明したようなメモリデバイス175の一例であり得る。SoC/プロセッサ450は、バス480を介してストレージ460と共に、バス470及び475を介してメモリサブシステム420と共に動作するように構成され得る。幾つかの例では、バス480は、ペリフェラルコンポーネントインタコネクトエクスプレス(PCIe)、バス470の低電力ダブルデータレート(LPDDR)コマンド及びアドレス(CA)、並びにバス475のLPDDR入力/出力(I/O)をサポートするように構成され得る。幾つかの例では、メモリサブシステム420は、DRAMアレイの内の1つ以上であり得る。上で論じたように、DRAMセルは、外部の電源により定期的にリフレッシュされない限り、それらの蓄積状態を時間と共に喪失し得る。DRAMデバイスのリフレッシュレートは比較的高いことがあり、それは、他のメモリ技術と比較して高い電力消費をもたらし得る。より大きなDRAMメモリアレイの増加と共に、電力消費の増加は、特に、電池等の有限の電源に依存するモバイルデバ
イスのためのメモリサブシステム420内のDRAMメモリアレイの配備又は動作(例えば、電力供給、発熱、材料限界等)を阻害し得る。
幾つかの例では、メモリサブシステム420は、FeRAMアレイの内の1つ以上であり得る。他の例では、メモリサブシステム420は、FeRAMとは異なる不揮発性メモリ技術を用いる他の種類の不揮発性メモリデバイスであり得る。上で論じたように、FeRAMアレイは、特に、電池の電力消費が考慮する主要因の内の1つであり得るモバイルシステムにおいて、強誘電体コンデンサの不揮発性の性質に起因する、DRAMアレイを上回る利益を提供し得る。更に、FeRAMの不揮発性の性質は、揮発性のDRAMアレイ内に存在するデータを喪失しないように、電力断の時に対処する付加的な利益を提供し得る。但し、FeRAMは、データアクセス、ページサイズ等に関わるレイテンシ等、DRAMアレイと比較した場合に異なる特徴を提供し得るので、FeRAMアレイを含むメモリサブシステムは、システムの動作、又はバス470及び475の設計及び統合の他の側面に影響を与え得る。また、レガシーのコンポーネントと通信可能である、又はバス470及び475を介する等、レガシーのプロトコルを使用可能である代替的な解決方法を提供できることは、FeRAM技術から利益を受け得るアプリケーションの数を増加させ得る。
幾つかの場合、装置(例えば、メモリサブシステム420)は、第1のページサイズを有する不揮発性メモリセルを含み得る第1のメモリアレイと、SC又はプロセッサと関連付けられる第2のページサイズに基づいてデータを蓄積するように構成され得、第2のページサイズは第1のページサイズの上位セットであり得る第2のメモリアレイと、第2のページサイズを少なくとも部分的に用いて構成された揮発性メモリセルを含む第3のメモリアレイとを含み得る。装置は、SoC又はプロセッサ、第1のメモリアレイ、第2のメモリアレイ、及び第3のメモリアレイとインタフェースで連結するように構成されたコントローラをも含み得る。幾つかの場合、コントローラは、第1のメモリアレイにアクセスするためのメモリ動作コマンドをSoC又はプロセッサから受信することと、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かを判定し、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づき得ることと、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かの判定に基づいて、第1のメモリアレイ又は第2のメモリアレイにおいてメモリ動作コマンドを実行することとを動作可能であり得る。
図5は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートする例示的なシステムを説明する。システム500は、図4を参照しながら説明したようなシステム400の一例であり得、デバイス510を含み得る。デバイス510は、図4を参照しながら説明したようなデバイス410の一例であり得る。デバイス510は、SoC/プロセッサ550、メモリサブシステム520、及びストレージ560を含み得る。SoC/プロセッサ550は、図4を参照しながら説明したようなSoC/プロセッサ450の一例であり得る。メモリサブシステム520は。図4を参照しながら説明したようなメモリサブシステム420の一例であり得る。ストレージ560は、図4を参照しながら説明したようなストレージ460の一例であり得る。バス580は、図4を参照しながら説明したようなバス480の一例であり得、SoC/プロセッサ550は、バス580を介してストレージ560と共に動作するように構成され得る。バス570は、図4を参照しながら説明したようなバス470の一例であり得る。バス575は、図4を参照しながら説明したようなバス475の一例であり得る。SoC/プロセッサ550は、バス570及び575を介してメモリサブシステム520と共に動作するように構成され得る。幾つかの例では、SoC/プロセッサ550は、キャッシュメモリ555としての機能を果たすために同じ基板上に配備されたローカルメモリアレイを有するように構成され得る。
メモリサブシステム520は、不揮発性メモリ525、仮想メモリバンク535、及びインタフェースコントローラ530を含み得る。不揮発性メモリ525は、図1を参照しながら説明したようなメモリデバイス180の一例であり得る。仮想メモリバンク535は、図1を参照しながら説明したようなメモリデバイス170の一例であり得る。インタフェースコントローラ530は、図1を参照しながら説明したようなインタフェースコントローラ120の一例であり得る。インタフェースコントローラ530は、バス570及び575を介してSoC/プロセッサ550と共に動作するように構成され得る。バス570及び575は、図4を参照しながら説明したようなバス470及び475の夫々例示であり得る。幾つかの例では、仮想メモリバンク535は、DRAMセルと共に構築され得、LPDDRの仕様、例えば、ページサイズ、タイミング条件等に準拠して動作するように構成され得、バス570及び575を介する等、レガシーのコンポーネントと共に又はレガシーのプロトコルを使用して仮想メモリバンク535が動作を容易にし得るようにLPDDRの仕様に基づき得る。また、インタフェースコントローラ530は、バス571及び576を介して不揮発性メモリ525と共に動作するように構成され得る。幾つかの例では、インタフェースコントローラ530は仮想メモリバンク535を含み得る。仮想メモリバンク535と協働するインタフェースコントローラ530は、LPDDRの仕様、例えば、ページサイズ、タイミング条件等に準拠してSoP/プロセッサ550と共に動作するように構成され得る。
幾つかの例では、メモリサブシステム520はバッファ540を更に含み得る。幾つかの例では、バッファ540は、DRAMバッファとして構築され得る。バッファ540は、図1を参照しながら説明したようなメモリデバイス170又は180の一例であり得る。また、インタフェースコントローラ530は、バス572及び577を介してバッファ540と共に動作するように構成され得る。幾つかの例では、バス572はバッファCAバスであり得る。幾つかの例では、バス577はインタフェース(IF)バッファI/Oバスであり得る。インタフェースコントローラ530並びにバス572及び577は、LPDDRのページサイズ及びタイミング等のDRAMに関わるプロトコルと互換性があるように構成され得る。幾つかの例では、SoC/プロセッサ550は、バス575を介してバッファ540と共に直接動作するように構成され得る。幾つかの例では、バッファ540は、バス575と互換性があって、従ってSoC/プロセッサ550によって直接アクセス可能なページサイズを有するように構成され得る。
メモリシステムのドメイン内に存在するバッファ540は、SoC/プロセッサ550内のキャッシュメモリ555の増強として動作するように構成され得る。幾つかの例では、バッファ540の容量は、256メガバイトのオーダーであり得る。幾つかの例では、バッファ540の容量は、SoC/プロセッサ550内のキャッシュメモリ555のサイズに基づいて判定され得る。バッファ540の比較的小さな容量は、潜在的により小さな寄生要素、例えば、金属線と関連付けられるインダクタンスが原因で、より大きな容量の典型的なDRAMよりもより良く実施する機会をメモリサブシステム520に提供し得る。バッファ540のより小さな容量は、周期的なリフレッシュ動作と関連付けられるシステム電力消費を削減する観点で付加的な利益を提供し得る。
メモリサブシステム520は、1チップ型及び複数チップ型を含む様々な構成で実装され得る。1チップ型は、インタフェースコントローラ530、仮想メモリバンク535、及び不揮発性メモリ525を単一のチップ上に含み得る。幾つかの例では、バッファ540は単一のチップ内に含まれ得る。一方、複数チップ型は、メモリサブシステム520内の構成要素の各1つ、すなわち、インタフェースコントローラ530、仮想メモリバンク535、不揮発性メモリ525、及びバッファ540を単一のチップ内に別々に有し得る。複数チップ型のバリエーションは、仮想メモリバンク535及びインタフェースコント
ローラ530の両方を有するチップを含み得る。また、複数チップ型は、別個のチップ上に実装されたバッファ540を更に含み得る。バリエーションは、仮想メモリバンク535を含むためのバッファ540を有し得る。更に別の例では、複数チップ型は、不揮発性メモリ及びバッファを同じチップ上に含み得る。幾つかの例では、不揮発性メモリアレイはDRAMセルのアレイを含み得る。幾つかの場合、インタフェースコントローラ530、仮想メモリバンク535、及びバッファ540は同じチップ上に配備され得る。
幾つかの例では、不揮発性メモリ525は、ローカルメモリコントローラ526を有するFeRAMのアレイであり得る。幾つかの例では、不揮発性メモリ525は、ストレージ560と比較して、SoC/プロセッサ550の不揮発性ニアメモリを指し得る。ニアメモリとしての不揮発性メモリ525は、例えば、ストレージ560からデータを検索することと関連付けられ得るオーバヘッドを制限又は回避し得る。
幾つかの例では、不揮発性メモリ525の容量は、32ギガバイトのオーダーであり得る。不揮発性メモリ525は、ストレージ560にアクセスする代わりに、予想外の電力断時に重要な情報を保存し得、ストレージ560にアクセスすることは、望まない遅延と関連付けられ得る。不揮発性メモリ525のローカルメモリコントローラ526は、不揮発性メモリ525に対する可変のページサイズを判定するように構成され得る。幾つかの例では、FeRAMのページサイズは、LPDDR DRAMのページサイズよりも小さくてもよく、LPDDR DRAMのページサイズは、FeRAMのページサイズの上位セットであり得る。LPDDR DRAMのページサイズの一例は2048バイトであり得、FeRAMのページサイズの一例は64バイトであり得る。インタフェースコントローラ530は、バス571及び576を介して不揮発性メモリ525と共に動作するように構成され得る。幾つかの例では、バス571はFeRAM CAバスであり得る。幾つかの例では、バス576はFeRAMインタフェース(IF)バスであり得る。インタフェースコントローラ530並びにバス572及び576は、不揮発性メモリ525のページサイズと互換性があるように構成され得る。
幾つかの場合、装置は、第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと、第1のメモリアレイと結合され、SC又はプロセッサとインタフェースで連結するように構成された第1のコントローラと、第1のコントローラを介して第1のメモリアレイと結合され、SoC又はプロセッサと関連付けられる第2のページサイズに基づいてデータを蓄積するように構成され、第2のページサイズは第1のページサイズの上位セットである第2のメモリアレイとを含み得る。幾つかの場合、装置は、第1のコントローラと結合され、第2のページサイズを少なくとも部分的に用いて構成された第3のメモリアレイを更に含み得る。幾つかの場合、第2のメモリアレイ、第3のメモリアレイ、及び第1のコントローラは、同じチップ上に配備される。幾つかの場合、第1のページサイズを構成可能である。
幾つかの場合、第3のメモリアレイはSoC又はプロセッサに結合される。幾つかの場合、第3のメモリアレイは、Soc又はプロセッサの上にある。幾つかの場合、第3のメモリアレイは揮発性メモリセルを含む。幾つかの場合、第1のメモリアレイ及び第3のメモリアレイは第1のチップ上に配備される。幾つかの場合、第1のメモリアレイは第3のメモリアレイを含む。幾つかの場合、第1のメモリアレイ、第1のコントローラ、及び第2のメモリアレイは、第1のチップ上に配備される。幾つかの場合、装置は、SoC又はプロセッサを更に含み得、SoC又はプロセッサは、第1のコントローラを介して第1のメモリアレイと結合され、SoC又はプロセッサは、第1のチップとは別個の第2のチップ上に配備される。幾つかの場合、装置は、SoC又はプロセッサと結合された不揮発性メモリセルを含む付加的なメモリアレイを更に含み得る。幾つかの場合、付加的なメモリアレイは、SoC又はプロセッサと結合された不揮発性メモリセルの第1のグループと、
不揮発性メモリセルの第1のグループを介してSoC又はプロセッサと結合された不揮発性メモリセルの第2のグループとを含む。
幾つかの場合、SoC又はプロセッサは、SoC又はプロセッサにおけるキャッシュメモリとして構成されたローカルメモリアレイを含む。幾つかの場合、装置は、第1のメモリアレイと結合され第1のメモリアレイと同じチップ上に配備され、第1のメモリアレイに対する第1のページサイズを判定するように構成された第2のコントローラを更に含み得る。幾つかの場合、第2のメモリアレイは、第1のメモリアレイの第1のページサイズに従ってデータを蓄積するように構成される。幾つかの場合、第2のメモリアレイは、第1のメモリアレイからの有効データを蓄積する第2のメモリアレイの1つ以上の部分を指し示す第1のフラグを蓄積するように構成される。幾つかの場合、第2のメモリアレイは、第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの1つ以上の部分を指し示す第2のフラグを蓄積するように構成される。幾つかの場合、第1のコントローラは、第2のメモリアレイを含み、第1のコントローラ及び第2のメモリアレイは同じチップ上に配備される。
幾つかの場合、装置は、第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと、第1のメモリアレイと結合され、SC又はプロセッサとインタフェースで連結するように構成されたローカルコントローラと、ローカルコントローラと結合され、第1のページサイズの上位セットである第2のページサイズに基づいてデータを蓄積するように構成された第2のメモリアレイと、ローカルコントローラと結合され、第2のページサイズに少なくとも部分的に従ってデータを蓄積するように構成された第3のメモリアレイとを含み得る。幾つかの場合、第2のメモリアレイ、第3のメモリアレイ、及びローカルコントローラは、同じチップ上に配備される。幾つかの場合、第1のページサイズは構成可能である。幾つかの場合、第2のページサイズはSoC又はプロセッサと関連付けられる。幾つかの場合、第3のメモリアレイはSoC又はプロセッサに結合される。
幾つかの場合、装置は、第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと、SC又はプロセッサと関連付けられる第2のページサイズに基づいてデータを蓄積するように構成され、第2のページサイズは第1のページサイズの上位セットである第2のメモリアレイと、第2のページサイズを少なくとも部分的に用いて構成された揮発性メモリセルを含む第3のメモリアレイと、SoC又はプロセッサ、第1のメモリアレイ、第2のメモリアレイ、及び第3のメモリアレイとインタフェースで連結するように構成され、第1のメモリアレイにアクセスするためのメモリ動作コマンドをSoC又はプロセッサから受信することと、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定し、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づくことと、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かの判定に基づいて、第1のメモリアレイ又は第2のメモリアレイにおいてメモリ動作コマンドを実行することとを動作可能であるコントローラとを含み得る。
幾つかの場合、第2のメモリアレイ、第3のメモリアレイ、及びインタフェースコントローラは同じチップ上に配備される。幾つかの場合、第1のページサイズは構成可能である。幾つかの場合、コントローラは、第1のメモリアレイからの有効データを蓄積する第2のメモリアレイの部分を各々指し示す1つ上の第1のフラグを検出すること、又は第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの部分を各々指し示す1つ以上の第2のフラグを検出すること、又は第1のフラグの内の1つ以上及び第2のフラグの内の1つ以上を検出することを動作可能である。幾つかの場合、メモリ動作コマンドは読み出しコマンドを含む。幾つかの場合、コントローラは、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定するように動作可
能であり、第3のメモリアレイは、第2のページサイズを少なくとも部分的に用いて構成され、コントローラは、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定することに基づいて第3のメモリアレイからデータをフェッチすることと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを更に動作可能である。
幾つかの場合、コントローラは、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイに蓄積されていると判定し、第3のメモリアレイは、第2のページサイズを少なくとも部分的に用いて構成されることと、SoC又はプロセッサに第3のメモリアレイに直接アクセスさせることとを動作可能である。幾つかの場合、第1のコントローラは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されていると判定することに基づいて、第2のメモリアレイからデータをフェッチすることと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを動作可能である。幾つかの場合、第1のコントローラは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定することに基づいて、第1のメモリアレイからデータをフェッチすることと、第2のメモリアレイの1つ以上の部分内にデータを蓄積することと、第2のメモリアレイの1つ以上の部分内に蓄積された有効データを指し示す1つ以上の第1のフラグを更新することと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを動作可能である。
幾つかの場合、メモリ動作コマンドは書き込みコマンドを含む。幾つかの場合、第1のコントローラは、第2のメモリアレイの1つ以上の部分内にデータを蓄積することと、第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの部分を指し示す1つ以上の第2のフラグを更新することとを動作可能である。幾つかの場合、SoC又はプロセッサからのメモリ動作コマンドは、時間間隔の間のSoC又はプロセッサによるアクセスの試行数に基づいて、第2のメモリアレイからのデータを第1のメモリアレイ又は第3のメモリアレイの何れかに書き込むためのコマンドを含む。幾つかの場合、第1のコントローラは、アクセスの試行数が閾値未満であることに基づいて、第1のメモリアレイにおいてデータを蓄積するように動作可能である。幾つかの場合、閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含む。幾つかの場合、第1のコントローラは、アクセスの試行数が閾値以上であることに基づいて、第3のメモリアレイにおいてデータを蓄積するように動作可能である。幾つかの場合、閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含む。
幾つかの場合、装置(例えば、メモリサブシステム520)は、第1のメモリアレイにアクセスするためのメモリ動作コマンドをSoC又はプロセッサから受信するための手段を含み得る。幾つかの場合、装置は、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かを判定するための手段を含み得、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づき得る。幾つかの場合、装置は、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かの判定に基づいて、第1のメモリアレイ又は第2のメモリアレイにおいてメモリ動作コマンドを実行するための手段を含み得る。
図6は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムをサポートするプロトコルの例示的な概略図を説明する。図6は、図5に示した様々なコンポーネントと併せて、仮想メモリバンク635とその詳細な側面とを示す。仮想メモリバンク635は、図5を参照しながら説明したような仮想メモリバンク535の一例であり得る。上で説明したように、仮想メモリバンク635は、インタフェースコントローラ530
と同じチップ上に配備され得る。仮想メモリバンク635は、各部分655−a、655−b、及び655−c等が不揮発性メモリ525のページサイズに対応し得る複数の部分655を有するように構成され得る。図6の例は、図5に描写したコンポーネントの動作を参照しながら説明される。
連結した一連の部分655は、バス570及び575を介してSoC/プロセッサ550と共に動作するように互換性があるページサイズ645を表すように構成され得る。幾つかの例では、各部分655は64バイトを表し得、ページサイズ645は2048バイトを表し得る。こうした場合、655の32個の部分の連結は、インタフェースコントローラ530がバス570及び575を介してSoC/プロセッサ550と共に動作し得るように、ページサイズ645に対応する2048バイトのページサイズを有するデータのセットを構築するであろう。したがって、インタフェースコントローラ530と一緒に動作する仮想メモリバンク635は、バス570及び575と互換性がある方法で、SoC/プロセッサ550と不揮発性メモリ525との間に連なり得る。
図6の例は、説明を簡単にする目的のために、SoC/プロセッサ550と共に動作するように互換性があるデータのユニットを表すメモリの1ページを示す。仮想メモリバンク635は、不揮発性メモリ525の容量及びバッファ540の容量等をサポートするためのメモリサブシステムの様々なアプリケーションに依存してメモリサブシステム520の性能を最適化するために、データの複数のこうしたユニットを有するように構成され得ると当業者により評価されるべきである。幾つかの例では、仮想メモリバンク635は、データの8つのユニットを用いて構成され得る。
幾つかの例では、インタフェースコントローラ530は、バス570を介してSoC/プロセッサ550からメモリ動作コマンドを受信し得る。メモリ動作コマンドは読み出しコマンドであり得る。続いて、インタフェースコントローラ530は、読み出しコマンドと関連付けられるデータが仮想メモリバンク635の部分655の内の1つ以上の内に存在するか否かを判定し得る。データが仮想メモリバンク635の部分655の内の1つ以上の内に存在するか否かを判定中、インタフェースコントローラ530は、仮想メモリバンク635の1つ以上の部分655内に蓄積された有効データを示す有効/無効フラグ665を検出し得る。データが仮想メモリバンク635の部分655の内の1つ以上の内に存在する場合、インタフェースコントローラ530は、仮想メモリバンク635からデータを検索し得、データをバス575を介してSoC/プロセッサ550へ送信し得る。この動作は、LPDDRの仕様との互換性が果たされ得、データが仮想メモリバンク635内に既に存在し、ページサイズ645がLPDDRの仕様と互換性があるので、それに応じてSoC/プロセッサ550は動作し得る。そのため、インタフェースコントローラ530は、不揮発性メモリ525にアクセスする必要がなくてもよい。
一方、データが仮想メモリバンク635の1つ以上の部分655内に存在しない場合、インタフェースコントローラ530は、不揮発性メモリ525にアクセスし得、データをSoC/プロセッサ550へ送信すると共に、仮想メモリバンク635の1つ以上の部分655内にデータを蓄積し得る。インタフェースコントローラ530は、有効/無効フラグ665を検出することによって有効データの将来の使用を可能にするように、仮想メモリバンク635の1つ以上の部分655内に蓄積された有効データを指し示す有効/無効フラグ665を更新し得る。この動作は、インタフェースコントローラ530が不揮発性メモリ525からデータを検索する事実に起因してLPDDRの仕様と互換性がないかもしれない付加的な遅延時間を招き得る。したがって、SoC/プロセッサ550は、バス575を介したSoC/プロセッサ550に利用可能なデータを有するために、LPDDRの仕様よりも長い遅延を予期するために通知を受け得る。
幾つかの例では、インタフェースコントローラ530は、読み出しコマンドと関連付けられるデータがバッファ540において蓄積されていると判定し得る。続いて、インタフェースコントローラ530は、バッファ540からデータを検索し得、データをバス575を介してSoC/プロセッサ550へ送信し得る。幾つかの場合、SoC/プロセッサ550はバッファ540に直接アクセスし得る。バッファ540はバス570及び575と共に動作するように構成され得るので、この動作は、LPDDRの仕様と互換性があり得、SoC/プロセッサ550はそれに応じて動作し得る。
他の例では、インタフェースコントローラ530は、メモリ動作コマンドをバス570を介してSoC/プロセッサ550から受信し得る。メモリ動作コマンドは書き込みコマンドであり得る。続いて、インタフェースコントローラ530は、データをバス575を介してSoC/プロセッサ550から受信すると、仮想メモリバンクの1つ以上の部分内にデータを蓄積する。その後、インタフェースコントローラ530は、仮想メモリバンク635の1つ以上の部分655内に蓄積されたデータが不揮発性メモリ525からのデータとは異なり得ると判定し得る。その結果として、インタフェースコントローラ530は、不揮発性メモリ525内に蓄積されたデータとは異なるデータを有する仮想メモリバンク635の部分655を各々指し示す変更フラグ675を更新し得る。変更フラグ675は、仮想メモリバンク635内のデータの如何なる部分655内に不揮発性メモリ525に戻して蓄積するかをインタフェースコントローラ530に指し示すのに役立ち得る。これは、不揮発性メモリ525内に既に存在する同じデータを蓄積するためにリソースを費やすことなく、SoC/プロセッサ550によって変更されたデータのコンテンツをインタフェースコントローラ530が蓄積することを可能にし得る。SoC/プロセッサ550からの書き込みコマンドは、関与する不揮発性メモリ525なしに仮想メモリバンク635に書き込み、それ故、LPDDRの仕様に従って遂行され得、SoC/プロセッサ550はそれに応じて動作し得ると評価すべきである。
幾つかの例では、インタフェースコントローラ530は、メモリ動作コマンドをSoC/プロセッサ550から受信し得る。メモリ動作コマンドは、仮想メモリバンク635内のデータのページを閉鎖ことと関連付けられ得、それ故、インタフェースコントローラ530は、該閉鎖の前にデータのページを何処に蓄積するかを判定し得る。インタフェースコントローラ530は、仮想メモリバンク635のコンテンツを監視及び識別するように構成され得る。インタフェースコントローラ530は、ある一定時間間隔の間のSoC/プロセッサ550によるアクセスの試行数を仮想メモリバンク635のコンテンツに記録するカウンタを有するように構成され得る。SoC/プロセッサ550によるアクセスの試行数が所定の閾値未満であることをカウンタが示す場合、インタフェースコントローラ530は、不揮発性メモリ525内で修正されている仮想メモリバンク635のコンテンツを蓄積し得る。インタフェースコントローラ530は、コンテンツが修正されていないと判定した後に、仮想メモリバンク635のコンテンツを破棄し得る。一方、SoC/プロセッサ550によるアクセスの試行数が所定の閾値以上であることをカウンタが示す場合、インタフェースコントローラ530は、データをバッファ540内に蓄積し得る。また、仮想メモリバンク635のコンテンツをバッファ540にバイパス保存するために、SoC/プロセッサ550によるアクセスの試行数が所定の閾値未満である場合、カウンタはバイパスインジケータをセットアップするように構成され得る。バイパスインジケータは、仮想メモリバンク635の修正されたコンテンツを不揮発性メモリ525に直接保存するためにその後使用され得る。全体的な条件を満たすために、不揮発性のメモリシステム又はサブシステムの動作の他の側面(例えば、SoC/プロセッサのキャッシュメモリの動作、バッファ容量等)に照らしてインタフェースコントローラに対する様々な基準(例えば、カウンタの値、クロック、時限等を含む基準)を当業者は工夫可能であるべきである。
データを管理するインタフェースコントローラ530の動作は、FeRAMアレイに対する実際の読み出し又は書き込みのサイクルを制限することによって、不揮発性メモリ525、例えば、FeRAMアレイへの害を防止し得る。実例として、インタフェースコントローラ530は、データが仮想メモリバンク635又はバッファ540の何れかにおいて入手可能である場合には、不揮発性メモリ525に実際にアクセスすることなくSoC/プロセッサ550へのデータを生み出し得る。また、データをバッファ540内に蓄積すること、又はデータを破棄することが適切である場合、インタフェースコントローラ530は、データを不揮発性メモリ525に蓄積することを回避し得る。DRAMセルは耐久性が限定されない又は事実上限定されない一方で、FeRAMセルはDRAMセルと比較して耐久性が限定され得る、すなわち、FeRAMセルは、その寿命に渡ってサポートされ得る読み出し又は書き込みのサイクル数が限定され得るので、インタフェースコントローラ530によるデータのこうした管理は、FeRAMの信頼性にとって有益であり得る。幾つかの場合、FeRAMアレイの耐久性は、FeRAMセルのごく一部がそれらの耐久限度に晒される幾つかの配備又は使用にとって不十分であり得る。例えば、FeRAMセルは、多くの典型的な電子アプリケーションにとって適切な耐久限度を有し得るが、(例えば、コンピュータウィルス又は無権限のアクセスに起因する)悪意のある攻撃は、FeRAMセルのごく一部に対してそれらの耐久限度に達するまで継続的に読み出す又は書き込むことによって、FeRAMの破壊を試み得る。従って、データを管理するインタフェースコントローラ530は、こうした悪意のある攻撃を回避すること、又は不揮発性メモリ525と関連付けられるウェアレベルを効果的に管理することの何れかによってFeRAMセルの動作に関わるリスクを軽減可能にし得る。
図7は、本開示の実施形態に従った不揮発性のメモリシステム又はサブシステムを動作するための方法700を説明するフローチャートを示す。方法700の動作は、本明細書で説明したように、図1を参照しながら説明したようなインタフェースコントローラ120、又は図5を参照しながら説明したようなインタフェースコントローラ530によって実装され得る。
ブロック705において、インタフェースコントローラ530は、不揮発性メモリセルを含み得る第1のメモリアレイであって、第1のページサイズを有する第1のメモリアレイにアクセスするためのメモリ動作コマンドをSC又はプロセッサから受信し得る。ブロック705の動作は、図1〜図6を参照しながら説明した方法に従って実施され得る。
ブロック710において、インタフェースコントローラ530は、メモリ動作コマンドと関連付けられるデータが、SoC又はプロセッサに基づき得る第2のページサイズを有する第2のメモリアレイにおいて蓄積され得るか否かを判定し得、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づき得る。ブロック710の動作は、図1〜図6を参照しながら説明した方法に従って実施され得る。
ブロック715において、インタフェースコントローラ530は、第1のメモリアレイ、第2のメモリアレイ、又はインタフェースコントローラと結合され得、揮発性メモリセルを含み得る第3のメモリアレイにおいて、メモリ動作コマンドを実行し得、メモリ動作コマンドは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かの判定に基づいて実行され得る。ブロック715の動作は、図1〜図6を参照しながら説明した方法に従って実施され得る。
方法700等の1つ以上の方法を実施するための装置が説明される。該装置は、不揮発性メモリセルを含み得る第1のメモリアレイであって、第1のページサイズを有する第1のメモリアレイにアクセスするためのメモリ動作コマンドをインタフェースコントローラにおいてSC又はプロセッサから受信するための手段と、メモリ動作コマンドと関連付
けられるデータが、SoC又はプロセッサに基づき得る第2のページサイズを有する第2のメモリアレイにおいて蓄積され得るか否かを判定するための手段であって、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づき得る該手段と、第1のメモリアレイ、第2のメモリアレイ、又はインタフェースコントローラと結合され得、揮発性メモリセルを含み得る第3のメモリアレイにおいて、メモリ動作コマンドを実行するための手段であって、該メモリ動作コマンドは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かの判定に基づいて実行され得る該手段とを含み得る。
幾つかの例では、装置は、第1のメモリアレイからの有効データを蓄積する第2のメモリアレイの部分を各々指し示す1つ以上の第1のフラグを検出するための手段を含み得る。又は、装置は、第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの部分を各々指し示す1つ以上の第2のフラグを検出するための手段を含み得る。又は、装置は、第1のフラグの内の1つ以上及び第2のフラグの内の1つ以上を検出するための手段を含み得る。
幾つかの例では、装置は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定するための手段であって、第3のメモリアレイは第2のページサイズを少なくとも部分的に用いて構成される該手段を含み得る。こうした場合、メモリ動作コマンドを実行するための手段は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定することに少なくとも部分的に基づいて第3のメモリアレイからデータをフェッチするための手段と、データをフェッチすることに少なくとも部分的に基づいてデータをSoC又はプロセッサへ送信するための手段とを含み得る。
幾つかの例では、装置は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定するための手段であって、第3のメモリアレイは第2のページサイズを少なくとも部分的に用いて構成される該手段と、SoC又はプロセッサから第3のメモリアレイに直接アクセスするための手段とを含み得る。
幾つかの例では、装置は、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されていると判定することに少なくとも部分的に基づいて第2のメモリアレイからデータをフェッチするための手段と、データをフェッチすることに少なくとも部分的に基づいてデータをSoC又はプロセッサへ送信するための手段とを含み得る。
幾つかの例では、装置は、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定することに少なくとも部分的に基づいて第1のメモリアレイからデータをフェッチするための手段と、第2のメモリアレイの1つ以上の部分内にデータを蓄積するための手段と、第2のメモリアレイの1つ以上の部分内に蓄積された有効データを指し示す1つ以上の第1のフラグを更新するための手段と、データをフェッチすることに少なくとも部分的に基づいてデータをSoC又はプロセッサへ送信するための手段とを含み得る。
幾つかの例では、装置は、第2のメモリアレイの1つ以上の部分内にデータを蓄積するための手段と、第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの部分を指し示す1つ以上の第2のフラグを更新するための手段とを含み得る。
幾つかの例では、装置は、時間間隔の間のSoC又はプロセッサによるアクセスの試行数が閾値未満であることに少なくとも部分的に基づいて第1のメモリアレイにおいてデータを蓄積するための手段を含み得る。
幾つかの例では、装置は、時間間隔の間のSoC又はプロセッサによるアクセスの試行数が閾値以上であることに少なくとも部分的に基づいて第3のメモリアレイにおいてデータを蓄積するための手段を含み得る。
方法700等の1つ以上の方法を実施するための別の装置が説明される。該装置は、第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと、SoC又はプロセッサと関連付けられる第2のページサイズに少なくとも部分的に基づいてデータを蓄積するように構成され、第2のページサイズは第1のページサイズの上位セットである第2のメモリアレイと、第2のページサイズを少なくとも部分的に用いて構成された揮発性メモリセルを含む第3のメモリアレイと、第1のメモリアレイにアクセスするためのメモリ動作コマンドをSoC又はプロセッサから受信するための手段と、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定するための手段であって、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに少なくとも部分的に基づく該手段と、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かの判定に少なくとも部分的に基づいて、第1のメモリアレイ又は第2のメモリアレイにおいてメモリ動作コマンドを実行するための手段とを含み得る。
方法700等の1つ以上の方法を実施するための別の装置が説明される。該装置は、第1のメモリアレイと、第2のメモリアレイと、第3のメモリアレイと、SC又はプロセッサと電子通信するインタフェースコントローラであって、不揮発性メモリセルを含み得る第1のメモリアレイであって、第1のページサイズを有する第1のメモリアレイにアクセスするためのメモリ動作コマンドをインタフェースコントローラにおいてSoC又はプロセッサから受信することと、メモリ動作コマンドと関連付けられるデータが、SoC又はプロセッサに基づき得る第2のページサイズを有する第2のメモリアレイにおいて蓄積され得るか否かを判定し、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づき得ることと、第1のメモリアレイ、第2のメモリアレイ、又はインタフェースコントローラと結合され得、揮発性メモリセルを含み得る第3のメモリアレイにおいて、メモリ動作コマンドを実行し、該メモリ動作コマンドは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かの判定に基づいて実行され得ることとを動作可能であり得るインタフェースコントローラとを含み得る。
本明細書で説明される方法700及び装置の幾つかの例は、第1のメモリアレイからの有効データを蓄積する第2のメモリアレイの部分を各々指し示し得る1つ以上の第1のフラグを検出すること、又は第1のメモリアレイとは異なり得るデータを蓄積する第2のメモリアレイの部分を各々指し示し得る1つ以上の第2のフラグを検出すること、又は第1のフラグの内の1つ以上及び第2のフラグの内の1つ以上を検出することのためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例では、メモリ動作コマンドは読み出しコマンドを含み得る。本明細書で説明される方法700及び装置の幾つかの例は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積され得ると判定し、第3のメモリアレイは第2のページサイズを少なくとも部分的に用いて構成され得るためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積され得ると判定することに基づいて、第3のメモリアレイからデータをフェッチするためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信するためのプロセス、機構、手段、又は命令を更に
含み得る。
本明細書で説明される方法700及び装置の幾つかの例は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積され得ると判定し、第3のメモリアレイは、第2のページサイズを少なくとも部分的に用いて構成され得るためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、SoC又はプロセッサから第3のメモリアレイに直接アクセスするためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例は、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得ると判定することに基づいて、第2のメモリアレイからデータをフェッチするためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信するためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例は、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積され得るか否かを判定することに基づいて、第1のメモリアレイからデータをフェッチするためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、第2のメモリアレイの1つ以上の部分内にデータを蓄積するためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、第2のメモリアレイの1つ以上の部分内に蓄積された有効データを指し示す1つ以上の第1のフラグを更新するためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信するためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例では、メモリ動作コマンドは書き込みコマンドを含み得る。本明細書で説明される方法700及び装置の幾つかの例は、第2のメモリアレイの1つ以上の部分内にデータを蓄積するためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例は、第1のメモリアレイとは異なり得るデータを蓄積する第2のメモリアレイの部分を指し示す1つ以上の第2のフラグを更新するためのプロセス、機構、手段、又は命令を更に含み得る。
本明細書で説明される方法700及び装置の幾つかの例では、SoC又はプロセッサからのメモリ動作コマンドは、時間間隔の間のSoC又はプロセッサによるアクセスの試行数に基づいて、第2のメモリアレイからのデータを第1のメモリアレイ又は第3のメモリアレイの何れかに書き込むためのコマンドを含み得る。
本明細書で説明される方法700及び装置の幾つかの例は、アクセスの試行数が閾値未満であることに基づいて第1のメモリアレイにおいてデータを蓄積するためのプロセス、機構、手段、又は命令を更に含み得る。本明細書で説明される方法700及び装置の幾つかの例では、閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含み得る。本明細書で説明される方法700及び装置の幾つかの例は、アクセスの試行数が閾値以上であることに基づいて第3のメモリアレイにおいてデータを蓄積するためのプロセス、機構、手段、又は命令を更に含み得る。
幾つかの実施形態では、不揮発性のメモリシステム又はサブシステムのための方法が開
示される。該方法は、不揮発性メモリセルを含む第1のメモリアレイであって、第1のページサイズを有する第1のメモリアレイにアクセスするためのメモリ動作コマンドをインタフェースコントローラにおいてSC又はプロセッサから受信することと、メモリ動作コマンドと関連付けられるデータが、SoC又はプロセッサに基づく第2のページサイズを有する第2のメモリアレイにおいて蓄積されているか否かを判定し、該判定は、第2のメモリアレイにおいて蓄積された1つ以上のフラグに基づくことと、第1のメモリアレイ、第2のメモリアレイ、又はインタフェースコントローラと結合され揮発性メモリセルを含む第3のメモリアレイにおいてメモリ動作コマンドを実行し、メモリ動作コマンドは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かの判定に基づいて実行されることとを含み得る。
幾つかの場合、第2のメモリアレイ、第3のメモリアレイ、及びインタフェースコントローラは同じチップ上に配備される。幾つかの場合、第2のページサイズは、構成可能である第1のページサイズの上位セットである。幾つかの場合、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定することは、第1のメモリアレイからの有効データを蓄積する第2のメモリアレイの部分を各々指し示す1つ以上の第1のフラグを検出すること、又は第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの部分を各々指し示す1つ以上の第2のフラグを検出すること、又は第1のフラグの内の1つ以上及び第2のフラグの内の1つ以上を検出することを含む。
幾つかの場合、メモリ動作コマンドは読み出しコマンドを含む。幾つかの場合、方法は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定し、第3のメモリアレイは第2のページサイズを少なくとも部分的に用いて構成され、メモリ動作コマンドを実行することは、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定することに基づいて第3のメモリアレイからデータをフェッチすることを含むと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを更に含み得る。幾つかの場合、方法は、メモリ動作コマンドと関連付けられるデータが第3のメモリアレイにおいて蓄積されていると判定し、第3メモリアレイは、第2のページサイズを少なくとも部分的に用いて構成されることと、SoC又はプロセッサから第3のメモリアレイに直接アクセスすることとを更に含み得る。
幾つかの場合、メモリ動作コマンドを実行することは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されていると判定することに基づいて第2のメモリアレイからデータをフェッチすることと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを含む。幾つかの場合、メモリ動作コマンドを実行することは、メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定することに基づいて第1のメモリアレイからデータをフェッチすることと、第2のメモリアレイの1つ以上の部分内にデータを蓄積することと、第2のメモリアレイの1つ以上の部分内に蓄積された有効データを指し示す1つ以上の第1のフラグを更新することと、データをフェッチすることに基づいてデータをSoC又はプロセッサへ送信することとを含む。
幾つかの場合、メモリ動作コマンドは書き込み動作を含む。幾つかの場合、メモリ動作コマンドを実行することは、第2のメモリアレイの1つ以上の部分内にデータを蓄積することと、第1のメモリアレイとは異なるデータを蓄積する第2のメモリアレイの部分を指し示す1つ以上の第2のフラグを更新することとを含む。幾つかの場合、SoC又はプロセッサからのメモリ動作コマンドは、時間間隔の間のSoC又はプロセッサによるアクセスの試行数に基づいて第2のメモリアレイからのデータを第1のメモリアレイ又は第3の
メモリアレイの何れかに書き込むためのコマンドを含む。幾つかの場合、メモリ動作コマンドを実行することは、アクセスの試行数が閾値未満であることに基づいて、第1のメモリアレイにおいてデータを蓄積することを含む。幾つかの場合、閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含む。幾つかの場合、メモリ動作コマンドを実行することは、アクセスの試行数が閾値以上であることに基づいて、第3のメモリアレイにおいてデータを蓄積することを含む。幾つかの場合、閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含む。
上で説明した方法は可能な実装を説明すること、動作及びステップは再配置され得、さもなければ修正され得ること、並びにその他の実装が可能であることに留意すべきである。更に、方法の内の2つ以上からの実施形態は組み合わせられ得る。
本明細書で説明される情報及び信号は、様々な異なる科学技術及び技術の内の何れかを使用して表され得る。例えば、上述の説明全体を通じて言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光粒子、又はそれらの任意の組み合わせにより表され得る。幾つかの図面は、複数の信号を単一の信号として説明し得るが、バスが様々なビット幅を有し得る場合に、信号は複数の信号のバスを表し得ることを当業者は理解するであろう。
本明細書で使用されるとき、用語“仮想接地(virtual ground)”は、約ゼロボルト
(0V)の電圧に保持されるがグランドと直接接続されない電気回路のノードを指す。したがって、仮想接地の電圧は、一時的に変動し得、定常状態で約0Vに戻り得る。仮想接地は、オペアンプ及び抵抗を含む電圧分圧器等の様々な電子回路素子を使用して実装され得る。その他の実装も可能である。“仮想接地する(virtual grounding)”又は“仮想接地される(virtually grounded)”は約0Vに接続されることを意味する。
用語“電子通信”及び“結合された(coupled)”は、コンポーネント間の電子流動を
支持するコンポーネント間の関係を指す。これは、コンポーネント間の直接接続を含み得、又は介在コンポーネントを含み得る。相互に電子通信する又は結合されたコンポーネントは、(例えば、通電された回路内の)電子若しくは信号を能動的に交換し得、又は(例えば、非通電の回路内の)電子若しくは信号を能動的に交換しないことがあるが、回路が通電されると電子若しくは信号を交換するように構成され得、動作可能であり得る。例として、スイッチ(例えば、トランジスタ)を介して物理的に接続された2つのコンポーネントは、スイッチの状態(すなわち、開放又は閉鎖)に関わらず電子通信し、又は結合され得る。
本明細書で論じられる1つ以上のトランジスタは、電界効果トランジスタ(FET)を表し得、ソース、ドレイン、及びゲートを含む3端子デバイスを含み得る。端子は、導電性材料、例えば金属を通じて他の電子素子に接続され得る。ソース及びドレインは、導電性であり得、高濃度にドープされた、例えば縮退した、半導体領域を含み得る。ソース及びドレインは、低濃度にドープされた半導体領域又はチャネルによって分離され得る。チャネルがn型(すなわち、主たるキャリアが電子)である場合、該FETはn型FETと称され得る。チャネルがp型(すなわち、主たるキャリアがホール)である場合、該FETはp型FETと称され得る。チャネルは、絶縁ゲート酸化物によって覆われ得る。チャネルの導電性は、ゲートに電圧を印加することによって制御され得る。例えば、正の電圧又は負の電圧をn型FET又はp型FETに夫々印加することは、チャネルが導電性になる結果をもたらし得る。トランジスタの閾値電圧以上の電圧がトランジスタのゲートに印加された場合、トランジスタは“オン”に又は“活性化”され得る。トランジスタの閾値電圧未満の電圧がトランジスタのゲートに印加された場合、トランジスタは“オフ”に又
は“不活性化”され得る。
添付の図面に関連して本明細書に記載される説明は、例示的構成を説明し、実装され得る又は請求項の範囲内にある全ての例を表さない。本明細書で使用される用語“例示的(exemplary)”は、“好適”又は“その他の例よりも有利”ではなく“一例、実例、又は
説明として役立つこと”を意味する。詳細な説明は、説明される技術の理解を提供する目的のための具体的詳細を含む。これらの技術は、しかしながら、これらの具体的詳細なしに実践され得る。幾つかの実例では、説明される例の内容を不明確にすることを避けるために、周知の構造及びデバイスはブロック図の形式で示される。
添付の図において、同様のコンポーネント又は機構は、同じ参照ラベルを有し得る。更に、同じ種類の様々なコンポーネントは、ダッシュと、同様のコンポーネント間で区別する第2のラベルとを参照ラベルに続けることによって区別され得る。明細書中にただ第1の参照ラベルが使用される場合、説明は、第2の参照ラベルに関係なく、同じ第1の参照ラベルを有する同様のコンポーネントの内の何れか1つに適用できる。
本明細書に説明される情報及び信号は、様々な異なる科学技術及び技術の何れかを使用して表され得る。例えば、上述の説明全体を通じて言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光粒子、又はそれらの任意の組み合わせにより表され得る。
本明細書の開示と関連して記述される様々な説明ブロック及びモジュールは、本明細書で説明される機能を実施するように設計された汎用プロセッサ、DSP、ASIC、FPGA若しくはその他のプログラム可能論理デバイス、分離したゲート若しくはトランジスタ論理、分離したハードウェアコンポーネント、又はそれらの任意の組み合わせで実装又は実施され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代わりに、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシーンであり得る。プロセッサはまた、コンピューティングデバイスの組み合わせ(例えば、デジタルシグナルプロセッサ(DSP)とマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携した1つ以上のマイクロプロセッサ、又は任意のその他のこうした構成)として実装され得る。
本明細書で説明される機能は、ハードウェア、プロセッサにより実行されるソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実装され得る。プロセッサにより実行されるソフトウェアで実装される場合、機能は、コンピュータ可読媒体上の1つ以上の命令又はコードとして蓄積され得、又は送信され得る。その他の例及び実装は、本開示及び添付の請求項の範囲内である。例えば、ソフトウェアの性質に起因して、上で説明した機能は、プロセッサにより実行されるソフトウェア、ハードウェア、ファームウェア、配線、又はこれらの任意の組み合わせを使用して実装できる。機能を実装する機構はまた、機能の(複数の)部分が異なる物理的位置で実装されるように分散されることを含む、様々な位置に物理的に配置され得る。また、請求項を含む本明細書で使用されるとき、項目のリスト(例えば、“少なくとも1つの”又は“の内の1つ以上”等の句により前置きされる項目のリスト)に使用されるような“又は”は、例えば、A、B、又はCの内の少なくとも1つのリストがA又はB又はC又はAB又はAC又はBC又はABC(すなわち、A及びB及びC)を意味するように包含的リストを指し示す。また、本明細書で使用されるとき、句“基づいて”は、条件の閉集合への言及として解釈されないであろう。例えば、“条件Aに基づいて”と説明される例示的ステップは、本開示の範囲から逸脱することなく、条件A及び条件Bの両方に基づき得る。言い換えれば、本明細書で使用されるとき、句“基づいて”は、句“少なくとも部分的に基づいて”と同様の方法で解釈されるであろう。
コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む非一時的コンピュータ記憶媒体及び通信媒体の両方を含む。非一時的記憶媒体は、汎用又は専用のコンピュータによりアクセスできる任意の利用可能な媒体であり得る。例として、非限定的に、非一時的コンピュータ可読媒体は、RAM、ROM、電気的消去可能プログラム可能リードオンリーメモリ(EEPROM)、コンパクトディスク(CD)ROM若しくはその他の光ディスクストレージ、磁気ディスクストレージ若しくはその他の磁気ストレージデバイス、又は所望のプログラムコード手段を命令若しくはデータ構造の形式で搬送若しくは蓄積するのに使用でき、且つ汎用若しくは専用コンピュータ又は汎用若しくは専用プロセッサによりアクセスできる任意のその他の非一時的媒体を含み得る。また、任意の接続は、コンピュータ可読媒体として適切に称される。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、又は赤外線、無線、及びマイクロ波等の無線技術を使用してウェブサイト、サーバ、又はその他の遠隔ソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、又は赤外線、無線、及びマイクロ波等の無線技術は媒体の定義に含まれる。本明細書で使用されるとき、磁気ディスク(disk)及び光学ディスク(disc)は、CD、レーザディスク、光ディスク、デジタル多目的ディスク(DVD)、フロッピーディスク、及びブルーレイディスクを含み、光学ディスクがレーザでデータを光学的に再生する一方で、磁気ディスクはデータを磁気的に通常再生する。上の組み合わせもコンピュータ可読媒体の範囲内に含まれる。
本明細書の説明は、当業者が開示を製作又は使用できるように提供される。開示への様々な修正が当業者に容易に分かるであろうし、本明細書で定義される包括的な原理は開示の範囲を逸脱することなくその他の変形に適用され得る。したがって、開示は、本明細書で説明された例示及び設計に限定されず、本明細書に開示された原理及び新規の機構と一致する最も広い範囲に一致すべきである。

Claims (50)

  1. 第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと、
    前記第1のメモリアレイと結合され、システムオンチップ(SoC)又はプロセッサとインタフェースで連結するように構成された第1のコントローラと、
    前記第1のコントローラを介して前記第1のメモリアレイと結合され、前記SoC又はプロセッサと関連付けられる第2のページサイズに少なくとも部分的に基づいてデータを蓄積するように構成され、前記第2のページサイズは前記第1のページサイズの上位セットである第2のメモリアレイと
    を含む、装置。
  2. 前記第1のページサイズは構成可能である、請求項1に記載の装置。
  3. 前記第1のコントローラと結合され、前記第2のページサイズを少なくとも部分的に用いて構成された第3のメモリアレイ
    を更に含む、請求項1に記載の装置。
  4. 前記第2のメモリアレイ、前記第3のメモリアレイ、及び前記第1のコントローラは同じチップ上に配備される、請求項3に記載の装置。
  5. 前記第3のメモリアレイは前記SoC又はプロセッサに結合される、請求項3に記載の装置。
  6. 前記第3のメモリアレイは前記SoC又はプロセッサの上にある、請求項5に記載の装置。
  7. 前記第3のメモリアレイは揮発性メモリセルを含む、請求項3に記載の装置。
  8. 前記第1のメモリアレイ及び前記第3のメモリアレイは第1のチップ上に配備される、請求項3に記載の装置。
  9. 前記第1のメモリアレイは前記第3のメモリアレイを含む、請求項3に記載の装置。
  10. 前記第1のメモリアレイ、前記第1のコントローラ、及び前記第2のメモリアレイは第1のチップ上に配備される、請求項1に記載の装置。
  11. 前記第1のコントローラを介して前記第1のメモリアレイに結合され、前記第1のチップとは別個の第2のチップ上に配備された前記SoC又はプロセッサ
    を更に含む、請求項10に記載の装置。
  12. 前記SoC又はプロセッサと結合された不揮発性メモリセルを含む付加的なメモリアレイ
    を更に含む、請求項1に記載の装置。
  13. 前記付加的なメモリアレイは、前記SoC又はプロセッサと結合された不揮発性メモリセルの第1のグループと、不揮発性メモリセルの前記第1のグループを介して前記SoC又はプロセッサと結合された不揮発性メモリセルの第2のグループとを含む、請求項12に記載の装置。
  14. 前記SoC又はプロセッサは、前記SoC又はプロセッサにおけるキャッシュメモリと
    して構成されたローカルメモリアレイを含む、請求項1に記載の装置。
  15. 前記第1のメモリアレイと結合され、前記第1のメモリアレイと同じチップ上に配備され、前記第1のメモリアレイに対する前記第1のページサイズを判定するように構成された第2のコントローラ
    を更に含む、請求項1に記載の装置。
  16. 前記第2のメモリアレイは、前記第1のメモリアレイの前記第1のページサイズに従ってデータを蓄積するように構成される、請求項15に記載の装置。
  17. 前記第2のメモリアレイは、前記第1のメモリアレイからの有効データを蓄積する前記第2のメモリアレイの1つ以上の部分を指し示す第1のフラグを蓄積するように構成される、請求項15に記載の装置。
  18. 前記第2のメモリアレイは、前記第1のメモリアレイとは異なるデータを蓄積する前記第2のメモリアレイの1つ以上の部分を指し示す第2のフラグを蓄積するように構成される、請求項15に記載の装置。
  19. 前記第1のコントローラは前記第2のメモリアレイを含み、前記第1のコントローラ及び前記第2のメモリアレイは同じチップ上に配備される、請求項1に記載の装置。
  20. 第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと、
    前記第1のメモリアレイに結合され、システムオンチップ(SoC)又はプロセッサとインタフェースで連結するように構成されたローカルコントローラと、
    前記ローカルコントローラと結合され、前記第1のページサイズの上位セットである第2のページサイズに少なくとも部分的に基づいてデータを蓄積するように構成された第2のメモリアレイと、
    前記ローカルコントローラと結合され、前記第2のページサイズに少なくとも部分的に従ってデータを蓄積するように構成された第3のメモリアレイと
    を含む、装置。
  21. 前記第2のページサイズは前記SoC又はプロセッサと関連付けられる、請求項20に記載の装置。
  22. 前記第3のメモリアレイは前記SoC又はプロセッサに結合される、請求項20に記載の装置。
  23. 第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと関連付けられるインタフェースコントローラと、
    前記インタフェースコントローラと結合されたシステムオンチップ(SoC)又はプロセッサと、
    前記インタフェースコントローラを介して前記第1のメモリアレイと結合され、前記SoC又はプロセッサと関連付けられる第2のページサイズに少なくとも部分的に基づいてデータを蓄積するように構成され、前記第2のページサイズは前記第1のページサイズの上位セットである第2のメモリアレイと、
    前記インタフェースコントローラ、前記SoC又はプロセッサ、若しくは前記第2のメモリアレイ、又はそれらの任意の組み合わせの内の少なくともと1つと結合された1つ以上のバスと
    を含む、装置。
  24. 前記1つ以上のバスに結合された1つ以上のコンポーネントであって、
    入力及び出力(I/O)コントローラ、
    周辺コンポーネント、若しくは
    ベーシックインプットアウトプットシステム(BIOS)コンポーネント又はボードサポートパッケージ(BSP)、又は
    それらの任意の組み合わせ
    の内の少なくとも1つを含む前記1つ以上のコンポーネント
    を更に含む、請求項23に記載の装置。
  25. 前記1つ以上のバスに結合されたダイレクトメモリアクセスコントローラ(DMAC)と、
    前記1つ以上のバスを介して前記インタフェースコントローラに結合され、揮発性メモリセルを含む第3のメモリアレイと
    を更に含む、請求項24に記載の装置。
  26. 前記1つ以上のバスを介して前記SoC又はプロセッサに結合され、不揮発性メモリセルを含む第4のメモリアレイ
    を更に含む、請求項25に記載の装置。
  27. 不揮発性メモリセルを含む第1のメモリアレイであって、第1のページサイズを有する前記第1のメモリアレイにアクセスするためのメモリ動作コマンドをインタフェースコントローラにおいてシステムオンチップ(SoC)又はプロセッサから受信することと、
    前記メモリ動作コマンドと関連付けられるデータが、前記SoC又はプロセッサに少なくとも部分的に基づく第2のページサイズを有する第2のメモリアレイにおいて蓄積されているか否か判定し、前記判定は、前記第2のメモリアレイにおいて蓄積された1つ以上のフラグに少なくとも部分的に基づくことと、
    前記第1のメモリアレイ、前記第2のメモリアレイ、又は前記インタフェースコントローラと結合され揮発性メモリセルを含む第3のメモリアレイにおいて前記メモリ動作コマンドを実行し、前記メモリ動作コマンドは、前記メモリ動作コマンドと関連付けられる前記データが前記第2のメモリアレイにおいて蓄積されているか否かの判定に少なくとも部分的に基づいて実行されることと
    を含む、方法。
  28. 前記メモリ動作コマンドと関連付けられるデータが前記第2のメモリアレイにおいて蓄積されているか否かを判定することは、
    前記第1のメモリアレイからの有効データを蓄積する前記第2のメモリアレイの部分を各々指し示す1つ以上の第1のフラグを検出すること、又は
    前記第1のメモリアレイとは異なるデータを蓄積する前記第2のメモリアレイの部分を各々指し示す1つ以上の第2のフラグを検出すること、又は
    前記第1のフラグの内の1つ以上及び前記第2のフラグの内の1つ以上を検出することを含む、請求項27に記載の方法。
  29. 前記メモリ動作コマンドは読み出しコマンドを含む、請求項28に記載の方法。
  30. 前記メモリ動作コマンドと関連付けられるデータが前記第3のメモリアレイにおいて蓄積されていると判定し、前記第3のメモリアレイは前記第2のページサイズを少なくとも部分的に用いて構成されること
    を更に含み、前記メモリ動作コマンドを実行することは、
    前記メモリ動作コマンドと関連付けられるデータが前記第3のメモリアレイにおいて蓄積されていると判定することに少なくとも部分的に基づいて、前記第3のメモリアレイか
    らデータをフェッチすることと、
    前記データをフェッチすることに少なくとも部分的に基づいてデータを前記SoC又はプロセッサへ送信することと
    を含む、請求項29に記載の方法。
  31. 前記メモリ動作コマンドと関連付けられるデータが前記第3のメモリアレイにおいて蓄積されていると判定し、前記第3のメモリアレイは前記第2のページサイズを少なくとも部分的に用いて構成されることと、
    前記SoC又はプロセッサから前記第3のメモリアレイに直接アクセスすることと
    を更に含む、請求項29に記載の方法。
  32. 前記メモリ動作コマンドを実行することは、
    前記メモリ動作コマンドと関連付けられるデータが前記第2のメモリアレイにおいて蓄積されていると判定することに少なくとも部分的に基づいて前記第2のメモリアレイからデータをフェッチすることと、
    前記データをフェッチすることに少なくとも部分的に基づいて前記データを前記SoC又はプロセッサへ送信することと
    を含む、請求項29に記載の方法。
  33. 前記メモリ動作コマンドを実行することは、
    前記メモリ動作コマンドと関連付けられるデータが前記第2のメモリアレイにおいて蓄積されているか否かを判定することに少なくとも部分的に基づいて前記第1のメモリアレイからデータをフェッチすることと、
    前記第2のメモリアレイの1つ以上の部分内にデータを蓄積することと、
    前記第2のメモリアレイの前記1つ以上の部分内に蓄積された有効データを指し示す前記1つ以上の第1のフラグを更新することと、
    前記データをフェッチすることに少なくとも部分的に基づいて前記データを前記SoC又はプロセッサへ送信することと
    を含む、請求項29に記載の方法。
  34. 前記メモリ動作コマンドは書き込み動作を含む、請求項28に記載の方法。
  35. 前記メモリ動作コマンドを実行することは、
    前記第2のメモリアレイの1つ以上の部分内にデータを蓄積することと、
    前記第1のメモリアレイとは異なるデータを蓄積する前記第2のメモリアレイの部分を指し示す前記1つ以上の第2のフラグを更新することと
    を含む、請求項34に記載の方法。
  36. 前記SoC又はプロセッサからの前記メモリ動作コマンドは、時間間隔の間の前記SoC又はプロセッサによるアクセスの試行数に少なくとも部分的に基づいて前記第2のメモリアレイからのデータを前記第1のメモリアレイ又は前記第3のメモリアレイの何れかに書き込むためのコマンドを含む、請求項27に記載の方法。
  37. 前記メモリ動作コマンドを実行することは、
    アクセスの前記試行数が閾値未満であることに少なくとも部分的に基づいて前記第1のメモリアレイにおいてデータを蓄積すること
    を含む、請求項36に記載の方法。
  38. 前記閾値は、一時的な値、カウンタの値、クロック、又はそれらの任意の組み合わせの内の少なくとも1つを含む、請求項37に記載の方法。
  39. 前記メモリ動作コマンドを実行することは、
    アクセスの前記試行数が閾値以上であることに少なくとも部分的に基づいて前記第3のメモリアレイにおいてデータを蓄積すること
    を含む、請求項36に記載の方法。
  40. 不揮発性メモリセルを含む第1のメモリアレイであって、第1のページサイズを有する前記第1のメモリアレイにアクセスするためのメモリ動作コマンドをインタフェースコントローラにおいてシステムオンチップ(SoC)又はプロセッサから受信するための手段と、
    前記メモリ動作コマンドと関連付けられるデータが、前記SoC又はプロセッサに少なくとも部分的に基づく第2のページサイズを有する第2のメモリアレイにおいて蓄積されているか否かを判定するための手段であって、前記判定は、前記第2のメモリアレイにおいて蓄積された1つ以上のフラグに少なくとも部分的に基づく該手段と、
    前記第1のメモリアレイ、前記第2のメモリアレイ、又は前記インタフェースコントローラと結合され揮発性メモリセルを含む第3のメモリアレイにおいて前記メモリ動作コマンドを実行するための手段であって、前記メモリ動作コマンドは、前記メモリ動作コマンドと関連付けられる前記データが前記第2のメモリアレイにおいて蓄積されているか否かの前記判定に少なくとも部分的に基づいて実行される該手段と
    を含む、電子メモリ装置。
  41. 前記第1のメモリアレイからの有効データを蓄積する前記第2のメモリアレイの部分を各々指し示す1つ以上の第1のフラグを検出するための手段、又は
    前記第1のメモリアレイとは異なるデータを蓄積する前記第2のメモリアレイの部分を各々指し示す1つ以上の第2のフラグを検出するための手段、又は
    前記第1のフラグの内の1つ以上及び前記第2のフラグの内の1つ以上を検出するための手段
    を更に含む、請求項40に記載の電子メモリ装置。
  42. 前記メモリ動作コマンドと関連付けられるデータが前記第3のメモリアレイにおいて蓄積されていると判定するための手段であって、前記第3のメモリアレイは前記第2のページサイズを少なくとも部分的に用いて構成される該手段
    を更に含み、前記メモリ動作コマンドを実行するための手段は、
    前記メモリ動作コマンドと関連付けられるデータが前記第3のメモリアレイにおいて蓄積されていると判定することに少なくとも部分的に基づいて前記第3のメモリアレイからデータをフェッチするための手段と、
    前記データをフェッチすることに少なくとも部分的に基づいてデータを前記SoC又はプロセッサへ送信するための手段と
    を含む、請求項40に記載の電子メモリ装置。
  43. 前記メモリ動作コマンドと関連付けられるデータが前記第3のメモリアレイにおいて蓄積されていると判定するための手段であって、前記第3のメモリアレイは前記第2のページサイズを少なくとも部分的に用いて構成される該手段と、
    前記SoC又はプロセッサから前記第3のメモリアレイに直接アクセスするための手段と
    を更に含む、請求項40に記載の電子メモリ装置。
  44. 前記メモリ動作コマンドと関連付けられるデータが前記第2のメモリアレイにおいて蓄積されていると判定することに少なくとも部分的に基づいて前記第2のメモリアレイからデータをフェッチするための手段と、
    前記データをフェッチすることに少なくとも部分的に基づいて前記データを前記SoC又はプロセッサへ送信するための手段と
    を更に含む、請求項40に記載の電子メモリ装置。
  45. 前記メモリ動作コマンドと関連付けられるデータが前記第2のメモリアレイにおいて蓄積されているか否かを判定することに少なくとも部分的に基づいて前記第1のメモリアレイからデータをフェッチするための手段と、
    前記第2のメモリアレイの1つ以上の部分内にデータを蓄積するための手段と、
    前記第2のメモリアレイの前記1つ以上の部分内に蓄積された有効データを指し示す前記1つ以上の第1のフラグを更新するための手段と、
    前記データをフェッチすることに少なくとも部分的に基づいて前記データを前記SoC又はプロセッサへ送信するための手段と
    を更に含む、請求項41に記載の電子メモリ装置。
  46. 前記第2のメモリアレイの1つ以上の部分内にデータを蓄積するための手段と、
    前記第1のメモリアレイとは異なるデータを蓄積する前記第2のメモリアレイの部分を指し示す前記1つ以上の第2のフラグを更新するための手段と
    を更に含む、請求項41に記載の電子メモリ装置。
  47. 時間間隔の間の前記SoC又はプロセッサによるアクセスの試行数が閾値未満であることに少なくとも部分的に基づいて前記第1のメモリアレイにおいてデータを蓄積するための手段
    を更に含む、請求項40に記載の電子メモリ装置。
  48. 時間間隔の間の前記SoC又はプロセッサによるアクセスの試行数が閾値以上であることに少なくとも部分的に基づいて前記第3のメモリアレイにおいてデータを蓄積するための手段
    を更に含む、請求項40に記載の電子メモリ装置。
  49. 第1のページサイズを有する不揮発性メモリセルを含む第1のメモリアレイと、
    システムオンチップ(SoC)又はプロセッサと関連付けられる第2のページサイズに少なくとも部分的に基づいてデータを蓄積するように構成され、前記第2のページサイズは前記第1のページサイズの上位セットである第2のメモリアレイと、
    前記第2のページサイズを少なくとも部分的に用いて構成された揮発性メモリセルを含む第3のメモリアレイと、
    前記SoC又はプロセッサ、前記第1のメモリアレイ、前記第2のメモリアレイ、及び前記第3のメモリアレイとインタフェースで連結するように構成されたコントローラであって、
    前記第1のメモリアレイにアクセスするためのメモリ動作コマンドを前記SoC又はプロセッサから受信することと、
    前記メモリ動作コマンドと関連付けられるデータが前記第2のメモリアレイにおいて蓄積されているか否かを判定し、前記判定は、前記第2のメモリアレイにおいて蓄積された1つ以上のフラグに少なくとも部分的に基づくことと、
    前記メモリ動作コマンドと関連付けられる前記データが前記第2のメモリアレイにおいて蓄積されているか否かの前記判定に少なくとも部分的に基づいて前記第1のメモリアレイ又は前記第2のメモリアレイにおいて前記メモリ動作コマンドを実行することと
    を動作可能である前記コントローラと
    を含む、装置。
  50. 第1のメモリアレイにアクセスするためのメモリ動作コマンドをSoC又はプロセッサ
    から受信するための手段と、
    前記メモリ動作コマンドと関連付けられるデータが第2のメモリアレイにおいて蓄積されているか否かを判定するための手段であって、前記判定は、前記第2のメモリアレイにおいて蓄積された1つ以上のフラグに少なくとも部分的に基づく該手段と、
    前記メモリ動作コマンドと関連付けられる前記データが前記第2のメモリアレイにおいて蓄積されているか否かの前記判定に少なくとも部分的に基づいて前記第1のメモリアレイ又は前記第2のメモリアレイにおいて前記メモリ動作コマンドを実行するための手段とを含む、電子メモリ装置。
JP2019570140A 2017-06-22 2018-06-14 不揮発性のメモリシステム又はサブシステム Pending JP2020524849A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021205633A JP2022031959A (ja) 2017-06-22 2021-12-20 不揮発性のメモリシステム又はサブシステム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/630,330 2017-06-22
US15/630,330 US10845866B2 (en) 2017-06-22 2017-06-22 Non-volatile memory system or sub-system
PCT/US2018/037480 WO2018236663A1 (en) 2017-06-22 2018-06-14 NON-VOLATILE MEMORY SYSTEM OR SUBSYSTEM

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021205633A Division JP2022031959A (ja) 2017-06-22 2021-12-20 不揮発性のメモリシステム又はサブシステム

Publications (1)

Publication Number Publication Date
JP2020524849A true JP2020524849A (ja) 2020-08-20

Family

ID=64693163

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019570140A Pending JP2020524849A (ja) 2017-06-22 2018-06-14 不揮発性のメモリシステム又はサブシステム
JP2021205633A Pending JP2022031959A (ja) 2017-06-22 2021-12-20 不揮発性のメモリシステム又はサブシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021205633A Pending JP2022031959A (ja) 2017-06-22 2021-12-20 不揮発性のメモリシステム又はサブシステム

Country Status (7)

Country Link
US (3) US10845866B2 (ja)
EP (1) EP3642723A4 (ja)
JP (2) JP2020524849A (ja)
KR (1) KR102324703B1 (ja)
CN (1) CN110799954B (ja)
TW (2) TWI693603B (ja)
WO (1) WO2018236663A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394456B2 (en) * 2017-08-23 2019-08-27 Micron Technology, Inc. On demand memory page size
US11210019B2 (en) 2017-08-23 2021-12-28 Micron Technology, Inc. Memory with virtual page size
US10691345B2 (en) * 2017-09-29 2020-06-23 Intel Corporation Systems, methods and apparatus for memory access and scheduling
US10942854B2 (en) 2018-05-09 2021-03-09 Micron Technology, Inc. Prefetch management for memory
US11010092B2 (en) 2018-05-09 2021-05-18 Micron Technology, Inc. Prefetch signaling in memory system or sub-system
US10714159B2 (en) 2018-05-09 2020-07-14 Micron Technology, Inc. Indication in memory system or sub-system of latency associated with performing an access command
US10754578B2 (en) 2018-05-09 2020-08-25 Micron Technology, Inc. Memory buffer management and bypass
KR102519572B1 (ko) * 2018-05-11 2023-04-07 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11139010B2 (en) * 2018-12-11 2021-10-05 SK Hynix Inc. Memory system and operating method of the memory system
US11404097B2 (en) 2018-12-11 2022-08-02 SK Hynix Inc. Memory system and operating method of the memory system
KR20200137548A (ko) 2019-05-30 2020-12-09 에스케이하이닉스 주식회사 메모리 장치 및 이의 테스트 동작 방법
KR20200124045A (ko) 2019-04-23 2020-11-02 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200126678A (ko) 2019-04-30 2020-11-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200126666A (ko) 2019-04-30 2020-11-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
JP7407203B2 (ja) * 2019-05-17 2023-12-28 長江存儲科技有限責任公司 スタティックランダムアクセスメモリを有する3次元メモリデバイスのキャッシュプログラム動作
WO2020232573A1 (en) 2019-05-17 2020-11-26 Yangtze Memory Technologies Co., Ltd. Three-dimensional memory device with static random-access memory
US11908505B2 (en) 2020-01-24 2024-02-20 Taiwan Semiconductor Manufacturing Company, Ltd. Ferroelectric FET-based content addressable memory
US11232838B2 (en) 2020-01-24 2022-01-25 Taiwan Semiconductor Manufacturing Company, Ltd. Ferroelectric FET-based content addressable memory
TWI763266B (zh) * 2020-01-24 2022-05-01 台灣積體電路製造股份有限公司 記憶體裝置、資料處理裝置及資料處理方法
US11586557B2 (en) * 2020-08-26 2023-02-21 Micron Technology, Inc. Dynamic allocation of buffers for eviction procedures
US20220197537A1 (en) * 2020-12-18 2022-06-23 Micron Technology, Inc. Object management in tiered memory systems
CN112632073B (zh) * 2020-12-24 2024-06-04 第四范式(北京)技术有限公司 一种时序特征数据表的存储方法及装置
US20230305971A1 (en) * 2022-02-09 2023-09-28 Qualcomm Incorporated Memory system with adaptive refresh

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137753A (ja) * 1994-11-07 1996-05-31 Fuji Xerox Co Ltd ディスクキャッシュ装置
JP2009540431A (ja) * 2006-06-07 2009-11-19 マイクロソフト コーポレーション 1つのインターフェースを有するハイブリッド・メモリ・デバイス
US20120221917A1 (en) * 2011-02-28 2012-08-30 Christopher Bueb Error control in memory storage systems
JP2013168169A (ja) * 2003-07-31 2013-08-29 Sandisk Il Ltd メモリ・デバイス、メモリ・デバイスを有するシステム、及び埋め込み型デバイスの動作方法
JP2015056171A (ja) * 2013-09-13 2015-03-23 株式会社東芝 メモリシステムおよび情報処理装置
JP2015521337A (ja) * 2012-06-28 2015-07-27 インテル・コーポレーション Dramにおける電力低減のための構成
WO2015121938A1 (ja) * 2014-02-13 2015-08-20 株式会社日立製作所 データ管理装置及び方法
US20160217835A1 (en) * 2015-01-28 2016-07-28 Xilinx, Inc. Circuits for and methods of controlling the operation of a hybrid memory system
JP2016526750A (ja) * 2013-07-12 2016-09-05 クアルコム,インコーポレイテッド Dramサブアレイレベル自律リフレッシュメモリコントローラの最適化
JP2017049872A (ja) * 2015-09-03 2017-03-09 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
WO2019040304A1 (en) * 2017-08-23 2019-02-28 Micron Technology, Inc. VIRTUAL PAGE SIZE MEMORY

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195563A (ja) * 1990-11-28 1992-07-15 Mitsubishi Electric Corp メモリシステムの制御装置
JP3132677B2 (ja) * 1991-07-23 2001-02-05 キヤノン株式会社 情報記録再生方法
JPH11203200A (ja) * 1998-01-12 1999-07-30 Sony Corp 並列プロセッサおよびメモリ制御方法
US20020041658A1 (en) * 1998-06-04 2002-04-11 Alva Henderson Variable word length data memory
US7953931B2 (en) 1999-08-04 2011-05-31 Super Talent Electronics, Inc. High endurance non-volatile memory devices
US6775184B1 (en) 2003-01-21 2004-08-10 Nexflash Technologies, Inc. Nonvolatile memory integrated circuit having volatile utility and buffer memories, and method of operation thereof
KR100606242B1 (ko) * 2004-01-30 2006-07-31 삼성전자주식회사 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치
US8244971B2 (en) * 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
JP2008041080A (ja) * 2006-07-10 2008-02-21 Hitachi Ltd 記憶制御システム、記憶制御システムの制御方法、ポートセレクタ、及びコントローラ
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20090172621A1 (en) * 2007-12-27 2009-07-02 Sanved Dessiggn Automation System and method for system-on-chip (soc) performance analysis
JP4909963B2 (ja) * 2008-09-09 2012-04-04 株式会社東芝 統合メモリ管理装置
DE112008004033T5 (de) * 2008-10-09 2012-01-19 Numonyx B.V. Virtualisiertes Ecc Nand
US8656110B2 (en) * 2009-08-21 2014-02-18 Panasonic Corporation Non-volatile storage device, access device, and non-volatile storage system for releasing a cache object in accordance with a data matching flag
KR20110046243A (ko) * 2009-10-27 2011-05-04 삼성전자주식회사 사용자 장치 및 그것의 맵핑 데이터 관리 방법
JP2011154547A (ja) * 2010-01-27 2011-08-11 Toshiba Corp メモリ管理装置及びメモリ管理方法
JP4806089B1 (ja) * 2010-06-30 2011-11-02 株式会社東芝 情報処理装置、raidコントローラカード、およびミラーリング方法
KR20120066198A (ko) * 2010-12-14 2012-06-22 삼성전자주식회사 휘발성 메모리를 포함하는 저장 장치의 데이터 저장 방법
KR101861170B1 (ko) * 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
US20140075091A1 (en) * 2012-09-10 2014-03-13 Texas Instruments Incorporated Processing Device With Restricted Power Domain Wakeup Restore From Nonvolatile Logic Array
US9268682B2 (en) * 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
KR102094393B1 (ko) * 2013-11-18 2020-03-27 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
US9600413B2 (en) * 2013-12-24 2017-03-21 Intel Corporation Common platform for one-level memory architecture and two-level memory architecture
JP6680454B2 (ja) * 2014-03-17 2020-04-15 国立研究開発法人産業技術総合研究所 Lsiチップ積層システム
US9778986B2 (en) * 2014-03-28 2017-10-03 Hitachi, Ltd. Storage system
KR102068101B1 (ko) * 2014-05-08 2020-01-20 마이크론 테크놀로지, 인크. 하이브리드 메모리 큐브 시스템 상호 접속 디렉토리-기반 캐시 일관성 방법론
US9779025B2 (en) * 2014-06-02 2017-10-03 Micron Technology, Inc. Cache architecture for comparing data
US9823852B2 (en) 2015-05-01 2017-11-21 Toshiba Memory Corporation Memory system with nonvolatile memory
US9507711B1 (en) * 2015-05-22 2016-11-29 Sandisk Technologies Llc Hierarchical FTL mapping optimized for workload
US9858198B2 (en) * 2015-06-26 2018-01-02 Intel Corporation 64KB page system that supports 4KB page operations
JP6209573B2 (ja) * 2015-10-02 2017-10-04 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理方法
US9666263B2 (en) * 2015-10-07 2017-05-30 Samsung Electronics Co., Ltd. DIMM SSD SoC DRAM byte lane skewing
TWI551991B (zh) * 2015-11-20 2016-10-01 群聯電子股份有限公司 記憶體管理方法與系統及其記憶體儲存裝置
KR102491651B1 (ko) 2015-12-14 2023-01-26 삼성전자주식회사 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137753A (ja) * 1994-11-07 1996-05-31 Fuji Xerox Co Ltd ディスクキャッシュ装置
JP2013168169A (ja) * 2003-07-31 2013-08-29 Sandisk Il Ltd メモリ・デバイス、メモリ・デバイスを有するシステム、及び埋め込み型デバイスの動作方法
JP2009540431A (ja) * 2006-06-07 2009-11-19 マイクロソフト コーポレーション 1つのインターフェースを有するハイブリッド・メモリ・デバイス
US20120221917A1 (en) * 2011-02-28 2012-08-30 Christopher Bueb Error control in memory storage systems
JP2015521337A (ja) * 2012-06-28 2015-07-27 インテル・コーポレーション Dramにおける電力低減のための構成
JP2016526750A (ja) * 2013-07-12 2016-09-05 クアルコム,インコーポレイテッド Dramサブアレイレベル自律リフレッシュメモリコントローラの最適化
JP2015056171A (ja) * 2013-09-13 2015-03-23 株式会社東芝 メモリシステムおよび情報処理装置
WO2015121938A1 (ja) * 2014-02-13 2015-08-20 株式会社日立製作所 データ管理装置及び方法
US20160217835A1 (en) * 2015-01-28 2016-07-28 Xilinx, Inc. Circuits for and methods of controlling the operation of a hybrid memory system
JP2017049872A (ja) * 2015-09-03 2017-03-09 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
WO2019040304A1 (en) * 2017-08-23 2019-02-28 Micron Technology, Inc. VIRTUAL PAGE SIZE MEMORY

Also Published As

Publication number Publication date
WO2018236663A1 (en) 2018-12-27
KR20200008047A (ko) 2020-01-22
TWI693603B (zh) 2020-05-11
CN110799954A (zh) 2020-02-14
US10845866B2 (en) 2020-11-24
EP3642723A4 (en) 2021-03-24
CN110799954B (zh) 2024-03-26
TW202040580A (zh) 2020-11-01
KR102324703B1 (ko) 2021-11-11
EP3642723A1 (en) 2020-04-29
US20220066534A1 (en) 2022-03-03
US20210041935A1 (en) 2021-02-11
TW201905926A (zh) 2019-02-01
US11550381B2 (en) 2023-01-10
TWI737273B (zh) 2021-08-21
US20180373313A1 (en) 2018-12-27
JP2022031959A (ja) 2022-02-22
US11119561B2 (en) 2021-09-14

Similar Documents

Publication Publication Date Title
CN110799954B (zh) 非易失性存储器系统或子系统
TWI702501B (zh) 按需求之記憶體頁面大小
US11915788B2 (en) Indication in memory system or sub-system of latency associated with performing an access command
KR20200141094A (ko) 메모리를 위한 프리패치 관리

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211012

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220517