JPH04290127A - 再プログラム可能なデータ記憶装置 - Google Patents

再プログラム可能なデータ記憶装置

Info

Publication number
JPH04290127A
JPH04290127A JP3320214A JP32021491A JPH04290127A JP H04290127 A JPH04290127 A JP H04290127A JP 3320214 A JP3320214 A JP 3320214A JP 32021491 A JP32021491 A JP 32021491A JP H04290127 A JPH04290127 A JP H04290127A
Authority
JP
Japan
Prior art keywords
data
program code
code
buffer
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
JP3320214A
Other languages
English (en)
Inventor
Kevin Lloyd-Jones
ケヴィン・ロイド・ジョーンズ
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH04290127A publication Critical patent/JPH04290127A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は広義にはデータ記憶装
置に関し、より詳細には再プログラム中の装置のバルナ
ラビリティ期間(脆弱期間)を短縮するためのデータ記
憶装置と方法に関する。
【0002】
【従来の技術及びその課題】データ記憶装置は当該技術
分野で周知である。代表的なデータ記憶装置は装置と外
部データ処理システムとの間でデータを交換するための
入出力手段、記憶媒体からデータを読み出し、記憶媒体
にデータを書き込むための媒体読み出し/書き込み手段
、入出力手段と媒体読み出し/書き込み手段の間のデー
タ転送をバッファリングするための入出力手段と媒体読
み出し/書き込み手段に結合されたデータバッファ、お
よびデータバッファを介した入出力手段と読み出し/書
き込み手段の間のデータ転送を制御し、データを処理す
るための入出力手段、データバッファ、および読み出し
/書き込み手段に結合された制御手段からなる。一般に
、この制御手段はプログラムコードを保持するための不
揮発性メモリと、プログラムコードを実行してそのプロ
グラムコードにしたがって転送と再フォーマッティング
のタスクを実行するプログラム制御されたプロセッサか
らなる。
【0003】通常、このデータ処理システムはホストコ
ンピュータであり、媒体読み出し/書き込み手段は磁気
テープ駆動機構あるいは磁気または光学ディスク駆動機
構である。
【0004】このようなデータ記憶装置においては、一
般に外部のデータ処理システムとの間のデータ転送の速
度を記憶媒体との間のデータ転送の速度に一致させる必
要がある。さらに、通常、高レベルのデータの再フォー
マッティングを行うことが必要とされる。このいずれか
または両方の理由から、このようなデータ記憶装置には
データバッファが設けられる。これはデータバッファが
データの流れを円滑にし、また一時記憶として機能して
制御手段が再フォーマッティングの目的のためにデータ
へのアクセスを行うことを可能とするためである。
【0005】制御手段は一般にマイクロプロセッサをベ
ースとするものであり、制御プログラムコード(“ファ
ームウエア”)は、ROMメモリ(読み出し専用メモリ
)と呼ばれるタイプ、あるいはEPROMメモリ(消去
可能プログラム可能読み出し専用メモリ)と呼ばれるタ
イプのいずれかの不揮発性メモリに記憶される。
【0006】なんらかの理由でファームウエアを変更す
ることが望ましい場合、従来、関係するROMあるいは
EPROMチップをはずし、それらを改訂されたファー
ムウエアを含む新しいものに取り替える、あるいはチッ
プを交換する前に長時間の消去および再プログラミング
の処理を行うことが必要とされた。これは時間を取るば
かりでなく、実際上の理由からメモリチップをチップを
搭載する回路基板に直接半田付けするかわりにソケット
を使って取りつけることを必要とする。これは、ソケッ
ト取り付けのチップはより高価であるばかりでなく半田
接続を用いる場合より信頼性が低いために、それ自体不
都合である。
【0007】最近では、インテル社の28F010フラ
ッシュメモリチップのような、当該技術分野において一
般に“フラッシュ”メモリとして知られる電気的に消去
可能、再プログラム可能な不揮発性メモリが利用可能と
なっている。これらのチップは電気的に消去し(チップ
ベースでのみ、バイトベースでは不可)、次にバイトベ
ースで再プログラムすることができる。
【0008】フラッシュメモリはマイクロプロセッサを
ベースとする機器のファームウエアコードをチップを物
理的に取り外すことなく変更することを可能にする。そ
の代わりに、新しいコードは(なんらかの適当な方法で
)プログラムすべき機器に提供され、このコードがフラ
ッシュメモリに直接書き込まれる。後者は従来再プログ
ラム処理の開始時に消去された。新しいコードは遠隔の
ホストコンピュータから電子的に提供することができる
、あるいはメイルシステムを介して送ることのできる媒
体上に記憶されるため、再プログラミングを行うサービ
スエンジニアが不要となり、全体の動作をエンドユーザ
ーが簡単に実行することができる。
【0009】通常、再プログラミングはフラッシュメモ
リ中のオリジナルのファームウエアを消去し、次にホス
トシステムあるいは媒体記憶装置から新しいファームウ
エアデータを受け取り、その新しいデータをフラッシュ
メモリに記憶することによって達成される。しかし、こ
の新しいファームウエアコードの一回目の転送がなんら
かの理由で失敗する(例えば停電、遠隔ホストの故障、
あるいは記憶媒体の故障によって)と重大な問題が発生
する。これは、機器がそれによって再プログラミングサ
イクルの開始を行った古いファームウエアが消去され、
新しいファームウエアはまだ完全には設置されていない
ためである。このような状況では、唯一の頼みは通常、
サービスエンジニアを呼ぶ、あるいはその機器をサービ
スのために返却することである。再プログラミング中の
機器のバルナラビリティの期間は、新しいコードのすべ
てを機器に転送するのに要する時間のために一般的にか
なり長期間となる。
【0010】したがって、再プログラミング中の機器の
バルナラビリティ期間を短縮し、再プログラミングミス
の可能性を確実に低減する再プログラム可能な記憶装置
とその方法が必要とされている。この発明はこの必要を
満たすものである。
【0011】
【課題を解決するための手段】この発明の一実施例にお
いて、データ記憶装置は、装置と外部データ処理システ
ムとの間でデータを交換するための入出力手段、記憶媒
体からデータを読み出し、記憶媒体にデータを書き込む
ための媒体読み出し/書き込み手段、入出力手段と媒体
読み出し/書き込み手段の間のデータ転送をバッファリ
ングするための入出力手段と媒体読み出し/書き込み手
段に結合されたデータバッファ、およびデータバッファ
を介した入出力手段と読み出し/書き込み手段の間のデ
ータ転送を制御し、データを処理するための入出力手段
、データバッファ、および読み出し/書き込み手段に結
合された制御手段からなる。この制御手段はプログラム
コードを保持するための不揮発性メモリと、プログラム
コードを実行するためのプログラム制御されたプロセッ
サからなる。
【0012】この発明によれば、不揮発性メモリの少な
くとも一部はフラッシュメモリからなり、プロセッサは
プログラムコードを実行してフラッシュメモリを新しい
プログラムコードで再プログラミングするための以下の
ステップを実行する動作をする。
【0013】a)入出力手段あるいは媒体読み出し/書
き込み手段を介して新しいプログラムコードを受け取り
、その新しいプログラムコードをデータバッファに記憶
する。
【0014】b)新しいプログラムコードのすべてがい
つ受け取られデータバッファに記憶されたかを判定し、
新しいプログラムコードのすべてが受け取られ記憶され
ているときにのみステップc)に進む。
【0015】c)フラッシュメモリを消去する。
【0016】d)新しいプログラムコードをデータバッ
ファからフラッシュメモリに転送する。
【0017】フラッシュメモリの消去の前に新しいプロ
グラムコードのすべてを蓄積するのにデータバッファを
用いることによって、この装置のバルナラビリティ期間
が短縮される。それは装置への新しいコードの転送中に
なんらかの理由で再プログラミング処理が失敗した場合
でも、装置は依然として動作可能であり、新しいコード
ではなく古いプログラムコードで動作する。外部データ
処理システムあるいは記憶媒体からのデータバッファへ
のデータ転送の速度は一般的にコードがバッファからフ
ラッシュメモリにコピーされる速度よりかなり遅いため
、このデータバッファを用いることによる装置のバルナ
ラビリティ期間の短縮はかなり大きなものであることが
理解できよう。
【0018】この発明の詳細は以下の説明からさらに明
確となるであろう。
【0019】
【実施例】図中、同一符号は同一構成要素を指す。図1
はこの発明による再プログラム可能なデータ記憶装置8
のブロック図である。装置8はデータ処理システム(例
えば、ホストコンピュータ、図示せず)から磁気テープ
(図示せず)等のデータ記憶媒体へのデータの記憶、ま
たテープからホストコンピュータへのデータの読み出し
をおこなうものである。装置8は装置とホストコンピュ
ータの間でデータの授受を行うためのホストコンピュー
タに結合された入出力手段からなる。この実施例では、
入出力手段はバスシステム11に結合されたI/O回路
10からなる。バスシステム11はホストコンピュータ
(図示せず)に結合されている。この実施例では、バス
11を介しての通信はSCSIプロトコル等の標準プロ
トコルにしたがって発生する。バス11上のプロトコル
対話は入出力回路10によって処理される。
【0020】装置8はさらに図ではテープ駆動サブアッ
センブリ12(機械的駆動デッキ、サーボ電子機器、お
よびアナログ読み出し/書き込み電子機器を含む)とし
て示される媒体読み出し/書き込み手段からなる。テー
プ駆動装置12は磁気テープ(図示せず)からデータを
読み出し、また磁気テープにデータを書き込むためのも
のである。
【0021】装置8はさらにI/O回路10とテープ駆
動装置12の間のデータ転送をバッファリングするため
の、I/O回路10およびテープ駆動装置12に結合さ
れたデータバッファ13からなる。この実施例では、デ
ータバッファ13は512KバイトのダイナミックRA
Mメモリ15(図では四つの128Kバイトのセグメン
トに概念的に分割して示している)、およびデータのブ
ロック転送を制御するためのDMA制御器14からなる
。DMA制御器14はまたメモリ15に記憶されるそれ
ぞれのバイトにパリティビットを加え、またそのバイト
がメモリ15の外に転送される前にそのバイトからパリ
ティビットを除く働きをする。
【0022】装置8はさらに、このデータ記憶装置の全
体的な動作を制御する制御手段16からなる。この実施
例では、制御手段16はプログラムコードを記憶するた
めの不揮発性メモリ18(例えば256Kバイト)、お
よび記憶されたプログラムコードを実行するための図中
にはマイクロプロセッサ17として示すプログラム制御
されたプロセッサからなる。
【0023】より詳細には、制御手段はデータバッファ
を介したI/O回路10とテープ駆動装置12の間のデ
ータ転送を制御するために、I/O回路10、データバ
ッファ13、およびテープ駆動装置12に結合されてい
る。この目的のため、マイクロプロセッサ17のバスシ
ステム20は入出力回路10、バッファ13、およびテ
ープ駆動装置12に伸長する。制御手段16はまた、テ
ープに記憶され、またテープから検索されるデータを処
理(特に再フォーマッティング)する機能を果たす。こ
の処理はマイクロプロセッサ17がバスシステム20を
介してバッファ13内のデータを処理することによって
行われる。入出力回路10とテープ駆動装置12はそれ
ぞれバスシステム21と22によってバッファ13に接
続されている。
【0024】データが記憶される間、制御手段16はバ
スシステム11、入出力回路10、およびバスシステム
21を介したホストコンピュータからバッファ13への
データの入力、およびバスシステム22を介したバッフ
ァからテープ駆動装置12へのそれに続くデータ転送を
制御する。バッファ13はホストシステムとテープ駆動
装置の互いに異なるデータ速度およびフォーマットを一
致させることを可能とする。制御手段16はまた、バッ
ファ13へのデータの読み込みとテープ駆動装置12へ
のデータの読み出しとの間で再フォーマッティングの機
能を果たす。この機能の実施においては、制御手段16
は、バッファ13からデータを読み出し、それをフォー
マット制御コードの追加等を行った異なる構成で、バッ
ファに再書き込みを行うように構成されている。
【0025】データの再読み出しの期間中、制御手段1
6はバスシステム22を介したテープ駆動装置12から
バッファ13へのデータの読み込み、およびそれに続く
、バスシステム21、入出力回路10およびバスシステ
ム11を介したバッファ13からホストコンピュータへ
のそのデータの読み出しを監視する。さらに、制御手段
16はバッファ13に保持されるデータをデータ記憶中
に実施されたフォーマットに逆フォーマッティングする
【0026】上述したようなデータ記憶装置中のデータ
の流れに加えて、制御手段16はホストコンピュータお
よびテープ駆動装置12との間で対応するバスシステム
を介して制御信号の授受を行う。
【0027】制御手段16は追加の処理要素を含むこと
に注意しなければならない。たとえば、チャンネルプロ
セッサ(図示せず)がバッファ13とテープ駆動装置1
2の間でやり取りされるデータにはたらいてプロセッサ
17によって行われる高レベルのフォーマッティングに
加えて低レベルのフォーマッティングを行うようにする
こともできる。このチャンネルプロセッサはマイクロプ
ロセッサをベースとしたシステムとすることができ、そ
れ自身のバッファメモリ(一般にバッファ13よりかな
り小さいサイズのもの)を含むものとすることができる
【0028】以上のように動作するデータ記憶装置は当
該技術分野では周知であり、したがって説明した装置の
一般的な動作についての詳細な説明はここでは行わない
。しかし、バッファ13の態様および動作に関する好適
な構成が同時係属中のヨーロッパ特許出願EP−A−0
,3365,116号に説明されている。
【0029】この実施例において、マイクロプロセッサ
17のファームウエアコードを記憶する不揮発性メモリ
18はフラッシュメモリである。さらに、この発明によ
れば、このデータ記憶装置に、ホストコンピュータから
入出力回路10を介して、あるいはテープ駆動装置12
によって読まれるテープ媒体上でこの装置に提供される
新しいファームウエアでメモリ18を再プログラムする
ように指令することができる。
【0030】このデータ記憶装置内の再プログラム処理
の制御は制御手段16によって行われる(特に、マイク
ロプロセッサ17によって行われる)。
【0031】再プログラム処理の全体をホストコンピュ
ータによって提供される新しいファームウエアコードに
関して図2および図3に図示する。図2はホストコンピ
ュータ内での新しいファームウエアコードの生成から記
憶装置のバッファ13内でのこの新しいコードの記憶ま
での処理を示し、図3はバッファ13内に保持される新
しいコードがチェックされ、次にフラッシュメモリ18
が消去され、新しいコードがフラッシュメモリ18に転
送される、この処理の最終部分を示す。
【0032】図2において、ステップ30ではホストに
おいて新しいファームウエアコードが“絶対ファイル”
フォーマットとして周知の標準ファイルフォーマットで
生成される。これは新しいコードだけではなく、コード
のさまざまな部分のメモリ内において意図される位置を
も規定するものである。図4は絶対ファイルフォーマッ
トを示す。絶対ファイル60は9ワード(2倍と/ワー
ド)のヘッダーレコード61、4ワードのプロセッサ情
報レコード63、および多数のNワードのデータレコー
ド65、67からなる。プロセッサ情報レコード63、
データレコード65および67の前にはそれぞれワード
62、64および66があり、これらは次のレコード中
のバイト数を含む(この数は2の倍数である。なぜなら
それぞれのレコードはワード全体を含むためである)。 ヘッダーレコードとプロセッサ情報レコードはコードを
識別し対象となるプロセッサに関する情報を提供するデ
ータを含む。データレコードは新しいファームウエアコ
ードとこのコードに対するロードアドレスを含む。
【0033】図4は絶対ファイルのデータレコード17
の構造を示す。このレコードの始めのワード(ワード“
0”)はこのレコード中のデータバイトの数を含む(こ
の数はこのレコードの前のワードに含まれる数とは異な
ることがある。これはレコードのワード“0”中の数は
有用な情報を含むバイトの数を示し、この数は固定され
た長さであるレコードの長さより短いことがあるためで
ある)。データレコード70の第2および第3のワード
(ワード“1”および“2”)はデータレコードに保持
されるファームウエアコードの最下位および最上位ワー
ドのメモリ中でのロードアドレスを含む。これらのロー
ドアドレスは関係するメモリ第1アドレスに関係する。 データレコードの残りのワード(ワード“3”から“N
”まで)はファームウエアコードの記憶に利用すること
ができるが、実際には、これらのワードすべてをこの目
的に使用できるわけではなく、いくつかは使用されずに
残る。ファームウエアコードを含むバイトの数はデータ
レコードのワード“0”に含まれる数から得ることがで
きる。
【0034】ファームウエアが絶対ファイルに入れられ
た後、ステップ31に示すようにこのファイルが符号化
される。この実施例では、ファイルは、4つのビットの
連続するグループのそれぞれを取り、それを対応する1
6進文字(“0”から“F”まで)に変換することによ
ってASCII文字に符号化される。その後、8バイト
のフィールドがファイルの前に加えられ、ファイル中の
バイトの総数を示す。最後に、全パッケージに対して低
レベルの暗号化処理を行って、不注意なユーザーによる
書き換えを防止する。この暗号化処理は例えば、指定さ
れた文字が他の文字に置き換えられる簡単な置き換え符
号化である。
【0035】その結果得られる符号化され、暗号化され
たファームウエアファイルは次にブロック32に示すよ
うにホストからデータ記憶装置8に送出される。このフ
ァイルのサイズは符号化および暗号化後に 750Kバ
イト程度とすることができるため、このファイルはまず
多数のサブファイルに細分化され、それぞれのサブファ
イルは次に装置8に送出される。この実施例では、ホス
トコンピュータとデータ記憶装置はSCSIコマンドを
用いて互いに通信を行う。したがって、それぞれのサブ
ファイルは、装置8がそのバッファへのコマンドに続く
所定数のバイトを転送するコマンドとして理解する対応
する“バッファ書き込み”コマンドのもとに送出される
。この場合、バッファ書き込みコマンドの“モード”フ
ィールドは新しいファームウエアコードとして渡される
データを使用すべきことを装置8に示す“モード−4”
にセットされる。
【0036】さらに図2において、装置の受け取るそれ
ぞれのコマンドはマイクロプロセッサ17に渡され、ス
テップ33に示すコマンドインタプリタ処理によって解
釈される。第1のモード−4バッファが書き込みコマン
ドを受け取ると、プロセッサはバッファ13のフラッシ
ングを開始し(ステップ34)、次にDMA制御器14
をセットアップしてバッファ書き込みコマンドに関連す
るファームウエアサブファイルをバッファ13に転送す
る(ステップ35)。サブファイルの長さに関する必要
な情報はバッファ書き込みコマンド自体に含まれており
、マイクロプロセッサ17はバッファメモリ15のメモ
リセグメント15D へのサブファイルの書き込みを行
わせる。メモリセグメント15D は転送処理中に入っ
てくるファームウエアサブファイルデータの一時記憶用
に用いられる。DMA転送のセットアップ後、コマンド
インタプリタ処理33はファームウエア更新処理を開始
する(ステップ36)。
【0037】コマンドインタプリタ33の受け取る後続
のモード−4バッファ書き込みコマンドはコマンドイン
タプリタによって異なった処理をされる。これはコマン
ドインタプリタがファームウエア更新サイクルが進行中
であることを知っているためである。したがってコマン
ドインタプリタは単に、入ってくるファームウエアサブ
ファイルデータをバッファメモリ15の領域15D に
記憶するために、そのコマンドに関連するサブファイル
のためのDMA転送をセットアップする。
【0038】既述の通り、メモリ15の領域15D は
単に入ってくるデータの一時記憶用に用いられ、このデ
ータはほとんどすぐにファームウエア更新処理の制御の
もとに抽出され、適当に処理されてメモリ15の領域1
5A および15B 中の所望のファームウエアコード
、およびメモリ15の領域15C 内のエラー修正コー
ド(ECC)のイメージが生成される。
【0039】ファームウエア更新処理自体を図2および
図3にブロック40から55として示す。この処理はバ
ッファ13へのサブファイルの転送と平行して実行され
、次のサブファイルの受領のさい必要に応じてすべての
サブファイルが受領されるまでそれ自体で停止する。実
際には、モード−4バッファ書き込みコマンドやそれら
に関連するサブファイルがホストからデータ記憶装置に
割込みのないシーケンスで送られることは必要ではなく
、他のコマンドがこのシーケンスに介在してもよい。た
だし、条件として、介在するコマンドはバッファメモリ
15中に作成中であるファームウエアコードの破壊を要
するものであってはならない。
【0040】ファームウエア更新処理が開始されると(
ステップ40)、始めのサブファイルの始めの8バイト
が受け取られ、次にステップ41に示すように解読、復
号化される。この解読および復号化処理は単にステップ
31でデータを符号化および暗号化するのに用いられる
処理の逆である。実施例では、始めの8バイトには受け
取られる新しいプログラムコードのすべて/ サブファ
イルの全長のバイト表示が含まれる。この全長数はその
後データ記憶装置がいつすべての新しいファームウエア
コードを受け取ったかを判定するのに用いられる。
【0041】次に、ステップ42において、後続のサブ
ファイルが受け取られメモリ領域15Dに記憶される。 メモリ領域15D に記憶されるサブファイルデータは
このメモリ領域に渡されるときに解読され、復号化され
る(ここでもこの解読および復号化はステップ31で行
われた処理の逆である)。その結果得られるデータは絶
対ファイルフォーマットのファームウエアコードデータ
であり、マイクロプロセッサ17は次にこのファイルフ
ォーマットからファームウエアデータそのものをアンパ
ックし、そのデータを絶対ファイルに含まれる関連のロ
ードアドレスによって示されるメモリ領域15A およ
び15B に記憶する。
【0042】バッファメモリ15へのファームウエアデ
ータの書き込みと同時に、プロセッサは順次、ECCコ
ード(エラーチェッキング/修正コード)を発生し、新
しいファームウエア用のチェックサムを再計算する。こ
れらのステップはすべて図2のブロック42によって表
される。
【0043】ECCはメモリ領域15A および15B
 の対応するビット間で排他的論理和機能を実行するこ
とによって発生し、その結果は15Cの対応する領域に
記憶される。この処理は領域15A と15B のいず
れか一つでビットが変更されるたびに実行される(もち
ろん、この処理は変更されたビットと、領域15A 、
15B のうちの他のもののそれに対応するビットにつ
いてのみ実行される) 。
【0044】チェックサムはメモリ領域15A と15
B を、加算されてチェックサムを形成する64Kの4
バイトワードとして取り扱うことによって計算される。
【0045】チェックはメモリ領域15D から処理さ
れるバイトの数についても行われ、この数がブロック4
1で復号化される総バイト長に等しいとき、ブロック4
2の処理が終了する。前述の通り、ブロック42の処理
はメモリ領域15D に転送されたすべてのデータが処
理されているが、そのファイルの総バイト数に達してい
ない場合に停止される。この場合、ブロック42の処理
はメモリ領域15D にさらにデータが受け取られるま
で停止されたままである。
【0046】新しいファームウエアコードがすべて解読
され、復号され、メモリ領域15A と15B に記憶
された後、ファームウエア更新処理がステップ43に示
すように、フラッシュメモリ18からバッファメモリ1
5A と15B 内の対応する位置に“校正”データと
して周知のある種のデータを複写する。この校正データ
には動作パラメータおよびセットアップデータ、製造者
コードおよび用途情報が含まれることがある。メモリ領
域15A および15B に保持されるデータはこの時
点ではフラッシュメモリ18にダウンロードしたい全フ
ァームウエアコードのイメージである。
【0047】図3は制御手段16が新しいプログラムコ
ードに複数のチェックが実行されるチェックステップを
実行するファームウエア更新ステップの後続のステップ
を示す。再プログラミングはこのチェックステップの結
果が良好であった場合にのみ進行する。
【0048】このようにして、ステップ44で、メモリ
15に記憶されたファームウエアコードがホストから受
け取ったファームウエアコードと同一であるかどうか(
すなわち、コードがメモリに記憶されていた期間(これ
はかなり長い期間である)にコードが改ざんされていな
いかどうか)が確認される。この判定(図2では“完全
性チェック”と呼ばれる)は、それぞれのバイトのパリ
ティビットをチェックし、またECCを再計算しそれを
メモリ領域15C に記憶されたECCと照合すること
によって行われる。これらのチェックのいずれかがエラ
ーとなった場合、そのコードは不良であり(ステップ4
5)、更新処理は中止され、ホストに適当な応答が送り
返される。 しかし、コードがその“完全性チェック”を通過する場
合、ファームウエア更新処理は、チェックサムをメモリ
領域15A 、15B 内のファームウエアイメージの
所定の位置に記憶した後次のチェックに進む。
【0049】ステップ46において、メモリ領域15A
 、15B に記憶された新しいファームウエアコード
