JP2010044504A - フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法 - Google Patents
フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法 Download PDFInfo
- Publication number
- JP2010044504A JP2010044504A JP2008207122A JP2008207122A JP2010044504A JP 2010044504 A JP2010044504 A JP 2010044504A JP 2008207122 A JP2008207122 A JP 2008207122A JP 2008207122 A JP2008207122 A JP 2008207122A JP 2010044504 A JP2010044504 A JP 2010044504A
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- flash memory
- writing
- current page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
【解決手段】フラッシュメモリを用いた装置1において、フラッシュメモリ11は記憶領域として少なくとも3つのページ2a,2b,2c…を備え、各ページ2a,2b,2c…の記憶領域が、書き込まれる正データの2倍以上の容量を有し、現在のページ2aの記憶領域のみにデータDpが書き込まれている状態で、新しいデータを書き込むとき、次のページ2bの記憶領域に新しいデータDfを書き込んだ後、現在のページ2aのデータDpを消去するものである。
【選択図】図1
Description
(ステップS42)「Start」
スタートする。
(ステップS43)「書き込み要求あり?」
フラッシュメモリへの新しいデータの書き込み要求があるかどうかを判断する。
(ステップS44)「ページを消去」
書き込み要求がある場合(Yes)、フラッシュメモリのページに保存されているデータを消去する。
(ステップS45)「ページへ新しいデータを書き込み」
そのページに新しいデータを書き込む。
(ステップS46)「End」
終了する。
(ステップS46)「End」
ステップS43において書き込み要求がない場合(No)には、終了する。
(ステップS20a)「Start」
図2(a)に示すように、フラッシュメモリを用いた装置1は、現在のページ(ページ2b)にデータDpが保存されている定常状態(図1(a))からスタートする。
(ステップS21a)「書き込み要求あり?」
フラッシュメモリ11に新しいデータDfの書き込み要求があるかどうかを判断する。
(ステップS22a)「次のページを計算」
書き込み要求がある場合(Yes)、次のページを計算する。図1(a)において、現在のページはページ2bであるため、アクセス順序により、ページ2cが次のページとなる。
(ステップS23a)「次のページに新しい正データと反転データを書き込む」
次のページ(ページ2c)に新しいデータDfの正データDf+と反転データDf−を書き込む(図1(b))。本実施形態では、正データDf+、反転データDf−の順に書き込む(書き込む順を逆にしても以降の動作は同様)。
(ステップS24a)「現在のページを消去」
現在のページ(ページ2b)のデータDpを消去する。本実施形態では、正データDp+、反転データDp−の順に消去する(消去順を逆にしても以降の動作は同様)。
(ステップS25a)「次のページを現在のページとする」
そして、次のページ(ページ2c)を現在のページとする。
(ステップS26a)「End」
終了する。
(ステップS26a)「End」
ステップS21aで書き込み要求がない場合(No)には、終了する。
(ステップS20b)「Start」
電源を投入してスタートする。
(ステップS21b)「現在のページを初期化する」
現在のページを初期化する。図1の実施形態では、電源を投入したとき、フラッシュメモリ11のアドレス最上位であるページ2aにアクセスし、ページ2aを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページの正データと反転データが整合しているかを検査する。
(ステップS23b)「整合している?」
現在のページの正データと反転データが整合しているか否かを判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
整合していない場合(No)には、次のページを計算し、それを現在のページとし、ステップS22bに戻る。
(ステップS25b)「次のページを計算し、次のページも正データと反転データが整合しているか検査する」
現在のページのデータが整合している場合(Yes)は、次のページを計算し、次のページの正データと反転データが整合しているか検査する。
(ステップS26b)「整合している?」
次のページの正データと反転データが整合しているか否かを判断する。
(ステップS27b)「次のページを現在のページとする」
次のページの正データと反転データが整合している場合(Yes)は、次のページを現在のページとする。
(ステップS28b)「他のページを全消去」
他のページ(前のページと次のページ)を全消去する。
(ステップS29b)「End」
終了する。
(ステップS30b)「他のページを全消去」
ステップS26bにおいて次のページの正データと反転データが整合していない場合(No)には、他のページ(前のページと次のページ)を全消去する。
(ステップS29b)「End」
終了する。
(ステップS20b)「Start」
電源を投入する。
(ステップS21b)「現在のページを初期化する」
フラッシュメモリ11のアドレス最上位であるページ2aにアクセスし、ページ2aを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2aの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2aは消去済み(すべて1)であるため整合していないと判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
アクセス順序により次のページであるページ2bを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2bの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2bに正データDp+と反転データDp−が保存されているため整合していると判断する。
(ステップS25b)「次のページを計算し、次のページも正データと反転データが整合しているか検査する」
アクセス順序により次のページはページ2cであり、次のページであるページ2cの正データと反転データが整合しているかを検査する。
(ステップS26b)「整合している?」
ページ2cは消去済み(すべて1)であるため整合していないと判断する。
(ステップS30b)「他のページを全消去」
他のページ(前のページと次のページ)であるページ2aとページ2cを全消去する。
(ステップS29b)「End」
終了する。
(ステップS20b)「Start」
電源を投入する。
(ステップS21b)「現在のページを初期化する」
フラッシュメモリ11のアドレス最上位であるページ2aにアクセスし、ページ2aを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2aの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2aは消去済み(すべて1)であるため整合していないと判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
アクセス順序により次のページであるページ2bを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2bの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2bに正データDp+と反転データDp−が保存されているため整合していると判断する。
(ステップS25b)「次のページを計算し、次のページも正データと反転データが整合しているか検査する」
アクセス順序により次のページはページ2cであり、次のページであるページ2cの正データと反転データが整合しているかを検査する。
(ステップS26b)「整合している?」
ページ2cはデータの一部しか保存されていないため整合していないと判断する。
(ステップS30b)「他のページを全消去」
他のページ(前のページと次のページ)であるページ2aとページ2cを全消去する。
(ステップS29b)「End」
終了する。
(ステップS20b)「Start」
電源を投入する。
(ステップS21b)「現在のページを初期化する」
フラッシュメモリ11のアドレス最上位であるページ2aにアクセスし、ページ2aを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2aの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2aは消去済み(すべて1)であるため整合していないと判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
アクセス順序により次のページであるページ2bを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2bの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2bに正データDp+と反転データDp−が保存されているため整合していると判断する。
(ステップS25b)「次のページを計算し、次のページも正データと反転データが整合しているか検査する」
アクセス順序により次のページはページ2cであり、次のページであるページ2cの正データと反転データが整合しているかを検査する。
(ステップS26b)「整合している?」
ページ2cは正データDf+と反転データDf−が保存されているため整合していると判断する。
(ステップS27b)「次のページを現在のページとする」
次のページであるページ2cを現在のページとする。
(ステップS28b)「他のページを全消去」
他のページ(前のページと次のページ)であるページ2bとページ2aを全消去する。
(ステップS29b)「End」
終了する。
電源を投入する。
(ステップS21b)「現在のページを初期化する」
フラッシュメモリ11のアドレス最上位であるページ2aにアクセスし、ページ2aを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2aの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2aは消去済み(すべて1)であるため整合していないと判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
アクセス順序により次のページであるページ2bを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2bの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2bは正データと反転データの一部しか保存されていないため整合していないと判断する。
(ステップS24b)「次のページを計算し、それを現在のページとする」
アクセス順序により次のページであるページ2cを現在のページとする。
(ステップS22b)「現在のページの正データと反転データが整合しているか検査する」
現在のページであるページ2cの正データと反転データが整合しているかを検査する。
(ステップ23b)「整合している?」
ページ2cは正データDf+と反転データDf−が保存されているため整合していると判断する。
(ステップS25b)「次のページを計算し、次のページも正データと反転データが整合しているか検査する」
アクセス順序により次のページはページ2aであり、次のページであるページ2aの正データと反転データが整合しているかを検査する。
(ステップS26b)「整合している?」
ページ2aは消去済み(すべて1)であるため整合していないと判断する。
(ステップS30b)「他のページを全消去」
他のページ(前のページと次のページ)であるページ2bとページ2aを全消去する。
(ステップS29b)「End」
終了する。
2a,2b,2c ページ
11 フラッシュメモリ
Dp データ
Df 新しいデータ
Claims (5)
- フラッシュメモリを用いた装置において、
前記フラッシュメモリは記憶領域として少なくとも3つのページを備え、
現在のページにデータが書き込まれている状態で、次のページに新しいデータを書き込んだ後、前記現在のページのデータを消去することを特徴とするフラッシュメモリを用いた装置。 - 電源を投入したとき、前記現在のページのデータが壊れていないかどうかを判断し、そのデータが壊れていない場合、前記次のページの新しいデータが壊れていないかどうかを判断し、その新しいデータも壊れていない場合、前記現在のページのデータを消去する請求項1記載のフラッシュメモリを用いた装置。
- 前記各ページへのデータを書き込みは所定の順序で循環に行われる請求項1または2記載のフラッシュメモリを用いた装置。
- データとして正データと該正データの反転データとを保存する請求項1〜3いずれかに記載のフラッシュメモリを用いた装置。
- フラッシュメモリを用いた装置のフラッシュメモリへのデータの書き込み方法において、
前記フラッシュメモリは記憶領域として少なくとも3つのページを備え、
現在のページにデータが書き込まれている状態で、次のページに新しいデータを書き込んだ後、前記現在のページのデータを消去することを特徴とするフラッシュメモリを用いた装置のフラッシュメモリへのデータの書き込み方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008207122A JP2010044504A (ja) | 2008-08-11 | 2008-08-11 | フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法 |
US12/538,262 US20100037008A1 (en) | 2008-08-11 | 2009-08-10 | Apparatus with a flash memory and method for writing data to the flash memory thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008207122A JP2010044504A (ja) | 2008-08-11 | 2008-08-11 | フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010044504A true JP2010044504A (ja) | 2010-02-25 |
Family
ID=41653967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008207122A Pending JP2010044504A (ja) | 2008-08-11 | 2008-08-11 | フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100037008A1 (ja) |
JP (1) | JP2010044504A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015200945A (ja) * | 2014-04-04 | 2015-11-12 | Necプラットフォームズ株式会社 | フラッシュメモリ制御装置、フラッシュメモリ内蔵機器、フラッシュメモリ制御方法、及びそのためのプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9397754B2 (en) * | 2012-07-25 | 2016-07-19 | Finisar Corporation | Linecards with pluggable interfaces for pluggable optical amplifiers and other pluggable devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09293028A (ja) * | 1996-04-26 | 1997-11-11 | Toyota Motor Corp | 半導体記憶装置 |
JP2004341783A (ja) * | 2003-05-15 | 2004-12-02 | Canon Finetech Inc | データ記憶方法、及びデータ記憶装置 |
JP2005235028A (ja) * | 2004-02-23 | 2005-09-02 | Sony Corp | 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム |
JP2006085342A (ja) * | 2004-09-15 | 2006-03-30 | Sony Corp | メモリ制御装置、メモリ制御方法、プログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974461A (en) * | 1996-06-03 | 1999-10-26 | Webtv Networks, Inc. | Method for automatically regenerating information at a client system in the event of power or communication disruption between the client system and the server |
US5940074A (en) * | 1996-06-03 | 1999-08-17 | Webtv Networks, Inc. | Remote upgrade of software over a network |
JP2002351685A (ja) * | 2001-05-22 | 2002-12-06 | Sankyo Seiki Mfg Co Ltd | 不揮発性メモリのデータ更新方法及び制御装置 |
US6977847B2 (en) * | 2001-11-23 | 2005-12-20 | M-Systems Flash Disk Pioneers Ltd. | Detecting partially erased units in flash devices |
KR100645044B1 (ko) * | 2004-09-17 | 2006-11-10 | 삼성전자주식회사 | 높은 신뢰도를 갖는 불 휘발성 메모리 장치의 프로그램 방법 |
KR100631765B1 (ko) * | 2004-10-18 | 2006-10-09 | 삼성전자주식회사 | 플래시 메모리의 데이터 처리 장치 및 방법 |
JP4066381B2 (ja) * | 2005-03-01 | 2008-03-26 | 三菱電機株式会社 | 車載電子制御装置 |
US8041883B2 (en) * | 2007-05-09 | 2011-10-18 | Stmicroelectronics S.R.L. | Restoring storage devices based on flash memories and related circuit, system, and method |
DE102008035095A1 (de) * | 2008-07-28 | 2010-02-11 | Vincotech (Germany) Gmbh | Verfahren und Vorrichtung um Änderungen an Daten zu erkennen |
CN101930387A (zh) * | 2009-06-19 | 2010-12-29 | 上海惠普有限公司 | 用于更新压缩只读文件系统的改进的容错方法及装置 |
-
2008
- 2008-08-11 JP JP2008207122A patent/JP2010044504A/ja active Pending
-
2009
- 2009-08-10 US US12/538,262 patent/US20100037008A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09293028A (ja) * | 1996-04-26 | 1997-11-11 | Toyota Motor Corp | 半導体記憶装置 |
JP2004341783A (ja) * | 2003-05-15 | 2004-12-02 | Canon Finetech Inc | データ記憶方法、及びデータ記憶装置 |
JP2005235028A (ja) * | 2004-02-23 | 2005-09-02 | Sony Corp | 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム |
JP2006085342A (ja) * | 2004-09-15 | 2006-03-30 | Sony Corp | メモリ制御装置、メモリ制御方法、プログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015200945A (ja) * | 2014-04-04 | 2015-11-12 | Necプラットフォームズ株式会社 | フラッシュメモリ制御装置、フラッシュメモリ内蔵機器、フラッシュメモリ制御方法、及びそのためのプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20100037008A1 (en) | 2010-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102232922B1 (ko) | 쓰기 보조 회로를 포함하는 스태틱 랜덤 액세스 메모리 장치 | |
US9697076B2 (en) | Data storage device and error correction method thereof | |
CN100530413C (zh) | 非易失性半导体存储装置、电子卡及电子装置 | |
JP4679370B2 (ja) | データ処理装置並びにメモリカードの設定方法 | |
JP4901334B2 (ja) | メモリコントローラ | |
JP3233079B2 (ja) | データ処理システム及びデータ処理方法 | |
US8897092B2 (en) | Memory storage device, memory controller and controlling method | |
JP2004094948A (ja) | Sata貯蔵装置 | |
US20080046778A1 (en) | Memory controller and semiconductor memory device | |
US6345333B1 (en) | Method and apparatus for reverse rewriting | |
CN110197696B (zh) | 电子装置、非暂时性计算机可读存储介质以及控制方法 | |
JP2018055759A (ja) | メモリシステム | |
JP2007241618A (ja) | 不揮発性記憶装置及びその書き込み判定方法 | |
JP2010079856A (ja) | 記憶装置およびメモリ制御方法 | |
JP2010044504A (ja) | フラッシュメモリを用いた装置及びそのフラッシュメモリへのデータの書き込み方法 | |
US20210326060A1 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
US7921340B2 (en) | Nonvolatile memory device, nonvolatile memory system, and defect management method for nonvolatile memory device | |
US9025379B2 (en) | Semiconductor device and method of operating the same | |
US8406069B2 (en) | Data writing method and writing device for an electronic erasable read only dynamic memory | |
US20070279983A1 (en) | Semiconductor memory device and data transmission method thereof | |
KR20180078426A (ko) | 데이터 저장 장치의 에러 정정 코드 처리 방법 | |
CN109933282B (zh) | 存储器系统及其操作方法 | |
JP4742553B2 (ja) | 記憶装置 | |
JP6679971B2 (ja) | 記憶装置、液体容器及びホスト装置 | |
KR20030065223A (ko) | 플래시 메모리 안정화기능을 구비한 호스트 기기 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100917 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120717 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121009 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121207 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130122 |