JP2004214880A - Memory mapping method and buffer memory circuit - Google Patents

Memory mapping method and buffer memory circuit Download PDF

Info

Publication number
JP2004214880A
JP2004214880A JP2002380998A JP2002380998A JP2004214880A JP 2004214880 A JP2004214880 A JP 2004214880A JP 2002380998 A JP2002380998 A JP 2002380998A JP 2002380998 A JP2002380998 A JP 2002380998A JP 2004214880 A JP2004214880 A JP 2004214880A
Authority
JP
Japan
Prior art keywords
memory
byte
memory unit
units
counter
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.)
Granted
Application number
JP2002380998A
Other languages
Japanese (ja)
Other versions
JP4009530B2 (en
JP2004214880A5 (en
Inventor
Masahiro Tsuboshima
正浩 坪島
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 Engineering Ltd
Original Assignee
NEC Engineering 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 Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2002380998A priority Critical patent/JP4009530B2/en
Publication of JP2004214880A publication Critical patent/JP2004214880A/en
Publication of JP2004214880A5 publication Critical patent/JP2004214880A5/ja
Application granted granted Critical
Publication of JP4009530B2 publication Critical patent/JP4009530B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a memory mapping method and a buffer memory circuit for facilitating management of ATM cells in units of cells and enhancing the utilizing efficiency of a memory without forming areas of the memory not in use when the memory temporarily stores the ATM cells or the like. <P>SOLUTION: In order to store data in bytes not being the n-th power of 2 such as an ATM cell in 53 bytes, a plurality of memory sections 11 to 14 separated in units of the byte length of the n-th power of 2 are prepared to map the ATM cell, and ATM cell data are written in / read from a plurality of the memory sections 11 to 14. The first memory section 111 and the second memory section 112 store the header of the ATM cell data and the third memory section 113 and the fourth memory section 114 store the information (payload). <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明はメモリマッピング方法およびバッファメモリ回路、特にATM(Asynchronous Transfer Mode)セル等の2のn乗でないバイト長のデータを格納するのに好適なメモリマッピング方法およびバッファメモリ回路に関する。
【0002】
【従来の技術】
バッファメモリは、処理速度が早い装置から遅い装置へと情報を転送する際に、転送の待ち時間を減少したり、データの溢れを防止したりするため等に、装置と装置間に配置して一時的にデータを記憶させるメモリである。バッファメモリは、多くの場合、DRAM(Dynamic Random Access Memory)等の半導体集積回路(IC又はLSI)により構成されている。斯かるDRAMは、標準化され複数のメーカから、比較的安価に入手可能である。
【0003】
ATM関連装置においては、セルのスピード変換や、CDV(Cell Delay Variation)を吸収する目的でATMセルを一定量FIFO(先入れ先出し)メモリ等のバッファメモリに溜め込むことが一般に行われる。ATMセルは、通常5バイトのヘッダおよび48バイトのペイロード(情報部)よりなる53バイトのフォーマットである。このようなATMデータをバッファメモリにマッピングする従来の幾つかのメモリ構成方法が提案されている(例えば、特許文献1参照。)。
【0004】
図7は、従来の第1メモリマッピング方法を示す。この第1メモリマッピング方法では、メモリを64(即ち、53より大きい2のn乗のうち最小値)バイト単位で区切って53バイトセルを格納する。そこで、セル単位の処理は容易である。即ち、メモリアドレスの上位桁のみを使用することで、データの溜まり量を容易に確認でき、セル単位の処理や管理を行い易い。一方、図8は、従来の第2メモリマッピング方法を示す。この第2メモリマッピング方法では、53バイト単位に詰めて(即ち、空きを生じることなく)マッピングする。このメモリマッピング方法では、メモリのアドレスに対してATMセルの先頭位置が固定されないため、メモリのデータ溜まり量を監視するために大規模演算回路が必要となる。
【0005】
【特許文献1】
特開2000−278278号公報(第3−4頁、第1、第3図)
【0006】
【発明が解決しようとする課題】
上述した従来の技術は、幾つかの課題を有する。即ち、図7のメモリマッピング方法では、1セルの格納領域当たり(64−53=)11バイトの未使用領域(図7の斜線部分)があり、メモリの使用効率が悪い。一方、メモリの使用効率を優先するとすれば、図8に示す如く53バイト単位に詰めてマッピングすることになる。この場合には、各セル単位の先頭アドレス値が53×n−1(即ち、10進で0、52、105、158、211、264、・・・)となり、セル単位の管理が行い難い。
【0007】
図8のマッピング方法でセル単位の管理を行おうとすると、メモリに供給するアドレスカウンタ値からセル数量を演算するデコーダを追加するか、アドレスカウンタと別にセルの数量をカウントするカウンタを追加する等の処置が必要となる。デコーダを追加した場合には、特に溜め込むべきセルが多いとき、デコーダの回路規模が大きくなり且つ回路の動作スピードを制限する懸念がある。一方、アドレスカウンタとは別にセルカウンタを追加した場合には、何らかの理由でメモリアドレスカウンタとセルカウンタの値の整合性が崩れたとき、これを判定し且つ復旧させるための仕組みを作る必要があり、回路が複雑となってしまう。以上を要約すると、図7の従来例ではセル単位の管理を行い易い反面、メモリの使用効率が悪い。図8の従来例では、メモリの使用効率は良いが、セル単位の管理を行う場合に、デコーダ追加による回路規模の増加および動作スピードの制限又はセルカウンタの追加による回路の複雑化を招来する。
【0008】
【発明の目的】
本発明は従来技術の上述した課題に鑑みなされたものであり、図7又は図8の例のそれぞれの長所、即ちセル単位の管理の容易さおよびメモリの使用効率を共に満足するメモリマッピング方法およびバッファメモリ回路を提供するものである。
【0009】
【課題を解決するための手段】
前述の課題を解決するため、本発明のメモリマッピング方法およびバッファメモリ回路は次のような特徴的な構成を採用している。
【0010】
(1)2のn乗でないバイト長で順次入力されるデータを一時的に書き込み、その後に読み出すバッファメモリのメモリマッピング方法において、
前記2のn乗でないバイト長を、複数の2のn乗の単位に分割し、該分割された単位毎に独立に用意された複数のメモリ部に前記データをマッピングするメモリマッピング方法。
【0011】
(2)前記入力データは、53バイト長のATMセルデータである上記(1)のメモリマッピング方法。
【0012】
(3)前記複数のメモリ部は、4バイトの第1メモリ部、1バイトの第2メモリ部、16バイトの第3メモリ部および32バイトの第4メモリ部である上記(2)のメモリマッピング方法。
【0013】
(4)前記複数のメモリ部は、4バイトの第1メモリ部、1バイトの第2メモリ部およびそれぞれ8バイトの第3メモリ部乃至第8メモリ部である上記(2)のメモリマッピング方法。
【0014】
(5)前記複数のメモリ部は、4バイトの第1メモリ部、1バイトの第2メモリ部およびそれぞれ16バイトの第3メモリ部乃至第5メモリ部である上記(2)のメモリマッピング方法。
【0015】
(6)前記ATMセルデータのヘッダを前記第1メモリ部および第2メモリ部に格納し、前記ATMセルデータの情報(ペイロード)を前記第3メモリ部以降のメモリ部に格納する上記(3)、(4)又は乃至(5)のメモリマッピング方法。
【0016】
(7)順次入力される2のn乗でないバイト長のデータを一時的に書き込み、その後に読み出すバッファメモリ回路において、
バッファメモリをそれぞれ2のn乗のバイト長の複数のメモリ部に区分して構成し、該複数のメモリ部の書き込みおよび読み出しを制御するアドレスカウンタとして、それぞれ縦続接続されたバイトカウンタ、セクションカウンタおよびセルカウンタを備えるバッファメモリ回路。
【0017】
(8)前記入力データは、5バイトのヘッダおよび48バイトの情報(ペイロード)の53バイト長のATMセルデータである上記(7)のバッファメモリ回路。
【0018】
(9)前記複数のメモリ部は、前記ATMセルデータのヘッダを格納する4バイトの第1メモリ部および1バイトの第2メモリ部と、前記ATMセルデータの情報(ペイロード)を格納する8バイト、16バイト又は32バイトの第3以降の複数のメモリ部とにより構成される上記(8)のバッファメモリ回路。
【0019】
【発明の実施の形態】
以下、本発明によるメモリマッピング方法およびバッファメモリ回路の好適実施形態の構成および動作を、添付図を参照して詳細に説明する。
【0020】
図1は、本発明の好適実施形態におけるATMセルのフォーマット図である。
このATMセル10は、例えば53バイトから成り、図1(A)に示す如く、このATMセル10は、4バイトの第1メモリ部(mem0)11、1バイトの第2メモリ部(mem1)12、16バイトの第3メモリ部(mem2)13および32バイトの第4メモリ部(mem3)14により構成される。そして、ATMセルの5バイトのヘッダを第1メモリ部111および第2メモリ部112に格納し、48バイトの情報(ペイロード)を第3メモリ部113および第4メモリ部114に格納するよう構成している。
【0021】
図1(B)は、第1メモリ部11の詳細構成を示す。図1(C)は、第2メモリ部12の詳細構成を示す。図1(D)は、第3メモリ部13の詳細構成を示す。また、図1(E)は、第4メモリ部14の詳細構成を示す。図1(B)〜(E)に示す如く、第1メモリ部111〜第4メモリ部114には、それぞれ4バイト、1バイト、16バイトおよび32バイトの複数のメモリを含んでいる。そして、順次入力されるATMセルをこれらメモリの順次のアドレスに格納する。
【0022】
例えば、最初のATMセルは、最初の4バイトを第1メモリ部111のアドレス0x0000〜0x0003、次の1バイトを第2メモリ部112のアドレス0x0000、次の16バイトを第3メモリ部113のアドレス0x0000〜0x000F、そして最後の32バイトを第4メモリ部114のアドレス0x0000〜0x001Fに格納する。2番目のATMセルの最初の4バイトを第1メモリ部111のアドレス0x0004〜0x0007、次の1バイトを第2メモリ部112のアドレス0x0001、次の16バイトを第3メモリ部113のアドレス0x0010〜0x001F、最後の32バイトを第4メモリ部114のアドレス0x0020〜0x003Fに格納する。3番目以下のATMセルも、上述と同様に第1メモリ部111〜第4メモリ部114の次のアドレスに順次格納する。
【0023】
以上の如く、本発明では、2のn乗でない特定バイト数のデータを、1、2、4、8、16、・・・の如く複数の2のn乗のメモリ部に分割して格納する。
【0024】
次に、図2は、図1に示す本発明におけるATMセル10の第1メモリ部11〜第4メモリ部14に入力されるATMセルを格納(又は書き込み)するアドレス生成部20の構成図である。このアドレス生成部20は、バイト(Byte)カウンタ21、セクション(Section)カウンタ22、セル(Cell)カウンタ23およびデコーダ(DEC)24により構成される。
【0025】
説明の都合上、バッファメモリの入力信号として、ATMセル入力データ「D」、アドレス「A[xxxx・・・0]」、チップセレクト「CS」のみを示す。アドレス生成部20のバイトカウンタ21、セクションカウンタ22およびセルカウンタ23の3つのカウンタは、縦続(カスケード)接続されている。この特定例では、53バイトのATMセルを4つのメモリ部111〜114に分割(区分)して格納する。この4つを区別するカウンタをセクションカウンタと称することにする。
【0026】
次に、図3は、図1および図2に示すATMセルの書き込み動作を説明するタイミングチャートを示す。図3において、(a)はATMセル入力データ、(b)はバイトカウンタ21の出力信号、(c)はセクションカウンタ22の出力信号および(d)はセルカウンタ23の出力信号である。
【0027】
図3において、最初に、全てのカウンタ値は「0」である。ATMセルの先頭4バイト分の書き込みにおいて、バイトカウンタ21の出力信号BC[4−0]が「0」から「3」までインクリメントする。その次の1バイトの書き込みで、バイトカウンタ21の出力信号BC[4−0]は「0」に戻りつつ、セクションカウンタ22の出力信号SC[1−0]が「1」にインクリメントする。以降、セクション毎にバイトカウンタ21の出力信号BC[4−0]は「0」に戻りつつ、セクションカウンタ22の出力信号SC[1−0]がインクリメントする。そして、53バイトが書き込み終わると、次のATMセルの先頭でセルカウンタ23の出力信号CC[xxxxx]がインクリメントする。バイトカウンタ21、セクションカウンタ22とも2のn乗単位の数をカウントするので、回路構成が容易であることに注目されたい。
【0028】
バイトカウンタ21については、1セル当たりの格納量がメモリ毎に異なるので、アドレス(図2のBC[4−0])の配線を次のようにすることで、本特定例の動作を満足する。即ち、第1メモリ部(mem0)111に対しては、バイトカウンタ21の下位側の2本BC[1−0]を接続し、第2メモリ部(mem1)112に対しては接続なし、第3メモリ部(mem2)113に対してはBC[3−0]および第4メモリ部(mem3)114に対してはBC[4−0]を接続する。また、セクションカウンタ22の出力信号は、2対4のデコーダ24を介して4つのメモリ部111〜114のCS(チップセレクト)に接続され、格納先のメモリ部を選択する。このデコーダ24は、2対4の比較的浅いデコーダでよいので、回路規模が小さく、動作スピードが制限される可能性も少ない。
【0029】
次に、図4は、ATMセルを構成するメモリ部11〜14の読み出し側の構成を示す。読み出し側は、基本的に書き込み側と同様構成であり、同様に動作する。即ち、縦続接続されたバイトカウンタ31、セクションカウンタ32、およびセルカウンタ33の3個のカウンタとセレクタ(SEL)34により構成される。
そして、セクションカウンタ32の出力信号が、セレクタ34に入力される。セレクタ34は、セクションカウンタ32の値が「0」の場合に、第1メモリ部111を選択する。一方、「1」〜「3」の場合に、それぞれ第2メモリ部112〜第4メモリ部114を選択する。
【0030】
図5は、図4に示すATMセルの読み出し動作のタイミングチャートである。
図5において、(a)はバイトカウンタ31の出力信号、(b)はセクションカウンタ32の出力信号、(c)はセルカウンタ33の出力信号、(d)〜(g)は第1メモリ111〜第4メモリ114の読み出し状態および(h)はセレクタ34から出力されるATMセル出力データを示す。
【0031】
最初に、各カウンタ31〜33の値は「0」である。バイトカウンタ31が「0」から「3」にカウントアップする。この間、第1メモリ部111〜第4メモリ部114から同時にデータが読み出されるが、有意なデータは第1メモリ部111の出力データである。この間、セクションカウンタ32は「0」を示し、セレクタ34により第1メモリ部111のデータが選択される。次の区間では、バイトカウンタ31が「0」に戻りつつ、セクションカウンタ32が「1」となる。この区間では、有意なデータは第2メモリ部112のデータであり、セクションカウンタ32が「1」であるので、セレクタ34が第2メモリ部112のデータを選択する。以下同様に動作を繰り返すことで、ATMセルが読み出され、53バイトのATMセルが再生される(図5(h)参照)。
【0032】
以上、本発明によるメモリマッピング方法およびバッファメモリ回路の好適実施形態について詳述した。しかし、斯かる実施形態は、本発明の単なる例示に過ぎず、本発明は斯かる実施形態に限定されるものではない。本発明の要旨を逸脱することなく特定用途に応じて又は適宜種々の変形変更が可能であること、当業者には容易に理解できよう。上述した好適実施形態のATMセル10では、メモリを4分割(又は区分)していたが、例えば図6(a)に示す如く4バイト、1バイト、8バイト×6の8分割としても良い。この場合には、メモリも8個の独立したメモリを用意し、バイトカウンタ、セクションカウンタ、セルカウンタは図6(b)〜(d)のタイミングチャートに示す動作となるように構成する。各カウンタの詳細構成は、セルの分割順序や大きさによって何通りもあり得るので説明は省略する。
【0033】
更に、ATMセルデータの情報(ペイロード)を格納するメモリ部は、例えば16バイト長の3個のメモリ部により構成してもよい。また、ATMセルの長さについても53バイトに限らず、(2のn乗でない)あらゆるセル長のデータのバッファメモリ回路に適応可能なことは明らかである。
【0034】
【発明の効果】
以上の説明から理解される如く、本発明のメモリマッピング方法およびバッファメモリ回路によると、次の如き実用上の顕著な効果が得られる。2のn乗でない複数バイトのデータを、2のn乗の長さ単位に複数に分割(区分)したメモリ部に格納(又はマッピング)することにより、メモリに空きを生じることなく、メモリの使用効率を最大限生かすことが可能である。また、セル単位の管理や制御を行い易いという効果がある。更に、書き込みおよび読み出し回路の回路規模も比較的小規模とし、回路の動作速度の制限がない。本発明は、ATMバッファメモリを含めた周辺回路をLSIおよびFPGA等のデバイスに集積する際に、特に効果を発揮する。
【図面の簡単な説明】
【図1】本発明の好適実施形態におけるATMセルのフォーマット図である。
【図2】本発明の実施形態における書き込み回路の構成図である。
【図3】図2に示す実施形態における書き込み動作を説明するタイミングチャートである。
【図4】本発明の実施形態における読み出し回路の構成を示す図である。
【図5】図4に示す実施形態における読み出し動作を説明するタイミングチャートである。
【図6】本発明の他の実施形態の構成および動作説明図である。
【図7】メモリマッピングの第1従来例である。
【図8】メモリマッピングの第2従来例である。
【符号の説明】
10 ATMセル
11、111 第1メモリ部
12、112 第2メモリ部
13、113 第3メモリ部
14、114 第4メモリ部
20 書き込みアドレス生成部
21、31 バイトカウンタ
22、32 セクションカウンタ
23、33 セルカウンタ
24 デコーダ
34 セレクタ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a memory mapping method and a buffer memory circuit, and more particularly to a memory mapping method and a buffer memory circuit suitable for storing data of a byte length other than 2 n, such as an ATM (Asynchronous Transfer Mode) cell.
[0002]
[Prior art]
When transferring information from a device having a high processing speed to a device having a low processing speed, a buffer memory is disposed between devices so as to reduce a transfer waiting time and prevent data overflow. This is a memory for temporarily storing data. In many cases, the buffer memory is constituted by a semiconductor integrated circuit (IC or LSI) such as a DRAM (Dynamic Random Access Memory). Such DRAMs are standardized and are available at relatively low cost from multiple manufacturers.
[0003]
In an ATM-related apparatus, a certain amount of ATM cells is generally stored in a buffer memory such as a FIFO (first-in first-out) memory for the purpose of converting the cell speed or absorbing CDV (Cell Delay Variation). The ATM cell has a 53-byte format which usually includes a 5-byte header and a 48-byte payload (information section). Some conventional memory configuration methods for mapping such ATM data to a buffer memory have been proposed (for example, see Patent Document 1).
[0004]
FIG. 7 shows a conventional first memory mapping method. In the first memory mapping method, a memory is divided into 64 (that is, the minimum value of 2 to the n-th power larger than 53) bytes, and 53-byte cells are stored. Therefore, processing in units of cells is easy. That is, by using only the upper digits of the memory address, the amount of accumulated data can be easily confirmed, and processing and management in units of cells can be easily performed. FIG. 8 shows a second conventional memory mapping method. In the second memory mapping method, mapping is performed in units of 53 bytes (that is, without creating a space). In this memory mapping method, since the head position of the ATM cell is not fixed with respect to the address of the memory, a large-scale arithmetic circuit is required to monitor the amount of data accumulated in the memory.
[0005]
[Patent Document 1]
JP-A-2000-278278 (pages 3-4, FIGS. 1, 3)
[0006]
[Problems to be solved by the invention]
The conventional technique described above has several problems. That is, in the memory mapping method of FIG. 7, there is an unused area (hatched portion in FIG. 7) of 11 bytes (64-53 =) per storage area of one cell, and the memory use efficiency is poor. On the other hand, if priority is given to memory use efficiency, mapping is performed in units of 53 bytes as shown in FIG. In this case, the head address value of each cell unit is 53 × n−1 (that is, 0, 52, 105, 158, 211, 264,... In decimal), and it is difficult to manage the cell unit.
[0007]
In order to manage the cell unit by the mapping method shown in FIG. 8, a decoder for calculating the number of cells from the address counter value supplied to the memory is added, or a counter for counting the number of cells is added separately from the address counter. Action is required. When a decoder is added, there is a concern that the circuit scale of the decoder becomes large and the operation speed of the circuit is limited, especially when there are many cells to be stored. On the other hand, when a cell counter is added separately from the address counter, if the consistency between the values of the memory address counter and the cell counter is lost for some reason, it is necessary to create a mechanism for determining and restoring this. However, the circuit becomes complicated. Summarizing the above, in the conventional example of FIG. 7, although the management in units of cells is easy, the use efficiency of the memory is low. In the conventional example shown in FIG. 8, although the use efficiency of the memory is good, when the management is performed in units of cells, the circuit scale is increased by adding a decoder and the operation speed is limited, or the circuit is complicated by adding a cell counter.
[0008]
[Object of the invention]
The present invention has been made in view of the above-mentioned problems of the prior art, and has a memory mapping method that satisfies both advantages of the example of FIG. 7 or 8, that is, both ease of management in cell units and memory use efficiency. A buffer memory circuit is provided.
[0009]
[Means for Solving the Problems]
In order to solve the above-mentioned problems, the memory mapping method and the buffer memory circuit of the present invention employ the following characteristic configurations.
[0010]
(1) In a memory mapping method of a buffer memory for temporarily writing data sequentially input with a byte length other than 2 to the power of n and then reading the data,
A memory mapping method for dividing the byte length other than 2 to the power of n into a plurality of units of 2 to the power of n, and mapping the data to a plurality of memory units independently prepared for each of the divided units.
[0011]
(2) The memory mapping method according to (1), wherein the input data is ATM cell data having a length of 53 bytes.
[0012]
(3) The memory mapping according to (2), wherein the plurality of memory units are a 4-byte first memory unit, a 1-byte second memory unit, a 16-byte third memory unit, and a 32-byte fourth memory unit. Method.
[0013]
(4) The memory mapping method according to (2), wherein the plurality of memory units are a 4-byte first memory unit, a 1-byte second memory unit, and an 8-byte third to eighth memory unit.
[0014]
(5) The memory mapping method according to (2), wherein the plurality of memory units are a 4-byte first memory unit, a 1-byte second memory unit, and a 16-byte third to fifth memory unit.
[0015]
(6) The header of the ATM cell data is stored in the first memory unit and the second memory unit, and the information (payload) of the ATM cell data is stored in a memory unit subsequent to the third memory unit. , (4) or (5).
[0016]
(7) In a buffer memory circuit for sequentially writing sequentially input data having a byte length other than 2 to the power of n and then reading out the data,
The buffer memory is divided into a plurality of memory units each having a length of 2 n bytes, and as an address counter for controlling writing and reading of the plurality of memory units, a byte counter, a section counter, and a cascade-connected byte counter, respectively. A buffer memory circuit including a cell counter.
[0017]
(8) The buffer memory circuit according to (7), wherein the input data is 53-byte ATM cell data having a 5-byte header and 48-byte information (payload).
[0018]
(9) The plurality of memory units include a 4-byte first memory unit and a 1-byte second memory unit for storing a header of the ATM cell data, and an 8-byte for storing information (payload) of the ATM cell data. , The buffer memory circuit according to the above (8), comprising a third or a plurality of memory units of 16 bytes or 32 bytes.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the configuration and operation of a preferred embodiment of a memory mapping method and a buffer memory circuit according to the present invention will be described in detail with reference to the accompanying drawings.
[0020]
FIG. 1 is a format diagram of an ATM cell in a preferred embodiment of the present invention.
The ATM cell 10 is composed of, for example, 53 bytes. As shown in FIG. 1A, the ATM cell 10 has a 4-byte first memory unit (mem0) 11 and a 1-byte second memory unit (mem1) 12. , A 16-byte third memory unit (mem2) 13 and a 32-byte fourth memory unit (mem3) 14. The 5-byte header of the ATM cell is stored in the first memory unit 111 and the second memory unit 112, and the 48-byte information (payload) is stored in the third memory unit 113 and the fourth memory unit 114. ing.
[0021]
FIG. 1B shows a detailed configuration of the first memory unit 11. FIG. 1C shows a detailed configuration of the second memory unit 12. FIG. 1D shows a detailed configuration of the third memory unit 13. FIG. 1E shows a detailed configuration of the fourth memory unit 14. As shown in FIGS. 1B to 1E, the first to fourth memory units 111 to 114 include a plurality of memories of 4 bytes, 1 byte, 16 bytes and 32 bytes, respectively. Then, the sequentially input ATM cells are stored at sequential addresses of these memories.
[0022]
For example, in the first ATM cell, the first 4 bytes are addresses 0x0000 to 0x0003 of the first memory unit 111, the next 1 byte is an address 0x0000 of the second memory unit 112, and the next 16 bytes are an address of the third memory unit 113. 0x0000 to 0x000F and the last 32 bytes are stored at addresses 0x0000 to 0x001F of the fourth memory unit 114. The first 4 bytes of the second ATM cell are the addresses 0x0004 to 0x0007 of the first memory unit 111, the next 1 byte is the address 0x0001 of the second memory unit 112, and the next 16 bytes are the addresses 0x0010 to 0x0010 of the third memory unit 113. 0x001F and the last 32 bytes are stored in the fourth memory unit 114 at addresses 0x0020 to 0x003F. The third and lower ATM cells are sequentially stored at the next addresses of the first to fourth memory units 111 to 114 in the same manner as described above.
[0023]
As described above, in the present invention, data of a specific number of bytes other than 2 n is divided and stored in a plurality of 2 n memory units such as 1, 2, 4, 8, 16,. .
[0024]
Next, FIG. 2 is a configuration diagram of an address generation unit 20 that stores (or writes) the ATM cells input to the first to fourth memory units 11 to 14 of the ATM cell 10 according to the present invention shown in FIG. is there. The address generator 20 includes a byte (Byte) counter 21, a section (Section) counter 22, a cell (Cell) counter 23, and a decoder (DEC) 24.
[0025]
For convenience of explanation, only input data "D" of ATM cell, address "A [xxxx ... 0]", and chip select "CS" are shown as input signals of the buffer memory. The three counters of the address generation unit 20, that is, the byte counter 21, the section counter 22, and the cell counter 23 are connected in cascade. In this specific example, a 53-byte ATM cell is divided (divided) and stored in four memory units 111 to 114. A counter that distinguishes the four will be referred to as a section counter.
[0026]
Next, FIG. 3 shows a timing chart for explaining the write operation of the ATM cell shown in FIGS. In FIG. 3, (a) shows the ATM cell input data, (b) shows the output signal of the byte counter 21, (c) shows the output signal of the section counter 22, and (d) shows the output signal of the cell counter 23.
[0027]
In FIG. 3, first, all counter values are “0”. In writing the first four bytes of the ATM cell, the output signal BC [4-0] of the byte counter 21 is incremented from "0" to "3". In the next 1-byte write, the output signal BC [4-0] of the byte counter 21 returns to “0”, and the output signal SC [1-0] of the section counter 22 increments to “1”. Thereafter, while the output signal BC [4-0] of the byte counter 21 returns to “0” for each section, the output signal SC [1-0] of the section counter 22 is incremented. Then, when 53 bytes have been written, the output signal CC [xxxxxx] of the cell counter 23 is incremented at the beginning of the next ATM cell. It should be noted that since the byte counter 21 and the section counter 22 both count the number of 2 n units, the circuit configuration is easy.
[0028]
Regarding the byte counter 21, since the storage amount per cell differs for each memory, the operation of this specific example is satisfied by wiring the address (BC [4-0] in FIG. 2) as follows. . In other words, the lower two BCs [1-0] of the byte counter 21 are connected to the first memory unit (mem0) 111, and no connection is made to the second memory unit (mem1) 112. BC [3-0] is connected to the third memory unit (mem2) 113, and BC [4-0] is connected to the fourth memory unit (mem3) 114. The output signal of the section counter 22 is connected to the CS (chip select) of the four memory units 111 to 114 via the two-to-four decoder 24, and selects the storage destination memory unit. Since the decoder 24 may be a relatively shallow decoder of 2: 4, the circuit scale is small, and there is little possibility that the operation speed is limited.
[0029]
Next, FIG. 4 shows the configuration on the reading side of the memory units 11 to 14 constituting the ATM cell. The reading side has basically the same configuration as the writing side and operates similarly. That is, it is constituted by three counters of a cascade-connected byte counter 31, section counter 32, and cell counter 33 and a selector (SEL).
Then, the output signal of the section counter 32 is input to the selector 34. The selector 34 selects the first memory unit 111 when the value of the section counter 32 is “0”. On the other hand, in the case of “1” to “3”, the second memory unit 112 to the fourth memory unit 114 are selected, respectively.
[0030]
FIG. 5 is a timing chart of the read operation of the ATM cell shown in FIG.
5, (a) shows the output signal of the byte counter 31, (b) shows the output signal of the section counter 32, (c) shows the output signal of the cell counter 33, and (d) to (g) show the first memories 111 to 11. The read state of the fourth memory 114 and (h) show the ATM cell output data output from the selector 34.
[0031]
First, the value of each of the counters 31 to 33 is “0”. The byte counter 31 counts up from “0” to “3”. During this time, data is simultaneously read from the first memory unit 111 to the fourth memory unit 114, but significant data is output data of the first memory unit 111. During this time, the section counter 32 indicates “0”, and the selector 34 selects data in the first memory unit 111. In the next section, the section counter 32 becomes "1" while the byte counter 31 returns to "0". In this section, significant data is data in the second memory unit 112 and the section counter 32 is “1”, so the selector 34 selects data in the second memory unit 112. Thereafter, by repeating the operation in the same manner, the ATM cell is read, and the 53-byte ATM cell is reproduced (see FIG. 5H).
[0032]
The preferred embodiments of the memory mapping method and the buffer memory circuit according to the present invention have been described above in detail. However, such an embodiment is merely an exemplification of the present invention, and the present invention is not limited to such an embodiment. It will be readily apparent to those skilled in the art that various modifications can be made according to a specific application or as appropriate without departing from the spirit of the present invention. In the ATM cell 10 of the preferred embodiment described above, the memory is divided into four (or divided). However, as shown in FIG. 6A, the memory may be divided into four bytes, one byte, and eight bytes × 6. In this case, eight independent memories are prepared, and the byte counter, the section counter, and the cell counter are configured to operate as shown in the timing charts of FIGS. 6B to 6D. The detailed configuration of each counter can be any of a number depending on the cell division order and size, and a description thereof will be omitted.
[0033]
Further, the memory unit for storing the information (payload) of the ATM cell data may be constituted by three memory units having a length of 16 bytes, for example. Also, it is clear that the length of the ATM cell is not limited to 53 bytes and can be applied to a buffer memory circuit for data of any cell length (not 2 n).
[0034]
【The invention's effect】
As understood from the above description, the memory mapping method and the buffer memory circuit according to the present invention have the following practically significant effects. By storing (or mapping) data of a plurality of bytes other than 2 to the power of n in a memory unit divided (divided) into a plurality of length units of 2 to the power of n, the memory can be used without any free space. It is possible to make the most of efficiency. In addition, there is an effect that management and control in a cell unit can be easily performed. Further, the circuit scale of the write and read circuits is relatively small, and there is no limitation on the operation speed of the circuit. The present invention is particularly effective when peripheral circuits including an ATM buffer memory are integrated in devices such as LSIs and FPGAs.
[Brief description of the drawings]
FIG. 1 is a format diagram of an ATM cell according to a preferred embodiment of the present invention.
FIG. 2 is a configuration diagram of a write circuit according to the embodiment of the present invention.
FIG. 3 is a timing chart for explaining a write operation in the embodiment shown in FIG. 2;
FIG. 4 is a diagram illustrating a configuration of a read circuit according to the embodiment of the present invention.
FIG. 5 is a timing chart illustrating a read operation in the embodiment shown in FIG.
FIG. 6 is a diagram illustrating the configuration and operation of another embodiment of the present invention.
FIG. 7 is a first conventional example of memory mapping.
FIG. 8 is a second conventional example of memory mapping.
[Explanation of symbols]
10 ATM cells 11, 111 First memory unit 12, 112 Second memory unit 13, 113 Third memory unit 14, 114 Fourth memory unit 20 Write address generation unit 21, 31 Byte counter 22, 32 Section counter 23, 33 cells Counter 24 decoder 34 selector

Claims (9)

2のn乗でないバイト長で順次入力されるデータを一時的に書き込み、その後に読み出すバッファメモリのメモリマッピング方法において、
前記2のn乗でないバイト長を、複数の2のn乗の単位に分割し、該分割された単位毎に独立に用意された複数のメモリ部に前記データをマッピングすることを特徴とするメモリマッピング方法。
In a memory mapping method of a buffer memory, data to be sequentially input with a byte length other than 2 n is temporarily written and then read.
A memory for dividing the byte length other than 2 to the power of n into a plurality of units of 2 to the power of n, and mapping the data to a plurality of memory units independently prepared for each of the divided units; Mapping method.
前記入力データは、53バイト長のATMセルデータであることを特徴とする請求項1に記載のメモリマッピング方法。2. The memory mapping method according to claim 1, wherein the input data is ATM cell data having a length of 53 bytes. 前記複数のメモリ部は、4バイトの第1メモリ部、1バイトの第2メモリ部、16バイトの第3メモリ部および32バイトの第4メモリ部であることを特徴とする請求項2に記載のメモリマッピング方法。3. The memory device according to claim 2, wherein the plurality of memory units are a 4-byte first memory unit, a 1-byte second memory unit, a 16-byte third memory unit, and a 32-byte fourth memory unit. Memory mapping method. 前記複数のメモリ部は、4バイトの第1メモリ部、1バイトの第2メモリ部およびそれぞれ8バイトの第3メモリ部乃至第8メモリ部であることを特徴とする請求項2に記載のメモリマッピング方法。The memory according to claim 2, wherein the plurality of memory units are a 4-byte first memory unit, a 1-byte second memory unit, and an 8-byte third to eighth memory unit. Mapping method. 前記複数のメモリ部は、4バイトの第1メモリ部、1バイトの第2メモリ部およびそれぞれ16バイトの第3メモリ部乃至第5メモリ部であることを特徴とする請求項2に記載のメモリマッピング方法。The memory according to claim 2, wherein the plurality of memory units are a 4-byte first memory unit, a 1-byte second memory unit, and a 16-byte third to fifth memory unit. Mapping method. 前記ATMセルデータのヘッダを前記第1メモリ部および第2メモリ部に格納し、前記ATMセルデータの情報(ペイロード)を前記第3メモリ部以降のメモリ部に格納することを特徴とする請求項3、4又は乃至5に記載のメモリマッピング方法。The method according to claim 1, wherein a header of the ATM cell data is stored in the first memory unit and the second memory unit, and information (payload) of the ATM cell data is stored in a memory unit after the third memory unit. 6. The memory mapping method according to 3, 4, or 5. 順次入力される2のn乗でないバイト長のデータを一時的に書き込み、その後に読み出すバッファメモリ回路において、
バッファメモリをそれぞれ2のn乗のバイト長の複数のメモリ部に区分して構成し、該複数のメモリ部の書き込みおよび読み出しを制御するアドレスカウンタとして、それぞれ縦続接続されたバイトカウンタ、セクションカウンタおよびセルカウンタを備えることを特徴とするバッファメモリ回路。
In a buffer memory circuit, which sequentially writes data having a byte length other than 2 to the power of n and sequentially reads out the data,
The buffer memory is divided into a plurality of memory units each having a length of 2 n bytes, and as an address counter for controlling writing and reading of the plurality of memory units, a byte counter, a section counter, and a cascade-connected byte counter, respectively. A buffer memory circuit comprising a cell counter.
前記入力データは、5バイトのヘッダおよび48バイトの情報(ペイロード)の53バイト長のATMセルデータであることを特徴とする請求項7に記載のバッファメモリ回路。8. The buffer memory circuit according to claim 7, wherein said input data is a 53-byte ATM cell data having a 5-byte header and 48-byte information (payload). 前記複数のメモリ部は、前記ATMセルデータのヘッダを格納する4バイトの第1メモリ部および1バイトの第2メモリ部と、前記ATMセルデータの情報(ペイロード)を格納する8バイト、16バイト又は32バイトの第3以降の複数のメモリ部とにより構成されることを特徴とする請求項8に記載のバッファメモリ回路。The plurality of memory units include a 4-byte first memory unit and a 1-byte second memory unit for storing a header of the ATM cell data, and 8-byte and 16-byte stores information (payload) of the ATM cell data. 9. The buffer memory circuit according to claim 8, wherein said buffer memory circuit is constituted by a plurality of memory units of 32 bytes or more.
JP2002380998A 2002-12-27 2002-12-27 Memory mapping method and buffer memory circuit Expired - Fee Related JP4009530B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002380998A JP4009530B2 (en) 2002-12-27 2002-12-27 Memory mapping method and buffer memory circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002380998A JP4009530B2 (en) 2002-12-27 2002-12-27 Memory mapping method and buffer memory circuit

Publications (3)

Publication Number Publication Date
JP2004214880A true JP2004214880A (en) 2004-07-29
JP2004214880A5 JP2004214880A5 (en) 2005-12-22
JP4009530B2 JP4009530B2 (en) 2007-11-14

Family

ID=32817059

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002380998A Expired - Fee Related JP4009530B2 (en) 2002-12-27 2002-12-27 Memory mapping method and buffer memory circuit

Country Status (1)

Country Link
JP (1) JP4009530B2 (en)

Also Published As

Publication number Publication date
JP4009530B2 (en) 2007-11-14

Similar Documents

Publication Publication Date Title
KR100420422B1 (en) Queue manager for a buffer
US5602780A (en) Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
JP2005505029A5 (en)
KR100498233B1 (en) First-in first-out memory circuit and method for executing the same
US7136309B2 (en) FIFO with multiple data inputs and method thereof
JP4009530B2 (en) Memory mapping method and buffer memory circuit
US7372755B2 (en) On-chip storage memory for storing variable data bits
JP3103298B2 (en) ATM switch address generation circuit
JPS61196340A (en) Method of addressing random access memory as delay line and signal processor containing same delay line
JPH07182849A (en) Fifo memory
JPH06284453A (en) Atm cell switch
JPH03242064A (en) High-capacity memory based on packet switch
JP2713487B2 (en) Packet buffer circuit and packet processing circuit
JPH10112178A (en) Fifo memory and its manufacture
JP3511342B2 (en) Data storage circuit
JPH01119823A (en) First-in first-out storage device
CN115878532A (en) Data transmission system and data transmission method
US6874068B1 (en) Shared memory
JP2508861B2 (en) Word multi-time switch
JP2000040354A (en) Storage device
JPS63141126A (en) First-in first-out memory
JPH09330588A (en) Sequential data memory
JPH04276376A (en) Fifo memory provided with pointer en function
JPS62209792A (en) Fifo circuit
JPH04156015A (en) Phase difference absorption circuit

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051107

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070731

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070817

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070903

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100907

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110907

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120907

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees