JP2022167527A - Memory access device and memory access method and memory access program - Google Patents

Memory access device and memory access method and memory access program Download PDF

Info

Publication number
JP2022167527A
JP2022167527A JP2021073371A JP2021073371A JP2022167527A JP 2022167527 A JP2022167527 A JP 2022167527A JP 2021073371 A JP2021073371 A JP 2021073371A JP 2021073371 A JP2021073371 A JP 2021073371A JP 2022167527 A JP2022167527 A JP 2022167527A
Authority
JP
Japan
Prior art keywords
data
segment
input data
memory
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021073371A
Other languages
Japanese (ja)
Inventor
賢治 久保
Kenji Kubo
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.)
NEC Space Technologies Ltd
Original Assignee
NEC Space Technologies 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 NEC Space Technologies Ltd filed Critical NEC Space Technologies Ltd
Priority to JP2021073371A priority Critical patent/JP2022167527A/en
Publication of JP2022167527A publication Critical patent/JP2022167527A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System (AREA)

Abstract

To provide a memory access device, a method, and a program that suppress writing of unnecessary data other than input data into a memory in a burst access for the memory.SOLUTION: A memory access device 100 includes: coding means 110 that generates segment data containing a continuous section of a plurality of input data after splitting or linking the plurality of input data inputted from outside in an entry sequence, generates head position data representing the head position of each of the plurality of input data in the segment data, and generates a segment containing the segment data and the head position data; memory control means 120 that writes the generated segment into the memory in one or more segment units along with reading out a segment from the memory in one or more segment units; and decoding means 130 that reconfigures the plurality of input data inputted from outside based on the segment read out from the memory and outputs the reconfigured data to outside.SELECTED DRAWING: Figure 1

Description

本発明は、メモリにおけるデータへアクセス(書き込み及び読み出し)する技術に関する。 The present invention relates to techniques for accessing (writing and reading) data in memory.

メモリへのアクセスを高速化するため、バースト処理によってメモリへアクセス(以降、「バーストアクセス」と称す)することがある。バーストアクセスにおいて一度にメモリへアクセスされるデータ長は、所定長(「セグメント長」と称す)に規定されている。一方、書き込まれるべきデータ(入力データ)のデータ長は、データ毎に異なる。 In order to speed up memory access, memory may be accessed by burst processing (hereinafter referred to as "burst access"). The length of data accessed at one time in burst access is defined as a predetermined length (referred to as "segment length"). On the other hand, the data length of data to be written (input data) differs for each data.

メモリへのアクセスを高速化する技術の一例が、特許文献1に開示されている。特許文献1のメモリアクセス制御回路では、データ処理装置からなされた同期型メモリに対するデータ転送要求が、データ転送量が一度にバースト転送されるデータ量で複数のデータ転送要求に分割される。ここで、分割された各データ転送要求では、一度に転送されるデータが単一のメモリバンク内のデータに限定される。分割されたデータ転送要求は、各メモリバンクに対するデータ転送要求が1つずつ組み合わせられたデータ転送要求に組み立てられて、複数の新たなデータ転送要求として出力される。上記構成の結果、特許文献1のメモリアクセス制御回路では、複数のメモリバンクに格納された連続的なデータに対し、データ処理装置が効率的にアクセスする。 An example of technology for speeding up access to memory is disclosed in Patent Document 1. In the memory access control circuit of Patent Document 1, a data transfer request to a synchronous memory from a data processing device is divided into a plurality of data transfer requests according to the amount of data to be burst-transferred at one time. Here, in each divided data transfer request, data transferred at one time is limited to data in a single memory bank. The divided data transfer requests are assembled into data transfer requests in which data transfer requests for each memory bank are combined one by one, and output as a plurality of new data transfer requests. As a result of the above configuration, in the memory access control circuit of Patent Document 1, the data processor efficiently accesses continuous data stored in a plurality of memory banks.

しかしながら、メモリからのデータの読み出しに特許文献1の技術を利用しても、メモリ上の各セグメントにおける所望のデータが占める比率が低いという問題を解決できない。 However, even if the technique of Patent Document 1 is used to read data from the memory, it is not possible to solve the problem that the proportion of desired data in each segment on the memory is low.

図9は、本発明で参照するバーストアクセス技術を説明する模式図である。本バーストアクセス技術では、図9に示すように、入力データがセグメント長に満たない部分(図9の中段における斜線網掛け部分)もメモリへ書き込まれる。そのため、入力データ以外の無駄なデータが書き込まれるメモリ上の領域が発生し、メモリの利用効率が低下する。又、メモリから読み出されたデータは、入力データ以外の不要なデータを含むため、出力されるデータ(出力データ)は、入力データ以外の不要なデータ(図9の下段における斜線網掛け部分)を含む。 FIG. 9 is a schematic diagram for explaining the burst access technique referred to in the present invention. In this burst access technique, as shown in FIG. 9, the portion where the input data is less than the segment length (the hatched portion in the middle of FIG. 9) is also written to the memory. As a result, there is a memory area in which useless data other than the input data is written, and the efficiency of memory utilization decreases. In addition, since the data read from the memory includes unnecessary data other than the input data, the data to be output (output data) is unnecessary data other than the input data (hatched portion in the lower part of FIG. 9). including.

特開2006-268801号公報JP 2006-268801 A

本発明で参照するバーストアクセス技術において上述したように、入力データのデータ長がバーストアクセスにおけるセグメント長に対して増減する場合、入力データ以外の無駄なデータがメモリに対して書き込み又は読み出しされることがある。その結果、メモリに占める入力データの割合(メモリの利用効率)が低下し、アクセス速度が低下し、出力データに入力データ以外の無駄なデータが含まれる割合が高いという問題があった。 As described above in the burst access technique referred to in the present invention, when the data length of input data increases or decreases with respect to the segment length in burst access, useless data other than input data may be written or read from memory. There is As a result, there is a problem that the proportion of input data in memory (memory utilization efficiency) decreases, the access speed decreases, and the proportion of useless data other than input data included in output data is high.

本発明の目的は、上記の課題に鑑みてなされたもので、メモリに対するバーストアクセスにおいて、入力データ以外の無駄なデータのメモリへの書き込みを抑制することにある。 SUMMARY OF THE INVENTION It is an object of the present invention, which has been made in view of the above problems, to suppress writing of useless data other than input data to a memory during burst access to the memory.

本発明の一態様において、メモリアクセス装置は、外部から入力した複数の入力データを入力順に分割又は連接した後に、複数の入力データの連続した部分を含むセグメントデータを生成し、セグメントデータにおける複数の入力データの各々の先頭位置を表す先頭位置データを生成し、セグメントデータ及び先頭位置データを含むセグメントを生成する符号化手段と、生成されたセグメントを1個以上のセグメント単位でメモリへ書き込むと共に、メモリからセグメントを1個以上のセグメント単位で読み出すメモリ制御手段と、メモリから読み出されたセグメントに基づいて、外部から入力した複数の入力データを再構成し、再構成した外部から入力した複数の入力データを外部へ出力する復号化手段とを含む。 In one aspect of the present invention, a memory access device divides or concatenates a plurality of input data input from the outside in order of input, and then generates segment data including continuous portions of the plurality of input data, and divides the segment data into segment data. Encoding means for generating head position data representing the head position of each piece of input data, generating a segment containing the segment data and the head position data, and writing the generated segment to a memory in units of one or more segments, memory control means for reading out segments from the memory in units of one or more segments; reconfiguring a plurality of externally input data based on the segments read out from the memory; and decoding means for outputting the input data to the outside.

本発明の一態様において、メモリアクセス方法は、外部から入力した複数の入力データを入力順に分割又は連接した後に、複数の入力データの連続した部分を含むセグメントデータを生成し、セグメントデータにおける複数の入力データの各々の先頭位置を表す先頭位置データを生成し、セグメントデータ及び先頭位置データを含むセグメントを生成する符号化処理と、生成されたセグメントを1個以上のセグメント単位でメモリへ書き込むと共に、メモリからセグメントを1個以上のセグメント単位で読み出すメモリ制御処理と、メモリから読み出されたセグメントに基づいて、外部から入力した複数の入力データを再構成し、再構成した外部から入力した複数の入力データを外部へ出力する復号化処理とを行う。 In one aspect of the present invention, a memory access method divides or concatenates a plurality of input data input from the outside in order of input, and then generates segment data including continuous portions of the plurality of input data, Encoding processing for generating head position data representing the head position of each piece of input data, generating segments containing segment data and head position data, and writing the generated segments to memory in units of one or more segments, A memory control process for reading segments from the memory in units of one or more segments, a plurality of input data input from the outside are reconfigured based on the segments read from the memory, and a plurality of reconfigured external input data and a decoding process for outputting the input data to the outside.

本発明の一態様において、メモリアクセスプログラムは、外部から入力した複数の入力データを入力順に分割又は連接した後に、複数の入力データの連続した部分を含むセグメントデータを生成し、セグメントデータにおける複数の入力データの各々の先頭位置を表す先頭位置データを生成し、セグメントデータ及び先頭位置データを含むセグメントを生成する符号化処理と、生成されたセグメントを1個以上のセグメント単位でメモリへ書き込むと共に、メモリからセグメントを1個以上のセグメント単位で読み出すメモリ制御処理と、メモリから読み出されたセグメントに基づいて、外部から入力した複数の入力データを再構成し、再構成した外部から入力した複数の入力データを外部へ出力する復号化処理とをコンピュータに実行させる。 In one aspect of the present invention, a memory access program divides or concatenates a plurality of input data input from the outside in order of input, generates segment data containing continuous portions of the plurality of input data, Encoding processing for generating head position data representing the head position of each piece of input data, generating segments containing segment data and head position data, and writing the generated segments to memory in units of one or more segments, A memory control process for reading segments from the memory in units of one or more segments, a plurality of input data input from the outside are reconfigured based on the segments read from the memory, and a plurality of reconfigured external input data It causes the computer to execute decoding processing for outputting the input data to the outside.

本発明によれば、メモリに対するバーストアクセスにおいて、入力データ以外の無駄なデータのメモリへの書き込みを抑制することができるという効果がある。 According to the present invention, it is possible to suppress writing of useless data other than input data to the memory in burst access to the memory.

本発明の第1実施形態におけるメモリアクセス装置の構成の一例を示すブロック図である。1 is a block diagram showing an example of configuration of a memory access device according to a first embodiment of the present invention; FIG. 本発明の第1実施形態におけるセグメント構造の一例を示す図である。It is a figure which shows an example of the segment structure in 1st Embodiment of this invention. 本発明の第1実施形態におけるメモリアクセス装置の動作を説明する模式図である。FIG. 4 is a schematic diagram for explaining the operation of the memory access device according to the first embodiment of the present invention; 本発明の第2実施形態におけるメモリアクセス装置の構成の一例を示すブロック図である。It is a block diagram showing an example of the configuration of a memory access device according to a second embodiment of the present invention. 本発明の第2実施形態におけるセグメント構造の一例を示す図である。It is a figure which shows an example of the segment structure in 2nd Embodiment of this invention. 本発明の第2実施形態におけるメモリアクセス装置の動作を説明する模式図である。FIG. 10 is a schematic diagram for explaining the operation of the memory access device according to the second embodiment of the present invention; 本発明の第2実施形態の変形例におけるメモリアクセス装置の動作を説明する模式図である。FIG. 11 is a schematic diagram for explaining the operation of the memory access device in the modified example of the second embodiment of the present invention; 本発明の各実施形態におけるメモリアクセス装置を実現可能なハードウェア構成の一例を示すブロック図である。1 is a block diagram showing an example of a hardware configuration that can implement a memory access device according to each embodiment of the present invention; FIG. 本発明で参照するバーストアクセス技術を説明する模式図である。FIG. 3 is a schematic diagram for explaining a burst access technique referred to in the present invention;

以下、本発明の実施形態について、図面を参照して詳細に説明する。なお、すべての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
(第1実施形態)
本発明の各実施形態の基本である、本発明の第1実施形態について説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In addition, in all the drawings, the same reference numerals are given to the same constituent elements, and the description thereof will be omitted as appropriate.
(First embodiment)
A first embodiment of the present invention, which is the basis of each embodiment of the present invention, will be described.

本実施形態における構成について説明する。 A configuration in this embodiment will be described.

図1は、本発明の第1実施形態におけるメモリアクセス装置の構成の一例を示すブロック図である。図1に示すように、本実施形態のメモリアクセス装置100は、符号化部110と、メモリ制御部120と、復号化部130とを含む。 FIG. 1 is a block diagram showing an example configuration of a memory access device according to the first embodiment of the present invention. As shown in FIG. 1, the memory access device 100 of this embodiment includes an encoding section 110, a memory control section 120, and a decoding section .

符号化部110は、外部から入力した複数の入力データを入力順に分割又は連接して、セグメントを生成する。ここで、セグメントは、セグメントデータ及び先頭位置データを含む。セグメントデータは、入力順に分割又は連接された後の複数の入力データのうちで連続した部分を含む。先頭位置データは、複数の入力データのうちの各入力データの先頭位置を表すデータであって、各入力データの先頭位置についてセグメントデータ内での位置を表すデータである。 The encoding unit 110 divides or concatenates a plurality of pieces of input data input from the outside in order of input to generate segments. Here, the segment includes segment data and head position data. Segment data includes a continuous portion of a plurality of pieces of input data after being divided or concatenated in order of input. The head position data is data representing the head position of each piece of input data among a plurality of pieces of input data, and is data representing the position of the head position of each piece of input data within the segment data.

メモリ制御部120は、生成されたセグメントを1個以上のセグメント単位でメモリ200へ書き込むと共に、メモリ200からセグメントを1個以上のセグメント単位で読み出す。メモリ200は、バーストアクセス時に、1個以上のセグメント単位でデータの書き込み及び読み出しを行う。 The memory control unit 120 writes the generated segments to the memory 200 in units of one or more segments, and reads the segments from the memory 200 in units of one or more segments. The memory 200 writes and reads data in units of one or more segments during burst access.

復号化部130は、メモリ200から読み出されたセグメントに基づいて、外部から入力した複数の入力データを再構成し、再構成した外部から入力した複数の入力データを外部へ出力する。ここで、入力データを再構成するとは、メモリ200から読み出されたセグメントに基づいて、外部から入力された複数の入力データのそれぞれを分離して外部へ出力することである。 The decoding unit 130 reconstructs a plurality of input data input from the outside based on the segments read from the memory 200, and outputs the reconstructed plurality of input data input from the outside to the outside. Here, to reconstruct the input data means to separate each of the plurality of input data input from the outside based on the segments read from the memory 200 and output them to the outside.

図2は、本発明の第1実施形態におけるセグメントの構成の一例を示す図である。セグメントは、セグメントヘッダー部とセグメントデータ部とを含む。 FIG. 2 is a diagram showing an example of segment configuration in the first embodiment of the present invention. A segment includes a segment header portion and a segment data portion.

セグメントデータ部は、固定長(例えば、(セグメント長-2n)オクテット;「セグメントデータ長」と称す)となるように設定されており、セグメントデータを格納する。セグメントデータは、1個以上の入力データの全体又は部分を、入力された順に一定のセグメントデータ長に分割又は連接(結合)したものである。入力データ、又は入力データがセグメントデータに分割された際に残った入力データ(「先行入力データ」と称す)がセグメントデータ長に満たない場合には、先行入力データに次の入力データ(「後続入力データ」と称す)を連接してセグメントデータにされる。そのため、セグメントは、セグメントデータ内に複数の入力データの全体又は部分を含むことが可能である。 The segment data part is set to have a fixed length (for example, (segment length-2n) octets; referred to as "segment data length") and stores segment data. Segment data is obtained by dividing or concatenating (combining) all or part of one or more pieces of input data into fixed segment data lengths in the order of input. If the input data or the input data remaining after the input data is divided into segment data (referred to as "preceding input data") is less than the segment data length, the preceding input data is replaced with the next input data ("subsequent data"). input data”) are concatenated into segment data. As such, a segment may include all or part of multiple input data within the segment data.

本実施形態では、入力データ長の下限値がセグメントデータ長のn(nは2以上の整数)分の1以上であるように、入力データ及びセグメントの規格が定められていることとする(本制限がない変形例については、第2実施形態において後述する)。そのため、本実施形態では、1個のセグメントは、最大n個の入力データの全体、又は最大n+1個の入力データの部分を含み得る。即ち、セグメントデータ部は、1個以上のn+1個以下の入力データの全体又は部分を含み得る。 In this embodiment, the input data and segment standards are defined so that the lower limit of the input data length is 1/n (n is an integer of 2 or more) of the segment data length or more (this A non-restrictive variant will be described later in the second embodiment). Thus, in this embodiment, one segment may contain up to n entire pieces of input data or up to n+1 pieces of input data. That is, the segment data portion can include all or part of one or more and n+1 or less input data.

セグメントヘッダー部は、固定長(例えば、2nオクテット;「セグメントヘッダー長」と称す)を有し、セグメントヘッダーを格納する。セグメントヘッダーは、n個の先頭位置データを含む。i(iは1≦i≦nを満たす整数)番目の先頭位置データ(図2ではHPiで示す)は、セグメントデータ部に格納された各入力データの先頭位置のうち、i番目の先頭位置を保持するデータである。先頭位置は、セグメントデータ部における位置を表す。以下では、先頭位置がセグメントデータ部の最初のオクテットからの距離(オクテット数)で表現される場合を例に説明するが、本実施形態における先頭位置の表現はこれに限られない。 The segment header part has a fixed length (for example, 2n octets; called "segment header length") and stores the segment header. A segment header contains n head position data. The i-th head position data (indicated by HPi in FIG. 2) (where i is an integer that satisfies 1≦i≦n) indicates the i-th head position among the head positions of each input data stored in the segment data section. This is the data to hold. The start position represents the position in the segment data portion. In the following, a case where the start position is represented by the distance (the number of octets) from the first octet of the segment data portion will be described as an example, but the representation of the start position in this embodiment is not limited to this.

本実施形態における動作について説明する。 Operations in this embodiment will be described.

図3は、本発明の第1実施形態におけるメモリアクセス装置の動作を説明する模式図である。図3では、nが3である場合を例に説明する(nが2の場合の動作については、第2実施形態を参照)。図3では、“A”、“B”、“C”、“D”、及び“E”は各入力データを表し、添字付きの英字は英字で示される各入力データが分割された分割データを表し、“EOF”は入力データの終わりを示す信号を表し、“*”は任意のパディングデータを表すこととする。又、図3では、値“0”、“X”、“Y”、“Z”、“W”、及び“V”は、セグメントデータ部における位置を表し、無効値“-”は無効な位置(位置が指定されていないこと)を表し、特殊値“/”は入力データの終わりを表すこととする。ここで、無効値及び特殊値はそれぞれ、先頭位置データの値として通常使われない所定の値で、例えば、0xffff(16進数表記)、0xfffe(16進数表記)である。図3に示すように、符号化部110は、セグメントデータ部において、入力データのi番目の先頭位置が含まれる場合に、i番目の先頭位置をi番目の先頭位置データに保持する。 FIG. 3 is a schematic diagram explaining the operation of the memory access device according to the first embodiment of the present invention. In FIG. 3, the case where n is 3 will be described as an example (see the second embodiment for the operation when n is 2). In FIG. 3, "A", "B", "C", "D", and "E" represent each input data, and subscripted alphabetic characters represent divided data obtained by dividing each input data indicated by alphabetic characters. where "EOF" represents a signal indicating the end of input data, and "*" represents arbitrary padding data. Also in FIG. 3, the values "0", "X", "Y", "Z", "W", and "V" represent positions in the segment data portion, and the invalid value "-" represents an invalid position. (no position specified), and the special value "/" indicates the end of the input data. Here, the invalid value and the special value are predetermined values that are not normally used as the value of the head position data, such as 0xffff (hexadecimal notation) and 0xfffe (hexadecimal notation). As shown in FIG. 3, the encoding unit 110 holds the i-th head position in the i-th head position data when the i-th head position of the input data is included in the segment data portion.

例えば、まず、セグメントデータ部より入力データAが長いので、符号化部110は、セグメントデータ部に分割データA1を保持させる(図3の左から1番目のセグメント)。そして、符号化部110は、セグメントデータ部における入力データAの1番目の先頭位置0を1番目の先頭位置データに保持させる。符号化部110は、他の先頭位置データには無効値を保持させる。 For example, first, since the input data A is longer than the segment data portion, the encoding unit 110 causes the segment data portion to hold the divided data A1 (the first segment from the left in FIG. 3). Then, the encoding unit 110 causes the first head position data to hold the first head position 0 of the input data A in the segment data portion. The encoding unit 110 holds invalid values in the other head position data.

次に、符号化部110は、入力データAを分割途中のセグメントにおいて、セグメントデータ部に分割データA2を保持させる(図3の左から2番目のセグメント)。そして、セグメントデータ部に入力データの先頭が含まれないので、符号化部110は、全ての先頭位置データには無効値を保持させる。 Next, the encoding unit 110 causes the segment data portion to hold the divided data A2 in the segment in which the input data A is being divided (the second segment from the left in FIG. 3). Since the segment data part does not include the beginning of the input data, the encoding unit 110 causes all the beginning position data to hold an invalid value.

続いて、残っている入力データA(A3)がセグメントデータ部よりも短いので、符号化部110は、セグメントデータ部に分割データA3を保持させる(図3の左から3番目のセグメント)。そして、符号化部110は、後続入力データBを待ち、先行入力データA3に後続入力データBの分割データB1を連接してセグメントデータ部に格納する。ここで、符号化部110は、セグメントデータ部における、入力データBの1番目の先頭位置Xを1番目の先頭位置データに保持させ、他の先頭位置データには無効値を保持させる。 Subsequently, since the remaining input data A (A3) is shorter than the segment data portion, the encoding section 110 causes the segment data portion to hold the divided data A3 (the third segment from the left in FIG. 3). Then, the encoding unit 110 waits for the subsequent input data B, concatenates the divided data B1 of the subsequent input data B to the preceding input data A3, and stores them in the segment data portion. Here, the encoding unit 110 causes the first starting position data of the input data B to hold the first starting position X in the segment data part, and causes the other starting position data to hold an invalid value.

続いて、残っている入力データB(B2)がセグメントデータ部よりも短いので、符号化部110は、セグメントデータ部に分割データB2を保持させる(図3の左から4番目のセグメント)。そして、符号化部110は、後続入力データC、D、及びEを待ち、先行入力データBの分割データB2に後続入力データC及びD、並びに、後続入力データEの分割データE1を連接してセグメントデータ部に格納する。ここで、符号化部110は、セグメントデータ部において、入力データCの1番目の先頭位置Yを1番目の先頭位置データに保持させ、入力データDの2番目の先頭位置Zを2番目の先頭位置データに保持させ、入力データEの3番目の先頭位置Wを3番目の先頭位置データに保持させる。 Subsequently, since the remaining input data B (B2) is shorter than the segment data portion, the encoding section 110 causes the segment data portion to hold the divided data B2 (the fourth segment from the left in FIG. 3). Then, the encoding unit 110 waits for the subsequent input data C, D, and E, and concatenates the subsequent input data C and D and the divided data E1 of the subsequent input data E to the divided data B2 of the preceding input data B. Stored in the segment data part. Here, in the segment data portion, the encoding unit 110 causes the first leading position Y of the input data C to be held in the first leading position data, and the second leading position Z of the input data D to be held in the second leading position data. Position data holds the third leading position W of the input data E in the third leading position data.

続いて、残っている入力データE(E2)がセグメントデータ部よりも短いので、符号化部110は、セグメントデータ部に分割データE2を保持させる(図3の左から5番目のセグメント)。そして、符号化部110は、入力データの終わりを待ち、先行入力データEの分割データE2にパディングデータ“*”を連接してセグメントデータ部に格納する。ここで、符号化部110は、セグメントデータ部において、“EOF”の最初の先頭位置Vを1番目の先頭位置データに保持させ、位置Vが入力データの終わりであることを示す特殊値“/”を2番目の先頭位置データに保持させ、処理を終了する。 Subsequently, since the remaining input data E (E2) is shorter than the segment data portion, the encoding section 110 causes the segment data portion to hold the divided data E2 (the fifth segment from the left in FIG. 3). Then, the encoding unit 110 waits for the end of the input data, connects the padding data “*” to the divided data E2 of the preceding input data E, and stores them in the segment data section. Here, the encoding unit 110 causes the first head position V of "EOF" to be held in the first head position data in the segment data part, and a special value "/" indicating that the position V is the end of the input data. ” is held in the second start position data, and the process ends.

このように、符号化部110は、入力データを分割又は連接してセグメントを生成し、生成したセグメントをメモリ制御部120へ出力する。 In this way, the encoding unit 110 divides or concatenates input data to generate segments, and outputs the generated segments to the memory control unit 120 .

メモリ制御部120は、符号化部110から入力したセグメントを1個以上のセグメント単位でメモリ200へ順次書き込む。 The memory control unit 120 sequentially writes the segments input from the encoding unit 110 to the memory 200 in units of one or more segments.

メモリ制御部120は、メモリ200から1個以上のセグメント単位でセグメントを順次読み出し、読み出したセグメントを復号化部130へ出力する。 The memory control unit 120 sequentially reads segments in units of one or more segments from the memory 200 and outputs the read segments to the decoding unit 130 .

復号化部130は、メモリ制御部120を介して、メモリ200に書き込まれたセグメントを読み出す。そして、復号化部130は、読み出したセグメントの先頭位置データに基づいて、入力データを再構成し、再構成した入力データを出力データとして外部へ出力する。ここで、1個のセグメントは、最大n個の入力データの全体、又は最大n+1個の入力データの部分を含み得る。即ち、1個のセグメントは、最大n個の入力データの先頭位置を含み得る。各セグメントの先頭位置データはそれぞれ、そのセグメントにおける入力データのi番目の先頭位置を保持している。つまり、全ての入力データの先頭位置は、何れかのセグメントの、何れかの先頭位置データによって保持されている。従って、復号化部130は、読み出したセグメントの先頭位置データに基づいて、入力データを再構成することができる。 The decoding unit 130 reads the segment written in the memory 200 via the memory control unit 120 . Then, the decoding unit 130 reconstructs the input data based on the read segment start position data, and outputs the reconstructed input data to the outside as output data. Here, one segment can include up to n entire pieces of input data or up to n+1 pieces of input data. That is, one segment can include the leading positions of up to n pieces of input data. The start position data of each segment holds the i-th start position of the input data in that segment. That is, the start position of all input data is held by some start position data of any segment. Therefore, the decoding unit 130 can reconstruct the input data based on the read segment head position data.

復号化部130は、ある入力データの再構成に必要な、後続入力データの先頭位置がある時点で未取得であっても、更に後続セグメントを読み込むことによって、後続入力データの先頭位置を示す先頭位置データを取得できる。 Even if the head position of the subsequent input data necessary for reconstructing certain input data has not been acquired at a certain time, the decoding unit 130 reads the subsequent segment to read the head position indicating the head position of the subsequent input data. Can get location data.

復号化部130は、再構成が完了した入力データを出力データとして順次外部へ出力する。
The decoding unit 130 sequentially outputs the reconstructed input data to the outside as output data.

例えば、まず、復号化部130は、第1のセグメントを入力する(図3の左から1番目のセグメント)。第1のセグメントは、1番目の先頭位置データに値“0”を保持し、2及び3番目の先頭位置データに無効値を保持している。このため、復号化部130は、第1のセグメントに1番目の入力データAの分割データA1が先頭から格納されていると判断する。 For example, first, the decoding unit 130 inputs the first segment (the first segment from the left in FIG. 3). The first segment holds the value "0" in the first head position data, and holds invalid values in the second and third head position data. Therefore, the decoding unit 130 determines that the divided data A1 of the first input data A is stored in the first segment from the beginning.

次に、復号化部130は、第2のセグメントを入力する(図3の左から2番目のセグメント)。第2のセグメントは全ての先頭位置データに無効値を保持している。このため、復号化部130は、第2のセグメントに1番目の入力データAの分割データA2が継続して格納されていると判断する。 Next, decoding section 130 inputs a second segment (the second segment from the left in FIG. 3). The second segment holds invalid values for all leading position data. Therefore, the decoding unit 130 determines that the divided data A2 of the first input data A is continuously stored in the second segment.

続いて、復号化部130は、第3のセグメントを入力する(図3の左から3番目のセグメント)。第3のセグメントは、1番目の先頭位置データに値“X”を保持し、2及び3番目の先頭位置データに無効値を保持している。このため、復号化部130は、第3のセグメントの位置“X”の直前までに、1番目の入力データAの分割データA3が格納されていると判断する。そして、復号化部130は、第3のセグメントの位置“X”以降に2番目の入力データBの分割データB1が格納されていると判断する。復号化部130は、入力データAを再構成できたので、再構成した入力データAを出力データとして外部へ出力する。 Subsequently, decoding section 130 inputs the third segment (the third segment from the left in FIG. 3). The third segment holds the value "X" in the first head position data and invalid values in the second and third head position data. Therefore, the decoding unit 130 determines that the divided data A3 of the first input data A is stored immediately before the position "X" of the third segment. Then, the decoding unit 130 determines that the divided data B1 of the second input data B is stored after the position "X" of the third segment. Since the input data A has been reconstructed, the decoding unit 130 outputs the reconstructed input data A to the outside as output data.

続いて、復号化部130は、第4のセグメントを入力する(図3の左から4番目のセグメント)。第4のセグメントは、1番目の先頭位置データに値“Y”を保持しており、2番目の先頭位置データに値“Z”を保持しており、3番目の先頭位置データに値“W”を保持している。このため、復号化部130は、第4のセグメントの、位置“Y”の直前までに2番目の入力データBの分割データB2が格納されており、位置“Y”から位置“Z”の直前までに3番目の入力データCが格納されており、位置“Z”から位置“W”の直前までに4番目の入力データDが格納されていると判断する。そして、復号化部130は、第4のセグメントの位置“W”以降に5番目の入力データEの分割データE1が格納されていると判断する。復号化部130は、入力データB、C、及びDを再構成できたので、再構成した入力データB、C、及びDを出力データとして外部へ出力する。 Subsequently, decoding section 130 inputs the fourth segment (the fourth segment from the left in FIG. 3). The fourth segment holds the value "Y" in the first head position data, the value "Z" in the second head position data, and the value "W" in the third head position data. ” is held. Therefore, the decoding unit 130 stores the divided data B2 of the second input data B immediately before the position "Y" in the fourth segment, and decodes the data from the position "Y" to the position "Z" immediately before the position "Z". It is determined that the third input data C is stored up to and the fourth input data D is stored from the position "Z" to just before the position "W". Then, the decoding unit 130 determines that the divided data E1 of the fifth input data E is stored after the position "W" of the fourth segment. Since the input data B, C, and D have been reconstructed, the decoding unit 130 outputs the reconstructed input data B, C, and D to the outside as output data.

続いて、復号化部130は、第5のセグメントを入力する(図3の左から5番目のセグメント)。第5のセグメントは、1番目の先頭位置データに値“V”を保持しており、2番目の先頭位置データに特殊値“/”を保持している。このため、復号化部130は、第5のセグメントの位置“V”の直前までに5番目の入力データEの分割データE2が格納されていると判断する。そして、復号化部130は、第5のセグメントの位置“V”が入力データの終わりであると判断する。復号化部130は、入力データEを再構成できたので、再構成した入力データEを出力データとして外部へ出力して、処理を終了する。 Subsequently, decoding section 130 inputs the fifth segment (the fifth segment from the left in FIG. 3). The fifth segment holds the value "V" in the first head position data and the special value "/" in the second head position data. Therefore, the decoding unit 130 determines that the divided data E2 of the fifth input data E is stored immediately before the position "V" of the fifth segment. Then, the decoding unit 130 determines that the position "V" of the fifth segment is the end of the input data. Since the input data E has been reconstructed, the decoding unit 130 outputs the reconstructed input data E to the outside as output data, and terminates the process.

このように、復号化部130は、メモリ制御部120を介して、メモリ200に書き込まれたセグメントを読み出し、読み出したセグメントの先頭位置データに基づいて入力データを再構成し、再構成した入力データを出力データとして外部へ出力する。 In this way, the decoding unit 130 reads out the segment written in the memory 200 via the memory control unit 120, reconstructs the input data based on the head position data of the read segment, and reconstructs the input data. is output to the outside as output data.

以上、本実施形態における動作について、nが3である場合を例に説明した。しかしながら、本実施形態におけるnは3に限定されず、nが2又はnが4以上であってもよいことは明らかである。 As described above, the operation in the present embodiment has been described by taking the case where n is 3 as an example. However, n in this embodiment is not limited to 3, and it is clear that n may be 2 or n may be 4 or more.

以上説明したように、本実施形態では、セグメントはセグメントヘッダー部とセグメントデータ部とを含む。そして、入力データ長の下限値がセグメントデータ長のn分の1以上であるように、入力データ及びセグメントの規格が定められている。そのため、セグメントデータ部は、1個以上のn+1個以下の入力データの全体又は部分を含み得る。セグメントヘッダー部は、n個の先頭位置データを含む。i番目の先頭位置データは、セグメントデータ部に格納された各入力データの先頭位置のうち、i番目の先頭位置を保持する。本実施形態のメモリアクセス装置100は、符号化部110と、メモリ制御部120と、復号化部130とを含む。符号化部110は、入力データを分割又は連接してセグメントを生成し、生成したセグメントをメモリ制御部120へ出力する。メモリ制御部120は、符号化部110から入力したセグメントを1個以上のセグメント単位でメモリ200へ書き込む。メモリ制御部120は、メモリ200からデータを1個以上のセグメント単位で読み出し、読み出したセグメントを復号化部130へ出力する。復号化部130は、メモリ制御部120からセグメントを入力し、入力したセグメントの先頭位置データに基づいて、入力データを再構成し、再構成した入力データを出力データとして外部へ出力する。ここで、各セグメントのi番目の先頭位置データはそれぞれ、そのセグメントにおける入力データのi番目の先頭位置を保持している。即ち、全ての入力データの先頭位置は、何れかのセグメントの、何れかの先頭位置データによって保持されている。つまり、復号化部130は、読み出したセグメントの先頭位置データに基づいて、入力データを再構成することができる。 As described above, in this embodiment, a segment includes a segment header portion and a segment data portion. The input data and segment standards are defined so that the lower limit of the input data length is 1/n or more of the segment data length. Therefore, the segment data part can include all or part of one or more and n+1 or less input data. The segment header portion includes n head position data. The i-th start position data holds the i-th start position among the start positions of each input data stored in the segment data portion. The memory access device 100 of this embodiment includes an encoding section 110, a memory control section 120, and a decoding section . The encoding unit 110 divides or concatenates input data to generate segments, and outputs the generated segments to the memory control unit 120 . The memory control unit 120 writes the segments input from the encoding unit 110 to the memory 200 in units of one or more segments. The memory control unit 120 reads data from the memory 200 in units of one or more segments, and outputs the read segments to the decoding unit 130 . Decoding section 130 receives a segment from memory control section 120, reconstructs the input data based on the start position data of the input segment, and outputs the reconstructed input data to the outside as output data. Here, the i-th start position data of each segment holds the i-th start position of the input data in that segment. That is, the start positions of all input data are held by any start position data of any segment. In other words, the decoding unit 130 can reconstruct the input data based on the read segment head position data.

従って、本実施形態のメモリアクセス装置100には、メモリに対するバーストアクセスにおいて、入力データ以外の無駄なデータのメモリへの書き込みを抑制することができるという効果がある。 Therefore, the memory access device 100 of the present embodiment has the effect of being able to suppress writing of useless data other than input data to the memory during burst access to the memory.

その結果、本実施形態のメモリアクセス装置100では、メモリの利用効率が向上し、アクセス速度が向上し、出力データに入力データ以外の無駄なデータが含まれる割合が低下する。 As a result, in the memory access device 100 of this embodiment, the memory utilization efficiency is improved, the access speed is improved, and the ratio of output data containing useless data other than input data is reduced.

尚、上述の説明では、各入力データのデータ長の下限値が、セグメントデータのデータ長のn分の1以上であるように、入力データ及びセグメントの規格が定められている場合について説明した。しかしながら、本実施形態では、入力データ長の下限値とセグメントデータ長との関係は特に定められていなくてもよい。あるいは、本実施形態では、各入力データのデータ長の下限値が、セグメントデータのデータ長のn分の1以上であるが、セグメントはnより小さい個数の先頭位置データを含んでもよい。そして、これらの場合には、入力データがコンテンツデータ(各入力データが含むコンテンツ)とコンテンツデータ長(コンテンツデータのデータ長)とを含む。本実施形態のこのような変形例については、第2実施形態において後述する。
(第2実施形態)
本発明の第1実施形態を基本とする、本発明の第2実施形態について説明する。本実施形態では、入力データ長の下限値がセグメントデータ長の2分の1以上であるように、入力データ及びセグメントの規格が定められている。
In the above description, the case where the input data and segment standards are defined such that the lower limit of the data length of each input data is 1/n or more of the data length of the segment data. However, in this embodiment, the relationship between the lower limit value of the input data length and the segment data length may not be defined. Alternatively, in the present embodiment, the lower limit of the data length of each input data is 1/n or more of the data length of the segment data, but the segment may include head position data less than n in number. In these cases, input data includes content data (content included in each input data) and content data length (data length of content data). Such a modified example of this embodiment will be described later in the second embodiment.
(Second embodiment)
A second embodiment of the present invention based on the first embodiment of the present invention will be described. In this embodiment, the input data and segment standards are defined such that the lower limit of the input data length is equal to or greater than half the segment data length.

本実施形態における構成について説明する。 A configuration in this embodiment will be described.

図4は、本発明の第2実施形態におけるメモリアクセス装置の構成の一例を示すブロック図である。図4に示すように、本実施形態のメモリアクセス装置105は、符号化部115と、メモリ制御部125と、復号化部135とを含む。 FIG. 4 is a block diagram showing an example configuration of a memory access device according to the second embodiment of the present invention. As shown in FIG. 4, the memory access device 105 of this embodiment includes an encoder 115, a memory controller 125, and a decoder 135. FIG.

符号化部115は、メモリ200上の書き込み先の先頭アドレスを指定した上で、外部から入力データを入力して、入力データのデータ長に応じて、セグメントを生成し、生成したセグメントをメモリ制御部125へ出力する。 The encoding unit 115 designates the start address of the write destination in the memory 200, inputs input data from the outside, generates segments according to the data length of the input data, and controls the generated segments in the memory. Output to the unit 125 .

メモリ制御部125は、メモリ200上の書き込み先の先頭アドレスを指定した上で、符号化部115から入力したセグメントを1個以上のセグメント単位でメモリ200上の書き込み先の先頭アドレスから始まる連続した領域へ書き込む。又、メモリ制御部125は、メモリ200上の読み出し元の先頭アドレスを指定した上で、メモリ200上の読み出し元の先頭アドレスから始まる連続した領域からデータを1個以上のセグメント単位で読み出し、読み出したセグメントを復号化部135へ出力する。 The memory control unit 125 designates the start address of the write destination on the memory 200, and then converts the segments input from the encoding unit 115 into one or more segments in units of one or more continuous segments starting from the start address of the write destination on the memory 200. Write to area. In addition, the memory control unit 125 designates the head address of the read source on the memory 200, and then reads data in units of one or more segments from a continuous area starting from the head address of the read source on the memory 200, and reads the data. The resulting segment is output to decoding section 135 .

復号化部135は、メモリ200上の読み出し元の先頭アドレスを指定した上で、メモリ制御部125を介して、メモリ200に書き込まれたセグメントを読み出し、読み出したセグメントから入力データを再構成し、再構成した入力データを出力データとして外部へ出力する。 The decoding unit 135 designates the top address of the read source in the memory 200, reads the segment written in the memory 200 via the memory control unit 125, reconstructs the input data from the read segment, Output the reconfigured input data to the outside as output data.

図5は、本発明の第2実施形態におけるセグメントの構成の一例を示す図である。セグメントは、セグメントヘッダー部とセグメントデータ部とを含む。 FIG. 5 is a diagram showing an example of segment configuration in the second embodiment of the present invention. A segment includes a segment header portion and a segment data portion.

セグメントデータ部は、固定長(例えば、(セグメント長-4)オクテット;セグメントデータ長)となるように設定されており、セグメントデータを格納する。セグメントデータは、1個以上の入力データの全体又は部分を、入力された順に一定のセグメントデータ長に分割又は連接(結合)したものである。入力データ、又は入力データがセグメントデータに分割された際に残った入力データ(先行入力データ)がセグメントデータ長に満たない場合には、先行入力データに次の入力データ(後続入力データ)を連接してセグメントデータにされる。そのため、セグメントは、セグメントデータ内に複数の入力データの全体又は部分を含むことが可能である。 The segment data part is set to have a fixed length (eg, (segment length-4) octets; segment data length) and stores segment data. Segment data is obtained by dividing or concatenating (combining) all or part of one or more pieces of input data into fixed segment data lengths in the order of input. If the input data or the input data remaining after the input data is divided into segment data (preceding input data) is less than the segment data length, the next input data (subsequent input data) is concatenated with the preceding input data. segment data. As such, a segment may include all or part of multiple input data within the segment data.

本実施形態では、入力データ長の下限値がセグメントデータ長の2分の1以上であるように、入力データ及びセグメントの規格が定められていることとする(本制限がない本実施形態の変形例については後述する)。そのため、本実施形態では、1個のセグメントは、最大2個の入力データの全体、又は最大3個の入力データの部分を含み得る。即ち、セグメントデータ部は、1個以上の3個以下の入力データの全体又は部分を含み得る。 In this embodiment, the input data and segment standards are defined so that the lower limit of the input data length is 1/2 or more of the segment data length (a modification of this embodiment without this limitation). Examples are given below). Thus, in this embodiment, one segment may include up to two entire pieces of input data or up to three portions of input data. That is, the segment data portion can include all or part of one or more and three or less pieces of input data.

セグメントヘッダー部は、固定長(例えば、4オクテット;セグメントヘッダー長)を有し、セグメントヘッダーを格納する。セグメントヘッダーは、FHP(First Header Point;先頭位置データの一例)とLHP(Last Header Point;先頭位置データの一例)とを含む。FHPは、セグメントデータ部に格納された各入力データの先頭位置のうち、最初の先頭位置を保持するデータである。LHPは、セグメントデータ部に格納された各入力データの先頭位置のうち、最後の先頭位置を保持するデータである。先頭位置は、セグメントデータ部における位置を表す。以下では、先頭位置がセグメントデータ部の最初のオクテットからの距離(オクテット数)で表現される場合を例に説明するが、本実施形態における先頭位置の表現はこれに限られない。 The segment header part has a fixed length (eg, 4 octets; segment header length) and stores the segment header. The segment header includes FHP (First Header Point; an example of head position data) and LHP (Last Header Point; an example of head position data). FHP is data that holds the first start position among the start positions of each input data stored in the segment data portion. LHP is data that holds the last leading position among the leading positions of each input data stored in the segment data portion. The start position represents the position in the segment data portion. In the following, a case where the start position is represented by the distance (the number of octets) from the first octet of the segment data portion will be described as an example, but the representation of the start position in this embodiment is not limited to this.

本実施形態における動作について説明する。 Operations in this embodiment will be described.

図6は、本発明の第2実施形態におけるメモリアクセス装置の動作を説明する模式図である。図6では、“A”、“B”、“C”、及び“D”は各入力データを表し、添字付きの英字は英字で示される各入力データが分割された分割データを表し、“EOF”は入力データの終わりを示す信号を表し、“*”は任意のパディングデータを表すこととする。又、図6では、値“0”、“X”、“Y”、“Z”、及び“V”は、セグメントデータ部における位置を表し、無効値“-”は無効な位置(位置が指定されていないこと)を表し、特殊値“/”は入力データの終わりを表すこととする。ここで、無効値及び特殊値はそれぞれ、FHP及びLHPの値として通常使われない所定の値で、例えば、0xffff(16進数表記)、0xfffe(16進数表記)である。図6に示すように、符号化部115は、セグメントデータ部において、入力データの先頭位置が含まれる場合に、最初の先頭位置をFHPに保持し、最後の先頭位置をLHPに保持する。 FIG. 6 is a schematic diagram explaining the operation of the memory access device according to the second embodiment of the present invention. In FIG. 6, "A", "B", "C", and "D" represent each input data, subscripted alphabetic characters represent divided data obtained by dividing each input data indicated by the alphabetic characters, and "EOF ” represents a signal indicating the end of input data, and “*” represents arbitrary padding data. Also, in FIG. 6, the values "0", "X", "Y", "Z", and "V" represent positions in the segment data portion, and the invalid value "-" represents an invalid position (position specified). and the special value "/" indicates the end of the input data. Here, the invalid value and special value are predetermined values that are not normally used as FHP and LHP values, such as 0xffff (hexadecimal notation) and 0xfffe (hexadecimal notation). As shown in FIG. 6, when the segment data part includes the head position of the input data, the encoding unit 115 holds the first head position in FHP and the last head position in LHP.

例えば、まず、セグメントデータ部より入力データAが長いので、符号化部115は、セグメントデータ部に分割データA1を保持させる(図6の左から1番目のセグメント)。そして、符号化部115は、セグメントデータ部における入力データAの最初且つ最後の先頭位置0をFHPとLHPの両方に保持させる。 For example, first, since the input data A is longer than the segment data portion, the encoding unit 115 causes the segment data portion to hold the divided data A1 (the first segment from the left in FIG. 6). Then, the encoding unit 115 causes both the FHP and the LHP to hold the first and last leading position 0 of the input data A in the segment data portion.

次に、符号化部115は、入力データAを分割途中のセグメントにおいて、セグメントデータ部に分割データA2を保持させる(図6の左から2番目のセグメント)。そして、セグメントデータ部に入力データの先頭が含まれないので、符号化部115は、FHP及びLHPの両方に無効値を保持させる。 Next, the encoding unit 115 causes the segment data portion to hold the divided data A2 in the segment in which the input data A is being divided (the second segment from the left in FIG. 6). Since the beginning of the input data is not included in the segment data portion, the encoding unit 115 causes both FHP and LHP to hold invalid values.

続いて、残っている入力データA(A3)がセグメントデータ部よりも短いので、符号化部115は、セグメントデータ部に分割データA3を保持させる(図6の左から3番目のセグメント)。そして、符号化部115は、後続入力データBを待ち、先行入力データA3に後続入力データBの分割データB1を連接してセグメントデータ部に格納する。ここで、符号化部115は、セグメントデータ部における、入力データBの最初の先頭位置XをFHPに保持させ、入力データBの最後の先頭位置XをLHPに保持させる。 Subsequently, since the remaining input data A (A3) is shorter than the segment data portion, the encoding unit 115 causes the segment data portion to hold the divided data A3 (the third segment from the left in FIG. 6). Then, the encoding unit 115 waits for the succeeding input data B, connects the divided data B1 of the succeeding input data B to the preceding input data A3, and stores them in the segment data portion. Here, the encoding unit 115 causes the FHP to hold the first head position X of the input data B in the segment data portion, and the LHP to hold the last head position X of the input data B. FIG.

続いて、残っている入力データB(B2)がセグメントデータ部よりも短いので、符号化部115は、セグメントデータ部に分割データB2を保持させる(図6の左から4番目のセグメント)。そして、符号化部115は、後続入力データC及びDを待ち、先行入力データBの分割データB2に後続入力データC及び後続入力データDの分割データD1を連接してセグメントデータ部に格納する。ここで、符号化部115は、セグメントデータ部において、入力データCの最初の先頭位置YをFHPに保持させ、入力データDの最後の先頭位置ZをLHPに保持させる。 Subsequently, since the remaining input data B (B2) is shorter than the segment data portion, the encoding unit 115 causes the segment data portion to hold the divided data B2 (the fourth segment from the left in FIG. 6). Then, the encoding unit 115 waits for the subsequent input data C and D, connects the divided data D1 of the subsequent input data C and the subsequent input data D to the divided data B2 of the preceding input data B, and stores them in the segment data portion. Here, the encoding unit 115 causes the FHP to hold the first head position Y of the input data C and the LHP to hold the last head position Z of the input data D in the segment data portion.

続いて、残っている入力データD(D2)がセグメントデータ部よりも短いので、符号化部115は、セグメントデータ部に分割データD2を保持させる(図6の左から5番目のセグメント)。そして、符号化部115は、入力データの終わりを待ち、先行入力データDの分割データD2にパディングデータ“*”を連接してセグメントデータ部に格納する。ここで、符号化部115は、セグメントデータ部において、“EOF”の最初の先頭位置YをFHPに保持させ、位置Yが入力データの終わりであることを示す特殊値“/”をLHPに保持させ、処理を終了する。 Subsequently, since the remaining input data D (D2) is shorter than the segment data portion, the encoding unit 115 causes the segment data portion to hold the divided data D2 (the fifth segment from the left in FIG. 6). Then, the encoding unit 115 waits for the end of the input data, attaches the padding data “*” to the divided data D2 of the preceding input data D, and stores them in the segment data portion. Here, the encoding unit 115 causes the FHP to hold the first leading position Y of “EOF” in the segment data part, and holds a special value “/” indicating that the position Y is the end of the input data in the LHP. and terminate the process.

このように、符号化部115は、入力データを分割又は連接してセグメントを生成し、生成したセグメントをメモリ制御部125へ出力する。 In this way, the encoding unit 115 divides or concatenates input data to generate segments, and outputs the generated segments to the memory control unit 125 .

メモリ制御部125は、符号化部115から入力したセグメントを1個以上のセグメント単位でメモリ200へ順次書き込む。 The memory control unit 125 sequentially writes the segments input from the encoding unit 115 to the memory 200 in units of one or more segments.

メモリ制御部125は、メモリ200から1個以上のセグメント単位でセグメントを順次読み出し、読み出したセグメントを復号化部135へ出力する。 The memory control unit 125 sequentially reads segments in units of one or more segments from the memory 200 and outputs the read segments to the decoding unit 135 .

復号化部135は、メモリ制御部125を介して、メモリ200に書き込まれたセグメントを読み出す。そして、復号化部135は、読み出したセグメントのFHPとLHPに基づいて、入力データを再構成し、再構成した入力データを出力データとして外部へ出力する。ここで、1個のセグメントは、最大2個の入力データの全体、又は最大3個の入力データの部分を含み得る。即ち、1個のセグメントは、最大2個の入力データの先頭位置を含み得る。各セグメントのFHPとLHPはそれぞれ、そのセグメントにおける入力データの最初の先頭位置と最後の先頭位置を保持している。つまり、全ての入力データの先頭位置は、何れかのセグメントの、FHP又はLHPによって保持されている。従って、復号化部135は、読み出したセグメントのFHPとLHPに基づいて、入力データを再構成することができる。 The decoding unit 135 reads the segment written in the memory 200 via the memory control unit 125 . Then, the decoding unit 135 reconstructs the input data based on the FHP and LHP of the read segment, and outputs the reconstructed input data to the outside as output data. Here, one segment can include up to two entire pieces of input data or up to three pieces of input data. That is, one segment can include the top positions of up to two pieces of input data. The FHP and LHP of each segment hold the first and last leading positions of the input data in that segment, respectively. That is, the head positions of all input data are held by the FHP or LHP of any segment. Therefore, the decoding unit 135 can reconstruct the input data based on the FHP and LHP of the read segment.

復号化部135は、ある入力データの再構成に必要な、後続入力データの先頭位置がある時点で未取得であっても、更に後続セグメントを読み込むことによって、後続入力データの先頭位置を示すFHP又はLHPを取得できる。 Even if the head position of the subsequent input data required for reconstructing certain input data has not been acquired at a certain time, the decoding unit 135 reads the subsequent segment to read the FHP that indicates the head position of the subsequent input data. Or you can get LHP.

復号化部135は、再構成が完了した入力データを出力データとして順次外部へ出力する。 The decoding unit 135 sequentially outputs the reconstructed input data to the outside as output data.

例えば、まず、復号化部135は、第1のセグメントを入力する(図6の左から1番目のセグメント)。第1のセグメントはFHP及びLHPに値“0”を保持している。このため、復号化部135は、第1のセグメントに1番目の入力データAの分割データA1が先頭から格納されていると判断する。 For example, first, the decoding unit 135 inputs the first segment (the first segment from the left in FIG. 6). The first segment holds the value "0" for FHP and LHP. Therefore, the decoding unit 135 determines that the divided data A1 of the first input data A is stored in the first segment from the beginning.

次に、復号化部135は、第2のセグメントを入力する(図6の左から2番目のセグメント)。第2のセグメントはFHP及びLHPに無効値を保持している。このため、復号化部135は、第2のセグメントに1番目の入力データAの分割データA2が継続して格納されていると判断する。 Next, the decoding unit 135 inputs the second segment (the second segment from the left in FIG. 6). The second segment holds invalid values for FHP and LHP. Therefore, the decoding unit 135 determines that the divided data A2 of the first input data A is continuously stored in the second segment.

続いて、復号化部135は、第3のセグメントを入力する(図6の左から3番目のセグメント)。第3のセグメントはFHP及びLHPに値“X”を保持している。このため、復号化部135は、第3のセグメントの、位置“X”の直前までに1番目の入力データAの分割データA3が格納されており、位置“X”以降に2番目の入力データBの分割データB1が格納されていると判断する。復号化部135は、入力データAを再構成できたので、再構成した入力データAを出力データとして外部へ出力する。 Subsequently, the decoding unit 135 inputs the third segment (the third segment from the left in FIG. 6). The third segment holds the value "X" for FHP and LHP. Therefore, the decoding unit 135 stores the divided data A3 of the first input data A immediately before the position "X" of the third segment, and stores the second input data after the position "X". It is determined that the divided data B1 of B is stored. Since the input data A has been reconstructed, the decoding unit 135 outputs the reconstructed input data A to the outside as output data.

続いて、復号化部135は、第4のセグメントを入力する(図6の左から4番目のセグメント)。第4のセグメントは、FHPに値“Y”を保持しており、LHPに値“Z”を保持している。このため、復号化部135は、第4のセグメントの、位置“Y”の直前までに2番目の入力データBの分割データB2が格納されており、位置“Y”から位置“Z”の直前までに3番目の入力データCが格納されていると判断する。そして、復号化部135は、第4のセグメントの位置“Z”以降に4番目の入力データDの分割データD1が格納されていると判断する。復号化部135は、入力データB及びCを再構成できたので、再構成した入力データB及びCを出力データとして外部へ出力する。 Subsequently, the decoding unit 135 inputs the fourth segment (the fourth segment from the left in FIG. 6). The fourth segment holds the value "Y" in FHP and the value "Z" in LHP. Therefore, the decoding unit 135 stores the divided data B2 of the second input data B immediately before the position "Y" in the fourth segment, and decodes the data from the position "Y" to the position "Z" immediately before the position "Z". It is determined that the third input data C is stored by . Then, the decoding unit 135 determines that the divided data D1 of the fourth input data D is stored after the position "Z" of the fourth segment. Since the input data B and C have been reconstructed, the decoding unit 135 outputs the reconstructed input data B and C to the outside as output data.

続いて、復号化部135は、第5のセグメントを入力する(図6の左から5番目のセグメント)。第5のセグメントは、FHPに値“V”を保持しており、LHPに特殊値“/”を保持している。このため、復号化部135は、第5のセグメントの、位置“V”の直前までに4番目の入力データDの分割データD2が格納されており、位置“V”が入力データの終わりであると判断する。復号化部135は、入力データDを再構成できたので、再構成した入力データDを出力データとして外部へ出力して、処理を終了する。 Subsequently, the decoding unit 135 inputs the fifth segment (the fifth segment from the left in FIG. 6). The fifth segment holds the value "V" in FHP and the special value "/" in LHP. Therefore, the decoding unit 135 determines that the divided data D2 of the fourth input data D is stored immediately before the position "V" of the fifth segment, and the position "V" is the end of the input data. I judge. Since the input data D has been reconstructed, the decoding unit 135 outputs the reconstructed input data D to the outside as output data, and terminates the process.

このように、復号化部135は、メモリ制御部125を介して、メモリ200に書き込まれたセグメントを読み出し、読み出したセグメントのFHPとLHPに基づいて入力データを再構成し、再構成した入力データを出力データとして外部へ出力する。 In this way, the decoding unit 135 reads the segment written in the memory 200 via the memory control unit 125, reconstructs the input data based on the FHP and LHP of the read segment, and reconstructs the input data. is output to the outside as output data.

以上説明したように、本実施形態では、セグメントはセグメントヘッダー部とセグメントデータ部とを含む。そして、入力データ長の下限値がセグメントデータ長の2分の1以上であるように、入力データ及びセグメントの規格が定められている。そのため、セグメントデータ部は、1個以上の3個以下の入力データの全体又は部分を含み得る。セグメントヘッダー部は、FHPとLHPとを含む。FHPは、セグメントデータ部に格納された各入力データの先頭位置のうち、最初の先頭位置を保持する。LHPは、セグメントデータ部に格納された各入力データの先頭位置のうち、最後の先頭位置を保持する。本実施形態のメモリアクセス装置105は、符号化部115と、メモリ制御部125と、復号化部135とを含む。符号化部115は、入力データを分割又は連接してセグメントを生成し、生成したセグメントをメモリ制御部125へ出力する。メモリ制御部125は、符号化部115から入力したセグメントを1個以上のセグメント単位でメモリ200へ書き込む。メモリ制御部125は、メモリ200からデータを1個以上のセグメント単位で読み出し、読み出したセグメントを復号化部135へ出力する。復号化部135は、メモリ制御部125からセグメントを入力し、入力したセグメントのFHPとLHPに基づいて、入力データを再構成し、再構成した入力データを出力データとして外部へ出力する。ここで、各セグメントのFHPとLHPはそれぞれ、そのセグメントにおける入力データの最初の先頭位置と最後の先頭位置を保持している。即ち、全ての入力データの先頭位置は、何れかのセグメントの、FHP又はLHPによって保持されている。つまり、復号化部135は、読み出したセグメントのFHPとLHPに基づいて、入力データを再構成することができる。 As described above, in this embodiment, a segment includes a segment header portion and a segment data portion. The standards for input data and segments are defined such that the lower limit of the input data length is 1/2 or more of the segment data length. Therefore, the segment data portion can include all or part of one or more but no more than three pieces of input data. The segment header part includes FHP and LHP. The FHP holds the first start position among the start positions of each input data stored in the segment data portion. The LHP holds the last leading position among the leading positions of each input data stored in the segment data portion. The memory access device 105 of this embodiment includes an encoder 115 , a memory controller 125 and a decoder 135 . The encoding unit 115 divides or concatenates input data to generate segments, and outputs the generated segments to the memory control unit 125 . The memory control unit 125 writes the segments input from the encoding unit 115 to the memory 200 in units of one or more segments. The memory control unit 125 reads data in units of one or more segments from the memory 200 and outputs the read segments to the decoding unit 135 . The decoding unit 135 receives a segment from the memory control unit 125, reconstructs the input data based on the FHP and LHP of the input segment, and outputs the reconstructed input data to the outside as output data. Here, the FHP and LHP of each segment respectively hold the first head position and last head position of the input data in that segment. That is, the head position of all input data is held by the FHP or LHP of any segment. That is, the decoding unit 135 can reconstruct the input data based on the FHP and LHP of the read segment.

従って、本実施形態のメモリアクセス装置105には、メモリに対するバーストアクセスにおいて、入力データ以外の無駄なデータのメモリへの書き込みを抑制することができるという効果がある。 Therefore, the memory access device 105 of this embodiment has the effect of being able to suppress writing of useless data other than input data to the memory during burst access to the memory.

その結果、本実施形態のメモリアクセス装置105では、メモリの利用効率が向上し、アクセス速度が向上し、出力データに入力データ以外の無駄なデータが含まれる割合が低下する。
(変形例)
本実施形態における変形例について説明する。本変形例では、セグメントの規格は本実施形態において上述した通りである。一方、入力データ長の下限値とセグメントデータ長との関係は、特に定められていないこととする。但し、入力データは、各入力データが含むコンテンツを表すコンテンツデータと、コンテンツデータのデータ長を表すコンテンツデータ長とを含む。
As a result, in the memory access device 105 of this embodiment, the memory utilization efficiency is improved, the access speed is improved, and the ratio of output data containing useless data other than input data is reduced.
(Modification)
A modification of this embodiment will be described. In this modified example, the segment standards are as described above in this embodiment. On the other hand, the relationship between the lower limit of the input data length and the segment data length is not specified. However, the input data includes content data representing content included in each input data, and content data length representing the data length of the content data.

本変形例における構成は、本実施形態において上述した通りである。 The configuration in this modified example is as described above in this embodiment.

図7は、本発明の第2実施形態の変形例におけるメモリアクセス装置の動作を説明する
模式図である。図7に示すように、本変形例における動作例では、図6に示した動作例に比べて、入力データDが短く、入力データEが入力データDに後続している。本変形例では、各入力データはコンテンツデータ長とコンテンツデータとを含む。しかしながら、図7では、入力データC及びDについてのみ内部構造を図示し、他の入力データについては内部構造の図示を省略している。以下では、図7に示す動作例について、上述した図6に示す動作例との差分について説明する。
FIG. 7 is a schematic diagram for explaining the operation of the memory access device in the modified example of the second embodiment of the present invention. As shown in FIG. 7, in the operation example of this modified example, the input data D is shorter than the operation example shown in FIG. 6, and the input data E follows the input data D. In this modification, each piece of input data includes content data length and content data. However, in FIG. 7, only the internal structures of the input data C and D are illustrated, and the internal structures of the other input data are omitted. In the following, differences between the operation example shown in FIG. 7 and the operation example shown in FIG. 6 described above will be described.

図7の左から1乃至3番目のセグメントについての符号化部115の動作は、上述した図6に示す動作例と同じである。 The operation of the encoding unit 115 for the first to third segments from the left in FIG. 7 is the same as the operation example shown in FIG. 6 described above.

続いて、符号化部115は、セグメントデータ部より残っている入力データB(B2)が短いので、セグメントデータ部に分割データB2を保持させる(図7の左から4番目のセグメント)。そして、符号化部115は、後続入力データC、D、及びEを待ち、先行入力データBの分割データB2に後続入力データC及びD、並びに、後続入力データEの分割データE1を連接してセグメントデータ部に格納する。ここで、符号化部115は、セグメントデータ部において、入力データCの最初の先頭位置YをFHPに保持させ、入力データEの最後の先頭位置WをLHPに保持させる。 Subsequently, since the remaining input data B (B2) is shorter than the segment data portion, the encoding unit 115 causes the segment data portion to hold the divided data B2 (the fourth segment from the left in FIG. 7). Then, the encoding unit 115 waits for the subsequent input data C, D, and E, and concatenates the subsequent input data C and D and the divided data E1 of the subsequent input data E to the divided data B2 of the preceding input data B. Stored in the segment data part. Here, the encoding unit 115 causes the FHP to hold the first head position Y of the input data C and the LHP to hold the last head position W of the input data E in the segment data portion.

続いて、符号化部115は、セグメントデータ部より残っている入力データE(E2)が短いので、セグメントデータ部に分割データE2を保持させる(図7の左から5番目のセグメント)。そして、符号化部115は、セグメントデータ部に入力データの先頭が含まれないので、FHP及びLHPの両方に無効値を保持させる。 Subsequently, since the remaining input data E (E2) is shorter than the segment data portion, the encoding unit 115 causes the segment data portion to hold the divided data E2 (the fifth segment from the left in FIG. 7). Since the beginning of the input data is not included in the segment data portion, the encoding unit 115 causes both FHP and LHP to hold invalid values.

図7の左から1乃至3番目のセグメントについての復号化部135の動作は、上述した図6に示す動作例と同じである。 The operation of the decoding unit 135 for the first to third segments from the left in FIG. 7 is the same as the operation example shown in FIG. 6 described above.

続いて、復号化部135は、第4のセグメントを入力する(図7の左から4番目のセグメント)。第4のセグメントは、FHPに値“Y”を保持しており、LHPに値“W”を保持している。このため、復号化部135は、第4のセグメントの、位置“Y”の直前までに2番目の入力データBの分割データB2が格納されており、位置“Y”から位置“W”の直前までに3及び4番目の入力データ(C+D)が格納されていると判断する。そして、復号化部135は、第4のセグメントの位置“W”以降に5番目の入力データEの分割データE1が格納されていると判断する。復号化部135は、入力データB及び(C+D)を再構成できたので、再構成した入力データB及び(C+D)を出力データとして外部へ出力する。ここで、第4のセグメントは、4番目の入力データDの先頭位置Zを保持していない。そのため、復号化部135は、3及び4番目の入力データ(C+D)を、3番目の入力データCと4番目の入力データDに分離できない。 Subsequently, the decoding unit 135 inputs the fourth segment (the fourth segment from the left in FIG. 7). The fourth segment holds the value "Y" in FHP and the value "W" in LHP. Therefore, the decoding unit 135 stores the divided data B2 of the second input data B immediately before the position “Y” of the fourth segment, and decodes the data from the position “Y” to the position “W” immediately before the position “W”. It is determined that the third and fourth input data (C+D) are stored by . Then, the decoding unit 135 determines that the divided data E1 of the fifth input data E is stored after the position "W" of the fourth segment. Since the input data B and (C+D) have been reconstructed, the decoding unit 135 outputs the reconstructed input data B and (C+D) to the outside as output data. Here, the fourth segment does not hold the leading position Z of the fourth input data D. Therefore, the decoding unit 135 cannot separate the third and fourth input data (C+D) into the third input data C and the fourth input data D.

続いて、復号化部135は、第5のセグメントを入力する(図7の左から5番目のセグメント)。第5のセグメントはFHP及びLHPに無効値を保持している。このため、復号化部135は、第5のセグメントに5番目の入力データEの分割データE2が継続して格納されていると判断する。 Subsequently, the decoding unit 135 inputs the fifth segment (the fifth segment from the left in FIG. 7). The fifth segment holds invalid values for FHP and LHP. Therefore, the decoding unit 135 determines that the divided data E2 of the fifth input data E is continuously stored in the fifth segment.

上述したように、復号化部135は、3及び4番目の入力データ(C+D)を、3番目の入力データCと4番目の入力データDに分離できない。しかしながら、3及び4番目の入力データ(C+D)は、3番目の入力データCと4番目の入力データDの連接である。そして、各入力データC、Dはそれぞれ、コンテンツデータ長とコンテンツデータとを含む。そこで、メモリアクセス装置105の出力データを入力した装置又はプログラムは、出力データの構造が既知であれば、コンテンツデータ長に基づいて、3及び4番目の入力データ(C+D)を、3番目の入力データCと4番目の入力データDに分離して、それぞれを処理することができる。 As described above, the decoding unit 135 cannot separate the 3rd and 4th input data (C+D) into the 3rd input data C and the 4th input data D. However, the 3rd and 4th input data (C+D) is the concatenation of the 3rd input data C and the 4th input data D. Each of the input data C and D includes a content data length and content data. Therefore, if the structure of the output data is known, the device or program to which the output data of the memory access device 105 is input converts the third and fourth input data (C+D) to the third input data based on the content data length. Data C and fourth input data D can be separated and processed separately.

従って、本変形例のメモリアクセス装置105には、メモリに対するバーストアクセスにおいて、入力データ以外の無駄なデータのメモリへの書き込みを抑制することができるという効果がある。但し、本変形例のメモリアクセス装置105では、入力データの完全な再構成には外部の装置又はプログラムを必要とする。本変形例のメモリアクセス装置105は、このような外部の装置又はプログラムを含んでもよい。 Therefore, the memory access device 105 of this modified example has the effect of being able to suppress writing of useless data other than input data to the memory during burst access to the memory. However, the memory access device 105 of this modification requires an external device or program for complete reconstruction of the input data. The memory access device 105 of this modification may include such an external device or program.

本変形例が、第2実施形態のみならず、第1実施形態にも適用可能なことは明らかである。 It is clear that this modification can be applied not only to the second embodiment but also to the first embodiment.

図8は、本発明の各実施形態におけるメモリアクセス装置を実現可能なハードウェア構成の一例を示すブロック図である。 FIG. 8 is a block diagram showing an example of a hardware configuration that can implement a memory access device according to each embodiment of the present invention.

メモリアクセス装置901は、記憶装置902と、CPU(Central Processing Unit)903と、キーボード904と、モニタ905と、I/O(Input/Output)装置908とを備え、これらが内部バス906によって接続されている。記憶装置902は、符号化部110、115、メモリ制御部120、125、復号化部130、135等(以下、「符号化部等」と称す)のCPU903の動作プログラムを格納する。CPU903は、メモリアクセス装置901の全体を制御し、記憶装置902に格納された動作プログラムを実行し、I/O装置908によって符号化部等のプログラムの実行やデータの送受信を行なう。尚、上記のメモリアクセス装置901の内部構成は一例である。メモリアクセス装置901は、必要に応じて、キーボード904、モニタ905を接続する装置構成であってもよい。 The memory access device 901 includes a storage device 902 , a CPU (Central Processing Unit) 903 , a keyboard 904 , a monitor 905 and an I/O (Input/Output) device 908 , which are connected by an internal bus 906 . ing. The storage device 902 stores operation programs of the CPU 903 of the encoding units 110, 115, memory control units 120, 125, decoding units 130, 135, etc. (hereinafter referred to as "encoding units, etc."). A CPU 903 controls the entire memory access device 901, executes an operation program stored in a storage device 902, and executes a program such as an encoding unit and transmits/receives data by an I/O device 908. FIG. The internal configuration of the memory access device 901 described above is an example. The memory access device 901 may have a configuration in which a keyboard 904 and a monitor 905 are connected as required.

上述した本発明の各実施形態におけるメモリアクセス装置901は、専用の装置によって実現してもよいが、I/O装置908が外部との通信を実行するハードウェアの動作以外は、コンピュータ(情報処理装置)によっても実現可能である。この場合、係るコンピュータは、記憶装置902に格納されたソフトウェア・プログラムをCPU903に読み出し、読み出したソフトウェア・プログラムをCPU903において実行する。上述した各実施形態の場合、係るソフトウェア・プログラムには、上述したところの、図1及び4に示した、メモリアクセス装置の各部の機能を実現可能な記述がなされていればよい。但し、これらの各部には、適宜ハードウェアを含むことも想定される。そして、このような場合、係るソフトウェア・プログラム(コンピュータ・プログラム)は、本発明を構成すると捉えることができる。更に、係るソフトウェア・プログラムを格納した、コンピュータ読み取り可能な記憶媒体も、本発明を構成すると捉えることができる。 The memory access device 901 in each of the above-described embodiments of the present invention may be realized by a dedicated device, but the I/O device 908 does not need a computer (information processing device). In this case, the computer reads the software program stored in the storage device 902 to the CPU 903 and executes the read software program in the CPU 903 . In the case of each of the above-described embodiments, it is sufficient that the software program includes a description capable of realizing the function of each part of the memory access device shown in FIGS. However, it is assumed that each of these units includes appropriate hardware. In such a case, such a software program (computer program) can be regarded as constituting the present invention. Furthermore, a computer-readable storage medium storing such a software program can also be regarded as constituting the present invention.

以上、本発明を、上述した各実施形態およびその変形例によって例示的に説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態およびその変形例に記載した範囲に限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。 As above, the present invention has been exemplified by each of the above-described embodiments and modifications thereof. However, the technical scope of the present invention is not limited to the scope described in each of the above-described embodiments and modifications thereof. It is obvious to those skilled in the art that various modifications or improvements can be made to such embodiments. In such cases, new embodiments with such changes or improvements may also be included in the technical scope of the present invention. And this is clear from the matters described in the claims.

本発明は、音声、動画、又は測定データ等の大容量データを保持する記憶装置に利用できる。 INDUSTRIAL APPLICABILITY The present invention can be used for storage devices that hold large amounts of data such as audio, moving images, or measurement data.

100、105 メモリアクセス装置
110、115 符号化部
120、125 メモリ制御部
130、135 復号化部
200 メモリ
100, 105 memory access device 110, 115 encoder 120, 125 memory controller 130, 135 decoder 200 memory

Claims (6)

外部から入力した複数の入力データを入力順に分割又は連接した後に、
前記複数の入力データの連続した部分を含むセグメントデータを生成し、
前記セグメントデータにおける前記複数の入力データの各々の先頭位置を表す先頭位置データを生成し、
前記セグメントデータ及び前記先頭位置データを含むセグメントを生成する
符号化手段と、
生成された前記セグメントを1個以上のセグメント単位でメモリへ書き込むと共に、
前記メモリから前記セグメントを1個以上のセグメント単位で読み出す
メモリ制御手段と、
前記メモリから読み出された前記セグメントに基づいて、前記外部から入力した複数の入力データを再構成し、再構成した前記外部から入力した複数の入力データを外部へ出力する復号化手段と
を備えたメモリアクセス装置。
After dividing or concatenating multiple input data input from the outside in the order of input,
generating segment data that includes contiguous portions of the plurality of input data;
generating head position data representing the head position of each of the plurality of input data in the segment data;
encoding means for generating a segment including the segment data and the head position data;
writing the generated segments to memory in units of one or more segments;
memory control means for reading the segments from the memory in units of one or more segments;
decoding means for reconstructing the plurality of input data inputted from the outside based on the segments read out from the memory and outputting the reconstructed plurality of input data inputted from the outside to the outside; memory access device.
前記各入力データのデータ長の下限値が、前記セグメントデータのデータ長のn(nは2以上の整数)分の1以上であるように、前記各入力データ及び前記セグメントの規格が定められており、
前記セグメントはn個の前記先頭位置データを含む
請求項1に記載のメモリアクセス装置。
The specifications of each of the input data and the segments are determined such that the lower limit of the data length of each of the input data is 1/n (n is an integer equal to or greater than 2) of the data length of the segment data. cage,
2. The memory access device according to claim 1, wherein said segment includes n pieces of head position data.
前記各入力データは、
前記各入力データが含むコンテンツを表すコンテンツデータと、
前記コンテンツデータのデータ長を表すコンテンツデータ長と
を含む
請求項1に記載のメモリアクセス装置。
Each of the input data
content data representing content included in each of the input data;
2. The memory access device according to claim 1, further comprising a content data length representing the data length of said content data.
前記各入力データのデータ長の下限値が、前記セグメントデータのデータ長のn(nは2以上の整数)分の1以上であるように、前記各入力データ及び前記セグメントの規格が定められており、
前記セグメントはnより小さい個数の前記先頭位置データを含む
を含む請求項3に記載のメモリアクセス装置。
The specifications of each of the input data and the segments are determined such that the lower limit of the data length of each of the input data is 1/n (n is an integer equal to or greater than 2) of the data length of the segment data. cage,
4. The memory access device according to claim 3, wherein said segment includes the head position data whose number is smaller than n.
外部から入力した複数の入力データを入力順に分割又は連接した後に、
前記複数の入力データの連続した部分を含むセグメントデータを生成し、
前記セグメントデータにおける前記複数の入力データの各々の先頭位置を表す先頭位置データを生成し、
前記セグメントデータ及び前記先頭位置データを含むセグメントを生成する
符号化処理と、
生成された前記セグメントを1個以上のセグメント単位でメモリへ書き込むと共に、
前記メモリから前記セグメントを1個以上のセグメント単位で読み出す
メモリ制御処理と、
前記メモリから読み出された前記セグメントに基づいて、前記外部から入力した複数の入力データを再構成し、再構成した前記外部から入力した複数の入力データを外部へ出力する復号化処理と
を行うメモリアクセス方法。
After dividing or concatenating multiple input data input from the outside in the order of input,
generating segment data that includes contiguous portions of the plurality of input data;
generating head position data representing the head position of each of the plurality of input data in the segment data;
an encoding process for generating a segment including the segment data and the head position data;
writing the generated segments to memory in units of one or more segments;
a memory control process of reading the segments from the memory in units of one or more segments;
a decoding process of reconstructing the plurality of input data input from the outside based on the segments read from the memory, and outputting the reconstructed plurality of input data input from the outside to the outside. memory access method.
外部から入力した複数の入力データを入力順に分割又は連接した後に、
前記複数の入力データの連続した部分を含むセグメントデータを生成し、
前記セグメントデータにおける前記複数の入力データの各々の先頭位置を表す先頭位置データを生成し、
前記セグメントデータ及び前記先頭位置データを含むセグメントを生成する
符号化処理と、
生成された前記セグメントを1個以上のセグメント単位でメモリへ書き込むと共に、
前記メモリから前記セグメントを1個以上のセグメント単位で読み出す
メモリ制御処理と、
前記メモリから読み出された前記セグメントに基づいて、前記外部から入力した複数の入力データを再構成し、再構成した前記外部から入力した複数の入力データを外部へ出力する復号化処理と
をコンピュータに実行させるメモリアクセスプログラム。
After dividing or concatenating multiple input data input from the outside in the order of input,
generating segment data that includes contiguous portions of the plurality of input data;
generating head position data representing the head position of each of the plurality of input data in the segment data;
an encoding process for generating a segment including the segment data and the head position data;
writing the generated segments to memory in units of one or more segments;
a memory control process of reading the segments from the memory in units of one or more segments;
a decoding process of reconstructing the plurality of input data input from the outside based on the segments read from the memory and outputting the reconstructed plurality of input data input from the outside to the outside; memory access program to run.
JP2021073371A 2021-04-23 2021-04-23 Memory access device and memory access method and memory access program Pending JP2022167527A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021073371A JP2022167527A (en) 2021-04-23 2021-04-23 Memory access device and memory access method and memory access program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021073371A JP2022167527A (en) 2021-04-23 2021-04-23 Memory access device and memory access method and memory access program

Publications (1)

Publication Number Publication Date
JP2022167527A true JP2022167527A (en) 2022-11-04

Family

ID=83852709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021073371A Pending JP2022167527A (en) 2021-04-23 2021-04-23 Memory access device and memory access method and memory access program

Country Status (1)

Country Link
JP (1) JP2022167527A (en)

Similar Documents

Publication Publication Date Title
JP2009134391A (en) Stream processor, stream processing method, and data processing system
CN108287877B (en) FPGA (field programmable Gate array) compression/decompression system and hardware decompression method for RIB (run in Box) rendering compressed file
US11714651B2 (en) Method and tensor traversal engine for strided memory access during execution of neural networks
US20130262808A1 (en) Compression and decompression system, compression apparatus, decompression apparatus and compression and decompression method
US10585803B2 (en) Systems and methods for addressing a cache with split-indexes
US10817183B2 (en) Information processing apparatus and information processing system
CN113227957A (en) Aggregating commands in a stream based on cache line addresses
JP2022167527A (en) Memory access device and memory access method and memory access program
JP6912535B2 (en) Memory chips capable of performing artificial intelligence operations and their methods
KR20220049522A (en) Decompression engine for decompressing compressed input data containing multiple data streams
KR20030064391A (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
JPWO2016120906A1 (en) A / D converter, D / A converter, and PLC
JP5623677B2 (en) Read request processing device
JP5055497B2 (en) Data processing device
JP7346883B2 (en) Vector processor device and generation method
JPH0844560A (en) Memory control circuit and integrated circuit element incorporating this circuit
US11909423B2 (en) Compression circuit, storage system, and compression method
JP5025521B2 (en) Semiconductor device
US20210250043A1 (en) Decode device
JP2010218350A (en) Information processor
JP5852090B2 (en) Instruction processing apparatus and instruction processing method thereof
SU734686A1 (en) Command shaping device
CN114390293A (en) Parallel decoding technique
JP2019200592A (en) Memory control circuit, output circuit, memory control circuit control method, and output circuit control method
JP3644614B2 (en) Dynamic intermediate code processor

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20211112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240315