JP6435101B2 - 揮発性シャドウメモリを介した不揮発性メモリへのアクセス - Google Patents
揮発性シャドウメモリを介した不揮発性メモリへのアクセス Download PDFInfo
- Publication number
- JP6435101B2 JP6435101B2 JP2014046264A JP2014046264A JP6435101B2 JP 6435101 B2 JP6435101 B2 JP 6435101B2 JP 2014046264 A JP2014046264 A JP 2014046264A JP 2014046264 A JP2014046264 A JP 2014046264A JP 6435101 B2 JP6435101 B2 JP 6435101B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- volatile
- location
- shadow
- 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
- 230000015654 memory Effects 0.000 title claims description 475
- 238000000034 method Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 9
- 230000002093 peripheral effect Effects 0.000 description 50
- 239000000872 buffer Substances 0.000 description 27
- 238000012546 transfer Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003750 conditioning effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012369 In process control Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Selective Calling Equipment (AREA)
- Memory System (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Description
1つまたは複数の遠隔デバイス402は、データ取得または制御の用途およびチャネル構成について時間決定性の活動を遂行するのを可能にするために装備されうる。こうしたデバイスは、いくつかのタイムベースコマンドのうち1つを使用して、out−FIFO404bからin−FIFO404aへ、テーブルメモリ406へもしくはそこから、または、チャネルコンフィギュレーションメモリ408へもしくはそこから、データを移動することができる。遠隔デバイス内の各アドレス指定可能チャネルは、1つまたは複数の異なる揮発性メモリオプションを包含することができる。チャネルコマンドは、本来、各コマンドおよび応答のための実行時間が、よく理解され、予測され、定義などされうるように、リアルタイムとしてよい。各チャネルコマンドおよびそれへの応答の実行時間は、各デバイスメモリコマンドの実行時間より予測可能であり、それによって、コマンドそれぞれのタイミングの要件が異なるようになりうる。
トリガコマンドは、トリガコマンドワード内の遷移を使用して、遠隔デバイス402へのまたはそこからのデータを正確に保持するために使用されうる。この特徴は、グローバルタイムベースを確立するために使用されうる。
同期コマンドは、上述のトリガオペレーションと同様のトリガオペレーションの遂行に加えて遠隔デバイス402を正確に同期させるために使用されうる。このコマンドは、同期信号およびトリガ信号を同時に生成することができる。
チャネルステータス獲得コマンドは、単一チャネルでチャネルを介してチャネルのステータスを取り出すものとすることができる。一例では、ステータスは、マルチビットステータスレジスタに(例えば、デバイスインターフェース202に)反映されてよく、チャネルステータス獲得コマンドは、ステータスレジスタのコンテンツの取り出すものとしてよい。ステータスレジスタのコンテンツは、複数のビットを含むことができ、そのうち保持されうるものもあるが保持されないものもありうる。一例では、ステータスワードがこのコマンドによって読み出されると、保持されたビットが消去されうる。
チャネルサービス設定コマンドは、各チャネルのチャネルサービスレジスタ(例えば、デバイスインターフェース202)などを介して、出力離散型サービスおよびオペコードオペレーションを遂行するために使用されうる。種々の例では、チャネルサービス設定コマンドは、オペコードオペレーションを示すための一部分(例えば、最下位(LS)バイト)、およびサービスオペレーションを示すための別の部分(最上位(MS)バイト)を含むことができる。
in−FIFOカウント獲得コマンドは、バッファモードでin−FIFO404aに、または直接モードでin−バッファ404cおよびin−FIFOに包含するワード数を決定するために使用されうる。同様に、out−FIFOカウント獲得コマンドは、out−FIFO404bに包含するワード数を決定するために使用されうる。このコマンドにより、遠隔デバイス402がin−FIFOまたはout−FIFOのそれぞれ1つに包含するワード数を表すマルチビット値を返すことができるようになりうる。
FIFO転送コマンドは、out−FIFO404bから遠隔デバイス周辺装置へ、および/または周辺装置からin−バッファ404cへデータを移動させるために使用されうる。このコマンドは、out−FIFOから周辺装置へ転送されるバイト数を、および/または周辺装置からin−バッファへ転送されるバイト数を明示するそれぞれの引数を含むことができる。しかしながらどちらの引数もゼロとすることができる。種々の例では、このコマンドは、バイト数を明示することができるが、データは、ワード境界で転送されうる。例えば、奇数バイトがあるとき、out−FIFOから送られたまたはin−バッファ404cに受信された最後のワードは、有効下位バイトおよび有効上位バイトを包含することができる。
これらのin−FIFO読出しコマンドは、遠隔デバイス402チャネルのin−FIFO404aから、データワード、ワードのブロックまたはいくつかのワードの定義済みパッケージを読み出し、ワード(複数可)をバス(例えば、バス104)上に転送するために使用されうる。一例では、データワード数は、コマンドに明示されうる。また一例では、1パッケージのワードにおいては、1パッケージのデータワード数は、遠隔デバイスのパッケージ定義レジスタ内で(例えば、デバイスインターフェース202で)事前に定義されうる。
これらのout−FIFO書込みコマンドは、データワード、ワードのブロックまたはワードの定義済みパッケージをバス(例えば、バス104)から受信し、out−FIFO404bにワード(複数可)を書き込むために使用されうる。読出しコマンドと同様に、一例では、データワード数は、コマンド中に明示されうる。同じく、例えば、1パッケージのデータワード数は、遠隔デバイスのパッケージ定義レジスタ内に事前に定義されうる。
これらの取得中out−FIFO書込みコマンドは、データワード、ワードのブロックまたはワードの定義済みパッケージをバス(例えば、バス104)から受信し、out−FIFO404bへワード(複数可)を書き込むために使用されうる。次いで、out−FIFOは、1つのデータワードを周辺装置からin−FIFO404aへ直ちに取得しながら、周辺装置に直接データを送ることができる。前の記述と同様に、一例では、データワード数は、コマンド中に明示されてよく、パッケージについては、パッケージ定義レジスタに事前に定義されうる。in−FIFOおよびout−FIFOは、直接モードまたはバッファモードのどちらにも設定されうる。ただし、これらのコマンドは、out−FIFOが直接モードに設定されるとき使用するものとしてよい。次いで、一例では、遠隔デバイス402が、out−FIFOがバッファモードである間にコマンドを受信した場合、遠隔デバイス402は、コマンドをout−FIFO書込みコマンドとしてみなしてもよい。
これらのコマンドは、データワードのブロックをデバイスのチャネルメモリからまたはそこへ読み出すまたは書き込むために使用されうる。このコマンドは、メモリロケーションポインタ値を示す引数を含むことができ、読出し/書込みオペレーションは、引数によってそれぞれ示されるチャネルメモリ中の位置でスタートすることができる。このコマンドは、遠隔デバイス402に、そのメモリからいくつのデータワードが、読み出されバス(例えば、バス104)上に転送されるべきか、または、バスからいくつのデータワードが受信され遠隔デバイスのメモリに書き込まれるべきかを知らせることができる、追加データの引数を含むことができる。遠隔デバイスは、渡したポインタ値でスタートしたデータを読出し/書込み、インクリメントするアドレスを逐次的に読み出し/書き込むことができる。
チャネルコマンドに加えて、プロトコルは、デバイスメモリコマンドを含むことができる。これらのコマンドは、遠隔デバイス402を構成するために使用されるデバイスベースメモリをアドレス指定するためのコマンドを含むことができる。上に示したように、種々の例では、このメモリ空間は、リアルタイムデータ取得オペレーション用のものとしなくてもよい。
これらのセグメントポインタコマンドは、遠隔デバイス402内のマルチビットデバイスメモリセグメントポインタを設定または読み出すことができる。設定コマンドについては、1つまたは複数の遠隔デバイスが、拡張メモリ502bの示したセグメントのコンテンツをもつ遠隔デバイスの拡張シャドウメモリ504bをそれぞれロードすることによって、このコマンドに応答することができる。次いで、他のデバイスメモリコマンドは、カレントのロードしたセグメントそれぞれに対して読み出しまたは書き込むことができる。獲得(読出し)コマンドについては、遠隔デバイスが、その拡張シャドウメモリからカレントのロードしたセグメントを用いて応答することができる。
このデバイスメモリポインタコマンドは、遠隔デバイス402内のマルチビットデバイスメモリアドレスポインタを読み出すことができる。1つまたは複数の遠隔デバイスは、そのデバイスメモリアドレスポインタそれぞれのカレントロケーションを用いてこのコマンドに応答することができる。
これらのコマンドは、データワードのブロックをデバイス記憶メモリ410からまたはそこへ読み出すまたは書き込むために使用されうる。このコマンドは、メモリロケーションポインタ値を示す引数を含むことができ、読出し/書込みオペレーションは、引数によってそれぞれ示されるデバイス記憶メモリ中の位置でスタートすることができる。このコマンドは、遠隔デバイス402に、そのデバイス記憶メモリからいくつのデータワードが、読み出されバス(例えば、バス104)上に転送されるべきか、または、バスからいくつのデータワードが受信され遠隔デバイスのデバイス記憶メモリに書き込まれるべきかを知らせることができる、追加データの引数を含むことができる。遠隔デバイスは、渡したポインタ値でスタートしたデータを読出し/書込み、インクリメントするアドレスを逐次的に読み出し/書き込むことができる。
このコマンドは、デバイス記憶メモリ410のセクションをアンロックまたはロックするために使用されうる。このコマンドは、適切なアンロックコードを含む引数を含むことができる。
Max WCT=WSTT+(WPS×WPCT×シャドウメモリページ数)
となる。種々の例では、書込みサイクル時間は、変更した「アンロックの」ロケーション数に応じて改善されてよく、変更のないロケーションが書き込まれず、したがって書込み時間を短縮することができる。一例では、デバイス記憶メモリ500が書込みサイクル中であるとき、遠隔デバイスは、オフラインとされてよく、ネットワークバス(例えば、バス104)からコマンドを受信できなくともよい。
複数のロケーションにデータを記憶するように構成された不揮発性メモリ(502)と、
前記不揮発性メモリ(502)に結合され、対応する複数のロケーションに前記不揮発性メモリの前記複数のロケーションのイメージを記憶するように構成された揮発性シャドウメモリ(504)を含む、デバイスインターフェース(202)とを備え、
前記デバイスインターフェース(202)が、デジタルネットワークバス(104)を経由してバスコントローラ(102)に結合可能であり、前記バスコントローラ(102)から前記ネットワークバス(104)を渡ってコマンドを受信するように構成され、それに応答して、前記デバイスインターフェース(202)が、前記ネットワークバスからのデータを前記不揮発性メモリ(502)中のロケーションに書き込むように構成され、前記デバイスインターフェース(202)が、前記揮発性シャドウメモリ(504)中の前記対応するロケーションに前記データを書き込み、その後、前記揮発性シャドウメモリ(504)中の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むように構成されることを含む、装置。
コマンドを受信するように構成された前記デバイスインターフェース(202)が、書込みコマンドを受信するように構成されることを含み、
前記デバイスインターフェース(202)が、別の書込みコマンドを受信することなくタイムアウト時間を経過した後のみ、前記揮発性シャドウメモリ(504)中の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むように構成される、第1項に記載の装置。
前記デバイスインターフェース(202)が、前記揮発性シャドウメモリ(504)から前記不揮発性メモリ(502)に書込みサイクルを遂行するように構成され、前記デバイスインターフェース(202)が、前記揮発性シャドウメモリ(504)中の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むように構成されることを含み、
前記デバイスインターフェース(202)が、前記不揮発性メモリ(502)中の前記ロケーションの保護ステータスまたは非保護ステータスを検査するように構成されることを、前記書込みサイクルがさらに含み、前記ロケーションが非保護ロケーションである事例でのみ、前記デバイスインターフェース(202)が、前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むように構成される、第1項に記載の装置。
前記揮発性シャドウメモリ(504)中の前記対応するロケーションの前記データが第2のデータであり、
前記デバイスインターフェース(202)が、前記不揮発性メモリ(502)中の前記非保護ロケーションから第1のデータを読み込み、前記第1のデータを前記第2のデータと比較するように構成されることを、前記書込みサイクルがさらに含み、前記第1のデータが前記第2のデータと異なる事例でのみ、前記デバイスインターフェース(202)が、前記不揮発性メモリ(502)中の前記非保護ロケーションに前記第2のデータを書き込むように構成される、第3項に記載の装置。
前記不揮発性メモリ(502)の前記ロケーションの各々に対して前記検査および書込みを含み、前記書込みサイクルのために前記揮発性シャドウメモリ(504)が、前記揮発性シャドウメモリ(504)の対応するロケーションにイメージを記憶するように構成された、前記書込みサイクルを遂行するように、前記デバイスインターフェース(202)が構成される、第3項に記載の装置。
前記デバイスインターフェース(202)が、前記揮発性シャドウメモリ(504)から前記不揮発性メモリ(502)に書込みサイクルを遂行するように構成され、前記デバイスインターフェース(202)が、前記揮発性シャドウメモリ(504)中の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むように構成されることを含み、前記揮発性シャドウメモリ(504)中の前記対応するロケーションの前記データが第2のデータであり、
前記デバイスインターフェース(202)が、前記不揮発性メモリ(502)中の前記ロケーションから第1のデータを読み出し、前記第1のデータと前記第2のデータを比較するように構成されることを、前記書込みサイクルがさらに含み、前記第1のデータが前記第2のデータと異なる事例でのみ、前記デバイスインターフェース(202)が、前記不揮発性メモリ(502)中の前記ロケーションに前記第2のデータを書き込むように構成される、第1項に記載の装置。
前記不揮発性メモリ(502)の前記ロケーションの各々に対して前記読出し、比較および書込みを含み、前記書込みサイクルのために前記揮発性シャドウメモリ(504)が、前記揮発性シャドウメモリ(504)の対応するロケーションにイメージを記憶するように構成された、前記書込みサイクルを遂行するように、前記デバイスインターフェース(202)が構成される、第6項に記載の装置。
前記不揮発性メモリ(502)が、ベースメモリ(502a)と拡張メモリ(502b)とを含み、前記揮発性シャドウメモリ(504)が、ベースシャドウメモリ(504a)と拡張シャドウメモリ(504b)とを含み、
前記ベースシャドウメモリ(504a)が、前記ベースメモリ(502a)のイメージを記憶するように構成され、前記拡張シャドウメモリ(504b)が、前記拡張メモリ(502b)の唯一選択可能なサブセットのイメージを記憶するように構成される、第1項に記載の装置。
デジタルネットワークバス(104)を経由してバスコントローラ(102)から遠隔デバイス(106)でコマンドを受信することであって、前記遠隔デバイス(106)が、複数のロケーションのデータを記憶するように構成された不揮発性メモリ(502)と、対応する複数のロケーションに前記不揮発性メモリ(502)の前記複数のロケーションのイメージを記憶するように構成された揮発性シャドウメモリ(504)とを含む、受信することと、
前記コマンドの受信に応答して、前記ネットワークバス(104)からのデータを前記不揮発性メモリ(502)中のロケーションに書き込むことであって、前記揮発性シャドウメモリ(504)の前記対応するロケーションに前記データを書き込むことと、その後に前記揮発性シャドウメモリ(504)の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むこととを含む、書き込むこととを含む、方法。
コマンドを受信することが、書込みコマンドを受信することを含み、
前記対応するロケーションから前記データを書き込むことが、別の書込みコマンドを受信することなくタイムアウト時間を経過した後のみ、前記揮発性シャドウメモリ(504)の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むことを含む、第9項に記載の方法。
前記揮発性シャドウメモリ(504)から前記不揮発性メモリ(502)に書込みサイクルを遂行することであって、前記揮発性シャドウメモリ(504)中の前記対応するロケーションから前記不揮発性メモリ(502)中のロケーションに前記データを書き込むことを含む、書込みサイクルを遂行することをさらに含み、
前記書込みサイクルが、前記不揮発性メモリ(502)中の前記ロケーションの保護ステータスまたは非保護ステータスを検査することをさらに含み、前記ロケーションが非保護ロケーションである事例でのみ、前記データが、前記不揮発性メモリ(502)中の前記ロケーションに書き込まれる、第9項に記載の方法。
前記揮発性シャドウメモリ(504)中の前記対応するロケーションの前記データが第2のデータであり、
前記書込みサイクルが、前記不揮発性メモリ(502)中の前記非保護ロケーションから第1のデータを読み出すことと、前記第1のデータを前記第2のデータと比較することとをさらに含み、前記第1のデータが前記第2のデータと異なる事例でのみ、前記第2のデータが、前記不揮発性メモリ(502)中の前記非保護ロケーションに書き込まれる、第11項に記載の方法。
前記検査することと書き込むこととを含む前記書込みサイクルが、前記不揮発性メモリ(502)の前記ロケーションの各々に対して遂行され、前記書込みサイクルのために前記揮発性シャドウメモリ(504)が、前記揮発性シャドウメモリ(504)の対応するロケーションのイメージを記憶するように構成される、第11項に記載の方法。
前記揮発性シャドウメモリ(504)から前記不揮発性メモリ(502)に書込みサイクルを遂行することであって、前記揮発性シャドウメモリ(504)中の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むことを含み、前記揮発性シャドウメモリ(504)中の前記対応するロケーションの前記データが第2のデータである、書込みサイクルを遂行することをさらに含み、
前記書込みサイクルが、前記不揮発性メモリ(502)中の前記ロケーションから第1のデータを読み出すことと、前記第1のデータと前記第2のデータを比較することとをさらに含み、前記第1のデータが前記第2のデータと異なる事例でのみ、前記第2のデータが、前記不揮発性メモリ(502)中の前記ロケーションに書き込まれる、第9項に記載の方法。
前記読み出すことと、比較することと、書き込むこととを含む前記書込みサイクルが、前記不揮発性メモリ(502)の前記ロケーションの各々に対して遂行され、前記書込みサイクルのために前記揮発性シャドウメモリ(504)が、前記揮発性シャドウメモリ(504)の対応するロケーションにイメージを記憶するように構成される、第14項に記載の方法。
前記不揮発性メモリ(502)が、ベースメモリ(502a)と拡張メモリ(502b)とを含み、前記揮発性シャドウメモリ(504)が、ベースシャドウメモリ(504a)と拡張シャドウメモリ(504b)とを含み、
前記ベースシャドウメモリ(504a)が、前記ベースメモリ(502a)のイメージを記憶するように構成され、前記拡張シャドウメモリ(504b)が、前記拡張メモリ(502b)の唯一選択可能なサブセットのイメージを記憶するように構成される、第9項に記載の方法。
102 バスコントローラ
104 ネットワークバス
106 遠隔デバイス
108 周辺装置
200 遠隔デバイス
202 デバイスインターフェース
204 データチャネル
206 回路
208 信号調整デバイス
210 アナログ−デジタル変換器(ADC)および/またはデジタル−アナログ変換器(DAC)
212 送信機
214 受信機
216 第2の受信機
218 局部発振器、不揮発性メモリ
220 不揮発性メモリ
300 方法
302 ブロック
304 ブロック
306 ブロック
308 ブロック
310 ブロック
312 ブロック
400 メモリアーキテクチャ
402 遠隔デバイス
404 先入れ先出し(FIFO)メモリ
404a in−FIFO
404b out−FIFO
406 テーブルメモリ
408 コンフィギュレーションメモリ
410 デバイス記憶メモリ
412 デバイスコンフィギュレーションメモリ
500 デバイス記憶メモリ
502 不揮発性デバイス記憶メモリ
502a ベースメモリ
502b 拡張メモリ
504 揮発性デバイス記憶シャドウメモリ
504a ベースシャドウメモリ
504b 拡張シャドウメモリ
Claims (8)
- デジタルネットワークバス(104)を経由してバスコントローラ(102)から遠隔デバイス(106)でコマンドを受信することであって、前記遠隔デバイス(106)が、複数のロケーションのデータを記憶するように構成された不揮発性メモリ(502)であって、ベースメモリ(502a)及び拡張メモリ(502b)を含む不揮発性メモリ(502)と、対応する複数のロケーションに前記不揮発性メモリ(502)の前記複数のロケーションのイメージを記憶するように構成された揮発性シャドウメモリ(504)であって、前記ベースメモリ(502a)のイメージを記憶するように構成されたベースシャドウメモリ(504a)及び前記拡張メモリ(502b)の選択可能なサブセットのイメージのみを記憶するように構成された拡張シャドウメモリ(504b)を含む揮発性シャドウメモリ(504)とを含む、受信することと、
前記コマンドの受信に応答して、前記デジタルネットワークバス(104)からのデータを前記不揮発性メモリ(502)中のロケーションに書き込むことであって、前記揮発性シャドウメモリ(504)中の前記対応するロケーションに前記データを書き込むことと、その後に前記揮発性シャドウメモリ(504)の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むこととを含む、書き込むことと
を含む、方法。 - コマンドを受信することが、書込みコマンドを受信することを含み、
前記対応するロケーションから前記データを書き込むことが、別の書込みコマンドを受信することなくタイムアウト時間を経過した後のみ、前記揮発性シャドウメモリ(504)中の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むことを含む、請求項1に記載の方法。 - 前記揮発性シャドウメモリ(504)から前記不揮発性メモリ(502)に書込みサイクルを遂行することであって、前記揮発性シャドウメモリ(504)中の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むことを含む、書込みサイクルを遂行することをさらに含み、
前記書込みサイクルが、前記不揮発性メモリ(502)中の前記ロケーションの保護ステータスまたは非保護ステータスを検査することをさらに含み、前記ロケーションが非保護ロケーションである事例でのみ、前記データが、前記不揮発性メモリ(502)中の前記ロケーションに書き込まれる、請求項1に記載の方法。 - 前記揮発性シャドウメモリ(504)中の前記対応するロケーションの前記データが第2のデータであり、
前記書込みサイクルが、前記不揮発性メモリ(502)中の前記非保護ロケーションから第1のデータを読み出すことと、前記第1のデータを前記第2のデータと比較することとをさらに含み、前記第1のデータが前記第2のデータと異なる事例でのみ、前記第2のデータが、前記不揮発性メモリ(502)中の前記非保護ロケーションに書き込まれる、請求項3に記載の方法。 - 前記検査することと書き込むこととを含む前記書込みサイクルが、前記不揮発性メモリ(502)の前記ロケーションの各々に対して遂行され、前記書込みサイクルのために前記揮発性シャドウメモリ(504)が、前記揮発性シャドウメモリ(504)の対応するロケーションにイメージを記憶するように構成される、請求項3に記載の方法。
- 前記揮発性シャドウメモリ(504)から前記不揮発性メモリ(502)に書込みサイクルを遂行することであって、前記揮発性シャドウメモリ(504)中の前記対応するロケーションから前記不揮発性メモリ(502)中の前記ロケーションに前記データを書き込むことを含み、前記揮発性シャドウメモリ(504)中の前記対応するロケーションの前記データが第2のデータである、書込みサイクルを遂行することをさらに含み、
前記書込みサイクルが、前記不揮発性メモリ(502)中の前記ロケーションから第1のデータを読み出すことと、前記第1のデータと前記第2のデータを比較することとをさらに含み、前記第1のデータが前記第2のデータと異なる事例でのみ、前記第2のデータが、前記不揮発性メモリ(502)中の前記ロケーションに書き込まれる、請求項1に記載の方法。 - 前記読み出すことと、比較することと、書き込むこととを含む前記書込みサイクルが、前記不揮発性メモリの前記ロケーションの各々に対して遂行され、前記書込みサイクルのために前記揮発性シャドウメモリが、前記揮発性シャドウメモリの対応するロケーションにイメージを記憶するように構成される、請求項6に記載の方法。
- 複数のロケーションにデータを記憶するように構成された、ベースメモリ(502a)及び拡張メモリ(502b)を含む不揮発性メモリ(502)と、
前記不揮発性メモリ(502)に結合され、対応する複数のロケーションに前記不揮発性メモリ(502)の複数のロケーションのイメージを記憶するように構成された揮発性シャドウメモリ(504)を含む、デバイスインターフェース(202)であって、前記揮発性シャドウメモリ(504)が、前記ベースメモリ(502a)のイメージを記憶するように構成されたベースシャドウメモリ(504a)及び前記拡張メモリ(502b)の選択可能なサブセットのイメージのみを記憶するように構成された拡張シャドウメモリ(504b)を含む、デバイスインターフェース(202)とを備え、
前記デバイスインターフェース(202)が、デジタルネットワークバス(104)を経由してバスコントローラ(102)に結合可能であり、請求項1ないし7のいずれか一項に記載の方法を遂行するように構成される、装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/835,191 US10089224B2 (en) | 2013-03-15 | 2013-03-15 | Write caching using volatile shadow memory |
US13/835,191 | 2013-03-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014182815A JP2014182815A (ja) | 2014-09-29 |
JP6435101B2 true JP6435101B2 (ja) | 2018-12-05 |
Family
ID=50241187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014046264A Active JP6435101B2 (ja) | 2013-03-15 | 2014-03-10 | 揮発性シャドウメモリを介した不揮発性メモリへのアクセス |
Country Status (4)
Country | Link |
---|---|
US (1) | US10089224B2 (ja) |
EP (1) | EP2779534B1 (ja) |
JP (1) | JP6435101B2 (ja) |
CN (2) | CN104050113B (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9785545B2 (en) * | 2013-07-15 | 2017-10-10 | Cnex Labs, Inc. | Method and apparatus for providing dual memory access to non-volatile memory |
US20160093377A1 (en) * | 2014-09-26 | 2016-03-31 | Intel Corporation | Nonvolatile memory module |
DE102016103812B4 (de) * | 2016-03-03 | 2019-10-31 | Osram Gmbh | Endgerät, Endgerätesystem, Verfahren zur Ermittlung von Positionsinformationen von Endgeräten und Computerprogrammprodukt |
DE102016108525B4 (de) * | 2016-05-09 | 2022-01-27 | Infineon Technologies Ag | Vorrichtung zur Verwendung beim Zugriff auf einen Speicher |
US11528165B2 (en) * | 2018-01-19 | 2022-12-13 | Textron Innovations, Inc. | Remote sensor data acquisition |
US10727205B2 (en) | 2018-08-15 | 2020-07-28 | Taiwan Semiconductor Manufacturing Co., Ltd. | Hybrid bonding technology for stacking integrated circuits |
CN112016025B (zh) * | 2019-05-31 | 2022-02-18 | 北京易真学思教育科技有限公司 | 数据采集方法、装置及终端设备 |
CN116155290B (zh) * | 2023-04-18 | 2023-07-21 | 青岛本原微电子有限公司 | 一种模数转换单元的控制装置及控制方法 |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623604A (en) * | 1992-11-18 | 1997-04-22 | Canon Information Systems, Inc. | Method and apparatus for remotely altering programmable firmware stored in an interactive network board coupled to a network peripheral |
US5363334A (en) * | 1993-04-10 | 1994-11-08 | Microchip Technology Incorporated | Write protection security for memory device |
US5801996A (en) * | 1997-02-26 | 1998-09-01 | Micron Technology, Inc. | Data path for high speed high bandwidth DRAM |
JP2001051904A (ja) * | 1999-08-11 | 2001-02-23 | Hitachi Ltd | 不揮発性半導体メモリを用いた外部記憶装置 |
JP3871184B2 (ja) * | 2000-06-12 | 2007-01-24 | シャープ株式会社 | 半導体記憶装置 |
US20020112070A1 (en) | 2000-12-08 | 2002-08-15 | The Boeing Company | Network controller for digitally controlling remote devices via a common bus |
US6708239B1 (en) | 2000-12-08 | 2004-03-16 | The Boeing Company | Network device interface for digitally interfacing data channels to a controller via a network |
WO2002088966A1 (en) | 2001-04-26 | 2002-11-07 | The Boeing Company | Systems, methods, and bus controllers for creating an event trigger on a network bus |
US7581031B2 (en) | 2001-04-26 | 2009-08-25 | The Boeing Company | System and method for maintaining proper termination and error-free communication in a network bus |
US7111100B2 (en) | 2002-04-26 | 2006-09-19 | The Boeing Company | Systems and methods for assigning an address to a network device added to an existing network |
TWI240864B (en) * | 2001-06-13 | 2005-10-01 | Hitachi Ltd | Memory device |
JP4059002B2 (ja) * | 2001-06-13 | 2008-03-12 | 株式会社日立製作所 | メモリ装置 |
US6918027B2 (en) * | 2001-07-30 | 2005-07-12 | Hewlett-Packard Development Company, L.P. | System and method for in-system programming through an on-system JTAG bridge of programmable logic devices on multiple circuit boards of a system |
US7082485B2 (en) | 2002-07-24 | 2006-07-25 | The Boeing Company | Systems and methods for establishing peer-to-peer communications between network devices communicating via a common bus |
US6874069B2 (en) * | 2002-07-26 | 2005-03-29 | Silicon Storage Technology, Inc. | Microcontroller having an embedded non-volatile memory array with read protection for the array or portions thereof |
US6996708B1 (en) * | 2002-09-30 | 2006-02-07 | Ncr Corporation | Methods and apparatus for automatically selecting and loading initialization software for a hardware configuration |
US7174402B2 (en) | 2003-04-07 | 2007-02-06 | The Boeing Company | Systems, network devices and methods for highly configurable peer-to-peer communications between network devices communicating via a common bus |
US7475186B2 (en) * | 2003-10-31 | 2009-01-06 | Superspeed Software | System and method for persistent RAM disk |
US20050132128A1 (en) * | 2003-12-15 | 2005-06-16 | Jin-Yub Lee | Flash memory device and flash memory system including buffer memory |
US7173863B2 (en) * | 2004-03-08 | 2007-02-06 | Sandisk Corporation | Flash controller cache architecture |
US7894562B2 (en) | 2004-05-10 | 2011-02-22 | The Boeing Company | Data message sync pattern |
DK1797645T3 (en) | 2004-08-30 | 2018-11-19 | Google Llc | Systems and methods for providing non-volatile memory management in cordless phones |
US7702839B2 (en) | 2005-04-12 | 2010-04-20 | Nokia Corporation | Memory interface for volatile and non-volatile memory devices |
US7630431B2 (en) | 2005-05-27 | 2009-12-08 | The Boeing Company | Robust message decoder for serial bus applications |
DE102005048581B4 (de) | 2005-10-06 | 2022-06-09 | Robert Bosch Gmbh | Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle |
US8671133B2 (en) | 2005-11-29 | 2014-03-11 | The Boeing Company | System having an energy efficient network infrastructure for communication between distributed processing nodes |
CN100507886C (zh) * | 2005-12-22 | 2009-07-01 | 北京中星微电子有限公司 | 一种对非易失性存储器进行直接存储访问的方法及其装置 |
US8862813B2 (en) * | 2005-12-29 | 2014-10-14 | Datacore Software Corporation | Method, computer program product and appartus for accelerating responses to requests for transactions involving data operations |
US7441070B2 (en) * | 2006-07-06 | 2008-10-21 | Qimonda North America Corp. | Method for accessing a non-volatile memory via a volatile memory interface |
JP4372134B2 (ja) | 2006-09-29 | 2009-11-25 | 株式会社日立製作所 | データ比較機能を有するストレージシステム |
KR20090060774A (ko) * | 2007-12-10 | 2009-06-15 | 한국전자통신연구원 | 임베디드 시스템의 펌웨어 및 데이터 미러링 장치 및 방법 |
JP4987760B2 (ja) | 2008-03-05 | 2012-07-25 | 株式会社オートネットワーク技術研究所 | 中継装置、通信システム及び通信方法 |
US8244960B2 (en) * | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US8271737B2 (en) * | 2009-05-27 | 2012-09-18 | Spansion Llc | Cache auto-flush in a solid state memory device |
TWI417789B (zh) * | 2009-07-07 | 2013-12-01 | Via Tech Inc | 電腦系統及啟動方法 |
US8327206B2 (en) | 2009-12-19 | 2012-12-04 | Tektronix, Inc. | Blanking primitives masking circuit |
US8295287B2 (en) | 2010-01-27 | 2012-10-23 | National Instruments Corporation | Network traffic shaping for reducing bus jitter on a real time controller |
KR101840238B1 (ko) * | 2010-03-08 | 2018-03-20 | 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 | 데이터 저장 장치 및 방법 |
US10360143B2 (en) | 2010-07-01 | 2019-07-23 | Qualcomm Incorporated | Parallel use of integrated non-volatile memory and main volatile memory within a mobile device |
US20120221767A1 (en) * | 2011-02-28 | 2012-08-30 | Apple Inc. | Efficient buffering for a system having non-volatile memory |
-
2013
- 2013-03-15 US US13/835,191 patent/US10089224B2/en active Active
-
2014
- 2014-03-10 JP JP2014046264A patent/JP6435101B2/ja active Active
- 2014-03-11 EP EP14158734.5A patent/EP2779534B1/en active Active
- 2014-03-17 CN CN201410098790.1A patent/CN104050113B/zh active Active
- 2014-03-17 CN CN201910247434.4A patent/CN110113238B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014182815A (ja) | 2014-09-29 |
EP2779534A1 (en) | 2014-09-17 |
US10089224B2 (en) | 2018-10-02 |
EP2779534B1 (en) | 2016-08-24 |
CN104050113B (zh) | 2019-04-30 |
US20140281130A1 (en) | 2014-09-18 |
CN110113238A (zh) | 2019-08-09 |
CN104050113A (zh) | 2014-09-17 |
CN110113238B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6435101B2 (ja) | 揮発性シャドウメモリを介した不揮発性メモリへのアクセス | |
JP6452293B2 (ja) | 異なるタイミング要件をもつコマンドそれぞれによる異なるタイプのメモリへのアクセス | |
US7130933B2 (en) | Method, system, and program for handling input/output commands | |
JP2004312716A (ja) | 共通のバスを介して通信するネットワーク装置間におけるピア・トゥ・ピア通信のためのシステム、方法およびネットワーク装置 | |
JP2008529374A (ja) | 通信システム及び通信モジュールの通信リンクや通信システムのノードを経由してメッセージのデータを伝送する方法と、この方法を実現するための通信システム。 | |
KR20200102951A (ko) | 확장된 모드(xm) 버스 모드 변경, 구성 레지스터 액세스들 및 xm 버스 상의 디바이스들에 대한 브로드캐스트/멀티캐스트 트랜잭션들 | |
EP2787433B1 (en) | Executing a boot sequence including movement of data through a buffer memory | |
JP2009502072A (ja) | FlexRay通信モジュール及びFlexRay通信制御装置、並びにFlexRay通信接続とFlexRay加入者装置との間でメッセージを伝送する方法 | |
US6801963B2 (en) | Method, system, and program for configuring components on a bus for input/output operations | |
EP0969384B1 (en) | Method and apparatus for processing information, and providing medium | |
CN114385327A (zh) | 基于线程的处理器暂停 | |
US20160070669A1 (en) | Multi-port transmitter device for transmitting at least partly redundant data, an associated control system, an associated method and an associated computer program product | |
EP1546855A2 (en) | Method, system, and program for returning data to read requests received over a bus | |
EP1390856B2 (en) | System and method for preloading a bus controller with command schedule | |
EP3819778A1 (en) | Bus system and method for operating a bus system | |
US20140006646A1 (en) | Semiconductor Device Using Serial ATA Protocol and System Including the Same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180518 |
|
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: 20181016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181112 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6435101 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |