Name: Niko Hämäläinen Title: Improving Reliability of NVRAM-module of Slot Machine’s Date: November 12, 2010 Number of pages: 43 p. Department: Study Programme Information Technology Software Engineering Instructor: Auvo Häkkinen, Principal Lecturer Supervisor: Jussi Lampiselkä, Game Platform Architect The goal of this Bachelor’s thesis was to study the current implementation of the NVRAM (Non-Volatile Random Access Memory) module of RAY’s (Raha-automaattiyhdistys, Finland’s Slot Machine Association) slot machine and to implement a new, more reliable one as a replacement. Currently the NVRAM module stores counter sets to physical NVRAMs and ensures that no data is lost when the slot machine is shutdown. All data is written to two different NVRAM-chips which are located on two different peripheral cards. Writing identical data to two separate physical NVRAM-chips allows peripheral cards to be replaced without losing any data stored in NVRAM. The hardware used in RAY’s slot machines sets some challenges and limitations to the functionality of the module. The existing module also sets strict requirements as the new module should be able to replace the current module without making any changes to the client modules. The weaknesses of the current NVRAM-module were taken into account when designing and implementing the new module. Unit testing and static analysis were brought to the development process from the very beginning of the project in order to improve the reliability of the new module. The new module was also designed and implemented to be backwards compatible with the current module. The objective of this thesis was to implement a new, but a more reliable replacement for the current NVRAM-module. Due to comprehensive testing, it is reasonable to expect that the reliability of the new implementation has improved compared to the current one. Keywords: NVRAM, Reliability, File Systems