が記憶装置8とコンパチブルであるかどうかを確認する
ためのチェックが行われる。この目的のため、駆動装置
もしくはコード自体に関する識別データがファームウエ
アコードに結合され、このような識別データはフラッシ
ュメモリ18に保持される既存のコード中に、またメモ
リ15に保持される新しいコード中に存在する。識別コ
ードを比較することによって、マイクロプロセッサ17
は新しいコードが記憶装置とコンパチブルであるか否か
を判定することができる。新しいコードがコンパチブル
でない場合(ステップ47)、更新処理は中止され、ホ
ストは適宜その情報を受ける。しかし、そのコードがコ
ンパチブルである場合、更新処理はステップ48で次の
チェックに進む。
【0050】ステップ48において、フラッシュメモリ
18が装置に対して許される再プログラミングの回数の
あらかじめ定められた限度(通常10,000回の再プ
ログラミング)に達しているかどうかを確認するチェッ
クが行われる。現在の再プログラミングの回数はフラッ
シュメモリ18の校正領域に保持されており、このチェ
ックで満足な結果が出た場合、この回数がインクリメン
トされ、メモリ領域15A 、15B 中の対応する位
置に記憶される。しかし、再プログラミングの回数が限
度値に達している場合、更新処理は中止され(ステップ
49)、ホストは適宜その情報を受け取る。
【0051】チェック44、46、48がすべて実行さ
れ、パスされた場合、対応する表示“良”が記憶装置か
らホストに返され、装置はステップ50に示すように“
使用中”にセットされる。“使用中”状態はこの更新処
理のこれ以降のステップの継続期間中維持され、これら
のステップは装置がバルナラブルとなるとき重要なステ
ップである。この期間中、ホストが記憶装置と通信しよ
うとしても“使用中”の応答が返される。
【0052】ファームウエア更新処理のこの時点まで、
フラッシュメモリ中の元のファームウエアは、この処理
におけるいかなる故障も破滅的なものとならず、再プロ
グラミングサイクル全体の再初期化だけを行えばよいよ
うにそのままの状態にとどまる。しかし、新しいファー
ムウエアコードがすべてバッファメモリ15に記憶され
チェックされると、次に既存のファームウエアコードの
フラッシュプログラム18を消去し、新しいコードを転
送することが必要となる。もちろん、それを行う前に、
消去およびコピー処理中にマイクロプロセッサ17を制
御するためのコードを利用できるようにしなければなら
ない。 この実施例では、このコードはフラッシュメモリ18中
で利用可能であるが、メモリ18の消去後に利用できる
位置にコピーしなければならないことはもちろんである
。したがって、ステップ51に示すように、関連のコー
ドがフラッシュメモリ18からマイクロプロセッサ17
と結合されたスタティックRAMメモリ19にコピーさ
れる。マイクロプロセッサ17のプログラムカウンタは
、ファームウエア更新コードの残りがRAM19から読
み出されるように、対応して変更される。
【0053】次に、ステップ52において、フラッシュ
メモリ18は一括して消去される。
【0054】その後、メモリ領域15A と15B に
保持された新しいファームウエアコードがステップ53
に示すようにフラッシュメモリ18の対応する位置に転
送(コピー)される。この処理のさいに、それぞれのバ
イトのパリティが再チェックされ、ECCが再計算され
記憶されたECCと比較される。これらのチェックのい
ずれかがエラーとなる場合、このエラーを修正する試み
がなされる。 したがって、例えばメモリ領域15A 中のあるバイト
がそのパリティビットのチェックによってエラーとされ
るが、メモリ領域15A 中の対応するバイトがそのパ
リティチェックを通過する場合、対応するECCビット
を用いてメモリ領域15A 中のエラーとなったバイト
を修正することができる(チェックサムは再計算される
)。
【0055】最後に、ステップ54において、バッファ
13がクリアされ、装置はその“使用中”状態からリセ
ットされる。ここでファームウエア更新処理が終了する
(ステップ55)。
【0056】上述のファームウエア更新処理によって、
データ記憶装置が装置を動作不能とする故障に対してバ
ルナラブルとなる時間が最小限になることがわかる。
【0057】フラッシュメモリ18中の最終チェックサ
ムの記憶によってマイクロプロセッサ17がフラッシュ
メモリ18のパワーオン試験を実行することができる。 この試験においてはこのメモリのチェックサムを再計算
し、それを前に計算し、メモリ18に記憶した値と比較
する。
【0058】ここに説明したデータ記憶装置とそのファ
ームウエア更新処理には多くの変更が可能であることが
理解されよう。したがって、例えば、新しいファームウ
エアコードはテープ上で提供し、ホストから提供される
コードについて上述したのとほぼ同じ方法でテープから
バッファに転送することができる。さらに、フラッシュ
メモリ18の消去とそれに続くバッファメモリからフラ
ッシュメモリ18への新しいファームウエアコードの転
送を制御するのに必要なコードを新しいコードとともに
設けメモリ18に保持される古いコードを用いる代わり
にバッファ13からスタティックRAM19にコピーす
ることができる。また、消去およびコピーコードを単に
固定ROMメモリに記憶することもできる。
【0059】マイクロプロセッサ17のファームウエア
コードはまた、すべてほぼ上述した通りの方法で更新可
能なフラッシュメモリである二つあるいはそれ以上のメ
モリの間で分割することが可能である。これらのメモリ
は同じフラッシュメモリチップの個別に消去可能な部分
で構成することができる。さらに、制御および処理サブ
アッセンブリ16に(前述のような)他のプログラム制
御されたプロセッサが含まれる場合、マイクロプロセッ
サ17を用いて、これらの他のプロセッサのファームウ
エアがフラッシュメモリに保持されている場合にはそれ
を更新するための更新処理を実行するのに用いることが
できる。
【0060】
【発明の効果】以上のように、本発明によれば、再プロ
グラミング中の機器のバルナラビリティ期間を短縮し、
再プログラミングミスの可能性を確実に低減する再プロ
グラム可能な記憶装置とその方法が提供される。
【0061】以上の説明から、この発明は再プログラミ
ング中の装置のバルナラビリティ期間を短縮するための
再プログラム可能な記憶装置とその方法からなることが
わかる。当該技術に精通するものには、この発明の概念
から離れることなく上述の実施例に変更を加えうること
が理解されるであろう。したがって、この発明はここに
開示した特定の実施例に限定されず、添付クレームに定
義するこの発明の範囲と精神に包含されるすべての変更
を含むものである。
【図面の簡単な説明】
【図1】本発明に基づく再プログラム可能なデータ格納
装置のブロック図である。
【図2】図1のデータ格納装置の動作及び本発明の再プ
ログラミング方法を実行するための好適な実施例を示す
ための流れ図である。
【図3】図1のデータ格納装置の動作及び本発明の再プ
ログラミング方法を実行するための好適な実施例を示す
ための流れ図である。
【図4】本発明の方法及び装置に基づいて実行される「
絶対ファイル」のファイルフォーマットの図である。
【図5】図4の絶対ファイルのデータ記録のフォーマッ
トの図である。
【符号の説明】
10  I/O回路 11  バス 12  テープ駆動装置 13  データバッファ 14  DMA制御器 15  DRAM 16  制御及び処理サブシステム 17  マイクロプロセッサ 18  フラッシュメモリ 19  SRAM 21  データバス 22  データバス

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】装置と外部データ処理装置の間でデータを
    交換するための入出力手段と;記憶媒体からデータを読
    み出し記憶媒体にデータを書き込むための媒体読み出し
    /書き込み手段と;前記入出力手段及び前記媒体読み出
    し/書き込み手段に接続されて、前記入出力手段と媒体
    読み出し/書き込み手段の間でのデータの転送をバッフ
    ァリングするためのデータバッファと;前記入出力手段
    、前記データバッファ及び前記読み出し/書き込み手段
    に接続されて、前記データバッファを介して前記入出力
    手段と前記読み出し/書き込み手段の間のデータの転送
    を制御し、データを処理するための制御手段と;から成
    る再プログラム可能データ記憶装置において:プログラ
    ムコードを保持するための不揮発性メモリと;前記プロ
    グラムコードを実行するためのプログラム制御プロセッ
    サであって、前記プロセッサは新しいプログラムコード
    で不揮発性メモリを再プログラミングするためにa)前
    記入出力手段又は前記媒体読み出し/書き込み手段を介
    して前記新しいプログラムコードを受信し、前記データ
    バッファに新しいプログラムコードを格納するステップ
    と; b)全ての前記新しいプログラムコードが受信されて前
    記データバッファに格納された時を決定し、全ての前記
    新しいプログラムコードが受信されて格納された場合に
    のみステップc)に進むステップと; c)前記不揮発性メモリを消去するステップと;さらに
    、 d)前記新しいプログラムコードを前記データバッファ
    から前記不揮発性メモリに転送するステップと;から成
    る一連のステップを実行するためのプログラムコードを
    実行することと; から成ることを特徴とする装置。
