JPH11143704A - 圧縮データパッチ修正方式 - Google Patents
圧縮データパッチ修正方式Info
- Publication number
- JPH11143704A JPH11143704A JP9310664A JP31066497A JPH11143704A JP H11143704 A JPH11143704 A JP H11143704A JP 9310664 A JP9310664 A JP 9310664A JP 31066497 A JP31066497 A JP 31066497A JP H11143704 A JPH11143704 A JP H11143704A
- Authority
- JP
- Japan
- Prior art keywords
- patch
- data
- correction
- compressed data
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】書換可能な不揮発性記憶にパッチ修正情報を格
納して書換不可能な記憶に記憶された圧縮データを疑似
的に内容の修正を可能にすることにより、修正のための
資源、費用や時間を削減できる圧縮データパッチ修正方
式の提供。 【解決手段】外部からの一定量のデータの読出し命令に
応じて読み出し専用書き換え不可能な圧縮データ格納部
300に格納されている圧縮データ310を読み出し伸
長部210で伸長して一時記憶し、書き換え可能な不揮
発性のパッチ情報格納部500に格納されているパッチ
情報510を読み出してパッチ修正部400によりデー
タのパッチ修正を行なう。
納して書換不可能な記憶に記憶された圧縮データを疑似
的に内容の修正を可能にすることにより、修正のための
資源、費用や時間を削減できる圧縮データパッチ修正方
式の提供。 【解決手段】外部からの一定量のデータの読出し命令に
応じて読み出し専用書き換え不可能な圧縮データ格納部
300に格納されている圧縮データ310を読み出し伸
長部210で伸長して一時記憶し、書き換え可能な不揮
発性のパッチ情報格納部500に格納されているパッチ
情報510を読み出してパッチ修正部400によりデー
タのパッチ修正を行なう。
Description
【0001】
【発明の属する技術分野】本発明は読み出し専用記憶装
置の圧縮データパッチ修正方式に関し、特に読み出し専
用記憶装置に記憶された圧縮データを疑似的に書き換え
可能とする圧縮データパッチ修正方式に関する。
置の圧縮データパッチ修正方式に関し、特に読み出し専
用記憶装置に記憶された圧縮データを疑似的に書き換え
可能とする圧縮データパッチ修正方式に関する。
【0002】
【従来の技術】従来、書き込え不可能な読み出し専用記
憶装置(例えば、Read OnlyMemoryなど
であって、以下ROMと記述する)に記憶されたデータ
をパッチ修正する方式として、特開平7−129396
号公報に開示された技術があるが、これには記憶された
データが圧縮されたデータである場合のパッチ修正に関
する技術は特に記載がなく、従って、ROMに記憶され
た圧縮データに対して機能向上もしくは障害修正等の必
要がある場合には、その修正量の多少にかかわらず、R
OMそのものを交換しなければならない。
憶装置(例えば、Read OnlyMemoryなど
であって、以下ROMと記述する)に記憶されたデータ
をパッチ修正する方式として、特開平7−129396
号公報に開示された技術があるが、これには記憶された
データが圧縮されたデータである場合のパッチ修正に関
する技術は特に記載がなく、従って、ROMに記憶され
た圧縮データに対して機能向上もしくは障害修正等の必
要がある場合には、その修正量の多少にかかわらず、R
OMそのものを交換しなければならない。
【0003】また、マイクロプログラムあるいはプログ
ラムの圧縮したデータを低コストでパッチ修正する方法
として、特開平8−44551号公報に開示された技術
があるが、この技術は、パッチ修正の対象となる圧縮デ
ータとパッチ修正情報の記憶されている装置が同一であ
り、この記憶装置がROMなどの書き換え不可能な読み
出し専用記憶装置である場合は、パッチ修正情報のみ置
換すれは良いときでもROMそのものを置換せざるを得
ない。
ラムの圧縮したデータを低コストでパッチ修正する方法
として、特開平8−44551号公報に開示された技術
があるが、この技術は、パッチ修正の対象となる圧縮デ
ータとパッチ修正情報の記憶されている装置が同一であ
り、この記憶装置がROMなどの書き換え不可能な読み
出し専用記憶装置である場合は、パッチ修正情報のみ置
換すれは良いときでもROMそのものを置換せざるを得
ない。
【0004】
【発明が解決しようとする課題】上述した従来のパッチ
修正方式は、特開平7−129396号公報に開示され
た技術では、圧縮データのパッチ修正については何ら開
示されていない。
修正方式は、特開平7−129396号公報に開示され
た技術では、圧縮データのパッチ修正については何ら開
示されていない。
【0005】また特開平8−44551号公報に開示さ
れた技術では、パッチ修正の対象となる圧縮データとパ
ッチ修正情報が記憶されている装置が読み出し専用であ
る場合は、パッチ修正情報のみを変更したい場合には装
置そのものを交換しなければならないという欠点があ
る。
れた技術では、パッチ修正の対象となる圧縮データとパ
ッチ修正情報が記憶されている装置が読み出し専用であ
る場合は、パッチ修正情報のみを変更したい場合には装
置そのものを交換しなければならないという欠点があ
る。
【0006】さらに、特開平8−44551号公報記載
の技術では、読み出され伸長されたデータとパッチ修正
データとを1対1で比較し、アドレスが同じであれば伸
長されたデータに代えてパッチ修正データを上位装置に
送出しているので、パッチ修正データと読み出し単位の
データとのデータ量は同じとなる。したがって、その読
み出し単位のデータ量が小さいときには、読み出し回数
が多くなり処理速度が遅くなるという欠点があり、読み
出し単位のデータ量が大きいときには、それに呼応して
パッチ修正のためのデータ量も多くなるという欠点を有
している。
の技術では、読み出され伸長されたデータとパッチ修正
データとを1対1で比較し、アドレスが同じであれば伸
長されたデータに代えてパッチ修正データを上位装置に
送出しているので、パッチ修正データと読み出し単位の
データとのデータ量は同じとなる。したがって、その読
み出し単位のデータ量が小さいときには、読み出し回数
が多くなり処理速度が遅くなるという欠点があり、読み
出し単位のデータ量が大きいときには、それに呼応して
パッチ修正のためのデータ量も多くなるという欠点を有
している。
【0007】本発明の目的は、書き換え可能な不揮発性
記憶装置にパッチ修正情報を格納してROMなどの書き
換え不可能な記憶装置に記憶された圧縮データを疑似的
に内容の修正を可能にすることにより、パッチ修正デー
タのみを変更した場合でも装置を交換せずに行なうこと
ができ、また、修正情報のみを更新することで、繰り返
し修正内容を変更することができ、さらには、処理速度
を損なうことなくパッチデータ量を少なくすることがで
き、修正のための資源、費用や時間を削減できる圧縮デ
ータパッチ修正方式を提供することにある。
記憶装置にパッチ修正情報を格納してROMなどの書き
換え不可能な記憶装置に記憶された圧縮データを疑似的
に内容の修正を可能にすることにより、パッチ修正デー
タのみを変更した場合でも装置を交換せずに行なうこと
ができ、また、修正情報のみを更新することで、繰り返
し修正内容を変更することができ、さらには、処理速度
を損なうことなくパッチデータ量を少なくすることがで
き、修正のための資源、費用や時間を削減できる圧縮デ
ータパッチ修正方式を提供することにある。
【0008】
【課題を解決するための手段】第1の発明の圧縮データ
パッチ修正方式は、圧縮データを格納する読み出し専用
書き換え不可能な第1の記憶手段と、前記圧縮データの
修正を行なうに使用するパッチ情報を格納する書き換え
可能な第2の記憶手段と、外部からの一定量のデータの
読出し命令に応じて前記第1の記憶手段に格納されてい
る前記圧縮データを読み出して伸長して一時記憶しパッ
チ修正後のデータを外部に送出するデータ伸長手段と、
前記第2の記憶手段に格納されているパッチ情報により
前記データ伸長手段に一時記憶されているデータのパッ
チ修正を行なうパッチ修正手段とを含んで構成されてい
る。
パッチ修正方式は、圧縮データを格納する読み出し専用
書き換え不可能な第1の記憶手段と、前記圧縮データの
修正を行なうに使用するパッチ情報を格納する書き換え
可能な第2の記憶手段と、外部からの一定量のデータの
読出し命令に応じて前記第1の記憶手段に格納されてい
る前記圧縮データを読み出して伸長して一時記憶しパッ
チ修正後のデータを外部に送出するデータ伸長手段と、
前記第2の記憶手段に格納されているパッチ情報により
前記データ伸長手段に一時記憶されているデータのパッ
チ修正を行なうパッチ修正手段とを含んで構成されてい
る。
【0009】第2の発明の圧縮データパッチ修正方式
は、第1の発明の圧縮データパッチ修正方式において、
パッチ情報はパッチデータブロック部とインデックステ
ーブルとを含んで構成され、前記パッチデータブロック
部はパッチデータとそのサイズデータとパッチ開始物理
アドレスデータとを含むパッチデータブロックを一つ以
上含み、前記インデックステーブルには伸長された圧縮
データの物理アドレスの上位ワードであるインデックス
に属するパッチデータブロックの格納されている第2の
記憶手段内の先頭アドレスをインデックス順に格納して
おり、前記パッチデータブロック部へのパッチデータブ
ロックの格納順はインデックス順にかつ同一インデック
ス内ではパッチ開始物理アドレス順であることを特徴と
している。
は、第1の発明の圧縮データパッチ修正方式において、
パッチ情報はパッチデータブロック部とインデックステ
ーブルとを含んで構成され、前記パッチデータブロック
部はパッチデータとそのサイズデータとパッチ開始物理
アドレスデータとを含むパッチデータブロックを一つ以
上含み、前記インデックステーブルには伸長された圧縮
データの物理アドレスの上位ワードであるインデックス
に属するパッチデータブロックの格納されている第2の
記憶手段内の先頭アドレスをインデックス順に格納して
おり、前記パッチデータブロック部へのパッチデータブ
ロックの格納順はインデックス順にかつ同一インデック
ス内ではパッチ開始物理アドレス順であることを特徴と
している。
【0010】第3の発明の圧縮データパッチ修正方式
は、第2の発明の圧縮データパッチ修正方式において、
パッチデータブロックにはリンクフラグデータを有し後
続する同じインデックスのパッチデータブロックがパッ
チデータブロック部に存在するときには当該パッチデー
タブロックのリンクフラグデータを対応する値にセット
することを特徴としている。
は、第2の発明の圧縮データパッチ修正方式において、
パッチデータブロックにはリンクフラグデータを有し後
続する同じインデックスのパッチデータブロックがパッ
チデータブロック部に存在するときには当該パッチデー
タブロックのリンクフラグデータを対応する値にセット
することを特徴としている。
【0011】第4の発明の圧縮データパッチ修正方式
は、第1の発明の圧縮データパッチ修正方式において、
パッチ修正手段は外部からの読み出し単位である一定の
データ量でパッチ情報に含まれるパッチ開始物理アドレ
スを除した値(端数切り上げ)であるセクタアドレスを
予め登録するパッチセクタアドレス登録手段と、このセ
クタアドレスを格納するパッチセクタアドレステーブル
とを有することを特徴としている。
は、第1の発明の圧縮データパッチ修正方式において、
パッチ修正手段は外部からの読み出し単位である一定の
データ量でパッチ情報に含まれるパッチ開始物理アドレ
スを除した値(端数切り上げ)であるセクタアドレスを
予め登録するパッチセクタアドレス登録手段と、このセ
クタアドレスを格納するパッチセクタアドレステーブル
とを有することを特徴としている。
【0012】第5の発明の圧縮データパッチ修正方式
は、第4の発明の圧縮データパッチ修正方式において、
パッチ修正手段はデータ伸長手段に一時格納されている
データの属するセクタアドレスがパッチセクタアドレス
テーブルに登録されているかどうかをチェックし登録さ
れているときにはパッチ修正動作を起動するパッチセク
タアドレスチェック手段を有することを特徴としてい
る。
は、第4の発明の圧縮データパッチ修正方式において、
パッチ修正手段はデータ伸長手段に一時格納されている
データの属するセクタアドレスがパッチセクタアドレス
テーブルに登録されているかどうかをチェックし登録さ
れているときにはパッチ修正動作を起動するパッチセク
タアドレスチェック手段を有することを特徴としてい
る。
【0013】第6の発明の圧縮データパッチ修正方式
は、第5の発明の圧縮データパッチ修正方式において、
パッチ修正手段はパッチセクタアドレスチェック手段の
起動に応じて第2の記憶手段からチェックされたセクタ
アドレスに属するパッチデータブロックを読み出しこれ
によりデータ伸長手段に一時格納されている伸長された
データに埋め込み修正することを特徴としている。
は、第5の発明の圧縮データパッチ修正方式において、
パッチ修正手段はパッチセクタアドレスチェック手段の
起動に応じて第2の記憶手段からチェックされたセクタ
アドレスに属するパッチデータブロックを読み出しこれ
によりデータ伸長手段に一時格納されている伸長された
データに埋め込み修正することを特徴としている。
【0014】第7の発明の圧縮データパッチ修正方式
は、第1の発明の圧縮データパッチ修正方式において、
圧縮データの修正に変更があったときには第2の記憶手
段のパッチ情報を書き換え対応することを特徴としてい
る。
は、第1の発明の圧縮データパッチ修正方式において、
圧縮データの修正に変更があったときには第2の記憶手
段のパッチ情報を書き換え対応することを特徴としてい
る。
【0015】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
て図面を参照して説明する。
【0016】図1は本発明の圧縮データパッチ修正方式
の一実施の形態の構成を示すブロック図である。
の一実施の形態の構成を示すブロック図である。
【0017】本実施の形態の圧縮データパッチ修正方式
は、図1に示すように、圧縮データ310を格納する書
き換え不可能な読み取り専用記憶装置(例えばマスクR
OM装置)である圧縮データ格納部300と、パッチ情
報510を格納する書き換え可能な不揮発性記憶装置
(例えばEPROM装置)であるパッチ情報格納部50
0と、OS中核部である制御部100と、パッチ情報に
よりパッチ修正を行なうパッチ修正部400と、圧縮デ
ータ格納部300から圧縮データを読み出し伸長部21
0により伸長してリードバッフア220に一時格納しパ
ッチ修正の必要があるときにはパッチ修正部400によ
るパッチ修正の後に制御部100にそのデータを送出す
るデータ伸長部200とで構成される。
は、図1に示すように、圧縮データ310を格納する書
き換え不可能な読み取り専用記憶装置(例えばマスクR
OM装置)である圧縮データ格納部300と、パッチ情
報510を格納する書き換え可能な不揮発性記憶装置
(例えばEPROM装置)であるパッチ情報格納部50
0と、OS中核部である制御部100と、パッチ情報に
よりパッチ修正を行なうパッチ修正部400と、圧縮デ
ータ格納部300から圧縮データを読み出し伸長部21
0により伸長してリードバッフア220に一時格納しパ
ッチ修正の必要があるときにはパッチ修正部400によ
るパッチ修正の後に制御部100にそのデータを送出す
るデータ伸長部200とで構成される。
【0018】制御部100からの読み出し要求に対応す
る読み出し単位のデータ量は一定(例えば512バイ
ト)であり、以後セクタ単位の読み出しという。
る読み出し単位のデータ量は一定(例えば512バイ
ト)であり、以後セクタ単位の読み出しという。
【0019】データの位置は、その属するプログラム等
の先頭からの直接の位置で表わされる物理アドレスとと
もに、そのデータの属する一群のデータ位置を示す値、
例えばその物理アドレスを1セクタのデータ量で除した
セクタアドレス値(小数点以下は切り上げる)でも表わ
され、また、物理アドレスの上位ワードで表されるイン
デックス値でも表される。
の先頭からの直接の位置で表わされる物理アドレスとと
もに、そのデータの属する一群のデータ位置を示す値、
例えばその物理アドレスを1セクタのデータ量で除した
セクタアドレス値(小数点以下は切り上げる)でも表わ
され、また、物理アドレスの上位ワードで表されるイン
デックス値でも表される。
【0020】パッチ修正部400は、パッチ情報格納部
500に格納されているパッチデータの属するセクタア
ドレスを格納しているパッチセクタアドレステーブル4
10と、パッチ情報格納部500にあるパッチデータの
属するパッチセクタアドレスを計算しパッチセクタアド
レステーブル410にその求めたパッチセクタアドレス
を登録するパッチセクタアドレス登録部430と、リー
ドバッフア220にある読み出され伸長されたデータの
属するセクタアドレスがパッチセクタアドレステーブル
410に登録されているかどうかをチェックし登録され
ているときにはパッチデータ読出部450とパッチ埋め
込み部460とを起動するパッチセクタアドレスチェッ
ク部440と、パッチセクタアドレスチェック部440
により起動されパッチ情報格納部500からパッチセク
タアドレスに対応するパッチデータを読出しパッチデー
タバッフア420に格納するパッチデータ読出部450
と、パッチデータ読出部450により読み出されたパッ
チデータを格納するパッチデータバッフア420と、パ
ッチデータバッフア420に格納されているパッチデー
タによりリードバッフア220に格納されているデータ
のパッチ修正を行なうパッチ埋め込み部460とを含ん
で構成されている。
500に格納されているパッチデータの属するセクタア
ドレスを格納しているパッチセクタアドレステーブル4
10と、パッチ情報格納部500にあるパッチデータの
属するパッチセクタアドレスを計算しパッチセクタアド
レステーブル410にその求めたパッチセクタアドレス
を登録するパッチセクタアドレス登録部430と、リー
ドバッフア220にある読み出され伸長されたデータの
属するセクタアドレスがパッチセクタアドレステーブル
410に登録されているかどうかをチェックし登録され
ているときにはパッチデータ読出部450とパッチ埋め
込み部460とを起動するパッチセクタアドレスチェッ
ク部440と、パッチセクタアドレスチェック部440
により起動されパッチ情報格納部500からパッチセク
タアドレスに対応するパッチデータを読出しパッチデー
タバッフア420に格納するパッチデータ読出部450
と、パッチデータ読出部450により読み出されたパッ
チデータを格納するパッチデータバッフア420と、パ
ッチデータバッフア420に格納されているパッチデー
タによりリードバッフア220に格納されているデータ
のパッチ修正を行なうパッチ埋め込み部460とを含ん
で構成されている。
【0021】パッチ情報格納部500に格納されるパッ
チ情報510の詳細は図2に示されている。パッチ情報
510はインデックステーブル511とパッチデータブ
ロック部512とから構成されている(図2(a))。
インデックステーブル511には、インデックステーブ
ルの先頭アドレスから数えてインデックス値に対応する
位置にそのインデックスに属する先頭のパッチブロック
の格納位置データが格納されている。パッチデータブロ
ック部512はパッチ情報の単位であるパッチデータブ
ロック5120を格納している(図2(a))。パッチ
情報510の作成法は図3の流れ図に示してあり、これ
を説明する。
チ情報510の詳細は図2に示されている。パッチ情報
510はインデックステーブル511とパッチデータブ
ロック部512とから構成されている(図2(a))。
インデックステーブル511には、インデックステーブ
ルの先頭アドレスから数えてインデックス値に対応する
位置にそのインデックスに属する先頭のパッチブロック
の格納位置データが格納されている。パッチデータブロ
ック部512はパッチ情報の単位であるパッチデータブ
ロック5120を格納している(図2(a))。パッチ
情報510の作成法は図3の流れ図に示してあり、これ
を説明する。
【0022】パッチデータブロック5120は修正デー
タであるパッチデータ5123と、その大きさを示すパ
ッチサイズ5122と、そのパッチ先アドレス(物理ア
ドレス)と後述するリンクフラグ5124とから作成さ
れる(ステップ31)(図2(b))。
タであるパッチデータ5123と、その大きさを示すパ
ッチサイズ5122と、そのパッチ先アドレス(物理ア
ドレス)と後述するリンクフラグ5124とから作成さ
れる(ステップ31)(図2(b))。
【0023】パッチデータブロック部512へのパッチ
データブロック5120の格納方法は、パッチデータブ
ロック5120の属するインデックス順に格納する。そ
して同じインデックスに属するパッチデータブロック5
120はパッチ開始アドレス順に格納し、後続するパッ
チデータブロック5120があるときにはそれに直前先
行するパッチデータブロック5120のリンクフラグ5
124のフラグを立てる。図2(a)のパッチデータブ
ロックの参照番号5120−p−q中のpはインデック
ス値を、qは同一インデックスに属するパッチデータブ
ロック5120のシリアル番号を示す(ステップ3
2)。
データブロック5120の格納方法は、パッチデータブ
ロック5120の属するインデックス順に格納する。そ
して同じインデックスに属するパッチデータブロック5
120はパッチ開始アドレス順に格納し、後続するパッ
チデータブロック5120があるときにはそれに直前先
行するパッチデータブロック5120のリンクフラグ5
124のフラグを立てる。図2(a)のパッチデータブ
ロックの参照番号5120−p−q中のpはインデック
ス値を、qは同一インデックスに属するパッチデータブ
ロック5120のシリアル番号を示す(ステップ3
2)。
【0024】次に、インデックステーブル511の作成
であるが、インデックステーブル511の開始アドレス
(パッチ情報格納部500内の)からp番目にインデッ
クスpに属するパッチデータブロック5120が格納さ
れた先頭アドレス(パッチ情報格納部500内の)を格
納して作成する。図2(a)のインデックスの参照番号
5110−p中のpはインデックス値を示している(ス
テップ33)。
であるが、インデックステーブル511の開始アドレス
(パッチ情報格納部500内の)からp番目にインデッ
クスpに属するパッチデータブロック5120が格納さ
れた先頭アドレス(パッチ情報格納部500内の)を格
納して作成する。図2(a)のインデックスの参照番号
5110−p中のpはインデックス値を示している(ス
テップ33)。
【0025】以上のようにしてパッチ情報510は作成
され、パッチ情報格納部500に格納される。
され、パッチ情報格納部500に格納される。
【0026】次に、パッチ修正部400の初期動作とし
て先ずパッチセクタアドレス登録部430によるパッチ
情報格納部500に格納されているパッチデータブロッ
クに関するパッチセクタアドレスをパッチセクタアドレ
ステーブル410に登録する。その動作は図4に流れ図
として示されている。図1、2および4を参照してパッ
チ修正部400の初期動作について説明する。
て先ずパッチセクタアドレス登録部430によるパッチ
情報格納部500に格納されているパッチデータブロッ
クに関するパッチセクタアドレスをパッチセクタアドレ
ステーブル410に登録する。その動作は図4に流れ図
として示されている。図1、2および4を参照してパッ
チ修正部400の初期動作について説明する。
【0027】先ずパッチセクタアドレス登録部430は
パッチ情報格納部500に格納されている先頭のパッチ
データブロック5120をインデックステーブル511
を介して読み出し(ステップ41)、そのパッチ開始ア
ドレス5121よりパッチセクタアドレスを計算する
(ステップ42)。これは、パッチ開始アドレス512
1をセクタデータ量で除して切り上げた整数を求めれば
よい。そしてその直前のパッチデータブロック5120
のパッチセクタアドレスと同一かどうかを調べ(ステッ
プ43)、同一でないときには(ステップ43のN枝)
(先頭のパッチデータブロック5120のときにはこの
場合の一例である)、この求めたパッチセクタアドレス
をパッチセクタアドレステーブル410に登録し(ステ
ップ44)、次のパッチデータブロック5120をリン
クフラグ5124を参照して読み出す(ステップ4
5)。ステップ43のチェックで同一のときには(ステ
ップ43のY枝)、次のパッチデータブロック5120
をリンクフラグ5124を参照して読み出す(ステップ
45)。
パッチ情報格納部500に格納されている先頭のパッチ
データブロック5120をインデックステーブル511
を介して読み出し(ステップ41)、そのパッチ開始ア
ドレス5121よりパッチセクタアドレスを計算する
(ステップ42)。これは、パッチ開始アドレス512
1をセクタデータ量で除して切り上げた整数を求めれば
よい。そしてその直前のパッチデータブロック5120
のパッチセクタアドレスと同一かどうかを調べ(ステッ
プ43)、同一でないときには(ステップ43のN枝)
(先頭のパッチデータブロック5120のときにはこの
場合の一例である)、この求めたパッチセクタアドレス
をパッチセクタアドレステーブル410に登録し(ステ
ップ44)、次のパッチデータブロック5120をリン
クフラグ5124を参照して読み出す(ステップ4
5)。ステップ43のチェックで同一のときには(ステ
ップ43のY枝)、次のパッチデータブロック5120
をリンクフラグ5124を参照して読み出す(ステップ
45)。
【0028】このようにして、パッチ情報格納部500
に格納されているパッチデータブロック5120がなく
なるまで上記動作を繰り返し(ステップ42から46の
Y枝のループ)、なくなったときには(ステップ46の
N枝)、初期動作を終了しパッチ情報格納部500に格
納されているパッチデータブロック5120に関するす
べてのパッチセクタアドレスがパッチセクタアドレステ
ーブル410に登録される。
に格納されているパッチデータブロック5120がなく
なるまで上記動作を繰り返し(ステップ42から46の
Y枝のループ)、なくなったときには(ステップ46の
N枝)、初期動作を終了しパッチ情報格納部500に格
納されているパッチデータブロック5120に関するす
べてのパッチセクタアドレスがパッチセクタアドレステ
ーブル410に登録される。
【0029】次にこのようにして作成されたパッチ情報
510による圧縮データ格納部300に格納されている
圧縮データ310のパッチ修正動作について説明する。
図5はパッチ修正部400によるパッチ修正動作を示す
流れ図である。図1、2および5を参照してパッチ修正
部400のパッチ修正動作について説明する。
510による圧縮データ格納部300に格納されている
圧縮データ310のパッチ修正動作について説明する。
図5はパッチ修正部400によるパッチ修正動作を示す
流れ図である。図1、2および5を参照してパッチ修正
部400のパッチ修正動作について説明する。
【0030】先ず、制御部100の読み出し指示(読み
出し開始アドレスを含む)によりセクタ単位で読み出さ
れた圧縮データ格納部300にある圧縮データ310を
伸長部210により伸長しリードバッフア220に一時
格納する(ステップ51および52)。読み出し開始ア
ドレスの供給を受けたパッチセクタアドレスチェック部
440はその読み出し開始アドレスに対応するセクタア
ドレスを求めそのセクタアドレスがパッチセクタアドレ
ステーブル410に登録されているかどうかをチェック
する(ステップ53)。
出し開始アドレスを含む)によりセクタ単位で読み出さ
れた圧縮データ格納部300にある圧縮データ310を
伸長部210により伸長しリードバッフア220に一時
格納する(ステップ51および52)。読み出し開始ア
ドレスの供給を受けたパッチセクタアドレスチェック部
440はその読み出し開始アドレスに対応するセクタア
ドレスを求めそのセクタアドレスがパッチセクタアドレ
ステーブル410に登録されているかどうかをチェック
する(ステップ53)。
【0031】ステップ53のチェックで登録されていな
ければ(ステップ53のN枝)、リードバッフア220
に一時格納されている伸長データはパッチ修正対象のデ
ータではないので、このデータをデータ伸長部200は
制御部100に転送し(ステップ56)、次の圧縮デー
タ310を読み出し(ステップ57)、伸長修正動作に
移る。
ければ(ステップ53のN枝)、リードバッフア220
に一時格納されている伸長データはパッチ修正対象のデ
ータではないので、このデータをデータ伸長部200は
制御部100に転送し(ステップ56)、次の圧縮デー
タ310を読み出し(ステップ57)、伸長修正動作に
移る。
【0032】パッチセクタアドレスチェック部440に
よるステップ53のチェックで登録されていれば(ステ
ップ53のY枝)、リードバッフア220に一時格納さ
れている伸長データはパッチ修正対象のデータが含まて
れているので、パッチセクタアドレスチェック部440
はパッチデータ読出部450とパッチ埋め込み部460
とを起動しパッチデータ読出部450はこれに対応する
同じセクタアドレスに属するパッチデータブロック51
20をインデックステーブル511とリンクフラグ51
24とを参照してすべてパッチ情報格納部500から読
み出しパッチデータバッフア420に格納し(ステップ
54)、パッチ埋め込み部460はパッチデータバッフ
ア420にあるパッチデータブロック5120によりリ
ードバッフア220に一時格納されている伸長データの
対応する個所にパッチデータ5123を埋め込み(ステ
ップ55)、パッチ終了後データ伸長部200はリード
バッフア220にあるパッチ修正されたデータを制御部
100に転送し(ステップ56)、次の圧縮データ31
0の読み出し伸長修正動作に移る(ステップ57)。
よるステップ53のチェックで登録されていれば(ステ
ップ53のY枝)、リードバッフア220に一時格納さ
れている伸長データはパッチ修正対象のデータが含まて
れているので、パッチセクタアドレスチェック部440
はパッチデータ読出部450とパッチ埋め込み部460
とを起動しパッチデータ読出部450はこれに対応する
同じセクタアドレスに属するパッチデータブロック51
20をインデックステーブル511とリンクフラグ51
24とを参照してすべてパッチ情報格納部500から読
み出しパッチデータバッフア420に格納し(ステップ
54)、パッチ埋め込み部460はパッチデータバッフ
ア420にあるパッチデータブロック5120によりリ
ードバッフア220に一時格納されている伸長データの
対応する個所にパッチデータ5123を埋め込み(ステ
ップ55)、パッチ終了後データ伸長部200はリード
バッフア220にあるパッチ修正されたデータを制御部
100に転送し(ステップ56)、次の圧縮データ31
0の読み出し伸長修正動作に移る(ステップ57)。
【0033】このようにして圧縮データ格納部300に
ある圧縮データ310がなくなるまでこれを繰り返し
(ステップ53から58のN枝のループ)、なくなれば
(ステップ58のY枝)パッチ修正動作を終了する。
ある圧縮データ310がなくなるまでこれを繰り返し
(ステップ53から58のN枝のループ)、なくなれば
(ステップ58のY枝)パッチ修正動作を終了する。
【0034】以上説明したように、本実施の形態の圧縮
データパッチ修正方式は、圧縮データを書き換え不可能
な読み取り専用記憶装置に格納していても、パッチ修正
データを書き換え可能な不揮発性記憶装置に格納するこ
とによりパッチ修正データの変更があっても、装置交換
をすることなく疑似的にパッチ修正を可能とし、また、
修正情報のみを更新することにより繰り返し修正内容を
変更することができ、さらには、データの読み出し単位
に関係なくそれよりも小さいデータ量でパッチデータを
構成することができるので、処理速度を損なうことな
く、パッチ情報格納部に格納するパッチデータ量を少な
くすることができ、修正のための資源、費用や時間を削
減できる。
データパッチ修正方式は、圧縮データを書き換え不可能
な読み取り専用記憶装置に格納していても、パッチ修正
データを書き換え可能な不揮発性記憶装置に格納するこ
とによりパッチ修正データの変更があっても、装置交換
をすることなく疑似的にパッチ修正を可能とし、また、
修正情報のみを更新することにより繰り返し修正内容を
変更することができ、さらには、データの読み出し単位
に関係なくそれよりも小さいデータ量でパッチデータを
構成することができるので、処理速度を損なうことな
く、パッチ情報格納部に格納するパッチデータ量を少な
くすることができ、修正のための資源、費用や時間を削
減できる。
【0035】なお、本実施の形態の説明では、書き換え
可能な不揮発性記憶装置として、EPROM装置(Er
asable PROM)を用いた場合について説明し
たが、磁気デイスク装置や不揮発性RAMを用いても同
様に実施可能である。
可能な不揮発性記憶装置として、EPROM装置(Er
asable PROM)を用いた場合について説明し
たが、磁気デイスク装置や不揮発性RAMを用いても同
様に実施可能である。
【0036】
【発明の効果】以上説明したように、本発明の圧縮デー
タパッチ修正方式は、書き込み不可能な読み出し専用記
憶装置であるマスクROMやCD−ROM装置に格納さ
れた圧縮データを修正する場合、書き換え可能な不揮発
性記憶装置に格納したパッチ修正情報を用いることによ
りパッチ修正データに変更があっても、装置を交換せず
に疑似的に修正し更新できるので、修正のための費用や
時間を削減することができるという効果を有している。
タパッチ修正方式は、書き込み不可能な読み出し専用記
憶装置であるマスクROMやCD−ROM装置に格納さ
れた圧縮データを修正する場合、書き換え可能な不揮発
性記憶装置に格納したパッチ修正情報を用いることによ
りパッチ修正データに変更があっても、装置を交換せず
に疑似的に修正し更新できるので、修正のための費用や
時間を削減することができるという効果を有している。
【0037】また、パッチ修正情報を書き込み可能な記
憶装置に格納することによって、修正情報のみを更新す
ることで繰り返し修正内容を変更することができ、書き
換え不可能な読み出し専用記憶装置に記憶された圧縮デ
ータとして格納されたプログラムの障害修正等が迅速に
行なえ、コンピュータシステムの信頼性を高めることが
できるという効果を有している。
憶装置に格納することによって、修正情報のみを更新す
ることで繰り返し修正内容を変更することができ、書き
換え不可能な読み出し専用記憶装置に記憶された圧縮デ
ータとして格納されたプログラムの障害修正等が迅速に
行なえ、コンピュータシステムの信頼性を高めることが
できるという効果を有している。
【0038】さらに、データの読み出し単位に関係なく
それより小さいデータ量でパッチデータを構成すること
ができるので読み出し回数の増加や、パッチデータ量の
増加を回避できるという効果を有している。
それより小さいデータ量でパッチデータを構成すること
ができるので読み出し回数の増加や、パッチデータ量の
増加を回避できるという効果を有している。
【図1】本発明の圧縮データパッチ修正方式の一実施の
形態を示すブロック図である。
形態を示すブロック図である。
【図2】本実施の形態の圧縮データパッチ修正方式にお
けるパッチ情報を格納の様子を示す情報格納図であり、
(a)はインデックステーブル511とパッチデータブ
ロック部512における情報格納図、(b)はパッチデ
ータブロック5120の詳細を示す情報格納図である。
けるパッチ情報を格納の様子を示す情報格納図であり、
(a)はインデックステーブル511とパッチデータブ
ロック部512における情報格納図、(b)はパッチデ
ータブロック5120の詳細を示す情報格納図である。
【図3】パッチ情報のパッチ情報格納部500への格納
処理を示す流れ図である。
処理を示す流れ図である。
【図4】パッチ修正部400の初期動作を示す流れ図で
ある。
ある。
【図5】本発明の圧縮データパッチ修正方式の一実施の
形態の動作を示す流れ図である。
形態の動作を示す流れ図である。
31〜33、41〜46、51〜58 流れ図のステ
ップ 100 制御部 200 データ伸長部 210 伸長部 220 リードバッフア 300 圧縮データ格納部 310 圧縮データ 400 パッチ修正部 410 パッチセクタアドレステーブル 420 パッチデータバッフア 430 パッチセクタアドレス登録部 440 パッチセクタアドレスチェック部 450 パッチデータ読出部 460 パッチ埋め込み部 500 パッチ情報格納部 510 パッチ情報 511 インデックステーブル 512 パッチデータブロック部 5120 パッチデータブロック 5121 パッチ開始アドレス 5122 パッチサイズ 5123 パッチデータ 5124 リンクフラグ
ップ 100 制御部 200 データ伸長部 210 伸長部 220 リードバッフア 300 圧縮データ格納部 310 圧縮データ 400 パッチ修正部 410 パッチセクタアドレステーブル 420 パッチデータバッフア 430 パッチセクタアドレス登録部 440 パッチセクタアドレスチェック部 450 パッチデータ読出部 460 パッチ埋め込み部 500 パッチ情報格納部 510 パッチ情報 511 インデックステーブル 512 パッチデータブロック部 5120 パッチデータブロック 5121 パッチ開始アドレス 5122 パッチサイズ 5123 パッチデータ 5124 リンクフラグ
Claims (7)
- 【請求項1】 圧縮データを格納する読み出し専用書き
換え不可能な第1の記憶手段と、前記圧縮データの修正
を行なうに使用するパッチ情報を格納する書き換え可能
な不揮発性の第2の記憶手段と、外部からの一定量のデ
ータの読出し命令に応じて前記第1の記憶手段に格納さ
れている前記圧縮データを読み出して伸長して一時記憶
しパッチ修正後のデータを外部に送出するデータ伸長手
段と、前記第2の記憶手段に格納されているパッチ情報
により前記データ伸長手段に一時記憶されているデータ
のパッチ修正を行なうパッチ修正手段とを含むことを特
徴とする圧縮データパッチ修正方式。 - 【請求項2】 パッチ情報はパッチデータブロック部と
インデックステーブルとを含んで構成され、前記パッチ
データブロック部はパッチデータとそのサイズデータと
パッチ開始物理アドレスデータとを含むパッチデータブ
ロックを一つ以上含み、前記インデックステーブルには
伸長された圧縮データの物理アドレスの上位ワードであ
るインデックスに属するパッチデータブロックの格納さ
れている第2の記憶手段内の先頭アドレスをインデック
ス順に格納しており、前記パッチデータブロック部への
パッチデータブロックの格納順はインデックス順にかつ
同一インデックス内ではパッチ開始物理アドレス順であ
ることを特徴とする請求項1記載の圧縮データパッチ修
正方式。 - 【請求項3】 パッチデータブロックにはリンクフラグ
データを有し後続する同じインデックスのパッチデータ
ブロックがパッチデータブロック部に存在するときには
当該パッチデータブロックのリンクフラグデータを対応
する値にセットすることを特徴とする請求項2記載の圧
縮データパッチ修正方式。 - 【請求項4】 パッチ修正手段は外部からの読み出し単
位である一定のデータ量でパッチ情報に含まれるパッチ
開始物理アドレスを除した値(端数切り上げ)であるセ
クタアドレスを予め登録するパッチセクタアドレス登録
手段と、このセクタアドレスを格納するパッチセクタア
ドレステーブルとを有することを特徴とする請求項1記
載の圧縮データパッチ修正方式。 - 【請求項5】 パッチ修正手段はデータ伸長手段に一時
格納されているデータの属するセクタアドレスがパッチ
セクタアドレステーブルに登録されているかどうかをチ
ェックし登録されているときにはパッチ修正動作を起動
するパッチセクタアドレスチェック手段を有することを
特徴とする請求項4記載の圧縮データパッチ修正方式。 - 【請求項6】 パッチ修正手段はパッチセクタアドレス
チェック手段の起動に応じて第2の記憶手段からチェッ
クされたセクタアドレスに属するパッチデータブロック
を読み出しこれによりデータ伸長手段に一時格納されて
いる伸長されたデータに埋め込み修正することを特徴と
する請求項5記載の圧縮データパッチ修正方式。 - 【請求項7】 圧縮データの修正に変更があったときに
は第2の記憶手段のパッチ情報を書き換え対応すること
を特徴とする請求項1記載の圧縮データパッチ修正方
式。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9310664A JPH11143704A (ja) | 1997-11-12 | 1997-11-12 | 圧縮データパッチ修正方式 |
| US09/187,756 US6330712B1 (en) | 1997-11-12 | 1998-11-09 | Compressed data patch system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9310664A JPH11143704A (ja) | 1997-11-12 | 1997-11-12 | 圧縮データパッチ修正方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11143704A true JPH11143704A (ja) | 1999-05-28 |
Family
ID=18007979
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9310664A Pending JPH11143704A (ja) | 1997-11-12 | 1997-11-12 | 圧縮データパッチ修正方式 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6330712B1 (ja) |
| JP (1) | JPH11143704A (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19857921A1 (de) * | 1998-12-15 | 2000-06-29 | Siemens Ag | Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms |
| US20050044548A1 (en) * | 2003-08-20 | 2005-02-24 | John Page | Efficient replication of embedded operating system with a write filter and overlay partition |
| US7533240B1 (en) * | 2005-06-01 | 2009-05-12 | Marvell International Ltd. | Device with mapping between non-programmable and programmable memory |
| US8689204B2 (en) * | 2009-02-28 | 2014-04-01 | Blackberry Limited | Methods and tools for creation of read-only-memory software binary images and corresponding software patches |
| US8438558B1 (en) | 2009-03-27 | 2013-05-07 | Google Inc. | System and method of updating programs and data |
| US9223715B2 (en) | 2013-08-21 | 2015-12-29 | Via Alliance Semiconductor Co., Ltd. | Microprocessor mechanism for decompression of cache correction data |
| US20150055395A1 (en) * | 2013-08-21 | 2015-02-26 | Via Technologies, Inc. | Extended fuse reprogrammability mechanism |
| US9348690B2 (en) | 2013-08-21 | 2016-05-24 | Via Alliance Semiconductor Co., Ltd. | Correctable configuration data compression and decompression system |
| US9606933B2 (en) | 2014-05-22 | 2017-03-28 | Via Alliance Semiconductor Co., Ltd. | Multi-core apparatus and method for restoring data arrays following a power gating event |
| US9395802B2 (en) | 2014-05-22 | 2016-07-19 | Via Alliance Semiconductor Co., Ltd. | Multi-core data array power gating restoral mechanism |
| US9524241B2 (en) | 2014-05-22 | 2016-12-20 | Via Alliance Semiconductor Co., Ltd. | Multi-core microprocessor power gating cache restoral mechanism |
| US9665490B2 (en) | 2014-05-22 | 2017-05-30 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for repairing cache arrays in a multi-core microprocessor |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4400798A (en) * | 1981-07-13 | 1983-08-23 | Tektronix, Inc. | Memory patching system |
| US4542453A (en) * | 1982-02-19 | 1985-09-17 | Texas Instruments Incorporated | Program patching in microcomputer |
| US4610000A (en) * | 1984-10-23 | 1986-09-02 | Thomson Components-Mostek Corporation | ROM/RAM/ROM patch memory circuit |
| JPH02162439A (ja) * | 1988-12-15 | 1990-06-22 | Fujitsu Ltd | 共有メモリのフリーリスト管理方式 |
| JPH03265948A (ja) * | 1990-03-15 | 1991-11-27 | Nec Corp | バッファプール制御装置 |
| US5087913A (en) * | 1990-08-27 | 1992-02-11 | Unisys Corporation | Short-record data compression and decompression system |
| US5408672A (en) * | 1991-11-18 | 1995-04-18 | Matsushita Electric Industrial Co. | Microcomputer having ROM to store a program and RAM to store changes to the program |
| JPH0636549A (ja) * | 1992-07-21 | 1994-02-10 | Melco:Kk | Romカードおよびこれを装着したコンピュータ |
| JPH06250922A (ja) * | 1993-02-25 | 1994-09-09 | Rohm Co Ltd | 記憶装置 |
| US5481713A (en) * | 1993-05-06 | 1996-01-02 | Apple Computer, Inc. | Method and apparatus for patching code residing on a read only memory device |
| JPH07129396A (ja) * | 1993-11-08 | 1995-05-19 | Nec Corp | 読み出し専用記憶装置のパッチ方法 |
| JPH0844551A (ja) * | 1994-07-28 | 1996-02-16 | Hitachi Ltd | 情報処理装置 |
-
1997
- 1997-11-12 JP JP9310664A patent/JPH11143704A/ja active Pending
-
1998
- 1998-11-09 US US09/187,756 patent/US6330712B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US6330712B1 (en) | 2001-12-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7089549B2 (en) | Updating flash memory | |
| KR100531192B1 (ko) | 비휘발성 메모리의 제어방법 | |
| JPH11143704A (ja) | 圧縮データパッチ修正方式 | |
| JP2000510634A (ja) | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 | |
| CN113064604A (zh) | 一种固件升级方法和装置 | |
| US6546517B1 (en) | Semiconductor memory | |
| CN108170455A (zh) | 升级包的打包方法以及升级方法 | |
| CN113626092A (zh) | 嵌入式系统启动方法与soc芯片 | |
| US9391636B2 (en) | Method and system | |
| US5860088A (en) | Method for extraction of a variable length record from fixed length sectors on a disk drive | |
| US6925522B2 (en) | Device and method capable of changing codes of micro-controller | |
| KR20230078979A (ko) | 차량 무선 업데이트의 관리 제어 방법 및 장치 | |
| JP2017097576A (ja) | 書換システム | |
| KR20050011869A (ko) | 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법 | |
| JP2004062851A (ja) | 直接重複書き込み可能で冗長フィールドの使用不要の非揮発性メモリの保存システム及びその書き込み方法 | |
| JPH06161842A (ja) | 外部記憶装置およびこれを用いたコンピュータ | |
| JP2002342100A (ja) | ファームウェアの書き換え方法 | |
| JPH06314190A (ja) | 電子装置 | |
| JPH08328995A (ja) | Dma転送方式およびdma転送方法 | |
| JP2003108397A (ja) | ファームウェア書き換え方法 | |
| JP2007066326A (ja) | 記憶装置、データ処理装置並びにデータ処理方法 | |
| CN120122975A (zh) | 分区空间调整方法、装置、设备及存储介质 | |
| KR20020054145A (ko) | 이동통신 시스템에서의 대용량 디스크 액세스 장치 및 방법 | |
| CN120104067A (zh) | 基于字符设备的信息存储方法、系统、存储介质及设备 | |
| JP2002140205A (ja) | データ処理装置およびデータ処理装置のブート処理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000321 |