[go: up one dir, main page]

JP2005222469A - Dma transfer control system - Google Patents

Dma transfer control system Download PDF

Info

Publication number
JP2005222469A
JP2005222469A JP2004032155A JP2004032155A JP2005222469A JP 2005222469 A JP2005222469 A JP 2005222469A JP 2004032155 A JP2004032155 A JP 2004032155A JP 2004032155 A JP2004032155 A JP 2004032155A JP 2005222469 A JP2005222469 A JP 2005222469A
Authority
JP
Japan
Prior art keywords
data
storage
received data
range
descriptor information
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.)
Withdrawn
Application number
JP2004032155A
Other languages
Japanese (ja)
Inventor
Junji Suzuki
淳史 鈴木
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
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 Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2004032155A priority Critical patent/JP2005222469A/en
Publication of JP2005222469A publication Critical patent/JP2005222469A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To use a storage part efficiently with a simple structure regarding a DMA transfer control system which is applied to a variety of devices such as a network printer equipped with a data storage part for storing reception data. <P>SOLUTION: When the reception data are of a data size within a first range, the reception data are DMA transferred to and stored in a stored destination address of a small memory capacity read from a first descriptor list 36; when the reception data are of a data size within a second range larger than the data size within the first range, the reception data are DMA transferred to and stored in the stored destination address of a large capacity read from a second descriptor list 38. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、受信データを格納するデータ記憶部を備えたネットワークプリンタなどの各種装置に適用されるDMA転送制御システムに関する。   The present invention relates to a DMA transfer control system applied to various devices such as a network printer having a data storage unit for storing received data.

例えば、ネットワークプリンタは、外部PC(Personal Computer)から送信されてきた受信データである印刷データを記憶部(メモリ)に一時的に格納する一方、印刷動作に対応して印刷データを記憶部から順次読み出し、記録紙に対する印刷動作を実行する。この場合、外部PCから送信されてきた印刷データは、ネットワークプリンタに備わるDMAコントローラによるDMA(Direct Memory Access)転送方式によりデータ記憶部のディスクリプタで指定された格納先アドレスの記憶領域に格納される。   For example, a network printer temporarily stores print data, which is received data transmitted from an external PC (Personal Computer), in a storage unit (memory), while sequentially receiving print data from the storage unit corresponding to a printing operation. Read and execute printing operation on recording paper. In this case, the print data transmitted from the external PC is stored in the storage area of the storage destination address specified by the descriptor of the data storage unit by the DMA (Direct Memory Access) transfer method by the DMA controller provided in the network printer.

このDMA転送方式では、ネットワークプリンタの記憶部は、各記憶領域が受信データの規格範囲内における最大のデータサイズに合わせた同一の記憶容量となるように設定されており、受信データのデータサイズに関係なく予め設定された記憶領域の格納先アドレスを順次指定する。   In this DMA transfer method, the storage unit of the network printer is set so that each storage area has the same storage capacity according to the maximum data size within the standard range of the received data. Regardless of the storage destination address set in advance, the storage address is designated in sequence.

このため、受信データのデータサイズは通常では設定されている最大サイズよりも小さいことから、各記憶領域には必然的に未使用の領域が発生し、データ記憶部を効率的に利用することができないという不都合があった。   For this reason, since the data size of the received data is usually smaller than the set maximum size, an unused area is inevitably generated in each storage area, and the data storage unit can be used efficiently. There was an inconvenience that it was not possible.

このため、受信データのデータサイズ(受信データ長)に応じて記憶部(バッファ)のアドレス長を変化させる方法が提案されている(例えば、特許文献1参照)。これによれば、記憶部を効率的に利用することができないという上記従来の不都合を解決することができる。
特開平5-158865号公報
For this reason, a method has been proposed in which the address length of the storage unit (buffer) is changed in accordance with the data size (reception data length) of the reception data (see, for example, Patent Document 1). According to this, the conventional inconvenience that the storage unit cannot be used efficiently can be solved.
JP-A-5-158865

しかしながら、上記特許文献1において提案されている方法によれば、記憶部を効率的に利用することが可能とはなるが、あらかじめソフトウエアが指定したアドレスを書き換えてしまうことになるため、意図しない記憶領域に変更されてしまう危険性があることや、受信データのデータサイズに応じてアドレスを書き換えるには構成が複雑になるという別の課題が生じる。   However, according to the method proposed in Patent Document 1, it is possible to efficiently use the storage unit, but it is not intended because the address designated by the software is rewritten in advance. There is another risk that there is a risk that the storage area is changed, and that the configuration becomes complicated in order to rewrite the address according to the data size of the received data.

本発明は、このような事情に鑑みてなされたもので、簡単な構成で記憶部を効率的に利用することができるDMA転送制御システムを提供することを目的とする。   The present invention has been made in view of such circumstances, and an object of the present invention is to provide a DMA transfer control system capable of efficiently using a storage unit with a simple configuration.

上記目的を達成するため、請求項1の発明は、外部装置から受信した受信データをデータ記憶部にDMA転送するDMA転送制御システムであって、受信データを格納するデータ記憶部と、このデータ記憶部における第1範囲のデータサイズの受信データの格納先アドレスを指定する第1ディスクリプタ情報及び前記第1範囲のデータサイズよりもデータサイズの大きい第2範囲のデータサイズの受信データの格納先アドレスを指定する第2ディスクリプタ情報を記憶するディスクリプタ情報記憶部と、受信データが第1範囲のデータサイズであるか第2範囲のデータサイズであるかを判別するデータサイズ判別部と、受信データが第1範囲のデータサイズである場合に前記ディスクリプタ情報記憶部の第1ディスクリプタ情報から読み出した第1範囲のデータサイズの格納先アドレスに受信データをDMA転送して格納すると共に、受信データが第2範囲のデータサイズである場合に前記ディスクリプタ情報記憶部の第2ディスクリプタ情報から読み出した第2範囲のデータサイズの格納先アドレスに受信データをDMA転送して格納するDMAコントローラとを備えたことを特徴としている。   In order to achieve the above object, a first aspect of the present invention is a DMA transfer control system that DMA-transfers received data received from an external device to a data storage unit, the data storage unit storing received data, and the data storage The first descriptor information designating the storage destination address of the reception data having the data size in the first range in the section and the storage destination address of the reception data having the data size in the second range having a data size larger than the data size in the first range. A descriptor information storage unit that stores second descriptor information to be designated, a data size determination unit that determines whether the received data has a data size in the first range or a data size in the second range, and the received data is the first When the data size is within the range, read from the first descriptor information in the descriptor information storage unit The received data is DMA-transferred and stored in the storage destination address having the data size in the first range, and the second data read from the second descriptor information in the descriptor information storage unit when the received data has the data size in the second range. And a DMA controller that DMA-transfers and stores received data at a storage destination address having a data size within a range.

また、請求項2の発明は、請求項1に係るものにおいて、前記DMAコントローラが、ディスクリプタ情報格納バッファと、前記ディスクリプタ情報記憶部の第1,第2ディスクリプタ情報から次の受信データの格納先アドレスを読み出すと共に、この読み出した格納先アドレスを前記ディスクリプタ情報格納バッファに格納するアドレス読出部と、前記ディスクリプタ情報格納バッファに格納されている格納先アドレスのうち、受信データが第1範囲のデータサイズである場合に第1ディスクリプタ情報から読み出した格納先アドレスを選択すると共に、受信データが第2範囲のデータサイズである場合に第2ディスクリプタ情報から読み出した格納先アドレスを選択するアドレス選択部と、このアドレス選択部により選択された格納先アドレスに前記受信データをDMA転送して格納するデータ転送部とを備えたものであることを特徴としている。   According to a second aspect of the present invention, in the first aspect of the present invention, the DMA controller includes a descriptor information storage buffer and a storage destination address of the next received data from the first and second descriptor information in the descriptor information storage unit. And the address reading unit that stores the read storage address in the descriptor information storage buffer, and the received data of the storage destination address stored in the descriptor information storage buffer has a data size in the first range. An address selection unit for selecting a storage destination address read from the first descriptor information in some cases, and for selecting a storage destination address read from the second descriptor information when the received data has a data size in the second range; Storage destination address selected by the address selector And a data transfer unit for storing the received data by DMA transfer.

また、請求項3の発明は、請求項1又は2に係るものにおいて、履歴バッファと、受信データが格納された格納先アドレスが第1,第2ディスクリプタ情報のうち何れのディスクリプタ情報から読み出されたものかを特定するための履歴情報を前記履歴バッファに書き込む履歴情報書込部とを備えたことを特徴としている。   According to a third aspect of the present invention, in the first or second aspect, the history buffer and the storage destination address where the received data is stored are read from any descriptor information of the first and second descriptor information. And a history information writing unit for writing history information for specifying whether or not the information is stored in the history buffer.

請求項1の発明によれば、受信データが第1範囲のデータサイズである場合には第1ディスクリプタ情報から読み出した第1範囲のデータサイズの格納先アドレスに受信データがDMA転送されて格納され、受信データが第1範囲のデータサイズよりも大きいデータサイズである第2範囲のデータサイズである場合には第2ディスクリプタ情報から読み出した第2範囲のデータサイズの格納先アドレスに受信データがDMA転送されて格納される。このように、請求項1の発明では、受信データの第1,第2範囲のデータサイズに対応した大きさの格納先アドレスが予め設定されており、受信データをその第1,第2範囲のデータサイズに対応した大きさの格納先アドレスに格納するようにしているため、各格納先アドレスに生じる未使用の領域が削減されることになる結果、簡単な構成で記憶部を効率的に利用することができる。   According to the first aspect of the present invention, when the received data has a data size in the first range, the received data is DMA-transferred and stored in the storage destination address of the data size in the first range read from the first descriptor information. When the received data has a data size in the second range that is larger than the data size in the first range, the received data is DMA-addressed to the storage destination address of the data size in the second range read from the second descriptor information. Transferred and stored. As described above, in the first aspect of the present invention, the storage destination address having a size corresponding to the data size of the first and second ranges of the received data is set in advance, and the received data is stored in the first and second ranges. Since the data is stored at the storage destination address corresponding to the data size, the unused area generated at each storage destination address is reduced. As a result, the storage unit is efficiently used with a simple configuration. can do.

請求項2の発明によれば、第1,第2ディスクリプタ情報から次の受信データの各格納先アドレスが読み出されてディスクリプタ情報格納バッファに格納されており、受信データが第1範囲のデータサイズである場合に第1ディスクリプタ情報から読み出した格納先アドレスが選択されると共に、受信データが第2範囲のデータサイズである場合に第2ディスクリプタ情報から読み出した格納先アドレスが選択され、この選択された格納先アドレスに受信データがDMA転送されて格納される。このように、請求項2の発明では、次の受信データの格納先アドレスを第1,第2ディスクリプタ情報から予め読み出しておき、この読み出しておいた格納先アドレスのうちから受信データの第1,第2範囲のデータサイズに対応した格納先アドレスを選択するようにしているため、受信データを受信した後のDMA転送動作を迅速に実行することができる。   According to the invention of claim 2, each storage destination address of the next received data is read from the first and second descriptor information and stored in the descriptor information storage buffer, and the received data has a data size in the first range. Is selected, the storage destination address read from the first descriptor information is selected, and when the received data has a data size in the second range, the storage destination address read from the second descriptor information is selected. The received data is DMA-transferred and stored at the storage address. Thus, in the invention of claim 2, the storage address of the next received data is read in advance from the first and second descriptor information, and the first, Since the storage destination address corresponding to the data size in the second range is selected, the DMA transfer operation after receiving the received data can be executed quickly.

請求項3の発明によれば、受信データの格納された格納先アドレスが第1,第2ディスクリプタ情報のうち、何れのディスクリプタ情報から読み出されたものかを特定する履歴情報が履歴バッファに書き込まれる。このように、請求項3の発明では、履歴情報が履歴バッファに書き込まれるため、受信データが何れの記憶領域に格納されているかを履歴情報に基づいて容易に確認することができる。   According to the invention of claim 3, history information for specifying which descriptor information is read from among the first and second descriptor information is stored in the history buffer. It is. Thus, in the invention of claim 3, since the history information is written in the history buffer, it is possible to easily confirm in which storage area the received data is stored based on the history information.

図1は、本発明の一実施形態に係るDMA転送制御システムが適用されるネットワークプリンタの制御構成を示すブロック図である。この図において、ネットワークプリンタ10は、イーサネット(Ethernet)(登録商標)12を介して外部PC(Personal Computer)14が接続されたもので、外部PC14から受信したデータ(受信データ)を格納する記憶部(メモリ)16、受信データに対して所定の画像処理を施すことで印刷データを得る画像処理部18、画像処理の施された印刷データを記録紙に対して記録する記録部20、全体の動作を制御する本体制御部を構成するCPU(Central Processing Unit)22、及び、受信データを記憶部16にDMA(Direct Memory Access)転送するイーサネットコントローラ24を備え、各構成部材がバスライン26により接続されて構成されている。   FIG. 1 is a block diagram showing a control configuration of a network printer to which a DMA transfer control system according to an embodiment of the present invention is applied. In this figure, a network printer 10 is connected to an external PC (Personal Computer) 14 via an Ethernet (registered trademark) 12, and stores data (received data) received from the external PC 14. (Memory) 16, image processing unit 18 that obtains print data by performing predetermined image processing on received data, recording unit 20 that records print data subjected to image processing on recording paper, overall operation A CPU (Central Processing Unit) 22 that constitutes a main body control unit that controls the data, and an Ethernet controller 24 that transfers DMA (Direct Memory Access) to the storage unit 16, and each component is connected by a bus line 26. Configured.

記憶部16は、受信データを格納するデータ記憶部28と、データ記憶部28における受信データの格納先アドレスを指定するためのディスクリプタ情報を格納するディスクリプタ情報記憶部30とを設定するための記憶領域を備えたものである。   The storage unit 16 is a storage area for setting a data storage unit 28 for storing received data and a descriptor information storage unit 30 for storing descriptor information for designating a storage address of the received data in the data storage unit 28. It is equipped with.

データ記憶部28は、所定値未満(例えば、128バイト未満)である第1範囲のデータサイズの受信データが格納可能な小さい記憶容量を有する複数の記憶領域を構成する第1記憶領域32と、所定値以上(例えば、128バイト以上)で最大規格値以下である第2範囲のデータサイズの受信データが格納可能な大きい記憶容量を有する複数の記憶領域を構成する第2記憶領域34とを設定するための記憶領域を備えている。   The data storage unit 28 includes a first storage area 32 constituting a plurality of storage areas having a small storage capacity capable of storing received data having a data size in a first range that is less than a predetermined value (for example, less than 128 bytes); A second storage area 34 that configures a plurality of storage areas having a large storage capacity capable of storing received data having a data size in the second range that is greater than or equal to a predetermined value (eg, 128 bytes or more) and less than the maximum standard value is set. A storage area is provided.

ディスクリプタ情報記憶部30は、第1記憶領域32の各格納先アドレスを1つの記憶領域単位で記述したディスクリプタをリスト化した第1ディスクリプタリスト(第1ディスクリプタ情報)36と、第2記憶領域34の各格納先アドレスを1つの記憶領域単位で記述したディスクリプタをリスト化した第2ディスクリプタリスト(第2ディスクリプタ情報)38とを設定するための記憶領域を備えている。   The descriptor information storage unit 30 includes a first descriptor list (first descriptor information) 36 that lists descriptors in which each storage destination address of the first storage area 32 is described in one storage area unit, and a second storage area 34. A storage area is provided for setting a second descriptor list (second descriptor information) 38 in which descriptors describing each storage destination address in one storage area unit are listed.

画像処理部18は、受信データに対してγ変換、色空間変換などの種々の画像処理を施すことで記録紙に印刷するための印刷データを得るものである。記録部20は、例えば、感光体ドラム、現像装置、定着装置などから構成されたものである。   The image processing unit 18 obtains print data for printing on recording paper by performing various image processing such as γ conversion and color space conversion on the received data. The recording unit 20 includes, for example, a photosensitive drum, a developing device, a fixing device, and the like.

イーサネットコントローラ24は、外部PC14から送信されてきたデータ(受信データ)を記憶部16にDMA転送するための制御を行うDMAコントローラ42と、外部PC14からの受信データを一時的に格納する受信データ格納バッファ44と、受信データが格納された格納先アドレスが第1,第2ディスクリプタリスト36,38のうち、何れのディスクリプタリストから読み出されたものか(すなわち、受信データが何れの記憶領域に格納されたか)を特定するための履歴情報を書き込む履歴バッファ46と、受信データ格納バッファ44に格納された受信データのデータサイズが第1範囲のデータサイズであるか、第1範囲のデータサイズよりもデータサイズの大きい第2範囲のデータサイズであるかをデータ量などに基づいて判別するデータサイズ判別部48とを備えている。   The Ethernet controller 24 includes a DMA controller 42 that performs control for DMA transfer of data (received data) transmitted from the external PC 14 to the storage unit 16, and received data storage that temporarily stores received data from the external PC 14. The storage destination address where the buffer 44 and the received data are stored is read from which descriptor list of the first and second descriptor lists 36 and 38 (that is, in which storage area the received data is stored) The history buffer 46 for writing history information for specifying the received data) and the data size of the received data stored in the received data storage buffer 44 is the data size of the first range or smaller than the data size of the first range. Whether the data size is in the second range with a large data size based on the amount of data And a data size judgment section 48 for judging.

DMAコントローラ42は、記憶部16に設定される第1ディスクリプタリスト36から読み出した第1記憶領域32における次の受信データの格納先アドレス、及び、第2ディスクリプタリスト38から読み出した第2記憶領域34における次の受信データの格納先アドレスを格納するディスクリプタ情報格納バッファ54と、第1ディスクリプタリスト36及び第2ディスクリプタリスト38から次の受信データの格納先アドレスを順次読み出すと共に、その読み出した2つの格納先アドレスをディスクリプタ情報格納バッファ54に格納するアドレス読出部56とを備えている。   The DMA controller 42 stores the next received data storage address in the first storage area 32 read from the first descriptor list 36 set in the storage unit 16 and the second storage area 34 read from the second descriptor list 38. Sequentially read out the storage address of the next received data from the descriptor information storage buffer 54 for storing the storage address of the next received data and the first descriptor list 36 and the second descriptor list 38, and read the two storages And an address reading unit 56 for storing the destination address in the descriptor information storage buffer 54.

また、DMAコントローラ42は、ディスクリプタ情報格納バッファ54に格納されている2つの格納先アドレスのうち、受信データの第1,第2範囲のデータサイズに対応した格納先アドレスを選択するアドレス選択部58と、受信データをアドレス選択部58により選択された格納先アドレス(すなわち、データ記憶部28の第1記憶領域32及び第2記憶領域34のうち、受信データのデータサイズに対応する記憶領域)にDMA転送して格納するデータ転送部60と、アドレス選択部58により選択された格納先アドレスが第1ディスクリプタリスト36及び第2ディスクリプタリスト38の何れのディスクリプタリストから読み出されたかを特定するための履歴情報を受信データと対応付けて履歴バッファ46に書き込む履歴情報書込部62とを備えている。   The DMA controller 42 also selects an address selection unit 58 that selects a storage address corresponding to the data size of the first and second ranges of the received data from the two storage addresses stored in the descriptor information storage buffer 54. The received data is stored in the storage destination address selected by the address selector 58 (that is, the storage area corresponding to the data size of the received data in the first storage area 32 and the second storage area 34 of the data storage section 28). A data transfer unit 60 that performs DMA transfer and stores the destination address selected by the address selection unit 58 from which descriptor list of the first descriptor list 36 and the second descriptor list 38 is specified. History information document in which history information is associated with received data and written to the history buffer 46 And an insertion portion 62.

図2は、受信データをデータ記憶部32に格納するにあたって、第1,第2ディスクリプタリスト36,38のうちの何れのディスクリプタリストから格納先アドレスが読み出されたかを履歴バッファ46に書き込む場合の書込み例を示す図である。本実施形態のように、2つのディスクリプタリストを用いている場合では、例えば、「有効ビット“1”+ディスクリプタリスト番号」のように2ビットで履歴を記録することができ、後に続くディスクリプタリストを順次連続して記録するようにすればよい。このように、履歴バッファ46に用いたディスクリプタリスト番号を書き込んでおくことで、受信データが何れの記憶領域に記憶されているかを容易に確認することができる。   FIG. 2 shows a case where, in storing received data in the data storage unit 32, which descriptor list of the first and second descriptor lists 36, 38 is read out is written in the history buffer 46. It is a figure which shows the example of writing. In the case where two descriptor lists are used as in this embodiment, for example, the history can be recorded with 2 bits such as “valid bit“ 1 ”+ descriptor list number”, and the subsequent descriptor list is What is necessary is just to record sequentially. In this way, by writing the descriptor list number used in the history buffer 46, it is possible to easily confirm in which storage area the received data is stored.

図3は、イーサネットコントローラ24の動作を説明するためのフローチャートである。まず、受信許可が与えられて外部PC14から送信されるデータが受信可能な状態になると、アドレス読出部56により第1ディスクリプタリスト36及び第2ディスクリプタリスト38の読み出しが実行される(ステップS1)。これにより、第1ディスクリプタリスト36から次の受信データが第1範囲のデータサイズである場合の格納先アドレスが読み出されると共に、第2ディスクリプタリスト38から次の受信データが第2範囲のデータサイズである場合の格納先アドレスが読み出される。   FIG. 3 is a flowchart for explaining the operation of the Ethernet controller 24. First, when receiving permission is given and the data transmitted from the external PC 14 is ready to be received, the address reading unit 56 reads the first descriptor list 36 and the second descriptor list 38 (step S1). As a result, the storage destination address in the case where the next received data has a data size in the first range is read from the first descriptor list 36, and the next received data has a data size in the second range from the second descriptor list 38. In some cases, the storage address is read.

次いで、読み出された2つの格納先アドレスがアドレス読出部56によりディスクリプタ情報格納バッファ54に転送されて保存される(ステップS3)。その後、外部PC14から送信されてきたデータが受信されると、その受信データが受信データ格納バッファ44に格納される(ステップS5)。   Next, the two read storage destination addresses are transferred and stored in the descriptor information storage buffer 54 by the address reading unit 56 (step S3). Thereafter, when data transmitted from the external PC 14 is received, the received data is stored in the received data storage buffer 44 (step S5).

次いで、受信データ格納バッファ44に格納されている受信データが第1範囲のデータサイズ(例えば、128バイト未満)か否かがデータサイズ判別部48により判別される(ステップS7)。この判別が肯定されると、ディスクリプタ情報格納バッファ54に格納されている2つの格納先アドレスのうち、データ記憶部28の第1記憶領域32を指定する第1ディスクリプタリスト36から読み出した格納先アドレスがアドレス選択部58により選択される(ステップS9)。   Next, the data size determination unit 48 determines whether or not the reception data stored in the reception data storage buffer 44 is in the first range of data size (for example, less than 128 bytes) (step S7). If this determination is affirmative, of the two storage destination addresses stored in the descriptor information storage buffer 54, the storage destination address read from the first descriptor list 36 specifying the first storage area 32 of the data storage unit 28. Is selected by the address selector 58 (step S9).

受信データのデータサイズが第2範囲のデータサイズ(例えば、128バイト以上)であるため、ステップS7での判別が否定されると、ディスクリプタ情報格納バッファ54に格納されている2つの格納先アドレスのうち、データ記憶部28の第2記憶領域34を指定する第2ディスクリプタリスト38から読み出した格納先アドレスがアドレス選択部58により選択される(ステップS11)。   Since the data size of the received data is the second range data size (for example, 128 bytes or more), if the determination in step S7 is negative, the two storage destination addresses stored in the descriptor information storage buffer 54 Among them, the storage destination address read from the second descriptor list 38 designating the second storage area 34 of the data storage unit 28 is selected by the address selection unit 58 (step S11).

なお、格納先アドレスがアドレス選択部58により選択されると、その格納先アドレスはディスクリプタ情報格納バッファ54から消去され、ディスクリプタ情報格納バッファ54には選択されなかった格納先アドレスだけが格納された状態となっている。   When the storage destination address is selected by the address selection unit 58, the storage destination address is erased from the descriptor information storage buffer 54, and only the storage destination address not selected is stored in the descriptor information storage buffer 54. It has become.

次いで、受信データ格納バッファ44に格納されている受信データが、データ転送部60によりアドレス選択部58で選択された格納先アドレスにDMA転送されて格納される(ステップS13)。すなわち、受信データは、データサイズが第1範囲のデータサイズである閾値未満の場合には、データ記憶部28における記憶容量の小さい第1記憶領域32の格納先アドレスにDMA転送されて格納され、データサイズが第2範囲のデータサイズである閾値以上の場合には、データ記憶部28の記憶容量の大きい第2記憶領域34の格納先アドレスにDMA転送されて格納される。   Next, the received data stored in the received data storage buffer 44 is DMA-transferred and stored in the storage destination address selected by the address selection unit 58 by the data transfer unit 60 (step S13). That is, when the data size is less than the threshold value that is the data size of the first range, the received data is DMA-transferred and stored in the storage destination address of the first storage area 32 having a small storage capacity in the data storage unit 28, When the data size is equal to or larger than the threshold value that is the data size of the second range, the data is transferred to the storage destination address of the second storage area 34 having a large storage capacity of the data storage unit 28 and stored.

次いで、データ転送部62による受信データのDMA転送が終了したか否かがDMAコントローラ24で判別され(ステップS15)、この判別が肯定されると受信データが何れの記憶領域に格納されたかを確認可能とするため、第1ディスクリプタリスト36及び第2ディスクリプタリスト38のうち、選択された格納先アドレスが読み出された方のディスクリプタリスト番号が履歴情報として履歴情報書込部62により履歴バッファ46に書き込まれる(ステップS17)。   Next, the DMA controller 24 determines whether or not the DMA transfer of the received data by the data transfer unit 62 is completed (step S15). If this determination is affirmed, it is confirmed in which storage area the received data is stored. In order to enable this, the descriptor list number of the first descriptor list 36 and the second descriptor list 38 from which the selected storage destination address has been read is stored in the history buffer 46 by the history information writing unit 62 as history information. It is written (step S17).

そして、受信データのDMA転送が終了すると、その旨を通知するための割込通知信号がDMAコントローラ24から本体制御部側に送信され(ステップS19)、その後にステップS1に移行して以降の各ステップが繰り返し実行される。ステップS15における判別が否定されたときは、判別が肯定されるまで待機する。   When the DMA transfer of the received data is completed, an interrupt notification signal for notifying the fact is transmitted from the DMA controller 24 to the main body control unit side (step S19). The steps are executed repeatedly. If the determination in step S15 is negative, the process waits until the determination is positive.

なお、ステップS19からステップS1に移行したとき、ディスクリプタ情報格納バッファ54には選択されなかった格納先アドレスが格納された状態となっているため、ステップS9あるいはステップS11で選択されて消去された格納先アドレスが読み出された第1ディスクリプタリスト36あるいは第2ディスクリプタリスト38からのみ次の受信データの格納先アドレスが読み出される。   When the process proceeds from step S19 to step S1, the storage location address that has not been selected is stored in the descriptor information storage buffer 54. Therefore, the storage selected and erased in step S9 or step S11 is stored. The storage address of the next received data is read only from the first descriptor list 36 or the second descriptor list 38 from which the destination address has been read.

本発明は、上記実施形態のように、受信データが第1範囲のデータサイズである場合には第1ディスクリプタリスト36から読み出した第1範囲のデータサイズの記憶領域である格納先アドレスに受信データがDMA転送されて格納され、受信データが第1データサイズよりもデータサイズの大きい第2範囲のデータサイズである場合には第2ディスクリプタリスト38から読み出した第2範囲のデータサイズの記憶領域である格納先アドレスに受信データがDMA転送されて格納される。すなわち、受信データの第1,第2範囲のデータサイズに対応した大きさの格納先アドレスが予め設定されており、受信データをその第1,第2範囲のデータサイズに対応した大きさの格納先アドレスに格納するようにしているため、各格納先アドレスにおける未使用の領域が削減されることになる結果、簡単な構成で記憶部16を効率的に利用することができる。   In the present invention, when the received data has a data size in the first range as in the above embodiment, the received data is stored in the storage destination address that is the storage area of the data size in the first range read from the first descriptor list 36. Is stored after being DMA-transferred, and the received data has a data size in the second range, which is larger than the first data size, in the storage area of the data size in the second range read from the second descriptor list 38. Received data is DMA-transferred and stored at a certain storage destination address. That is, a storage destination address having a size corresponding to the data size in the first and second ranges of the received data is set in advance, and the received data is stored in a size corresponding to the data size in the first and second ranges. Since storage is performed at the destination address, the unused area at each storage destination address is reduced. As a result, the storage unit 16 can be efficiently used with a simple configuration.

また、外部PC14からデータサイズの小さい複数のデータが連続して送信されてくるような場合でも、それに対応した小さい記憶容量の格納先アドレスを必要数だけ設定しておくことで、記憶部16の全体の記憶容量を格別増大させることなく受信可能とすることができる。さらに、受信データのデータサイズに対応するディスクリプタリストを選択するだけで、従来例のように格納先アドレスを書き換える必要がないことから、DMA転送制御システムの構成を簡素化することができる。   Even when a plurality of pieces of data having a small data size are continuously transmitted from the external PC 14, by setting the necessary number of storage destination addresses having a small storage capacity corresponding to the data, the storage unit 16 Receiving can be performed without significantly increasing the overall storage capacity. Furthermore, since it is not necessary to rewrite the storage destination address as in the conventional example only by selecting a descriptor list corresponding to the data size of the received data, the configuration of the DMA transfer control system can be simplified.

なお、本発明は、上記実施形態のものに限定されるものではなく、以下に述べるような種々の変形態様を必要に応じて採用することができる。   In addition, this invention is not limited to the thing of the said embodiment, The various deformation | transformation aspects as described below can be employ | adopted as needed.

(1)上記実施形態では、記憶部16のデータ記憶部28は、第1範囲のデータサイズの受信データに対応する第1記憶領域32及び第1範囲のデータサイズよりもデータサイズの大きい第2範囲のデータサイズの受信データに対応する第2記憶領域34の2種類の記憶容量を有するように設定され、これに対応して第1ディスクリプタリスト36及び第2ディスクリプタリスト38が設定されるようにしているが、これに限るものではない。例えば、受信データのデータサイズを3種類以上の範囲に区分する場合には、その区分数に対応させて3種類以上の記憶容量の記憶領域を有するように設定すると共に、その記憶領域に対応させて3種類以上のディスクリプタリストを設定するようにすればよい。   (1) In the above embodiment, the data storage unit 28 of the storage unit 16 has the first storage area 32 corresponding to the received data having the data size in the first range and the second data size that is larger than the data size in the first range. The second storage area 34 is set to have two types of storage capacities corresponding to the received data of the range data size, and the first descriptor list 36 and the second descriptor list 38 are set correspondingly. However, it is not limited to this. For example, when the data size of the received data is divided into three or more types of ranges, it is set so as to have a storage area of three or more types of storage capacity corresponding to the number of divisions, and corresponding to the storage area. It is sufficient to set three or more types of descriptor lists.

