JP5541194B2 - フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置 - Google Patents
フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置 Download PDFInfo
- Publication number
- JP5541194B2 JP5541194B2 JP2011037075A JP2011037075A JP5541194B2 JP 5541194 B2 JP5541194 B2 JP 5541194B2 JP 2011037075 A JP2011037075 A JP 2011037075A JP 2011037075 A JP2011037075 A JP 2011037075A JP 5541194 B2 JP5541194 B2 JP 5541194B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- area
- recording destination
- erase
- 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 39
- 230000002950 deficient Effects 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 5
- 238000000034 method Methods 0.000 description 39
- 230000006870 function Effects 0.000 description 8
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 7
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- RRLHMJHRFMHVNM-BQVXCWBNSA-N [(2s,3r,6r)-6-[5-[5-hydroxy-3-(4-hydroxyphenyl)-4-oxochromen-7-yl]oxypentoxy]-2-methyl-3,6-dihydro-2h-pyran-3-yl] acetate Chemical compound C1=C[C@@H](OC(C)=O)[C@H](C)O[C@H]1OCCCCCOC1=CC(O)=C2C(=O)C(C=3C=CC(O)=CC=3)=COC2=C1 RRLHMJHRFMHVNM-BQVXCWBNSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
- G11C29/82—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
-
- 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
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/344—Arrangements for verifying correct erasure or for detecting overerased cells
- G11C16/3445—Circuits or methods to verify correct erasure of nonvolatile memory cells
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Description
以下、本発明の第1実施形態について説明する。図1に、本実施形態に係るマイクロコントローラ1の構成を示す。このマイクロコントローラ1は、車両に搭載され、I/O2、ROM3、RAM4、フラッシュメモリ5、フラッシュコントローラ6、CPU7等を備えている。
一般に、ブロックにデータを書き込むときにフラッシュメモリ(5)にかける電気的負荷は、ブロックのデータを消去するときにフラッシュメモリ(5)にかける電気的負荷よりも低い。したがって、ブロックのデータの消去に失敗した場合の方が、データの書き込みに失敗した場合よりも、ブロックが壊れている可能性が高い。逆に言えば、データの書き込みに失敗した場合は、まだそのブロックが壊れておらず、一時的な原因によってそのブロックが書き込み不能になったに過ぎない可能性が高い。
次に、本発明の第2実施形態について、第1実施形態とは異なる部分を中心に説明する。図6に、本実施形態に係るマイクロコントローラ1の構成を示す。本実施形態のマイクロコントローラ1のハードウェア構成は、第1実施形態と同じである。
次に、本発明の第3実施形態について、第2実施形態との違いを中心に説明する。本実施形態は、フラッシュメモリ5内の複数個のブロック1〜Nが、M個のエリアに区分けされている点は同じであるが、それらエリアのうち1つが、予備ブロック用のエリア(以下、予備エリアという)として用いられる点が異なる。どのエリアが予備エリアであるかは、あらかじめROM3に記録された情報に基づいて特定できるようになっている。加えて、予備エリアとは別にエリアごとに予備ブロックを有していても良い。
次に、本発明の第4実施形態について、第3実施形態と異なる部分を説明する。本実施形態が第3実施形態と異なるのは、CPU7が、図8に示した処理に代えて、図9に示す処理を実行する場合がある点である。
以上、本発明の実施形態について説明したが、本発明の範囲は、上記実施形態のみに限定されるものではなく、本発明の各発明特定事項の機能を実現し得る種々の形態を包含するものである。
2 I/O
3 ROM
4 RAM
5 フラッシュメモリ
6 フラッシュコントローラ
7 CPU
Claims (2)
- フラッシュメモリ(5)に対してデータの読み出しおよび書き込みを行う制御装置であって、
前記フラッシュメモリ(5)は、データ消去の単位となるブロックを複数有して構成され、
前記フラッシュメモリ(5)に記録するレコードの記録先を、当該レコードが含むデータの種別に応じて仕分けするため、前記フラッシュメモリ(5)の前記複数のブロックが、複数のエリアに区分けされており、
前記制御装置は、
前記複数のエリアのうち記録先のエリア用のブロック群に属するブロックから現在の記録先のブロック以外の次のブロックを抽出し、抽出した前記次のブロックのデータの消去を試みると共に、消去に成功したか失敗したかを判定する消去・判定手段(150、160、175、235、240)と、
前記次のブロックのデータの消去に成功したと前記消去・判定手段が判定したことに基づいて、当該消去に成功したブロックを、新たな記録先のブロックとし、それまでの記録先のブロックから、一部のレコードを読み出して現在の記録先のブロックにコピーする有効データコピー手段(170)と、を備え、
前記消去・判定手段は、前記次のブロックのデータの消去に失敗したと判定したことに基づいて、前記次のブロックが故障したと判定して、前記次のブロックを前記記録先のエリア用のブロック群から除外し、前記複数のエリアのうち、データの記録頻度が最も低いエリアとしてあらかじめ定められたエリアである交換対象エリアに属するブロックから、更に次のブロックを抽出し、抽出した前記更に次のブロックを前記記録先のエリア用のブロック群に含め、抽出した前記更に次のブロックを前記交換対象エリア用のブロック群から除外し、抽出した前記更に次のブロックに現在記録されているレコードの一部を、前記故障したと判定したブロックにコピーし、前記故障したと判定したブロックを、前記交換対象エリア用のブロック群に含め、抽出した前記更に次のブロックのデータの消去を試みると共に、消去に成功したか失敗したかを判定し、
前記有効データコピー手段(170)は、前記更に次のブロックの消去に成功したと前記消去・判定手段が判定したことに基づいて、当該消去に成功したブロックを、新たな記録先のブロックとすることを特徴とする制御装置。 - 前記消去・判定手段は抽出した前記更に次のブロックに現在記録されているレコードの一部を、前記故障したと判定したブロックにコピーする際、レコードの書き込みに失敗した場合は、書き込みが成功するまで、記録先のアドレスをスキップしながら、書き込みをリトライすることを特徴とする請求項1に記載の制御装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011037075A JP5541194B2 (ja) | 2011-02-23 | 2011-02-23 | フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置 |
US13/401,033 US9058883B2 (en) | 2011-02-23 | 2012-02-21 | Control apparatus for controlling data reading and writing to flash memory |
DE102012101405.1A DE102012101405B4 (de) | 2011-02-23 | 2012-02-22 | Steuervorrichtung zum Steuern eines Datenlesens und - schreibens von und zu einem Flash-Speicher |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011037075A JP5541194B2 (ja) | 2011-02-23 | 2011-02-23 | フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012174106A JP2012174106A (ja) | 2012-09-10 |
JP5541194B2 true JP5541194B2 (ja) | 2014-07-09 |
Family
ID=46605155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011037075A Active JP5541194B2 (ja) | 2011-02-23 | 2011-02-23 | フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9058883B2 (ja) |
JP (1) | JP5541194B2 (ja) |
DE (1) | DE102012101405B4 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101756228B1 (ko) * | 2011-07-19 | 2017-07-11 | 삼성전자 주식회사 | 메모리 장치 |
JP6543122B2 (ja) * | 2015-07-17 | 2019-07-10 | キヤノン株式会社 | 情報処理装置と、前記情報処理装置による不揮発記憶装置の初期化方法、及びプログラム |
JP6884675B2 (ja) * | 2017-09-20 | 2021-06-09 | 株式会社東芝 | ビデオサーバ、及び放送システム |
CN111326198A (zh) * | 2018-12-13 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 非易失性存储器及其操作方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
JP3640802B2 (ja) * | 1998-06-08 | 2005-04-20 | 富士通株式会社 | データバックアップ方式 |
JP2000243093A (ja) | 1998-12-25 | 2000-09-08 | Sanyo Electric Co Ltd | フラッシュメモリへのデータ記憶方法及びフラッシュメモリからのデータ読出方法 |
JP4165990B2 (ja) * | 1999-12-20 | 2008-10-15 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法 |
JP2001312891A (ja) * | 2000-04-27 | 2001-11-09 | Hitachi Ltd | 半導体メモリ装置 |
JP2004227723A (ja) * | 2003-01-27 | 2004-08-12 | Renesas Technology Corp | 不揮発性半導体記憶装置 |
JP2004265162A (ja) * | 2003-03-03 | 2004-09-24 | Renesas Technology Corp | 記憶装置およびアドレス管理方法 |
KR100526186B1 (ko) * | 2003-04-04 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 오류블록 관리방법 및 장치 |
JP2004342187A (ja) * | 2003-05-14 | 2004-12-02 | Renesas Technology Corp | 半導体集積回路及びマイクロコンピュータ |
JP4203994B2 (ja) * | 2003-09-26 | 2009-01-07 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
KR100608592B1 (ko) | 2004-01-27 | 2006-08-03 | 삼성전자주식회사 | 플래시 메모리의 데이터 관리 장치 및 방법 |
JPWO2005081261A1 (ja) * | 2004-02-20 | 2007-08-02 | スパンション エルエルシー | 半導体記憶装置および半導体記憶装置の冗長制御方法 |
US7068555B2 (en) | 2004-02-20 | 2006-06-27 | Spansion Llc | Semiconductor memory storage device and a redundancy control method therefor |
JP2005338924A (ja) * | 2004-05-24 | 2005-12-08 | Toshiba Corp | 携帯可能電子装置に用いられる不揮発性メモリと携帯可能電子装置 |
JP2006294143A (ja) * | 2005-04-12 | 2006-10-26 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP4879571B2 (ja) * | 2005-12-09 | 2012-02-22 | 凸版印刷株式会社 | 半導体メモリ |
JP2008146255A (ja) * | 2006-12-07 | 2008-06-26 | Sony Corp | 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法 |
JP2009288914A (ja) * | 2008-05-28 | 2009-12-10 | Fuji Xerox Co Ltd | フラッシュメモリおよび電子機器 |
US8412909B2 (en) * | 2009-04-08 | 2013-04-02 | Samsung Electronics Co., Ltd. | Defining and changing spare space and user space in a storage apparatus |
-
2011
- 2011-02-23 JP JP2011037075A patent/JP5541194B2/ja active Active
-
2012
- 2012-02-21 US US13/401,033 patent/US9058883B2/en active Active
- 2012-02-22 DE DE102012101405.1A patent/DE102012101405B4/de active Active
Also Published As
Publication number | Publication date |
---|---|
US20120215968A1 (en) | 2012-08-23 |
JP2012174106A (ja) | 2012-09-10 |
DE102012101405A1 (de) | 2012-08-23 |
DE102012101405B4 (de) | 2020-09-17 |
US9058883B2 (en) | 2015-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3692313B2 (ja) | 不揮発性メモリの制御方法 | |
KR100843543B1 (ko) | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 | |
KR100849221B1 (ko) | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 | |
US7558904B2 (en) | Controller, data memory system, data rewriting method, and computer program product | |
CN102890656B (zh) | 提高flash使用寿命的方法 | |
JP2007018499A (ja) | 記憶装置 | |
US7610436B2 (en) | Semiconductor device having flash memory with a data length table | |
WO2009118917A1 (ja) | フラッシュメモリを用いた記憶装置 | |
KR20040038713A (ko) | 비-휘발성 메모리 시스템에서 사용불가능한 블록을관리하기 위한 방법 및 장치 | |
KR100370893B1 (ko) | 일괄 소거형 비휘발성 메모리 장치 | |
US9710375B2 (en) | Writing an address conversion table for nonvolatile memory wear leveling | |
JPWO2009004674A1 (ja) | 記憶装置、ディスク装置、書込み判定方法、制御装置 | |
WO2009104330A1 (ja) | メモリ制御方法及び装置、メモリアクセス制御方法、コンピュータプログラム、記録媒体 | |
JP5541194B2 (ja) | フラッシュメモリに対してデータの読み出しおよび書き込みを行う制御装置 | |
EP2977907B1 (en) | Data storage device, method for storing data, and onboard control device | |
CN114237984A (zh) | 异常掉电下Trim数据的恢复方法、***及固态硬盘 | |
JP5323030B2 (ja) | メモリ装置及びメモリ制御方法 | |
JP2018028830A (ja) | 電子制御装置およびその情報記憶方法 | |
JP4513786B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
CN103389943A (zh) | 控制装置、存储装置及存储控制方法 | |
JP2014194817A (ja) | 記憶装置 | |
KR100654343B1 (ko) | 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법 | |
JP2013003655A (ja) | フラッシュメモリにデータの書き込みを行う制御装置 | |
JP2007122419A (ja) | 不揮発性データ更新システム、不揮発性データ更新方法及びプログラム | |
JP2009211152A (ja) | 情報処理装置、メモリシステムおよびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140228 |
|
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: 20140408 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140421 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5541194 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |