專利名稱:數(shù)據(jù)處理裝置以及數(shù)據(jù)處理方法
技術領域:
本發(fā)明涉及用于對存儲裝置(storage)進行數(shù)據(jù)塊的讀寫的數(shù)據(jù)處理裝置以及數(shù)據(jù)處理方法。
背景技術:
通常,復印機、數(shù)碼復合機等圖像形成裝置內置有進行各種圖像處理的數(shù)據(jù)處理裝置。那樣的數(shù)據(jù)處理裝置在緩沖圖像數(shù)據(jù)時,通過寫入側程序(例如某個圖像處理程序) 將1頁量的圖像數(shù)據(jù)存儲在HDD(硬盤驅動器)等儲存裝置內的文件中。之后,數(shù)據(jù)處理裝置將該文件的文件標識符通知給讀出側程序(例如后階段的圖像處理程序)。該讀出側程序從儲存裝置的該文件讀出該圖像數(shù)據(jù)。另外,在日本專利文獻特開2007-179251號公報中記載了以下技術當向HDD寫入數(shù)據(jù)時,設置FIFO (First-In First-Out,先入先出)作為緩沖器,在一個線程中向該FIFO 寫入數(shù)據(jù),并在其他的線程中從該FIFO向HDD寫入數(shù)據(jù)。如上所述,通常在將預定單位(在上述的情況下為頁)數(shù)據(jù)存儲到儲存裝置之后, 為了讀出該數(shù)據(jù),逐次進行數(shù)據(jù)寫入和數(shù)據(jù)讀出。因此,在完成預定單位的數(shù)據(jù)的數(shù)據(jù)寫入之前無法讀出該數(shù)據(jù),緩沖后的處理會發(fā)生延遲。
發(fā)明內容
本發(fā)明就是鑒于上述問題而作出的,其目地在于得到一種能夠減少由于向儲存裝置進行數(shù)據(jù)緩沖而引起的處理延遲的數(shù)據(jù)處理裝置以及數(shù)據(jù)處理程序。為了解決上述問題,根據(jù)本發(fā)明的數(shù)據(jù)處理裝置包括儲存裝置控制器以及控制所述儲存裝置控制器的處理器。儲存裝置控制器將構成預定單位的數(shù)據(jù)的一系列的多個數(shù)據(jù)塊寫入到儲存裝置,并從儲存裝置讀出所述一系列的多個數(shù)據(jù)塊。處理器(i)生成寫入側處理以及讀出側處理,( )從寫入側處理向讀出側處理通知儲存裝置中的存儲區(qū)域的標識符,(iii)之后使用寫入側處理使得儲存裝置控制器將一系列的多個數(shù)據(jù)塊順序地寫入到所述存儲區(qū)域中,并且(iv)當在讀出側處理中接收到標識符時,從與該標識符對應的存儲區(qū)域中讀出一系列的多個數(shù)據(jù)塊。另外,根據(jù)本發(fā)明的數(shù)據(jù)處理方法的特征在于儲存裝置控制器將構成預定單位的數(shù)據(jù)的一系列的多個數(shù)據(jù)塊寫入到儲存裝置,并從儲存裝置讀出所述一系列的多個數(shù)據(jù)塊;處理器(i)生成寫入側處理以及讀出側處理,(ii)從寫入側處理向讀出側處理通知儲存裝置中的存儲區(qū)域的標識符,(iii)之后使用所述寫入側處理使得所述儲存裝置控制器將所述一系列的多個數(shù)據(jù)塊順序地寫入到所述存儲區(qū)域,并且(iv)當在所述讀出側處理中接收到所述標識符時,使用所述讀出側處理使得所述儲存裝置控制器從與該標識符對應的所述存儲區(qū)域中讀出所述一系列的多個數(shù)據(jù)塊。根據(jù)本發(fā)明,在數(shù)據(jù)處理裝置中能夠減少由于向儲存裝置進行數(shù)據(jù)緩沖而引起的后階段處理的延遲。
圖1是示出根據(jù)本發(fā)明實施方式的數(shù)據(jù)處理裝置的構成的框圖;圖2是示出在圖1中的數(shù)據(jù)處理電路處理的數(shù)據(jù)的結構的圖;圖3是在圖1的數(shù)據(jù)處理電路中處理的數(shù)據(jù)示例;圖4是說明實施方式1中的主控制器的框圖;圖5是說明實施方式1中的主控制器的動作的流程圖;圖6是說明實施方式2中的主控制器的框圖;圖7是說明實施方式2中的主控制器的寫入側處理的動作的流程圖;圖8是說明實施方式2中的主控制器的讀出側處理的動作的流程圖;圖9是示出圖6的隊列系統(tǒng)中的共享存儲器區(qū)域的圖;圖10是說明實施方式3中的主控制器的寫入側處理的動作的流程圖;圖11是說明實施方式3中的主控制器的讀出側處理的動作的流程圖;圖12是對從實施方式3中的RAM的帶數(shù)據(jù)的讀出進行說明的圖。
具體實施例方式以下,基于附圖對本發(fā)明的實施方式進行說明。圖1是示出根據(jù)本發(fā)明實施方式的數(shù)據(jù)處理裝置的構成的框圖。圖1所示的數(shù)據(jù)處理裝置包括數(shù)據(jù)處理電路1、主控制器2、RAM (Random Access Memory,隨機存取存儲器)3、HDD 4、掃描器5、印刷引擎控制電路6、儲存裝置7、向紙張進行印刷的印刷引擎(未圖示)等。數(shù)據(jù)處理電路1是將來自掃描器5等的圖像數(shù)據(jù)以帶為單位或者以頁為單位進行處理、并輸出給HDD 4或印刷引擎控制電路6的裝置。主控制器2是向數(shù)據(jù)處理電路1中的各部提供指令的裝置。主控制器2經(jīng)由總線接口電路11以及總線12向數(shù)據(jù)處理電路1內的各部提供指令。主控制器2是CPU (Central Processing Unit,中央處理器)等處理器,其根據(jù)存儲在儲存裝置7中的數(shù)據(jù)處理程序8 來輸出指令。RAM 3在由數(shù)據(jù)處理電路1進行的處理中臨時存儲帶數(shù)據(jù)等。作為RAM 3例如能夠采用1個或多個DRAM (Dynamic RAM,動態(tài)隨機存取存儲器)。HDD 4是用于臨時存儲構成1頁圖像數(shù)據(jù)的一系列的多個帶數(shù)據(jù)的儲存裝置。掃描器5是光學地讀取原稿的圖像、并輸出通過該圖像讀取而獲得的圖像數(shù)據(jù)的
直ο印刷引擎控制電路6是向印刷引擎提供印刷圖像數(shù)據(jù)、并控制印刷引擎來使其執(zhí)行印刷的電路。儲存裝置7是閃存等非易失性存儲裝置,存儲主控制器2所使用的各種程序和數(shù)據(jù)。這里,數(shù)據(jù)處理程序8被存儲在儲存裝置7中。這里,對數(shù)據(jù)處理電路1的結構進行說明。數(shù)據(jù)處理電路1具有總線接口電路11、總線12、存儲器接口 13、HDD控制器14、 數(shù)據(jù)獲取電路15、圖像處理電路16、柵格處理電路17、半色調處理電路18、以及數(shù)據(jù)輸出電路 19。此外,數(shù)據(jù)處理電路 1 作為 ASIC(Application Specific Integrated Circuit,專用集成電路)而實現(xiàn)??偩€接口電路11是將主控制器2連接在總線12上的電路。存儲器接口 13是收發(fā)RAM 3和總線12之間的數(shù)據(jù)以及指令的電路。HDD控制器14是根據(jù)來自主控制器2的指令針對HDD 4進行數(shù)據(jù)讀寫的電路。數(shù)據(jù)獲取電路15是根據(jù)來自主控制器2的指令將圖像數(shù)據(jù)作為帶數(shù)據(jù)從掃描器 5順序地獲取并將其存儲在RAM 3或HDD 4中的電路。數(shù)據(jù)獲取電路15具有DMA (Direct Memory Access,直接存儲器存取)控制器。例如,帶數(shù)據(jù)是1 行的數(shù)據(jù),每1頁有58個帶的帶數(shù)據(jù)。圖像處理電路16根據(jù)來自主控制器2的指令,從RAM 3或HDD 4讀出圖像數(shù)據(jù)的帶數(shù)據(jù),并對這些帶數(shù)據(jù)執(zhí)行預定的圖像處理(圖像放大、圖像縮小、顏色轉換等)。圖像處理電路16是將處理后的帶數(shù)據(jù)存儲在RAM 3或HDD 4的電路。圖像處理電路16具有DMA 控制器。柵格處理電路17是從RAM 3或HDD 4讀出圖像數(shù)據(jù)的帶數(shù)據(jù)、并對這些帶數(shù)據(jù)執(zhí)行柵格化來生成柵格數(shù)據(jù)的電路。柵格數(shù)據(jù)按每個帶被存儲在HDD 4中,并在執(zhí)行半色調處理時被讀出到RAM 3中。半色調處理電路18從RAM 3按每個帶讀出柵格數(shù)據(jù)并執(zhí)行半色調處理。半色調處理電路18是將半色調處理后的數(shù)據(jù)存儲到RAM 3中的電路。數(shù)據(jù)輸出電路19是從RAM 3中讀出經(jīng)半色調處理后的數(shù)據(jù)并將其提供給印刷引擎控制電路6的電路。在數(shù)據(jù)處理電路1中,根據(jù)需要對從掃描器5獲取的圖像數(shù)據(jù)實施旋轉、放大/縮小等圖像處理。之后,以半色調生成印刷圖像數(shù)據(jù)并將其輸出給印刷引擎控制電路6。在這些數(shù)據(jù)處理的中途,在以帶為單位的數(shù)據(jù)緩沖中使用RAM 3,在以頁為單位的數(shù)據(jù)緩沖中使用 HDD 4。圖2示出了在數(shù)據(jù)處理電路1中處理的數(shù)據(jù)的結構。一個文檔數(shù)據(jù)由1個或多個頁數(shù)據(jù)構成。頁數(shù)據(jù)由預定數(shù)目的帶數(shù)據(jù)構成。有關一個文檔的數(shù)據(jù)作為一個作業(yè)被提供給主控制器2。文檔的結構用節(jié)點的列表描述。文檔的節(jié)點數(shù)據(jù)包含向頁的節(jié)點數(shù)據(jù)的鏈接信息,頁的節(jié)點數(shù)據(jù)包含向帶的節(jié)點數(shù)據(jù)的鏈接信息。帶的節(jié)點數(shù)據(jù)包含頁內的帶的識別信息、帶數(shù)據(jù)的狀態(tài)等。因此,通過這些鏈接,能夠確定文檔內某個頁的某個帶數(shù)據(jù)。詳細地說,1個或多個文檔用文檔節(jié)點數(shù)據(jù)的鏈接列表描述。在某個文檔的文檔節(jié)點數(shù)據(jù)上作為分支而連接與構成文檔的1個頁或多個頁相關的頁節(jié)點數(shù)據(jù)的鏈接列表。 并且,在某頁的頁節(jié)點數(shù)據(jù)上作為分支而連接與構成該頁的多個帶相關的帶數(shù)據(jù)的鏈接列表。因此,數(shù)據(jù)結構為由文檔節(jié)點數(shù)據(jù)、頁節(jié)點數(shù)據(jù)以及帶數(shù)據(jù)構成的3層結構。圖3是示出在數(shù)據(jù)處理電路1中處理的數(shù)據(jù)的例子。如圖3所示,該數(shù)據(jù)結構為文檔鏈接列表、頁鏈接列表以及帶鏈接列表的3層結構。在圖3的例子中,文檔鏈接列表包含3個文檔節(jié)點數(shù)據(jù)。這里,各文檔數(shù)據(jù)包含由 “文檔#1”等表示的識別信息、以及鏈接信息(以后,用識別信息描述各文檔節(jié)點數(shù)據(jù))。文檔#1包含向后續(xù)的文檔#2鏈接的鏈接信息。文檔#2包含向后續(xù)的文檔#3鏈接的鏈接信息。由此,文檔鏈接列表內的各文檔節(jié)點數(shù)據(jù)按照識別號的順序鏈接。各文檔節(jié)點數(shù)據(jù)還包含向頁鏈接列表鏈接的鏈接信息。這里,文檔#1的頁鏈接列表包含2個頁的頁節(jié)點數(shù)據(jù)。各頁節(jié)點數(shù)據(jù)包含由“頁#1”等表示的識別信息、以及鏈接信息(以后,用識別信息描述各頁節(jié)點數(shù)據(jù))。文檔#1的鏈接信息鏈接到作為起始的頁節(jié)點數(shù)據(jù)的頁#1。頁#1包含向后續(xù)的頁#2鏈接的鏈接信息。如此,文檔#1通過與頁鏈接列表內的各頁節(jié)點數(shù)據(jù)直接或間接鏈接而鏈接到頁鏈接列表。同樣地,文檔#2通過與頁#1直接或間接鏈接來鏈接到頁鏈接列表,文檔#3通過與頁#1 頁#3直接或間接鏈接來鏈接到頁鏈接列表。各頁節(jié)點數(shù)據(jù)還包含向帶鏈接列表鏈接的鏈接信息。這里,頁#1的帶鏈接列表包含N個帶數(shù)據(jù)。這里,由于1個頁中的帶的數(shù)目是固定的,因此帶鏈接列表的大小是固定的。 各帶數(shù)據(jù)包含由“帶#1”等表示的識別信息、1帶量的圖像數(shù)據(jù)、以及鏈接信息(以后,用識別信息描述各帶數(shù)據(jù))。頁#1的鏈接信息與作為起始帶數(shù)據(jù)的帶#1鏈接。帶#1包含向后續(xù)的帶#2鏈接的鏈接信息。同樣地,各帶數(shù)據(jù)包含向后續(xù)的帶數(shù)據(jù)鏈接的鏈接信息。此外,最末尾的帶測的鏈接信息包含表示是最末尾的信息。如此,頁#1通過與各帶數(shù)據(jù)直接或間接鏈接來鏈接到帶鏈接列表。其它頁節(jié)點數(shù)據(jù)也與文檔#1的頁#1同樣地鏈接到帶鏈接列表。如上所述,在數(shù)據(jù)處理電路1中處理的數(shù)據(jù)從文檔鏈接列表依次與頁鏈接列表、 帶鏈接列表鏈接,因此文檔節(jié)點數(shù)據(jù)、頁節(jié)點數(shù)據(jù)、帶數(shù)據(jù)構成為彼此直接或間接鏈接的結構。接著,分三個實施方式對由上述數(shù)據(jù)處理裝置向HDD 4寫入帶數(shù)據(jù)或從HDD 4讀出帶數(shù)據(jù)的動作進行說明。(實施方式1)圖4是用于說明實施方式1中的主控制器2的動作的框圖。圖5是用于說明實施方式1中的主控制器2的動作的流程圖。在主控制器2中,支持多處理以及多線程的操作系統(tǒng)正在運行。主控制器2執(zhí)行數(shù)據(jù)處理程序8,首先生成寫入側處21以及讀出側處理22。主控制器2使用寫入側處理21 以及讀出側處22來執(zhí)行將數(shù)據(jù)緩沖到HDD 4中的應用程序23。在應用程序23中,寫入側程序41在寫入側處理21的寫入側線程31內被執(zhí)行。主控制器2通過執(zhí)行寫入側程序41, 能夠使HDD控制器14將帶數(shù)據(jù)寫入到HDD 4。另一方面,在應用程序23中,讀出側程序51 在讀出側處理22的讀出側線程32內被執(zhí)行。主控制器2通過執(zhí)行讀出側程序51,能夠使 HDD控制器從HDD 4讀出帶數(shù)據(jù)。主控制器2通過在寫入側線程31中執(zhí)行寫入側程序41來將成為帶數(shù)據(jù)的寫入目的地的文件的文件標識符通知給讀出側處理22 (步驟Si)。文件標識符例如被設為文件名。 主控制器2在寫入側線程31中按照寫入側程序41,使用API 42調出文件系統(tǒng)61的共享庫。并且,主控制器2在寫入側線程31中按照寫入側程序代碼41,打開該文件標識符的文件,并生成文件句柄(步驟S2)。在打開文件后,主控制器2在寫入側線程31中按照寫入側程序41,調出文件系統(tǒng) 61的API 42,并控制HDD控制器14以將帶數(shù)據(jù)寫入到HDD 4內的文件中(步驟S3)。這里,主控制器2通過DMA傳輸從RAM 3讀出帶數(shù)據(jù)。HDD控制器14將從RAM 3讀出的帶數(shù)據(jù)寫入到HDD 4。當完成了將一個帶數(shù)據(jù)寫入到HDD 4時,主控制器2使用API 42發(fā)送事件(步驟S4)。主控制器2在寫入側線程31中按照寫入側程序41,將完成寫入的帶數(shù)據(jù)從 RAM 3中擦除(步驟S5)。如上所述,1頁量的多個帶數(shù)據(jù)被順序地寫入。并且,當1頁的所有帶數(shù)據(jù)的寫入完成時(步驟S6),主控制器2按照寫入側程序41,使用API 42調出文件系統(tǒng)61的共享庫, 關閉與文件標識符對應的文件(步驟S7)。另一方面,主控制器2在讀出側線程32中執(zhí)行讀出側程序51。這里,讀出側程序 51與寫入側不同步地進行動作。主控制器2在讀出側線程32中按照讀出側程序51在從寫入側線程31接受到文件標識符后(步驟Sll),打開與該文件標識符對應的文件并生成文件句柄(步驟S12)。在打開文件后,主控制器2在讀出側線程32中按照讀出側程序51進行等待,直到接收到事件為止(步驟Si; )。在接收到來自寫入側的事件后,主控制器2在讀出側線程32 中按照讀出側程序代碼51,調出文件系統(tǒng)61的API 52,并控制HDD控制器14以從HDD 4 內的文件讀出一個帶數(shù)據(jù)(步驟S14)。這里,HDD控制器14從HDD 4讀出帶數(shù)據(jù)。主控制器2將從HDD 4讀出的帶數(shù)據(jù)通過DMA傳輸寫入RAM 3中。如此,針對來自寫入側的事件,帶數(shù)據(jù)被一個一個地順序讀出。并且,當完成了 1 頁量的所有帶數(shù)據(jù)的讀出時(步驟SK),主控制器2在讀出側線程32中按照讀出側程序 51,使用API 52調出文件系統(tǒng)61的共享庫,并關閉與文件標識符對應的文件(步驟S16)。 這里,HDD控制器14從HDD 4中擦除被關閉的文件。如上所述,根據(jù)上述實施方式1,主控制器2進行以下動作(i)生成寫入側處理以及讀出側處理,( )從寫入側處理21向讀出側處理22通知要保存到HDD 4的文件的文件標識符,之后(iii)使用寫入側處理21使得HDD控制器14將一系列的多個帶數(shù)據(jù)順序地寫入到HDD 4,(iv)當在讀出側處22中接收到文件標識符時,使用讀出側處理22使得HDD 控制器14從與該文件標識符對應的文件中讀出一系列的多個帶數(shù)據(jù)。由此,在向HDD 4寫入帶數(shù)據(jù)之前,用于緩沖的存儲區(qū)域(S卩、文件)的標識符 (即、文件標識符)能夠被傳遞給讀出側處22,從而能夠與寫入側處理21獨立地通過讀出側處理22開始數(shù)據(jù)讀出。因此,數(shù)據(jù)處理裝置即使在數(shù)據(jù)寫入中途也能夠讀出帶數(shù)據(jù)。因此,能夠減少向儲存裝置(HDD 4)進行數(shù)據(jù)緩沖后的處理的延遲。(實施方式2)在本發(fā)明的實施方式2中,主控制器2不同于由應用程序23進行動作的寫入側線程以及讀出側線程而另外生成由用于向文件寫入帶數(shù)據(jù)的共享庫的程序進行動作的線程、 以及由用于從文件讀出帶數(shù)據(jù)的共享庫的程序進行動作的線程。由此,數(shù)據(jù)處理裝置與應用程序23的處理不同步地執(zhí)行帶數(shù)據(jù)的寫入以及讀出處理。以下,對實施方式2中的主控制器2的動作進行說明。圖6是示出實施方式2中的主控制器2的動作的框圖。圖7是用于說明實施方式 2中的主控制器2的寫入側處理21的動作的流程圖。圖8是用于說明實施方式2中的主控制器2的讀出側處理22的動作的流程圖。在主控制器2中,支持多處理以及多線程的操作系統(tǒng)正在運行。主控制器2執(zhí)行數(shù)據(jù)處理程序8,首先生成寫入側處理21以及讀出側處理22。主控制器2使用寫入側處理21以及讀出側處理22來執(zhí)行向HDD 4緩沖數(shù)據(jù)的應用程序23。在應用程序23中,寫入側程序41在寫入側處理21的寫入側線程31a中被執(zhí)行。主控制器2通過執(zhí)行寫入側程序41, 能夠使HDD控制器14將帶數(shù)據(jù)寫入到HDD 4。另一方面,在應用程序23中,讀出側程序51 在讀出側處理22的讀出側線程32b中被執(zhí)行。主控制器2通過執(zhí)行讀出側程序51,能夠使得HDD控制器從HDD 4讀出帶數(shù)據(jù)。主控制器2在寫入側處理21中生成文件寫入線程31b。主控制器2在該文件寫入線程31b中執(zhí)行用于向文件寫入帶數(shù)據(jù)的共享庫的文件寫入程序71。主控制器2在讀出側處22中生成文件讀出線程32b。主控制器2在該文件讀出線程32b中執(zhí)行用于讀出來自文件的帶數(shù)據(jù)的共享庫的文件讀出程序81。并且,主控制器2將在應用程序23中發(fā)生的數(shù)據(jù)寫入請求以及數(shù)據(jù)讀出請求作為訪問請求而排在隊列系統(tǒng)91中。主控制器2執(zhí)行文件寫入程序71以及文件讀出程序81,并基于在隊列系統(tǒng)91中排隊的訪問請求來執(zhí)行帶數(shù)據(jù)的寫入以及讀出。由此,數(shù)據(jù)處理裝置與應用程序23的處理不同步地執(zhí)行帶數(shù)據(jù)的寫入以及讀出。主控制器2在接受文檔數(shù)據(jù)后,通過寫入側線程31a以圖3所示的3層結構將數(shù)據(jù)存儲到RAM 3中。此時,針對一個文檔,一個文檔節(jié)點數(shù)據(jù)被添加到文檔鏈接列表,與包含在該文檔的頁數(shù)目相同數(shù)目的頁節(jié)點數(shù)據(jù)被添加到頁鏈接列表中。并且,針對每一頁,重新確保(分配)帶鏈接列表的存儲區(qū)域,帶鏈接列表被存儲到該存儲區(qū)域中。主控制器2在向 RAM 3中存儲1頁量的多個帶數(shù)據(jù)時,將該頁的頁節(jié)點數(shù)據(jù)添加到頁鏈接列表,并確保多個帶數(shù)據(jù)的存儲區(qū)域,一旦完成該頁的寫入,就釋放該存儲區(qū)域,并從頁鏈接列表中刪除該頁節(jié)點數(shù)據(jù)。當確保帶數(shù)據(jù)的存儲區(qū)域時,如果RAM 3的剩余量不夠,則主控制器2等待到釋放有關其他頁的帶數(shù)據(jù)的存儲區(qū)域為止,并在完成釋放時,確保新頁的帶數(shù)據(jù)的存儲區(qū)域。主控制器2通過在寫入側線程31a中執(zhí)行寫入側程序41,來將成為帶數(shù)據(jù)的寫入目的地的文件的文件標識符通知給讀出側處22的讀出側程序51 (步驟S21)。文件標識符例如被設為文件名。主控制器2在寫入側線程31a中按照寫入側程序41,使用API 42來調出文件系統(tǒng)61的共享庫。并且,主控制器2在寫入側線程31a中按照寫入側程序代碼41, 打開該文件標識符的文件,并生成文件句柄(步驟S22)。在打開文件后,主控制器2在寫入側線程31a中按照寫入側程序41,調出文件系統(tǒng)61的API 42,并將向與文件標識符對應的文件寫入的帶數(shù)據(jù)的數(shù)據(jù)寫入請求依次排到隊列系統(tǒng)91中。主控制器2根據(jù)數(shù)據(jù)寫入請求,按照寫入側程序41對文件寫入線程31b 提供各帶數(shù)據(jù)的寫入指令(步驟S2!3)。在寫入指令中指定成為寫入對象的帶數(shù)據(jù)的識別信息(即,包含該帶數(shù)據(jù)的文檔的識別信息、包含該帶數(shù)據(jù)的頁的識別信息、以及在該頁內的帶數(shù)據(jù)的識別信息)。主控制器2重復步驟S23的處理,直到對所有帶數(shù)據(jù)的數(shù)據(jù)寫入請求進行排隊為止(步驟S24)。圖9是示出圖6中的隊列系統(tǒng)91內的共享存儲器區(qū)域的圖。該共享存儲器區(qū)域在RAM 3上被分配,其物理地址被映射到寫入側處理21以及讀出側處22的邏輯地址。由此,可從各個處理向共享存儲器區(qū)域進行訪問。在隊列系統(tǒng)91中,該共享存儲器區(qū)域包括文檔列表區(qū)域、頁列表區(qū)域、FD列表區(qū)域、以及隊列區(qū)域。包含寫入對象或讀出對象的帶數(shù)據(jù)的文檔的節(jié)點數(shù)據(jù)通過API 42或API 52被存儲在文檔列表區(qū)域中。文檔的節(jié)點數(shù)據(jù)具有向構成該文檔的頁的節(jié)點數(shù)據(jù)鏈接的鏈接信息。包含寫入對象或者讀出對象的帶數(shù)據(jù)的頁的節(jié)點數(shù)據(jù)通過API 42或API 52被存儲在頁列表區(qū)域中。頁的節(jié)點數(shù)據(jù)具有向構成該頁的帶的節(jié)點數(shù)據(jù)鏈接的鏈接信息、以及向文件描述符(File Descriptor)的鏈接信息。寫入對象或讀出對象的帶的節(jié)點數(shù)據(jù)通過API 42或API 52被存儲在帶列表區(qū)域中。帶的節(jié)點數(shù)據(jù)具有該帶所屬的文檔以及頁的識別信息,并具有文件內的帶數(shù)據(jù)的識別 fn息οAPI 42或API 52針對每個頁將與該頁對應的文件的文件描述符寫入FD列表區(qū)域中。API 42或API 52針對每個帶數(shù)據(jù)將訪問請求寫入隊列區(qū)域中。訪問請求包含訪問類型(寫入或讀出)、以及作為對象的帶數(shù)據(jù)的識別信息。因此,在一個隊列中混合存在數(shù)據(jù)寫入請求和數(shù)據(jù)讀出請求。通過信號量(Semaphore)來排他地控制向該隊列系統(tǒng)91的訪問,使得寫入側線程 31a、文件寫入線程31b、讀出側線程32a、以及文件讀出線程32b中的兩個以上線程無法同時訪問。即,排他地控制一個隊列,使得同時只能從一個處理訪問該隊列。因此,為排隊不
需要很多資源。另一方面,主控制器2在文件寫入線程31b中按照文件寫入程序71,搜索隊列內的訪問請求(步驟S31)。當在隊列中發(fā)現(xiàn)發(fā)送寫入指令的帶數(shù)據(jù)的數(shù)據(jù)寫入請求時(步驟 S32),主控制器2從寫入在隊列系統(tǒng)91中的結構數(shù)據(jù)以及文件描述符確定由該數(shù)據(jù)寫入請求指定的帶數(shù)據(jù)以及寫入目的地。主控制器2在文件寫入線程31b中通過DMA傳輸從RAM 3該帶數(shù)據(jù)讀出到HDD控制器14中。此時,文件寫入線程31b從數(shù)據(jù)寫入請求中確定寫入對象的帶數(shù)據(jù)所屬的文檔以及頁。接著,文件寫入線程31b確定已被確定的文檔的文檔節(jié)點數(shù)據(jù)。文件寫入線程31b 基于所確定的文檔節(jié)點數(shù)據(jù)的鏈接信息來確定鏈接目的地的頁鏈接列表,并從該頁鏈接列表中確定根據(jù)數(shù)據(jù)寫入請求確定的頁的頁節(jié)點數(shù)據(jù)。并且,文件寫入線程31b基于所確定的頁節(jié)點數(shù)據(jù)的鏈接信息來確定鏈接目的地的帶鏈接列表,并從該帶鏈接列表中確定與數(shù)據(jù)寫入請求對應的寫入對象的帶數(shù)據(jù)。如此,主控制器2通過根據(jù)文檔、頁以及帶的識別號追尋上述的鏈接,能夠確定并讀出文檔中某頁的某個帶數(shù)據(jù)。HDD控制器14將所讀出的帶數(shù)據(jù)寫入到被確定的寫入目的地(步驟S33)。在一個帶數(shù)據(jù)的寫入完成后,主控制器2在文件寫入線程31b中按照文件寫入程序71從隊列中刪除該帶數(shù)據(jù)的數(shù)據(jù)寫入請求(步驟S34),并向API 42提供帶數(shù)據(jù)的數(shù)據(jù)寫入完成通知(步驟S35)。如此,通過執(zhí)行與應用程序23不同的文件寫入線程31b的文件寫入程序71,被排隊的數(shù)據(jù)寫入請求不同步地被處理。并且,當向API 42提供了數(shù)據(jù)寫入完成通知時,主控制器2使用API42發(fā)送事件 (步驟S26)。主控制器2在寫入側線程31a中按照寫入側程序41,從RAM 3中擦除上述已完成數(shù)據(jù)寫入的帶數(shù)據(jù)(步驟S27)。并且,在1頁量的所有帶數(shù)據(jù)的寫入完成后(步驟S28),主控制器2按照寫入側程序41并使用API 42調出文件系統(tǒng)61的共享庫,關閉與文件標識符對應的文件(步驟 S29)。另一方面,主控制器2在讀出側線程3 中執(zhí)行讀出側程序51。這里,讀出側程序 51與寫入側不同步地動作。主控制器2在讀出側線程32a中按照讀出側程序51,在從寫入側線程31a接受到文件標識符后(步驟S41),打開與該文件標識符對應的文件,并生成文件句柄(步驟S42)。在打開文件后,主控制器2在讀出側線程3 中按照讀出側程序51調出文件系統(tǒng) 61的API 52,并將來自與文件標識符對應的文件的各個帶數(shù)據(jù)的數(shù)據(jù)讀出請求依次排到隊列系統(tǒng)91中。主控制器2根據(jù)數(shù)據(jù)讀出請求,按照讀出側程序51對文件讀出線程32b 提供各帶數(shù)據(jù)的讀出指令(步驟S4!3)。在讀出指令中指定成為讀出對象的帶數(shù)據(jù)的識別信息(即,包含該帶數(shù)據(jù)的文檔的識別信息、包含該帶數(shù)據(jù)的頁的識別信息、以及該頁內的帶數(shù)據(jù)的識別信息)。主控制器2重復步驟S43的處理,直到對所有帶數(shù)據(jù)的數(shù)據(jù)讀出請求進行排隊為止(步驟S44)。另一方面,當在文件讀出線程32b中接收到該帶數(shù)據(jù)的寫入完成時的事件時(步驟S51),主控制器2按照文件讀出程序81搜索隊列內的數(shù)據(jù)讀出請求(步驟S5》。當在隊列中發(fā)現(xiàn)發(fā)送讀出指令的帶數(shù)據(jù)的數(shù)據(jù)讀出請求時(步驟S5!3),主控制器2調出文件系統(tǒng)61的API 52,并控制HDD控制器14以從HDD 4內的文件讀出帶數(shù)據(jù)(步驟S54)。此時, 從寫入在隊列系統(tǒng)91中的結構數(shù)據(jù)以及文件描述符確定由該數(shù)據(jù)讀出請求指定的帶數(shù)據(jù)以及讀出源。HDD控制器14從所確定的讀出源中讀出該帶數(shù)據(jù)。主控制器2按照文件讀出程序代碼81,將讀出的帶數(shù)據(jù)通過DMA傳輸寫入到RAM 3中。當一個帶數(shù)據(jù)的數(shù)據(jù)讀出完成后,主控制器2在文件讀出線程32b中按照文件讀出程序81從隊列中刪除該帶數(shù)據(jù)的數(shù)據(jù)讀出請求(步驟S55),并向API 52提供帶數(shù)據(jù)的數(shù)據(jù)讀出完成通知(步驟S56)。如此,針對來自寫入側的事件,帶數(shù)據(jù)被一個一個地順序讀出。并且,主控制器2 在讀出側線程3 中按照讀出側程序51,在每次進行數(shù)據(jù)讀出完成通知時,判定1頁量的所有帶數(shù)據(jù)的讀出是否完成(步驟S46)。如果1頁量的所有帶數(shù)據(jù)的讀出已完成,則主控制器2使用API 52調用文件系統(tǒng)61的共享庫,并關閉與文件標識符對應的文件(步驟S47)。 這里,HDD控制器14從HDD 4中刪去被關閉的文件。如上所述,根據(jù)上述實施方式2,主控制器2進行以下動作(i)在寫入側處理21 中生成寫入側線程31a以及文件寫入線程31b,(ii)在讀出側處理22中生成讀出側線程 32a以及文件讀出線程32b,(iii)在從寫入側線程31a向讀出側線程3 通知HDD 4中的文件的標識符之后,在寫入側線程31a中順序地排隊與一系列的多個帶數(shù)據(jù)的每一個相關的數(shù)據(jù)寫入請求,(iv)使用文件寫入線程31b使HDD控制器14按照被排隊的數(shù)據(jù)寫入請求的順序寫入一系列的多個帶數(shù)據(jù),(ν)在讀出側線程32a中當接收到文件的文件標識符時, 順序地排隊與一系列的多個帶數(shù)據(jù)的每一個相關的數(shù)據(jù)讀出請求,(vi)使用文件讀出線程 32b使HDD控制器14按照被排隊的數(shù)據(jù)讀出請求的順序讀出一系列的多個帶數(shù)據(jù)。由此,用于向HDD 4寫入帶數(shù)據(jù)的程序71在不同的線程31b中動作,從而不同步地進行數(shù)據(jù)寫入,因此不等待寫入側程序41完成數(shù)據(jù)寫入就能夠進行其它處理。另外,由于用于從HDD 4讀出帶數(shù)據(jù)的程序81在不同的線程32b中動作,從而不同步地進行數(shù)據(jù)讀出,因此不等待讀出側程序51完成數(shù)據(jù)讀出就能夠執(zhí)行其它處理。另外,根據(jù)上述實施方式2,1頁量的帶數(shù)據(jù)被作成針對文檔內的各頁而設置的鏈接列表,并被存儲在RAM 3中,并且在RAM 3中存儲表示文檔內的各頁的頁節(jié)點數(shù)據(jù)。某頁的頁節(jié)點數(shù)據(jù)具有向關于該頁的多個帶數(shù)據(jù)的起始的鏈接。由此,由于多頁的帶數(shù)據(jù)按每頁被作成各個鏈接列表,因此能夠在短時間內從多頁的帶數(shù)據(jù)中發(fā)現(xiàn)處理對象的帶數(shù)據(jù)。(實施方式3)本發(fā)明的實施方式3在寫入側線程31a中在帶數(shù)據(jù)的數(shù)據(jù)寫入請求的排隊完成的時間點發(fā)送事件。在文件讀出線程32b中,如果RAM 3中有帶數(shù)據(jù),則從RAM 3讀出該帶數(shù)據(jù),如果RAM 3中沒有帶數(shù)據(jù),則從HDD 4的文件中讀出該帶數(shù)據(jù)。以下對實施方式3中的主控制器2的動作進行說明。實施方式3中的基本程序構成與實施方式2的(圖6)相同,但通過寫入側線程31a和文件讀出線程32b進行的動作與實施方式2的(圖6)不同。圖10是用于說明實施方式3中的主控制器2的寫入側處理21的動作的流程圖。 圖11是用于說明實施方式3中的主控制器2的讀出側處22的動作的流程圖。如圖10所示,在實施方式3中,主控制器2在寫入側線程31a中不是在完成帶數(shù)據(jù)的寫入時而是在每次完成帶數(shù)據(jù)的寫入請求的排隊(步驟S2!3)時發(fā)送事件(步驟S61)。并且,如圖11所示,主控制器2在文件讀出線程32b中,一旦在隊列中發(fā)現(xiàn)訪問請求,就查找在RAM 3中是否剩有讀出對象的帶數(shù)據(jù)(步驟S71)。其結果是,如果在RAM 3中剩有讀出對象的帶數(shù)據(jù),則主控制器2在文件讀出線程32中按照文件讀出程序從RAM 3讀出帶數(shù)據(jù)(步驟S72)。如果RAM 3中沒有剩余讀出對象的帶數(shù)據(jù),則主控制器2在文件讀出線程中按照文件讀出程序來控制HDD控制器,以從HDD 4的文件讀出帶數(shù)據(jù)。此時,HDD 控制器14從HDD 4讀出帶數(shù)據(jù)(步驟S54)。如此,如果RAM 3中剩有讀出對象的帶數(shù)據(jù),則不是從HDD 4而是從RAM 3讀出帶數(shù)據(jù)。因此,不需要根據(jù)針對該帶數(shù)據(jù)的數(shù)據(jù)寫入請求而向HDD 4寫入帶數(shù)據(jù)。但是,該數(shù)據(jù)寫入請求將保持殘留在隊列系統(tǒng)91中的狀態(tài)。如果關于某個作業(yè)(文檔)的上述不需要的數(shù)據(jù)寫入請求被殘留,則即使在讀出側其作業(yè)已完成(即,即使該文檔的讀出已完成),在該數(shù)據(jù)寫入請求被處理之前在寫入側其作業(yè)也不會完成,因此導致后續(xù)的處理發(fā)生延遲。因此,主控制器2通過讀出側線程31在預定定時從隊列中刪除與已從RAM 3讀出的帶數(shù)據(jù)相關的數(shù)據(jù)寫入請求。在該實施方式中,數(shù)據(jù)寫入請求的刪除定時被設為讀出側的作業(yè)完成時。圖12是用于說明實施方式3中的來自RAM 3的帶數(shù)據(jù)的讀出的圖。如圖12所示, 帶數(shù)據(jù)被存儲在RAM 3內預定的共享存儲器區(qū)域,該共享存儲器區(qū)域的物理地址被映射到各處理21、22的邏輯地址,從而可從各處理21、22的各線程31a、31b、32a、32b向共享存儲器區(qū)域進行訪問。如上所述,根據(jù)上述實施方式3,主控制器2進行以下動作(i)在寫入側處理21 中將一個帶數(shù)據(jù)存儲在RAM 3中,(ii)在寫入側線程31a中每當對一個帶數(shù)據(jù)的寫入請求進行排隊時發(fā)送事件,(iv)當向HDD 4的帶數(shù)據(jù)的寫入完成時,在讀出側線程3 中從RAM 3擦除該帶數(shù)據(jù),(ν)當順序地執(zhí)行被排隊的數(shù)據(jù)讀出請求時,如果RAM 3中有讀出對象的帶數(shù)據(jù),則在文件讀出線程32b中從RAM 3讀出帶數(shù)據(jù)而不是從HDD 4讀出該帶數(shù)據(jù),(vi) 如果RAM 3中沒有該帶數(shù)據(jù),則使HDD控制器14從HDD 4中讀出該帶數(shù)據(jù)。由此,如果RAM 3中剩有帶數(shù)據(jù),則能夠立刻使用RAM 3上的帶數(shù)據(jù)。因此,能夠以比從HDD 4的讀出更短的時間讀出數(shù)據(jù),能夠減少數(shù)據(jù)讀出時的延遲。另外,根據(jù)上述實施方式3,主控制器2在預定定時從隊列中刪除與已從RAM 3讀出的帶數(shù)據(jù)相關的數(shù)據(jù)寫入請求。由此,能夠避免由雖然不經(jīng)過HDD 4而從RAM 3讀出了帶數(shù)據(jù)但仍殘留在隊列中的數(shù)據(jù)寫入請求引起的處理延遲。此外,上述各實施方式是本發(fā)明優(yōu)選的例子,但本發(fā)明不限定于此,可在不脫離本發(fā)明主旨的范圍內進行各種變形、變更。例如,在上述實施方式3中,如果在讀出側線程3 中正當從RAM 3讀出帶數(shù)據(jù)時在寫入側完成了該帶數(shù)據(jù)向HDD 4的寫入,則主控制器2也可以在讀出側線程32a中的帶數(shù)據(jù)的讀出完成之后,在寫入側線程31a中從RAM 3刪除該帶數(shù)據(jù)。例如,通過排他地控制向帶數(shù)據(jù)的存儲區(qū)域的訪問,能夠實現(xiàn)這樣的處理。另外,在上述各實施方式中,主控制器2也可以在向HDD 4寫入數(shù)據(jù)之前壓縮數(shù)據(jù),在從HDD 4讀出數(shù)據(jù)之后解壓縮數(shù)據(jù)。作為壓縮、解壓縮方式可采用JPEGCJoint Photographic Experts Group, S^^iC^l) ^5^>RLE(Run Length Encoding, SffMIIe 碼)方式等。另外,在上述各實施方式中,從寫入側向讀出側通知的文件標識符可使用文件句柄。另外,在上述各實施方式中,主控制器2使用文件系統(tǒng)61進行對HDD 4的數(shù)據(jù)讀寫,但也可以沒有文件系統(tǒng)61。此時,可使用存儲1頁量的帶數(shù)據(jù)的HDD 4上的存儲區(qū)域的識別信息(例如,地址和大小等),來代替文件標識符。另外,在上述各實施方式,寫入側處理21的應用程序和讀出側處理22的應用程序也可以是分別獨立的程序。另外,在上述各實施方式中,存儲裝置采用了 HDD 4,但也可以采用使用了 SSD(Solid State Drive,固態(tài)硬盤)等半導體存儲器的存儲裝置。另外,在上述各實施方式中,寫入側以及讀出側的處理各為一個,但在寫入側以及讀出側的任一側都可以生成多個同樣的處理。即使在此情況下,實施方式2、3中的隊列系統(tǒng)91 一個已足以。另外,在上述各實施方式中,通過單個主控制器2進行了寫入側以及讀出側兩者的處理,但在具有多個處理元件的處理器中也可以分別進行寫入側以及讀出側的處理。另外,在上述各實施方式中,對劃分成帶數(shù)據(jù)的圖像數(shù)據(jù)進行了處理,但本發(fā)明也可應用于將其它類型的數(shù)據(jù)劃分為預定大小的塊并對每個塊進行處理的裝置。本發(fā)明可應用于例如復印機、數(shù)碼復合機等圖像形成裝置中的圖像處理裝置。以上,根據(jù)本申請公開的實施方式,在向儲存裝置寫入數(shù)據(jù)前,將用于緩沖的存儲區(qū)域的標識符傳遞給讀出側處理,從而能夠與寫入側處理獨立地在讀出側處理中開始數(shù)據(jù)讀出,因此即使在數(shù)據(jù)寫入中途也能夠進行數(shù)據(jù)讀出。從而能夠減少由于向儲存裝置緩沖數(shù)據(jù)而引起的后階段處理的延遲。
14
另外,將預定單位的數(shù)據(jù)劃分而得的一個個數(shù)據(jù)塊可在完成寫入后立即讀出。因此,能夠減少由于向儲存裝置緩沖數(shù)據(jù)而引起的處理的延遲。另外,能夠通過文件系統(tǒng)對用于緩沖的存儲區(qū)域進行管理,能夠從各個處理簡單地訪問儲存裝置內的數(shù)據(jù)。另外,在打印機、復印機以及數(shù)碼復合機等圖像形成裝置中,能夠簡單地訪問有關圖像處理的數(shù)據(jù)。
權利要求
1.一種數(shù)據(jù)處理裝置,包括儲存裝置控制器,其將一系列的多個數(shù)據(jù)塊寫入到儲存裝置,并從所述儲存裝置讀出所述一系列的多個數(shù)據(jù)塊,其中所述一系列的多個數(shù)據(jù)塊構成預定單位的數(shù)據(jù);以及處理器,其控制所述儲存裝置控制器, 所述數(shù)據(jù)處理裝置的特征在于, 所述處理器生成寫入側處理以及讀出側處理,在從所述寫入側處理向所述讀出側處理通知所述儲存裝置中的存儲區(qū)域的標識符之后,使用所述寫入側處理使得所述儲存裝置控制器將所述一系列的多個數(shù)據(jù)塊順序地寫入到所述存儲區(qū)域,當在所述讀出側處理中接收到所述標識符時,使用所述讀出側處理使得所述儲存裝置控制器從與該標識符對應的所述存儲區(qū)域中讀出所述一系列的多個數(shù)據(jù)塊。
2.如權利請求1所述的數(shù)據(jù)處理裝置,其特征在于, 所述處理器每當有一個數(shù)據(jù)塊被寫入時就在所述寫入側處理中發(fā)送事件, 當在所述讀出側處理中接收所述標識符后,使用所述讀出側處理使得所述儲存裝置控制器等待進行從與該標識符對應的所述存儲區(qū)域的所述一系列的多個數(shù)據(jù)塊的讀出,當在所述讀出側處理中在所述等待狀態(tài)下接收到所述事件時,使用所述讀出側處理使得所述儲存裝置控制器從所述存儲區(qū)域中讀出一個數(shù)據(jù)塊。
3.如權利請求1所述的數(shù)據(jù)處理裝置,其特征在于, 所述處理器在所述寫入側處理中生成第1線程以及第3線程, 在所述讀出側處理中生成第2線程以及第4線程,在從所述第1線程向所述第2線程通知了所述儲存裝置中的存儲區(qū)域的標識符后,在所述第1線程中將與所述一系列的多個數(shù)據(jù)塊中的每一個相關的數(shù)據(jù)寫入請求順序地排隊,使用所述第3線程使所述儲存裝置控制器按照被排隊的所述數(shù)據(jù)寫入請求的順序寫入所述一系列的多個數(shù)據(jù)塊,當在所述第2線程中接收到所述標識符時,將與所述一系列的多個數(shù)據(jù)塊中的每一個相關的數(shù)據(jù)讀出請求順序地排隊,使用所述第4線程使所述儲存裝置控制器按照被排隊的所述數(shù)據(jù)讀出請求的順序讀出所述一系列的多個數(shù)據(jù)塊。
4.如權利要求3所述的數(shù)據(jù)處理裝置,其特征在于, 所述處理器每當有一個數(shù)據(jù)塊被寫入時,就通過所述第一線程發(fā)送事件,當在所述第2線程中接收到所述事件時,使用所述第4線程使所述儲存裝置控制器從所述存儲區(qū)域中讀出一個數(shù)據(jù)塊。
5.如權利要求3所述的數(shù)據(jù)處理裝置,其特征在于,所述數(shù)據(jù)處理裝置包括存儲所述一系列的多個數(shù)據(jù)塊的存儲器,所述處理器在所述第3線程中將所述數(shù)據(jù)塊存儲到所述存儲器中, 每當在所述第1線程中將所述數(shù)據(jù)塊的數(shù)據(jù)寫入請求排隊時,就發(fā)送事件, 當向所述儲存裝置的所述數(shù)據(jù)塊的寫入完成時,在所述第3線程中從所述存儲器擦除所述數(shù)據(jù)塊,當順序地執(zhí)行所述被排隊的所述數(shù)據(jù)讀出請求時,如果所述存儲器中存在所述數(shù)據(jù)塊,則在所述第4線程中從所述存儲器讀出該數(shù)據(jù)塊,如果所述存儲器中沒有所述數(shù)據(jù)塊, 則使用所述第4線程使所述儲存裝置控制器從所述存儲裝置中讀出所述數(shù)據(jù)塊。
6.如權利要求3所述的數(shù)據(jù)處理裝置,其特征在于,所述存儲器是所述寫入側處理以及所述讀出側處理的共享存儲器, 在所述寫入側處理中生成的所述數(shù)據(jù)寫入請求與在所述讀出側處理中生成的所述數(shù)據(jù)讀出請求以能夠識別是數(shù)據(jù)讀出還是數(shù)據(jù)寫入的狀態(tài)被登記到同一隊列中, 排他地控制所述隊列,使得同時只能從一個處理訪問該隊列。
7.如權利要求3所述的數(shù)據(jù)處理裝置,其特征在于,所述數(shù)據(jù)處理裝置包括存儲所述一系列的多個數(shù)據(jù)塊的存儲器,所述一系列的多個數(shù)據(jù)塊是構成一個文檔內的任一頁圖像數(shù)據(jù)的多個帶數(shù)據(jù),所述存儲器存儲表示所述文檔內的各頁的頁節(jié)點數(shù)據(jù),所述多個帶數(shù)據(jù)是針對所述文檔內的各頁而設置的鏈接列表,某頁的所述頁節(jié)點數(shù)據(jù)具有向關于該頁的所述多個帶數(shù)據(jù)的起始位置的鏈接。
8.如權利要求7所述的數(shù)據(jù)處理裝置,其特征在于,所述處理器使用所述第3線程在所述頁節(jié)點數(shù)據(jù)中確定所述多個帶數(shù)據(jù)的起始位置, 并追尋所述鏈接列表,使所述儲存裝置控制器寫入所述多個帶數(shù)據(jù)。
9.如權利要求7所述的數(shù)據(jù)處理裝置,其特征在于,所述處理器在向所述存儲器存儲1頁量的所述多個帶數(shù)據(jù)時,確保所述多個帶數(shù)據(jù)的存儲區(qū)域,當該頁的寫入完成時釋放所述存儲區(qū)域,如果所述存儲器的剩余容量不夠,則在釋放了與其它頁相關的所述多個帶數(shù)據(jù)的存儲區(qū)域時確保所述多個帶數(shù)據(jù)的存儲區(qū)域。
10.如權利要求3所述的數(shù)據(jù)處理裝置,其特征在于,所述數(shù)據(jù)處理裝置包括存儲所述一系列的多個數(shù)據(jù)塊的存儲器, 所述處理器在所述第3線程中將所述數(shù)據(jù)塊存儲到所述存儲器中, 在所述第1線程中每當將所述數(shù)據(jù)塊的數(shù)據(jù)寫入請求排隊時發(fā)送事件, 當向所述存儲裝置的所述數(shù)據(jù)塊的寫入完成時,在所述第3線程中從所述存儲器中擦除所述數(shù)據(jù)塊,當順序地執(zhí)行所述被排隊的所述數(shù)據(jù)讀出請求時,如果所述存儲器中存在所述數(shù)據(jù)塊,則在所述第4線程中從所述存儲器讀出該數(shù)據(jù)塊,如果所述存儲器中沒有所述數(shù)據(jù)塊, 則使用所述第4線程使所述儲存裝置控制器從所述儲存裝置讀出所述數(shù)據(jù)塊,在預定定時從隊列中刪除與已從所述存儲器讀出的數(shù)據(jù)塊相關的所述數(shù)據(jù)寫入請求。
11.如權利要求10所述的數(shù)據(jù)處理裝置,其特征在于,當完成了一個文檔的數(shù)據(jù)的讀出時,所述處理器從隊列中刪除與已從所述存儲器讀出的數(shù)據(jù)塊相關的所述數(shù)據(jù)寫入請求。
12.如權利要求1至11中任一項所述的數(shù)據(jù)處理裝置,其特征在于, 所述一系列的多個數(shù)據(jù)塊被寫入到所述儲存裝置的文件中,所述存儲區(qū)域的標識符是所述文件的標識符。
13.如權利要求1至11中任一項所述的數(shù)據(jù)處理裝置,其特征在于, 所述一系列的多個數(shù)據(jù)塊是構成1頁圖像數(shù)據(jù)的多個帶數(shù)據(jù),所述存儲裝置是在針對所述圖像數(shù)據(jù)的圖像處理之前或之后臨時存儲所述圖像數(shù)據(jù)的緩沖器。
14.一種數(shù)據(jù)處理方法,其特征在于, 儲存裝置控制器將構成預定單位的數(shù)據(jù)的一系列的多個數(shù)據(jù)塊寫入到儲存裝置,從所述儲存裝置讀出所述一系列的多個數(shù)據(jù)塊,處理器生成寫入側處理以及讀出側處理,在從所述寫入側處理向所述讀出側處理通知所述儲存裝置中的存儲區(qū)域的標識符之后,使用所述寫入側處理使得所述儲存裝置控制器將所述一系列的多個數(shù)據(jù)塊順序地寫入到所述存儲區(qū)域,當在所述讀出側處理中接收到所述標識符時,使用所述讀出側處理使得所述儲存裝置控制器從與該標識符對應的所述存儲區(qū)域中讀出所述一系列的多個數(shù)據(jù)塊。
全文摘要
本發(fā)明涉及對儲存裝置進行數(shù)據(jù)塊的讀寫的數(shù)據(jù)處理裝置以及數(shù)據(jù)處理方法。數(shù)據(jù)處理裝置包括儲存裝置控制器,其將構成預定單位的數(shù)據(jù)的一系列的多個數(shù)據(jù)塊寫入到儲存裝置,并從儲存裝置讀出一系列的多個數(shù)據(jù)塊;以及處理器,其控制儲存裝置控制器。處理器生成寫入側處理以及讀出側處理,在從寫入側處理向讀出側處理通知儲存裝置中的存儲區(qū)域的標識符之后,使用寫入側處理使得儲存裝置控制器將一系列的多個數(shù)據(jù)塊順序地寫入到存儲區(qū)域,并且當在讀出側處理中接收到標識符時,使用讀出側處理使得儲存裝置控制器從與該標識符對應的存儲區(qū)域中讀出一系列的多個數(shù)據(jù)塊。通過如此構成,能夠減少由于向儲存裝置進行數(shù)據(jù)緩沖而引起的后階段處理的延遲。
文檔編號H04N1/00GK102193882SQ20101061190
公開日2011年9月21日 申請日期2010年12月17日 優(yōu)先權日2010年3月15日
發(fā)明者原博幸 申請人:京瓷美達株式會社