JP3320214A 1990-12-04 1991-12-04 再プログラム可能なデータ記憶装置 Pending JPH04290127A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB90313127.4 1990-12-04
EP90313127A EP0489204B1 (en) 1990-12-04 1990-12-04 Reprogrammable data storage device

Publications (1)

Publication Number Publication Date
JPH04290127A true JPH04290127A (ja) 1992-10-14

Family

ID=8205631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3320214A Pending JPH04290127A (ja) 1990-12-04 1991-12-04 再プログラム可能なデータ記憶装置

Country Status (3)

Country Link
EP (1) EP0489204B1 (ja)
JP (1) JPH04290127A (ja)
DE (1) DE69021732T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004511833A (ja) * 2000-05-04 2004-04-15 サイエンティフィック−アトランタ, インコーポレイテッド 複数のアプリケーションのためのメモリ管理および現在のアプリケーションバージョンを保守する通信端末ためのシステムおよび方法
JP4933268B2 (ja) * 2003-12-31 2012-05-16 サンディスク コーポレイション フラッシュメモリシステムの起動動作
JP2021157787A (ja) * 2020-03-24 2021-10-07 ピルツ ゲーエムベーハー アンド コー.カーゲー 不揮発性メモリにデータを格納する装置および方法

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3765585B2 (ja) * 1992-08-10 2006-04-12 株式会社ルネサステクノロジ データ処理装置
US7057937B1 (en) 1992-03-17 2006-06-06 Renesas Technology Corp. Data processing apparatus having a flash memory built-in which is rewritable by use of external device
TW231343B (ja) 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US6414878B2 (en) 1992-03-17 2002-07-02 Hitachi, Ltd. Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein
US5479638A (en) * 1993-03-26 1995-12-26 Cirrus Logic, Inc. Flash memory mass storage architecture incorporation wear leveling technique
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
GB9307623D0 (en) * 1993-04-13 1993-06-02 Jonhig Ltd Data writing to eeprom
FR2704677B1 (fr) * 1993-04-29 1995-06-23 Alcatel Business Systems Procédé et dispositif de programmation pour mémoire non volatile électriquement reprogrammable.
US5471518A (en) * 1993-08-10 1995-11-28 Novatel Communications Ltd. Method and apparatus for non-volatile data storage in radio telephones and the like
GB2283342B (en) * 1993-10-26 1998-08-12 Intel Corp Programmable code store circuitry for a nonvolatile semiconductor memory device
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6081878A (en) 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5930815A (en) * 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US6757800B1 (en) 1995-07-31 2004-06-29 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US6801979B1 (en) 1995-07-31 2004-10-05 Lexar Media, Inc. Method and apparatus for memory control circuit
US6125435A (en) * 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
DE19544571A1 (de) * 1995-11-30 1997-06-05 Sel Alcatel Ag Verfahren und Vorrichtung zum Programmieren eines Flash-EEProms
EP1008928A4 (en) * 1996-04-11 2007-08-08 Hitachi Ltd DISK UNIT AND CALCULATOR
US5940074A (en) * 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
US5878257A (en) * 1996-11-15 1999-03-02 Cirrus Logic, Inc. Self-booting mechanism to allow dynamic system configuration and diagnostic
US5928370A (en) * 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
US6411546B1 (en) 1997-03-31 2002-06-25 Lexar Media, Inc. Nonvolatile memory using flexible erasing methods and method and system for using same
US6122195A (en) * 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US6034897A (en) * 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US6209127B1 (en) * 1997-06-05 2001-03-27 Matsushita Electrical Industrial Co., Ltd Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program
JPH1185526A (ja) * 1997-09-12 1999-03-30 Hitachi Ltd プログラムロード方法
JP3622444B2 (ja) * 1997-09-26 2005-02-23 ノーリツ鋼機株式会社 写真処理機及びその動作制御情報更新システム
NO974761L (no) * 1997-10-15 1999-04-16 Ericsson Telefon Ab L M FremgangsmÕte for kopiering av programvare
DE19750365A1 (de) * 1997-11-14 1999-05-20 Bosch Gmbh Robert Verfahren zum Laden eines Programms und Datenverarbeitungsgerät
US6076137A (en) 1997-12-11 2000-06-13 Lexar Media, Inc. Method and apparatus for storing location identification information within non-volatile memory devices
GB9801373D0 (en) 1998-01-22 1998-03-18 Memory Corp Plc Memory system
US6040997A (en) * 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
CA2330739A1 (en) * 1998-05-11 1999-11-18 Digital Harmony Technologies, Inc. Method and system for distributing processing instructions with data to be processed
AU1729100A (en) 1998-11-17 2000-06-05 Lexar Media, Inc. Method and apparatus for memory control circuit
EP1228510B1 (en) 1999-04-01 2006-09-20 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US6141249A (en) * 1999-04-01 2000-10-31 Lexar Media, Inc. Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
US6831571B2 (en) * 1999-12-21 2004-12-14 Halliburton Energy Services, Inc. Logging device data dump probe
FR2809223A1 (fr) * 2000-05-17 2001-11-23 Schlumberger Systems & Service Effacement d'eeprom en temps masque
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
DE50014898D1 (de) * 2000-11-23 2008-02-14 Siemens Ag Verfahren und Vorrichtung zur Aktualisierung von Lesedateien in einem FLASH-Speicher einer industriellen Steuereinrichtung
CA2420791A1 (en) 2001-03-02 2003-02-05 Infineon Technologies Ag Method of storing a quantity of data in a target memory location and storage system
US7155560B2 (en) * 2001-06-27 2006-12-26 Intel Corporation Method and apparatus for storing data in flash memory
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
GB2412193A (en) * 2004-03-19 2005-09-21 Matsushita Electric Ind Co Ltd Reprogramming a non-volatile memory system.
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
FR2879777B1 (fr) * 2004-12-17 2007-02-16 Actaris Sas Soc Par Actions Si Telechargement pour un compteur d'ernergie
EP1672491A1 (fr) * 2004-12-17 2006-06-21 Actaris SAS Téléchargement pour un compteur d'énergie
US8566481B2 (en) 2009-06-10 2013-10-22 Cisco Technology, Inc. Managing configuration data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3443997A1 (de) * 1984-12-01 1986-06-05 Robert Bosch Gmbh, 7000 Stuttgart Verfahren zur programmierung eines nichtfluechtigen speichers
US4922456A (en) * 1988-04-29 1990-05-01 Scientific-Atlanta, Inc. Method of reducing wearout in a non-volatile memory with double buffer
GB8824373D0 (en) * 1988-10-18 1988-11-23 Hewlett Packard Ltd Buffer memory arrangement
GB8901932D0 (en) * 1989-01-28 1989-03-15 Int Computers Ltd Data processing system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004511833A (ja) * 2000-05-04 2004-04-15 サイエンティフィック−アトランタ, インコーポレイテッド 複数のアプリケーションのためのメモリ管理および現在のアプリケーションバージョンを保守する通信端末ためのシステムおよび方法
JP4933268B2 (ja) * 2003-12-31 2012-05-16 サンディスク コーポレイション フラッシュメモリシステムの起動動作
JP2021157787A (ja) * 2020-03-24 2021-10-07 ピルツ ゲーエムベーハー アンド コー.カーゲー 不揮発性メモリにデータを格納する装置および方法
US11449273B2 (en) 2020-03-24 2022-09-20 Pilz Gmbh & Co. Kg Apparatus for storing data in a non-volatile memory

Also Published As

Publication number Publication date
DE69021732D1 (de) 1995-09-21
EP0489204A1 (en) 1992-06-10
DE69021732T2 (de) 1996-01-18
EP0489204B1 (en) 1995-08-16

Similar Documents

Publication Publication Date Title
JPH04290127A (ja) 再プログラム可能なデータ記憶装置
EP1548602B1 (en) Non-volatile storage device control method
US6553532B1 (en) Method and apparatus for recording and reproducing information on and from disk
JP3233079B2 (ja) データ処理システム及びデータ処理方法
US20020110014A1 (en) Recording system, data recording apparatus, memory apparatus, and data recording method
US7903474B2 (en) Redundant purge for flash storage device
KR20030043691A (ko) 플래시 디바이스에서 부분적으로 소거된 유닛을 검출하는방법
US6516400B1 (en) Data storage, data processing system and method
US5390148A (en) Method of rewriting data in EEPROM, and EEPROM card
KR20000023497A (ko) 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시메모리에 프로그램을 저장하는 방법
JPH0335313A (ja) データ転送方式
US6639843B2 (en) Semiconductor memory device with block-unit erase type nonvolatile memory
US7886211B2 (en) Memory controller
US6904492B2 (en) Write-once memory device including non-volatile memory for temporary storage
US6216225B1 (en) PC system having flash-ROM controlling device and method for protecting BIOS stored in flash-ROM
JP2005078378A (ja) データ記憶装置及び不揮発性メモリに対するデータ書き込み方法
JP3620478B2 (ja) 記憶装置、この記憶装置を用いたデータ処理システム及びデータ読み出し方法
JP2000276402A (ja) フラッシュメモリ駆動方法及びフラッシュメモリ装置
JP4127307B2 (ja) データ記憶装置、データ処理システム、データ処理方法及びデータ処理装置
JP3178914B2 (ja) 半導体ファイル装置
US20070088905A1 (en) System and method for purging a flash storage device
JP3178913B2 (ja) 半導体ファイル装置
JP2001043143A (ja) 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法
JP2009086980A (ja) ロギングシステム
JP3444988B2 (ja) 不揮発性半導体ディスク装置およびその制御方法