JP2001101087A - メモリ及びメモリ制御方法 - Google Patents

メモリ及びメモリ制御方法

Info

Publication number
JP2001101087A
JP2001101087A JP27563899A JP27563899A JP2001101087A JP 2001101087 A JP2001101087 A JP 2001101087A JP 27563899 A JP27563899 A JP 27563899A JP 27563899 A JP27563899 A JP 27563899A JP 2001101087 A JP2001101087 A JP 2001101087A
Authority
JP
Japan
Prior art keywords
area
information
data
block
memory
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
Application number
JP27563899A
Other languages
English (en)
Inventor
Kazuyuki Yuzawa
一之 湯沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP27563899A priority Critical patent/JP2001101087A/ja
Publication of JP2001101087A publication Critical patent/JP2001101087A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】 メモリアクセス中に電源遮断等の障害が起こ
った場合、メモリ内容が破壊されてしまう虞がある。 【解決手段】 メモリ領域を分割し、それぞれの領域
に、データの識別情報、履歴情報、誤り訂正情報を付加
した。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はメモリ及びその制御
方法に関し、特に、障害発生時にメモリ内容の保護を図
ることが可能なメモリ及びその制御方法に好適に利用で
きるものである。
【0002】
【従来の技術】以下、従来の技術について説明する。
【0003】図8は従来のCPU・メモリ間のブロック
図であり、また、図9は図8におけるアドレス変換装置
(803)の状態とフラッシュメモリ(804)のメモ
リ構造及びメモリ内のデータの書き換えの様子を示した
図である。
【0004】図8及び図9を用いて、CPU(801)
からのデータをフラッシュメモリ(804)に記録する
場合について説明する。
【0005】図8におけるフラッシュメモリ(804)
は、図9に示すようにBlock−1(901)、Bl
ock−2(902)、Block−3(903)、・
・・、Block−K(90K)、・・・というように
複数のブロックに分割されている。データの書き換え
は、このブロック単位で一括して行われる。ここで、上
記各ブロックの左上の数字(例えばBlock−1(9
01)の場合は1)は、そのブロックに入っているデー
タの状態を表しており、例えば、図9(1)の状態で
は、Block−K(90K)は、データがクリアされ
ていることを表している。また、アドレス変換装置(8
03)の初期状態は何も変換しない状態を表している。
まず、CPU(801)がフラッシュメモリ(804)
のBlock−2(902)のデータを書き換える場
合、図9(1)の状態において、CPU(801)は、
フラッシュメモリ(804)のBlock−2(90
2)のデータをRAM(802)に読み込んで値の変更
を行う。RAM(802)で変更されたデータを再びフ
ラッシュメモリ(804)に書き込むために、CPU
(801)は、フラッシュメモリ(804)内のブロッ
クでデータの書き込まれていないブロックを検索する。
ここでは、そのブロックをBlock−K(90K)と
する。従って、上記Block−2の変更したデータを
RAMからBlock−K(90K)に書き込む。
【0006】この時、元のBlock−2(902)の
データを消去し、アドレス変換装置(803)には、元
のBlock−2(902)のデータはBlock−K
(90K)に存在することを記録する。この様子を同図
(2)に示す。
【0007】従って、最終的に同図(3)に示すような
データ配列となり、Block−2のデータを呼び出そ
うとすると、アドレス変換装置(803)にてBloc
k−2のアドレスはBlock−Kのアドレスに変換さ
れるため、書き換えたデータが存在しているBlock
−Kのデータを読み出されることになる。
【0008】
【発明が解決しようとする課題】以上の従来技術によれ
ば、常にBlock−2のデータは別の領域に書き込ま
れるため、書込み中に電源が遮断しても、容易にBlo
ck−2のデータは復旧できるが、万が一アドレス変換
装置内のデータが破壊されてしまった場合、全データが
正しく入っているにもかかわらず、アドレスがわからな
いため、メモリシステムの全データが使えなくなってし
まうという問題がある。
【0009】本発明は、上記課題に鑑み、これを解決し
たメモリ及び制御方法を提供するものである。
【0010】
【課題を解決するための手段】上記課題を解決するた
め、本発明は以下のような手段を採った。
【0011】即ち、本発明に係るメモリは、記録領域を
複数の領域に分割し、該分割されたそれぞれの領域は、
情報を記録するデータ領域と、前記データ領域に記録さ
れた情報を識別する識別情報を記録するID領域と、前
記データ領域に記録されている情報の更新履歴情報を記
録するデータバージョン領域と、前記データ領域に記録
されている情報の誤り訂正をするための情報を記録する
チェックバイト領域と、より成る付加情報領域と、を有
するようにした。
【0012】ここで、上記メモリは、該メモリの任意の
領域の前記データ領域及び付加情報領域の情報を読み出
し、該読み出されたデータ領域の情報に所定の処理を施
した後、データ領域及び付加情報領域の情報を前記メモ
リの空き領域に書き込むと共に、前記付加情報領域に含
まれる、データバージョン領域の情報を更新し、前記任
意の領域のデータ領域及び付加情報領域の情報を消去す
るように制御されるようにした。
【0013】また、上記メモリは、該メモリの任意の領
域の前記データ領域及び付加情報領域の情報を読み出
し、該読み出されたデータ領域の情報に所定の処理を施
した後、データ領域及び付加情報領域の情報を前記メモ
リの空き領域に書き込むと共に、前記付加情報領域に含
まれる、データバージョン領域の情報を更新し、前記任
意の領域のデータ領域及び付加情報領域の情報を消去
し、情報が消去された前記任意の領域に、前記空き領域
に書き込まれたデータ領域及び付加情報領域の情報をコ
ピーし、前記空き領域のデータ領域及び付加情報領域の
情報を消去するように制御しても良い。
【0014】或いは、上記メモリは、該メモリの任意の
領域の前記データ領域及び付加情報領域の情報を読み出
し、該読み出されたデータ領域及び付加情報領域の情報
を前記メモリの空き領域に書き込み、前記任意の領域の
データ領域及び付加情報領域の情報を消去し、前記空き
領域のデータ領域及び付加情報領域の情報を読み出し、
該読み出されたデータ領域の情報に所定の処理を施した
後、データ領域及び付加情報領域の情報を前記任意の領
域に書き込むと共に、前記付加情報領域に含まれる、デ
ータバージョン領域の情報を更新し、前記空き領域のデ
ータ領域及び付加情報領域の情報を消去するように制御
しても良い。
【0015】
【発明の実施の形態】以下、図1から図4を用いて本発明
の第1の実施形態を説明する。
【0016】図1は本発明に係るメモリとCPU間の構
成を示したブロック図であり、CPU101、RAM1
02、フラッシュメモリ103およびバックアップメモ
リ104で構成されている。尚、バックアップメモリ1
04はフラッシュメモリ内の一部の領域を用いるように
しても良い。
【0017】また、図3はフラッシュメモリ103のメ
モリ構造図であり、Block−1(301)、Blo
ck−2(302)、Block−3(303)、Bl
ock−4(304)、・・・のように複数のブロック
に分割されており、当該個々のブロックのデータは一括
して書き込み・消去等の処理が行われる。また、バック
アップメモリ(104)も同様の容量のブロックBlo
ck−A(305)を構成する。ここで、上記各ブロッ
クの構造を図2に示す。
【0018】図2に示すようにブロックの内部は、その
ブロック(201)に入っているデータの内容或いは状
態を表すデータブロックID(202)と、そのデータ
の書き換え回数(バージョン)を表すデータバージョン
(203)と、そのブロックのエラーを検出するため
に、CRCやパリティチェックなどの誤り訂正処理でブ
ロック内を演算したチェックバイト(204)およびデ
ータ部(205)で構成されている。図3において、各
ブロックの左上の数字(例えばBlock−2(30
2)の左上の2)はそのブロックのデータブロックID
を表しており、また、上中央の数字(例えばBlock
−2(302)の上中央の1)はデータバージョンを表
している。例えば、バックアップメモリ部Block−
A(305)の左上および上中央の“0”は現在データ
がクリアされている状態を表している。図1において、
CPU(101)がフラッシュメモリ(103)のBl
ock−2(302)のデータを書き換えためには、ま
ず、RAM(102)にBlock−2(302)のデ
ータを読み込んで値の変更を行う。次に、フラッシュメ
モリ(103)にRAM(102)で変換された値を書
き戻すため、図3(1)に示すようにBlock−2の
変更したデータは、チェックバイトを新たに演算し、デ
ーターバージョンを1つ上げてバックアップメモリ部B
lock−A(305)に書き込まれる。その後、同図
(2)に示すようにBlock−2(302)の内容を
消去し、最終的に同図(3)の状態になる。書き換えた
後にデータを読み出す手順を図4に示す。まず、各ブロ
ックのデータブロックIDを検索し、Block_ID
=2のブロックを探す(ステップS402)。例えば、
図3にてBlock−A(305)の書き込み終了前で
あればBlock−2(302)のみであるし、書き込
み終了後、Block−A(305)の消去開始前であ
ればBlock−2(302)とBlock−A(30
5)がこれに当たり、その状態で電源が切断されてしま
った場合、その状態のままとなってしまうことがある。
次に、検出したブロックについてチェックバイトを用い
てのデータの誤りをチェックする(ステップS40
3)。通常、誤りはないが、書き込み中や消去中に電源
が切断された場合などはそのブロックに誤りが発生する
可能性がある。もし誤りが検出されれば(ステップS4
04)、そのブロックは消去する(ステップS40
5)。誤りがなく、Block−2のデータブロックI
Dがついたデータが複数のブロックに存在した場合(ス
テップS406)、それらのブロックのデータバージョ
ンをチェックし、古いバージョンのブロックは消去する
(ステップS407)。例えば、図3(2)において、
Block−2を消去する前に電源切断され、次に電源
を入れて、Block−Aを呼び出す場合、ブロックデ
ータIDが2のブロックはBlock−2(302)と
Block−A(305)の2箇所あることになるが、
データバージョンを比較することによってBlock−
2は消去されることになる。したがって、正しい最新の
データが読み出されることとなる。
【0019】また、電源の投入時には、フラッシュメモ
リの各ブロックおよびバックアップブロックがデータの
エラーや重複がないかチェック(各ブロックの読み出
し)を行う。次に、図1、2、5、6を用いて本発明の
第2の実施形態を説明する。ここで、第1の実施形態と
同様の部分は説明を省略する。図1において、バックア
ップメモリ104は、フラッシュメモリ内の一部の領域
を用いても良いし、別途メモリを用意しても良い。フラ
ッシュメモリ(103)は、図5のようにBlock−
1(501)、Block−2(502)、Block
−3(503)、Block−4(504)、・・・の
ように複数のブロックに分割されており、当該個々のブ
ロックのデータは一括して書き込み・消去等の処理が行
われる。また、バックアップメモリ(104)も同様の
容量のブロックBlock−A(505)を構成する。
【0020】以下、本第2の実施形態において、フラッ
シュメモリ(103)のBlock−2を書き換える場
合について説明する。図5(1)のようにBlock−
2の変更したデータは、チェックバイトを新たに演算
し、データーバージョンを1つ上げてバックアップメモ
リ部Block−A(505)に書き込まれる。次に、
同図(2)にて、Block−2(502)の内容を消
去する。続いて、同図(3)のようにBlock−A
(505)の内容をBlock−2(502)へコピー
する。最後に、同図(4)のようにBlock−A(5
05)の内容を消去し、最終的に同図(5)のようにな
る。
【0021】書き換えた後にデータを読み出す場合の手
順を図6に示す。Block−2(502)とバックア
ップメモリBlock−A(505)それぞれについ
て、データブロックIDをチェックし(ステップS60
2)、データブロックIDが2であれば(ステップS6
03)、誤りをチェックし(ステップS604)、誤り
があれば消去する(ステップS605)。もし、両方の
ブロック共データブロックIDが2であった場合(ステ
ップS606)、データバージョンを比較し、古いバー
ジョンのデータブロックを削除する(ステップS60
7)。また、同一バージョンであった場合は、バックア
ップメモリのBlock−Aを削除する。次に、データ
ブロックID=2のデータがBlock−Aに存在した
場合には(ステップS608)、Block−2にその
内容をコピーし、Block−Aを消去する(ステップ
S609)。したがって、最終的に常にBlock−2
からデータブロックID=2のデータが得られることに
なる(ステップS610)。
【0022】次に、図1、2、6、7を用いて本発明の
第3の実施形態を説明する。ただし第1、2の実施形態
と同様の部分は説明を省略する。
【0023】本第3の実施形態において、フラッシュメ
モリ(103)のBlock−2を書き換えるには以下
のように行う。図7(1)のように、まず、Block
−2(702)のデータをバックアップメモリBloc
k−A(705)へコピーし、同図(2)のようにBl
ock−2(702)を消去する。次に、チェックバイ
トを新たに演算し、データーバージョンを1つ上げたB
lock−2の変更したデータをBlock−2(70
2)へ書き込む。最後に同図(4)のようにBlock
−A(505)の内容を消去し、最終的に同図(5)の
ようになる。
【0024】書き換えた後にデータを読み出す手順は、
第6図のように第2の実施形態と同様になる。
【0025】本第3の実施形態では、バックアップメモ
リ(104)は1ブロック分として用いているが、複数
ブロック分のバックアップメモリを用意して、切り換え
て用いてもかまわない。
【0026】
【発明の効果】本発明によれば、データをデータブロッ
クID、データバージョン、チェックバイトと共に管理
することにより、電源断などの障害発生時においても常
に正しいデータが得られるようになる。
【0027】また、変更されたデータを元のデータの記
録領域と同じ領域に記録することで、データの検索が容
易になる。
【図面の簡単な説明】
【図1】本発明のシステムブロック図である。
【図2】本発明のフラッシュメモリ内部ブロックの説明
図である。
【図3】本発明に係る第1の実施形態である。
【図4】本発明の第1の実施形態でのデータ読み取り時
のフローチャートである。
【図5】本発明に係る第2の実施形態である。
【図6】本発明の第2の実施形態でのデータ読み取り時
のフローチャートである。
【図7】本発明に係る第3の実施形態である。
【図8】従来のシステムブロック図である。
【図9】従来の実施形態である。
【符号の説明】
101、801・・CPU、102、802・・RA
M、103、804・・フラッシュメモリ、104・・
バックアップメモリ、201、301、302.30
3、304、305、501、502.503、50
4、505、701、702.703、704、70
5、901、902.903、904、90K・・記録
ブロック、202・・データブロックID、203・・
データバージョン、204・・チェックバイト、205
・・データ領域、803・・アドレス変換装置

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 記録領域を複数の領域に分割し、該分割
    されたそれぞれの領域は、 情報を記録するデータ領域と、 前記データ領域に記録された情報を識別する識別情報を
    記録するID領域と、前記データ領域に記録されている
    情報の更新履歴情報を記録するデータバージョン領域
    と、前記データ領域に記録されている情報の誤り訂正を
    するための情報を記録するチェックバイト領域と、より
    成る付加情報領域と、を有することを特徴とするメモ
    リ。
  2. 【請求項2】 請求項1に記載のメモリを用いて、該メ
    モリの任意の領域の前記データ領域及び付加情報領域の
    情報を読み出し、該読み出されたデータ領域の情報に所
    定の処理を施した後、データ領域及び付加情報領域の情
    報を前記メモリの空き領域に書き込むと共に、前記付加
    情報領域に含まれる、データバージョン領域の情報を更
    新し、前記任意の領域のデータ領域及び付加情報領域の
    情報を消去することを特徴とするメモリ制御方法。
  3. 【請求項3】 請求項1に記載のメモリを用いて、該メ
    モリの任意の領域の前記データ領域及び付加情報領域の
    情報を読み出し、該読み出されたデータ領域の情報に所
    定の処理を施した後、データ領域及び付加情報領域の情
    報を前記メモリの空き領域に書き込むと共に、前記付加
    情報領域に含まれる、データバージョン領域の情報を更
    新し、 前記任意の領域のデータ領域及び付加情報領域の情報を
    消去し、 情報が消去された前記任意の領域に、前記空き領域に書
    き込まれたデータ領域及び付加情報領域の情報をコピー
    し、 前記空き領域のデータ領域及び付加情報領域の情報を消
    去することを特徴とするメモリ制御方法。
  4. 【請求項4】 請求項1に記載のメモリを用いて、 該メモリの任意の領域の前記データ領域及び付加情報領
    域の情報を読み出し、該読み出されたデータ領域及び付
    加情報領域の情報を前記メモリの空き領域に書き込み、
    前記任意の領域のデータ領域及び付加情報領域の情報を
    消去し、前記空き領域のデータ領域及び付加情報領域の
    情報を読み出し、該読み出されたデータ領域の情報に所
    定の処理を施した後、データ領域及び付加情報領域の情
    報を前記任意の領域に書き込むと共に、前記付加情報領
    域に含まれる、データバージョン領域の情報を更新し、 前記空き領域のデータ領域及び付加情報領域の情報を消
    去することを特徴とするメモリ制御方法。
JP27563899A 1999-09-29 1999-09-29 メモリ及びメモリ制御方法 Pending JP2001101087A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP27563899A JP2001101087A (ja) 1999-09-29 1999-09-29 メモリ及びメモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27563899A JP2001101087A (ja) 1999-09-29 1999-09-29 メモリ及びメモリ制御方法

Publications (1)

Publication Number Publication Date
JP2001101087A true JP2001101087A (ja) 2001-04-13

Family

ID=17558260

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27563899A Pending JP2001101087A (ja) 1999-09-29 1999-09-29 メモリ及びメモリ制御方法

Country Status (1)

Country Link
JP (1) JP2001101087A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018594A (ja) * 2004-07-01 2006-01-19 Mitsubishi Electric Corp 情報処理装置
KR100697792B1 (ko) 2005-09-20 2007-03-21 가부시끼가이샤 도시바 기억 매체 재생 장치, 기억 매체 재생 방법, 및 기억 매체로부터 정보를 판독하기 위한 컴퓨터 판독가능 매체
JP2008165446A (ja) * 2006-12-27 2008-07-17 Kyocera Corp 電子機器
JP2009184609A (ja) * 2008-02-08 2009-08-20 Nsk Ltd 電動パワーステアリング装置
JP2010195125A (ja) * 2009-02-24 2010-09-09 Nsk Ltd 電動パワーステアリング装置
JP2013003869A (ja) * 2011-06-17 2013-01-07 Denso Corp 不揮発性半導体記憶装置およびメモリ管理方法
JP2013003655A (ja) * 2011-06-13 2013-01-07 Denso Corp フラッシュメモリにデータの書き込みを行う制御装置
WO2014020749A1 (ja) * 2012-08-02 2014-02-06 富士通株式会社 データ処理装置、プロセッサ、及び動作履歴記録方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018594A (ja) * 2004-07-01 2006-01-19 Mitsubishi Electric Corp 情報処理装置
JP4558393B2 (ja) * 2004-07-01 2010-10-06 三菱電機株式会社 情報処理装置
KR100697792B1 (ko) 2005-09-20 2007-03-21 가부시끼가이샤 도시바 기억 매체 재생 장치, 기억 매체 재생 방법, 및 기억 매체로부터 정보를 판독하기 위한 컴퓨터 판독가능 매체
JP2008165446A (ja) * 2006-12-27 2008-07-17 Kyocera Corp 電子機器
JP2009184609A (ja) * 2008-02-08 2009-08-20 Nsk Ltd 電動パワーステアリング装置
JP2010195125A (ja) * 2009-02-24 2010-09-09 Nsk Ltd 電動パワーステアリング装置
JP2013003655A (ja) * 2011-06-13 2013-01-07 Denso Corp フラッシュメモリにデータの書き込みを行う制御装置
JP2013003869A (ja) * 2011-06-17 2013-01-07 Denso Corp 不揮発性半導体記憶装置およびメモリ管理方法
WO2014020749A1 (ja) * 2012-08-02 2014-02-06 富士通株式会社 データ処理装置、プロセッサ、及び動作履歴記録方法

Similar Documents

Publication Publication Date Title
US6865658B2 (en) Nonvolatile data management system using data segments and link information
KR100644602B1 (ko) 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US6571312B1 (en) Data storage method and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory
US6925545B2 (en) Configuring file structures and file system structures in a memory device
US6795890B1 (en) Data storage method, and data processing device using an erasure block buffer and write buffer for writing and erasing data in memory
KR100370893B1 (ko) 일괄 소거형 비휘발성 메모리 장치
JP4037605B2 (ja) 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
US5913219A (en) Database recovery apparatus and method of using dual plane nonvolatile memory
US8327068B2 (en) Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
US20070245069A1 (en) Storage Device, Memory Management Method and Program
KR100742849B1 (ko) 데이타 기억 장치, 데이타 처리 시스템, 데이타 처리 방법 및 데이타 처리 장치
US7664981B2 (en) Method of restoring source data of hard disk drive and method of reading system information thereof
US20040123064A1 (en) Method for storing data in a write-once memory array using a write-many file system
JPH03224045A (ja) データ保全方式
KR20010037155A (ko) 플래시 파일 시스템
JP2001101087A (ja) メモリ及びメモリ制御方法
JP2005222202A (ja) 不揮発性記憶装置のデータ保護方法
JP3807012B2 (ja) 記憶装置
KR20050011869A (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
JP3670151B2 (ja) フラッシュメモリのアクセス方法、フラッシュメモリへアクセスするドライバを備えるシステム、および、フラッシュメモリ
KR20210022260A (ko) 메모리 컨트롤러의 구동방법, 메모리 컨트롤러 및 스토리지 장치
JPH1031611A (ja) 不揮発性メモリ記憶媒体用ファイルシステム
JP4580724B2 (ja) 不揮発性メモリの制御方法
JP2007133535A (ja) 記憶装置内のファイルシステム
JP2009086980A (ja) ロギングシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040323

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040713