There are effectively 3 types of "memory" modules available for the 41 calculator.
From HP:
Standard -- only for the 41C. These expand the main memory, sometimes refered to as program memory, to the full 319 registers addressed by the 41C firmware. This is the memory the SIZE command lets you divide between programmable and storage registers.
The 41CV and 41CX include these internally so these modules are useless in them.
X-Memory -- this memory is only usable with the X-Functions ROM module. There are two types a X-Function/X-Memory module usable only with the 41C and CV (the 41CX has the X-Function ROM integrated internally) and X-Memory modules with only memory. An X-Memory module in a 41C or 41CV is useless without a X-Function/Memory module present.
HP chose to configure this as a RAM disk, i.e. storage rather than as having the calculator be able to run programs directly in this space. This is basicly due to the origional firmware programming as the CPU can directly address this space and by using synthetic techniques it is possible to run programs stored in this memory.
3rd Party "RAM" modules: These were developed to use ROM module space (the 41's CPU designates seperate spaces for RAM (0-1023) and ROM (4K blocks 0,1,2,3,4,5 reserved for the system and 6-15 for modules) as storage.
NoVRAM memory is technically not RAM. It is non-volitile EEPROM(Electrically Erasable Programable Memory). Diago's excellent module has a microcontroller and EEPROM chips. The microcontroller maps the module's memory into the module memory space.
The advantage to this is that anything in its memory is NOT lost when the module is removed from the calculator. All other memory modules (Standard or XMemory) lose their information when removed.
Diago developed the module as a clone of a module called HEPAX, probably the most advanced 3rd party module developed before the end of the 41 line. HEPAX followed the concept of the X-Functions and came as a HEPAX Function+Memory module and HEPAX MEMORY modules. You always needed the HEPAX Functions code to use its memory. Fully implemented you could have over 2300 registers available of HEPAX memory.
So with a 41CX you could potentially have: 319 registers of "main" memory, 600 registers of XMemory and over 2300 registers of "HEPAX" memory.
The disadvantage is that HEPAX memory reduces the number of modules you can have plugged in as its memory occupies ROM space.
The NoVRAM module is worth much more than simply as memory. With the HEPAX firmware installed HEPAX memory can be divided and a portion used as a ROM module: with User code (ie. programs) and/or firmware (i.e. assembly) stored in it. The HEPAX code can create the Cat2 catalog and entries for user programs which then can be run from that memory just as if they were in a ROM based module. With a knowledge of 41 assembly code the HEPAX editor and utilites allows you to enter assembly routines.
With a PC and external programmer you can use the NoVRAM as like Diago's Clonix and program it with various module's images and run virually any of the modules developed for the 41.
With a PC and programmer the NoVRAM can even be programmed with an extra 8K ROM module as it has extra space even with the HEPAX ROM and full HEPAX memory set up.
David