JP7204798B2 - 不揮発性メモリにデータを格納する装置および方法 - Google Patents
不揮発性メモリにデータを格納する装置および方法 Download PDFInfo
- Publication number
- JP7204798B2 JP7204798B2 JP2021036357A JP2021036357A JP7204798B2 JP 7204798 B2 JP7204798 B2 JP 7204798B2 JP 2021036357 A JP2021036357 A JP 2021036357A JP 2021036357 A JP2021036357 A JP 2021036357A JP 7204798 B2 JP7204798 B2 JP 7204798B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- codeword
- volatile memory
- memory
- processing unit
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Description
- 不揮発性メモリから第1のデータ列を読み込むこと、
- 第1のデータ列の中での移行を規定している第1の符号語および第2の符号語を検出すること、
- 検出された移行に基づき最初のスタート位置を設定すること、
- 最初のスタート位置から始まる第2のデータ列を読み込むこと、
- 第1の符号語または第2の符号語に基づいて、第2のデータ列を複数のデータブロックに分割すること、および
- 第2のデータ列において第1の符号語と第2の符号語との間の変化を検出すること。
したがって、データ処理ユニット12は、終端素子22を、第1の符号語と、少なくとも1つの第2の符号語との間で切り替えることができ、メモリが完全に書き込まれるたびに切り替えが行われる。
- すべてのメモリセルへの均一な書き込み、
- データ構造の固有の一貫性、
- 特別な予防措置なしに停電が発生した場合の、トランザクションの高い安全性。
- 書き込まれたデータのデータ損失がないこと、
- データを整理するためのわずかな追加作業によるストレージの最適な利用、
- RS232やイーサネットなどシリアル通信プロトコルでのシリアルデータ列の再利用性。
換言すれば、利用できる記録域が完全に書き込まれたときに、それは記録域の始めからスタートして、以前のデータを上書きする。
-不揮発性メモリから第1のデータ列を順次読み込むこと、
-第1のデータ列の移行領域を定めている第1の符号語および第2の符号語を検出すること、
-検出された移行領域に基づいてスタート位置を設定すること、
-前記スタート位置から始まる第2のデータ列を読み込むこと、
-第1の符号語または第2の符号語に基づいて、第2のデータ列を複数のデータブロックに分割すること、
-第2のデータ列における第1の符号語と第2の符号語との間の変化を検出すること。
Claims (11)
- 不揮発性メモリ(28)にデータを格納するための装置(10)であって、データ処理ユニット(12)とメモリユニット(14)とを備え、
前記データ処理ユニット(12)は、複数のデータブロック(20)を収集し、前記複数のデータブロック(20)の各データブロックを終端素子(22)によって終端し、前記終端された各データブロックをシリアルデータ列(24)に結合するように構成され、
前記メモリユニット(14)は、前記シリアルデータ列(24)を前記不揮発性メモリ(28)へ順次書き込むように構成され、
前記終端素子(22)は、第1の符号語(38)または前記第1の符号語(38)とは異なる少なくとも1つの第2の符号語(42)のいずれかであることができ、
前記データ処理ユニット(12)は、前記不揮発性メモリ(28)が前記メモリユニット(14)によって完全に書き込まれたときに、前記終端素子(22)としての前記第1の符号語(38)の使用と、前記第2の符号語(42)の使用とを切り替えるように構成されており、かつ、前記シリアルデータ列(24)を前記不揮発性メモリ(28)に、前記不揮発性メモリ(28)の先頭から書き込み続けるように構成されている、装置(10)。 - 前記メモリユニット(14)は、順次、前記不揮発性メモリ(28)に完全に書き込むように構成される、請求項1に記載の装置。
- 前記メモリユニット(14)は、前記不揮発性メモリ(28)を順次読み込み、前記終端素子(22)の前記第1の符号語(38)から前記少なくとも1つの第2の符号語(42)への変更またはその逆の変更が識別された場合、最初のスタート位置を決定し、前記最初のスタート位置でシリアルデータ列(24)を順次書き込み始めるように構成される、請求項1または請求項2に記載の装置。
- 前記メモリユニット(14)は、内蔵メモリに現在の書き込み位置(40)を格納するように構成される、請求項1~請求項3のいずれか1項に記載の装置。
- 前記メモリユニット(14)は、現在の書き込み位置(40)を揮発性メモリに保存し、前記現在の書き込み位置(40)の値が前記揮発性メモリから揮発性メモリから取得できる場合にのみ、前記現在の書き込み位置(40)にシリアルデータ列(24)を書き込むように構成される、請求項4に記載の装置。
- 前記データ処理ユニット(12)は、前記複数のデータブロック(20)において、前記第1の符号語(38)または前記少なくとも第2の符号語(42)に対応する文字をマスクするように構成される、請求項1~請求項5のいずれか1項に記載の装置。
- 前記データ処理ユニット(12)は、前記複数のデータブロック(20)の各データブロックごとにチェックサムを生成して、前記各データブロックにそれを付随させるように構成される、請求項1~請求項6のいずれか1項に記載の装置。
- 前記データ処理ユニット(12)は、前記複数のデータブロック(20)の各データブロックを暗号化するように構成される、請求項1~請求項7のいずれか1項に記載の装置。
- 前記複数のデータブロック(20)は可変長を有する、請求項1~請求項8のいずれか1項に記載の装置。
- データ処理ユニット(12)によって、不揮発性メモリ(28)にデータを格納する方法(100)であって、
-複数のデータブロック(20)を取得し(S101)、
-前記複数のデータブロック(20)の各データブロックを終端素子(22)で終端し(S102)、
-前記終端されたデータブロックをシリアルデータ列(24)に結合し(S103)、
-前記シリアルデータ列(24)を不揮発性メモリ(28)へ書き込む(S104)、各ステップを備え、
前記終端素子(22)は、第1の符号語(38)または前記第1の符号語(38)とは異なる第2の符号語(42)のいずれかであることができ、
前記データブロック(20)を終端する(S102)場合に、前記第1の符号語(38)または前記第2の符号語(42)の前記終端素子(22)としての使用が、前記不揮発性メモリ(28)が完全に書き込まれたときに交替し、前記シリアルデータ列(24)の前記不揮発性メモリ(28)への書き込みが、前記不揮発性メモリ(28)の先頭から継続される、方法。 - 不揮発性メモリ(28)からデータを読み出す方法(100)であって、データ処理ユニット(12)によって、
-前記不揮発性メモリ(28)から第1のデータ列を読み込み、
-第1のデータ列における第1の移行(48)を定める第1の符号語(38)および第2の符号語(42)を配置し、
-検出された前記第1の移行(48)に基づいて最初のスタート位置を設定し、
-前記最初のスタート位置から始まる第2のデータ列を読み込み、
-前記第1の符号語(38)または前記第2の符号語(42)に基づいて前記第2のデータ列を複数のデータブロック(20)に分割し、
-前記第2のデータ列において前記第1の符号語(38)から前記第2の符号語(42)への、またはこの逆の前記第2の符号語(42)から前記第1の符号語(38)への、第2の移行を検出する、各ステップを備え、
前記第2のデータ列の読み込みは回転方法(rolling manner)で実施され、前記不揮発性メモリ(28)の最後の位置に達したときに、前記不揮発性メモリ(28)の先頭から読み込みが続けられる、方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102020108101.4A DE102020108101A1 (de) | 2020-03-24 | 2020-03-24 | Vorrichtung zur Speicherung von Daten in einem nichtflüchtigen Speicher |
| DE102020108101.4 | 2020-03-24 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021157787A JP2021157787A (ja) | 2021-10-07 |
| JP7204798B2 true JP7204798B2 (ja) | 2023-01-16 |
Family
ID=75203075
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021036357A Active JP7204798B2 (ja) | 2020-03-24 | 2021-03-08 | 不揮発性メモリにデータを格納する装置および方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11449273B2 (ja) |
| EP (1) | EP3885957B1 (ja) |
| JP (1) | JP7204798B2 (ja) |
| CN (1) | CN113448888B (ja) |
| DE (1) | DE102020108101A1 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11563830B2 (en) * | 2018-12-19 | 2023-01-24 | Nokia Technologies Oy | Method and system for processing network packets |
| US20250103230A1 (en) * | 2023-09-21 | 2025-03-27 | Micron Technology, Inc. | Adjusting wordline distribution in a memory device based on modulation of host data |
| US20250103213A1 (en) * | 2023-09-21 | 2025-03-27 | Micron Technology, Inc. | Adaptable data modulation in memory systems |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001195283A (ja) | 2000-01-12 | 2001-07-19 | Toshiba Corp | データ処理装置とデータ処理方法 |
| JP2005196591A (ja) | 2004-01-08 | 2005-07-21 | Matsushita Electric Ind Co Ltd | メモリ管理方法、及びメモリ管理装置 |
| JP2018028888A (ja) | 2016-08-19 | 2018-02-22 | 晶心科技股▲ふん▼有限公司Andes Technology Corporation | 追跡情報符号化装置、その符号化方法、および読み取り可能なコンピュータ媒体 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4180854A (en) | 1977-09-29 | 1979-12-25 | Hewlett-Packard Company | Programmable calculator having string variable editing capability |
| EP0489204B1 (en) | 1990-12-04 | 1995-08-16 | Hewlett-Packard Limited | Reprogrammable data storage device |
| GB9314516D0 (en) * | 1993-07-13 | 1993-08-25 | Philips Electronics Uk Ltd | Digital communications system and a reiceiving apparatus for use in the system |
| JP2687886B2 (ja) * | 1994-07-19 | 1997-12-08 | 日本電気株式会社 | 冷陰極電流変調回路とこれを用いた表示装置 |
| US5864713A (en) * | 1996-02-12 | 1999-01-26 | Hewlett-Packard Company | Method for determining if data should be written at the beginning of a buffer depending on space available after unread data in the buffer |
| US6862635B1 (en) * | 1998-11-13 | 2005-03-01 | Cray Inc. | Synchronization techniques in a multithreaded environment |
| US6904492B2 (en) * | 2001-12-19 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Write-once memory device including non-volatile memory for temporary storage |
| US7486104B2 (en) * | 2006-06-02 | 2009-02-03 | Rambus Inc. | Integrated circuit with graduated on-die termination |
| US7921258B1 (en) * | 2006-12-14 | 2011-04-05 | Microsoft Corporation | Nonvolatile disk cache for data security |
| KR101336258B1 (ko) * | 2007-05-29 | 2013-12-03 | 삼성전자 주식회사 | 비휘발성 메모리의 데이터 처리 장치 및 방법 |
| US8429436B2 (en) * | 2009-09-09 | 2013-04-23 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction in a storage device |
| CN103262054B (zh) * | 2010-12-13 | 2015-11-25 | 桑迪士克科技股份有限公司 | 用于自动提交存储器的装置、系统和方法 |
| WO2015106162A1 (en) * | 2014-01-09 | 2015-07-16 | SanDisk Technologies, Inc. | Selective copyback for on die buffered non-volatile memory |
| US9647692B2 (en) * | 2014-01-24 | 2017-05-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Upstream forward error correction codeword filling |
| US9405618B2 (en) * | 2014-05-28 | 2016-08-02 | Infineon Technologies Ag | Marker programming in non-volatile memories |
| JP6531531B2 (ja) | 2014-07-18 | 2019-06-19 | 東レ株式会社 | 積層フィルム、および積層フィルムの製造方法 |
| IT201700115266A1 (it) * | 2017-10-12 | 2019-04-12 | St Microelectronics Rousset | Dispositivo elettronico comprendente un modulo digitale per accedere a dati cifrati in una memoria e corrispondente metodo per accedere a dati cifrati in una memoria |
-
2020
- 2020-03-24 DE DE102020108101.4A patent/DE102020108101A1/de active Pending
-
2021
- 2021-03-08 JP JP2021036357A patent/JP7204798B2/ja active Active
- 2021-03-23 US US17/209,844 patent/US11449273B2/en active Active
- 2021-03-23 EP EP21164407.5A patent/EP3885957B1/de active Active
- 2021-03-23 CN CN202110307503.3A patent/CN113448888B/zh active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001195283A (ja) | 2000-01-12 | 2001-07-19 | Toshiba Corp | データ処理装置とデータ処理方法 |
| JP2005196591A (ja) | 2004-01-08 | 2005-07-21 | Matsushita Electric Ind Co Ltd | メモリ管理方法、及びメモリ管理装置 |
| JP2018028888A (ja) | 2016-08-19 | 2018-02-22 | 晶心科技股▲ふん▼有限公司Andes Technology Corporation | 追跡情報符号化装置、その符号化方法、および読み取り可能なコンピュータ媒体 |
| US20180054374A1 (en) | 2016-08-19 | 2018-02-22 | Andes Technology Corporation | Trace information encoding apparatus, encoding method thereof, and readable computer medium |
Also Published As
| Publication number | Publication date |
|---|---|
| US11449273B2 (en) | 2022-09-20 |
| CN113448888A (zh) | 2021-09-28 |
| EP3885957C0 (de) | 2025-12-31 |
| EP3885957B1 (de) | 2025-12-31 |
| CN113448888B (zh) | 2023-12-22 |
| EP3885957A1 (de) | 2021-09-29 |
| JP2021157787A (ja) | 2021-10-07 |
| US20210349656A1 (en) | 2021-11-11 |
| DE102020108101A1 (de) | 2021-09-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11385840B2 (en) | Multi-tiered data storage with archival blockchains | |
| JP7204798B2 (ja) | 不揮発性メモリにデータを格納する装置および方法 | |
| US9075710B2 (en) | Non-volatile key-value store | |
| US9645758B2 (en) | Apparatus, system, and method for indexing data of an append-only, log-based structure | |
| US8136015B2 (en) | Data storage apparatus and data storage method | |
| US10620861B2 (en) | Retrieve data block from determined devices | |
| US10048864B2 (en) | Dynamically configuring erasure code redundancy and distribution | |
| US6256762B1 (en) | Semiconductor disk device | |
| CN108205499B (zh) | 用于将数据处理转移到混合存储设备的方法和装置 | |
| US20180314627A1 (en) | Systems and Methods for Referencing Data on a Storage Medium | |
| US10108359B2 (en) | Method and system for efficient cache buffering in a system having parity arms to enable hardware acceleration | |
| US8639673B2 (en) | Multiplex classification for tabular data compression | |
| US11347653B2 (en) | Persistent storage device management | |
| WO2016144362A1 (en) | Memory device write based on mapping | |
| CN104123102B (zh) | 一种ip硬盘及其数据处理方法 | |
| CN113360095B (zh) | 硬盘数据管理方法、装置、设备及介质 | |
| WO2020028801A1 (en) | Error correction with scatter-gather list data management | |
| US6819627B2 (en) | Method for storing data, method for reading data, apparatus for storing data and apparatus for reading data | |
| US8819355B2 (en) | Information processing apparatus, information processing method, and program | |
| CN110955383B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
| KR20230094308A (ko) | 저장 장치, 그것을 포함하는 호스트 시스템, 및 그것의 동작 방법 | |
| US11928084B2 (en) | Metadata store in multiple reusable append logs | |
| CN111737199B (zh) | 一种嵌入式抗掉电文件系统的操作方法 | |
| CN117272283A (zh) | 程序运行的方法、装置、设备、存储介质和产品 | |
| HK40034078B (en) | Method, device and equipment for generating hash of global state in block chain type account book |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210524 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220428 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220512 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220809 |
|
| 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: 20221215 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221228 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7204798 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |