Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Memory folding technique for overcoming segmentation discontinuity

IP.com Disclosure Number: IPCOM000033155D
Original Publication Date: 2004-Dec-25
Included in the Prior Art Database: 2004-Dec-25
Document File: 5 page(s) / 34K

Publishing Venue

Siemens

Related People

Juergen Carstens: CONTACT

Abstract

The following two distinct problems are to be solved: a) Segmentation is a common solution to guarantee efficient use of the available memory in network processing systems. This limited memory brings the problem of handling large frames or packets spreading across multiple segments. The possibility of data discontinuity leads to a scenario where part of the message-field is at one location and rest of the message-field at distant location (see example in Figure 1 below). b) Message-fields are often byte aligned, whereas protocol processors access data in 32, 48, 64, ... -bit words in one go. This leads to more complicated software that needs to cater for possible multiple positions of a message-field within the long word spreading across several bytes (see example in Figure 2 below). It is also possible that the required data field might not begin on a byte boundary. Up to now, there are five solutions as follows. a) Software handling of segmentation discontinuity and byte alignment: By noting the byte address, software decides which of the byte locations are to be accessed. In addition the software must constantly check for discontinuity. Disadvantage: lower performance and large code size. b) Byte access instruction:

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 38% of the total text.

Page 1 of 5

S

Memory folding technique for overcoming segmentation discontinuity

Idea: Taro Kamiko, SG-Singapore; Juraj Povazanec, SG-Singapore; Biju Sukumaran, SG-

Singapore; Chun Feng Hu, SG-Singapore

The following two distinct problems are to be solved:

a) Segmentation is a common solution to guarantee efficient use of the available memory in network processing systems. This limited memory brings the problem of handling large frames or packets spreading across multiple segments. The possibility of data discontinuity leads to a scenario where part of the message-field is at one location and rest of the message-field at distant location (see example in Figure 1 below).

b) Message-fields are often byte aligned, whereas protocol processors access data in 32, 48, 64, ... - bit words in one go. This leads to more complicated software that needs to cater for possible multiple positions of a message-field within the long word spreading across several bytes (see example in Figure 2 below). It is also possible that the required data field might not begin on a byte boundary.

Up to now, there are five solutions as follows.

a) Software handling of segmentation discontinuity and byte alignment:

By noting the byte address, software decides which of the byte locations are to be accessed. In addition the software must constantly check for discontinuity. Disadvantage: lower performance and large code size.

b) Byte access instruction:

Some processors have a possibility of byte access, in addition to multi-byte access, which can remove the byte alignment problem completely. The disadvantage is that multiple accesses to the same long word reduce performance. This approach does not solve discontinuity problem, for which above solution a) must be used (see Figure 3).

c) Byte-addressed long-word-access:

Processors capable of byte-addressed long-word-access can access a multi-byte word starting from any byte boundary. The cases involved are shown in Figure 4.

d) Copy of frame/packet in a local memory:

To remove segment discontinuity, the frame/packet data is first copied to local memory to continuous locations and only then processed. Disadvantage: reduction of performance due to cycles used to copy data. This does not address problem (b) described in (1).

e) Combination of c) and d):

Disadvantage: Reduction of performance due to cycles used to copy data.

The new idea, memory folding technique, is for overcoming segmentation discontinuity, and is an extension of the byte-addressed long-word-access solution. The idea relies on the awareness of the hardware of segment boundaries. If an access that goes across segment boundaries is detected, as in cases 2, 3 and 4 (Figure 4), the second access is performed from address of the new segment (segment D in Figure 1) instead of usual +4. As an example, Case 2 is shown in Figure 5.

This idea overcomes the problem of byte alignment by a method similar to byte-addressing with long- word access. In case of an access inside of...