EEPROM memory can be logically subdivided into the following areas (all addresses are given in SAM addressing system):
- Bytes 0 through 9 [inclusive]are unavailable for writing. This memory area is used by the dongle for its internal purposes. The content of this memory is programmed during production (manufacturing); it can be used only for reading. API function returns GrdE_OK error code at the attempt to write into this area. This memory area is unavailable in UAM mode.
- Bytes 14 through 25 [inclusive] are available only for reading. This memory area contains Public code, hardware version of the dongle, dongle network resource, bits of types and dongle models and the dongle ID. Fields of this area are useful, for example, when you need to identify the dongle ID. The content of this memory is programmed during manufacturing of the dongles. GrdE_OK error code is returned at the attempt to write into this area. This memory is unavailable in UAM mode.
- Bytes 10 through 13 and 26 through 29 [inclusive]are available only to GrdProtect , GrdInit and GrdTRU_SetKey functions. They contain addresses of read/write locks, number of hardware algorithms and protected items in the dongle. GrdE_OK error code is returned at the attempt to write into this area not via GrdProtect (GrdTRU_SetKey). This memory is unavailable in UAM mode.
- Bytes 30 through 43 [inclusive]are always available for reading and writing and contain so called general purpose fields: program number, version, serial number, bit mask, GP run counter (counter No.1), maximum resource of network licenses (counter No.2), remote dongle programming index. These areas are available in UAM mode. These fields are normally used for forming search parameters of the required dongle and actively used by the automatic protection utilities.
- Bytes 44 through 3959 [inclusive] available for reading and writing if not locked, and can be used for storing user’s data, hardware algorithm descriptors and protected items. These bytes are cleared upon executing GrdInit or GrdTRU_SetKey functions.
- Bytes 3960 through 3967 [inclusive]are reserved since they are not recommended for use. Available in UAM mode.
Description of Guardant dongle memory fields:
Address (SAM) | Address (UAM) | Size in bytes | Lock: R-read W-write | Field name | Field description |
---|---|---|---|---|---|
System fields | |||||
0 | N/A | 1 | W | kmModel | Dongle model code |
1 | N/A | 1 | W | kmMemSize | Memory size code. Значение поля соответствует степени, в которую нужно возвести число 2, чтобы получить объем памяти ключа в байтах |
2 | N/A | 1 | W | kmProgVer | Program version in the dongle. Это поле может быть использовано для идентификации ключей с заказными микропрограммами |
3 | N/A | 1 | W | kmProtocol | Dongle exchange protocol version. Для внутреннего применения. Используется утилитами диагностики |
4 | N/A | 2 | W | kmClientVer | Lower level core version. Значение 0x104 соответствует версии 1.4. Длявнутреннего применения. Используется утилитами диагностики |
6 | N/A | 1 | W | kmUserAddr | Begginning of UAM area address in 2-byte words |
7 | N/A | 1 | W | kmAlgoAddr | Address of Protected Items Allocation Table (PIAT) in 2-byte words |
8 | N/A | 2 | W | kmPrnPort | Address of the parallel port to which the dongle is connected (not used) |
10 | N/A | 2 | W | kmWriteProtectS3 | SAM address of the first byte available for writing. |
12 | N/A | 2 | kmReadProtectS3 | SAM address of the first byte available for reading. | |
14 | N/A | 4 | W | kmPublicCode | Public code in numerical form. |
18 | N/A | 1 | W | kmVersion | Dongle version: bits 0-3: minor bits 4-7: major |
19 | N/A | 1 | W | kmLANRes | Maximal LAN resource of Guardant Net dongle programmed by manufacturer during presale. For local dongles - 0 |
20 | N/A | 2 | W | kmType | Bits of dongle type. This field can be used as a search criterion |
22 | N/A | 4 | W | kmID | Dongle ID. Can de used as a search criterion. |
26 | N/A | 1 | W | kmWriteProtect | Not used. Must be FFh (see kmWriteProtectS3) |
27 | N/A | 1 | W | kmReadProtect | Not used. Must be FFh (see kmReadProtectS3) |
28 | N/A | 1 | W | kmAlgoNum | Number of protected items and hardware algorithms |
29 | N/A | 1 | W | kmTableLMS | Number of protected item containing the license table. Used onfly for network dongles |
General purpose fields | |||||
30 | 0 | 1 | kmNProg | Program number. Can be used as a search criterion | |
31 | 1 | 1 | kmVer | Version. Can be used as a search criterion | |
32 | 2 | 2 | kmSN | Serial number. Can be used as a search criterion | |
34 | 4 | 2 | kmMask | Bit mask. Can be used as a search cri-terion | |
36 | 6 | 2 | kmGP | GP launch counter (counter No.1). Cannot be used as a search criterion. Deprecated | |
38 | 8 | 2 | kmRealLANRes | Real network resource of Guardant Net dongle (counter No.2). Cannot be used as a search criterion | |
40 | 10 | 4 | kmIndex | Index for remote update. Cannot be used as a search criterion. Deprecated | |
Free purpose fields | |||||
44 | 14 | 3916 | kmUserData | Data can be stored starting with this address (including descriptors of hardware algorithms) | |
Special purpose fields | |||||
3960 | 3930 | 8 | This field is used by thedongle diagnostics program. STRONGLY not rec-ommended for use. Cannot be reset with GrdInit or GrdTRU_SetKey. Available in UAM mode. |