JP2021506014A - 単一メモリデバイスによりファームウェアを更新するためのメモリデバイス、システム、及び方法 - Google Patents
単一メモリデバイスによりファームウェアを更新するためのメモリデバイス、システム、及び方法 Download PDFInfo
- Publication number
- JP2021506014A JP2021506014A JP2020531080A JP2020531080A JP2021506014A JP 2021506014 A JP2021506014 A JP 2021506014A JP 2020531080 A JP2020531080 A JP 2020531080A JP 2020531080 A JP2020531080 A JP 2020531080A JP 2021506014 A JP2021506014 A JP 2021506014A
- Authority
- JP
- Japan
- Prior art keywords
- memory device
- firmware image
- data
- firmware
- mapping
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000015654 memory Effects 0.000 claims abstract description 95
- 238000013507 mapping Methods 0.000 claims abstract description 63
- 238000003860 storage Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims description 16
- 230000009471 action Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 18
- 230000006399 behavior Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002262 irrigation Effects 0.000 description 1
- 238000003973 irrigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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
- 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/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1056—Simplification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Memory System (AREA)
Abstract
Description
本発明は一般に不揮発性メモリ内のデータを時々更新(アップデート)するシステムに関するものであり、より具体的には、ファームウェア無線通信(FOTA:firmware-over-the-air)法を利用するシステムのようなシステム用途向けのファームウェア・イメージを更新するシステムに関するものである。
ファームウェア無線通信(FOTA)(無線通信によるファームウェア更新)及び他のファームウェア更新方法は、コンピュータシステムにとって主要な要件であり得る。FOTA更新は一般にトランスペアレントである必要があり、即ち、旧FW(firmware:ファームウェア)イメージと新FWイメージとを瞬時に切り換える。従来は、ファームウェアを更新する必要があるシステムは2つ以上の別個のフラッシュメモリデバイスを使用し、これらのフラッシュメモリデバイスは(例えば、ベースレジスタの使用により)プロセッサのアドレス空間の異なる範囲内へマッピング(対応付け)される。異なるアドレス範囲の各々のベースアドレスは、所望のフラッシュメモリデバイスを選択する単一のチップ選択(チップセレクト)を制御する。従って、上記瞬時の切り換えは、ベースアドレス・レジスタに記憶されているベースアドレスをスワップ(交換)することによって発生する。
システムのファームウェアを更新するためのメモリデバイス、システム、及び方法を示す種々の実施形態を以下に説明する。更新は、単一のメモリデバイスで、メモリデバイスの記憶位置間でファームウェア・イメージをコピーすることなしに実行することができる。
Claims (21)
- 物理アドレスによりアクセス可能な複数の記憶位置を有するメモリセルアレイと、
リマップ・データ構造と、
前記メモリセルアレイ及び前記リマップ・データ構造に結合された制御論理回路とを具えたメモリデバイスであって、
前記記憶位置のそれぞれは別個の領域内に配置され、
前記リマップ・データ構造は、
前記領域の論理アドレスと物理アドレスとの間のマッピングの集合を記憶するように構成されたマッピング履歴部分と、
前記マッピングの集合のうちの1つを前記メモリデバイスにおける有効な集合として識別するように構成された状態部分とを含み、
前記制御論理回路は、前記記憶位置及び前記リマップ・データ構造へのアクセスを可能にするように構成されている
メモリデバイス。 - 前記有効な集合の論理アドレス−物理アドレスのマッピングを記憶するように構成された揮発性メモリ回路をさらに具え、
前記制御論理回路が、受信した論理アドレスに応答して前記揮発性メモリ回路にアクセスするように構成されている、請求項1に記載のメモリデバイス。 - 前記制御論理回路が命令デコーダをさらに含み、該命令デコーダは、受信した命令に応答して前記リマップ・データ構造へのアクセスを可能にするように構成されている、請求項1に記載のメモリデバイス。
- 前記制御論理回路が少なくとも1つのコンフィギュレーション・レジスタをさらに含み、該コンフィギュレーション・レジスタは、前記メモリデバイスへのレジスタ書込み動作によりアクセス可能であり、前記少なくとも1つのコンフィギュレーション・レジスタは、前記マッピング履歴部分用のデータ、及び前記状態部分用のデータから成るグループから選択したいずれかを記憶するように構成されている、請求項1に記載のメモリデバイス。
- 前記制御論理回路がパワーオン・リセット回路をさらに含み、該パワーオン・リセット回路は、前記メモリデバイスにおける電源オンまたはリセットの事象に応答して、前記有効な集合の論理アドレスを、前記メモリデバイスに記憶されているファームウェア用の最新のアドレスとして設定するように構成されている、請求項1に記載のメモリデバイス。
- 入力/出力(I/O)部分をさらに含み、該I/O部分は、少なくとも1つのチップ選択入力端子、少なくとも1つのクロック入力端子、及び少なくとも1つの双方向シリアルデータ入力/出力端子を含む、請求項1に記載のメモリデバイス。
- 前記メモリセルアレイが、複数のプールの形に配列された複数のフラッシュメモリセルを具え、前記別個の領域が第1の前記プール内に配置され、
前記制御論理回路が、残りの前記プールへのアクセスを、ウェア・レベリング・アルゴリズムに従って変化させるように構成されている、請求項1に記載のメモリデバイス。 - 前記メモリセルアレイが、複数のプールの形に配列された複数のフラッシュメモリセルを具え、前記別個の領域が第1の前記プール内に配置され、
前記制御論理回路が、前記別個の領域へのアクセスを、ウェア・レベリング・アルゴリズムに従って変化させるように構成されている、請求項1に記載のメモリデバイス。 - 新ファームウェア・イメージをメモリデバイスにおいて受信するステップと、
前記新ファームウェア・イメージを前記メモリデバイスの不揮発性の記憶位置にプログラムするステップであって、前記新ファームウェア・イメージ用の前記記憶位置が、同じ前記メモリデバイス内の、現在のファームウェア・イメージが記憶されている記憶位置とは異なるステップと、
前記新ファームウェア・イメージ用の論理アドレス(LA)−物理アドレス(PA)のマッピングの集合を、前記メモリデバイスの不揮発性のマッピング回路内にプログラムするステップであって、前記マッピング回路が、前記現在のファームウェア・イメージ用のLA−PAのマッピングの集合も含むステップと、
前記メモリデバイスの不揮発性の状態回路内に状態値をプログラムして、前記新ファームウェア・イメージ用のLA−PAのマッピングの集合を、前記メモリデバイスに記憶されている有効なファームウェア・イメージとして示し、前記現在のファームウェア・イメージ用のLA−PAのマッピングの集合を、無効なファームウェア・イメージとして示すステップと
を含む方法。 - 前記新ファームウェア・イメージを前記メモリデバイスの前記不揮発性の記憶位置にプログラムするステップが、フラッシュメモリデバイスのセクターをプログラムすることを含む、請求項9に記載の方法。
- 前記状態値をプログラムするステップが、前記メモリデバイスに記憶されている前記LA−PAのマッピングの集合毎に1ビットを有するマルチビット・ポインタ・データ構造内の少なくとも1ビットをプログラムすることを含む、請求項9に記載の方法。
- 前記新ファームウェア用のLA−PAのマッピングの集合をプログラムするステップが、所定の命令及びデータを前記メモリデバイスにおいて受信すること、及び前記メモリデバイスの少なくとも1つの所定のレジスタにデータを書き込むことから成るグループから選択した動作を含む、請求項9に記載の方法。
- 前記新ファームウェア・イメージにおける前記状態値をプログラムするステップが、所定の命令及びデータを前記メモリデバイスにおいて受信すること、及び前記メモリデバイスの少なくとも1つの所定のレジスタにデータを書き込むことから成るグループから選択した動作を含む、請求項9に記載の方法。
- 所定の条件に応答して、前記新ファームウェア・イメージの前記LA−PAのマッピングの集合のうちの1つのLA−PAのマッピングを揮発性メモリ内に生成するステップと、
前記揮発性メモリにアクセスして、前記新ファームウェア・イメージからデータを読み出すステップと
をさらに含む、請求項9に記載の方法。 - 前記所定の条件が、前記メモリデバイスにおけるパワーオン・リセット動作、所定の命令を前記メモリデバイスにおいて受信したこと、及び前記メモリデバイスの少なくとも1つの所定のレジスタにデータを書き込むことから成るグループから選択したいずれかを含む、請求項14に記載の方法。
- 不揮発性メモリデバイスと、
プロセッサ回路とを具えたシステムであって、
前記不揮発性メモリデバイスは、
異なる物理アドレスを有する領域を有するメモリセルアレイであって、前記システム用の異なるファームウェア・イメージを記憶するメモリセルアレイと、
受信したファームウェア・イメージ用の論理アドレス(LA)−物理アドレス(PA)のマッピングを不揮発性の記憶回路内に記憶するように構成されたマッピング履歴部分と、
前記システムによってアクセスされる現在のファームウェア・イメージを識別するデータを不揮発性の記憶回路内に記憶するように構成されたファームウェア状態部分とを含み、
前記プロセッサ回路は、記憶されているプロセッサ命令を実行して、
新ファームウェア・イメージをシステムメモリに記憶し、
前記不揮発性メモリデバイスに記憶されている前記現在のファームウェア・イメージを乱すことなしに、前記システムメモリからの前記新ファームウェア・イメージを、前記不揮発性メモリデバイス内の前記領域のうちの1つにプログラムし、
前記新ファームウェア・イメージ用のLA−PAのマッピングを、前記不揮発性メモリデバイスの前記マッピング履歴部分内にプログラムし、
前記新ファームウェア・イメージ用のLA−PAのマッピングが前記システムによって読み込まれて、前記不揮発性メモリデバイスに記憶されている以前のバージョンのファームウェア・イメージのいずれとも異なるファームウェア・データがアクセスされることを示すように、前記ファームウェア状態部分をプログラムする
ように構成されているシステム。 - 前記新ファームウェア・イメージを無線ネットワーク上で受信するように構成された無線トランシーバをさらに含む、請求項16に記載のシステム。
- 前記新ファームウェア・イメージ用のLA−PAのマッピングをプログラムすることが、前記プロセッサ回路が所定の命令及びデータを前記不揮発性メモリデバイスに対して発行すること、及び前記プロセッサ回路が前記不揮発性メモリデバイスの少なくとも1つの所定のレジスタにデータを書き込むことから成るグループから選択したいずれかを含む、請求項16に記載のシステム。
- 前記ファームウェア状態部分をプログラムすることが、前記プロセッサ回路が所定の命令を前記不揮発性メモリデバイスに対して発行すること、及び前記プロセッサ回路が前記不揮発性メモリデバイスの少なくとも1つの所定のレジスタにデータを書き込むことから成るグループから選択したいずれかを含む、請求項16に記載のシステム。
- 前記プロセッサ回路が、前記新ファームウェア・イメージを受信する前に、前記不揮発性メモリデバイスに記憶されている以前のファームウェア・イメージにチップ選択信号によりアクセスするように構成され、
前記プロセッサ回路が、前記新ファームウェア・イメージを受信した後に、同じ前記チップ選択信号により前記新ファームウェア・イメージにアクセスするように構成されている、
請求項16に記載のシステム。 - 前記不揮発性メモリデバイスが少なくとも1つのプールを含み、該プールの各々が、
複数のレジスタと、
前記プール用のマッピング履歴部分と、
前記プール用のファームウェア状態部分と
を含む、請求項16に記載のシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762597709P | 2017-12-12 | 2017-12-12 | |
US62/597,709 | 2017-12-12 | ||
US16/005,262 US10552145B2 (en) | 2017-12-12 | 2018-06-11 | Memory devices, systems, and methods for updating firmware with single memory device |
US16/005,262 | 2018-06-11 | ||
PCT/US2018/061742 WO2019118130A1 (en) | 2017-12-12 | 2018-11-19 | Memory devices, systems, and methods for updating firmware with single memory device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020210313A Division JP6999017B2 (ja) | 2017-12-12 | 2020-12-18 | 単一メモリデバイスによりファームウェアを更新するためのメモリデバイス、システム、及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6814327B1 JP6814327B1 (ja) | 2021-01-13 |
JP2021506014A true JP2021506014A (ja) | 2021-02-18 |
Family
ID=66696768
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020531080A Active JP6814327B1 (ja) | 2017-12-12 | 2018-11-19 | 単一メモリデバイスによりファームウェアを更新するためのメモリデバイス、システム、及び方法 |
JP2020210313A Active JP6999017B2 (ja) | 2017-12-12 | 2020-12-18 | 単一メモリデバイスによりファームウェアを更新するためのメモリデバイス、システム、及び方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020210313A Active JP6999017B2 (ja) | 2017-12-12 | 2020-12-18 | 単一メモリデバイスによりファームウェアを更新するためのメモリデバイス、システム、及び方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10552145B2 (ja) |
JP (2) | JP6814327B1 (ja) |
CN (1) | CN111433750B (ja) |
DE (1) | DE112018006329T8 (ja) |
WO (1) | WO2019118130A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11231448B2 (en) | 2017-07-20 | 2022-01-25 | Targus International Llc | Systems, methods and devices for remote power management and discovery |
US11537389B2 (en) | 2017-12-12 | 2022-12-27 | Infineon Technologies LLC | Memory devices, systems, and methods for updating firmware with single memory device |
US10552145B2 (en) | 2017-12-12 | 2020-02-04 | Cypress Semiconductor Corporation | Memory devices, systems, and methods for updating firmware with single memory device |
WO2021035156A1 (en) | 2019-08-22 | 2021-02-25 | Targus International Llc | Systems and methods for participant-controlled video conferencing |
TWI726524B (zh) * | 2019-12-09 | 2021-05-01 | 新唐科技股份有限公司 | 電子處理裝置及記憶體控制方法 |
US11435929B2 (en) | 2020-08-27 | 2022-09-06 | Dell Products L.P. | System and method for content addressable storage system update appliance |
CN112764685B (zh) * | 2021-01-26 | 2022-07-15 | 华中科技大学 | 一种消除固态盘中预写式日志重复数据写的方法及设备 |
WO2022204911A1 (en) * | 2021-03-30 | 2022-10-06 | Yangtze Memory Technologies Co., Ltd. | Memory device with embedded firmware repairing mechanism |
DE102021002079B3 (de) * | 2021-04-20 | 2022-05-12 | Daimler Ag | Verfahren zum effizienten Ablegen von Daten |
CN113407934B (zh) * | 2021-08-20 | 2021-12-24 | 博流智能科技(南京)有限公司 | 安全的多固件融合系统及多固件融合控制方法 |
CN116302005B (zh) * | 2023-05-11 | 2023-08-22 | 合肥智芯半导体有限公司 | 芯片、芯片升级方法、装置、电子设备及可读存储介质 |
CN116560700B (zh) * | 2023-07-11 | 2023-09-22 | 沐曦集成电路(上海)有限公司 | 芯片固件升级系统 |
CN117785755B (zh) * | 2024-02-23 | 2024-05-28 | 北京超弦存储器研究院 | Cxl内存模组及资源配置方法、控制芯片、介质和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009265877A (ja) * | 2008-04-24 | 2009-11-12 | Kyocera Mita Corp | 電子機器 |
JP2013161117A (ja) * | 2012-02-01 | 2013-08-19 | Canon Inc | 画像形成装置、画像形成装置の制御方法、及びプログラム |
US20150248244A1 (en) * | 2014-03-03 | 2015-09-03 | Dong-young Seo | Method of operating a flash memory system using a migration operation |
US20170168725A1 (en) * | 2015-12-10 | 2017-06-15 | Kabushiki Kaisha Toshiba | Memory system that updates firmware in response to predetermined events |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5596738A (en) * | 1992-01-31 | 1997-01-21 | Teac Corporation | Peripheral device control system using changeable firmware in a single flash memory |
US5426769A (en) | 1993-08-26 | 1995-06-20 | Metalink Corp. | System and method for producing input/output expansion for single chip microcomputers |
US5477176A (en) | 1994-06-02 | 1995-12-19 | Motorola Inc. | Power-on reset circuit for preventing multiple word line selections during power-up of an integrated circuit memory |
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
US8296467B2 (en) * | 2000-01-06 | 2012-10-23 | Super Talent Electronics Inc. | Single-chip flash device with boot code transfer capability |
US7035967B2 (en) * | 2002-10-28 | 2006-04-25 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
US6973531B1 (en) * | 2002-10-28 | 2005-12-06 | Sandisk Corporation | Tracking the most frequently erased blocks in non-volatile memory systems |
US6985992B1 (en) * | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
US6831865B2 (en) * | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
US7594135B2 (en) * | 2003-12-31 | 2009-09-22 | Sandisk Corporation | Flash memory system startup operation |
US20080147964A1 (en) * | 2004-02-26 | 2008-06-19 | Chow David Q | Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function |
US7904895B1 (en) | 2004-04-21 | 2011-03-08 | Hewlett-Packard Develpment Company, L.P. | Firmware update in electronic devices employing update agent in a flash memory card |
US7698698B2 (en) * | 2004-09-30 | 2010-04-13 | Smith Micro Software, Inc. | Method for over-the-air firmware update of NAND flash memory based mobile devices |
US20070061597A1 (en) * | 2005-09-14 | 2007-03-15 | Micky Holtzman | Secure yet flexible system architecture for secure devices with flash mass storage memory |
US7702821B2 (en) * | 2005-09-15 | 2010-04-20 | Eye-Fi, Inc. | Content-aware digital media storage device and methods of using the same |
US20100217789A1 (en) * | 2006-01-20 | 2010-08-26 | Niigata University | Physical random number generation method and physical random number generator |
US20070255889A1 (en) * | 2006-03-22 | 2007-11-01 | Yoav Yogev | Non-volatile memory device and method of operating the device |
KR100782080B1 (ko) * | 2006-09-07 | 2007-12-04 | 삼성전자주식회사 | 이동 통신 단말기 및 시스템의 펌웨어 갱신 방법 |
CN100504814C (zh) * | 2007-01-17 | 2009-06-24 | 忆正存储技术(深圳)有限公司 | 闪存的区块管理方法 |
US8320302B2 (en) | 2007-04-20 | 2012-11-27 | Elster Electricity, Llc | Over the air microcontroller flash memory updates |
US8560823B1 (en) * | 2007-04-24 | 2013-10-15 | Marvell International Ltd. | Trusted modular firmware update using digital certificate |
US8539471B2 (en) * | 2007-12-13 | 2013-09-17 | Telefonaktiebolaget L M Ericsson (Publ) | Updating firmware of an electronic device |
US20090320012A1 (en) | 2008-06-04 | 2009-12-24 | Mediatek Inc. | Secure booting for updating firmware over the air |
US9223642B2 (en) * | 2013-03-15 | 2015-12-29 | Super Talent Technology, Corp. | Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance |
US8959280B2 (en) * | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
US9547589B2 (en) * | 2008-06-18 | 2017-01-17 | Super Talent Technology, Corp. | Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive |
ATE540371T1 (de) * | 2008-06-23 | 2012-01-15 | St Ericsson Sa | Elektronische vorrichtung und verfahren zur software- oder firmwareaktualisierung einer elektronischen vorrichtung |
GB2465193A (en) * | 2008-11-10 | 2010-05-12 | Symbian Software Ltd | Detecting updated files in a firmware over the air update using CRC values |
US8412909B2 (en) * | 2009-04-08 | 2013-04-02 | Samsung Electronics Co., Ltd. | Defining and changing spare space and user space in a storage apparatus |
US8219776B2 (en) * | 2009-09-23 | 2012-07-10 | Lsi Corporation | Logical-to-physical address translation for solid state disks |
US8869138B2 (en) | 2011-11-11 | 2014-10-21 | Wyse Technology L.L.C. | Robust firmware update with recovery logic |
US9189385B2 (en) * | 2010-03-22 | 2015-11-17 | Seagate Technology Llc | Scalable data structures for control and management of non-volatile storage |
US8344767B2 (en) | 2010-10-14 | 2013-01-01 | Fairchild Semiconductor Corporation | Low power power-on-reset (POR) circuit |
WO2012082792A2 (en) * | 2010-12-13 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for auto-commit memory |
WO2012109679A2 (en) * | 2011-02-11 | 2012-08-16 | Fusion-Io, Inc. | Apparatus, system, and method for application direct virtual memory management |
JP5002719B1 (ja) * | 2011-03-10 | 2012-08-15 | 株式会社東芝 | 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法 |
KR101720101B1 (ko) * | 2011-03-18 | 2017-03-28 | 삼성전자주식회사 | 메모리 시스템에 데이터를 쓰는 쓰기 방법 및 메모리 시스템의 데이터 쓰기 방법 |
US20120260138A1 (en) * | 2011-04-05 | 2012-10-11 | Downing Iii Robert L | Error logging in a storage device |
US9183393B2 (en) | 2012-01-12 | 2015-11-10 | Facebook, Inc. | Multiple system images for over-the-air updates |
CN102855151B (zh) | 2012-08-21 | 2016-06-08 | 武汉电信器件有限公司 | 不打断业务的光模块固件在应用升级方法 |
US8954694B2 (en) * | 2012-11-15 | 2015-02-10 | Western Digital Technologies, Inc. | Methods, data storage devices and systems for fragmented firmware table rebuild in a solid state drive |
US9454474B2 (en) * | 2013-03-05 | 2016-09-27 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
KR20150099269A (ko) * | 2014-02-21 | 2015-08-31 | 삼성전자주식회사 | 펌웨어를 갱신하기 위한 전자 장치 및 방법 |
US9244767B1 (en) * | 2014-07-07 | 2016-01-26 | Sandisk Technologies Inc. | Data storage device with in-memory parity circuitry |
KR102261815B1 (ko) * | 2014-10-30 | 2021-06-07 | 삼성전자주식회사 | 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
US10073627B2 (en) * | 2015-01-13 | 2018-09-11 | Sandisk Technologies Llc | Addressing, interleave, wear leveling, and initialization schemes for different chip enables and memory arrays of different types |
US9459857B2 (en) * | 2015-01-21 | 2016-10-04 | HGST Netherlands B.V. | Managing wear of system areas of storage devices |
KR20160118602A (ko) * | 2015-04-02 | 2016-10-12 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 장치들 |
EP3133604B1 (en) * | 2015-08-17 | 2020-11-11 | Harman Becker Automotive Systems GmbH | Method and device for fail-safe erase of flash memory |
TWI551991B (zh) * | 2015-11-20 | 2016-10-01 | 群聯電子股份有限公司 | 記憶體管理方法與系統及其記憶體儲存裝置 |
US10958435B2 (en) * | 2015-12-21 | 2021-03-23 | Electro Industries/ Gauge Tech | Providing security in an intelligent electronic device |
KR102456490B1 (ko) * | 2016-01-12 | 2022-10-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
US10430263B2 (en) * | 2016-02-01 | 2019-10-01 | Electro Industries/Gauge Tech | Devices, systems and methods for validating and upgrading firmware in intelligent electronic devices |
US10025583B2 (en) * | 2016-02-17 | 2018-07-17 | International Business Machines Corporation | Managing firmware upgrade failures |
US10129083B2 (en) | 2016-02-24 | 2018-11-13 | Wipro Limited | Methods for optimizing an over-the-air update using a lightweight device update protocol (LWDUP) |
US20170249155A1 (en) * | 2016-02-26 | 2017-08-31 | Sandisk Technologies Inc. | Memory System and Method for Fast Firmware Download |
US10282251B2 (en) * | 2016-09-07 | 2019-05-07 | Sandisk Technologies Llc | System and method for protecting firmware integrity in a multi-processor non-volatile memory system |
KR20180049338A (ko) * | 2016-10-31 | 2018-05-11 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
US10339318B2 (en) * | 2016-11-07 | 2019-07-02 | SK Hynix Inc. | Semiconductor memory system and operating method thereof |
US10325108B2 (en) * | 2016-12-30 | 2019-06-18 | Intel Corporation | Method and apparatus for range based checkpoints in a storage device |
US11163624B2 (en) * | 2017-01-27 | 2021-11-02 | Pure Storage, Inc. | Dynamically adjusting an amount of log data generated for a storage system |
US10642488B2 (en) * | 2017-10-23 | 2020-05-05 | Micron Technology, Inc. | Namespace size adjustment in non-volatile memory devices |
US11580034B2 (en) * | 2017-11-16 | 2023-02-14 | Micron Technology, Inc. | Namespace encryption in non-volatile memory devices |
US10678703B2 (en) * | 2017-11-16 | 2020-06-09 | Micron Technology, Inc. | Namespace mapping structual adjustment in non-volatile memory devices |
US10915440B2 (en) * | 2017-11-16 | 2021-02-09 | Micron Technology, Inc. | Namespace mapping optimization in non-volatile memory devices |
US10552145B2 (en) | 2017-12-12 | 2020-02-04 | Cypress Semiconductor Corporation | Memory devices, systems, and methods for updating firmware with single memory device |
-
2018
- 2018-06-11 US US16/005,262 patent/US10552145B2/en active Active
- 2018-11-19 JP JP2020531080A patent/JP6814327B1/ja active Active
- 2018-11-19 CN CN201880078557.3A patent/CN111433750B/zh active Active
- 2018-11-19 DE DE112018006329.1T patent/DE112018006329T8/de active Active
- 2018-11-19 WO PCT/US2018/061742 patent/WO2019118130A1/en active Application Filing
-
2020
- 2020-01-06 US US16/735,177 patent/US11061663B2/en active Active
- 2020-12-18 JP JP2020210313A patent/JP6999017B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009265877A (ja) * | 2008-04-24 | 2009-11-12 | Kyocera Mita Corp | 電子機器 |
JP2013161117A (ja) * | 2012-02-01 | 2013-08-19 | Canon Inc | 画像形成装置、画像形成装置の制御方法、及びプログラム |
US20150248244A1 (en) * | 2014-03-03 | 2015-09-03 | Dong-young Seo | Method of operating a flash memory system using a migration operation |
US20170168725A1 (en) * | 2015-12-10 | 2017-06-15 | Kabushiki Kaisha Toshiba | Memory system that updates firmware in response to predetermined events |
Also Published As
Publication number | Publication date |
---|---|
US11061663B2 (en) | 2021-07-13 |
JP6999017B2 (ja) | 2022-01-18 |
WO2019118130A1 (en) | 2019-06-20 |
CN111433750B (zh) | 2023-12-29 |
CN111433750A (zh) | 2020-07-17 |
US20200301698A1 (en) | 2020-09-24 |
JP6814327B1 (ja) | 2021-01-13 |
US20190179625A1 (en) | 2019-06-13 |
US10552145B2 (en) | 2020-02-04 |
JP2021061023A (ja) | 2021-04-15 |
DE112018006329T8 (de) | 2020-10-29 |
DE112018006329T5 (de) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6814327B1 (ja) | 単一メモリデバイスによりファームウェアを更新するためのメモリデバイス、システム、及び方法 | |
US7506099B2 (en) | Semiconductor storage apparatus | |
US8041878B2 (en) | Flash file system | |
US7953953B2 (en) | Method and apparatus for reducing page replacement time in system using demand paging technique | |
US8301829B2 (en) | Flash memory device and flash memory system including buffer memory | |
CN111459844B (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
JP2006031696A (ja) | バッドブロック管理部を含むフラッシュメモリシステム | |
WO2007058624A1 (en) | A controller for non-volatile memories, and methods of operating the memory controller | |
JP2006294061A (ja) | メモリ管理 | |
KR20090081657A (ko) | 페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법 | |
KR20080007470A (ko) | Mram을 이용하는 비휘발성 메모리 시스템 | |
US20140281150A1 (en) | Difference l2p method | |
KR101041837B1 (ko) | 파일저장 제어장치 및 방법 | |
JP2019531546A (ja) | 高度dramメモリコントローラの内部キャッシュをバイパスするための方法および装置 | |
US20210026620A1 (en) | Memory devices, systems, and methods for updating firmware with single memory device | |
CN107045423B (zh) | 存储器装置及其数据存取方法 | |
US11126573B1 (en) | Systems and methods for managing variable size load units | |
JP2009526294A (ja) | メモリ素子を有する電子デバイス及びその動作方法 | |
US20130132659A1 (en) | Microcontroller and method of controlling microcontroller | |
US7899974B2 (en) | Nonvolatile memory, mapping control apparatus and method of the same | |
US10559359B2 (en) | Method for rewriting data in nonvolatile memory and semiconductor device | |
JP2004234473A (ja) | 不揮発性記憶装置 | |
JP2007213179A (ja) | 不揮発性半導体記憶装置 | |
JP2003216343A (ja) | マイクロコンピュータシステムおよびそのデータアクセス方法 | |
JP2012190055A (ja) | メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200729 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200729 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200729 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20201012 |
|
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: 20201020 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20201117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6814327 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |