JP2000335019A - 印刷装置における高速アクセス方式 - Google Patents

印刷装置における高速アクセス方式

Info

Publication number
JP2000335019A
JP2000335019A JP11148986A JP14898699A JP2000335019A JP 2000335019 A JP2000335019 A JP 2000335019A JP 11148986 A JP11148986 A JP 11148986A JP 14898699 A JP14898699 A JP 14898699A JP 2000335019 A JP2000335019 A JP 2000335019A
Authority
JP
Japan
Prior art keywords
data
hdd
signal
cluster
fat
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.)
Abandoned
Application number
JP11148986A
Other languages
English (en)
Inventor
Satoshi Kataoka
智 片岡
Masaki Kobayashi
正樹 小林
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.)
Casio Computer Co Ltd
Casio Electronics Co Ltd
Original Assignee
Casio Computer Co Ltd
Casio Electronics Co 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 Casio Computer Co Ltd, Casio Electronics Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP11148986A priority Critical patent/JP2000335019A/ja
Publication of JP2000335019A publication Critical patent/JP2000335019A/ja
Abandoned legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 【課題】 本発明の課題は、ハードディスクに記憶され
た印刷データの読み出し時間を短縮し、印刷装置全体と
しての印刷処理時間を短縮することである。 【解決手段】CPUからハードディスク(HDD)への
非アクセス時において、I/Oコントローラ7は、予
め、HDDからデータを読み出し、これを、HDD用1
6ビットラッチ21にラッチさせておき、CPUが実際
にハードディスクへアクセスする時には、このHDD用
16ビットラッチにてラッチされているデータを読み出
すようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ハードディスクを
備えた印刷装置に関する。
【0002】
【従来の技術】近年におけるパーソナルコンピュータ
(以下、PCと言う。)の低価格化及び高性能化に伴
い、個人レベルで、データ容量の大きな画像データ等を
取り扱う機会が増えてきている。例えば、デジタルカメ
ラやスキャナー等の上位機器からのイメージデータをP
C内に取り込み、取り込んだイメージデータをPCで編
集し、これを印刷装置に出力することが、容易に行える
ようになった。
【0003】このため、印刷装置に対しては大容量の印
刷データを高速に処理することが要求され、ハードディ
スクを備えた印刷装置が利用されるようになった。これ
は、上位機器から入力される印刷データの全てを、一
旦、印刷装置が備えるハードディスクに記憶させ、以後
の処理は、このハードディスクに記憶された印刷データ
に基づき行われるものである。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うな印刷装置では、ハードディスクに記憶された印刷デ
ータの読み出しは、CPUからハードディスクへのアク
セス時のみに限られていた為に、非アクセス時には、印
刷データの読み出しは行われていなかった。
【0005】よって、従来では、ハードディスクからの
印刷データの読み出しは、CPUのアクセス時以外で行
われることはなかったので、例えば、読み出す印刷デー
タが、大容量の画像データ等の場合には、印刷データの
読み出しに非常に時間がかかるという問題があった。
【0006】本発明は、上記課題の解決をはかり、その
課題は、ハードディスクに記憶された印刷データの読み
出し時間を短縮し、印刷装置全体としての印刷処理時間
を短縮することである。
【0007】
【課題を解決するための手段】上記課題を解決するた
め、本発明の態様は、メモリからデータを読み出す指示
を行うメモリ制御手段と、該メモリ制御手段によるアド
レス指定により対象となるメモリに対してアクセスを行
うI/O制御手段と、前記メモリに対するデータのアク
セスが行われていない時、前記メモリから次のデータの
読み出しを指示する指示手段とを有し、前記I/O制御
手段は、前記指示手段によって指示されたデータの読み
出し処理を行う印刷装置における高速アクセス方式を提
供することによって達成できる。
【0008】また、請求項2の記載は、前記指示手段に
よるデータの読み出し処理は、例えばCPUを介在せず
に行う構成である。
【0009】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら説明する。 <第1の実施形態>図1は、本発明を適用した印刷装置
のシステム構成図である。同図に示すように、印刷装置
1は、プリンターI/F(インターフェイス)2、プリ
ンタエンジン3、及びLANボード4を備える。プリンタ
ーI/F2は、更に、CPU5、メモリコントローラ
6、I/Oコントローラ7、ビデオコントローラ8、及
びDIMM(Dual Inline Memory Module )9と、I/
Oコントローラ7とローカルバスで接続されるフラッシ
ュROM(Read Only Memory)10、マスクROM1
1、EEPROM(Electrically Erasable And Progra
mmable Rom)12、EMボード13、HDD(Hard Dis
k Drive )14、及びセントロニクスインターフェイス
15を備え、不図示の外部機器や外部ネットワークから
セントロニクスインターフェイス15やLAN (Local Ar
ea Network)ボード4を介して入力される印刷データ
を、一旦、HDD14に記憶させ、この印刷データに基
づいて、画像データの作成を行う。
【0010】ここで、CPU5は、印刷装置1の各種制
御を行う。フラッシュROM10やマスクROM11
は、CPU5が行う印刷装置1の各種制御を実行するた
めのプログラム等を記憶し、CPU5はこのプログラム
を順次実行することにより、印刷装置1の各種制御を行
う。EEPROM12は、一時的なデータの記憶場所で
あり、例えば、プリンタエンジン3が備える不図示の画
像形成ユニットの使用回数のカウント値(寿命カウント
値)等を記憶するものである。EMボード13は、メモ
リ拡張用のボードであり、フラッシュメモリやEPRO
M等を搭載し、プログラムのバージョンアップ時には、
このEMボード13からプログラムがダウンロードされ
る。HDD14は、不図示の外部機器や外部ネットワー
クから入力される印刷データ等を記憶する。尚、印刷デ
ータとしては、外部機器や外部ネットワークから受信し
たコマンド等に含まれる印刷情報のデータやイメージデ
ータ(ビットマップデータ)に変換された後の画像情報
を圧縮したデータ等が考えられる。DIMM9は、メイ
ンメモリーとして利用される。
【0011】I/Oコントローラ7は、ローカルバスに
接続される、フラッシュROM10、マスクROM1
1、EEPROM12、EMボード13、及びHDD1
4等の各種メモリと、セントロニクスインターフェイス
15を介した不図示の外部機器及びLANボード16を介
した不図示の外部ネットワークと、メモリコントローラ
6との間でデータ入出力制御を行い、例えば、メモリコ
ントローラ6によるアドレス指定により、対象となる記
憶媒体に対してアクセスを行うものである。
【0012】メモリコントローラ6は、CPU5、I/
Oコントローラ7、ビデオコントローラ8、及びDIM
M9との間で、データ送受信の制御を行い、例えば、C
PU5からの指示により、アクセス先となるアドレス指
定等を行い、データの送受信を行う。
【0013】ビデオコントローラ8は、メモリコントロ
ーラ6とプリンタエンジン3との間で、ビデオデータの
通信制御を行う。プリンタエンジン3は、プリンタI/
F2が作成した画像データを、プリンタI/F2が備え
るビデオコントローラ9を介して受信し、用紙に印刷す
るための各種機械的な制御を行う。これにより、印刷処
理が行われる。
【0014】図2は、本発明に係わる、HDD14、I
/Oコントローラ7、及びメモリコントローラ6の結線
をより詳細に示した図である。CPU5が、HDD 14に
記憶される画像データ等をリードするとき、CPU5
は、まず、メモリコントローラ6にアクセスし、メモリ
コントローラ6は、このCPU5からのアクセス信号に
基づき、I/Oコントローラ7へ" /LREQ"信号を
出力し、I/Oコントローラ7は、HDD14から画像
データを読み出す。そして、画像データの読み出しが終
了したら、I/Oコントローラ7は、メモリコントロー
ラ6へ" /LACK" 信号を出力する。メモリコントローラ
6は、この" /LACK" 信号を受信し、I/Oコント
ローラ6から画像データ等を読み出し、これをCPU5
へ送信する。CPU5は、その後、受信した画像データ
等を、解析し、DIMM9へ書き込み処理する。これら
の処理については、本発明と直接関係がないので、詳し
い説明は省略する。
【0015】図3は、I/Oコントローラ7の内部ブロ
ック図を示している。同図に示されるように、I/Oコ
ントローラ7は、シーケンサ20、HDD用16ビット
ラッチ21、ノーマル用16ビットラッチ22、16ビ
ット入出力バッファ23、64ビット入出力バッファ2
4、及びデータセレクタ25を備える。
【0016】本発明によるI /O コントローラ7は、従
来よりあるノーマル用16ビットラッチ22の他に、新
たに、HDD用16ビットラッチ21を備える。シーケ
ンサ20は、I/Oコントローラ7の全体的な制御を行
う。
【0017】16ビット入出力バッファ23は、HDD
14、EMボード13、EEPROM12、マスクRO
M11、及びフラッシュROM10等との16ビットデ
ータの入出力を行い、64ビット入出力バッファ24
は、メモリコントローラ6と64ビットデータの入出力
を行い、それぞれ、入出力の切り換えは、信号ライン2
6,27を介して、シーケンサ20の制御に基づき行わ
れる。
【0018】セレクタ25は、64ビット入出力バッフ
ァ24の64ビットデータを、16ビット入出力バッフ
ァ23に、16ビットづつ出力するために、その出力順
をセレクトする。この出力順のセレクトは、シーケンサ
20の制御に基づき64ビットバスセレクト信号28に
より行われる。
【0019】HDD用16ビットラッチ21及びノーマ
ル用16ビットラッチ22は、それぞれ、4つの16ビ
ットラッチから構成され、入力側は16ビット入出力バ
ッファ23と接続され、出力側は64ビット入出力バッ
ファ24と接続されている。HDD用16ビットラッチ
21及びノーマル用16ビットラッチ22のどちらを使
用するかは、シーケンサ20の制御に基づき、HDD用
ラッチセレクト信号29及びノーマル用ラッチセレクト
信号30によりセレクトされる。また、各16ビットラ
ッチへのデータのラッチは、シーケンサ20の制御に基
づき、ラッチ信号31により行われる。
【0020】図4は、本発明に係わる印刷装置のタイム
チャートである。同図は、CPUの非アクセス時に、H
DDの印刷データをプリフェッチする様子を示してい
る。まず、通常の、CPU5のアクセス時における(同
図期間40)、HDD14からの印刷データの読み出し
について説明する。CPU5は、HDD14からの印刷
データの読み出しの為、まず、メモリコントローラ6に
アクセスする。メモリコントローラ6は、CPU5から
のアクセス信号に基づき、I/O コントローラ7に対
し、アドレス1、/LREQ 、RNW、cmdの各信号を
出力する。/LREQ 信号は、CPU5がアクセス中であ
る時" L" になる信号である。アドレス1信号は、目的
とするアクセス先のアドレスを示す信号である。本例で
は、説明の便宜上、目的とするアクセス先のアドレスを
Aとする。また、このアドレス1信号の下位ビットとc
md信号により、8バイト、6バイト、4バイト、2バ
イトのバスサイジングが行われる。cmd信号は2ビッ
トからなり、値が" 3" の時は8バイト、以下、値が"
2" 、" 1" 、" 0" の時、それぞれ、6バイト、4バ
イト、2バイトのバスサイジングが行われる。本例で
は、cmd信号の値を" 3" とし、8バイトのバスサイ
ジングを行っている。RNW信号は、CPU5のアクセ
スがリードであるかライトであるかを示す信号であり、
RNW信号が、" H" の時リードを示し、" L" の時ラ
イトを示している。これらの信号により、I/O コント
ローラ9は、アドレスをデコードし、目的とするアクセ
ス先を決定する。本例では、アクセス先は、HDD14
であるので、/CS16HDD信号をアクティブ("
L" )にし、アクセス先アドレスを示すアドレス2信号
(ここでは、" A" )を出力する。尚、不図示ではある
が、/CS16信号線は5本あり、これらは、それぞ
れ、ローカルバスに接続される、フラッシュROM1
0、マスクROM11、EEPROM12、EMボード
13、HDD14に接続され、目的とする記憶媒体にア
クセスする場合は、目的とするその/CS信号をアクテ
ィブ(" L" )にする。尚、本例のHDD14は、ID
E仕様であり、データのリードは、I/Oポートアクセ
スのみで可能である。そして、/CS16HDD信号
が" L" である間に、/R16信号を4回アクティ
ブ(" L" )にし、16ビットデータa、b、c、dを
4回に分けて読み出し、それぞれ、16ビット入出力バ
ッファ23を介して、HDD用16ビットラッチ21に
ラッチさせる。尚、/R16信号は16ビットデータの
読み出し信号である。HDD用16ビットラッチ21
に、a 、b、c、dのデータ(トータル8バイト)が全
てラッチされたなら、/CS16HDD信号を非アクテ
ィブ(" H" )に、そして、/LACK信号をアクティ
ブ(" L" )にして、このラッチされたa,b,c,d
のデータを64ビット入出力バッファ24を介して、メ
モリコントローラ6に出力する。メモリコントローラ6
は、このa,b,c,dのデータを、CPUに送信し、
/LREQ 信号を非アクティブ(" H" )にする。I/O
コントローラ7は、/LREQ信号" H" を受信して、
/LACK信号を非アクティブ(" H" )にして、HD
Dデータ14からの画像データの読み出しは終了する。
【0021】次に、CPU5の非アクセス時における
(同図期間41)、HDD14からの印刷データの読み
出しについて説明する。期間41では、CPU5からメ
モリコントローラ6への、HDD14に記憶される印刷
データ等の読み出しの為のアクセスがないので、/LRE
Q 信号は非アクティブ(" H" )である。従来では、こ
の期間41において、HDD14に記憶される印刷デー
タ等の読み出しは行われていなかったが、本発明に係る
印刷装置では、CPU5の非アクセス時(期間41)に
おいても、予め、HDD14から、次のデータを読み出
し、これをHDD用16ビットラッチ21にラッチさせ
ておき、次のCPU5からの、HDD14への印刷デー
タ等の読み出しの為のアクセス時には、このHDD用1
6ビットラッチからデータを読み出すようにし、短時間
でデータの読み出しが可能になるものである。同図の期
間41において、/LREQ 信号が非アクティブ(" H"
)の時に、I/O コントローラ7は、/CS16HD
D信号をアクティブ(" L" )にして、この/CS16
HDD信号がアクティブ(" L" )の間に、/R16信
号を4回アクティブ(" L" )にして、次のデータであ
るe,f,g,hを、順次読み出し、これをHDD用1
6ビットラッチ21にラッチさせる。尚、この時のアド
レス2信号の" A" は、前回のCPU5のアクセス時に
おけるアドレス2信号を、シーケンサ20にてラッチさ
せていたアドレスである。このように、CPU5の非ア
クセス時(期間41)に、予め、HDD14の読み出す
べき次のデータe、f、g、hを読み出し、これをHD
D用16ビットラッチ21にラッチさせる。そして、次
のCPU5からのアクセス時(期間42)には、このH
DD用16ビットラッチにてラッチされたデータe、
f、g、hを読み出す。期間43及び期間44において
も、期間41及び期間42と同様に、CPU5の非アク
セス時(期間43)に、HDD14のデータを予め読み
出して、これをHDD用16ビットラッチ21にラッチ
させておき、CPUのアクセス時(期間44)に、この
HDD用16ビットラッチ21にラッチされたデータを
読み出すものである。
【0022】このように、CPU5からの非アクセス時
において、HDD14のデータをプリフェッチしておく
ことで、印刷データの読み出し時間を短縮することが可
能になる。
【0023】図5は、CPU5の非アクセス時における
HDD14からのデータプリフェッチ中に、CPU5
が、他のデバイスへのアクセスを行う場合のタイムチャ
ートである。尚、同図においては、他のデバイスとし
て、マスクROM11を適用しているが、これに限られ
ることはない。
【0024】CPU5の非アクセス時(同図期間45)
において、I/Oコントローラ7は、図4で説明したよ
うな、HDD14に記憶される印刷データ等のプリフェ
ッチを行うが、プリフェッチ中において、e、fの4バ
イトデータをHDD用16ビットラッチ21にラッチさ
せたところで、CPU5は、マスクROM11へのアク
セスの為に、メモリコントローラ6へそのアクセス要求
を行う。この時、I/Oコントローラ7は、HDD14
からのデータプリフェッチを一旦中止する。尚、HDD
用16ビットラッチ21には、HDD14からの印刷デ
ータ等が、16ビット毎に4回に分けてラッチされる
が、例えば、その2回目の16ビットのラッチ途中でC
PU5からのアクセスが行われた時は、この2回目のラ
ッチが終了したところで、データのプリフェッチを中止
する。また、この時のアドレス2信号である"A" は、シ
ーケンサ20にてラッチされる。このように、HDD1
4のデータプリフェッチを中止したら、メモリコントロ
ーラ6は、/LREQ 信号をアクティブ(" L" )にし
て、アクセス先であるマスクROM11にアクセスする
ために、そのアドレスを示す"B"をアドレス1信号とし
て出力する。I/Oコントローラ7は、これらの信号を
受信して、/CS16HDD信号を非アクティブ("
H" )にして、/CS16マスクROM信号をアクティ
ブ(" L" )にする。/CS16マスクROM信号がア
クティブ(" L" )の間に、/R16信号を4回アクテ
ィブにして、マスクROM11内のデータj、k、l、
mを読み 出し、これらをノーマル用16ビットラッチ
22にラッチする。尚、この時、マスクROM11から
4回に分けて読み出される16ビットデータj、k、
l、mは、アドレスが1づつ異なるので、アドレス2信
号は、1回毎に1づつ加えられる。これは、アドレス2
信号の下位2ビットに対し、シーケンサ20のLアドレ
ス(2ビット:0〜3)信号を付加することにより行わ
れる。このように、ノーマル用16ビットラッチ22に
8バイトデータのラッチが終了したら、/CS16マス
クROM11を非アクティブ(" H" )にし、/LAC
K信号をアクティブ(" L" )にして、メモリコントロ
ーラ6に、ラッチされているj、k、l、mのデータを
出力する。メモリコントローラ6は、このj、k、l、
mのデータを、CPUに送信し、/LREQ 信号を非アク
ティブ(" H" )にする。I/Oコントローラ7は、/
LREQ信号" H" を受信して、/LACK信号を非ア
クティブ(" H" )にして、マスクROM11からのデ
ータの読み出しは終了する。
【0025】このようなCPU5のアクセスが終了し、
再び、CPU5の非アクセス時(期間47)になると、
再度、HDD14のデータプリフェッチが行われる。既
に、期間45にて、4バイトのデータ(e,f)が、H
DD用16ビットデータ19にラッチされているので、
ここでは、残りの4バイトのデータ(g、h)を読み出
し、これをHDD用16ビットラッチ21にラッチさせ
る。そして、次に、CPU5が、HDD14にアクセス
する時(期間48)は、このHDD用16ビットラッチ
21から、データの読み出しが行われるものである。
【0026】このように、CPU5の非アクセス時にお
いて、HDD14へのデータプリフェッチ中に、CPU
5が、他のデバイスに対しアクセスを行うような場合に
は、一旦、プリフェッチを中止するよにし、CPU5の
アクセスが終了して非アクセス時になった時点で、再
度、プリフェッチを再開するようにしたことで、CPU
5の非アクセス時を、HDDのデータプリフェッチに、
有効に利用することができる。
【0027】図6は上述した、I/Oコントローラ7の
シーケンサ20の制御処理を示すフローチャートを示し
ている。まず初めに、シーケンサ20は、CPU5がア
クセス時であるか非アクセス時であるかを判断するため
に、/LREQ 信号が" L" であるか否かを判断する(ス
テップS601)。/LREQ 信号が" L" である時(ス
テップS601,Yes)は、CPU5のアクセス時で
あることを示す。次に、HDD14に対するアクセスで
あるか否かを判断し(ステップS602)、HDD14
に対するアクセスである時(ステップS602,Ye
s)は、Full=3であるか否かが判断される(ステ
ップS603)。ここで、Fullの値は、HDD用1
6ビットラッチが備える4つのラッチの中で、データが
ラッチされているラッチはいくつあるかを示すもので、
Full=3の時に、HDD用16ビットラッチが備え
る4つのラッチ全てがラッチされている事を示す。Fu
ll=3の時(ステップS603,No)は、前述した
ように、HDD用16ビットラッチ21は、全てラッチ
されているので、Full=0にし(ステップS60
4)、/LACK信号をアクティブ(" L" )にする
(ステップS605)。ここで、I/Oコントローラ7
は、HDD用16ビットラッチ21にラッチされるデー
タをメモリコントローラ6に出力する。但し、後述する
ステップS623の処理からステップS605の処理に
移行してきた場合は、ノーマル用16ビットラッチ22
にラッチされるデータをメモリコントローラ6に出力す
る。そして、メモリコントローラ6から入力される/L
REQ 信号が、非アクティブ(" H" )になったら(ステ
ップS606,Yes)、/LACK信号を非アクティ
ブ(" H" )にして(ステップS607)、ステップS
601の処理に戻る。一方、ステップS603の処理に
て、Full=3でない時は(ステップS603,N
o)、/CS16HDD信号をアクティブ(" L" )に
し(ステップS608)、/R16信号をアクティ
ブ(" L" )にする(ステップS609)。この時、H
DD14から16ビットデータの読み出しを行い、HD
D用16ビットラッチ21にラッチさせる。16ビット
データの読み出しが終了したら、/R16信号を非アク
ティブ(" H" )にして、FullをFull+1にす
る(ステップS610)。ここで、Full=3でない
時(ステップS611,No)は、/LREQ 信号がアク
ティブ(" L" )であるか否かが判断され、/LREQ 信
号が非アクティブ(" H" )の時は(ステップS61
2,No)ステップS609の処理に戻る。また、ステ
ップS612の処理で、/LREQ 信号がアクティブ("
L" )の時は(ステップS612,Yes)、次に、現
在のCPU5のアクセスが、HDD14に対するもので
あるか否かが判断される(ステップS613)。HDD
14に対するアクセスの場合(ステップS613,Ye
s)は、S609の処理の戻る。一方、HDD14に対
するアクセスでない場合(ステップS613,No)
は、/CS16HDD信号を非アクティブ(" H" )
(ステップS614)にして、ステップS619の処理
に戻る。また、ステップS611の処理で、Full=
3の時は(ステップS611,Yes)、/CS16H
DDを非アクティブ(" H" )(ステップS615)に
する。ここで、CPU5がアクセス時であるか否かを判
断するために、/LREQ 信号がアクティブ(" L" )で
あるか否かを判断する(ステップS616)。/LREQ
信号が非アクティブ(" H" )の時(ステップS61
6,Yes)は、S601の処理に戻る。/LREQ 信号
がアクティブ(" L" )の時(ステップS616,N
o)は、CPU5のアクセスがHDD14に対するもの
であるか否かが判断される(ステップS617)。ここ
でHDD14に対するアクセスである時は(ステップS
617,Yes)、Full=0にして(ステップS6
18)、ステップS605の処理に移る。一方、ステッ
プS617の処理にて、HDD14に対するアクセスで
はない時(ステップS617,No)は、ステップS6
19の処理に移る。ステップS602の処理にて、HD
D14に対するアクセスではない時(ステップS60
2,No)は、CPU5がアクセスしようとする他のデ
バイスの/CS16信号をアクティブ(" L" )にし、
nを0に設定し(ステップS619)、/R16信号を
アクティブ(" L" )にする(ステップS620)。こ
こで、16ビットのデータを読み出し、ノーマル用16
ビットラッチ22にラッチする。そして、/R16信号
を非アクティブ(" H" )にして、nをn+1に設定す
る(ステップS621)。n=3でない時は(ステップ
S622,No)、ステップS620の処理に戻る。一
方、n=3である時は(ステップS622,Yes)、
ステップS619の処理にてアクティブにした/CS1
6信号を非アクティブ(" H" )にし(ステップS62
3)、ステップS605の処理に戻る。また、ステップ
S601の処理にて、/LREQ 信号が非アクティブ("
H" )の時(ステップS601,No)は、Full=
3であるか否かが判断され(ステップS624)、Fu
ll=3である時(ステップS624,Yes)は、ス
テップS601の処理に戻り、Full=3でない時
は、ステップS608の処理に戻る。
【0028】以上により、CPUの非アクセス時に、予
め、HDDからのデータをHDD用16ビットラッチに
ラッチさせておくことができるので、次のCPUからの
HDDへのアクセスの際には、HDDからデータを読み
出すのではなく、HDD用16ビットラッチにラッチさ
れたデータを読み出せばよいことになるので、データの
読み出しを高速に行うことができる。 <第2の実施形態>本第2の実施形態では、CPUか
ら、メモリコントローラを介して、I/Oコントローラ
へ、DMAモードを設定し、DMAモードが設定された
時には、I/Oコントローラが、自らHDDへアクセス
を行い、HDDのデータを読み出し、これをHDD用1
6ビットラッチにラッチさせるものである。尚、本第2
の実施形態における構成は、図1〜図3に示したものと
同一である。
【0029】図7は、本第2の実施形態のタイムチャー
トを示す。同図に示されるように、まず、DMAモード
を設定するために、メモリコントローラ6は、/CS信
号64と/W64信号をアクティブ(" L" )にして、
I/Oコントローラ7へ出力すると共に、DMAモード
スタート信号(" 1" )を64ビットバスに出力する。
そして、このDMAモードスタート信号(" 1" )は、
64ビット入出力バッファ24を介して、シーケンサ2
0に入力され、DMAモードの設定がなされる。DMA
モードの設定がなされた後は、HDD14のデータの読
み出しを行い、この読み出したデータを、HDD用16
ビットラッチ21にラッチさせる。そして、8バイトの
データ全てがラッチされた後に、I/Oコントローラ7
は、/DMAREQ 信号をアクティブ(" L" )にして、
メモリコントローラ6に出力する。メモリコントローラ
6は、/DMAREQ 信号を受信して、/DMAACK信
号をアクティブ(" L" )にして、I/Oコントローラ
7へ出力する。I/Oコントローラ7は、/DMAAC
K信号がアクティブ("L" )の間に、HDD用16ビ
ットラッチにラッチされたデータを、64ビット入出力
バッファ24及び64ビットバスを介して、メモリコン
トローラ6へ出力する。I/Oコントローラ7は、DM
Aモードの設定が解除されるまで、上述した、HDD1
4からのデータの読み出し動作を繰り返す。
【0030】尚、DMAモードの設定解除は、メモリコ
ントローラ6が、DMAモードの設定と同様に、/CS
64信号と/W64信号をアクティブ(" L" )にし
て、DMAモードストップ信号(" 0" )を64ビット
バスに出力することにより行われる。
【0031】また、本第2の実施形態では、DMAモー
ドが設定されている時に、CPU5は他のデバイスに対
してアクセスできないので、もしこのようにするとき
は、DMAモードを解除して行うようにすれば良い。
【0032】図8は、本第2の実施形態における、シー
ケンサ20の動作を示すフローチャートである。同図に
示されるように、まず、現在、DMAモードの設定であ
るか否かが判断され(ステップS801)、DMAモー
ドの設定がされていない時(ステップS801,No)
は、ステップS802〜ステップS810までの通常時
の処理と同一の処理が行われる。/REQ 信号が非アクテ
ィブ(" H" )であるならば(ステップS802,N
o)、ステップS801の処理に戻り、アクティブ("
L" )であるならば(ステップS802,No)、CP
U5がアクセスしようとしているデバイスの/CS16
信号をアクティブ(" L" )にし、(ステップS80
3)、/R16信号をアクティブ(" L" )にして(ス
テップS804)、そのデバイスから16ビットデータ
を読み出し、この読み出したデータをノーマル用16ビ
ットラッチにラッチし、/CS信号を非アクティブ("
H" )にする(ステップS805)。このような、ステ
ップS804からステップS805の処理を4回繰り返
し、トータル8バイトのデータがラッチされたら、/C
S16信号を非アクティブ(" H" )にする(ステップ
S807)。そして、/ACK信号をアクティブ("
L" )にして、I/Oコントローラ7は、ノーマル用1
6ビットラッチ22にラッチされているデータを、メモ
リコントローラ6へ出力する。メモリコントローラ6
は、これらのデータの受信が終了したら、/REQ 信号を
非アクティブ(" H" )にし、I/Oコントローラ7
は、これを受信して(ステップS809,Yes)、/
ACK信号を非アクティブ(" H" )にして(ステップ
S810)、ステップS801の処理に戻る。
【0033】一方、ステップS801の処理にて、DM
Aモードの設定がなされていれば(ステップS801,
Yes)、HDD14からのデータの読み出し処理が行
われる。まず、/CS16HDD信号をアクティブ("
L" )にし(ステップS811)、/R16信号をアク
ティブ(" L" )にする(ステップS812)。ここ
で、HDD14から16ビットデータを読み出し、読み
出したデータをHDD用16ビットラッチ21にラッチ
する。16ビットデータの読み出しが終了したところ
で、/R16信号を非アクティブ(" H" )にする(ス
テップS813)。このようなステップS812〜ステ
ップS813の処理を4回繰り返し、HDD用16ビッ
トラッチ21にトータル8バイトのデータをラッチさせ
る。8バイトデータのラッチが終了したら(ステップS
814,Yes)、/CS16HDD信号を非アクティ
ブ(" H" )にし(ステップS815)、/DMAREQ
信号をアクティブ(" L" )にする(ステップS81
6)。そして、/DMAACK 信号が非アクティブ("
H" )になったところで(ステップS817,Ye
s)、I/Oコントローラ7は、HDD用16ビットラ
ッチ21にラッチされているデータを、メモリコントロ
ーラ6へ出力し、また、/DMAREQ 信号を非アクティ
ブ(" H" )にする(ステップS818)。メモリコン
トローラ6は、データの受信が終了したら、/DMARE
Q 信号を非アクティブ(" H" )にして、これをI/O
コントローラ7へ出力する。I/Oコントローラ7は、
これを受信して(ステップS819,Yes)、ステッ
プS801の処理に戻る。
【0034】以上のように、本第2の実施形態では、D
MAモードを設定することにより、CPU5からHDD
14への非アクセス時においてもHDD14のデータを
読み出すことができるので、HDD14のデータを高速
に読み出すことが可能になる。
【0035】尚、本第2の実施形態では、本第1の実施
形態で示した、CPU5の非アクセス時におけるHDD
14のデータプリフェッチは行われないが、DMAモー
ドの設定がされていないときに、これを行うようにして
も良い。
【0036】また、DMAモード設定時におけるHDD
14からのデータの読み出し数を予め設定し、DMAモ
ードが設定された時は、その設定された読み出し数だ
け、HDD14からデータを読み出すようにしてもよ
い。
【0037】また、本第1及び第2の実施形態におい
て、印刷装置が備えるハードディスク装置は、内蔵タイ
プに限られることはなく、外付けであっても良い。 <第3の実施形態>本第3の実施形態は、上述の第1の
実施形態で示した印刷装置において、印刷装置の外部か
らの指示に従い、印刷装置が備えるハードディスクに対
して、ファイルデータの断片化(fragment化)を解消す
る処理を行うことができるものである。
【0038】一般的に、ハードディスク装置内の記憶領
域はFAT(File Allocation Table )等のファイル
システムにより管理され、ハードディスクに書き込む
(または読み出す)各種データは、ファイルデータとし
て扱われる。尚、本第3の実施形態において、ハードデ
ィスクに記憶されるファイルデータは、印刷データの他
に、フォントデータ、フォームデータ、マクロデータ、
外字データ等である。
【0039】FAT等のファイルシステムによりファイ
ルを管理する場合、ファイルデータの更新(追加)、削
除等を行うと、ファイルデータの断片化が発生する。こ
のようなファイルデータの断片化は、ファイルデータア
クセス時の速度の低下を招く。一般的なPCにおいて
も、PCに搭載されるハードディスクは、ファイルシス
テムによるファイル管理が行われており、同様にファイ
ルデータの断片化が発生する。
【0040】PCでは、ユーザが意図的にファイルデー
タの断片化解消プログラムを実行することにより、ファ
イルデータの断片化を解消させ、ファイルデータアクセ
スの速度の低下を抑えていた。また、PCでは、さら
に、ユーザの指定により外部からの入力が一定時間ない
場合に、自動的に断片化解消プログラムを実行させるこ
とも可能である。
【0041】以下、本第3の実施形態では、ファイルデ
ータの断片化解消プログラムとして、デフラグメンタ
(defragmentor)(以下、デフラグと呼ぶ)を使用す
る。尚、ファイルデータの断片化解消プログラムとし
て、デフラグを使用しているが、これに限られることは
ない。
【0042】従来では、印刷装置が備えるハードディス
クに対して、デフラグを実行させる手段がなかったた
め、ファイルデータの断片化は解消されず、ファイルデ
ータアクセスの速度低下を招いていた。
【0043】そこで、本第3の実施形態では、印刷装置
が備えるハードディスクの、FAT等のファイルシステ
ムにより管理されているファイルデータに対して、プリ
ンタ外部からの指示に従い、断片化を解消する処理を行
う。
【0044】図9は、本第3の実施形態における印刷装
置のシステム構成図の一例である。同図に示されるよう
に、印刷装置130は、データ受信部131、プリンタ
エンジン132、印字制御部133、ハードディスク制
御部134、ハードディスク装置135、オペレーショ
ンパネル136、及びスイッチ137を備える。尚、ハ
ードディスク装置135の記憶領域はFAT形式のファ
イルシステムにより管理されている。
【0045】印字制御部133は、ホスト138から入
力される印刷データ等を、データ受信部131を介して
受信し、受信したデータの中から、ハードディスク装置
135に書き込み(更新、削除)を行うデータを認識
し、ハードディスク制御部134に対しデータの書き込
み(更新、削除)を指示する。ハードディスク制御部1
34は、ハードディスク装置135に、指示されたデー
タの書き込み(更新、削除)を行う。
【0046】また、印字制御部133は、ホスト138
から入力され、ハードディスク装置135に記憶された
印刷データに基づき、画像データの作成を行う。プリン
タエンジン132は、この印字制御部133で作成した
画像データを、用紙に印刷するための各種機械的な制御
を行う。これにより、印刷処理が行われる。
【0047】オペレーションパネル136及びスイッチ
137は、それぞれ、各種印刷装置130の設定や、デ
フラグを実行するためのスイッチである。上述したよう
に、ハードディスク装置135に対し、複数のデータの
書き込み(更新、削除)が行われると、ハードディスク
装置135において、ファイルデータの断片化が発生す
る。尚、断片化が発生しないこともあるが、断片化が発
生していない状態で後述するデフラグに関する処理を行
っても特に問題は発生しない。
【0048】印字制御部133は、ホスト138からの
データ受信またはスイッチ137押下により「デフラグ
実行」が指示されたことを認識した場合、ハードディス
ク制御部134に「デフラグ実行」を指示する。また、
ハードディスク制御部134からの「デフラグ完了」が
通知される前に、ホスト138からのデータ受信または
スイッチ137押下により、デフラグを中断すべき状況
であることを認識した場合、ハードディスク制御部13
4に「デフラグ中断」を指示する。
【0049】ハードディスク制御部134は、印字制御
部133から「デフラグ実行」の指示があった場合、ハ
ードディスク装置135に対し、デフラグの処理を実行
する。デフラグ実行中は、印字制御部133からの「デ
フラグ中断」の指示以外の全ての指示(データの書き込
み、更新、削除など)を無視し、デフラグの処理を継続
する。デフラグが完了した場合、印字制御部133に対
して「デフラグ完了」を通知する。デフラグ実行中に印
字制御部133から「デフラグ中断」の指示があった場
合、直ちにデフラグを中断し、印字制御部133に対し
「デフラグ完了」を通知する。尚、デフラグは、実行途
中で中断してもファイルデータ自体が壊れることはな
い。但し、デフラグを途中で中断してもファイルデータ
が壊れないようにデフラグの処理を行う必要がある。ま
た、途中でデフラグの処理を中断した場合は、ファイル
データの断片化は完全には解消されない。
【0050】ここで、デフラグの処理の概要について説
明を行うが、その前に、ハードディスク装置におけるフ
ァイルシステムの概要と、ファイルデータが断片化する
メカニズムについて説明を行う。
【0051】先ず、ハードディスク装置35の記憶領域
について、図10及び図11を用いて説明する。図10
に示されるように、ハードディスク装置135の記憶領
域はシステム領域141とデータ領域142から構成さ
れる。また、図11に示されるように、ハードディスク
装置135の記憶領域はクラスタ143_i(0≦i≦
n,但しiは整数)と呼ばれる単位で区切られている。
クラスタ143_i(0≦i≦n,但しiは整数)は、
さらにセクタ144_j(1≦j≦8,但し、jは整
数)と呼ばれる単位で区切られている。ハードディスク
装置135の記憶領域の最小単位はセクタであり、通
常、1セクタ=512バイトである。例えば、100M
バイトの記憶領域を持つハードディスク装置に対して、
1クラスタを8セクタ、つまり4096バイトとした場
合、全部で25600クラスタ存在する。図11におい
ては、n=25599となる。
【0052】以降の説明において、クラスタ番号iのク
ラスタのことをクラスタi(但し、iは0からnまでの
整数)とする。また、j番目のセクタのことをセクタj
(但し、jは1から8までの整数)とする。
【0053】クラスタ0のセクタ1は、BPB(BIOS
Parameter Block)と呼ばれるシステム情報領域であ
る。BPBには、上述した、1セクタあたりのバイト
数、1クラスタあたりのセクタ数、及び後述する(ルー
ト)ディレクトリ数等の情報が格納されている。
【0054】BPBの次のセクタからは、FATと呼ば
れるアロケーションテーブル領域がある。FATの概要
を図12に示す。同図に示されるように、145_k
(0≦k≦n,但しkは整数)はFATである。FAT
番号は、図11におけるクラスタ番号と対応する。ま
た、FAT145_k(0≦k≦n,但しkは整数)内
の実際の値は、チェーンするFAT番号を示す。FAT
145_k(0≦k≦n,但しkは整数)内の実際の値
の内、0000Hは、対応するクラスタが未使用領域で
あることを示す。また、FFFFHはチェーン終端であ
ることを示す。
【0055】ハードディスク初期化時、FAT145_
k(0≦k≦n,但しkは整数)内の実際の値は、全
て、000Hが設定される。FAT(FAT16の場
合)は、1エントリで16ビット(2バイト)必要であ
るから、25600クラスタ分のFATは、51200
バイト(25600×2)となり、100セクタ分の領
域が必要となる。従って、クラスタ0のセクタ2から、
クラスタ12のセクタ5までが、FAT領域となる。
【0056】また、一般的に、FATはデータ破損時の
リスク回避のために同じものをもう一つ持つ。従って、
FAT(コピー)として、100セクタ分の領域が必要
となり、クラスタ12のセクタ6から、クラスタ25の
セクタ1までがFAT(コピー)領域となる。
【0057】FAT(FAT(コピー)領域)の次のセ
クタからは、(ルート)ディレクトリと呼ばれるエント
リテーブル領域がある。(ルート)ディレクトリの概要
を図13に示す。
【0058】同図に示されるように、146_m(0≦
l≦m,但しlは整数)は、(ルート)ディレクトリで
ある。ハードディスク初期化時、(ルート)ディレクト
リ内の各項目の実際の値は、全て00Hが設定される。
【0059】図13の(ルート)ディレクトリ数は、上
述したBPB内にて設定されている。(ルート)ディレ
クトリは、FAT16の場合、1エントリで32バイト
必要であるから、例えば、512エントリ分のディレク
トリは、16384バイトとなり、32セクタ分の領域
が必要となる。従って、クラスタ25のセクタ2から、
クラスタ29のセクタ1までが(ルート)ディレクトリ
領域となる。
【0060】BPB領域から(ルート)ディレクトリ領
域まで、すなわち、クラスタ0からクラスタ29まで
が、図10におけるシステム領域141である。また、
クラスタ30以降がデータ領域142であり、FATに
より管理される。尚、データ領域の先頭はクラスタ30
である。
【0061】以上の本第3の実施形態におけるハードデ
ィスク装置の記憶領域の概要を図14に示す。同図に示
されるように、システム領域141において、クラスタ
0のセクタ1は、BPBである。また、クラスタ0のセ
クタ2からクラスタ12のセクタ5までは、FATであ
り、クラスタ12のセクタ6からクラスタ25のセクタ
1までは、FAT(コピー)である。また、クラスタ2
5のセクタ2からクラスタ29のセクタ1までは、(ル
ート)ディレクトリであり、クラスタ29のセクタ2か
ら同クラスタのセクタ8までは空きである。
【0062】以降の、クラスタ30からクラスタ255
99までは、データ領域142である。次に、ハードデ
ィスク装置へのファイルデータの書き込む処理について
説明する。 (1) 先ず、(ルート)ディレクトリのテーブルから空
きエントリを検索する。空きエントリの検索は、例え
ば、ファイル名の1バイト目を確認し、その1バイト目
が有効な数値でない場合、そのエントリは空きと判断す
る。検索した空きエントリに対し、ファイル名、属性、
ファイルサイズを書き込む。 (2) 次に、FATから空いているエントリのFAT番
号を検索する。検索は、通常、データ領域の先頭クラス
タの番号(本第3の実施形態では30)からFAT番号
の小さい順に検索し、FATのエントリが、0000H
であるものを検索する。検索したFAT番号を、ディレ
クトリエントリの先頭FAT番号に書き込み、検索した
FAT番号のエントリにFFFFHを書き込む。 (3) 書き込むファイルデータが、1クラスタサイズ
(4096バイト)以下の場合には、全データを、検索
したFAT番号と対応するクラスタに上位側から詰めて
書き込み、ファイルデータの書き込み処理を終了する。
【0063】書き込むファイルデータが、1クラスタサ
イズより大きい場合には、先頭の4096バイトのデー
タを検索したFAT番号と対応するクラスタに書き込
み、(4) へ進む。 (4) FATから空いているエントリのFAT番号を検
索する。検索したFAT番号を直前に検索したFAT番
号のエントリに書き込み、検索したFAT番号のエント
リにFFFFHを書き込む。 (5) 書き込むファイルデータの内、まだ書き込みが終
了していないデータが、1クラスタサイズ以下の場合に
は、そのデータの全てを、検索したFAT番号と対応す
るクラスタに上位側から詰めて書き込み、ファイルデー
タの書き込み処理を終了する。
【0064】書き込むファイルデータの内、まだ書き込
みが終了していないデータが1クラスタサイズより大き
い場合、その書き込みが終了していないデータの先頭の
4096バイトのデータを、検索したFAT番号と対応
するクラスタに書き込み、再び(4) へ進む。
【0065】次に、ハードディスク装置に記憶されるフ
ァイルデータの更新処理について説明する。 (1) 更新の対象となるファイルをディレクトリのテー
ブルから検索する。検索したディレクトリのエントリに
ある「先頭FAT番号」に従い、FATのエントリを確
認する。FATのエントリがFFFFHであった場合、
そこが終端であることを意味するため、そのFAT番号
を保持する。FATのエントリがFFFFHでなかった
場合、エントリの番号に従い、FATをチェーンしなが
ら順次エントリを検索し、FFFFHのエントリが確認
された時点でそのFAT番号を保持する。 (2) ディレクトリのエントリにあるファイルサイズと
チェーンしたFATの個数から終端FATのFAT番号
と対応するクラスタのデータ書き込み領域残りサイズを
算出する。 (3) ファイルデータの追加データサイズが、上記デー
タ書き込み領域残りサイズ以下の場合、この追加ファイ
ルデータをデータ書き込み領域の上位側から詰めて書き
込み、ファイルデータの更新処理を終了する。
【0066】ファイルデータの追加データサイズが、上
記データ書き込み領域残りサイズより大きい場合、追加
ファイルデータの先頭のデータ書き込み領域残りサイズ
分だけデータ書き込み領域に書き込み、以降、前述した
ファイルデータ書き込み処理にて説明した(4) へ進む。
【0067】次に、ハードディスク装置に記憶されるフ
ァイルデータの削除処理について説明する。 (1) 削除の対象となるファイルをディレクトリのテー
ブルから検索する。検索したディレクトリのエントリに
ある先頭FAT番号に従い、そのFAT番号からチェー
ンされる全てのFAT番号のエントリを、0000Hに
書き換える。 (2) 検索したディレクトリのエントリにある各項目を
初期化する(無効な値を書き込む)。
【0068】このような処理により、ファイルの書き込
み、更新、削除が行われる。次に、図15〜図19を用
いて、ディレクトリ、FAT、及びクラスタの使用状況
を参照しながら、このような、ファイルの書き込み、更
新、及び削除について、具体的に説明する。
【0069】まず、以下の順序で、ファイルの書き込み
を行う。 (1) ファイル名「A.DAT」、ファイルサイズ60
00バイトのファイルデータを書き込む。 (2) ファイル名「B.DAT」、ファイルサイズ20
00バイトのファイルデータを書き込む。
【0070】この時の、ディレクトリ、FAT、及びク
ラスタの使用状況は図15のようになる。さらに、以下
の順序で、ファイルの書き込み、更新を行う。 (3) ファイル名「A.DAT」に4000バイトのデ
ータを追加する。 (4) ファイル名「B.DAT」に4000バイトのデ
ータを追加する。 (5) ファイル名「C.DAT」、ファイルサイズ60
00バイトのファイルデータを書き込む。
【0071】この時の、ディレクトリ、FAT、及びク
ラスタの使用状況は図17のようになる。さらに、以下
の順序でファイルの削除を行う。 (6) ファイル名「B.DAT」のファイルデータを削
除する。
【0072】この時の、ディレクトリ、FAT、及びク
ラスタの使用状況は図17のようになる。さらに、以下
の順序でファイルの書き込み、更新を行う。 (7) ファイル名「A.DAT」に4000バイトのデ
ータを追加する (8) ファイル名「D.DAT」、ファイルサイズ20
00バイトのファイルデータを書き込む。
【0073】この時の、ディレクトリ、FAT、及びク
ラスタの使用状況は図18のようになる。さらに、以下
の順序でファイルの更新を行う。 (9) ファイル名「A.DAT」に12000バイトの
データを追加する。 (10) ファイル名「D.DAT」に8000バイトのデ
ータを追加する。 (11) ファイル名「C.DAT」に4000バイトのデ
ータを追加する。
【0074】最終的に、ディレクトリ、FAT、及びク
ラスタ使用状況は図19のようになっている。ここで、
A.DAT、C.DAT、及びD.DATともに、ファ
イルを構成するデータが不連続のクラスタにまたがって
存在している。このように、1つのファイルを構成する
データが、不連続のクラスタにまたがっている状態を
「断片化」という。一般的にハードディスク装置の構造
上、不連続のクラスタにまたがったデータをアクセスす
るのは、連続クラスタのデータをアクセスするより遅く
なる。
【0075】よって、このような断片化を解消する必要
がある。そこで、デフラグ(断片化解消プログラム)を
用い、この断片化を解消処理する。次に、図19〜図2
3を用いて、デフラグの処理の概要について説明を行
う。
【0076】図19に示されるように、ディレクトリの
エントリには、最初にA.DATのエントリが存在する
ので、まず、A.DATの断片化を解消する。A.DA
Tのエントリの先頭FAT番号は30である。FAT番
号30のエントリを見てみると31となっている。31
は30の次の数字なので、対応するクラスタ領域は連続
していることがわかる。次に、FAT番号31のエント
リを見てみると33となっている。33は31の次の数
字ではないので、対応するクラスタは連続していないこ
とがわかる。つまり、断片化しているのである。そこ
で、31の次のクラスタを確保するために、現在、32
に対応するクラスタを使用しているデータを他の空いて
いるクラスタへ移動させる。
【0077】ここで、クラスタを移動する場合の処理に
ついて説明する。 (1) FATから空いているエントリのFAT番号を検
索する。図19において、FAT番号43が空きエント
リ(0000H)となる。従って、移動元クラスタは3
2、移動先クラスタは43となる。 (2) 実データの移動を行う。この場合、クラスタ32
のA.DAT−4のデータをクラスタ43にコピーす
る。 (3) FATのチェーンを更新する。 (3)-1 移動先のFAT番号のエントリに、移動元のF
AT番号のエントリにある数値をコピーする。この場
合、FAT番号43のエントリにFAT番号32のエン
トリにある数値37をコピーする。 (3)-2 ディレクトリから「先頭FAT番号」が、移動
元FAT番号と一致するエントリを検索し、そのエント
リに移動先FAT番号を書き込む。ディレクトリの「先
頭FAT番号」に移動元FAT番号と一致するエントリ
がない場合、FATからエントリされている数値が移動
元FAT番号と一致するエントリを検索し、そのエント
リに移動先FAT番号を書き込む。この場合、ディレク
トリの「先頭FAT番号」の中には32のエントリがな
いため、FATのエントリを検索する。FATのエント
リにはFAT番号33のエントリが32と一致するた
め、FAT番号33のエントリを43に書き換える。 (3)-3 移動元のFAT番号のエントリを空きエントリ
(0000H)にする。この場合、FAT番号32のエ
ントリを0000Hに書き換える。
【0078】このような操作により、クラスタ32が空
き領域となる。この時の、ディレクトリ、FAT、及び
クラスタの使用状況は図20のようになっている。
【0079】前述したA.DATの例によると、FAT
番号31のエントリは、33であった。そこで、先程の
クラスタの移動によってクラスタ33(A.DAT−
3)をクラスタ32に移動すると、FAT番号31のエ
ントリは32となり、クラスタ領域が連続したことがわ
かる。
【0080】この時の、ディレクトリ、FAT、及びク
ラスタの使用状況は図21のようになっている。以降、
同様な手順で、 ・ クラスタ43(A.DAT−4)をクラスタ33へ
移動 ・ クラスタ34(D.DAT−1)をクラスタ43へ
移動 ・ クラスタ37(A.DAT−5)をクラスタ34へ
移動 ・ クラスタ35(C.DAT−1)をクラスタ37へ
移動 ・ クラスタ38(A.DAT−6)をクラスタ35へ
移動 ・ クラスタ36(C,DAT−2)をクラスタ38へ
移動 ・ クラスタ39(A,DAT−7)をクラスタ36へ
移動 を行うことによって、「A.DAT」の断片化は解消さ
れる。
【0081】この時点で、ディレクトリ、FATおよび
クラスタの使用状況は図22のようになっている。さら
に同様な手順で、D.DAT、C.DATの断片化解消
を行うと、最終的にディレクトリ、FAT、及びクラス
タの使用状況は図23のようになる。
【0082】なお、このような手順によるデフラグで
は、仮にデフラグの途中で処理が中断した場合において
も、ファイルデータは壊れることがない(但し、不良ク
ラスタは発生してしまう)。
【0083】ここでは、ファイル単位でのデフラグの説
明を行ったが、空きクラスタも詰めるようなデフラグも
可能である。また、ここではFAT方式によるファイル
システムを用いた場合の説明を行ったが、如何なるファ
イルシステムを用いても、論理的には断片化(またはそ
れに類する状況)は発生する(但し、ファイルの書き込
み、更新、削除の都度、デフラグに相当する処理を行う
場合は、断片化は発生しない)。
【0084】以上により、本第3の実施形態では、本第
1の実施形態の効果に加え、印刷装置が備えたハードデ
ィスク装置に対して、ファイルデータの断片化解消プロ
グラムを実行可能としたことにより、ハードディスク内
のファイルデータの断片化によるファイルデータアクセ
ス速度の低下を抑える効果があり、印刷装置全体として
の印字速度の向上が図れる。
【0085】尚、本第3の実施形態において、印刷装置
が備えるハードディスク装置は、内蔵タイプに限られる
ことはなく、外付けであっても良い。 <第4の実施形態>本第4の実施形態は、前述の第2の
実施形態で示した印刷装置において、更に、印刷装置が
スリープ状態に入る時に、印刷装置が備えるハードディ
スクに対して、自動的にファイルの断片化を解消する処
理を行うものである。
【0086】図24は、本第4の実施形態における印刷
装置のシステム構成図の一例である。同図に示されるよ
うに、本第4の実施形態では、本第3の実施形態で示し
た図9の構成に加えて、内蔵タイマー150とスリープ
制御部151を備えている。内蔵タイマー150は、ア
イドル状態の時間カウントを行い、スリープ制御部15
1は、内蔵タイマー150のカウント値により、アイド
ル状態が一定時間経過したことを認識した場合に、省電
力を目的としてプリンタエンジンの定着器など、電力を
大きく消費している箇所に対して、電力消費を抑える等
の制御を行う。スリープ状態の解除は、外部からのデー
タ受信、パネルスイッチ押下などの認識等により行われ
る。
【0087】ここで、アイドル状態とは、外部からのデ
ータ受信状態でなく、かつプリンタ内部に未印字データ
が存在していない状態、すなわち、プリンタとして何も
処理することがなく外部からのデータ受信、パネルスイ
ッチ押下などの事象を待っている状態のことを言う。
【0088】印字制御部133は、スリープ制御部15
1からの通知により、スリープ状態に入ったことを認識
した場合、ハードディスク制御部134に「デフラグ実
行」を指示する。また、ハードディスク制御部134か
らの「デフラグ完了」の通知がくる前に、スリープ解除
等により、デフラグを中断すべき状況であることを認識
した場合、ハードディスク制御部134に「デフラグ中
断」を指示する。
【0089】ハードディスク制御部134は、印字制御
部133から「デフラグ実行」の指示があった場合、ハ
ードディスク装置135に対してデフラグの処理を行
う。デフラグ実行中は印字制御部133からの「デフラ
グ中断」の指示以外の全ての指示(データの書き込み、
更新、削除など)を無視しデフラグの処理を継続する。
デフラグが完了した場合、印字制御部133に対して
「デフラグ完了」を通知する。デフラグ実行中に印字制
御部133から「デフラグ中断」の指示があった場合、
直ちにデフラグを中断し、印字制御部133に対し「デ
フラグ完了」を通知する。尚、デフラグは実行途中で中
断してもファイルデータ自体が壊れることはない。但
し、デフラグを途中で中断した場合、ファイルデータが
壊れないようにデフラグの処理を行う必要がある。ま
た、途中で中断した場合は、ファイルデータの断片化は
完全には解消されない。
【0090】以上により、本第4の実施形態では、本第
3の実施形態の効果に加え、印刷装置が備えるハードデ
ィスク装置に対して、印刷装置がスリープ状態に入った
ときに自動的にデフラグを実行するようにしたことによ
り、通常の印字に影響することなく、さらにユーザが意
図的にデフラグを指示するといった手間をかけることな
く、自動的にハードディスク内のファイルデータの断片
化によるファイルデータアクセス速度の低下を抑える効
果があり、印刷装置全体としての印字速度の向上を図る
ことができる。
【0091】尚、本第4の実施形態において、印刷装置
が備えるハードディスク装置は、内蔵タイプに限られる
ことはなく、外付けであっても良い。また、本第4の実
施形態では、デフラグの処理を始めるきっかけをスリー
プ状態に入るときとしたが、(スリープとは別に)アイ
ドル状態が一定時間経過したときとしてもよく、更には
パワーオンイニシャル時(プリンタウォームアップ時)
としてもよい。
【0092】尚、本第1〜第4の実施形態にて示した印
刷装置は、プリンタエンジンがどのような状態であろう
と、ホストからの印刷データがくれば受信処理を行う。
通常は、プリンタエンジンが印刷可能状態にあれば、受
信した印刷データを画像データに変換処理してプリンタ
エンジンへ転送し印刷するが、スリープ状態にあった
り、ジャムやエラーなどでプリンタエンジンが即座に起
動できない場合にも、ホストから入力する印刷データ
は、中断することなく受信処理を行いHDDに格納処理
が行われ、その後エンジンが機能復帰した際に格納され
ている印刷データに基づいて印刷処理を行う。例えば、
ジャム処理中はHDD受信し、ジャム処理完了をシェル
クローズ(機体内部開放機構の閉成)などで検知する
と、HDDからのデータに基づいて印刷処理を行う。
【0093】
【発明の効果】以上説明したように、本発明によれば、
CPUの非アクセス時においてもハードディスクに記憶
されたデータの読み出しが可能になるので、データの読
み出し時間が短縮され、印刷装置全体としての印刷処理
時間を短縮することが可能になる。
【図面の簡単な説明】
【図1】システム構成図である。
【図2】HDD14、I/Oコントローラ7、及びメモ
リコントローラ6の結線図である。
【図3】I/Oコントローラ7の内部ブロック図であ
る。
【図4】第1の実施形態のタイムチャートである。
【図5】第1の実施形態のタイムチャートである。
【図6】第1の実施形態のフローチャートである。
【図7】第2の実施形態のタイムチャートである。
【図8】第1の実施形態のフローチャートである。
【図9】第3の実施形態における印刷装置のシステム構
成図である。
【図10】ハードディスクの記憶領域である。
【図11】ハードディスクの記憶領域である。
【図12】FATの概要を示す図でる。
【図13】ディレクトリの概要を示す図である。
【図14】ハードディスク装置の記憶領域の概要の一例
を示す図である。
【図15】ディレクトリ、FAT、及びクラスタの使用
状況を説明する図である。
【図16】ディレクトリ、FAT、及びクラスタの使用
状況を説明する図である。
【図17】ディレクトリ、FAT、及びクラスタの使用
状況を説明する図である。
【図18】ディレクトリ、FAT、及びクラスタの使用
状況を説明する図である。
【図19】ディレクトリ、FAT、及びクラスタの使用
状況を説明する図である。
【図20】ディレクトリ、FAT、及びクラスタの使用
状況を説明する図である。
【図21】ディレクトリ、FAT、及びクラスタの使用
状況を説明する図である。
【図22】ディレクトリ、FAT、及びクラスタの使用
状況を説明する図である。
【図23】ディレクトリ、FAT、及びクラスタの使用
状況を説明する図である。
【図24】第4の実施形態における印刷装置のシステム
構成図である。
【符号の説明】
1 印刷装置 2 プリンターI/F(インターフェイス) 3 プリンタエンジン 4 LAN ボード 5 CPU 6 メモリコントローラ 7 I/Oコントローラ 8 ビデオコントローラ 9 DIMM(Dual Inline Memory Module ) 10 フラッシュROM(Read Only Memory) 11 マスクROM 12 EEPROM(Electrically Erasable And
Programmable Rom) 13 EMボード 14 HDD(Hard Disk Drive ) 15 セントロニクスインターフェイス 20 シーケンサ 21 HDD用16ビットラッチ 22 ノーマル用16ビットラッチ 23 16ビット入出力バッファ 24 64ビット入出力バッファ 25 データセレクタ 26、27 信号ライン 28 64ビットバスセレクト信号 29 HDD用ラッチセレクト信号29 30 ノーマル用ラッチセレクト信号 31 ラッチ信号 40、42、44、46、48 CPUのアクセス
期間 41、43、45、47 CPUの非アクセス期間 130 印刷装置 131 データ受信部 132 プリンタエンジン 133 印字制御部 134 ハードディスク制御部 135 ハードディスク装置 136 オペレーションパネル 137 スイッチ 138 ホスト 141 システム領域 142 データ領域 143 クラスタ領域 144 セクタ 145 FAT 146 ディレクトリ 150 内蔵タイマー 151 スリープ制御部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小林 正樹 東京都東大和市桜が丘2丁目229 番地 カシオ計算機株式会社東京事業所内 Fターム(参考) 2C087 BC07 BC14 BD47 5B021 AA01 DD19 9A001 BB03 BB04 JZ35 KZ42

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 メモリからデータを読み出す指示を行う
    メモリ制御手段と、 該メモリ制御手段によるアドレス指定により対象となる
    メモリに対してアクセスを行うI/O制御手段と、 前記メモリに対するデータのアクセスが行われていない
    時、前記メモリから次のデータの読み出しを指示する指
    示手段とを有し、 前記I/O制御手段は、前記指示手段によって指示され
    たデータの読み出し処理を行うことを特徴とする印刷装
    置における高速アクセス方式。
  2. 【請求項2】 前記指示手段によるデータの読み出し処
    理は、CPUを介在せずに行うことを特徴とする請求項
    1記載の印刷装置における高速アクセス方式。
JP11148986A 1999-05-28 1999-05-28 印刷装置における高速アクセス方式 Abandoned JP2000335019A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11148986A JP2000335019A (ja) 1999-05-28 1999-05-28 印刷装置における高速アクセス方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11148986A JP2000335019A (ja) 1999-05-28 1999-05-28 印刷装置における高速アクセス方式

Publications (1)

Publication Number Publication Date
JP2000335019A true JP2000335019A (ja) 2000-12-05

Family

ID=15465152

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11148986A Abandoned JP2000335019A (ja) 1999-05-28 1999-05-28 印刷装置における高速アクセス方式

Country Status (1)

Country Link
JP (1) JP2000335019A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200443A (ja) * 2006-01-25 2007-08-09 Sharp Corp 記録再生装置
US7474431B2 (en) 2003-07-10 2009-01-06 Canon Kabushiki Kaisha Network printer having plural sleep modes
JP2010231814A (ja) * 2003-01-27 2010-10-14 I-O Data Device Inc ジョブ処理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231814A (ja) * 2003-01-27 2010-10-14 I-O Data Device Inc ジョブ処理システム
US7474431B2 (en) 2003-07-10 2009-01-06 Canon Kabushiki Kaisha Network printer having plural sleep modes
JP2007200443A (ja) * 2006-01-25 2007-08-09 Sharp Corp 記録再生装置

Similar Documents

Publication Publication Date Title
US7069393B2 (en) Storage system providing file aware caching and file aware remote copy
JP4494420B2 (ja) 複数ファクタに基づく適応ファイル先読み
JP4186602B2 (ja) ジャーナルログを利用した更新データ書込方法
JP5213539B2 (ja) 画像処理装置及び画像処理装置のメモリ管理方法
US7380090B2 (en) Storage device and control method for the same
JP5959958B2 (ja) 記憶装置及び記憶装置におけるデータ消去方法
US8196034B2 (en) Computer system and method for reducing power consumption of storage system
JPH1153248A (ja) データ処理システム、ブロック消去型記憶媒体、及びプログラム記録媒体
JPH10154101A (ja) データ記憶システム及び同システムに適用するキャッシュ制御方法
JP2007183961A (ja) ハードディスクドライブキャッシュメモリ及び再生デバイス
JP2007249573A (ja) 自動拡張可能なボリュームに対して最適なi/oコマンドを発行するストレージシステム及びその制御方法
JP2014010498A5 (ja)
JP2003345730A (ja) インタフェース装置、インタフェース装置におけるファームウェアの更新方法、及びそのプログラム
US7487298B2 (en) Disk array device, method for controlling the disk array device and storage system
JP2004086503A (ja) メモリカード認識システム、メモリカード・ホスト機器、メモリカード、記憶領域切り替え方法及び記憶領域切り替えプログラム
US6092170A (en) Data transfer apparatus between devices
JP5020774B2 (ja) 先読みを用いたストレージ消費電力削減方法及びその方法を用いた計算機システム
JP2010191818A (ja) 情報処理装置及びその制御方法
JP4567966B2 (ja) エミュレーションシステムおよびエミュレーション方法
JP2000335019A (ja) 印刷装置における高速アクセス方式
JP2004118413A (ja) ストレージシステム、記憶装置、ホスト計算機、および、スナップショット作成方法。
JP2000030375A (ja) データ処理システム、アクセス装置及び記録媒体
JP2004220575A (ja) カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
JPH1063432A (ja) ファイル制御装置
JP2015158902A (ja) メモリおよびコントローラを備える装置およびデータ記憶装置を備える装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071115

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20071115