要は、少なくとも、受信データのデータサイズが第1範囲のデータサイズ及び第1範囲のデータサイズよりもデータサイズの大きい第2範囲のデータサイズに区分され、これに対応して第1記憶領域32及び第2記憶領域34の2種類の記憶領域を有するように設定されると共に、この記憶領域に対応させて第1ディスクリプタリスト36及び第2ディスクリプタリスト38が設定されるようになっておればよい。そして、受信データが少なくとも第1範囲のデータサイズであるか第2範囲のデータサイズであるかを判別し、第1範囲のデータサイズである場合は第1ディスクリプタリスト36から格納先アドレスを読み出してDMA転送すると共に、第2範囲のデータサイズである場合は第2ディスクリプタリスト38から格納先アドレスを読み出してDMA転送するようになっておればよい。   In short, at least the data size of the received data is divided into the data size of the first range and the data size of the second range having a data size larger than the data size of the first range, and the first storage area 32 corresponding to this. And the second storage area 34 may be set to have two types of storage areas, and the first descriptor list 36 and the second descriptor list 38 may be set in correspondence with the storage areas. . Then, it is determined whether the received data is at least the data size of the first range or the data size of the second range, and if it is the data size of the first range, the storage destination address is read from the first descriptor list 36 In addition to DMA transfer, if the data size is in the second range, the storage destination address may be read from the second descriptor list 38 and DMA transfer may be performed.

(2)上記実施形態では、本発明に係るDMA転送制御システムをネットワークプリンタに適用した例を示したが、これに限るものではない。例えば、複写機、コンピュータ、デジタル復号機などの種々の装置に適用することができる。要は、受信データを記憶部に対してDMA転送するものであれば適用可能である。したがって、受信データも上記実施形態のような印刷データとするものに限るものではない。   (2) In the above embodiment, an example in which the DMA transfer control system according to the present invention is applied to a network printer has been described. However, the present invention is not limited to this. For example, the present invention can be applied to various apparatuses such as a copying machine, a computer, and a digital decoder. In short, the present invention is applicable as long as the received data is DMA-transferred to the storage unit. Therefore, the received data is not limited to the print data as in the above embodiment.

(3)上記実施形態では、履歴バッファ46をイーサネットコントローラ24に設けるようにしているが、これに限るものではない。例えば、履歴バッファ46を記憶部16に設定し、履歴情報書込部62により履歴情報を書き込むようにしてもよい。また、履歴情報書込部62をDMAコントローラ24の外部に設けることもできる。   (3) Although the history buffer 46 is provided in the Ethernet controller 24 in the above embodiment, the present invention is not limited to this. For example, the history buffer 46 may be set in the storage unit 16 and the history information writing unit 62 may write the history information. Further, the history information writing unit 62 can be provided outside the DMA controller 24.

本発明の一実施形態に係るDMA転送制御システムが適用されるネットワークプリンタの制御構成を示すブロック図である。1 is a block diagram showing a control configuration of a network printer to which a DMA transfer control system according to an embodiment of the present invention is applied. ディスクリプタリストの履歴情報を履歴バッファに書き込む場合の書込み例を示す図である。It is a figure which shows the example of writing in the case of writing the history information of a descriptor list to a history buffer. イーサネットコントローラの動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of an Ethernet controller.

符号の説明Explanation of symbols

10 ネットワークプリンタ
12 イーサネット
14 外部PC(外部装置)
16 記憶部
24 イーサネットコントローラ
28 データ記憶部
30 ディスクリプタ情報記憶部
32 第1記憶領域
34 第2記憶領域
36 第1ディスクリプタリスト(第1ディスクリプタ情報)
38 第2ディスクリプタリスト(第2ディスクリプタ情報)
42 DMAコントローラ
44 受信データ格納バッファ
46 履歴バッファ
48 データサイズ判別部
54 ディスクリプタ情報格納バッファ
56 アドレス読出部
58 アドレス選択部
60 データ転送部
62 履歴情報書込部
10 Network printer 12 Ethernet 14 External PC (external device)
16 storage unit 24 Ethernet controller 28 data storage unit 30 descriptor information storage unit 32 first storage area 34 second storage area 36 first descriptor list (first descriptor information)
38 Second descriptor list (second descriptor information)
42 DMA controller 44 Received data storage buffer 46 History buffer 48 Data size determination unit 54 Descriptor information storage buffer 56 Address reading unit 58 Address selection unit 60 Data transfer unit 62 History information writing unit

Claims (3)

外部装置から受信した受信データをデータ記憶部にDMA転送するDMA転送制御システムであって、受信データを格納するデータ記憶部と、このデータ記憶部における第1範囲のデータサイズの受信データの格納先アドレスを指定する第1ディスクリプタ情報及び前記第1範囲のデータサイズよりもデータサイズの大きい第2範囲のデータサイズの受信データの格納先アドレスを指定する第2ディスクリプタ情報を記憶するディスクリプタ情報記憶部と、受信データが第1範囲のデータサイズであるか第2範囲のデータサイズであるかを判別するデータサイズ判別部と、受信データが第1範囲のデータサイズである場合に前記ディスクリプタ情報記憶部の第1ディスクリプタ情報から読み出した第1範囲のデータサイズの格納先アドレスに受信データをDMA転送して格納すると共に、受信データが第2範囲のデータサイズである場合に前記ディスクリプタ情報記憶部の第2ディスクリプタ情報から読み出した第2範囲のデータサイズの格納先アドレスに受信データをDMA転送して格納するDMAコントローラとを備えたことを特徴とするDMA転送制御システム。   A DMA transfer control system that DMA-transfers received data received from an external device to a data storage unit, the data storage unit storing received data, and a storage location of received data having a data size in the first range in the data storage unit A descriptor information storage unit for storing first descriptor information for designating an address and second descriptor information for designating a storage destination address of received data having a data size in a second range larger than the data size in the first range; A data size determining unit for determining whether the received data has a data size in the first range or a data size in the second range; and when the received data has a data size in the first range, the descriptor information storage unit To the storage destination address of the data size in the first range read from the first descriptor information The received data is DMA-transferred and stored, and when the received data has a data size of the second range, the received data is stored in the storage address of the second range of data size read from the second descriptor information of the descriptor information storage unit. A DMA transfer control system comprising: a DMA controller for storing the data by DMA transfer. 前記DMAコントローラは、ディスクリプタ情報格納バッファと、前記ディスクリプタ情報記憶部の第1,第2ディスクリプタ情報から次の受信データの格納先アドレスを読み出すと共に、この読み出した格納先アドレスを前記ディスクリプタ情報格納バッファに格納するアドレス読出部と、前記ディスクリプタ情報格納バッファに格納されている格納先アドレスのうち、受信データが第1範囲のデータサイズである場合に第1ディスクリプタ情報から読み出した格納先アドレスを選択すると共に、受信データが第2範囲のデータサイズである場合に第2ディスクリプタ情報から読み出した格納先アドレスを選択するアドレス選択部と、このアドレス選択部により選択された格納先アドレスに前記受信データをDMA転送して格納するデータ転送部とを備えたものであることを特徴とする請求項1記載のDMA転送制御システム。   The DMA controller reads the storage destination address of the next received data from the descriptor information storage buffer and the first and second descriptor information in the descriptor information storage unit, and stores the read storage destination address in the descriptor information storage buffer. Among the address reading unit to be stored and the storage destination address stored in the descriptor information storage buffer, the storage destination address read from the first descriptor information is selected when the received data has a data size in the first range. When the received data has a data size in the second range, an address selection unit that selects the storage destination address read from the second descriptor information, and the received data is DMA-transferred to the storage destination address selected by the address selection unit Data storage The DMA transfer control system according to claim 1, further comprising a transmission unit. 履歴バッファと、受信データが格納された格納先アドレスが第1,第2ディスクリプタ情報のうち何れのディスクリプタ情報から読み出されたものかを特定するための履歴情報を前記履歴バッファに書き込む履歴情報書込部とを備えたことを特徴とする請求項1又は2記載のDMA転送制御システム。   A history information document for writing history information to the history buffer and history information for specifying which descriptor information of the first and second descriptor information is stored in the history buffer. The DMA transfer control system according to claim 1, further comprising a loading unit.
JP2004032155A 2004-02-09 2004-02-09 Dma transfer control system Withdrawn JP2005222469A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004032155A JP2005222469A (en) 2004-02-09 2004-02-09 Dma transfer control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004032155A JP2005222469A (en) 2004-02-09 2004-02-09 Dma transfer control system

Publications (1)

Publication Number Publication Date
JP2005222469A true JP2005222469A (en) 2005-08-18

Family

ID=34998025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004032155A Withdrawn JP2005222469A (en) 2004-02-09 2004-02-09 Dma transfer control system

Country Status (1)

Country Link
JP (1) JP2005222469A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022061674A (en) * 2020-10-07 2022-04-19 オムロン株式会社 Memory control device and control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022061674A (en) * 2020-10-07 2022-04-19 オムロン株式会社 Memory control device and control method
JP7615598B2 (en) 2020-10-07 2025-01-17 オムロン株式会社 MEMORY CONTROL DEVICE AND METHOD

Similar Documents

Publication Publication Date Title
US7934044B2 (en) Method for expediting data access of universal serial bus storage device
JP2004157966A (en) End point memory control method and device, usb device, and storage medium
JPWO2010146767A1 (en) Nonvolatile storage device, access device, nonvolatile storage system, and memory controller
JP4995064B2 (en) Image output apparatus and image output method
US8001296B2 (en) USB controller and buffer memory control method
JP2000158724A (en) Image-processing apparatus, image processing method and recording medium
EP2214103A1 (en) I/O controller and descriptor transfer method
JP2006003966A (en) Write method for flash memory
CN102027424B (en) Method for controlling access to regions of a storage comprising a plurality of processes and communication module having a message storage for implementing the method
US7979606B2 (en) Method for storing data
US20120303879A1 (en) Memory Device and Method for Programming Flash Memory Utilizing Spare Blocks
JP2008176606A (en) Memory controller and flash memory system equipped with memory controller and control method of flash memory
JP4536189B2 (en) DMA transfer apparatus and DMA transfer system
JP2005222469A (en) Dma transfer control system
JP2005327334A (en) Image processing apparatus
JP4254932B2 (en) Memory controller and flash memory system
JP2004220575A (en) Interface circuit for card-type memory, ASIC with the circuit, and image forming apparatus with the ASIC
US20050138236A1 (en) Direct memory access control device and method for automatically updating data transmisson size from peripheral
US7330944B2 (en) Method for storing data in a memory, a system, an electronic device and a memory card
CN111045961B (en) Data processing method and memory controller using the same
JP4710274B2 (en) MEMORY DEVICE, MEMORY DEVICE CONTROL METHOD, AND DATA PROCESSING SYSTEM
JP4723334B2 (en) DMA transfer system
JP4743110B2 (en) Data processing device
JP5482302B2 (en) Information processing apparatus and information processing method
JP2008046977A (en) Image processing system and image forming apparatus

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070501