File Retrieval Process

The decision tree below shows the process for retrieving a file.

Figure 8-2 File Retrieval Process

File ID

The File ID represents not only the file name and location, but also the Offset and Length.

Files IDs can overlap. For example, if one file has an Offset of 8000 and a Length of 16000, another file can have an Offset of 12000 and a Length of 8000.

When the File ID is requested to be played, the DSP Series 2 card checks to see if the File ID is already in cache. DSP Series 2 has one set of options for files already in cache, and another set for files that are not found in cache.

File IDs Already in Cache

If the File ID is already in cache, the DSP compares the Offset and Length in cache either to the VIF or, if using the VIF Bypass feature, to the Offset and Length TLV (see VIF Bypass). If the Offset and Length are different in cache, then the file is cleared from the cache and a new cache entry is added from either the VIF or, if using the VIF Bypass feature, from the TLV.

File IDs Not in Cache

If a file is not already in cache, the Offset and Length are specified as follows:

If you are using a VIF, and the Offset and Length are specified there, then that Offset and Length are used.

If you are using a VIF, but the Offset and Length are not specified there, then the File Offset and Length TLV is used instead.

If you are using the VIF Bypass feature, the File Offset and Length TLV is the only way to specify the Offset and Length.

Dynamic File Management

Using NFS, recorded voice files are handled dynamically through a Least Recently Used algorithm. Voice files are downloaded to the card’s memory one at a time, and as the memory on the card is consumed, a Least Recently Used (LRU) algorithm keeps track of the order in which the files are played. When the memory is completely consumed, the following takes place:

1. The LRU algorithm identifies the Least Recently Used File ID.

2. This File ID is then deleted.

3. The memory blocks are freed for further use.

The DSP Series 2 card also has one hour of cache per DSP chip. The purpose of this cache is to increase performance for frequently used messages, not to increase storage capacity.

When the host application sends an instruction to play a specific file on a specific DSP chip, the DSP chip then:

1. Checks its one hour cache for the announcement file.

2. Checks the main board’s three hour cache for the announcement file.

Checks the Network File System server (if used) for the announcement file.