JPH08137763A - フラッシュメモリ制御装置 - Google Patents

フラッシュメモリ制御装置

Info

Publication number
JPH08137763A
JPH08137763A JP27146394A JP27146394A JPH08137763A JP H08137763 A JPH08137763 A JP H08137763A JP 27146394 A JP27146394 A JP 27146394A JP 27146394 A JP27146394 A JP 27146394A JP H08137763 A JPH08137763 A JP H08137763A
Authority
JP
Japan
Prior art keywords
flash memory
data
command sequence
control
read
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
JP27146394A
Other languages
English (en)
Inventor
Fumio Usui
文雄 臼井
Toshimitsu Kinugasa
利光 衣笠
Tomomori Kinoshita
智盛 木下
Kyozo Sano
恭三 佐野
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.)
Fujitsu Ltd
Fujitsu Peripherals Ltd
Original Assignee
Fujitsu Ltd
Fujitsu Peripherals Ltd
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 Fujitsu Ltd, Fujitsu Peripherals Ltd filed Critical Fujitsu Ltd
Priority to JP27146394A priority Critical patent/JPH08137763A/ja
Priority to US08/494,997 priority patent/US5793774A/en
Publication of JPH08137763A publication Critical patent/JPH08137763A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/109Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

(57)【要約】 【目的】この発明は、フラッシュメモリ制御装置に関
し、フラッシュメモリに記憶されるデータにエラーチェ
ック用データを付加することによってフラッシュメモリ
を用いたシステムの信頼性を向上させることを目的とす
る。 【構成】 データを記憶する第1のフラッシュメモリ
と、データのエラーチェック用コードを生成する検査コ
ード生成手段と、検査コード生成手段によって生成され
るエラーチェック用コードを記憶する記憶手段と、前記
第1のフラッシュメモリに対してデータの読出し又は書
込みのための一連の処理を実行すると共に、その一連の
処理の実行中に前記第1のフラッシュメモリに記憶され
るデータに対応して前記検査コード生成手段によって生
成されるエラーチェック用コードを前記記憶手段に記憶
する制御手段とを備えることを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、フラッシュメモリ制
御装置に関し、特にフラッシュメモリに記憶されるデー
タにエラーチェック用コードを付与するフラッシュメモ
リ制御装置に関する。また、この発明は、フラッシュメ
モリに対して初期化処理を行うフラッシュメモリ制御装
置に関する。
【0002】
【従来の技術】フラッシュメモリは、電気的に書き換え
可能なEEPROMの一種で、近年、大容量化、高速
化、低価格化が進み、パーソナルコンピュータやワーク
ステーションなどに採用されることが多くなってきた。
また、これらの装置においても信頼性の高いシステムが
要求されることから、データについては、パリティチェ
ック方式やECC(Error Check and Correction )方
式に代表されるようなエラー検出及び訂正機能の付加が
必須となっている。
【0003】フラッシュメモリは、その内部に消去・書
込みのための制御回路を内蔵したEEPROMの一種
で、設定値等の記憶に代表されるような補助的な記憶装
置として用いられることが多かった。これは、電源切断
により記憶データが消失することはないが、消去・書込
みの際には専用のコマンドシーケンスをデータ端子より
与えなければならない点において、一般のメモリとは異
なる複雑な制御が必要だからである。
【0004】図15に、フラッシュメモリに対してアク
セスをする場合のコマンドシーケンスの一例を示す。A
は、フラッシュメモリに対してリード又はリセットをす
る場合のシーケンスであり、アドレス5555H(Hは
16進数であることを示す記号)にデータAAHをライ
トし、アドレス2AAAHにデータ55Hをライトし、
アドレス5555HにF0Hをライトし、さらに読出そ
うとするデータが格納されている読出しアドレスをリー
ドすることによって、読出そうとするデータを読み出
す。以上のような4つのシーケンスにより、読出そうと
するデータをリードすることができ、これ以降はのリ
ードシーケンスのみで連続して読出しが可能となる。
【0005】Bはデータのイレーズをする場合のコマン
ドシーケンスであり、同図に示すような7つのシーケン
スによりデータのイレーズができる。Cはデータをライ
トをする場合のコマンドシーケンスであり、同図に示す
ような5つのシーケンスによりデータのライトができ
る。このライトコマンドシーケンスは毎回行うことが必
要である。
【0006】以上のように、フラッシュメモリに対して
データの読出し又は書込みをする場合には、コマンドシ
ーケンスを実行する必要があるが、通常このコマンドシ
ーケンスはCPU等のバスマスタが行っている。また、
コマンドシーケンスの実行途中において電源の瞬暖が発
生したり、リセットをする場合には、CPUが直接フラ
ッシュメモリに対してコマンドシーケンスを発行してフ
ラッシュメモリを初期化する必要がある。
【0007】
【発明が解決しようとする課題】以上のように、フラッ
シュメモリに対してデータの読出し又は書込みをするに
は、コマンドシーケンスを必要とするため、フラッシュ
メモリに記憶されるデータにはパリティビットやECC
ビットを付加することができず、フラッシュメモリを用
いたシステムの信頼性を向上させることができないとい
う問題を生じていた。
【0008】この発明は、以上のような事情を考慮して
なされたものであり、フラッシュメモリ制御装置におい
て、データにパリティビット及びECCビット等のエラ
ーチェック用コードを付加させてエラーチェックを行う
ことにより、フラッシュメモリを用いたシステムの信頼
性を向上させることのできるフラッシュメモリ制御装置
を提供することを目的とする。
【0009】また、一般にフラッシュメモリの動作電圧
レベルとCPUの動作電圧レベルが異なるので、フラッ
シュメモリへのコマンドシーケンス実行中に電源の瞬断
が発生した場合には、CPUはパワーオンリセットされ
るにもかかわらずフラッシュメモリは動作が継続される
という状況が発生し、CPUとフラッシュメモリとの間
のシーケンスが乱れ誤動作するおそれがあった。また、
CPUによるコマンドシーケンス実行中にリセットがさ
れた場合も、同様の問題が発生し誤動作するおそれがあ
った。
【0010】フラッシュメモリにデータを書込む場合に
は、前記したように、CPUが直接フラッシュメモリに
対してそのつどコマンドシーケンスを実行しなければな
らず、CPUの負荷が大きいという問題点がある。ま
た、このようなコマンドシーケンスを実行する必要があ
るため、ダイナミックメモリアクセスコントローラ(D
MAC)からフラッシュメモリに対して、直接DMA転
送することが困難であるという問題がある。
【0011】この発明は、以上のような事情を考慮して
なされたものであり、電源投入時又はリセット時等にお
いて、フラッシュメモリに対してCPUを介さずにコマ
ンドシーケンスを実行することのできるフラッシュメモ
リ制御装置を提供することを目的とする。
【0012】
【課題を解決するための手段】図1にこの発明のフラッ
シュメモリ制御装置の第1の基本構成ブロック図を示
す。同図において、この発明は、データを記憶する第1
のフラッシュメモリ104と、データのエラーチェック
用コードを生成する検査コード生成手段103と、検査
コード生成手段103によって生成されるエラーチェッ
ク用コードを記憶する記憶手段105と、前記第1のフ
ラッシュメモリ104に対してデータの読出し又は書込
みのための一連の処理を実行すると共に、その一連の処
理の実行中に、前記第1のフラッシュメモリ104に記
憶されるデータに対応して前記検査コード生成手段10
3によって生成されるエラーチェック用コードを前記記
憶手段105に記憶する制御手段101とを備えること
を特徴とするフラッシュメモリ制御装置を提供するもの
である。
【0013】ここで、記憶手段105は、たとえば揮発
性メモリを使用することができ、この場合は、揮発性メ
モリに記憶されたエラーチェック用コードを保持させる
電源手段106をさらに備えておくことが好ましい。こ
のような記憶手段105及び電源手段106を用いた第
2の基本構成ブロック図を図2に示す。
【0014】揮発性メモリとしてはSRAM,DRAM
等を用いることができるが、特にSRAMを用いること
が好ましい。この発明の装置を安価に提供することがで
きるからである。また電源手段106としては、この発
明の装置全体の電源が切れても揮発性メモリを電気的に
バックアップできる電源であれば何でもよいが、電池を
用いることが好ましい。
【0015】フラッシュメモリ104は、その内部に消
去・書込みのための制御回路を内蔵した電気的に書き替
え可能なEEPROMの一種であり、駆動用電源の供給
がなくても記憶を保持する不揮発性メモリである。
【0016】検査コードで生成手段103は、通常1チ
ップのICや論理回路で構成されるものであるがソフト
ウェアによって実現してもよい。また、検査コード生成
手段103に入力されるデータは、8ビット又は16ビ
ット等の長さを持つデータであり、出力されるエラーチ
ェック用コードは通常1ビットのデータ長を持つデータ
であるが、このデータ長は特に限定されない。
【0017】エラーチェック用コードを生成する方式と
しては、パリティチェック方式あるいはECC方式等が
用いられるが、これに限定するものではない。また、パ
リティチェック方式として、偶数パリティチェック方式
又は奇数パリティチェック方式のどちらを用いてもよ
い。
【0018】制御手段101は、通常マイクロプロセッ
サ(CPU)が用いられるが、この中に、RAM、RO
M、タイマー及びI/Oコントローラなどを含むいわゆ
るワンチップ型のマイクロプロセッサを用いてもよい。
また、制御手段101としては、アドレスバス、データ
バスを自己のために専有できるバスマスタであればよ
く、たとえばDMACでもよい。また、図示していない
が、検査コード生成手段(P/G)103、フラッシュ
メモリ104及び記憶手段105は、アドレスバス及び
データバスによって制御手段101に接続されているこ
とは言うまでもない。
【0019】さらに、図3の第3の基本構成ブロック図
に示すように、前記第1のフラッシュメモリ104及び
前記記憶手段105の動作を制御するメモリ制御手段1
02と、前記制御手段101が実行する一連の処理のう
ち第1のフラッシュメモリ104に対しデータを読出し
又は書込むための前処理であるコマンドシーケンスを検
出するコマンドシーケンス検出手段107をさらに備
え、前記コマンドシーケンス検出手段107が前記コマ
ンドシーケンスを検出した場合には、前記メモリ制御手
段102が、前記コマンドシーケンス検出手段107か
らの検出情報を受け、コマンドシーケンス実行中は前記
記憶手段105に対する読出し及び書込みができないよ
うに前記記憶手段105を制御することが好ましい。
【0020】また、前記コマンドシーケンス検出手段1
07が前記コマンドシーケンスが終了したことを検出し
た場合に、前記メモリ制御手段102が、このコマンド
シーケンス直後に制御手段101による実際のデータの
読出し又は書込み処理が実行できるように前記第1のフ
ラッシュメモリ104を制御し、エラーチェック用コー
ドの読出し又は書込みが実行できるように前記記憶手段
105を制御することが好ましい。
【0021】ここで、メモリ制御手段102は、前記第
1のフラッシュメモリ104や記憶手段105の動作を
制御するための、いわゆるチップセレクト信号を送出す
るものであり、論理素子を組合わせて構成されることが
好ましい。このチップセレクト信号は、第1のフラッシ
ュメモリ104等に対するリード又はライトを許可ある
いは禁止するものである。コマンドシーケンス検出手段
107は、アドレスデコード、アドレス検出、データ検
出及びコマンドシーケンスの開始や終了を検出するもの
であり、通常論理素子を組合わせて構成されるものであ
るが、これに限定されない。ここでコマンドシーケンス
とは、フラッシュメモリにデータを書込んだり、フラッ
シュメモリからデータを読み出すときに必要となる一連
の処理のことである。
【0022】一般に、通常のRAMやROMに対してデ
ータのリード処理又はライト処理をする場合には、直接
CPU101がリード命令あるいはライト命令をRAM
又はROMに送出すればよいが、フラッシュメモリに対
しては、実際にデータのリード処理やライト処理をする
前に、フラッシュメモリ特有の一連の処理をする必要が
ある。
【0023】たとえばあるフラッシュメモリでは、図1
3又は図14に示したようなコマンドシーケンスをしな
ければ実際のデータのリード又はライトができない。す
なわち、コマンドシーケンス検出手段107は、このよ
うなコマンドシーケンスが開始されたこと及び終了した
ことを検出するものであり、通常この検出に対応した制
御信号が出力される。
【0024】図3においては、コマンドシーケンス検出
手段107から出力された制御信号は、メモリ制御手段
102に入力され、これにより、メモリ制御手段102
の動作が制御される。なお、図3には直接図示していな
いが、メモリ制御手段102及びコマンドシーケンス検
出手段107にはアドレスバス及びデータバスを通して
制御手段101が接続される。
【0025】また、図4にこの発明の第4の基本構成ブ
ロック図を示す。ここで、この発明は、前記記憶手段1
05が第2のフラッシュメモリからなり、前記第1のフ
ラッシュメモリ104及び前記第2のフラッシュメモリ
105の動作を制御するメモリ制御手段102と、前記
制御手段101が接続される第1の経路と前記検査コー
ド生成手段103が接続される第2の経路とのどちらか
一方を選択し、第2のフラッシュメモリ105に接続す
る選択手段108とを備え、前記制御手段101が、前
記一連の処理のうち第1のフラッシュメモリ104に対
してデータを読出し又は書込むための前処理であるコマ
ンドシーケンスを実行する場合には、第2のフラッシュ
メモリ105に対してもこのコマンドシーケンスが実行
されるように前記選択手段108が第1の経路を選択
し、前記制御手段101が、前記一連の処理のうち第1
のフラッシュメモリ104に対してデータの読出し又は
書込みを実際に行う場合には、第2のフラッシュメモリ
105に対して前記エラーチェック用コードの読出し又
は書込みが実行されるように前記選択手段108が第2
の経路を選択し、第1のフラッシュメモリ104に記憶
されるべき実際のデータに対応するエラーチェック用コ
ードのみを、第2のフラッシュメモリ105に記憶させ
ることを特徴とするフラッシュメモリ制御装置を提供す
るものである。
【0026】選択手段108は、いわゆるマルチプレキ
サ(MUX)をその主要部として、2つの経路の選択接
続の機能を実現するように、いくつかの論理素子を組み
合わせて構成することが好ましい。ここで、第1の経路
とは、データを通すバスラインであり、いわゆるデータ
バスがこれに相当し、ここでは、選択手段108と制御
手段101が接続される。また第2の経路とは、検査コ
ード生成手段103から送出されるエラーチェック用コ
ードを通すバスラインであり、検査コード生成手段10
3と選択手段108とを接続するものである。
【0027】また、選択手段108と第2のフラッシュ
メモリ105とを接続するラインもデータを通すバスラ
インであり、このバスライン上には、第1の経路上を通
ってきたデータあるいは第2の経路上を通ってきたエラ
ーチェック用コードが選択手段108から送られる。
【0028】図5に、この発明の第5の基本構成ブロッ
ク図を示す。ここで、図4に示した選択手段108が、
前記制御手段101から書込まれる選択情報を保持する
保持手段109と、前記保持手段109に書込まれた選
択情報から前記第1の経路と前記第2の経路とのどちら
か一方を第2のフラッシュメモリ105に選択接続する
動作を行う接続切替手段110とを備えるものである。
【0029】さらに、前記制御手段101が、前記コマ
ンドシーケンスを開始することを示すON情報を前記保
持手段109に書込んだ場合には、前記接続切替手段1
10が前記第1の経路を選択接続した後前記制御手段1
01が前記コマンドシーケンスを実行し、前記制御手段
がコマンドシーケンスが終了したことを示すOFF情報
を前記保持手段109に書込んだ場合には、前記接続切
替手段110が前記第2の経路を選択接続した後前記制
御手段101が前記エラーチェック用コードの読出し又
は書込みを実行することを特徴とする。
【0030】ここで、保持手段109は、設定データを
保持するための論理素子が好ましく、たとえばレジスタ
を用いることが好ましいが、これに限定されるものでは
ない。また、保持手段109は、接続切替手段110に
接続され、制御手段101が、接続切替手段110を制
御するための所定の数値を保持手段109に書込む。ま
た、接続切替手段110としては、前記したようなマル
チプレキサ(MUX)を用いることが好ましい。
【0031】接続切替手段110は、第1の経路を通し
て制御手段101に接続され、第2の経路を通して検査
コード生成手段103に接続され、さらに別の経路によ
って第2のフラッシュメモリ105にも接続される。ま
た、保持手段109は、その中に書込まれた数値によっ
て決められる信号を接続切替手段110へ出力する。す
なわち、制御手段101が保持手段109に書込む値に
よって接続切替手段110が制御される。
【0032】図6に、この発明の第6の基本構成ブロッ
ク図を示す。同図において、この発明は、前記選択手段
108が、前記コマンドシーケンスを検出するコマンド
シーケンス検出手段107をさらに備え、前記コマンド
シーケンス検出手段107が、前記コマンドシーケンス
が終了したことを検出し前記保持手段109にこの終了
通知を行った場合に、保持手段109の保持内容がOF
F情報に自動的に書き替えられ、前記制御手段101が
前記エラーチェック用コードの読出し又は書込みを実行
することを特徴とするフラッシュメモリ制御装置を提供
するものである。
【0033】ここで、コマンドシーケンス検出手段10
7は、保持手段109に接続されて、コマンドシーケン
スが終了したことを示す信号を保持手段109に出力す
るように論理素子を組合わせて構成される。すなわち、
コマンドシーケンス終了時において、制御手段101に
よらず、コマンドシーケンス検出手段107が保持手段
109を制御し、その結果接続切替手段110を制御す
る構成を備えたものである。
【0034】図7に、この発明の第7の基本構成ブロッ
ク図を示す。同図において、この発明は、前記選択手段
108が、前記コマンドシーケンスを検出するコマンド
シーケンス検出手段107と、前記コマンドシーケンス
検出手段107から送られる情報によって前記第1の経
路と前記第2の経路とのどちらか一方を第2のフラッシ
ュメモリ105に接続する動作を行う接続切替手段11
0とを備え、前記コマンドシーケンス検出手段107が
コマンドシーケンスの開始を検出した場合には、前記コ
マンドシーケンス検出手段107は、前記接続切替手段
110が前記第1の経路を第2のフラッシュメモリ10
5に接続するように情報を前記接続切替手段110に送
り、前記コマンドシーケンス検出手段107が、コマン
ドシーケンスの終了を検出した場合には、前記コマンド
シーケンス検出手段107は、前記接続切替手段110
が前記第2の経路を第2のフラッシュメモリ105に接
続するように情報を前記接続切替手段110に送ること
を特徴とするフラッシュメモリ制御装置を提供するもの
である。
【0035】ここで、コマンドシーケンス検出手段10
7は、接続切替手段110に直接接続されて、コマンド
シーケンスの検出状況に応じて接続切替手段110を制
御する信号を出力するように構成される。すなわち、接
続切替手段110の切替動作の制御は制御手段101を
介さずに、コマンドシーケンス検出手段107が直接行
う。
【0036】図8に、この発明の第8の基本構成ブロッ
ク図を示す。同図において、この発明は、図1に示した
この発明の第1の基本構成ブロックに、前記検査コード
生成手段103によって生成されたエラーチェック用コ
ードと、前記記憶手段105に記憶されたエラーチェッ
ク用コードとを比較する比較手段111をさらに備えた
ものである。ここで、比較手段111は、入力される2
つのエラーチェック用コードが一致するかどうかを判断
する機能を実現するように、論理素子が組み合わせられ
て構成される。なお、図示していないが、比較手段11
1は、比較の結果、一致したか否かを外部へ知らせる出
力を有することが好ましい。
【0037】前記エラーチェック用コードとしてパリテ
ィビットを利用する場合には、比較手段111はパリテ
ィビットによるエラーを検出し、前記エラーチェック用
コードとしてECCビットを利用する場合には、比較手
段111はECCビットによるエラーを検出しさらにエ
ラー訂正を行う。
【0038】図16に、この発明のフラッシュメモリ制
御装置の第9の基本構成ブロック図を示す。同図におい
てこの発明は、フラッシュメモリ121と、初期化情報
を発生する初期化手段123と、フラッシュメモリ12
1に対してデータの読出し及び書込みのための制御を行
う信号検出制御手段122とを備え、前記信号検出制御
手段122が、前記初期化手段123から出力される所
定の初期化情報を検出した場合に、フラッシュメモリ1
21に対して初期化処理をすることを特徴とするフラッ
シュメモリ制御装置を提供するものである。
【0039】図17に、この発明のフラッシュメモリ制
御装置の第10の基本構成ブロック図を示す。同図にお
いて、この発明は、フラッシュメモリ121と、フラッ
シュメモリ121に対してデータの読出しおよび書込み
のための制御を行う信号検出制御手段122と、データ
書込み手段124とを備え、前記信号検出制御手段12
2が、データ書込み手段124から出力されるデータ書
込み情報を検出した場合に、フラッシュメモリ121に
対してデータ書込み処理を実行することを特徴とするフ
ラッシュメモリ制御装置を提供するものである。
【0040】また、同図に示すように、データ読出し手
段125を備えて、入力されるデータ読出し信号を検出
した場合に、フラッシュメモリ121に対してデータ読
出し処理を実行するようにしてもよい。
【0041】ここで、フラッシュメモリ121は、前記
したフラッシュメモリ104と同様に、電気的に書き替
え可能なEEPROMの一種である。また、信号検出制
御手段122は、入力される情報に応じて、フラッシュ
メモリ121に対して初期化処理又はデータの書込み処
理あるいは読出し処理を実行するものであり、所定の処
理が実行できるように論理素子を組合せて構成されるこ
とが好ましい。この構成は、汎用のロジックICを用い
てもよいが、システムの規模、汎用性、経済性等を考慮
してASICを用いることが好ましく、さらに専用の1
チップLSIとして供給してもよい。
【0042】初期化手段123は、通常コンピュータを
用いたシステムで用いられるいわゆるパワーオンリセッ
ト制御回路やリセット制御回路を意味し、電源投入時に
システムを構成するハードウェアすべての初期化を自動
的に行うとともに、システム異常時及び必要な時に外部
からの指示入力によってシステムを構成するハードウェ
アのすべてあるいは一部の初期化を行うものである。
【0043】パワーオンリセット制御回路やリセット制
御回路は、専用ICが数多く市販されているのでそれを
用いることが好ましいが、プリント基板上に論理素子を
配置して構成してもよい。
【0044】なお、初期化処理とは、ハードウェアが正
常動作できるように初期値や動作モード等の設定を行う
ものであり、特に、フラッシュメモリに対する初期化処
理とはフラッシュメモリの動作モードを読出しモードに
設定することをいう。この読出しモードに設定するため
には、フラッシュメモリの仕様によって異なるが、一般
的にはフラッシュメモリの所定のアドレスに対して何回
かの所定のデータの書込みを行うことが必要である。
【0045】データ書込み手段124及びデータ読出し
手段125は、コンピュータシステムにおいて、いわゆ
るバスマスタとなりうるCPU、DMACその他これに
類する機能デバイスが用いられる。ここで、バスマスタ
とは、アドレスバスやデータバスを自己のために専有す
ることのできる機能デバイスのことを意味する。
【0046】また、通常CPU等は、データ書込み手段
124及びデータ読出し手段125としての両機能を備
えており、RAM、ROMあるいはフラッシュメモリの
ようなEEPROMに対して読出し及び書込みの処理を
することによってシステムの機能を実現する。
【0047】この発明におけるフラッシュメモリに対す
るデータ書込み処理及びデータ読出し処理とは、一般的
なメモリであるRAMあるいはROMと異なり、実際に
データを書込み/読出す動作に加えて、それに先立って
行われるフラッシュメモリ特有の一連の書込み動作を含
むものである。
【0048】
【作用】図1において、この発明によれば、第1のフラ
ッシュメモリ104に記憶されるデータに対応したエラ
ーチェック用コードを記憶手段105に記憶するので、
このエラーチェック用コードを利用したエラーチェック
機能によってフラッシュメモリに記憶されたデータの信
頼性及びフラッシュメモリを用いたシステムの信頼性の
向上をはかることができる。
【0049】また、図2において、エラーチェック用コ
ードを記憶する記憶手段105として揮発性メモリを用
いるので、安価な回路構成でフラッシュメモリを用いた
システムの信頼性の向上をはかることができる。しか
も、電源手段106によって揮発性メモリをバックアッ
プするので、フラッシュメモリを用いたシステムの電源
が切断されてもエラーチェック用コードの保持が可能で
ある。
【0050】図3において、この発明は、コマンドシー
ケンス検出手段107を備え、これによって第1のフラ
ッシュメモリ104に対するコマンドシーケンスを検出
する。そして、コマンドシーケンス実行中は、コマンド
シーケンス検出手段107から検出情報がメモリ制御手
段102に出力される。メモリ制御手段102は、この
検出情報を受けて、記憶手段105に対する読出し又は
書込みができないように前記記憶手段105を制御す
る。
【0051】さらに、コマンドシーケンス検出手段10
7がコマンドシーケンスが終了したことを検出した場合
には、その終了の検出信号より、メモリ制御手段102
が、実際のデータの読出し又は書込みが実行できるよう
に第1のフラッシュメモリ104を制御し、エラーチェ
ック用データの読出し又は書込みが実行できるように記
憶手段105を制御する。
【0052】このように制御することにより、コマンド
シーケンス実行中は、記憶手段105に対する読出し又
は書込みが禁止されるので、実際のデータに対応するエ
ラーチェック用コード以外、すなわち無用なエラーチェ
ック用コードは記憶手段に記憶されないようにできる。
【0053】図4において、エラーチェック用コードを
記憶する手段として第2のフラッシュメモリ105を用
い、さらに選択手段108を設けて、第1のフラッシュ
メモリ104に対してコマンドシーケンス実行中は、第
2のフラッシュメモリ105に対してもコマンドシーケ
ンスを実行させるようにし、コマンドシーケンス終了
後、第1のフラッシュメモリ104に対して実際のデー
タの読出し又は書込みを行う場合には、第2のフラッシ
ュメモリに対してエラーチェック用コードの読出し又は
書込みが行われるようにするので、記憶手段を電池によ
ってバックアップする必要はなく、長時間システムの電
源が切断された場合にも、第1のフラッシュメモリに記
憶されるデータの信頼性を保持することができる。
【0054】図5において、制御手段101が、コマン
ドシーケンスを開始することを示すON情報又はコマン
ドシーケンスが終了したことを示すOFF情報を、保持
手段109に書込むことにより、接続切替手段110が
接続すべき経路の選択をするので、簡単なハードウェア
構成を用いファームウェアによる制御によって第1のフ
ラッシュメモリに記憶されるデータの信頼性を向上させ
ることができる。
【0055】図6において、この発明はコマンドシーケ
ンス検出手段107を備え、コマンドシーケンスが終了
したことを検出してこれを保持手段109 に伝え、さら
に接続切替手段110に対して切替制御を出すようにし
ているので、図5のものと比べて制御手段の負担を軽減
することができる。
【0056】図7において、この発明は、コマンドシー
ケンス検出手段107の出力を直接接続手段110に接
続し、コマンドシーケンス検出手段107がコマンドシ
ーケンスの開始又は終了されたことを検出して、接続切
替手段110に情報を送るので、制御手段101によっ
て直接接続切替手段110を制御する必要がなく、ハー
ドウェアの動作によって第1のフラッシュメモリに記憶
されるデータの信頼性の向上をはかることができる。
【0057】図8において、この発明によれば、比較手
段111が、検査コード生成手段103によって生成さ
れたエラーチェック用コードと、記憶手段105に記憶
されたエラーチェック用コードとを比較するので、フラ
ッシュメモリに記憶されるデータに誤りがないかどうか
常にチェックすることができ、データの信頼性の確保と
フラッシュメモリを用いたシステムの信頼性の向上をは
かることができる。
【0058】また、エラーチェック用コードとしてパリ
ティビットを利用すればパリティビットによるエラー検
出が可能である。また、エラーチェック用コードECC
ビットを利用すればECCビットによるエラー検出訂正
が可能である。
【0059】この発明によれば、信号検出制御手段12
2が、所定の初期化情報を検出し、フラッシュメモリ1
21に対して初期化処理をするので、電源の瞬断又は異
常時あるいは必要な時のリセット要求が発生した場合に
フラッシュメモリに対する読出し及び書込みの動作が不
能になることを防止できる。
【0060】また、信号検出制御手段122が、データ
書込み手段124又はデータ読出し手段125から出力
されるデータ書込み情報又はデータ読出し情報を検出し
た場合に、データ書込み手段124又はデータ読出し手
段125に代わって、信号検出制御手段122がフラッ
シュメモリ121に対してデータの書込み処理又はデー
タの読出し処理を実行するので、データ書込み手段12
4又はデータ読出し手段125すなわちマイクロプロセ
ッサの負担を軽減することができる。
【0061】また、データ書込み手段124又はデータ
読出し手段125がダイナミックメモリアクセスコント
ローラである場合にはフラッシュメモリへのDMA転送
が可能である。
【0062】
【実施例】以下、図に示す実施例に基づいてこの発明を
詳述する。なお、これによってこの発明が限定されるも
のではない。図9に、この発明のフラッシュメモリ制御
回路の第1実施例を示す。この実施例は、電池によりバ
ックアップされたN×1(bit)のSRAM5を用い
てパリティデータを付加するものである。
【0063】ここで、1はプロセッサ(CPU)であ
り、予め組み込まれたプログラムに従い命令を実行する
ものであり、2はフラッシュメモリ4及びSRAM5の
各メモリのリード、ライトなどをコントロールするメモ
リ制御回路、3はデータのパリティを生成するパリティ
ジェネレータ(以下、P/Gと呼ぶ)である。
【0064】また、4はフラッシュメモリであり、CP
U1からの所定のコマンドシーケンスによりデータの消
去・書き込みが可能な不揮発性メモリである。5は、ス
タティックランダムアクセスメモリ(SRAM)であ
り、データの保持動作が不要な揮発性メモリである。6
はこのフラッシュメモリ制御回路を内蔵する本体装置の
電源が切断された後もSRAM5を駆動するための電池
である。この電池としては、たとえば、アルカリ電池、
リチウム電池あるいはニッカド電池などを用いることが
できる。
【0065】7−1はCPU1に接続されたアドレスバ
スa、データバスb、リードライトcの信号線を通して
行われるコマンドシーケンスを検出するコマンドシーケ
ンス検出回路であり、特にこの実施例においては、メモ
リ制御回路2を介してSRAM5のセレクト信号e−5
をインヒビットするものである。
【0066】10は、パリティチェック回路であり、P
/G3で生成されたパリティとCPU1がフラッシュメ
モリ4からリードしたデータから求められるパリティの
値とを比較してパリティエラーのチェックを行うもので
ある。11はECC(Error Checking and Correctio
n)回路であり、ECCデータによるECCエラーのチ
ェックを行うものである。
【0067】13は、8ビットのダイレクトメモリアク
セスコントローラ(以下、DMACと呼ぶ)であり、C
PU1とは独立してバスを獲得してメモリへのデータの
書込み読出しを行うものであり、14はリードオンリー
メモリ(以下、ROMと呼ぶ)であり、CPU1が動作
を行うプログラムを格納しているものである。
【0068】また、aはCPU1から出されるアドレス
信号を転送するアドレスバス、bはCPU1のデータ信
号を転送するデータバス、cはリードライトの信号線で
あり、CPU1からのリード又はライトサイクルを区別
する信号線、dはパリティデータバスであり、P/G3
により生成されたパリティデータ又はSRAM5からリ
ードされたパリティデータを転送するバスである。
【0069】また、eはセレクト信号線であり、e−4
がフラッシュメモリ4を選択するチップセレクト信号、
e−5がSRAM5を選択するチップセレクト信号、e
−14がROMを選択するチップセレクト信号である。
またfはマスク信号であり、コマンドシーケンス実行中
にSRAM5のアクセスをマスクする信号、jはECC
データ信号を転送するECCデータバスである。
【0070】また、ここではCPU1は8ビットタイ
プ、アドレスバスaは16ビット、データバスbは8ビ
ット、パリティデータバスdは1ビット、ECCデータ
バスjは2ビット以上、フラッシュメモリ4はN×8ビ
ット(Nは自然数)、SRAM5はN×1ビット又はN
×8ビット(Nは自然数)とし、フラッシュメモリのデ
ータ幅8ビットに対して1ビットのパリティビットが付
加される。
【0071】kはメモリリード信号でありフラッシュメ
モリ4、SRAM5及びROM14に対しリードアクセ
スであることを示す信号、1はメモリライト信号であり
フラッシュメモリ4及びSRAM5に対しライトアクセ
スであることを示す信号、mはパリティエラー信号であ
りP/C10においてパリティエラーを検出したことを
示す信号、nはECCエラー信号でありECC回路11
においてECCエラーを検出したことを示す信号、oは
リクエスト信号でありDMAC13がCPU1に対しバ
ス獲得の要求があることを示す信号、pはアクノリッジ
信号でありCPU1がDMAC13のバス獲得要求に対
しバスを開放したことを示す信号である。
【0072】ここで、P/G3とP/C10はECC回
路11と置き換えてもよく、この場合パリティデータバ
スdはECCデータバスjに、パリティエラーmはEC
Cエラーnとなる。
【0073】同図において、フラッシュメモリ4へのデ
ータライトをする場合と考えると、データバスbを介し
て8ビットのデータがP/G3に入力されると、1ビッ
トのパリティデータが生成され、パリティデータバスd
を介してSRAM5にこのパリティデータがライトされ
る。
【0074】また、フラッシュメモリ4からデータリー
ドをする場合を考えると、SRAM5から1ビットのパ
リティデータがデータバスd上にリードされ、P/C1
0においてデータバスb上の8ビットデータから求めら
れるパリティの値とパリティデータバスd上の値とを比
較し、パリティエラーのチェックを行う。
【0075】ここでのパリティチェック方式について
は、偶数パリティチェック方式又は奇数パリティチェッ
ク方式の2種類があり、どちらを用いてもかまわない。
フラッシュメモリ4へのデータのリード・ライトの際に
そのデータのパリティデータを安価なSRAM5にリー
ド・ライトするようにしているので、コストアップを最
小限に抑え、フラッシュメモリの信頼性を向上すること
ができる。
【0076】図9において、コマンドシーケンス検出回
路7−1がない場合は、フラッシュメモリ4にデ−タの
リード・ライトをするに先立ってフラッシュメモリ4に
対して行われるコマンドシーケンス自体もパリティ付与
の対象となる。すなわち、コマンドシーケンス実行中に
もSRAM5に対してパリティのリード・ライトが行わ
れる。
【0077】これに対して図9のようにコマンドシーケ
ンス検出回路7−1がある場合には、以下に示すよう
に、コマンドシーケンスに対してはパリティのリード・
ライトを防止することができる。
【0078】通常、メモリ制御回路2はCPU1のアド
レスaをデコードしており、フラッシュメモリ4へのア
クセスである場合、セレクトe−4,e−5及びメモリ
リードkまたはメモリライト1をアサートしてフラッシ
ュメモリ4及びSRAM5へのメモリアクセスが行われ
る。
【0079】しかし、フラッシュメモリ4は一般のメモ
リとは異なり、データ書き込みを行う前にはコマンドシ
ーケンスによる消去と書き込み指示のライト及び消去完
了と書き込み完了の確認のリードが行われる。すなわ
ち、通常のメモリアクセスとコマンドシーケンスの違い
は、コマンドシーケンスが予め決められたアドレスに予
め決められたデータをライトする、若しくはそれに続き
予め決められたアドレスをリードする点にある。
【0080】そこでコマンドシーケンス検出回路7−1
は、アドレスバスa、データバスb及びリードライトc
を監視し、現在のバスサイクルが通常のメモリアクセス
であるのか、コマンドシーケンスであるのかを判別す
る。コマンドシーケンス検出回路7−1の一例を図10
に示す。
【0081】同図において、20はデコード回路であ
り、フラッシュメモリへのアクセスを検出する回路であ
る。21はアドレス検出回路であり、第1から第3のコ
マンドシーケンスのアドレスを検出する回路である。2
2はデータ検出回路であり、第1から第3のコマンドシ
ーケンスのデータを検出する回路である。23はコマン
ドシーケンス開始検出回路であり、コマンドシーケンス
の開始を検出回路である。
【0082】24はMUX制御回路であり、SRAM5
のアクセスをマスクするためのマスク信号fを出力して
メモリ制御回路を制御する回路、又はデータとパリティ
の切り換えを行うMUX8をコントロールhにより制御
する回路である。25はライトコマンドシーケンス検出
回路であり、ライトコマンドシーケンスを検出する回路
である。26はコマンドシーケンス完了検出回路であ
り、コマンドシーケンスの完了を検出する回路である。
【0083】1aはフラッシュメモリセレクトであり、
フラッシュメモリがセレクトされたことを示す信号であ
る。1bは1st−アドレス検出であり、コマンドシー
ケンスの第1アドレスが検出されたことを示す信号であ
る。1cは2nd−アドレス検出であり、コマンドシー
ケンスの第2アドレスが検出されたことを示す信号であ
る。1dは3rd−アドレス検出であり、コマンドシー
ケンスの第3アドレスが検出された事を示す信号であ
る。
【0084】1eは1st−データ検出であり、コマン
ドシーケンスの第1データが検出されたことを示す信号
である。1fは、2nd−データ検出であり、コマンド
シーケンス第2データが検出されたことを示す信号であ
る。1gは、3rd−データ検出であり、コマンドシー
ケンスの第3データが検出されたことを示す信号であ
る。1hは、3rd−ライトコマンド検出であり、コマ
ンドシーケンスの第3データがライトコマンドであった
ことを示す信号である。
【0085】1iは、コマンドシーケンスの開始検出で
あり、コマンドシーケンスの開始を検出したことを示す
信号である。1jは、ライトコマンドシーケンス検出で
あり、ライトコマンドのシーケンスを検出したことを示
す信号である。1kは、コマンドシーケンス完了検出で
あり、コマンドシーケンスの完了を示す信号である。
【0086】現在のバスサイクルがコマンドシーケンス
のライトである場合には、コマンドシーケンス検出回路
7−1はメモリ制御回路2に対してマスクfをアサート
することにより、SRAM5へのセレクトe−5をアサ
ートしないように通知する。これにより、SRAM5に
はライトが行われず、無用なパリティデータがライトさ
れるのを防止する。また、コマンドシーケンスのリード
である場合も同様に、SRAM5へのセレクトe−5は
アサートされず、無用なパリティデータがリードされて
パリティエラーとなることを防止する。
【0087】現在のバスサイクルが通常のメモリアクセ
スである場合は上述した様に、コマンドシーケンス検出
回路7−1からのマスクfはアサートされず、メモリ制
御回路2からセレクトe−4,e−5がアサートされ、
フラッシュメモリ4とSRAM5両方に対してアクセス
が行われる。
【0088】また、DMAC13がリクエストoにより
バスの獲得を要求し、CPU1がアクノリッジpにより
応答した後、DMAC13によって行われるバスサイク
ルも上記のCPU1のバスサイクルの場合と同様であ
る。すなわち、コマンドシーケンスのリード,ライトを
行っている場合はSRAM5へのアクセスは行わず、通
常のメモリアクセスの場合にのみSRAM5へのアクセ
スが行われる。
【0089】フラッシュメモリ4は電源が切断されても
その記憶データを保持する特性を有するので、本体装置
の電源が一旦切断されても、フラッシュメモリ4にライ
トされたデータは保持されている。又、SRAM5は随
時データの保持動作を必要としないが電源が切断される
と記憶したデータを保持出来ないため、電池6により本
体装置の電源が切断された時にSRAM5に電源の供給
を行うことにより、本体装置の電源が切断されてもデー
タを保持するようにする。
【0090】これにより、本体装置の電源が、一旦切断
され、その後再投入が行われた際も、フラッシュメモリ
4のデータと、SRAM5のパリティデータは保持され
る。又、パリティチェック方式ではなくECC方式を採
用する場合は、P/G3とP/C10の代わりにECC
回路11を用いてECCチェックを行う点が異なるが、
フラッシュメモリ4とSRAM5についての動作は同様
である。
【0091】図11に、この発明のフラッシュメモリ制
御回路の第2実施例を示す。この実施例は、フラッシュ
メモリ(4−1,4−p)を2個用い、バックアップ用
の電池を用いずに、一方のフラッシュメモリにパリティ
データを格納するものである。またここでは、パリティ
データの書込み又は読出しの制御のためにレジスタとフ
ァームウェアを利用する。
【0092】同図において、N×8ビートのデータ用の
フラッシュメモリ4−1と、パリティ用のフラッシュメ
モリ4−pを備える。また、8はマルチプレキサ(MU
X)であり、パリティ用のフラッシュメモリ4−pに格
納されるデータとして、コマンドデータとパリティデー
タとを切り替えるものである。9は、MUX8に対して
データを切り替えるためのコントロールクラブを保持す
るレジスタである。
【0093】また、7−2は7−1と同様のコマンドシ
ーケンス検出回路であり、ここからレジスタ9内のコン
トロールフラグを初期化するためのクリア信号iが出力
される。ローカルバスgはMUX8によって切り替えら
れて、CPU1のコマンドシーケンス実行中はデータバ
スbに接続され、CPU1の通常のフラッシュメモリ4
に対するライト又はリードサイクル中はパリティデータ
バスdに接続される。また、初期状態はパリティデータ
バスdへの接続となっている。ここで、フラッシュメモ
リ4−Pはローカルバスgに接続され、MUX8にはデ
ータバスb及びパリティデータバスdとが接続される。
【0094】フラッシュメモリ4−1へデータをライト
する場合には、そのデータに基づいてP/G3により生
成した1ビットのパリティデータをフラッシュメモリ4
−Pにライトし、フラッシュメモリ4−1からデータを
リードする場合には、フラッシュメモリ4−Pから1ビ
ットのパリティデータP1をパリティデータバスd上に
リードし、P/C10において、データバスb上にリー
ドされた8ビットデータから求められるパリティの値
と、パリティデータバスb上の値を比較しパリティエラ
ーのチェックを行う。
【0095】ただし、フラッシュメモリ4は一般のメモ
リとは異なりコマンドシーケンスを必要とするため、M
UX8はコマンドシーケンス実行時と通常のメモリアク
セス時との接続が異なるように、ローカルバスgの接続
を切り替える。すなわち、コマンドシーケンス実行時に
おいては、MUX8によってローカルバスgをデータバ
スbに接続させ、フラッシュメモリ4−Pとフラッシュ
メモリ4−1に対して同様のコマンドシーケンスを実行
させる。
【0096】また、通常のメモリアクセスを実行する場
合には、フラッシュメモリ4−Pにパリティデータをリ
ード又はライトするため、MUX8によってローカルバ
スgをパリティデータバスdに接続させ、パリティデー
タ専用のメモリとして取り扱うようにする。
【0097】以上のように、電池によるバックアップを
必要とするSRAMを用いないで、フラッシュメモリを
利用したパリティエラーチェックを行うので、長時間の
電源切断に対してもデータの信頼性を保証することがで
きる。
【0098】図11において、このMUX8の動作を制
御する方法の一例として、ファームウェアによる方法を
用いることとする。同図に示すように、ファームウェア
からMUX8を制御するための信号であるコントロール
hを出力するレジスタ9を備え、CPU1又はDMAC
13により、このレジスタに所定の値を書き込むことに
よってこのコントロールhを制御する。
【0099】ここで、レジスタ9にはコントロールhに
対応するコントロールフラグを設けて、CPU1等がこ
れに所定の値を書き込む。たとえば、コントロールフラ
ブにON情報を書き込んだ場合には、コントロールhは
ON状態とし、コントロールフラグにOFF情報を書き
込んだ場合には、コントロールhはOFF状態とする。
【0100】初期状態において、コントロールhはOF
F状態とし、このときMUX8はローカルバスgをパリ
ティデータバスdに接続させる。また、コマンドシーケ
ンスを実行する直前に、レジスタ9のコントロールhを
CPU1等によってON状態とし、MUX8を切り替
え、ローカルバスgをデータバスbに接続する。
【0101】コマンドシーケンスを完了し通常のメモリ
アクセスを行う場合は、再びレジスタ9のコントロール
hをOFFの状態とし、MUX8を切り替えて、ローカ
ルバスgをパリティデータバスbに接続し、パリティデ
ータのフラッシュメモリ4−Pへの書き込み又はフラッ
シュメモリ4−Pからの読み出しを行う。
【0102】以上のような構成に加えて、さらに図11
に示すようにコマンドシーケンス回路7−2を設けても
よい。このコマンドシーケンス回路7−2を設けること
により、図9に示したのと同様にコマンドシーケンスを
検出し、その完了時にコマンドシーケンス回路7−2か
ら出力されるクリアiをアサートすることにより、レジ
スタ9のコントロールhを初期化する。
【0103】この初期化動作により、コマンドシーケン
ス完了時に、自動的にMUX8が切替えられ、ローカル
バスgはパリティデータバスdに接続される。また、通
常のメモリアクセス動作に関しては、図9に示した第1
実施例と同様であり、メモリ制御回路2はCPU1のア
ドレスバスaをデコードし、フラッシュメモリ4へのア
クセスである場合には、セレクトe−1,e−P、及び
メモリリードkまたはメモリライトlをアサートして、
フラッシュメモリ4−1,4−Pへのメモリアクセスを
する動作を行う。
【0104】図13及び図14に、この第2実施例にお
けるライトコマンドシーケンスの例を示す。図13は、
コマンドシーケンス回路7−2を備えていない場合のコ
マンドシーケンスであり、図14はコマンドシーケンス
回路7−2を備えた場合のコマンドシーケンスである。
【0105】以下、これに基づいて第2実施例の動作を
説明する。コマンドシーケンスのライトを行う場合に
は、CPU1がレジスタ9のコントロールフラグをオン
にする動作を行うと、コントロールhによってMUX8
が切り替えられる。これは、図13の及び図14の
に対応し、この動作によりローカルバスgがデータバス
bに接続される。
【0106】なお、コマンドシーケンスがリードである
場合も、同様にCPU1がレジスタ9のコントロールフ
ラグをオンにすることにより、コントロールhを通して
MUX8を切り替え、ローカルバスgをデータバスbに
接続する。この後、ライトコマンドシーケンスが、フラ
ッシュメモリ4−1及び4−Pに対して実行される(図
13及び図14の〜)。
【0107】次に、通常のメモリアクセス(リード又は
ライト)が行われるが、このときCPU1によりレジス
タ9のコントロールフラグをオフすることにより、コン
トロールhを通じてMUX8を切り替え、ローカルバス
gをパリティデータバスdに接続する(図13の)。
あるいは、コマンドシーケンス検出回路7−2がある場
合は、コマンドシーケンス検出回路7−2がコマンドシ
ーケンスを検出してその完了時にクリアiをアサートす
る。
【0108】このときレジスタ9のコントロールフラグ
は自動的に初期化されて、コントロールhを通してMU
X8を切り替え、ローカルバスgはパリティデータバス
dに接続されるので、CPU1はそのままメモリアクセ
スを続行することができ、コマンドシーケンスを簡単化
できる。
【0109】すなわち、図14においては、図13に示
したCPU1によるシーケンスを省略できるので、C
PU1の負担を軽減することが可能である。この後、通
常のメモリアクセスであるデータの書込みが行われる
(図13の又は図14の)と共に、第1実施例と同
様にして、パリティデータがフラッシュメモリ4−Pに
格納される。すなわち、MUX8によってローカルバス
gがパリティデータバスdに接続されている場合には、
フラッシュメモリ4−pはフラッシュメモリ4−1のパ
リティデータ記憶用として動作する。
【0110】また、DMAC13がリクエストoにより
バスの獲得を要求し、CPU1がアクノリッジpにより
応答した後、DMAC13によって行われるバスサイク
ルも上記のCPU1の場合と同様である。
【0111】この第2実施例では、データと共にパリテ
ィデータもフラッシュメモリに記憶させておくため、回
路又は装置の電源が決断されても、フラッシュメモリに
ライトされたデータ及びパリティデータは保持されてい
る。又、パリティチェック方式ではなくECC方式であ
る場合は、P/G3とP/C/10の代わりにECC回
路11を用いて(この場合ECCデータバスjは2ビッ
ト以上となる)ECCチェックを行う点が異なるが、フ
ラッシュメモリ4−1,4−Pについての動作は同様で
ある。
【0112】このように、第2実施例において、フラッ
シュメモリにパリティデータを記憶することによって、
第1実施例では必要であったバックアップ用の電池を用
いずに、長時間の電源切断に対しても信頼性を確保する
ことができる。
【0113】また、MUX8の切り替え制御のためにレ
ジスタ9を設けて、ファームウェアによる切り替え制御
を行わせることによって、柔軟にフラッシュメモリの制
御が可能である。また、コマンドシーケンス検出回路7
−2を設けることにより、フラッシュメモリ制御のため
のCPU1の負担を軽減することができる。
【0114】図12に、この発明のフラッシュメモリ制
御回路の第3実施例を示す。この実施例は、第2実施例
と同様にフラッシュメモリ(4−1,4−P)を2個用
い、バックアップ用の電池を用いずにパリティデータを
格納するものである。ただし、ここでは、MUX8の制
御をすべてハードウェア的に行う。すなわち、図11に
おけるレジスタ9とその内部に保持されるコントロール
フラグの代わりに、コマンドシーケンス検出回路7−3
を設けて、この出力信号であるコントロールhによって
MUX8の制御を行う。
【0115】コマンドシーケンス検出回路7−3は、ア
ドレスバスa、データバスb及びリードライトcを監視
し、現在のバスサイクルが通常のメモリアクセスである
のか、コマンドシーケンスであるのかを判別して、その
出力信号コントロールhによってMUX8を制御する。
【0116】MUX8の初期状態は、ローカルバスgと
パリティデータdとが接続された状態であり、コマンド
シーケンスの実行中は、コントロールhによってMUX
8を切り替え、ローカルバスgをデータバスbに接続す
る。また、コマンドシーケンスが完了した後、コマンド
シーケンス検出回路7−3がコントロールhにより、M
UX8を切り替え、ローカルバスgをパリティデータバ
スdに接続し、初期状態に戻す。また、通常のメモリア
クセス動作は、図9及び図11の実施例と同様である。
【0117】次に、この第3実施例におけるライト及び
リードコマンドシーケンスの例を説明する。コマンドシ
ーケンスのライトを行う場合には、コマンドシーケンス
検出回路7−3が、CPU1のアドレスバスa、データ
バスb及びリードライトcから入力されるデータ及び信
号を解折して、コマンドシーケンスのライトであること
を検出し、コントロールhを通じてMUX8を切り替
え、ローカルバスgをデータバスbに接続する。この時
行われるコマンドシーケンスのライトは、フラッシュメ
モリ4−1,4−P両方に対して実行される。
【0118】また、コマンドシーケンスのリードである
場合も同様に、コマンドシーケンス検出回路7−3がC
PU1のアドレスバスa、データバスb及びリードライ
トcからコマンドシーケンスのリードであることを検出
し、コントロールhを通じてMUX8を切り替え、ロー
カルバスgをデータバスbに接続する。この時行われる
コマンドシーケンスのリードは、フラッシュメモリ4−
1,4−P両方に対して実行される。
【0119】コマンドシーケンス検出回路7−3がコマ
ンドシーケンスが終了したことを検出すると、コントロ
ールhを通じてMUX8を切り替える。これによって、
ローカルバスgはパリティデータdに接続されるため、
CPU1はそのまま通常のメモリアクセスを続行でき
る。
【0120】通常のメモリアクセスを行う場合は上述し
た様に、MUX8はローカルバスgをパリティデータバ
スdに接続している状態であるので、フラッシュメモリ
4−Pはフラッシュメモリ4−1のパリティデータ記憶
用として動作する。
【0121】また、DMAC13がリクエストoにより
バスの獲得を要求し、CPU1がアクノリッジpにより
応答した後、DMAC13によって行われるバスサイク
ルも上記のCPU1の場合と同様である。この第3実施
例でも、第2実施例と同様に回路又は装置の電源が切断
されても、フラッシュメモリ4にライトされたデータ及
びパリティデータはフラッシュメモリに保持されてい
る。
【0122】又、パリティチェック方式ではなくECC
方式である場合は、P/G3とP/C10の代わりにE
CC回路11を用いて(この場合ECCデータバスjは
2ビット以上となる)ECCチェックを行う点が異なる
が、フラッシュメモリ4−1,4−Pについての動作は
同様である。
【0123】このように、第3実施例において、コマン
ドシーケンス検出回路7−3によって直接ハードウェア
的にMUX8を制御しているので、第2実施例の場合と
比較してCPU1による制御には依存せずに、フラッシ
ュメモリに対するアクセス制御をすることができる。す
なわち、CPU1による複雑なソフトウェア制御なし
で、フラッシュメモリを用いたシステムの信頼性の向上
をはかることができる。
【0124】以下に、フラッシュメモリに対して、初期
化処理又は、CPUを介さずにコマンドシーケンスを実
行することのできるフラッシュメモリ制御装置の実施例
を示す。図18に、この発明のフラッシュメモリ制御装
置の一実施例における回路構成図を示す。同図におい
て、31はフラッシュメモリであり、32は、フラッシ
ュメモリ31に対してデータの読出しおよび書込み、さ
らにデータの読出しおよび書込みのためのコマンドシー
ケンスを実行するフラッシュメモリ制御回路である。
【0125】33は、パワーオンリセット制御回路であ
り、電源投入時にハードウェアのすべて又は一部を初期
化するものである。34、リセット制御回路であり、シ
ステム動作中に異常が発生した場合やその他必要な場合
等にハードウェアのすべて又は一部を初期化するもので
ある。ここで、パワーオンリセット制御回路33及びリ
セット制御回路34はそれぞれ通常1チップの論理素子
として実現されるが、両回路は、共用できる回路部分も
多いので両回路の機能を含んだ1つの論理素子として構
成することが好ましい。ハードウェアコストを押えられ
るからである。
【0126】35は、マイクロプロセッサ(CPU)で
あり、図示していないROMや、フラッシュメモリ31
に内蔵されるプログラムに従って命令を実行するもので
ある。36は、ダイナミックアクセスコントローラ(D
MAC)であり、CPUの介入なしに、RAMなどのメ
モリやI/Oコントローラに対して直接アクセスをする
ものである。
【0127】37は、アドレスバスドライバ(アドレス
DV)であり、フラッシュメモリ31及びフラッシュメ
モリ制御回路32へのアドレスバスを分離するものであ
る。38は、データバストランシーバ(データTRV)
であり、フラッシュメモリ31及びフラッシュメモリ制
御回路32へのデータバスを分離するものである。
【0128】また、信号a2は、パワーオンリセットP
RSTであり、パワーオンリセット制御回路33から電
源投入時に出力され、ハードウェア全部又は一部の初期
化を行う信号である。信号b2は、フラッシュメモリリ
ード(RD)であり、フラッシュメモリ31に格納され
たデータを読み出すための制御信号、信号c2はフラッ
シュメモリライト(WT)であり、フラッシュメモリ3
1へデータを書込むための制御信号である。
【0129】d2はメモリアドレスバス(RAMアドレ
スバス)であり、フラッシュメモリ31のアドレスを転
送するアドレスバス、e2はメモリデータバス(RAM
データバス)であり、フラッシュメモリ31のデータを
転送するデータバスである。信号f2はリセットRST
であり、CPU等の異常の場合や必要な時にハードウェ
アの全部又は一部を初期化する信号である。
【0130】信号g2はリードライト(R/W)であ
り、CPU35及びDMAC36が読出しサイクルにあ
るか書込みサイクルにあるのかをフラッシュメモリ制御
回路32等へ通知する制御信号である。h2は、プロセ
ッサアドレスバス(CPUアドレスバス)であり、CP
U35及びDMAC36に接続されたアドレスバス、i
2はプロセッサデータバス(CPUデータバス)であ
り、CPU35及びDMAC36に接続されたデータバ
スである。
【0131】信号j2は、レディ(RDY)であり、フ
ラッシュメモリ31の消去又は書込みが完了したことを
フラッシュメモリ制御回路32へ通知する信号、信号k
2は割込み(INT)であり、フラッシュメモリ31の
消去又は書込みが完了したことをフラッシュメモリ制御
回路32からCPU35へ通知する信号である。信号l
2はバスイネーブル(EN)であり、フラッシュメモリ
制御回路32がアドレスバスドライバ37及びデータバ
ストランシーバ38の開閉をコントロールする信号、信
号m2はリクエスト(REQ)であり、フラッシュメモ
リ制御回路32がDMAC36に次のデータを要求する
信号である。
【0132】信号n2は、リセット要求であり、外部あ
るいはスイッチ等によって入力され、異常又は必要な時
にリセット制御回路34にリセットを要求する信号であ
る。信号o2はアドレスストローブ(AS)であり、C
PU35又はDMAC36の出力したアドレスが有効で
あることを示す信号、信号p2はデータストローブ(D
S)であり、CPU35又はDMAC36のデータが有
効であることを示す信号である。
【0133】信号q2は、アクノリッジ(ACK)であ
り、フラッシュメモリ制御回路32がCPU35又はD
MAC36にフラッシュメモリに対するバスサイクルが
終結することを要求する信号である。信号r2は、バス
リクエスト(BR)であり、DMAC36がCPU35
に対してバスの専有を要求する信号、信号S2はバスグ
ラント(BG)であり、CPU35がバスリクエスト
(BR)に応答し、DMAC36のためにバスを開放し
たことを示す信号である。
【0134】図19に、図18におけるフラッシュメモ
リ制御回路32の一実施例の構成ブロック図を示す。4
0はコマンド識別回路であり、CPU35又はDMAC
36の制御信号(RST,PRSTなど)及びアドレス
/データバスよりフラッシュメモリ31へのコマンドを
識別する回路である。
【0135】41はコマンドタイミング回路であり、フ
ラッシュメモリ31へコマンドを発行する際のパルスタ
イミングを制御する回路である。42はバス制御回路で
あり、アドレスDV37及びデータTRV38を制御する回
路である。43はラッチ制御回路であり、データライト
サイクルのアドレスとデータのラッチを制御する回路で
ある。
【0136】44はリード/ライト制御回路であり、フ
ラッシュメモリ31へ発行するRD(b2)、WT(b
2)を制御する回路である。45はアドレスバスドライ
バ回路であり、RAMアドレスd2へアドレスを出力す
る回路である。46はデータバスドライバ回路であり、
RAMデータバスe2へデータを出力する回路である。
【0137】47はアドレスラッチ回路であり、CPU
35又はDMAC36のデータライトサイクルのアドレ
スをラッチする回路である。48はデータラッチ回路で
あり、CPU35又はDMAC36のデータライトサイ
クルのデータをラッチする回路である。49はアクノリ
ッジタイミング回路であり、データライトサイクルにお
いて、バスサイクルのアクノリッジを制御する回路であ
る。
【0138】50は割り込み制御回路であり、CPU3
5へのINT(k2)及びDMAC36へのREQ(m
2)を制御する回路である。コマンドアドレス♯0〜♯
nは、所定のコマンドのアドレスを格納する回路であ
る。コマンドデータ♯0〜♯nは、所定のコマンドのデ
ータを格納する回路である。
【0139】フラッシュメモリ制御回路32は、以上の
ような構成を持ち、たとえばCPUからデータ書込みの
コマンドを受信すると、コマンド識別回路40でコマン
ドが解析され、そのコマンドに対応して、フラッシュメ
モリ31に対してリード/ライト制御回路44からライ
ト信号WTが出力され、コマンドアドレス♯0〜♯n及
びコマンドデータ♯0〜♯nに格納されている所定のア
ドレス及びデータが出力される。
【0140】次に、この実施例の動作について説明す
る。ここで用いるフラッシュメモリ31は、一般のフラ
ッシュメモリ31と同様に、一連のコマンドシーケンス
当りフラッシュメモリ31に対して3回の書込みを必要
とするものとし、一連のコマンドシーケンスが完了した
後は自動的に読出しモードになるものとする。また、こ
の実施例においては、電源投入時にCPU35が実行す
る初期プログラムをフラッシュメモリ31に格納してい
るものとする。
【0141】まず、図18の構成を持つ装置に電源が投
入される場合のフラッシュメモリの制御方法について述
べる。図20に、電源投入又はリセット要求がされた場
合のタイムチャートを示す。
【0142】電源投入された直後には、パワーオンリセ
ット制御回路33より信号PRST(a2)がリセット
制御回路34へ一定時間出力され、さらに、リセット制
御回路34から信号RST(f2)がCPU等に対して
一定時間出力される。これにより、電源投入直後に初期
化されるべきハードウェア及び一般のリセットにより初
期化されるべきハードウェアが初期化される。図5にお
いてはCPU35及びDMAC36が初期化される。
【0143】フラッシュメモリ制御回路32において、
コマンド識別回路40にRST(f2)又はPRST
(a2)が入力されると、フラッシュメモリ31に対し
て一連のコマンドシーケンスが実行される。すなわち、
図5に示したように、3回のライト動作を実行する。こ
のとき、信号WTをアクティブにすると同時に、RAM
アドレスバスd2及びRAMデータバスe2を通して、
リセットに対するコマンドアドレス(CAI,CA2及
びCA3)とコマンドデータ(CD1,CD2及びCD
3)をフラッシュメモリ31へ出力する。
【0144】ここで、3回のライト動作におけるタイミ
ング調整はコマンドタイミング回路41が行い、そのタ
イミングに合わせてコマンドアドレス及びコマンドデー
タがそれぞれアドレスバスドライバ45及びデータバス
ドライバ46を通して出力される。
【0145】以上の動作により、フラッシュメモリ31
は読出しモードに設定されて、初期化が完了する。この
後、CPU35はフラッシュメモリ31に格納されたプ
ログラムを読出して初期プログラムが実行される。
【0146】このように、電源投入後にパワーオンリセ
ットがかかったとき、フラッシュメモリ制御回路32が
フラッシュメモリ31に対して初期化処理すなわち一連
のコマンドシーケンスを実行するようにしているので、
CPUの介在なしに、フラッシュメモリ31は必ず読出
しモードとなる。
【0147】すなわち、パワーオンリセットでコマンド
シーケンスが乱れて、フラッシュメモリに対して正常の
動作ができずCPUが誤動作することはない。したがっ
て、フラッシュメモリへのコマンドシーケンスの実行中
に電源の瞬断が発生した場合でも、フラッシュメモリに
格納されたデータやプログラムが読出せなくなることを
防止できる。これは、特に、電源投入時にCPU35が
実行する初期プログラムをフラッシュメモリ31に格納
しているシステムにおいて有効である。
【0148】また、異常又は必要な時にリセット要求n
2がリセット制御回路34に入力される場合も同様であ
る。
【0149】図20に示したように、リセット制御回路
34から信号RST(f2)が一定時間出力されて、こ
の間にパワーオンリセットのときと同様に、WT信号、
コマンドアドレス(CAI,CA2及びCA3)及びコ
マンドデータ(CD1,CD2及びCD3)がフラッシ
ュメモリ制御回路32からフラッシュメモリ31へ出力
される。すなわち、パワーオンリセットと同様に、フラ
ッシュメモリ31は読出しモードに設定され、フラッシ
ュメモリ31に格納されたプログラムがCPUによって
実行される。したがって、CPU35やDMAC36等
の異常時や、必要に応じて外部からシステムのリセット
をかける場合にも、フラッシュメモリに格納されたデー
タやプログラムが読出せなくなることを防止できる。
【0150】次にCPU35がフラッシュメモリ31へ
データを書込む場合のフラッシュメモリの制御方法につ
いて説明する。図21に、CPU35がフラッシュメモ
リ31にデータを書込む場合のタイムチャートを示す。
フラッシュメモリ31にデータを書込むために、図21
には図示していないが、前に書き込まれたデータの消去
処理が実行される。この後、図21に示すタイムチャー
トが実行される。
【0151】フラッシュメモリ31へデータを書き込む
ために、図21に示すようにCPU35は、アドレスス
トローブAS、データストローブDS、リードライトR
/Wをアクティブにして、CPUアドレスバスh2に書
込むべきフラッシュメモリ31上のアドレスを出力し、
CPUデータバスi2に書込むべきデータを出力する。
【0152】フラッシュメモリ制御回路32は、コマン
ド識別回路40及びラッチ制御回路43によってこれら
の信号を検出して、アドレスラッチ回路47及びデータ
ラッチ回路48を介して、上記のアドレス(PA)及び
データ(PD)をラッチし、さらにCPUに対してデー
タの書込みサイクルが完了したことを示す信号ACK
(q2)をアクノリッジタイミング回路49を介してC
PUに返す。この後、CPU35は次の命令の実行に入
ることができる。すなわち、CPU35は、直接コマン
ドシーケンスを実行してフラッシュメモリ31を制御す
ることがないので、負担が軽減される。
【0153】一方、フラッシュメモリ制御回路32は、
この後、信号バスイネーブルENによってRAMアドレ
スバスd2をCPUアドレスバスh2から分離すると共
に、RAMデータバスe2をCPUデータバスi2から
分離する。
【0154】このとき分離した状態で、フラッシュメモ
リ制御回路32は、フラッシュメモリ31に対してライ
トコマンドを3回実行する。この3回のライトコマンド
は、図21に示すようにWT(c2)信号、コマンドア
ドレス(CA1,CA2及びCA3)及びコマンドデー
タ(CD1,CD2及びCD3)を出力することによっ
て行われる。これにより、フラッシュメモリ31は書込
みモードとなる。
【0155】この後、フラッシュメモリ制御回路32は
ラッチ回路47及び48によってラッチしていたアドレ
ス(PA)及びデータ(PD)をWT信号と共に出力
し、フラッシュメモリ31の所定のアドレス(PA)に
データ(PD)を書込む。このように、合計4回のフラ
ッシュメモリに対する書込みシーケンスを実行すること
でデータの書込みが完了する。
【0156】このデータの書込み完了後、フラッシュメ
モリ制御回路32はバスイネーブルEN信号を切り変え
て、RAMアドレスバスd2をCPUアドレスバスh2
に、RAMデータバスe2をCPUデータバスi2に接
続する。
【0157】また、フラッシュメモリ制御回路32は、
フラッシュメモリ31からその内部でデータの書込みが
完了したことを示す信号RDY(j2)を受けとり、さ
らにこの書込み完了を信号INT(k2)によりCPU
35へ通知する。通常この信号INT(k2)は、CP
U35には割り込み信号として入力される。なお、フラ
ッシュメモリ31は、上記の書込みシーケンスが完了す
ることにより、内部的に読出しモードに復帰する。
【0158】以上のように、フラッシュメモリ制御回路
32がCPUからのフラッシュメモリ31へのデータの
書込み信号を検出し、一連の書込みシーケンスを実行す
ることによってフラッシュメモリ制御回路32がCPU
に代わってデータの書込みを行い、フラッシュメモリ3
1においてデータの書込みが完了した後に書込み完了通
知をCPU35に行っているので、CPU35が直接フ
ラッシュメモリ31にデータを書込む一連の処理をする
場合に比べてCPUの負担を軽減することができる。
【0159】次に、CPU35がフラッシュメモリ31
からデータを読み出す場合の処理を図22のフローチャ
ートを用いて説明する。通常、フラッシュメモリ31は
読出しモード、すなわちすぐにデータを読出せる状態に
なっているので、リードコマンドを書込む必要がない。
図22に示すように、CPU35から、アドレスストロ
ーブAS、データストローブDS、リードライトR/W
の各信号が出力され、CPUアドレスバスh2に読み出
したいフラッシュメモリ31のアドレス(RA)が出力
される。
【0160】フラッシュメモリ制御回路32は、上記の
AS,DS及びR/Wの各信号を検出して、データの読
出し要求であることを認識すると信号バスイネーブルE
Nによるアドレスバス及びデータバスの切替えは行わず
に、フラッシュメモリ31に対してデータ読出しのため
の制御信号RD(b2)をアクティブにして、データを
読み出す。
【0161】このとき、フラッシュメモリ制御回路32
によってRAMアドレスバスd2はCPUアドレスバス
h2に、RAMデータバスe2はCPUデータバスi2
に接続されたままであるので、フラッシュメモリ31か
ら読み出されたデータはCPUアドレスバスh2に出力
され、CPU35へ転送される。
【0162】また、データの読出しが行われた際にフラ
ッシュメモリ制御回路32は、所定のタイミグでデータ
の読出しサイクルが完了したことを示す信号ACK(q
2)をCPU35へ返す。
【0163】以上のように、通常のフラッシュメモリ3
1は読出しモードとなっているので、フラッシュメモリ
31からデータを読み出す場合には、CPU35の負担
をかけずに、通常のRAM等からのデータの読出しと同
様にデータの読出しをすることができる。
【0164】また、図18に示したDMAC36による
フラッシュメモリ31へのデータの書込み及びデータの
読出しも、図21及び図22に示したCPU35による
書込み処理及び読出し処理と同様であるが、ただし次の
点が異なる。
【0165】DMAC36は、フラッシュメモリ31へ
のデータ書込み又は読出しを行う場合には、まず、CP
U35に対して信号BR(r2)を出力してバスの開放
を要求する。CPU35は、この信号BRを受けて、バ
スを開放可能であるならば、信号BG(s2)をDMA
C36へ送出してバスの開放が可能であることを通知
し、DMAC36のためにCPUアドレスバスh2及び
CPUデータバスi2を開放する。DMAC36は、こ
の信号BGを検出すると、フラッシュメモリ31に対す
るデータの読出し又は書込みの動作を実行する。このデ
ータの読出し及び書込みの一連のシーケンスにおける各
信号のタイミングは、図21及び図22と同様である。
【0166】一方、フラッシュメモリ制御回路32は、
前記したCPU35から出力される信号BGを検出する
ことにより、現在バスを専有しているバスマスタがCP
U35であるのかDMAC36であるのかを認識する。
フラッシュメモリ制御回路32が、バスマスタがDMA
C36であることを認識した場合には、データの書込み
の一連のシーケンス終了後にフラッシュメモリ31から
の信号RDYを検出した後フラッシュメモリ制御回路3
2は信号REQにより次のデータの書込みが可能になっ
たことをDMAC36へ通知する。
【0167】このように、フラッシュメモリ制御回路3
2がフラッシュメモリ31に対する一連の書込みシーケ
ンスをDMAC36に代わって行ない、フラッシュメモ
リ31のデータ書込みが完了した後に、書込み完了通知
をDMAC36に行っているので、通常のRAMに対す
るDMA転送と同様に、DMAC36からフラッシュメ
モリ31へのDMA転送が可能となる。
【0168】この発明におけるフラッシュメモリ制御装
置では、以上述べた実施例に示したような効果を奏する
ので、実施例のような構成及び機能を備えたフラッシュ
メモリ制御装置を使用するコンピュータ装置やシステム
の信頼性及び性能の向上をはかることができる。
【0169】
【発明の効果】この発明によれば、フラッシュメモリに
記憶されるデータに対応したエラーチェック用コードを
記憶手段に記憶するので、フラッシュメモリに記憶され
たデータの信頼性及びフラッシュメモリを用いたシステ
ムの信頼性の向上をはかることができる。
【0170】また、エラーチェック用コードを記憶する
記憶手段として揮発性メモリを用いるので、安価な構成
で、フラッシュメモリを用いたシステムの信頼性の向上
をはかることができる。さらに、コマンドシーケンス検
出手段を備え、コマンドシーケンス実行中は記憶手段に
対する読出し及び書き込みが禁止されるので、無用なエ
ラーチェック用コードは記憶手段に記憶されないように
することができる。
【0171】この発明によれば、エラーチェック用コー
ドの記憶手段としてフラッシュメモリを用い、コマンド
シーケンス終了後の実際のデータの読出し又は書込みを
行う場合にエラーチェック用コードの読出し又は書込み
が行われるようにするので、長時間システムの電源が切
れても記憶されるデータの信頼性を保持することができ
る。
【0172】また、エラーチェック用コードをフラッシ
ュメモリから読み出し又はフラッシュメモリに書込む場
合に、その制御を制御手段がファームウェアにより行う
こと、コマンドシーケンスが終了したことを検出してハ
ードウェア的に行うこと、または制御手段の介在なしに
ハードウェアにより自動的に行うことのいずれかの方法
で行うようにできるので、より柔軟なフラッシュメモリ
を用いたシステムの構成の設計が可能である。
【0173】さらに、比較手段が、検査コード生成手段
によって生成されたエラーチェック用コードと、記憶手
段に記憶されたエラーチェック用コードとを比較するの
で、フラッシュメモリに記憶されるデータの信頼性の確
保とフラッシュメモリを用いたシステムの信頼性の向上
をはかることができる。
【0174】この発明によれば、信号検出制御手段が、
所定の初期化情報を検出し、フラッシュメモリに対して
初期化処理をするので、電源の瞬断又は異常時あるいは
必要な時のリセット要求が発生した場合にフラッシュメ
モリに対する読出し及び書込みの動作が不能になること
を防止できる。
【0175】また、信号検出制御手段が、データ書込み
手段又はデータ読出し手段から出力されるデータ書込み
情報又はデータ読出し情報を検出した場合に、データ書
込み手段又はデータ読出し手段に代わって、信号検出制
御手段がフラッシュメモリに対してデータの書込み処理
又はデータの読出し処理を実行するので、データ書込み
手段又はデータ読出し手段すなわちマイクロプロセッサ
の負担を軽減することができる。
【0176】さらに、データ書込み手段又はデータ読出
し手段がダイナミックメモリアクセスコントローラであ
る場合にはフラッシュメモリへのDMA転送が可能であ
る。
【図面の簡単な説明】
【図1】この発明のフラッシュメモリ制御装置の第1基
本構成を示すブロック図である。
【図2】この発明のフラッシュメモリ制御装置の第2基
本構成を示すブロック図である。
【図3】この発明のフラッシュメモリ制御装置の第3基
本構成を示すブロック図である。
【図4】この発明のフラッシュメモリ制御装置の第4基
本構成を示すブロック図である。
【図5】この発明のフラッシュメモリ制御装置の第5基
本構成を示すブロック図である。
【図6】この発明のフラッシュメモリ制御装置の第6基
本構成を示すブロック図である。
【図7】この発明のフラッシュメモリ制御装置の第7基
本構成を示すブロック図である。
【図8】この発明のフラッシュメモリ制御装置の第8基
本構成を示すブロック図である。
【図9】この発明の第1実施例における回路構成図であ
る。
【図10】この発明におけるコマンドシーケンス検出回
路の実施例の回路構成図である。
【図11】この発明の第2実施例における回路構成図で
ある。
【図12】この発明の第3実施例における回路構成図で
ある。
【図13】この発明の第2実施例におけるライトコマン
ドシーケンスの説明図である。
【図14】この発明の第2実施例におけるライトコマン
ドシーケンスの説図である。
【図15】従来におけるフラッシュメモリに対するコマ
ンドシーケンスの説明図である。
【図16】この発明のフラッシュメモリ制御装置の第1
の基本構成ブロック図である。
【図17】この発明のフラッシュメモリ制御装置の第2
の基本構成ブロック図である。
【図18】この発明のフラッシュメモリ制御装置の一実
施例における回路構成ブロック図である。
【図19】図18におけるフラッシュメモリ制御回路3
2の構成ブロック図である。
【図20】電源投入又はリセット要求がされた場合のタ
イムチャートである。
【図21】フラッシュメモリ31へのデータを書込む場
合のタイムチャートである。
【図22】フラッシュメモリ31からデータを読出す場
合のタイムチャートである。
【符号の説明】
1 プロセッサ(CPU) 2 メモリ制御回路 3 パリティジェネレータ(P/G) 4 フラッシュメモリ 4−1 フラッシュメモリ(データ用) 4−P フラッシュメモリ(パリティ用) 5 スタティックランダムアクセスメモリ(SRAM) 6 電池 7−1 コマンドシーケンス検出回路 7−2 コマンドシーケンス検出回路 7−3 コマンドシーケンス検出回路 8 マルチプレキサ(MUX) 9 レジスタ 10 パリティチェック回路(P/C) 11 ECC回路 13 ダイレクトメモリアクセスコントローラ(DMA
C) 14 リードオンリーメモリ(ROM) 31 :フラッシュメモリ 32 :フラッシュメモリ制御回路 33 :パワーオンリセット制御回路 34 :リセット制御回路 35 :プロセッサ(CPU) 36 :ダイナミックメモリアクセスコントローラ(D
MAC) 37 :アドレスドライバ(アドレスDV) 38 :データトランシーバ(データTRV) a アドレスバス b データバス c リードライト d パリティデータバス e セレクト f マスク g ローカルデータバス h コントロール i クリア j ECCデータバス k メモリリード l メモリライト m パリティエラー n ECCエラー o リクエスト p アクノリッジ a2:パワーオンリセット(PRST) b2:リード(RD) c2:ライト(WT) d2:メモリアドレスバス(RAMアドレスバス) e2:メモリデータバス(RAMデータバス) f2:リセット(RST) g2:リードライト(R/W) h2:プロセッサアドレスバス(CPUアドレスバス) i2:プロセッサデータバス(CPUデータバス) j2:レディ(RDY) k2:割り込み(INT) l2:イネーブル(EN) m2:リクエスト(REQ) n2:リセット要求 o2:アドレスストローブ(AS) p2:データストローブ(DS) q2:アクノリッジ(ACK) r2:バスリクエスト(BR) s2:バスグラント(BG)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 木下 智盛 兵庫県加東郡社町佐保35番 富士通周辺機 株式会社内 (72)発明者 佐野 恭三 兵庫県加東郡社町佐保35番 富士通周辺機 株式会社内

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】データを記憶する第1のフラッシュメモリ
    と、 データのエラーチェック用コードを生成する検査コード
    生成手段と、 検査コード生成手段によって生成されるエラーチェック
    用コードを記憶する記憶手段と、 前記第1のフラッシュメモリに対してデータの読出し又
    は書込みのための一連の処理を実行すると共に、その一
    連の処理の実行中に、前記第1のフラッシュメモリに記
    憶されるデータに対応して前記検査コード生成手段によ
    って生成されるエラーチェック用コードを前記記憶手段
    に記憶する制御手段とを備えることを特徴とするフラッ
    シュメモリ制御装置。
  2. 【請求項2】 前記記憶手段が揮発性メモリからなり、
    この揮発性メモリを駆動し、かつ揮発性メモリに記憶さ
    れたエラーチェック用コードを保持させる電源手段をさ
    らに備えることを特徴とする請求項1記載のフラッシュ
    メモリ制御装置。
  3. 【請求項3】 前記第1のフラッシュメモリ及び前記記
    憶手段の動作を制御するメモリ制御手段と、 前記制御手段が実行する一連の処理のうち第1のフラッ
    シュメモリに対しデータを読出し又は書込むための前処
    理であるコマンドシーケンスを検出するコマンドシーケ
    ンス検出手段をさらに備え、 前記コマンドシーケンス検出手段が前記コマンドシーケ
    ンスを検出した場合には、前記メモリ制御手段が、前記
    コマンドシーケンス検出手段からの検出情報を受け、コ
    マンドシーケンス実行中は前記記憶手段に対する読出し
    及び書込みができないように前記記憶手段を制御するこ
    とを特徴とする請求項2記載のフラッシュメモリ制御装
    置。
  4. 【請求項4】 前記コマンドシーケンス検出手段が前記
    コマンドシーケンスが終了したことを検出した場合に、
    前記メモリ制御手段が、このコマンドシーケンス直後に
    制御手段による実際のデータの読出し又は書込み処理が
    実行できるように前記第1のフラッシュメモリを制御
    し、エラーチェック用コードの読出し又は書込みが実行
    できるように前記記憶手段を制御することを特徴とする
    請求項3記載のフラッシュメモリ制御装置。
  5. 【請求項5】 前記記憶手段が第2のフラッシュメモリ
    からなり、 前記第1のフラッシュメモリ及び前記第2のフラッシュ
    メモリの動作を制御するメモリ制御手段と、 前記制御手段が接続される第1の経路と前記検査コード
    生成手段が接続される第2の経路とのどちらか一方を選
    択し、第2のフラッシュメモリに接続する選択手段とを
    備え、 前記制御手段が、前記一連の処理のうち第1のフラッシ
    ュメモリに対してデータを読出し又は書込むための前処
    理であるコマンドシーケンスを実行する場合には、第2
    のフラッシュメモリに対してもこのコマンドシーケンス
    が実行されるように前記選択手段が第1の経路を選択
    し、 前記制御手段が、前記一連の処理のうち第1のフラッシ
    ュメモリに対してデータの読出し又は書込みを実際に行
    う場合には、第2のフラッシュメモリに対して前記エラ
    ーチェック用コードの読出し又は書込みが実行されるよ
    うに前記選択手段が第2の経路を選択し、第1のフラッ
    シュメモリに記憶されるべき実際のデータに対応するエ
    ラーチェック用コードのみを、第2のフラッシュメモリ
    に記憶させることを特徴とする請求項1記載のフラッシ
    ュメモリ制御装置。
  6. 【請求項6】 前記選択手段が、前記制御手段から書込
    まれる選択情報を保持する保持手段と、前記保持手段に
    書込まれた選択情報から前記第1の経路と前記第2の経
    路とのどちらか一方を第2のフラッシュメモリに選択接
    続する動作を行う接続切替手段とを備え、 前記制御手段が前記コマンドシーケンスを開始すること
    を示すON情報を前記保持手段に書込んだ場合には、前
    記接続切替手段が前記第1の経路を選択接続した後、前
    記制御手段が前記コマンドシーケンスを実行し、 前記制御手段がコマンドシーケンスが終了したことを示
    すOFF情報を前記保持手段に書込んだ場合には、前記
    接続切替手段が前記第2の経路を選択接続した後、前記
    制御手段が前記エラーチェック用コードの読出し又は書
    込みを実行することを特徴とする請求項5記載のフラッ
    シュメモリ制御装置。
  7. 【請求項7】 前記選択手段が、前記コマンドシーケン
    スを検出するコマンドシーケンス検出手段をさらに備
    え、 前記コマンドシーケンス検出手段が、前記コマンドシー
    ケンスが終了したことを検出し前記保持手段にこの終了
    通知を行った場合に、保持手段の保持内容がOFF情報
    に自動的に書き替えられ、前記制御手段が前記エラーチ
    ェック用コードの読出し又は書込みを実行することを特
    徴とする請求項6に記載のフラッシュメモリ制御装置。
  8. 【請求項8】 前記選択手段が、前記コマンドシーケン
    スを検出するコマンドシーケンス検出手段と、 前記コマンドシーケンス検出手段から送られる情報によ
    って前記第1の経路と前記第2の経路とのどちらか一方
    を第2のフラッシュメモリに接続する動作を行う接続切
    替手段とを備え、 前記コマンドシーケンス検出手段がコマンドシーケンス
    の開始を検出した場合には、前記コマンドシーケンス検
    出手段は、前記接続切替手段が前記第1の経路を第2の
    フラッシュメモリに接続するように情報を前記接続切替
    手段に送り、 前記コマンドシーケンス検出手段が、コマンドシーケン
    スの終了を検出した場合には、前記コマンドシーケンス
    検出手段は、前記接続切替手段が前記第2の経路を第2
    のフラッシュメモリに接続するように情報を前記接続切
    替手段に送ることを特徴とする請求項5記載のフラッシ
    ュメモリ制御装置。
  9. 【請求項9】 前記検査コード生成手段によって生成さ
    れたエラーチェック用コードと、前記記憶手段に記憶さ
    れたエラーチェック用コードとを比較する比較手段をさ
    らに備えることを特徴とする請求項1から8に記載した
    いずれかのフラッシュメモリ制御装置。
  10. 【請求項10】 前記検査コード生成手段が生成するエ
    ラーチェック用コードがパリティビットであり、前記比
    較手段がパリティビットによるエラーの検出を行うこと
    を特徴とする請求項9記載のフラッシュメモリ制御装
    置。
  11. 【請求項11】 前記検査コード生成手段が生成するエ
    ラーチェック用コードがECCビットであり、前記比較
    手段がECCビットによるエラー検出訂正を行うことを
    特徴とする請求項9記載のフラッシュメモリ制御装置。
  12. 【請求項12】 フラッシュメモリと、初期化情報を発
    生する初期化手段と、 フラッシュメモリに対してデータの読出し及び書込みの
    ための制御を行う信号検出制御手段とを備え、 前記信号検出制御手段が、前記初期化手段から出力され
    る所定の初期化情報を検出した場合に、フラッシュメモ
    リに対して初期化処理をすることを特徴とするフラッシ
    ュメモリ制御装置。
  13. 【請求項13】 前記初期化手段がパワーオンリセット
    制御回路から構成され、 電源投入時に前記信号検出制御手段がパワーオンリセッ
    ト制御回路から出力される初期化情報を受けて、フラッ
    シュメモリに対して所定の初期化シーケンスを実行しフ
    ラッシュメモリを読出しモードとすることを特徴とする
    請求項12記載のフラッシュメモリ制御装置。
  14. 【請求項14】 前記初期化手段がリセット制御回路か
    ら構成され、前記信号検出制御手段がリセット制御回路
    から出力される初期化情報を受けて、フラッシュメモリ
    に対して所定の初期化シーケンスを実行し、フラッシュ
    メモリを読出しモードとすることを特徴とする請求項1
    2記載のフラッシュメモリ制御装置。
  15. 【請求項15】 フラッシュメモリと、 フラッシュメモリに対してデータの読出しおよび書込み
    のための制御を行う信号検出制御手段と、 データ書込み手段とを備え、 前記信号検出制御手段が、データ書込み手段から出力さ
    れるデータ書込み情報を検出した場合に、フラッシュメ
    モリに対してデータ書込み処理を実行することを特徴と
    するフラッシュメモリ制御装置。前記信号検出制御手段
    が、データ読出し手段から出力されるデータ読出し情報
    を検出した場合に、フラッシュメモリに対してデータ読
    出し処理を実行することを特徴とするフラッシュメモリ
    制御装置。
  16. 【請求項16】 データ読出し手段をさらに備え、 前記信号検出制御手段が、データ書込み手段又はデータ
    読出し手段から出力されるデータ書込み情報又はデータ
    読出し情報を検出した場合に、フラッシュメモリに対し
    てデータ書込み処理又はデータ読出し処理を実行するこ
    とを特徴とする請求項15記載のフラッシュメモリ制御
    装置。
  17. 【請求項17】 前記データ書込み手段及び前記データ
    読出し手段が、マイクロプロセッサであることを特徴と
    する請求項16記載のフラッシュメモリ制御装置。
  18. 【請求項18】 前記データ書込み手段及び前記データ
    読出し手段が、ダイナミックメモリアクセスコントロー
    ラであって、 前記信号検出制御手段が、フラッシュメモリに対してデ
    ータ書込み処理又は読出し処理を実行後、ダイナミック
    アクセスコントローラに対して次のデータの書込み又は
    読出しを許可する請求項16記載のフラッシュメモリ制
    御装置。
JP27146394A 1994-11-04 1994-11-04 フラッシュメモリ制御装置 Pending JPH08137763A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP27146394A JPH08137763A (ja) 1994-11-04 1994-11-04 フラッシュメモリ制御装置
US08/494,997 US5793774A (en) 1994-11-04 1995-06-27 Flash memory controlling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27146394A JPH08137763A (ja) 1994-11-04 1994-11-04 フラッシュメモリ制御装置

Publications (1)

Publication Number Publication Date
JPH08137763A true JPH08137763A (ja) 1996-05-31

Family

ID=17500391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27146394A Pending JPH08137763A (ja) 1994-11-04 1994-11-04 フラッシュメモリ制御装置

Country Status (2)

Country Link
US (1) US5793774A (ja)
JP (1) JPH08137763A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001167596A (ja) * 1999-12-09 2001-06-22 Toshiba Corp 不揮発性半導体記憶装置
JP2006079811A (ja) * 2004-09-06 2006-03-23 Samsung Electronics Co Ltd エラー検出用パリティー発生器を備えた半導体メモリ装置
US8429494B2 (en) 2009-08-06 2013-04-23 Sony Corporation Nonvolatile random access memory and nonvolatile memory system

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10125092A (ja) * 1996-10-22 1998-05-15 Advantest Corp フラッシュメモリ試験装置
KR100251636B1 (ko) * 1997-04-10 2000-05-01 윤종용 소형컴퓨터시스템인터페이스방식접속을위한메모리장치
US5956743A (en) * 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US6034891A (en) * 1997-12-01 2000-03-07 Micron Technology, Inc. Multi-state flash memory defect management
US5943287A (en) * 1998-03-31 1999-08-24 Emc Corporation Fault tolerant memory system
JP4146006B2 (ja) * 1998-09-28 2008-09-03 富士通株式会社 フラッシュメモリを有する電子機器
JP2002251884A (ja) * 2001-02-21 2002-09-06 Toshiba Corp 半導体記憶装置及びそのシステム装置
JP2002365338A (ja) * 2001-06-08 2002-12-18 Fujitsu Ltd 半導体装置、半導体装置の試験方法、及び半導体装置試験システム
US20040217182A1 (en) * 2003-04-29 2004-11-04 Texas Instruments Incorporated Integrated furnace control board and method
US20040220777A1 (en) * 2003-04-29 2004-11-04 Texas Instruments Incorporated Integrated furnace control board and method
US7664987B2 (en) * 2003-05-25 2010-02-16 Sandisk Il Ltd. Flash memory device with fast reading rate
KR100560665B1 (ko) * 2003-07-02 2006-03-16 삼성전자주식회사 독출 방지 기능을 갖는 반도체 메모리 장치
DE10346144A1 (de) * 2003-10-01 2005-04-28 Bosch Rexroth Ag Verfahren zur Istwertspeicherung
JP4102313B2 (ja) * 2004-02-05 2008-06-18 株式会社東芝 半導体集積回路装置
KR100688549B1 (ko) * 2005-05-24 2007-03-02 삼성전자주식회사 비휘발성 메모리를 지원하는 온더플라이 bcc 코덱시스템 및 방법
WO2007096997A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited メモリ制御装置およびメモリ制御方法
US7702885B2 (en) * 2006-03-02 2010-04-20 Atmel Corporation Firmware extendable commands including a test mode command for a microcontroller-based flash memory controller
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009053961A2 (en) * 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
US8341335B2 (en) 2007-12-05 2012-12-25 Densbits Technologies Ltd. Flash memory apparatus with a heating system for temporarily retired memory portions
US8335977B2 (en) 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
WO2009072105A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8276051B2 (en) * 2007-12-12 2012-09-25 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
WO2009078006A2 (en) 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8621321B2 (en) 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9268632B2 (en) * 2010-09-24 2016-02-23 Rambus Inc. Memory device with ECC history table
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
JP2013137708A (ja) * 2011-12-28 2013-07-11 Toshiba Corp メモリコントローラ、データ記憶装置およびメモリ制御方法
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9323608B2 (en) 2012-06-07 2016-04-26 Micron Technology, Inc. Integrity of a data bus
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
FR3079946A1 (fr) * 2018-04-06 2019-10-11 Psa Automobiles Sa Procede de perennisation des informations stockees dans une memoire non volatile-temporaire d’un un calculateur.
CN113641530B (zh) * 2021-06-23 2023-07-18 地平线(上海)人工智能技术有限公司 一种数据处理方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62245353A (ja) * 1986-04-18 1987-10-26 Hitachi Ltd Eepromのデ−タ書換え防止回路
JPH0527924A (ja) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> 半導体メモリを用いた外部記憶システム及びその制御方法
JPH0535462A (ja) * 1991-07-31 1993-02-12 Toshiba Corp コンピユータシステム
JPH05150913A (ja) * 1991-11-29 1993-06-18 Hitachi Ltd フラツシユメモリを記憶媒体としたシリコンデイスク
JPH05204561A (ja) * 1991-11-26 1993-08-13 Hitachi Ltd フラッシュメモリを記憶媒体とした半導体ディスク
JPH05216639A (ja) * 1991-10-11 1993-08-27 Toshiba Corp フラッシュメモリをbios−romとして使用したパーソナルコンピュータ
JPH05282880A (ja) * 1992-01-10 1993-10-29 Toshiba Corp 半導体ディスク装置
JPH06187247A (ja) * 1992-12-17 1994-07-08 Fujitsu Ltd 不揮発性メモリチェック回路
JPH06251213A (ja) * 1993-02-23 1994-09-09 Fuji Photo Film Co Ltd Icメモリカードの記憶管理方式
JPH0895869A (ja) * 1994-09-29 1996-04-12 Yokogawa Electric Corp メモリ制御装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62224854A (ja) * 1986-03-26 1987-10-02 Hitachi Ltd マイクロ・コンピユ−タ
JPH0746329B2 (ja) * 1986-04-09 1995-05-17 株式会社日立製作所 マイクロコンピユ−タ装置
US5053990A (en) * 1988-02-17 1991-10-01 Intel Corporation Program/erase selection for flash memory
JPH0443447A (ja) * 1990-06-08 1992-02-13 Toshiba Corp Rom診断装置
JPH0448331A (ja) * 1990-06-18 1992-02-18 Mitsubishi Electric Corp 中央処理装置
JPH0498342A (ja) * 1990-08-09 1992-03-31 Mitsubishi Electric Corp 半導体記憶装置
JP3130312B2 (ja) * 1990-11-02 2001-01-31 新日本製鐵株式会社 記憶装置のプログラミング装置
JPH06325595A (ja) * 1991-03-27 1994-11-25 Nec Kyushu Ltd 誤り訂正回路付きprom装置
US5245572A (en) * 1991-07-30 1993-09-14 Intel Corporation Floating gate nonvolatile memory with reading while writing capability
US5359569A (en) * 1991-10-29 1994-10-25 Hitachi Ltd. Semiconductor memory
US5502732A (en) * 1993-09-20 1996-03-26 International Business Machines Corporation Method for testing ECC logic
US5488691A (en) * 1993-11-17 1996-01-30 International Business Machines Corporation Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62245353A (ja) * 1986-04-18 1987-10-26 Hitachi Ltd Eepromのデ−タ書換え防止回路
JPH0527924A (ja) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> 半導体メモリを用いた外部記憶システム及びその制御方法
JPH0535462A (ja) * 1991-07-31 1993-02-12 Toshiba Corp コンピユータシステム
JPH05216639A (ja) * 1991-10-11 1993-08-27 Toshiba Corp フラッシュメモリをbios−romとして使用したパーソナルコンピュータ
JPH05204561A (ja) * 1991-11-26 1993-08-13 Hitachi Ltd フラッシュメモリを記憶媒体とした半導体ディスク
JPH05150913A (ja) * 1991-11-29 1993-06-18 Hitachi Ltd フラツシユメモリを記憶媒体としたシリコンデイスク
JPH05282880A (ja) * 1992-01-10 1993-10-29 Toshiba Corp 半導体ディスク装置
JPH06187247A (ja) * 1992-12-17 1994-07-08 Fujitsu Ltd 不揮発性メモリチェック回路
JPH06251213A (ja) * 1993-02-23 1994-09-09 Fuji Photo Film Co Ltd Icメモリカードの記憶管理方式
JPH0895869A (ja) * 1994-09-29 1996-04-12 Yokogawa Electric Corp メモリ制御装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001167596A (ja) * 1999-12-09 2001-06-22 Toshiba Corp 不揮発性半導体記憶装置
JP2006079811A (ja) * 2004-09-06 2006-03-23 Samsung Electronics Co Ltd エラー検出用パリティー発生器を備えた半導体メモリ装置
US7783941B2 (en) 2004-09-06 2010-08-24 Samsung Electronics Co., Ltd. Memory devices with error detection using read/write comparisons
US8429494B2 (en) 2009-08-06 2013-04-23 Sony Corporation Nonvolatile random access memory and nonvolatile memory system

Also Published As

Publication number Publication date
US5793774A (en) 1998-08-11

Similar Documents

Publication Publication Date Title
JPH08137763A (ja) フラッシュメモリ制御装置
US6711059B2 (en) Memory controller
US8397042B2 (en) Secure memory interface
JP4136359B2 (ja) マイクロコンピュータ
US4603406A (en) Power backed-up dual memory system
JP3850067B2 (ja) メモリシステムおよびそれに用いられる半導体記憶装置
JP3302847B2 (ja) 記憶装置
US7966486B2 (en) Computer system with dual basic input output system and operation method thereof
US10108469B2 (en) Microcomputer and microcomputer system
JP3192664B2 (ja) キャッシュメモリシステムおよびキャッシュメモリコントローラ
JP3376306B2 (ja) データ処理装置、そのデータ処理方法
US7500021B2 (en) Operation mode control circuit, microcomputer including the same, and control system using the microcomputer
US9529681B2 (en) Microprocessor system for controlling or regulating at least partly safety-critical processes
US6813191B2 (en) Microcomputer with nonvolatile memory protected against false erasing or writing
JPH0822422A (ja) メモリ装置
JP3239935B2 (ja) 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体
US20230385071A1 (en) Semiconductor device
JP2910692B2 (ja) ランダムアクセスメモリの試験の方法
JPH0863406A (ja) メモリアクセス制御装置
JPH0341538A (ja) 主記憶装置
JP2002049536A (ja) メモリ制御装置およびメモリ制御方法
JP3168973B2 (ja) メモリダンプ機能付き二重化メモリシステム
JPH08220198A (ja) 電池バックアップメモリユニットおよびバックアップ機能試験方法
JPH10187355A (ja) ディスク制御システム
JP2003271463A (ja) 二重化メモリ装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020903