JP6744768B2 - 複数のアクセスモードを支援する不揮発性メモリを含むシステム及びそのアクセス方法 - Google Patents
複数のアクセスモードを支援する不揮発性メモリを含むシステム及びそのアクセス方法 Download PDFInfo
- Publication number
- JP6744768B2 JP6744768B2 JP2016122720A JP2016122720A JP6744768B2 JP 6744768 B2 JP6744768 B2 JP 6744768B2 JP 2016122720 A JP2016122720 A JP 2016122720A JP 2016122720 A JP2016122720 A JP 2016122720A JP 6744768 B2 JP6744768 B2 JP 6744768B2
- Authority
- JP
- Japan
- Prior art keywords
- address space
- address
- access mode
- access
- nvm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
しかし、NVDIMMは、一般的にDRAMのものからは見られない新しい問題を発生させる。
しかし、DIMMはOS(Operating System)の支援下にてブロック単位のアドレス化ストレージを支援する。
簡単な解決策としては、NVDIMMが1つのアドレッシング(Addressing)モードのみを使用するようにすることである。
1つのアドレッシングモードは、バイト単位のアドレス化メーンメモリ/ストレージ又はブロック単位のアドレス化ストレージの中で1つの形態のような特定NVDIMMの機能である。
しかし、これは単純な解決策である。また、このような単純な解決策ですべての状況に対応することができない。
1つのアクセスモードを使用する1つのNVDIMMは過負荷される一方、他のアドレスモードを使用する他のNVDIMMは十分に活用されない。
また、このシナリオでは複数のNVDIMMを含むコンピュータシステムを仮定する。
もし、コンピュータシステムが1つのNVDIMMのみを含む場合、該当NVDIMMによって支援されないアクセスモードは完全に使用することができない。
したがって、1つのNVDIMM内で複数のアクセスモードを使用するように支援する方法が必要となっている。
また、上記目的を達成するためになされた本発明による不揮発性メモリを含むシステムのアクセス方法は、NVDIMM(Non−Volatile Dual In−Line Memory Module)を含むシステムのアクセス方法において、前記NVDIMM内にアドレス空間を割り当てるための要請を受信する段階と、前記要請されたアドレス空間に対する厳密に二つのアクセスモードを含むセットから抽出されるアクセスモードを受信する段階と、前記NVDIMM内のアドレス空間を確認する段階と、前記アクセスモードが第1アクセスモードではない場合、前記アドレス空間に対するアドレスマスクをNVM(Non−Volatile Memory)コントロールレジスタに格納する段階と、前記要請されたアドレス空間として前記アドレス空間を返還(return)する段階と、を有し、前記アクセスモードは、前記アドレスマスクがNVMコントロールレジスタに格納されているか否かに応じて決定されることを特徴とする。
これを通じて、システムはメモリ等のリソースを効率的に活用することができるという効果がある。
参照符号が本発明の望ましい実施形態に詳細に表示しており、その例を参照図面に表示している。可能な限り、どのような場合にも、同一な参照番号が同一又は類似な部分を参照するために説明及び図面に使用される。
しかし、この技術分野に熟練された人はここに記載される内容によって本発明の他の長所及び性能を容易に理解することができる。また、本発明は他の実施形態を通じて具現されるか、或いは適用されることができる。その上に、詳細な説明は本発明の範囲、技術的思想、及び他の目的から相当に逸脱することなく、観点及び応用によって修正されるか、或いは変更されることができる。
スマート分割メカニズムを遂行するために、NVM(Non−Volatile Memory)ガバナ(Governor)はNVDIMM内にバイト或いはブロック単位のアドレス化モードにアドレス空間を割り当てるように構成されたハードウェア及び/又はソフトウェアモジュールを含む。
アプリケーションの動作によってランタイム時に、NVMガバナは動的にNVDIMMをバイト及びブロック単位のアドレス化部分に分割する。
また、スマート分割メカニズムは、複数のアクセスモードを有するアドレス範囲を格納することができるNVMコントロールレジスタを含む。
アプリケーションは、多様なアクセスモードを有する1つ以上のアドレス空間を要請する。
NVMガバナは、情報をNVMコントロールレジスタに格納する。
アドレス空間に読み出し及び書き込み要請を遂行するために、NVMガバナはNVMコントロールレジスタ内のアドレスマスクを確認する。
これは個別的又は並列的に遂行されてもよい。アドレス空間とアクセスモードのマッチングが発見される場合、NVMガバナは選択されたアクセスモードを有する要請をスケジュールする。
図1にはプロセッサ105を示す。
図1を参照すると、プロセッサ105は、複数のNVDIMM(110、115)のようなメモリモジュールと接続され、他のメモリモジュールと接続される。
また、プロセッサ105は複数のDIMM120、125のような他のメモリモジュールと接続される。
他の実施形態では、複数のDIMM(120、125)は複数のNVDIMM(110、115)に対するキャッシュとして動作する。
他の実施形態では、所望する方式によって複数のNVDIMM(110、115)、複数のDIMM(120、125)、及び他のメモリ及び/又はストレージ装置が利用される。
例えば、これは装置の特性を最適化する階層構造内に他のメモリ及びストレージ装置を段々に積み重ねて遂行される。
ストレージ130は、HDD(Hard Disk Drives)、SSD(Solid State Drives)、及び/又は他のNVM技術のような技術を含む何らかの形態のストレージでもなされる。加えて、ストレージ130は、HDD及びSDD等の他のストレージが混合されたタイプを含む。
結果的に、ストレージ130は、いかなる形態でもプロセッサ105と接続される。
例えば、接続形態はバスを通じる直接接続又はUSB(Universal Serial Bus)インターフェイスのようなインターフェイスを通じる外部ストレージとの接続等の形態を含む。
OS135は、一度に1つのアプリケーションの動作や並列的に複数のアプリケーションの動作を支援する何らかの形態のオペレーティングシステムであってもよい。
また、OS135は、複数の仮想マシンを支援してもよい。
複数の仮想マシンは、各々の仮想マシンにコンピュータシステム内のすべての資源(リソース)を完全に使用する形態を提供する。
図1を参照すると、OS135によって支援されるn個の複数の仮想マシンマシン(140〜145)を示す。
NVMガバナ150は、複数のNVDIMM(110、115)内のアドレス空間割当及び複数のNVDIMM(110、115)内のアドレス空間からの読出し/書込み動作の処理を制御する。
NVMガバナ150の動作の支援は、他の可能性の中ではプロセッサ105或いはメモリコントローラ内に配置され得るNVMコントロールレジスタ155によって遂行される。
以下では、図4〜図6に示すように、NVMコントロールレジスタ155は、アドレス空間が使用された方法に対する情報を格納する。
例えば、このような情報はアドレスマスク及びアクセスモード等を含む。
アクセスモードは、NVDIMM内のアドレスにデータが書き込まれるか、或いはアドレスからデータを読み出す方法を指定する。
現在、読出し及び書込み動作はバイト単位のアドレス化モード又はブロック単位のアドレス化モードを利用して遂行される。
現在、二つのアクセスモードのみが存在することを考慮すれば、1つのアクセスモードはシングル(Single)ビットを使用するとすることができる。
しかし、仮に追加的なアクセスモードがデザインされると、NVMコントロールレジスタ155に格納されたアクセスモードは追加的なビットを使用する。
図2には、コンピュータシステム205を示している。
図2を参照すると、コンピュータシステム205は、コンピュータ210、モニタ215、キーボード220、及びマウス225を含む。
当業者はコンピュータシステム205に他の構成要素が含まれることができることを容易に理解できる。
例えば、コンピュータシステム205は、プリンタのようなI/O装置等をさらに含む。さらに、コンピュータシステム205は、図1に示した既存の内部構成要素を含む。
例えば、既存の内部構成要素は、プロセッサ105、複数のNVDIMM(110、115)、複数のDIMM(120、125)、及びストレージ130等を含む。
また、当業者はコンピュータシステム205が他のコンピュータシステムと直接的に或いは他のタイプのネットワーク(図示せず)を通じて相互作用することができることを容易に理解できる。
また、例えば、図2はコンピュータシステム205が既存のデスクトップ(Desktop)コンピュータとして示したが、当業者はコンピュータシステム205がどのような形態のマシン又はコンピューティング装置でもあり得ることを容易に理解できる。
例えば、上述したマシン又はコンピューティング装置はラップトップ(Laptop)コンピュータ、タブレットコンピュータ、PDA(Personal Digital Assistant)、及びスマートフォン等を含む。
図3には、NVDIMM110を示す。しかし、図3に示す内容は図1のNVDIMM115にも同様に適用される。
図3を参照すると、NVDIMM110は、アドレス空間(305、310、315)を含む16個の複数のアドレス空間に区分されたものを示す。
また、複数の他のアドレス空間が同一のアプリケーションに割り当てられる。
即ち、個別のアプリケーションは、NVDIMM110内の単一(Single)アドレス空間を使用することに限定されない。
加えて、アドレス空間(305、310、315)の各々は、どのアクセスモードでも使用する。
アドレス空間(305、310、315)がアプリケーション要請に応答して割り当てられたとき、図1のNVMガバナ150は、アドレス空間(305、310、315)のサイズを指定する役割を担当する。
しかし、NVDIMM110内に割り当てられるアドレス空間の数が16より大きいか、或いは小さいことも可能である。
また、図3は、アドレス空間(305、310、315)の各々が同一のサイズを有するものとして示した。
即ち、アドレス空間(305、310、315)の各々がNVDIMM110内に同一の数のアドレスを含むことを示した。
しかし、アドレス空間(305、310、315)は、NVDIMM110の自体サイズ内のどのようなサイズであってもよい。
例えば、アドレス空間305は単なる8Kbのデータのみを格納することができる一方、アドレス空間310は48Mbのデータを格納することができるようにし得る。
アドレス空間(305、310、315)に対して記述したサイズは単なる例示的なことであり、NVDIMM110内の個別なアドレス空間(305、310、315)のサイズはこれに限定されることではない。
例えば、アドレス空間305が初期において1Mbのデータを格納するように割り当てられたと仮定する。
アドレス空間305を使用するアプリケーションが実行されている間に、アプリケーションが図1のNVMガバナ150に追加的なメモリ及び/又はストレージを要請する。
図1のNVMガバナ150は、単純に追加的なアドレス空間(310、315)を割り当てし、これを該当アプリケーションに配分する。
しかし、仮に該当アプリケーションによって要請された追加的なメモリ及び/又はストレージがアドレス空間305と同一のアクセスモードを使用し、アドレス空間305に隣接した可能なアドレスがあれば、アドレス空間310は(まだ割り当てされない場合)、図1のNVMガバナ150はアドレス空間305が隣接アドレスを含むように拡張する。
仮に、アプリケーションが不必要なメモリ及び/又はストレージを解除することを望む場合、該当メモリ及び/又はストレージは、図1のNVMガバナ150によって割り当て解除されるように考慮された後のメモリ及び/又はストレージに対する要請を満足するように利用され得る。
このようなアドレスマスクは、どのアドレス空間(305、310、315)が特定のアドレスを含むか否かを判断、決定するのに利用される。
仮に、上述したようにアドレス空間(305、310、315)の空間が再調整されると、アドレス空間(305、310、315)と関連されたアドレスマスクは、新しくサイズが再調整されたアドレス空間(305、310、315)を反映して変更される。
例えば、仮にアドレス空間(305、310、315)が拡張されると、関連するアドレスマスクはより少ない数のビットを含む。
仮に、アドレス空間(305、310、315)が減少された場合、関連するアドレスマスクは追加的なビットを含む。
例えば、個別アドレスが64ビットを含むと仮定する。
仮に48ビットがアドレスマスクとして使用されると、最下位16ビットは該当アドレス空間内のアドレスを区分するのに使用される。
これはアドレス空間(305、310、315)が65536ビット、又は8192バイトのデータを格納することを意味する。
例えば、仮にアプリケーションがアドレス空間(305、310、315)に16777216ビット又は2097152バイトを格納するために拡張するように要請すれば、アドレスマスクは48ビットから40ビットに減少する。
しかし、単なるアドレス空間(305、310、315)のサイズが2の累乗の形態であることが該当アプリケーションが全体アドレス空間にアクセス権限を与えることであることを意味しないため、アプリケーションがアクセスし難いアドレス空間の一部は結果的に使用されない。
使用できないメモリ及び/又はストレージを有しないため、仮にアプリケーションが2の累乗形態のサイズにアドレス空間(305、310、315)を拡張することによって適切に得られることができない追加的なメモリ及び/又はストレージを要求する場合、他のサイズを有する他のアドレス空間は図1のNVMコントロールレジスタ(155)内の追加的な構成と共に使用される。
図4を参照すると、NVMガバナ150は、割当ロジック405、バイトアドレス化ロジック410、ブロックアドレス化ロジック415、及びソフトウェア420を含む。
バイトアドレス化ロジック410は、バイト単位のアドレス化アクセスモードを利用するNVDIMM110内の図3のアドレス空間(305、310、315)からアドレスにアクセスする。
また、ブロックアドレス化ロジック415は、ブロック単位のアドレス化アクセスモードを利用するNVDIMM110内の図3のアドレス空間(305、310、315)からアドレスにアクセスする。
即ち、メモリ及び/又はストレージのブロックアクセスがバイトアドレス化ロジック(410)を利用してソフトウェア(420)によってエミュレートすることができるので、一部の実施形態ではブロックアドレス化ロジック(415)を含む必要がない。
NVMガバナ150が割当ロジック405を利用する場合、NVMガバナ150はNVMコントロールレジスタ155内にアドレスマスク及びアクセスモードを格納する。
そうすると、NVMガバナ150がアドレスにアクセスするための要請を受信する場合、NVMガバナ150はNVMコントロールレジスタ155内に格納されたアドレスマスク及びアクセスモードを使用する。
これは要請されたアドレスにアクセスする場合に使用されたアクセスモードを判断、決定するためである。
図5を参照すると、NVMコントロールレジスタ155は、複数のアドレスマスク(505、510、515)及び複数のアクセスモード(520、525、530)を含む。
アドレスマスク及びアクセスモードの各々のペアは、図1の複数のNVDIMM(110、115)内の図3のアドレス空間(305、310、315)と関連する。
但し、これは例示的なものであって、NVMコントロールレジスタ155はこれに限定されない。
NVMコントロールレジスタ155は、いかなる数のアドレスマスク及びアクセスモードも格納できる。
但し、これは例示的なものであって、複数のアドレスマスク及びアクセスモードはこれに限定されない。
複数のアドレスマスク(505、510、515)はどのようなサイズも有してもよく、各々異なるサイズであってもよい。
同様に、二つのアクセスモード(バイト単位及びブロック単位のアドレス化)を区分するために1つのビットのみが必要であるが、仮に追加的なアクセスモードが提供された場合、複数のアクセスモード(520、525、530)は1つ以上のビットを含む。
図6を参照すると、要請されたアドレス605は、アプリケーションが読み出すか、或いは書き込みを所望するアドレスであってもよい。
これは図3のアドレス空間(305、310、315)の中でいずれのアドレス空間が要請されたアドレス605を含むか否かを判断、決定するためである。
このような比較はいずれのアドレスマスクが要請されたアドレス605内の最上位ビットとマッチングされるか否かを確認するためである。
正確なアドレスマスクが確認された場合、エンコーダ(Encoder)625は該当情報を、コントロール信号を生成するために使用する。
コントロール信号は、該当アクセスモード(520、525、530)を選択するためのマルチプレクサ630(Multiplexer)に対する信号である。
このように選択されたアクセスモードは、アクセスモード635として出力される。
図7を参照すると、S705段階で、図1のNVMガバナ150は、アプリケーションから該当アプリケーションにNVMアドレス空間を割り当てるための要請を受信する。
S715段階で、図1のNVMガバナ150は、図1の複数のNVDIMM(110〜115)内の図3のアドレス空間(305、310、315)の中で有効なアドレス空間を確認する。
S725段階で、図1のNVMガバナ150は、要請したアプリケーションに図3のアドレス空間(305、310、315)を返す(return)。
しかし、当業者は上述した段階の順序を変更するか、一部段階を省略するか、或いは図面で図示されない接続を含んで他の実施形態が具現できることは容易に理解できる。
明示的に説明されたか否かに関係無く、このようなフローチャートの変形は本発明の実施形態として見なされる。
図8では、図7のS710段階を詳細に説明する。
図8を参照すると、S805段階で、図1のNVMガバナ150はバイト単位のアドレス化されたアドレス空間に対してアプリケーションからの要請を受信する。
又は、S805段階の代わりに、S810段階で、図1のNVMガバナ150はブロック単位のアドレス化されたアドレス空間に対してアプリケーションからの要請を受信する。
図8を参照すると、このような実施形態が反映する。
しかし、仮に追加的なアクセスモードが導入されると、図8は追加的なアクセスモードの使用を反映するように変形される。
図9では、図7のS720段階の動作を詳細に説明する。
又は、S905段階の代わりに、S910段階で、図1のNVMガバナ150は、バイト単位のアドレス化アクセスモードを使用しない図3のアドレス空間(305、310、315)に対するアクセスモード及びアドレスマスクのみを格納する。
つまり、バイト単位のアドレス化アクセスモードは、図1のNVMコントロールレジスタ155内のマスクされないすべてのアドレスに対するデフォルト(Default)アクセスモードに見なされる。
最初に、デフォルトアクセスモードとしてバイト単位のアドレス化アクセスモードを設定することは1つの選択である。
しかし、ブロック単位のアドレス化されたアドレス空間と関連されたアドレスマスクが代わりに省略されることができる場合に、ブロック単位のアドレス化アクセスモードのような他のアクセスモードはデフォルトアクセスモードに見なされる。
これは図1のNVMコントロールレジスタ155内にアドレスマスクが格納されることその自体に適切なアクセスモードを確認できるからである。
図10を参照すると、S1005段階で、図1のNVMガバナ150は、アプリケーションからアドレスにアクセスするための要請を受信する。
S1010段階で、図1のNVMガバナ150は、図1のNVMコントロールレジスタ155から該当要請されたアドレスに対する適切なアクセスモードを決定する。
図1のNVMガバナ150は、図1のNVMコントロールレジスタ155に格納されたアドレスマスクを該当要請されたアドレスと比較して(或いは、並列的に)このような決定を遂行する。
比較によって、マッチングがなされた場合、該当アクセスモードは図1のNVMコントロールレジスタ155から決定されたアクセスモードとして選択される。
そして、S1015段階で、アクセスモードを使用して、アドレス空間にアクセスするための要請をスケジュールする。
図11では、図10のS1010段階を詳細に説明する。
また、S1105段階の代わりに、S1110段階で、図1のNVMガバナ150は、アドレス空間(305、310、315)がブロック単位のアドレス化アクセスモードを使用するように決定する。
付加的に、仮に複数のNVDIMM(110、115)が追加的なアクセスモードを支援する場合、図11は他のアクセスモードを決定する方法を反映して変形される。
図12では、図10のS1010段階を詳細に説明する。
S1210段階で、図1のNVMガバナ150はマッチング結果が発見されたか否かを判断する。
マッチング結果が発見された場合(「はい」方向)、処理は、S1215段階に進行する。
マッチング結果が発見されない場合(「いいえ」方向)、処理は、S1220段階に進行する。
S1220段階で、図1のNVMガバナ150は、アクセスモードをバイト単位のアドレス化アクセスモードとして決定する。
或いは、バイト単位のアドレス化アクセスモードがデフォルトではない場合、どちらかのアクセスモードがデフォルトアクセスモードとして指定される。
図13は、図1〜図12に示したメモリ又はストレージのための複数のNVDIMMを使用することができるシステムの概略を示すブロック図である。
また、システム205は、例えば、イーサーネット(Ethernet)コネクタのようなネットワークコネクタ1320を含む。
クロック1325は、システムバス1305に接続された構成要素の動作を調整するために使用される。
例えば、既存の入力装置はキーボード、マウスを含む。
或いは、このような制御は、他のマシンから受信される指針、VR(Virtual Reality)環境との相互作用、生体認識フィードバック、仮想マシン、又は他の入力信号によって遂行される。
例示的なシステムは、パーソナル(Personal)コンピュータ、ワークステーション、サーバ、ポータブル(Portable)コンピュータ、ハンドヘルド装置(Handheld Device)、携帯電話、タブレット等を含む。
或いは、例示的なシステムは、自動車、列車、タクシーのような個人用又は大衆交通等のような交通装置を含む。
例えば、内蔵コントローラは、プログラムが可能又は不可能なロジック装置、又はアレイ(Array)、ASIC(Application Specific Integrated Circuits)、内蔵コンピュータ、スマートカード等を含む。
システム205は、1つ又は1つ以上の遠隔マシンとの1つ又は1つ以上の接続を使用する。
例えば、このような接続は、ネットワークインターフェイス、モデム、又は他の擬似伝達接続を通じてなされる。
当業者はネットワーク通信が多様な有線及び/又は無線近距離、又は長距離キャリヤ及びプロトコルを利用できることを容易に理解できる。
例えば、キャリヤ及びプロトコルは、RF(Radio Frequency)、衛星(Satellite)、マイクロウェーブ(Microwave)、IEEE802.11無線LAN規格、Bluetooth(登録商標)、光学、赤外線、ケーブル、レーザー等を含む。
機能、段階、データ構造、アプリケーションプログラムは、システムによってアクセスされる場合にシステムがタスクを遂行するか、或いは抽象的なデータタイプ又はローレベル(Low−Level)のハードウェアコンテキスト(Context)を定義するようにする。
また、関連データは、他のストレージ装置及びその関連ストレージ媒体に格納される。
例えば、関連ストレージ媒体は、ハードドライブ、フロッピー(登録商標)ディスク、光学ストレージ(Optical Storage)、テープ(Tapes)、フラッシュメモリ(Flash Memory)、メモリスティック(登録商標)、デジタルビデオディスク、生体ストレージ(Biological Storage)等を含む。
また、関連データは、圧縮されるか、或いは暗号化された形態で利用される。
関連データは、分散環境で利用することもでき、システムアクセスに対して近くに及び/又は遠くに格納され得る。
システムリーダブル媒体は、1つ又は1つ以上のプロセッサによって遂行された命令、ここで記述された本発明の要素を遂行する命令に構成された命令を含む。
第1例示において、本発明の実施形態は、システムを含む。システムはNVDIMM及びNVMガバナを含む。NVMガバナは第1アプリケーションに対して第1アドレス空間を第1アクセスモードにNVDIMMに割り当て、第2アプリケーションに対して第2アドレス空間を第2アクセスモードにNVDIMMに割り当てるように動作する。また、NVMガバナは少なくとも第1アドレス空間に対する第1アドレスマスクをNVMコントロールレジスタ内に格納するように動作する。第1アドレスマスクは第1アクセスモードと関連する。
第3例示において、本発明の実施形態は、第1例示によるシステムを含む。第1アクセスモードはブロック単位のアドレス化モードを含み、第2アクセスモードはバイト単位のアドレス化モードを含む。
第4例示において、本発明の実施形態は、第3例示によるシステムを含む。NVMコントロールレジスタは複数のアドレスマスクを格納するように動作する。複数のアドレスマスクの各々はブロック単位のアドレス化モードを使用するアドレス空間と関連する。NVMガバナはNVMコントロールレジスタ内に格納されないアドレスマスクに対するすべてのアドレス空間をバイト単位のアドレス化モードを利用するアドレス空間に処理する。
第6例示において、本発明の実施形態は、第3例示によるシステムを含む。NVMコントロールレジスタは第2アドレス空間に対する第2アドレスマスクを格納するように動作する。第2アドレスマスクは第2アクセスモードと関連する。
第7例示において、本発明の実施形態は、第3例示によるシステムを含む。NVMコントロールレジスタは16個のアドレスマスク及び16個のアクセスモードを格納するように動作する。これはNVDIMM内の16個のアドレス空間を支援するためである。16個のアドレスマスクの各々は48ビットのサイズを有する。
第9例示において、本発明の実施形態は、第3例示によるシステムを含む。NVMガバナはバイト単位のアドレス化モードを使用して第1アドレス空間にアクセスするバイトアドレス化ロジックを含む。NVMガバナはブロック単位のアドレス化モードを利用して第2アドレス空間にアクセスするためにエミュレーションするソフトウェアを含む。ソフトウェアはバイトアドレス化ロジックを利用する。
第10例示において、本発明の実施形態は、第3例示によるシステムを含む。NVMガバナはバイト単位のアドレス化モードを利用して第1アドレス空間にアクセスするバイトアドレス化ロジック及びブロック単位のアドレス化モードを利用して第2アドレス空間にアクセスするブロックアドレス化ロジックを含む。
第12例示において、本発明の実施形態は、第3例示によるシステムを含む。NVMコントロールレジスタは複数のアドレスマスクの各々を複数のアクセスモードの中で1つと関連させるように動作する。
第13例示において、本発明の実施形態は、第3例示によるシステムを含む。システムはNVDIMMと接続されたプロセッサをさらに含む。プロセッサはNVMコントロールレジスタを含む。
第14例示において、本発明の実施形態は、第3例示によるシステムを含む。システムはプロセッサ上で動作可能なOS(Operating System)をさらに含む。
OSはNVMガバナを含む。
システムのアクセス方法は、アドレス空間をNVDIMMに割り当てる要請を受信する段階、
要請されたアドレス空間に対するアクセスモードを受信する段階、
NVDIMM内のアドレス空間を確認する段階、及び
要請されたアドレス空間として前記アドレス空間を返還する段階を含み、前記アクセスモードは少なくとも二つのアクセスモードを含むセットから抽出される。
第17例示において、本発明の実施形態は、第16例示によるシステムのアクセス方法を含む。アドレス空間に対するアドレスマスクを格納する段階は、仮に前記アドレス空間に対するアクセスモードがブロック単位のアドレス化モードである場合に前記アドレス空間に対するアドレスマスクのみを格納する段階を含む。
第18例示において、本発明の実施形態は、第16例示によるシステムのアクセス方法を含む。アドレス空間に対するアドレスマスクを格納する段階は、仮に前記アドレス空間に対するアクセスモードがバイト単位のアドレス化モードである場合に前記アドレス空間に対するアドレスマスクのみを格納する段階を含む。
第20例示において、本発明の実施形態は、第15例示によるシステムのアクセス方法を含む。要請されたアドレス空間に対するアクセスモードを受信する段階は、要請されたアドレス空間に対するバイト単位のアドレス化モードを受信する段階を含む。
システムのアクセス方法は、NVDIMMからアドレス空間にアクセスするための要請を受信する段階、
前記アドレス空間に対するアクセスモードを決定する段階、及び
前記アクセスモードを利用してNVDIMMから前記アドレス空間にアクセスするための要請をスケジュールする段階を含む。
第23例示において、本発明の実施形態は、第21例示によるシステムのアクセス方法を含む。アドレス空間に対するアクセスモードを決定する段階は、前記アドレス空間に対するバイト単位のアドレス化モードを決定する段階を含む。
第24例示において、本発明の実施形態は、第21例示によるシステムのアクセス方法を含む。アドレス空間に対するアクセスモードを決定する段階は、プロセッサ内のNVMコントロールレジスタからアクセスモードを決定する段階を含む。
前記アドレス空間を前記NVMコントロールレジスタ内のアドレスマスクとマッチングさせるように試みる段階、及び
前記アドレス空間とマッチングされたNVMコントロールレジスタ内のアドレスマスクに対応するアクセスモードを決定する段階を含む。
第26例示において、本発明の実施形態は、第25例示によるシステムのアクセス方法を含む。前記アドレス空間を前記NVMコントロールレジスタ内のアドレスマスクとマッチングさせるように試みる段階は、前記アドレス空間をNVMコントロールレジスタ内のアドレスマスクの各々と比較する段階を含む。
第28例示において、本発明の実施形態は、第25例示によるシステムのアクセス方法を含む。NVMコントロールレジスタから前記アクセスモードを決定する段階は、仮に前記アドレス空間が前記NVMコントロールレジスタ内のアドレスマスクとマッチングしない場合に前記アクセスモードをバイト単位のアドレス化モードとして決定する段階を含む。
第29例示において、本発明の実施形態は、第25例示によるシステムのアクセス方法を含む。NVMコントロールレジスタから前記アクセスモードを決定する段階は、仮に前記アドレス空間が前記NVMコントロールレジスタ内のアドレスマスクとマッチングしない場合に前記アクセスモードをブロック単位のアドレス化モードとして決定する段階を含む。
110、115 NVDIMM
120、125 DIMM
130 ストレージ
135 OS(Operating System)
140、145 仮想マシン
150 NVMガバナ(メモリコントローラ)
155 NVMコントロールレジスタ
205 コンピュータシステム
210 コンピュータ
215 モニタ
220 キーボード
225 マウス
305、310、315 アドレス空間
405 割当ロジック
410 バイトアドレス化ロジック
415 ブロックアドレス化ロジック
420 ソフトウェア
505、510、515 アドレスマスク
520、525、530 アクセスモード
605 要請されたアドレス
610、615、620 比較器
625 エンコーダ
630 マルチプレクサ
635 アクセスモード
1305 システムバス
1310 ユーザーインターフェイス
1315 I/Oエンジン
1320 ネットワークコネクタ
1325 クロック
Claims (27)
- NVDIMM(Non−Volatile Dual In−Line Memory Module)と、
第1アプリケーションに対して前記NVDIMM内に第1アドレス空間を第1アクセス(Access)モードで割り当て、第2アプリケーションに対して前記NVDIMM内に第2アドレス空間を第2アクセスモードで割り当て、少なくとも前記第1アドレス空間に対する第1アドレスマスクをNVM(Non−Volatile Memory)コントロールレジスタ内に格納するように動作するNVMガバナ(governor)と、を有し、
前記第1アドレスマスクは、前記第1アクセスモードと関連し、
前記NVDIMM内の前記第1アドレス空間は、第1割り当て要求に応答して前記第1アクセスモードを用いて割り当てられ、第2割り当て要求に応答して前記第2アクセスモードを用いて割り当てられ、
前記NVMコントロールレジスタは、前記第2アクセスモードを使用して割り当てられたアドレス空間に対するアドレスマスクを格納せず、
前記NVMガバナは、第2アクセスモードを使用して、アドレスマスクがNVMコントロールレジスタに格納されていないアドレス空間をアドレス空間として扱うように動作可能であり、
複数の前記NVDIMMと、前記複数のNVDIMMのキャッシュとして動作する複数のDIMM(Dual In−Line Memory Module)は階層構造的に構成されることを特徴とする不揮発性メモリを含むシステム。 - 前記第1アクセスモード及び第2のアクセスモードは、それぞれブロック単位のアドレス可能モード(block−addressable mode)とバイト単位のアドレス可能モード(byte−addressable mode)とを含むセットから引き出されることを特徴とする請求項1に記載の不揮発性メモリを含むシステム。
- 前記NVMガバナは、前記バイト単位のアドレス可能モードを使用してバイトアドレス可能アドレス空間にアクセスするためのバイトアドレス可能ロジックと、
前記ブロック単位のアドレス可能モードを使用してブロックアドレス可能アドレス空間へのアクセスをエミュレートするソフトウェア、と、含み、
前記ソフトウェアは、前記バイトアドレス可能ロジックを使用することを特徴とする請求項2に記載の不揮発性メモリを含むシステム。 - 前記NVMガバナは、前記バイト単位のアドレス可能モードを使用してバイトアドレス可能アドレス空間にアクセスするためのバイトアドレス可能ロジックと、
前記ブロック単位のアドレス可能モードを使用してブロックアドレス可能アドレス空間にアクセスするためのブロックアドレス可能ロジックと、を含むことを特徴とする請求項2に記載の不揮発性メモリを含むシステム。 - 前記NVMガバナは、前記NVMコントロールレジスタ内のすべてのアドレスマスクに対して並列的なアクセスチェック(AccessCheck)を遂行するように動作し、マッチングしたアドレスマスクと関連するアクセスモードを利用してアドレス要請をスケジュールするように動作することを特徴とする請求項1に記載の不揮発性メモリを含むシステム。
- 前記NVDIMMと接続されるプロセッサをさらに有し、
前記プロセッサは、前記NVMコントロールレジスタを含むことを特徴とする請求項1に記載の不揮発性メモリを含むシステム。 - 前記プロセッサ上で動作可能なオペレーティングシステム(OperatingSystem)をさらに有し、
前記オペレーティングシステムは、前記NVMガバナを含むことを特徴とする請求項6に記載の不揮発性メモリを含むシステム。 - 前記第1アクセスモードは、第1の入出力(I/O)要求が前記第1アドレス空間からデータをどのように読み書きするかを指定し、
前記第2アクセスモードは、第2の入出力(I/O)要求が前記第1アドレス空間からデータをどのように読み書きするかを指定することを特徴とする請求項1に記載の不揮発性メモリを含むシステム。 - 前記第1アドレス空間は、第1サイズを含み、前記第2アドレス空間は、第2サイズを含み、
前記第1サイズは前記第2サイズと異なることを特徴とする請求項1に記載の不揮発性メモリを含むシステム。 - NVDIMM(Non−Volatile Dual In−Line Memory Module)を含むシステムのアクセス方法において、
前記NVDIMM内にアドレス空間を割り当てるための要請を受信する段階と、
前記要請されたアドレス空間に対する少なくとも二つのアクセスモードを含むセットから抽出されるアクセスモードを受信する段階と、
前記NVDIMM内のアドレス空間を確認する段階と、
前記アクセスモードが第1アクセスモードでない場合、前記アドレス空間に対するアドレスマスク及び前記アドレス空間に対するアクセスモードをNVM(Non−Volatile Memory)コントロールレジスタに格納する段階と、
前記要請されたアドレス空間として前記NVDIMM内のアドレス空間を返還(return)する段階と、
前記第1アクセスモードを使用して、アドレスマスクがNVMコントロールレジスタに格納されていないアドレス空間をアドレス空間として処理する段階と、を有し、
複数の前記NVDIMMと、前記複数のNVDIMMのキャッシュとして動作する複数のDIMM(Dual In−Line Memory Module)は階層構造的に構成されることを特徴とする不揮発性メモリを含むシステムのアクセス方法。 - 前記アドレス空間に対する前記アドレスマスクを格納する段階は、前記アドレス空間に対する前記アクセスモードがブロック単位のアドレス可能モード(block−addressable mode)である場合に、前記アドレス空間に対する前記アドレスマスクを記憶する段階を含むことを特徴とする請求項10に記載の不揮発性メモリを含むシステムのアクセス方法。
- 前記アドレス空間に対する前記アドレスマスクを格納する段階は、前記アドレス空間に対する前記アクセスモードがバイト単位のアドレス可能モード(byte−addressable mode)である場合に、前記アドレス空間に対する前記アドレスマスクを記憶する段階を含むことを特徴とする請求項10に記載の不揮発性メモリを含むシステムのアクセス方法。
- 前記NVDIMM内にアドレス空間を割り当てる要求を受信する段階は、アプリケーションから前記NVDIMM内にアドレス空間を割り当てる要求を受信する段階を含み、
前記要求されたアドレス空間に対する少なくとも二つのアクセスモードを含むセットから抽出されるアクセスモードを受信する段階は、アプリケーションから前記要求されたアドレス空間に対する前記アクセスモードを受信する段階を含み、
前記NVDIMM内のアドレス空間を確認する段階は、前記アクセスモードを使用して前記NVDIMM内に前記アドレス空間を割り当てる段階を含み、
前記アドレス空間を前記要求されたアドレス空間として返還する段階は、前記アドレス空間を前記要求されたアドレス空間としてアプリケーションに返還する段階を含み、
前記アドレス空間は、前記アクセスモードを用いてアクセスされるように設計されることを特徴とする請求項10に記載の不揮発性メモリを含むシステムのアクセス方法。 - 前記アドレス空間は、第1割り当て要求に応答して少なくとも二つのアクセスモードの内の第1アクセスモードを用いて割り当てられ、第2割り当て要求に応答して少なくとも二つのアクセスモードの内の第2アクセスモードを用いて割り当てられることを特徴とする請求項10に記載の不揮発性メモリを含むシステムのアクセス方法。
- 前記少なくとも二つのアクセスモードのそれぞれは、入出力(I/O)要求がアドレス空間からデータをどのように読み書きするかを指定することを特徴とする請求項10に記載の不揮発性メモリを含むシステムのアクセス方法。
- 前記アドレス空間は第1サイズを含み、前記NVDIMM内の第2アドレス空間は第2サイズを含み、
前記第1サイズは前記第2サイズと異なることを特徴とする請求項10に記載の不揮発性メモリを含むシステムのアクセス方法。 - NVDIMM(Non−Volatile Dual In−Line Memory Module)を含むシステムのアクセス方法において、
前記NVDIMMからアドレス空間にアクセスするための要請を受信する段階と、
NVMコントロールレジスタ内のアドレスマスクとアドレス空間をマッチングさせようと試みる段階と、
前記アドレス空間が前記NVMコントロールレジスタ内のアドレスマスクとマッチングしない場合、前記アドレス空間に対するアクセスモードを第1アクセスモードとして決定する段階と、
前記アドレス空間がNVMコントロールレジスタ内のアドレスマスクとマッチングする場合、前記アドレス空間に対するアクセスモードを前記NVMコントロールレジスタからマッチングしたアドレスマスクに対応するアクセスモードとして決定する段階と、
前記アクセスモードを利用して前記NVDIMMから前記アドレス空間にアクセスするための前記要請をスケジュールする段階と、を有し、
前記NVMコントロールレジスタは、各アドレスマスクに対応するアクセスモードを格納し、
前記アドレス空間は、第1割り当て要求に応答して前記アクセスモードを用いて割り当てられ、第2割り当て要求に応答して第2アクセスモードを用いて割り当てられるように設計され、
複数の前記NVDIMMと、前記複数のNVDIMMのキャッシュとして動作する複数のDIMM(Dual In−Line Memory Module)は階層構造的に構成されることを特徴とする不揮発性メモリを含むシステムのアクセス方法。 - 前記アドレス空間に対するアクセスモードを決定する段階は、前記アドレス空間に対してブロック単位のアドレス可能モード及びバイト単位のアドレス可能モードの内の1つとしてアクセスモードを決定する段階を含むことを特徴とする請求項17に記載の不揮発性メモリを含むシステムのアクセス方法。
- 前記NVMコントロールレジスタから前記アドレス空間に対する前記アクセスモードを決定する段階は、プロセッサ内の前記NVMコントロールレジスタから前記アクセスモードを決定する段階を含むことを特徴とする請求項17に記載の不揮発性メモリを含むシステムのアクセス方法。
- 前記アドレス空間を前記NVMコントロールレジスタ内のアドレスマスクとマッチングさせるように試みる段階は、前記アドレス空間を前記NVMコントロールレジスタ内のアドレスマスクの各々と比較する段階を含むことを特徴とする請求項17に記載の不揮発性メモリを含むシステムのアクセス方法。
- 前記アドレス空間を前記NVMコントロールレジスタ内のアドレスマスクの各々と比較する段階は、並列的に前記アドレス空間を前記NVMコントロールレジスタ内の前記アドレスマスクの各々と比較する段階を含むことを特徴とする請求項20に記載の不揮発性メモリを含むシステムのアクセス方法。
- 前記アクセスモードは、第1の入出力(I/O)要求が前記アドレス空間からデータをどのように読み書きするかを指定し、
前記第2アクセスモードは、第2の入出力(I/O)要求が前記アドレス空間からデータを読み書きする方法を指定することを特徴とする請求項17に記載の不揮発性メモリを含むシステムのアクセス方法。 - 前記アドレス空間は第1サイズを含み、前記NVDIMM内の第2アドレス空間は第2サイズを含み、
前記第1サイズは前記第2サイズと異なることを特徴とする請求項17に記載の不揮発性メモリを含むシステムのアクセス方法。 - NVDIMM(Non−Volatile Dual In−Line Memory Module)を含むシステムのアクセス方法において、
前記NVDIMM内にアドレス空間を割り当てるための要請を受信する段階と、
前記要請されたアドレス空間に対する厳密に二つのアクセスモードを含むセットから抽出されるアクセスモードを受信する段階と、
前記NVDIMM内のアドレス空間を確認する段階と、
前記アクセスモードが第1アクセスモードではない場合、前記アドレス空間に対するアドレスマスクをNVM(Non−Volatile Memory)コントロールレジスタに格納する段階と、
前記要請されたアドレス空間として前記アドレス空間を返還(return)する段階と、を有し、
前記アクセスモードは、前記アドレスマスクがNVMコントロールレジスタに格納されているか否かに応じて決定されることを特徴とする不揮発性メモリを含
み、
複数の前記NVDIMMと、前記複数のNVDIMMのキャッシュとして動作する複数のDIMM(Dual In−Line Memory Module)は階層構造的に構成されることを特徴とするシステムのアクセス方法。 - 前記アドレス空間に対する前記アドレスマスクを格納する段階は、前記アドレス空間に対する前記アクセスモードがブロック単位のアドレス可能モードである場合に、前記アドレス空間に対する前記アドレスマスクを格納する段階を含むことを特徴とする請求項24に記載の不揮発性メモリを含むシステムのアクセス方法。
- 前記アドレス空間に対する前記アドレスマスクを格納する段階は、前記アドレス空間に対する前記アクセスモードがバイト単位のアドレス可能モードである場合に、前記アドレス空間に対する前記アドレスマスクを格納する段階を含むことを特徴とする請求項24に記載の不揮発性メモリを含むシステムのアクセス方法。
- 前記アドレス空間に対する前記アドレスマスクを前記NVMコントロールレジスタに格納する段階は、前記アドレス空間に対するアドレスマスク及びアクセスモードをNVMコントロールレジスタに格納する段階を含むことを特徴とする請求項24に記載の不揮発性メモリを含むシステムのアクセス方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562192028P | 2015-07-13 | 2015-07-13 | |
US62/192,028 | 2015-07-13 | ||
US14/957,568 | 2015-12-02 | ||
US14/957,568 US9886194B2 (en) | 2015-07-13 | 2015-12-02 | NVDIMM adaptive access mode and smart partition mechanism |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017021789A JP2017021789A (ja) | 2017-01-26 |
JP2017021789A5 JP2017021789A5 (ja) | 2019-07-25 |
JP6744768B2 true JP6744768B2 (ja) | 2020-08-19 |
Family
ID=57775804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016122720A Active JP6744768B2 (ja) | 2015-07-13 | 2016-06-21 | 複数のアクセスモードを支援する不揮発性メモリを含むシステム及びそのアクセス方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9886194B2 (ja) |
JP (1) | JP6744768B2 (ja) |
KR (1) | KR102363526B1 (ja) |
CN (1) | CN106354656B (ja) |
TW (1) | TWI691838B (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018057039A1 (en) * | 2016-09-26 | 2018-03-29 | Hewlett-Packard Development Company, L. | Update memory management information to boot an electronic device from a reduced power mode |
US10025714B2 (en) * | 2016-09-30 | 2018-07-17 | Super Micro Computer, Inc. | Memory type range register with write-back cache strategy for NVDIMM memory locations |
KR20180061851A (ko) * | 2016-11-30 | 2018-06-08 | 삼성전자주식회사 | 바이트 액세서블 인터페이스 및 블록 액세서블 인터페이스를 지원하는 스토리지 장치 및 이를 포함하는 전자 시스템 |
KR102400102B1 (ko) * | 2017-05-11 | 2022-05-23 | 삼성전자주식회사 | 데이터 버퍼의 내부 데이터(dq) 터미네이션을 지원하는 메모리 시스템 |
TWI645295B (zh) * | 2017-06-20 | 2018-12-21 | 慧榮科技股份有限公司 | 資料儲存裝置與資料儲存方法 |
WO2019000456A1 (zh) * | 2017-06-30 | 2019-01-03 | 华为技术有限公司 | 传输数据掩码的方法、内存控制器、内存芯片和计算机系统 |
CN109791589B (zh) * | 2017-08-31 | 2021-07-16 | 华为技术有限公司 | 一种计算机内存数据加解密的方法及装置 |
US11194524B2 (en) | 2017-09-15 | 2021-12-07 | Qualcomm Incorporated | Apparatus and method for performing persistent write operations using a persistent write command |
US10782994B2 (en) * | 2017-12-19 | 2020-09-22 | Dell Products L.P. | Systems and methods for adaptive access of memory namespaces |
CN108255428B (zh) * | 2018-01-10 | 2020-07-24 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
US11042374B2 (en) | 2019-05-02 | 2021-06-22 | International Business Machines Corporation | Non-volatile dual in-line memory module storage |
US11113188B2 (en) | 2019-08-21 | 2021-09-07 | Microsoft Technology Licensing, Llc | Data preservation using memory aperture flush order |
US11314460B2 (en) * | 2019-09-13 | 2022-04-26 | Kioxia Corporation | Solid state drive supporting both byte addressable protocol and block addressable protocol |
US11003376B2 (en) * | 2019-09-13 | 2021-05-11 | Toshiba Memory Corporation | Reconfigurable SSD storage pool |
CN111753337B (zh) * | 2020-07-02 | 2023-02-21 | 上海电器科学研究所(集团)有限公司 | 一种储能电池管理系统意外断电soc处理方法 |
TWI818732B (zh) * | 2022-09-16 | 2023-10-11 | 新唐科技股份有限公司 | 記憶體裝置及其操作方法 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513337A (en) * | 1994-05-25 | 1996-04-30 | Intel Corporation | System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type |
KR19980033054A (ko) * | 1996-10-23 | 1998-07-25 | 윌리엄비.켐플러 | 프로그램 가능 메모리 액세스 |
US6496916B1 (en) * | 1998-04-17 | 2002-12-17 | Agere Systems Inc. | System for flexible memory paging in partitioning memory |
US6854043B2 (en) * | 2002-07-05 | 2005-02-08 | Hewlett-Packard Development Company, L.P. | System and method for multi-modal memory controller system operation |
US20050251617A1 (en) | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
JP4515793B2 (ja) * | 2004-03-11 | 2010-08-04 | 株式会社東芝 | メモリカード装置およびメモリカード制御方法 |
US20060069849A1 (en) * | 2004-09-30 | 2006-03-30 | Rudelic John C | Methods and apparatus to update information in a memory |
US20060143396A1 (en) * | 2004-12-29 | 2006-06-29 | Mason Cabot | Method for programmer-controlled cache line eviction policy |
TWI446171B (zh) * | 2006-09-28 | 2014-07-21 | Virident Systems Inc | 用於異質性主記憶體具有可程式化記憶體控制的系統,方法及裝置 |
JP4325685B2 (ja) * | 2007-02-21 | 2009-09-02 | セイコーエプソン株式会社 | メモリを制御するメモリコントローラ、メモリモジュール、メモリの制御方法、および、コンピュータ。 |
US20080250220A1 (en) * | 2007-04-06 | 2008-10-09 | Takafumi Ito | Memory system |
US8832408B2 (en) | 2007-10-30 | 2014-09-09 | Spansion Llc | Non-volatile memory array partitioning architecture and method to utilize single level cells and multi-level cells within the same memory |
US8261047B2 (en) * | 2008-03-17 | 2012-09-04 | Freescale Semiconductor, Inc. | Qualification of conditional debug instructions based on address |
KR101573047B1 (ko) * | 2009-01-23 | 2015-12-02 | 삼성전자주식회사 | 복합 메모리 장치 및 이를 이용한 i/o 처리 방법 |
EP2476079A4 (en) * | 2009-09-09 | 2013-07-03 | Fusion Io Inc | APPARATUS, SYSTEM, AND METHOD FOR STORAGE ALLOCATION |
US8239619B2 (en) * | 2010-07-09 | 2012-08-07 | Macronix International Co., Ltd. | Method and apparatus for high-speed byte-access in block-based flash memory |
TWI462103B (zh) * | 2011-01-19 | 2014-11-21 | Mstar Semiconductor Inc | 記憶體控制器、記憶體控制方法及記憶體系統 |
WO2013048483A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Platform storage hierarchy with non-volatile random access memory having configurable partitions |
CN103197985B (zh) * | 2011-11-08 | 2018-07-13 | 索尼公司 | 存储控制装置 |
CN103514095B (zh) * | 2012-06-18 | 2016-08-03 | 记忆科技(深圳)有限公司 | 一种数据库写入ssd 的方法和系统 |
CN102779096B (zh) * | 2012-07-11 | 2015-02-04 | 山东华芯半导体有限公司 | 一种基于页块面三维的闪存地址映射方法 |
US9098402B2 (en) * | 2012-12-21 | 2015-08-04 | Intel Corporation | Techniques to configure a solid state drive to operate in a storage mode or a memory mode |
US9135997B2 (en) * | 2013-01-18 | 2015-09-15 | Fujitsu Limited | System and method for filtering addresses |
JP6069031B2 (ja) * | 2013-03-04 | 2017-01-25 | 株式会社日立製作所 | 計算機及びメモリ管理方法 |
US8949486B1 (en) * | 2013-07-17 | 2015-02-03 | Mellanox Technologies Ltd. | Direct memory access to storage devices |
WO2015061971A1 (zh) * | 2013-10-29 | 2015-05-07 | 华为技术有限公司 | 数据处理系统和数据处理的方法 |
CN105917308B (zh) * | 2014-01-22 | 2019-02-12 | 惠普发展公司,有限责任合伙企业 | 分区为包括元数据区域的多个区域的字节可寻址非易失性读写主存储器 |
US20160253123A1 (en) * | 2014-03-19 | 2016-09-01 | Bruce Ledley Jacob | NVMM: An Extremely Large, Logically Unified, Sequentially Consistent Main-Memory System |
CN110187832B (zh) * | 2014-05-21 | 2023-08-22 | 华为技术有限公司 | 一种数据操作的方法、设备和系统 |
US9396769B1 (en) * | 2015-02-11 | 2016-07-19 | Macronix International Co., Ltd. | Memory device and operating method of same |
US9645939B2 (en) * | 2015-06-26 | 2017-05-09 | Intel Corporation | Hardware apparatuses and methods for distributed durable and atomic transactions in non-volatile memory |
-
2015
- 2015-12-02 US US14/957,568 patent/US9886194B2/en active Active
-
2016
- 2016-04-06 KR KR1020160042453A patent/KR102363526B1/ko active IP Right Grant
- 2016-04-11 TW TW105111217A patent/TWI691838B/zh active
- 2016-06-21 JP JP2016122720A patent/JP6744768B2/ja active Active
- 2016-07-11 CN CN201610543231.6A patent/CN106354656B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
TW201706850A (zh) | 2017-02-16 |
KR102363526B1 (ko) | 2022-02-16 |
TWI691838B (zh) | 2020-04-21 |
CN106354656A (zh) | 2017-01-25 |
CN106354656B (zh) | 2021-05-11 |
US9886194B2 (en) | 2018-02-06 |
JP2017021789A (ja) | 2017-01-26 |
KR20170008141A (ko) | 2017-01-23 |
US20170017402A1 (en) | 2017-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6744768B2 (ja) | 複数のアクセスモードを支援する不揮発性メモリを含むシステム及びそのアクセス方法 | |
KR102137761B1 (ko) | 이종 통합 메모리부 및 그것의 확장 통합 메모리 스페이스 관리 방법 | |
CN107690622B9 (zh) | 实现硬件加速处理的方法、设备和系统 | |
CN110663019B (zh) | 用于叠瓦式磁记录(smr)的文件系统 | |
US9058338B2 (en) | Storing a small file with a reduced storage and memory footprint | |
US20140089585A1 (en) | Hierarchy memory management | |
JP6069031B2 (ja) | 計算機及びメモリ管理方法 | |
JP2017073129A (ja) | Nvdimmを含む装置及びそのアクセス方法 | |
US10719333B2 (en) | BIOS startup method and apparatus | |
US8984179B1 (en) | Determining a direct memory access data transfer mode | |
Ha et al. | Dynamic capacity service for improving CXL pooled memory efficiency | |
CN113805792A (zh) | 存储器系统及其操作方法 | |
US20150212759A1 (en) | Storage device with multiple processing units and data processing method | |
US11835992B2 (en) | Hybrid memory system interface | |
TWI696068B (zh) | 用於提供高效功率檔案系統操作至一非揮發性區塊記憶體之系統及方法 | |
KR102549540B1 (ko) | 스토리지 장치 및 그 동작 방법 | |
US9251101B2 (en) | Bitmap locking using a nodal lock | |
US20220147458A1 (en) | Semiconductor device | |
EP4276642A1 (en) | Computing system including cxl switch, memory device and storage device and operating method thereof | |
US20240256126A1 (en) | System and method for managing data access in distributed systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190621 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200608 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200721 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200731 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6744768 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |